<template>
|
<!-- <TableLayout> -->
|
<TableLayout v-permissions="['ext:workordercheckext:query']">
|
<!-- 搜索表单 -->
|
<el-form ref="searchForm" slot="search-form" :model="searchForm" label-width="90px" inline>
|
<el-form-item label="物料名称:" prop="mmodelName">
|
<el-input v-model="searchForm.mmodelName" placeholder="请输入" @keypress.enter.native="search"></el-input>
|
</el-form-item>
|
<el-form-item label="物料编码:" prop="mmodelCode">
|
<el-input v-model="searchForm.mmodelCode" placeholder="请输入" @keypress.enter.native="search"></el-input>
|
</el-form-item>
|
<el-form-item label="工单编码:" prop="minParam">
|
<el-input v-model="searchForm.minParam" placeholder="请输入" @keypress.enter.native="search"></el-input>
|
</el-form-item>
|
<!-- <el-form-item label="生产批次号:" prop="batch">
|
<el-input v-model="searchForm.batch" placeholder="请输入" @keypress.enter.native="search"></el-input>
|
</el-form-item> -->
|
<el-form-item label="工序:" prop="procedureId">
|
<el-select v-model="searchForm.procedureId" clearable placeholder="请选择">
|
<el-option
|
v-for="item in options"
|
:key="item.id"
|
:label="item.name"
|
:value="item.id"
|
></el-option>
|
</el-select>
|
</el-form-item>
|
<el-form-item label="检验类型:" prop="checkType">
|
<el-select v-model="searchForm.checkType" placeholder="请选择">
|
<el-option
|
v-for="item in checkWays"
|
:key="item.value"
|
:label="item.name"
|
:value="item.id"
|
></el-option>
|
</el-select>
|
</el-form-item>
|
<el-form-item label="检验时间:" prop="checkDate">
|
<el-date-picker
|
type="daterange"
|
v-model="date"
|
value-format="yyyy-MM-dd"
|
range-separator="至"
|
start-placeholder="开始时间"
|
end-placeholder="结束时间"
|
placeholder="选择时间范围"
|
@change="selectDate"
|
></el-date-picker>
|
</el-form-item>
|
<!-- <el-form-item label="检验结果" prop="checkInfo">
|
<el-select v-model="searchForm.checkInfo" placeholder="请选择">
|
<el-option
|
v-for="item in options"
|
:key="item.value"
|
:label="item.name"
|
:value="item.id"
|
>
|
</el-option>
|
</el-select>
|
</el-form-item> -->
|
<section>
|
<el-button type="primary" @click="search">搜索</el-button>
|
<el-button @click="reset">重置</el-button>
|
</section>
|
</el-form>
|
<!-- 表格和分页 -->
|
<template v-slot:table-wrap>
|
<!-- <ul class="toolbar" v-permissions="['ext:workordercheckext:create', 'ext:workordercheckext:delete']">
|
<li><el-button type="primary" @click="$refs.operaWorkorderCheckExtWindow.open('新建检验信息')" icon="el-icon-plus" v-permissions="['ext:workordercheckext:create']">新建</el-button></li>
|
<li><el-button @click="deleteByIdInBatch" icon="el-icon-delete" v-permissions="['ext:workordercheckext:delete']">删除</el-button></li>
|
</ul> -->
|
<ul class="toolbar">
|
<!-- v-permissions="['ext:workorderrecordext:exportExcel']" -->
|
<li ><el-button type="primary" :loading="isWorking.export" @click="exportExcel">导出</el-button></li>
|
</ul>
|
<!-- :summary-method="getSummaries"
|
show-summary -->
|
<el-table
|
v-loading="isWorking.search"
|
:data="tableData.list"
|
stripe
|
border
|
@selection-change="handleSelectionChange"
|
>
|
<!-- <el-table-column type="selection" width="55"></el-table-column> -->
|
<el-table-column prop="code" label="检验记录编号" fixed="left" min-width="120px"></el-table-column>
|
<el-table-column prop="checkDate" label="检验时间" min-width="140px"></el-table-column>
|
<el-table-column prop="smodelRealName" label="检验人员" min-width="100px">
|
<template slot-scope="{row}">
|
<div>
|
<div>{{ row.smodelRealName }}</div>
|
<div>{{ row.smodelMobile }}</div>
|
</div>
|
</template>
|
</el-table-column>
|
<el-table-column label="备注" show-overflow-tooltip min-width="140px">
|
<template slot-scope="{ row }">
|
<span class="long-title-style">{{ row.remark || '-' }}</span>
|
</template>
|
</el-table-column>
|
<!-- <el-table-column prop="amodel.code" label="工装容器编号" min-width="100px"></el-table-column> -->
|
<el-table-column prop="qualifiedNum" label="合格数量" min-width="100px">
|
<template slot-scope="{row}">
|
{{ row.qualifiedNum + (row.qualifiedNum > 0 ? row.umodel.name : '') }}
|
</template>
|
</el-table-column>
|
<el-table-column prop="unqualifiedNum" label="不良数量" min-width="100px">
|
<template slot-scope="{row}">
|
<div v-if="row.unqualifiedNum > 0">
|
<el-popover
|
placement="top-start"
|
trigger="click"
|
>
|
<div class="pre">
|
<div class="discount-title">不良品明细</div>
|
<span>{{'不良品数量:' + row.unqualifiedNum + row.umodel.name + '\n' + '不良原因:' + row.checkInfo }}</span>
|
</div>
|
<el-button slot="reference" type="text">{{ row.unqualifiedNum + row.umodel.name }}</el-button>
|
</el-popover>
|
</div>
|
<div v-else> {{ row.unqualifiedNum }}</div>
|
</template>
|
</el-table-column>
|
<el-table-column prop="workorderCode" label="工单编号" min-width="120px">
|
<!-- <template slot-scope="{row}">
|
<span style="color:#22f">{{ row.workorderCode }}</span>
|
</template> -->
|
</el-table-column>
|
<el-table-column prop="num" label="生产数量" min-width="100px">
|
<template slot-scope="{row}">
|
{{ row.num + (row.num > 0 ? row.umodel.name : '') }}
|
</template>
|
</el-table-column>
|
<el-table-column prop="checkType" label="检验类型" min-width="80px">
|
<template slot-scope="{row}">
|
<!-- checkType 0巡线、1巡检、2终检 -->
|
{{ row.checkType == '0' ? '巡线' : row.checkType == '1' ? '巡检' : '完工检' }}
|
</template>
|
</el-table-column>
|
<el-table-column prop="mmodel.name" label="物料名称" min-width="100px"></el-table-column>
|
<el-table-column prop="mmodel.code" label="物料编码" min-width="160px">
|
</el-table-column>
|
<el-table-column prop="pmodel.name" label="工序" min-width="100px"></el-table-column>
|
<el-table-column prop="proDate" label="完工时间" min-width="100px">
|
<template slot-scope="{row}">
|
{{ row.proDate.split(' ')[0] }}
|
</template>
|
</el-table-column>
|
<el-table-column prop="devmodel.name" label="生产设备" show-overflow-tooltip min-width="120px">
|
<template slot-scope="{ row }">
|
<span class="long-title-style"> 【{{ row.devmodel.code }}】{{ row.devmodel.name }}</span>
|
</template>
|
</el-table-column>
|
<!-- <el-table-column prop="proUserids" label="生产人员" show-overflow-tooltip min-width="120px" fixed="right">
|
<template slot-scope="{row}">
|
<span class="long-title-style">{{ row.proUserids }}</span>
|
</template>
|
</el-table-column> -->
|
</el-table>
|
<pagination
|
@size-change="handleSizeChange"
|
@current-change="handlePageChange"
|
:pagination="tableData.pagination"
|
></pagination>
|
</template>
|
</TableLayout>
|
</template>
|
|
<script>
|
import BaseTable from '@/components/base/BaseTable'
|
import TableLayout from '@/layouts/TableLayout'
|
import Pagination from '@/components/common/Pagination'
|
import { productesGroup } from '@/api/ext/proceduresExt'
|
import { addPrecision } from '@/utils/util'
|
export default {
|
name: 'WorkorderCheckExt',
|
extends: BaseTable,
|
components: { TableLayout, Pagination },
|
data () {
|
return {
|
options: [
|
{ name: '11', id: '1' },
|
{ name: '22', id: '2' }
|
],
|
checkWays: [
|
// 0巡线、1巡检、2终检
|
{ name: '巡线', id: '0' },
|
{ name: '巡检', id: '1' },
|
{ name: '完工检', id: '2' },
|
],
|
// 搜索
|
searchForm: {
|
mmodelCode: null,
|
mmodelName: null,
|
minParam: null,
|
batch: null,
|
checkStartDate: null,
|
checkEndDate: null,
|
procedureId: null,
|
// name: '',
|
checkType: ''
|
// workorderId: '',
|
// code: '',
|
// checkDate: '',
|
// batch: '',
|
// procedureId: ''
|
},
|
date: []
|
}
|
},
|
created () {
|
this.config({
|
module: '检验信息',
|
api: '/ext/workorderCheckExt',
|
'field.id': 'id',
|
'field.main': 'name',
|
sorts: [{ direction: 'DESC', property: 'CREATE_TIME' }]
|
})
|
this.search()
|
productesGroup({})
|
.then(res => {
|
this.options = res
|
})
|
.catch(err => {
|
console.log(err)
|
})
|
},
|
methods: {
|
selectDate (v) {
|
this.searchForm.checkStartDate = v[0]
|
this.searchForm.checkEndDate = v[1]
|
},
|
reset () {
|
// console.log('rest', this.searchDate)
|
this.planDate = []
|
this.searchForm.checkStartDate = ''
|
this.searchForm.checkEndDate = ''
|
this.$refs.searchForm.resetFields()
|
this.search()
|
},
|
getSummaries (param) {
|
const { columns, data } = param;
|
const sums = [];
|
columns.forEach((column, index) => {
|
if (index === 0) {
|
sums[index] = '合计';
|
return;
|
} else if (index === 9) {
|
sums[index] = '-';
|
return;
|
}
|
const values = data.map(item => Number(item[column.property]));
|
if (!values.every(value => isNaN(value))) {
|
sums[index] = 0
|
values.forEach(item => {
|
sums[index] = addPrecision(item, sums[index])
|
})
|
} else {
|
sums[index] = '-';
|
}
|
});
|
return sums
|
}
|
}
|
}
|
</script>
|
|
<style lang="scss" scoped>
|
.pre {
|
white-space: pre;
|
.discount-title {
|
color: #303133;
|
font-size: 16px;
|
margin-bottom: 12px;
|
}
|
}
|
</style>
|