| | |
| | | <div class="page-header"> |
| | | <div class="header-left"> |
| | | <a @click="$router.go(-1)"><i class="icon-btn-back"></i></a> |
| | | <h2 v-if="resultVal!=null && dataForm.id!=null">查看-原材料检验</h2> |
| | | <h2 v-if="(resultVal!=null || resultVal!='') && dataForm.id!=null">查看-原材料检验</h2> |
| | | <h2 v-else>编辑-原材料检验</h2> |
| | | </div> |
| | | <div class="btn-group header-right"> |
| | |
| | | <el-button |
| | | slot="append" |
| | | icon="el-icon-search" |
| | | :disabled="resultVal!=null" |
| | | :disabled="(resultVal!=null || resultVal!='')" |
| | | @click="queryCode"></el-button> |
| | | <el-button |
| | | slot="append" |
| | | icon="el-icon-full-screen" |
| | | :disabled="resultVal!=null" |
| | | :disabled="(resultVal!=null || resultVal!='')" |
| | | @click="Turnonthecamera"></el-button> |
| | | </el-input> |
| | | </el-form-item> |
| | |
| | | </el-col> |
| | | <el-col :span="6"> |
| | | <el-form-item label="数量" prop="number"> |
| | | <el-input v-model="dataForm.number" :disabled="resultVal!=null" /> |
| | | <el-input v-model="dataForm.number" :disabled="(resultVal!=null || resultVal!='')" /> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | |
| | | <div> |
| | | <el-tabs class="rawMaterial-detail" @tab-click="tabsClick"> |
| | | <el-tab-pane label="检验项目"> |
| | | <el-row style="width:100%;z-index: 10;height:50px;"> |
| | | <el-col :sm="15" :lg="18"></el-col> |
| | | <el-col :sm="3" :lg="2" style="text-align: right;"> |
| | | <el-row style="width:100%;z-index: 10;height:50px;" v-if="resultVal==null"> |
| | | <el-col :span="12"></el-col> |
| | | <el-col :span="12" style="text-align: right;"> |
| | | <el-button v-if="dataForm.id==null" size="small" @click="clickAddLine()">添加检验项目</el-button> |
| | | </el-col> |
| | | <el-col :sm="3" :lg="2" style="text-align: right;"> |
| | | <el-button class="pad-addcol-btn" v-if="resultVal==null || dataForm.id==null" size="small" @click="addTeatValueColumn()">添加检测值列</el-button> |
| | | </el-col> |
| | | <el-col :sm="3" :lg="2" style="text-align: right;"> |
| | | <el-button v-if="resultVal==null || dataForm.id==null" size="small" @click="delTeatValueColumn()">删除检测值列</el-button> |
| | | </el-col> |
| | | </el-row> |
| | |
| | | row-key="iid" |
| | | default-expand-all |
| | | :tree-props="{children: 'children', hasChildren: 'hasChildren'}"> |
| | | <el-table-column type="index" label="序号" width="60"> |
| | | <el-table-column type="index" prop="parentIndex" label="序号" width="60"> |
| | | <template scope="scope"> |
| | | <span v-if="scope.row.isIndex">{{scope.row.parentIndex}}</span> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column prop="father" label="检验项目" width="160"> |
| | | <template slot-scope="scope"> |
| | | <el-input v-if="scope.row.children" style="width:90%" :disabled="dataForm.id!=null" v-model="scope.row.father" placeholder="请输入检验项目"></el-input> |
| | | <el-input v-if="scope.row.children" style="width:80%" :disabled="dataForm.id!=null" v-model="scope.row.father" placeholder="请输入检验项目"></el-input> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column prop="name" label="项目" width="160"> |
| | |
| | | <el-input :disabled="dataForm.id != null" v-model="scope.row.unit" placeholder="请输入单位"></el-input> |
| | | </div> |
| | | </template> |
| | | |
| | | |
| | | </el-table-column> |
| | | <el-table-column prop="required" label="标准值" width="160"> |
| | | <template slot-scope="scope"> |
| | |
| | | <template slot-scope="scope"> |
| | | <div v-if="!scope.row.children"> |
| | | <el-tooltip :disabled="scope.row.deviceId != null" class="item" effect="dark" content="请先选择设备!" placement="top-start"> |
| | | <el-select style="width:100%" allow-create filterable default-first-option |
| | | :disabled="scope.row.deviceId == null || (dataForm.id!=null&&resultVal!=null)" |
| | | <el-autocomplete clearable |
| | | :disabled="scope.row.deviceId == null || (dataForm.id!=null&&(resultVal!=null || resultVal!=''))" |
| | | @input="changeState(scope.row,scope.$index)" |
| | | v-model="scope.row.testValueList[index]" |
| | | :fetch-suggestions="querySearch" |
| | | placeholder="请输入或选择检测值" > |
| | | <i style="line-height: normal;padding: 10px 7px;" class="el-icon-arrow-down" slot="suffix"></i> |
| | | <template slot-scope="{ item }"> |
| | | <div>{{ item.value }}</div> |
| | | </template> |
| | | </el-autocomplete> |
| | | |
| | | <!-- <el-select style="width:100%" filterable |
| | | :disabled="scope.row.deviceId == null || (dataForm.id!=null&&(resultVal!=null || resultVal!=''))" |
| | | v-model="scope.row.testValueList[index]" |
| | | placeholder="请输入或选择检测值" |
| | | @change="changeState(scope.row,scope.$index)"> |
| | | placeholder="请输入或选择检测值" |
| | | allow-create |
| | | default-first-option |
| | | @change="changeState(scope.row,scope.$index)" |
| | | @blur="selectBlur" |
| | | > |
| | | <el-option label="是" value="是"/> |
| | | <el-option label="否" value="否"/> |
| | | </el-select> |
| | | </el-select> --> |
| | | </el-tooltip> |
| | | </div> |
| | | </template> |
| | |
| | | <el-table-column prop="deviceName" label="试验设备" min-width="200"> |
| | | <template slot-scope="scope"> |
| | | <div v-if="!scope.row.children"> |
| | | <el-select ref="" :disabled="dataForm!=null && resultVal!=null" style="width:60%" |
| | | <el-select ref="" :disabled="dataForm!=null && (resultVal!=null || resultVal!='')" style="width:60%" |
| | | v-model="scope.row.deviceId" filterable @change="updateDevice(scope.row,scope.$index)"> |
| | | <el-option v-for="(item,index) in deviceList" |
| | | :key="index" :value="item.id" :label="item.code +'-'+ item.name"></el-option> |
| | |
| | | size="small" |
| | | slot="append" |
| | | icon="el-icon-full-screen" |
| | | :disabled="dataForm!=null && resultVal!=null" |
| | | :disabled="dataForm!=null && (resultVal!=null || resultVal!='')" |
| | | @click="codeDevice(scope.row,scope.$index)"></el-button> |
| | | </div> |
| | | </template> |
| | |
| | | <el-table-column prop="note" label="检验描述" width="160" > |
| | | <template slot-scope="scope"> |
| | | <div v-if="!scope.row.children"> |
| | | <el-input @blur="changeState(scope.row, scope.$index)" :disabled="scope.row.deviceId == null || (dataForm.id!=null&&resultVal!=null)" v-model="scope.row.note" placeholder="检验描述"></el-input> |
| | | <el-input @blur="changeState(scope.row, scope.$index)" :disabled="scope.row.deviceId == null || (dataForm.id!=null&&(resultVal!=null || resultVal!=''))" v-model="scope.row.note" placeholder="检验描述"></el-input> |
| | | </div> |
| | | </template> |
| | | </el-table-column> |
| | |
| | | element-loading-text="请稍等,文件上传中" |
| | | > |
| | | <el-upload |
| | | :disabled="dataForm.rawInsNo==null" |
| | | :disabled="dataForm.rawInsNo==null || (resultVal!=null || resultVal!='')" |
| | | drag |
| | | ref="upload" |
| | | action="/mes/rawInsProduct/upload" |
| | |
| | | @click="delProcessConfigFile(scope.row)" |
| | | type="text" |
| | | size="small" |
| | | :disabled="resultVal!=null" |
| | | :disabled="(resultVal!=null || resultVal!='')" |
| | | >删除</el-button |
| | | > |
| | | <el-button |
| | |
| | | </el-table-column> |
| | | <el-table-column label="操作"> |
| | | <template> |
| | | <el-button type="text" :disabled="resultVal!=null && dataForm.id!=null" @click="showDialog()" size="small">上报</el-button> |
| | | <el-button type="text" :disabled="(resultVal!=null || resultVal!='') && dataForm.id!=null" @click="showDialog()" size="small">上报</el-button> |
| | | </template> |
| | | </el-table-column> |
| | | </el-table> |
| | |
| | | let val = sessionStorage.getItem("raw-resultVal-"+this.dataForm.id) |
| | | val == undefined ? null : this.resultVal=val |
| | | } |
| | | this.init() |
| | | this.init(this.dataForm.id) |
| | | this.getDeviceList() |
| | | }, |
| | | watch:{ |
| | |
| | | }, |
| | | }, |
| | | methods:{ |
| | | querySearch(queryString, cb){ |
| | | // 调用 callback 返回建议列表的数据 |
| | | cb([{value:'是'},{value:'否'}]); |
| | | }, |
| | | tabsClick(tab,even){ |
| | | if(tab.index == 1){ |
| | | if(this.dataForm.rawInsNo==null){ |
| | |
| | | this.updateDevice(this.row,this.proIndex) |
| | | }else{ |
| | | this.$message({ |
| | | message: '未识别出二位码计量器具信息!', |
| | | message: '二维码未识别出计量器具信息!', |
| | | type: 'warning' |
| | | }); |
| | | } |
| | | }, |
| | | codeDevice(row,index){ |
| | | this.row=row |
| | | this.row=row |
| | | console.log("row",row); |
| | | this.deviceCode =true |
| | | this.$refs.codeDeviceCompont.openCamera() |
| | |
| | | getResultInfo(data){ |
| | | if(!data.includes("part_no")){ |
| | | this.$message({ |
| | | message: '未识别出二位码零件信息!', |
| | | message: '二维码未识别出零件信息!', |
| | | type: 'warning' |
| | | }); |
| | | } |
| | | let obj=JSON.parse(data) |
| | | let info={"code":obj["part_no"]} |
| | | console.log("值",info); |
| | | if(info.code!=undefined&&info.code!=''){ |
| | | this.paramObj = info |
| | | this.showPart = true |
| | | }else{ |
| | | this.$message({ |
| | | message: '未识别出二位码零件信息!', |
| | | message: '二维码未识别出零件信息!', |
| | | type: 'warning' |
| | | }); |
| | | } |
| | |
| | | }, |
| | | // 打开相机 |
| | | Turnonthecamera() { |
| | | this.qrcode = true |
| | | this.$refs.codeCompont.openCamera() |
| | | }, |
| | | this.qrcode = true |
| | | this.$refs.codeCompont.openCamera() |
| | | }, |
| | | // 确认回调 |
| | | selectPart(param, nodePart, index) { |
| | | if (typeof param !== 'undefined') { |
| | |
| | | this.dataForm.message = param.message |
| | | this.dataForm.projectName = param.projectName |
| | | this.projectList = param.rawInsProducts == null ? [] : param.rawInsProducts |
| | | param.rawInsProducts.forEach(o=>{ |
| | | this.clickAddLine(o) |
| | | param.rawInsProducts.forEach((o,index)=>{ |
| | | this.clickAddLine(o,index) |
| | | }) |
| | | } |
| | | |
| | |
| | | this.empiricalValueAdd = this.empiricalValueAdd + 1; |
| | | }, |
| | | // 添加行 |
| | | clickAddLine(row) { |
| | | clickAddLine(row,index) { |
| | | let ele = { |
| | | fId: Math.random(), |
| | | father: null, |
| | |
| | | children:[] |
| | | } |
| | | if(row){ |
| | | ele.isIndex = true; |
| | | ele.parentIndex = index + 1; |
| | | ele.father = row.father?row.father:null |
| | | row.children.forEach(item => { |
| | | ele.children.push({ |
| | |
| | | }) |
| | | this.list.push(ele) |
| | | }else{ |
| | | ele.isIndex = true; |
| | | ele.parentIndex = this.list.length + 1; |
| | | ele.children.push({ |
| | | deviceId: null, |
| | | deviceName: null, |
| | |
| | | } |
| | | updateRawInsProduct(obj).then(res=>{ |
| | | if(res.data.code === 0){ |
| | | this.init() |
| | | this.init(this.dataForm.id) |
| | | } |
| | | }) |
| | | } |
| | |
| | | } |
| | | } |
| | | }, |
| | | init(){ |
| | | if(this.dataForm.id){ |
| | | getObj(this.dataForm.id).then(res=>{ |
| | | init(id){ |
| | | if(id){ |
| | | getObj(id).then(res=>{ |
| | | let data = res.data.data |
| | | this.dataForm.rawInsNo = data.rawInsNo |
| | | this.dataForm.name = data.name |
| | |
| | | this.dataForm.createUser = data.createUser |
| | | let userNameList = [] |
| | | this.list = [] |
| | | data.children.forEach(item => { |
| | | data.children.forEach((item,index) => { |
| | | if (item.children) { |
| | | let ele = { |
| | | iid: null, |
| | | father: null, |
| | | children: [] |
| | | } |
| | | ele.isIndex = true; |
| | | ele.parentIndex = index + 1; |
| | | ele.iid = Math.random() |
| | | ele.father = item.rpFather |
| | | if (item.children != undefined) { |
| | | item.children.forEach(obj => { |
| | | item.children.forEach((obj) => { |
| | | let arr= [] |
| | | if(obj.userName){ |
| | | userNameList.push(obj.userName) |
| | |
| | | this.list.push(ele) |
| | | }} |
| | | }) |
| | | let rVal = '1' |
| | | let rVal = '' |
| | | let passNum = 0 |
| | | let unPassNum = 0 |
| | | this.list.forEach(item=>{ |
| | | if(item.children){ |
| | | item.children.forEach(ele=>{ |
| | | if(ele.testState == 0){ |
| | | rVal = '0' |
| | | unPassNum += 1 |
| | | } |
| | | if(ele.testState == 1){ |
| | | passNum+=1 |
| | | } |
| | | }) |
| | | } |
| | | }) |
| | | rVal = (passNum+unPassNum)>0 ? unPassNum>0 ? '0' :'1' : '' |
| | | this.conclusionTable = [{ |
| | | code: data.code, |
| | | name: data.name, |
| | |
| | | this.conclusionTable = [] |
| | | } |
| | | }, |
| | | selectBlur(e){ |
| | | console.log(e,e.target.tabIndex); |
| | | console.log(e.target.value); |
| | | }, |
| | | changeState(row, index) { |
| | | if(row){ |
| | | if(row){ |
| | | let isTrue = true |
| | | for(var i=0;i<row.testValueList.length;i++){ |
| | | let val = row.testValueList[i] |
| | | let reg = /(^-?[0-9]{1,6}$)|(^-?[0-9]{1,6}[\.]{1}[0-9]{1,3}$)/ |
| | | if(!reg.test(val) && !['是','否'].includes(val)){ |
| | | this.$message.error("请输入数字或选择是否") |
| | | row.testValueList[i] = null |
| | | isTrue = false |
| | | row.testValueList[i] = null |
| | | this.$message.error("请输入6位数字或选择是否") |
| | | isTrue = false |
| | | } |
| | | } |
| | | if(!isTrue){ |
| | | return |
| | | } |
| | | } |
| | | if (row.rpId != null && row.rpId != '') { |
| | | let val = row.testValueList.join(",") |
| | | if (val === undefined || val === '' || val === null) { |
| | | return |
| | | } |
| | | if (row.rpId != null && row.rpId != '') { |
| | | let val = row.testValueList.join(",") |
| | | if (val === undefined || val === '' || val === null) { |
| | | return |
| | | } |
| | | let obj = { |
| | | let obj = { |
| | | deviceId: row.deviceId, |
| | | rpId: row.rpId, |
| | | testValue: val, |
| | | note: row.note |
| | | } |
| | | updateRawInsProduct(obj).then(res => { |
| | | if (res.data.code == 0) { |
| | | this.$message.success("更新成功") |
| | | } else { |
| | | this.$message.error("更新失败") |
| | | } |
| | | this.init() |
| | | }) |
| | | } |
| | | updateRawInsProduct(obj).then(res => { |
| | | if (res.data.code == 0) { |
| | | this.$message.success("更新成功") |
| | | } else { |
| | | this.$message.error("更新失败") |
| | | } |
| | | this.init(this.dataForm.id) |
| | | }) |
| | | } |
| | | }, |
| | | // 删除子项目 |
| | | delChildren(row,index,isParent) { |
| | |
| | | let childrenIndex = this.list[i].children.findIndex(el =>{ |
| | | return el.iid == row.iid |
| | | }) |
| | | this.list[i].children.splice(childrenIndex,1) |
| | | if(this.list[i].children.length<2){ |
| | | this.list.splice(i,1) |
| | | }else{ |
| | | this.list[i].children.splice(childrenIndex,1) |
| | | } |
| | | } |
| | | }, |
| | | //添加子项目 |
| | |
| | | row.children.push(obj) |
| | | }, |
| | | save(){ |
| | | const _than = this |
| | | let data = this.dataForm |
| | | this.list.forEach(item=>{ |
| | | item.children.forEach(c=>{ |
| | |
| | | data.rawInsProducts = this.list |
| | | addRawInspects(data).then(res=>{ |
| | | this.$message.success("保存成功") |
| | | this.$router.go(-1) |
| | | // this.$router.go(-1) |
| | | }).catch(error=>{ |
| | | this.$message.error(error) |
| | | }) |
| | | _than.$nextTick(()=>{ |
| | | _than.init(Number(res.data.msg)) |
| | | }) |
| | | }, |
| | | getDeviceList(){ |
| | |
| | | |
| | | .rawMaterial-basic { |
| | | background-color: #fff; |
| | | height: 155px; |
| | | height: 170px; |
| | | display: flex; |
| | | flex-wrap: wrap; |
| | | padding: 10px 20px; |