| | |
| | | <div class="top-bar"> |
| | | <el-form ref="form" :inline="true" :model="searchData"> |
| | | <el-form-item label="申请单号:"> |
| | | <el-input v-model="searchData.applicationnumber" class="input-form" placeholder="请输入申请单号" |
| | | <el-input size="small" v-model="searchData.applicationnumber" class="input-form" placeholder="请输入申请单号" |
| | | style="width: 200px; margin-right: 20px;"> |
| | | <i slot="prefix" class="el-input__icon el-icon-search" /> |
| | | </el-input> |
| | | </el-form-item> |
| | | <el-form-item label="检验类型:"> |
| | | <el-select v-model="searchData.type" placeholder="全部" style="width: 100px;margin-right: 20px;"> |
| | | <el-form-item label="检验类型:" width="200"> |
| | | <el-select size="small" v-model="searchData.type" placeholder="全部" style="width: 100px;margin-right: 20px;"> |
| | | <el-option v-for="item in typeoptions" :key="item.value" :label="item.label" :value="item.value"> |
| | | </el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | <el-form-item label="检验结果:" style="margin-right: 20px;"> |
| | | <el-select v-model="searchData.state" placeholder="全部" style="width: 100px;margin-right: 20px;"> |
| | | <el-form-item label="检验结果:" width="200"> |
| | | <el-select size="small" v-model="searchData.state" placeholder="全部" style="width: 100px;margin-right: 20px;"> |
| | | <el-option v-for="item in stateoptions" :key="item.value" :label="item.label" :value="item.value"> |
| | | </el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | <el-form-item> |
| | | <el-button type="primary" @click="searchInspections">查询</el-button> |
| | | <el-button type="primary" plain @click="reset">重置</el-button> |
| | | <el-button size="small" type="primary" @click="searchInspections">查询</el-button> |
| | | <el-button size="small" type="primary" plain @click="reset">重置</el-button> |
| | | </el-form-item> |
| | | </el-form> |
| | | <el-form class="rightBtn"> |
| | | <el-form-item class="createBtn"> |
| | | <el-button type="primary" icon="el-icon-document-add" @click="checkTypeVisible = true" |
| | | <el-button size="small" type="primary" icon="el-icon-plus" @click="checkTypeVisible = true" |
| | | style="background-color: rgb(1, 102, 226);">新增检验单</el-button> |
| | | </el-form-item> |
| | | <el-form-item class="getDataBtn"> |
| | | <el-button type="primary" icon="el-icon-download" |
| | | <el-button size="small" type="primary" icon="el-icon-download" |
| | | style="background-color: rgb(1, 102, 226);">导出检验单</el-button> |
| | | </el-form-item> |
| | | </el-form> |
| | |
| | | <div class="library-table"> |
| | | <div class="table-box"> |
| | | <el-table ref="inspectionTable" style="width: 100%;overflow-y: auto;max-height: 600px;" :height="600" |
| | | :cell-style="{textAlign: 'center'}" |
| | | :header-cell-style="{border:'0px',background:'#f5f7fa',color:'#606266',boxShadow: 'inset 0 1px 0 #ebeef5',textAlign: 'center'}" |
| | | :cell-style="{textAlign: 'left'}" |
| | | :header-cell-style="{border:'0px',background:'#f5f7fa',color:'#606266',boxShadow: 'inset 0 1px 0 #ebeef5',textAlign: 'left'}" |
| | | :data="inspectionTable"> |
| | | <el-table-column type="selection" min-width="30px" /> |
| | | <el-table-column prop="icode" label="申请单号" min-width="160px" /> |
| | |
| | | <el-table-column prop="createTime" label="登记日期" min-width="90px" /> |
| | | <el-table-column prop="inspection_status" label="检验结果" min-width="95px"> |
| | | <template slot-scope="scope"> |
| | | <el-tag class="tag" effect="dark" type="danger" disable-transitions |
| | | <el-tag style="text-align: center;" class="tag" effect="dark" type="danger" disable-transitions |
| | | v-if="scope.row.inspection_status == 0">不合格</el-tag> |
| | | <el-tag class="tag" effect="dark" type="success" disable-transitions |
| | | <el-tag style="text-align: center;" class="tag" effect="dark" type="success" disable-transitions |
| | | v-else-if="scope.row.inspection_status == 1">合格</el-tag> |
| | | </template> |
| | | </el-table-column> |
| | |
| | | <el-row :gutter="100"> |
| | | <el-col :span="10"> |
| | | <el-form-item label="来料日期:"> |
| | | <!-- <el-input style="width: 300px" type="text" :value="infoForm.startTime" placeholder="请输入来料日期" autocomplete="off" /> --> |
| | | <el-date-picker style="width: 300px" v-model="infoForm.formTime" type="date" placeholder="选择日期"> |
| | | <el-date-picker style="width: 300px" disabled v-model="infoForm.formTime" type="date" placeholder="选择日期"> |
| | | </el-date-picker> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="10"> |
| | | <el-form-item label="供应商名称:"> |
| | | <el-input style="width: 300px" type="text" :value="infoForm.supplier" placeholder="请输入供应商名称" |
| | | <el-input style="width: 300px" type="text" disabled :value="infoForm.supplier" placeholder="请输入供应商名称" |
| | | autocomplete="off" /> |
| | | </el-form-item> |
| | | </el-col> |
| | |
| | | <el-row :gutter="100"> |
| | | <el-col :span="10"> |
| | | <el-form-item label="原材料编码:"> |
| | | <el-input style="width: 300px" type="text" :value="infoForm.mcode" placeholder="请输入原材料编码" |
| | | <el-input style="width: 300px" type="text" disabled :value="infoForm.mcode" placeholder="请输入原材料编码" |
| | | autocomplete="off" /> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="10"> |
| | | <el-form-item label="原材料名称:"> |
| | | <el-input style="width: 300px" type="text" :value="infoForm.name" placeholder="请输入原材料名称" |
| | | <el-input style="width: 300px" type="text" disabled :value="infoForm.name" placeholder="请输入原材料名称" |
| | | autocomplete="off" /> |
| | | </el-form-item> |
| | | </el-col> |
| | |
| | | <el-row :gutter="100"> |
| | | <el-col :span="10"> |
| | | <el-form-item label="规格型号:"> |
| | | <el-input style="width: 300px" type="text" :value="infoForm.specifications" placeholder="请输入规格型号" |
| | | <el-input style="width: 300px" type="text" disabled :value="infoForm.specifications" placeholder="请输入规格型号" |
| | | autocomplete="off" /> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="10"> |
| | | <el-form-item label="单位:"> |
| | | <el-input style="width: 300px" type="text" :value="infoForm.unit" placeholder="请输入单位" |
| | | <el-input style="width: 300px" type="text" disabled :value="infoForm.unit" placeholder="请输入单位" |
| | | autocomplete="off" /> |
| | | </el-form-item> |
| | | </el-col> |
| | |
| | | <el-row :gutter="100"> |
| | | <el-col :span="10"> |
| | | <el-form-item label="数量:"> |
| | | <el-input style="width: 300px" type="text" :value="infoForm.num" placeholder="请输入数量" |
| | | <el-input style="width: 300px" type="text" disabled :value="infoForm.num" placeholder="请输入数量" |
| | | autocomplete="off" /> |
| | | </el-form-item> |
| | | </el-col> |
| | |
| | | <el-row :gutter="100"> |
| | | <el-col :span="10"> |
| | | <el-form-item label="委托编号"> |
| | | <el-input style="width: 300px" type="text" :value="commisionSelection.entrust_coding" |
| | | <el-input style="width: 300px" type="text" disabled :value="commisionSelection.entrust_coding" |
| | | placeholder="请输入来料日期" autocomplete="off" /> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="10"> |
| | | <el-form-item label="委托单位"> |
| | | <el-input style="width: 300px" type="text" :value="commisionSelection.supplier" |
| | | <el-input style="width: 300px" type="text" disabled :value="commisionSelection.supplier" |
| | | placeholder="请输入委托单位" autocomplete="off" /> |
| | | </el-form-item> |
| | | </el-col> |
| | |
| | | <el-row :gutter="100"> |
| | | <el-col :span="10"> |
| | | <el-form-item label="样品编号"> |
| | | <el-input style="width: 300px" type="text" :value="commisionSelection.mcode" placeholder="请输入样品编号" |
| | | <el-input style="width: 300px" type="text" disabled :value="commisionSelection.mcode" placeholder="请输入样品编号" |
| | | autocomplete="off" /> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="10"> |
| | | <el-form-item label="样品名称"> |
| | | <el-input style="width: 300px" type="text" :value="commisionSelection.name" placeholder="请输入样品名称" |
| | | <el-input style="width: 300px" type="text" disabled :value="commisionSelection.name" placeholder="请输入样品名称" |
| | | autocomplete="off" /> |
| | | </el-form-item> |
| | | </el-col> |
| | |
| | | <el-row :gutter="100"> |
| | | <el-col :span="10"> |
| | | <el-form-item label="规格型号:"> |
| | | <el-input style="width: 300px" type="text" :value="commisionSelection.specifications" |
| | | <el-input style="width: 300px" type="text" disabled :value="commisionSelection.specifications" |
| | | placeholder="请输入型号规格" autocomplete="off" /> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="10"> |
| | | <el-form-item label="送达时间"> |
| | | <el-input style="width: 300px" type="text" :value="commisionSelection.supplier" |
| | | <el-input style="width: 300px" type="text" disabled :value="commisionSelection.supplier" |
| | | placeholder="请输入单位" autocomplete="off" /> |
| | | </el-form-item> |
| | | </el-col> |
| | |
| | | <el-row :gutter="100"> |
| | | <el-col :span="10"> |
| | | <el-form-item label="完成期限"> |
| | | <el-input style="width: 300px" type="text" :value="commisionSelection.completionDeadline" |
| | | <el-input style="width: 300px" type="text" disabled :value="commisionSelection.completionDeadline" |
| | | placeholder="请输入数量" autocomplete="off" /> |
| | | </el-form-item> |
| | | </el-col> |
| | |
| | | </el-row> |
| | | <el-row :gutter="100"> |
| | | <el-col :span="10"> |
| | | <el-form-item label="原材料编码:"> |
| | | <el-input style="width: 300px" type="text" v-model="finishedTable.code" placeholder="请输入原材料编码" |
| | | <el-form-item label="成品编码:"> |
| | | <el-input style="width: 300px" type="text" v-model="finishedTable.code" placeholder="请输入成品编码" |
| | | autocomplete="off" /> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="10"> |
| | | <el-form-item label="原材料名称:"> |
| | | <el-input style="width: 300px" type="text" v-model="finishedTable.name" placeholder="请输入原材料名称" |
| | | <el-form-item label="成品名称:"> |
| | | <el-input style="width: 300px" type="text" v-model="finishedTable.name" placeholder="请输入成品名称" |
| | | autocomplete="off" /> |
| | | </el-form-item> |
| | | </el-col> |
| | |
| | | <template slot-scope="scope"> |
| | | <span>版本选择:</span> |
| | | <el-select @change="getProductVerison" v-model="version" size="small" slot="append" style="width: 220px;"> |
| | | <el-option v-for="item in BANben" :key="item" :label="item" :value="item"></el-option> |
| | | <el-option v-for="(item,index) in BANben" :key="index" :label="item.label" :value="item.value"></el-option> |
| | | </el-select> |
| | | </template> |
| | | </el-card> |
| | |
| | | <el-table-column prop="surveyor" label="检验人" min-width="8%" /> |
| | | <el-table-column prop="startTime" label="检验日期" min-width="8%" /> |
| | | <el-table-column prop="type" label="状态" min-width="8%"> |
| | | <template slot-scope="scope"> |
| | | <span :style="{ color: scope.row.state === type ? 'green' : 'red' }"> |
| | | {{ scope.row.state===1 ? '已检测':'待检测' }} |
| | | </span> |
| | | <template> |
| | | <span style="color: red">待检验</span> |
| | | </template> |
| | | </el-table-column> |
| | | </el-table> |
| | |
| | | pageSize: 10, // 每页的数据条数 |
| | | radioValue: '全部', |
| | | checkTypeVisible: false, |
| | | type: 0, // 默认不选中的状态 |
| | | type: 2, // 默认不选中的状态 |
| | | rawmaterialVisible: false, |
| | | commisionVisible: false, |
| | | tmp: {}, |
| | |
| | | const res = await chooseVer({ |
| | | mcode: this.tmp.mcode, |
| | | name: this.tmp.name, |
| | | specifications: this.tmp.specifications |
| | | specifications: this.tmp.specificationsId |
| | | }) |
| | | this.BANben = [] |
| | | res.data.forEach(a => { |
| | | this.BANben.push('V ' + a) |
| | | this.BANben.push({ |
| | | label: "V" + a, |
| | | value: a |
| | | }) |
| | | }) |
| | | this.version = this.BANben[0] |
| | | this.lookProByVer() |
| | | this.version = this.BANben[0].value; |
| | | this.lookProByVerFun() |
| | | }, |
| | | //标准库 |
| | | async lookProByVer() { |
| | | async lookProByVerFun() { |
| | | const res = await lookProByVer({ |
| | | mcode: this.tmp.mcode, |
| | | name: this.tmp.name, |
| | | specifications: this.tmp.specifications, |
| | | version: this.version.replace('V ', '') |
| | | specifications: this.tmp.specificationsId, |
| | | version: this.version |
| | | }) |
| | | this.tableData = res.data |
| | | }, |
| | | getProductVerison(val) { |
| | | this.version = val |
| | | this.lookProByVer() |
| | | this.lookProByVerFun() |
| | | }, |
| | | async selectInspectsList() { |
| | | // 获取分页列表 |
| | |
| | | }, |
| | | reset() { |
| | | this.countSize = 1; |
| | | this.pageSize = 8; |
| | | this.searchData = {}; |
| | | this.pageSize = 10; |
| | | this.searchData = { |
| | | applicationnumber: '', |
| | | type: '', |
| | | state: '', |
| | | }; |
| | | this.selectInspectsList(); |
| | | }, |
| | | //被选中的信息 单选 |
| | |
| | | checkdate.push(item['updateTime']) |
| | | item['checkdate'] = checkdate // 检验日期 |
| | | }) |
| | | this.rawMaterialTable = res.data |
| | | let arr = res.data.filter((val)=>{ |
| | | return val.type === 0; |
| | | }) |
| | | this.rawMaterialTable = arr |
| | | }) |
| | | } else if (this.type === 1) { |
| | | this.commisionVisible = true |
| | |
| | | }, |
| | | // 新增检验 |
| | | async addInspection() { |
| | | let obj = {}; |
| | | if (this.type === 0) { |
| | | addInspect({ |
| | | obj = { |
| | | endTime: this.infoForm.checkdate[1], |
| | | formTime: this.infoForm.formTime, |
| | | mcode: this.infoForm.mcode, |
| | | name: this.infoForm.name, |
| | | num: this.infoForm.num, |
| | | specifications: this.infoForm.specifications, |
| | | specificationId: this.infoForm.specificationsId, |
| | | startTime: this.infoForm.checkdate[0], |
| | | supplier: this.infoForm.supplier, |
| | | type: this.type, |
| | | unit: this.infoForm.unit, |
| | | version: this.version.replace('V ', '') |
| | | }).then(res => { |
| | | this.$message({ |
| | | message: '添加成功!', |
| | | type: 'success' |
| | | }); |
| | | this.$router.push(`Viewdetails/${res.data}`) |
| | | }) |
| | | version: this.version |
| | | } |
| | | } |
| | | if (this.type === 1) { |
| | | const res = await addInspect({ |
| | | obj = { |
| | | endTime: this.commisionSelection.checkdate[1], |
| | | formTime: this.commisionSelection.formTime, |
| | | mcode: this.commisionSelection.mcode, |
| | |
| | | type: this.type, |
| | | unit: this.commisionSelection.unit, |
| | | version: this.version |
| | | }) |
| | | } |
| | | } |
| | | if (this.type === 2) { |
| | | const res = await addInspect({ |
| | | endTime: '2023-08-15', |
| | | obj = { |
| | | endTime: this.finishedTable.checkdate[1], |
| | | formTime: this.finishedTable.deliverydate, |
| | | mcode: this.finishedTable.code, |
| | | name: this.finishedTable.name, |
| | | num: parseInt(this.finishedTable.amount), |
| | | specifications: this.finishedTable.modelandspecification, |
| | | startTime: '2023-08-14', |
| | | startTime: this.finishedTable.checkdate[1], |
| | | supplier: this.finishedTable.supplier, |
| | | type: this.type, |
| | | unit: this.finishedTable.unit, |
| | | version: this.version |
| | | }) |
| | | } |
| | | } |
| | | this.type = 0 |
| | | this.checkTypeVisible = false |
| | | // this.$message({ |
| | | // message: '添加成功!', |
| | | // type: 'success' |
| | | // }); |
| | | // this.$router.push({name: 'Viewdetails'}) |
| | | addInspect(obj).then(res => { |
| | | this.$message({ |
| | | message: '添加成功!', |
| | | type: 'success' |
| | | }); |
| | | this.type = 2 |
| | | this.checkTypeVisible = false |
| | | this.$router.push(`Viewdetails/${res.data}`) |
| | | }).catch(error=>{ |
| | | this.$message.error(error.message); |
| | | }) |
| | | }, |
| | | // 每页条数改变时触发 选择一页显示多少行 |
| | | handleSizeChange(val) { |
| | |
| | | this.addInspection() |
| | | }, |
| | | delInspect(row){ |
| | | delInspect({ |
| | | id: row.id |
| | | }).then(res=>{ |
| | | this.$message.success('已作废') |
| | | this.selectInspectsList() |
| | | }) |
| | | this.$confirm('您确认删除这条数据吗?', '提示', { |
| | | confirmButtonText: '确定', |
| | | cancelButtonText: '取消', |
| | | type: 'warning' |
| | | }).then(() => { |
| | | delInspect({ |
| | | id: row.id |
| | | }).then(()=>{ |
| | | this.$message.success('已作废') |
| | | this.selectInspectsList() |
| | | }) |
| | | }).catch(() => {}); |
| | | } |
| | | } |
| | | } |