| | |
| | | </el-form> |
| | | <el-form class="rightBtn"> |
| | | <el-form-item class="createBtn"> |
| | | <el-button size="small" type="primary" icon="el-icon-plus" @click="checkTypeVisible = true" |
| | | <el-button size="small" type="primary" icon="el-icon-plus" @click="showAddDialog" |
| | | style="background-color: rgb(1, 102, 226);">新增检验单</el-button> |
| | | </el-form-item> |
| | | <el-form-item class="getDataBtn"> |
| | |
| | | <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 |
| | | v-if="scope.row.inspection_status == 0">不合格</el-tag> |
| | | <el-tag class="tag" effect="dark" type="success" disable-transitions |
| | | v-else-if="scope.row.inspection_status == 1">合格</el-tag> |
| | | v-if="scope.row.inspection_status == 1">合格</el-tag> |
| | | <el-tag class="tag" effect="dark" type="danger" disable-transitions |
| | | v-else>不合格</el-tag> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column prop="userName" label="登记人" min-width="80px" /> |
| | |
| | | <el-radio-group v-model="type" @click.native="handleRadioChange"> |
| | | <el-radio :style="`background-color: ${type==0?'rgb(170, 236, 214)':'#fff'};border-radius: 10px;`" |
| | | :label="0" border>原材料检验</el-radio> |
| | | <el-radio :style="`background-color: ${type==1?'rgb(170, 236, 214)':'#fff'};border-radius: 10px;`" |
| | | :label="1" border>委托检验</el-radio> |
| | | <el-radio :style="`background-color: ${type==2?'rgb(170, 236, 214)':'#fff'};border-radius: 10px;`" |
| | | :label="2" border>成品检验</el-radio> |
| | | :label="2" border>委托检验</el-radio> |
| | | <el-radio :style="`background-color: ${type==1?'rgb(170, 236, 214)':'#fff'};border-radius: 10px;`" |
| | | :label="1" border>成品检验</el-radio> |
| | | </el-radio-group> |
| | | </div> |
| | | <div v-if="type === 0"> |
| | |
| | | <el-col :span="10"> |
| | | <el-form-item label="检验时间:"> |
| | | <el-date-picker v-model="infoForm.checkdate" type="daterange" range-separator="至" |
| | | start-placeholder="开始日期" end-placeholder="结束日期" style="width: 300px;"> |
| | | start-placeholder="开始日期" value-format="yyyy-MM-dd" end-placeholder="结束日期" style="width: 300px;"> |
| | | </el-date-picker> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | | </el-form> |
| | | </div> |
| | | <div v-if="type === 1"> |
| | | <div v-if="type === 2"> |
| | | <el-form :model="commisionSelection" ref="commisionSelection" class="checkTypeForm" label-position="top" |
| | | label-width="200px" size="mini"> |
| | | <el-row :gutter="100"> |
| | |
| | | <el-col :span="10"> |
| | | <el-form-item label="完成期限"> |
| | | <el-input style="width: 300px" type="text" disabled :value="commisionSelection.completionDeadline" |
| | | placeholder="请输入数量" autocomplete="off" /> |
| | | placeholder="请输入完成期限" autocomplete="off" /> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="10"> |
| | | <el-form-item label="检验日期:"> |
| | | <el-date-picker v-model="commisionSelection.checkdate" type="daterange" range-separator="至" |
| | | start-placeholder="开始日期" end-placeholder="结束日期" style="width: 300px;"> |
| | | start-placeholder="开始日期" value-format="yyyy-MM-dd" end-placeholder="结束日期" style="width: 300px;"> |
| | | </el-date-picker> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | | </el-form> |
| | | </div> |
| | | <div v-if="type === 2"> |
| | | <div v-if="type === 1"> |
| | | <el-form :model="finishedTable" ref="finishedTable" class="checkTypeForm" label-position="top" |
| | | label-width="200px" size="mini"> |
| | | <el-row :gutter="100"> |
| | | <el-col :span="10"> |
| | | <el-form-item label="来料日期:"> |
| | | <el-input style="width: 300px" type="text" v-model="finishedTable.deliverydate" |
| | | 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.supplier" 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-input style="width: 300px" type="text" disabled 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="请输入成品名称" |
| | | autocomplete="off" /> |
| | | <el-select style="width: 300px" v-model="finishedTable.name" @change="getSpecifications"> |
| | | <el-option v-for="(item,index) in mList" :key="index" :label="item.name" :value="item.id"></el-option> |
| | | </el-select> |
| | | </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.modelandspecification" |
| | | placeholder="请输入规格型号" autocomplete="off" /> |
| | | <el-cascader style="width: 300px" v-model="finishedTable.modelandspecification" |
| | | :options="specificationList" :show-all-levels="false" @change="changeSpe" |
| | | :props="{label:'name',value:'id',children:'children'}"></el-cascader> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="10"> |
| | |
| | | <el-row :gutter="100"> |
| | | <el-col :span="10"> |
| | | <el-form-item label="数量:"> |
| | | <el-input style="width: 300px" type="text" v-model="finishedTable.amount" placeholder="请输入数量" |
| | | <el-input style="width: 300px" min="0" type="number" v-model="finishedTable.amount" placeholder="请输入数量" |
| | | autocomplete="off" /> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="10"> |
| | | <el-form-item label="检验时间:"> |
| | | <el-date-picker v-model="finishedTable.checkdate" type="daterange" range-separator="至" |
| | | start-placeholder="开始日期" end-placeholder="结束日期" style="width: 300px;"> |
| | | start-placeholder="开始日期" value-format="yyyy-MM-dd" end-placeholder="结束日期" style="width: 300px;"> |
| | | </el-date-picker> |
| | | </el-form-item> |
| | | </el-col> |
| | |
| | | :data="commisionTable" @selection-change="handleSelectionChange" style="width: 100%"> |
| | | <el-table-column type="selection" min-width="10%" /> |
| | | <el-table-column type="index" label="序号" min-width="10%" /> |
| | | <el-table-column prop="entrust_coding" label="委托编号" min-width="10%" /> |
| | | <el-table-column prop="entrustCoding" label="委托编号" min-width="10%" /> |
| | | <el-table-column prop="supplier" label="委托单位" min-width="12%" /> |
| | | <el-table-column prop="mcode" label="样品编号" min-width="8%" /> |
| | | <el-table-column prop="name" label="样品名称" min-width="8%" /> |
| | | <el-table-column prop="specifications" label="规格型号" min-width="12%" /> |
| | | <el-table-column prop="endTime" label="送达时间" min-width="8%" /> |
| | | <el-table-column prop="formTime" label="完成期限" min-width="8%" /> |
| | | <el-table-column prop="formTime" label="送达时间" min-width="8%" /> |
| | | <el-table-column prop="endTime" label="完成期限" min-width="8%" /> |
| | | <el-table-column prop="contacts" label="委托编制人" min-width="8%" /> |
| | | <el-table-column prop="endTime" label="检验日期" min-width="8%" /> |
| | | <el-table-column prop="inspection_status" label="状态" min-width="8%"> |
| | |
| | | addInspect, |
| | | chooseVer, |
| | | lookProByVer, |
| | | delInspect |
| | | delInspect, |
| | | getSpecificationByMaterielId, |
| | | getMaterielList |
| | | } from '@/api/experiment/planAssignments' |
| | | export default { |
| | | data() { |
| | | return { |
| | | speName:"", |
| | | specificationList: [], |
| | | mList:[], |
| | | showDetail: false, |
| | | searchData: { |
| | | applicationnumber: '', |
| | |
| | | rawMaterialTable: [], |
| | | commisionTable: [], |
| | | finishedTable: { |
| | | deliverydate: '', |
| | | supplier: '', |
| | | code: '', |
| | | name: '', |
| | | modelandspecification: '', |
| | |
| | | pageSize: 10, // 每页的数据条数 |
| | | radioValue: '全部', |
| | | checkTypeVisible: false, |
| | | type: 2, // 默认不选中的状态 |
| | | type: 1, // 默认不选中的状态 |
| | | rawmaterialVisible: false, |
| | | commisionVisible: false, |
| | | tmp: {}, |
| | |
| | | handler(val, oldval) {}, |
| | | // 深度观察监听 |
| | | deep: true |
| | | }, |
| | | checkTypeVisible(newVal){ |
| | | if(newVal == false){ |
| | | this.finishedTable = { |
| | | code: '', |
| | | name: '', |
| | | modelandspecification: '', |
| | | unit: '', |
| | | amount: '', |
| | | checkdate: [] |
| | | }; |
| | | this.infoForm = {}; |
| | | this.commisionSelection = { |
| | | entrust_coding: '', |
| | | entrusted: '', |
| | | samples_number: '', |
| | | sample_name: '', |
| | | specifications_models: '', |
| | | dateSurvey: '', |
| | | completionDeadline: '', |
| | | contacts: '', |
| | | inspectionTime: '' |
| | | }; |
| | | } |
| | | } |
| | | }, |
| | | created() { |
| | |
| | | if (this.$route.name === 'ForInspectionDetail') this.showDetail = true |
| | | }, |
| | | methods: { |
| | | changeSpe(val){ |
| | | this.tmp.specificationsId = val[val.length-1]; |
| | | let arr1 = this.specificationList[0].children.filter(item=>{ |
| | | return item.id==val[1] |
| | | }); |
| | | let arr2 = arr1[0].children.filter(item=>{ |
| | | return item.id = val[2] |
| | | }) |
| | | let speName = arr1[0].name + "-" + arr2[0].name; |
| | | this.speName = speName; |
| | | |
| | | }, |
| | | getSpecifications(val){ |
| | | if(val != null){ |
| | | this.selectSpecificationByMaterielId(val); |
| | | let item = this.mList.filter(item => { |
| | | return item.id == val; |
| | | }); |
| | | this.finishedTable.code = item[0].code; |
| | | this.tmp.mcode = item[0].code; |
| | | this.tmp.name = item[0].name; |
| | | } |
| | | }, |
| | | async selectSpecificationByMaterielId(mId){ |
| | | await getSpecificationByMaterielId({id : mId}).then(res=>{ |
| | | this.specificationList = new Array(res.data); |
| | | }).catch(error => { |
| | | this.$message.error(error.message); |
| | | }); |
| | | }, |
| | | //显示新增检验单模态框 |
| | | showAddDialog(){ |
| | | this.selectMaterielList(); |
| | | this.checkTypeVisible = true |
| | | }, |
| | | //获取成品信息 |
| | | async selectMaterielList(){ |
| | | await getMaterielList().then(res=>{ |
| | | this.mList = res.data |
| | | }).catch(error => { |
| | | this.$message.error(error.message); |
| | | }); |
| | | }, |
| | | async selectAll() { |
| | | |
| | | const res = selectAll({ |
| | | type: 0 |
| | | }) |
| | |
| | | }) |
| | | this.rawMaterialTable = arr |
| | | }) |
| | | } else if (this.type === 1) { |
| | | } else if (this.type === 2) { |
| | | this.commisionVisible = true |
| | | selectAll({ |
| | | type: 2 |
| | |
| | | version: this.version |
| | | } |
| | | } |
| | | if (this.type === 1) { |
| | | if (this.type === 2) { |
| | | obj = { |
| | | endTime: this.commisionSelection.checkdate[1], |
| | | formTime: this.commisionSelection.formTime, |
| | |
| | | name: this.commisionSelection.name, |
| | | num: this.commisionSelection.num, |
| | | specifications: this.commisionSelection.specifications, |
| | | specificationId:this.commisionSelection.specificationsId, |
| | | startTime: this.commisionSelection.checkdate[0], |
| | | supplier: this.commisionSelection.supplier, |
| | | type: this.type, |
| | |
| | | version: this.version |
| | | } |
| | | } |
| | | if (this.type === 2) { |
| | | if (this.type === 1) { |
| | | obj = { |
| | | endTime: this.finishedTable.checkdate[1], |
| | | formTime: this.finishedTable.deliverydate, |
| | | mcode: this.finishedTable.code, |
| | | name: this.finishedTable.name, |
| | | name: this.tmp.name, |
| | | num: parseInt(this.finishedTable.amount), |
| | | specifications: this.finishedTable.modelandspecification, |
| | | startTime: this.finishedTable.checkdate[1], |
| | | supplier: this.finishedTable.supplier, |
| | | specifications: this.speName, |
| | | specificationId: this.finishedTable.modelandspecification[2], |
| | | startTime: this.finishedTable.checkdate[0], |
| | | type: this.type, |
| | | unit: this.finishedTable.unit, |
| | | version: this.version |
| | |
| | | message: '添加成功!', |
| | | type: 'success' |
| | | }); |
| | | this.type = 2 |
| | | this.type = 1 |
| | | this.checkTypeVisible = false |
| | | this.$router.push(`Viewdetails/${res.data}`) |
| | | }).catch(error=>{ |
| | |
| | | // }, |
| | | //确定跳转 |
| | | QUEding() { |
| | | if (this.infoForm.checkdate[0] == undefined || this.infoForm.checkdate[1] == undefined) { |
| | | console.log(this.infoForm); |
| | | if (this.type==0 &&(this.infoForm.checkdate[0] == undefined || this.infoForm.checkdate[1] == undefined)) { |
| | | this.$message({ |
| | | message: '请选择检验时间', |
| | | type: 'warning' |