Merge remote-tracking branch 'origin/master'
| | |
| | | responseType : 'blob', |
| | | params: query |
| | | }) |
| | | } |
| | | } |
| | | |
| | | export function chooseMoRoutingOperation(query) { |
| | | return request({ |
| | | url: '/mes/qualityInspectUnaccepted/chooseMoRoutingOperation', |
| | | method: 'get', |
| | | params: query |
| | | }) |
| | | } |
| | |
| | | result: this.inspectionResultForm[0].result |
| | | } |
| | | if (pro > 0) { |
| | | this.$prompt('请输入不合格数量', '不合格数量', { |
| | | confirmButtonText: '确定', |
| | | cancelButtonText: '取消', |
| | | inputPattern: /^\d+$/, |
| | | inputErrorMessage: '请输入正确数字格式' |
| | | }).then(({ value }) => { |
| | | obj.number = value |
| | | updateFinishedInspectById(obj).then(res => { |
| | | if(res.data.data.indexOf("成功") > 0){ |
| | | this.$message.success("上报成功"); |
| | | this.checkTestState() |
| | | }else{ |
| | | this.$message.warning(res.data.data) |
| | | } |
| | | }); |
| | | }).catch(() => {}); |
| | | obj.number = 1; |
| | | updateFinishedInspectById(obj).then(res => { |
| | | if(res.data.data.indexOf("成功") > 0){ |
| | | this.$message.success("上报成功"); |
| | | this.checkTestState() |
| | | }else{ |
| | | this.$message.warning(res.data.data) |
| | | } |
| | | }); |
| | | // this.$prompt('请输入不合格数量', '不合格数量', { |
| | | // confirmButtonText: '确定', |
| | | // cancelButtonText: '取消', |
| | | // inputPattern: /^\d+$/, |
| | | // inputErrorMessage: '请输入正确数字格式' |
| | | // }).then(({ value }) => { |
| | | // obj.number = value |
| | | // updateFinishedInspectById(obj).then(res => { |
| | | // if(res.data.data.indexOf("成功") > 0){ |
| | | // this.$message.success("上报成功"); |
| | | // this.checkTestState() |
| | | // }else{ |
| | | // this.$message.warning(res.data.data) |
| | | // } |
| | | // }); |
| | | // }).catch(() => {}); |
| | | }else{ |
| | | updateFinishedInspectById(obj).then(res => { |
| | | if(res.data.data.indexOf("成功") > 0){ |
| | |
| | | if(obj.inspectionValue){ |
| | | arr = obj.inspectionValue.split(",") |
| | | } |
| | | obj.empiricalValueAddss = arr |
| | | this.$set(obj,'empiricalValueAddss',arr) |
| | | // obj.empiricalValueAddss = arr |
| | | if(obj.note){ |
| | | snote=obj.inote |
| | | } |
| | | // obj.inote=obj.note |
| | | this.$set(obj,'inote',obj.note) |
| | | }else{ |
| | | this.$set(obj,'inote',null) |
| | | } |
| | | if(arr.length > this.empiricalValueAdd){ |
| | | this.empiricalValueAdd = arr.length |
| | | } |
| | |
| | | arr.splice((arr.length-1),1) |
| | | let obj = { |
| | | devideId: i.eId, |
| | | fpid: row.iid, |
| | | fpid: i.iid, |
| | | inspectionValue: arr.join(","), |
| | | note : i.inote |
| | | } |
| | |
| | | } else { |
| | | if (this.empiricalValueAddMaxNumber != this.empiricalValueAdd - 1) { |
| | | this.empiricalValueAdd = this.empiricalValueAdd - 1; |
| | | // this.changeRowResult() |
| | | this.changeRowResult() |
| | | this.inspectionItems.forEach(i => { |
| | | i.empiricalValueAddss.splice(this.empiricalValueAdd, 1); |
| | | }); |
| | |
| | | <el-input v-model="ruleForm.number"></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="批次号" prop="outBatchNo"> |
| | | <el-select v-model="ruleForm.outBatchNo" multiple placeholder="请选择批次号" style="width: 100%;"> |
| | | <el-select v-model="ruleForm.outBatchNo" multiple placeholder="请选择批次号" style="width: 100%;" :multiple-limit="Number(ruleForm.number)"> |
| | | <el-option :label="m" :value="m" v-for="(m,i) in outBatchNoList" :key="i"></el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | |
| | | { pattern: /^\d+$/, message: '请输入数字', trigger: 'blur' } |
| | | ], |
| | | outBatchNo: [ |
| | | { required: true, message: '请选择批次号', trigger: 'change' } |
| | | { required: true, message: '请选择批次号', trigger: 'change' }, |
| | | ], |
| | | }, |
| | | unqualified:false, |
| | |
| | | handleSubmit(){ |
| | | this.$refs.ruleForm.validate((valid) => { |
| | | if (valid) { |
| | | if(this.ruleForm.outBatchNo.length!=this.ruleForm.number){ |
| | | this.$message.error(`请选择${this.ruleForm.number}个批次号`) |
| | | return |
| | | } |
| | | this.loading = true; |
| | | let obj = {number:this.ruleForm.number,outBatchNo:this.ruleForm.outBatchNo.join(','),...this.unqualifiedInfo}; |
| | | updateProcessInspectsById(obj).then(res => { |
| | |
| | | arr = obj.inspectionValue.split(",") |
| | | } |
| | | this.$set(obj, "empiricalValueAddss", arr) |
| | | this.$set(obj, "inote", obj.inote) |
| | | if(!obj.inote){ |
| | | obj.inote = null |
| | | // obj.inote = null |
| | | this.$set(obj, "inote", null) |
| | | } |
| | | if (arr.length > this.empiricalValueAdd) { |
| | | this.empiricalValueAdd = arr.length |
| | |
| | | } else { |
| | | if (_than.empiricalValueAddMaxNumber != _than.empiricalValueAdd - 1) { |
| | | _than.empiricalValueAdd = _than.empiricalValueAdd - 1; |
| | | // _than.changeRowResult() |
| | | _than.changeRowResult() |
| | | _than.inspectionItems.forEach(i => { |
| | | if(i.children){ |
| | | i.children.forEach(ele=>{ |
| | |
| | | </div> |
| | | <div v-if="type === '产品检验' "> |
| | | <el-radio-group v-model="checkList"> |
| | | <el-radio label="返修">返修</el-radio> |
| | | <el-radio label="接收">接收</el-radio> |
| | | <el-radio label="降级使用">降级使用</el-radio> |
| | | <el-radio label="报废">报废</el-radio> |
| | | <el-radio label="降为他用">降为他用</el-radio> |
| | | <el-row> |
| | | <div style="padding: 20px;"> |
| | | <el-radio label="返修">返修</el-radio> |
| | | <el-radio label="接收">接收</el-radio> |
| | | <el-radio label="降级使用">降级使用</el-radio> |
| | | <el-radio label="报废">报废</el-radio> |
| | | </div> |
| | | <div style="padding: 20px;"> |
| | | <el-radio label="返工">返工</el-radio> |
| | | <el-radio label="降为他用">降为他用</el-radio> |
| | | </div> |
| | | </el-row> |
| | | </el-radio-group> |
| | | <div class="search" style="margin-left: 20px;" v-if="checkList=='返修'"> |
| | | <label style="margin-right: 10px;">工序</label> |
| | | <el-select v-model="moRoutingOperationId" placeholder="请选择"> |
| | | <el-option |
| | | v-for="item in listOptions" |
| | | :key="item.id" |
| | | :label="item.name" |
| | | :value="item.id"> |
| | | </el-option> |
| | | </el-select> |
| | | </div> |
| | | </div> |
| | | <div v-if="type === '过程检验'"> |
| | | <el-radio-group v-model="checkList"> |
| | |
| | | </div> |
| | | </el-row> |
| | | </el-radio-group> |
| | | <div class="search" style="margin-left: 20px;" v-if="checkList=='返修'"> |
| | | <label style="margin-right: 10px;">工序</label> |
| | | <el-select v-model="moRoutingOperationId" placeholder="请选择"> |
| | | <el-option |
| | | v-for="item in listOptions" |
| | | :key="item.id" |
| | | :label="item.name" |
| | | :value="item.id"> |
| | | </el-option> |
| | | </el-select> |
| | | </div> |
| | | </div> |
| | | </el-form> |
| | | <span slot="footer" > |
| | |
| | | UnqualifiedList, |
| | | pullInsUnapi, |
| | | AuditSuggestion, |
| | | exportData |
| | | exportData, |
| | | chooseMoRoutingOperation, |
| | | } from '@/api/quality/unqualifiedprocess' |
| | | import TableForm from './table-form' |
| | | import { mapGetters } from 'vuex' |
| | |
| | | return { |
| | | queryParam: {}, |
| | | checkList: "", |
| | | moRoutingOperationId:"", |
| | | // WayIdea:'', |
| | | UserId:{}, |
| | | type:'', |
| | |
| | | minWidth: 100 |
| | | } |
| | | }, |
| | | listOptions:[], |
| | | materialType: [{label:'原材料检验',value:'原材料检验'},{label:'过程检验',value:'过程检验'},{label:'产品检验',value:'产品检验'},{label:'包装检验',value:'包装检验'}], |
| | | StateList: [{label:'全部',value:''},{label:'已提交审核',value:'1'},{label:'待处理',value:'0'},{label:'已完成',value:'2'}], |
| | | insStateList: [{label:'其他',value:''},{label:'瑕疵',value:'1'}], |
| | |
| | | ...mapGetters(['permissions']) |
| | | |
| | | }, |
| | | watch: { |
| | | checkList(val){ |
| | | if(val!='返修'){ |
| | | this.moRoutingOperationId = null |
| | | } |
| | | } |
| | | }, |
| | | created() { |
| | | // this.getType() |
| | | let arr = [] |
| | |
| | | type: 'text', |
| | | size: 'small', |
| | | fun: this.Submitreview, |
| | | show: { |
| | | key: 'state', |
| | | val: [0] |
| | | } |
| | | // show: { |
| | | // key: 'state', |
| | | // val: [0] |
| | | // }, |
| | | showFun: (row)=>{return row.type == '原材料检验'&&row.state==0} |
| | | }) |
| | | } |
| | | if(this.permissions.quality_processconfiguration_result){ |
| | |
| | | this.table.operator = arr.length>0 ? arr : null |
| | | }, |
| | | methods: { |
| | | chooseMoRoutingOperation(id){ |
| | | chooseMoRoutingOperation({id}).then(res =>{ |
| | | this.listOptions = res.data.data |
| | | }) |
| | | }, |
| | | getQueryParam(data){ |
| | | this.queryParam = data |
| | | }, |
| | |
| | | this.UserId = row.id |
| | | this.type = row.type |
| | | this.dialogVisible = true; |
| | | this.chooseMoRoutingOperation(row.id) |
| | | |
| | | }, |
| | | WayCancel(){ |
| | | this.dialogVisible = false |
| | | this.checkList = null |
| | | this.moRoutingOperationId = null |
| | | this.WayIdea = null |
| | | }, |
| | | WaySure(){ |
| | | AuditSuggestion({id:this.UserId,way:this.checkList}).then( |
| | | AuditSuggestion({id:this.UserId,way:this.checkList,moRoutingOperationId:Number(this.moRoutingOperationId)*1}).then( |
| | | res =>{ |
| | | this.checkList = null |
| | | this.moRoutingOperationId = null |
| | | this.WayIdea = null |
| | | this.$refs.processconfiguration.refreshData() |
| | | ;}) |