From 92688c42d8ac271f96821e54da6a2d440a23547a Mon Sep 17 00:00:00 2001 From: 王震 <10952869+daywangzhen@user.noreply.gitee.com> Date: 星期五, 10 十一月 2023 17:07:58 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/master' --- src/views/quality/rawMaterial/rawMaterial-form.vue | 748 ++++++++++++++++++++++++++++++++++++++++++-------------- 1 files changed, 558 insertions(+), 190 deletions(-) diff --git a/src/views/quality/rawMaterial/rawMaterial-form.vue b/src/views/quality/rawMaterial/rawMaterial-form.vue index 46ad3e2..7b80424 100644 --- a/src/views/quality/rawMaterial/rawMaterial-form.vue +++ b/src/views/quality/rawMaterial/rawMaterial-form.vue @@ -3,22 +3,15 @@ <div class="page-header"> <div class="header-left"> <a @click="$router.go(-1)"><i class="icon-btn-back"></i></a> - <h2>缂栬緫-鍘熸潗鏂欐楠�</h2> + <h2 v-if="resultVal!=null && dataForm.id!=null">鏌ョ湅-鍘熸潗鏂欐楠�</h2> + <h2 v-else>缂栬緫-鍘熸潗鏂欐楠�</h2> </div> <div class="btn-group header-right"> - <el-button @click="save()">淇濆瓨</el-button> + <el-button @click="save()" v-if="this.dataForm.id==null">淇濆瓨</el-button> </div> </div> <div class="page-main"> <div class="rawMaterial-basic"> - <el-row style="width:100%;height:20px;margin-bottom:20px;" v-show="dataForm.id==null"> - <el-col :span="20"> - <span style="color:red;font-size:18px;padding: 0;margin: 0;">璇锋壂鎻忎簩缁寸爜鑾峰彇鏁版嵁</span> - </el-col> - <el-col :span="4" style="text-align: right;"> - <el-button>鎵弿浜岀淮鐮�</el-button> - </el-col> - </el-row> <el-form :model="dataForm" :rules="dataRule" @@ -27,15 +20,15 @@ class="l-mes" label-width="110px"> <el-row> - <el-col :span="6"> - <el-form-item prop="formTime" label="鏉ユ枡鏃ユ湡"> - <el-date-picker - v-model="dataForm.formTime" - type="datetime" - value-format="yyyy-MM-dd HH:mm:ss" - disabled> - - </el-date-picker> + <el-col :span="6"> + <el-form-item label="闆朵欢鍙�" prop="code"> + <el-input v-model="dataForm.code" :disabled="resultVal!=null && dataForm.id!=null"> + <el-button + slot="append" + icon="el-icon-search" + :disabled="resultVal!=null && dataForm.id!=null" + @click="queryCode()"></el-button> + </el-input> </el-form-item> </el-col> <el-col :span="6"> @@ -45,8 +38,15 @@ </el-form-item> </el-col> <el-col :span="6"> - <el-form-item label="鍘熸潗鏂欑紪鐮�" prop="code"> - <el-input v-model="dataForm.code" disabled></el-input> + <el-form-item prop="formTime" label="鏉ユ枡鏃ユ湡"> + <el-date-picker + style="width:100%" + v-model="dataForm.formTime" + type="datetime" + value-format="yyyy-MM-dd HH:mm:ss" + disabled> + + </el-date-picker> </el-form-item> </el-col> <el-col :span="6"> @@ -71,106 +71,246 @@ </el-col> <el-col :span="6"> <el-form-item label="鏁伴噺" prop="number"> - <el-input v-model="dataForm.number" /> + <el-input v-model="dataForm.number" :disabled="resultVal!=null" /> </el-form-item> </el-col> <el-col :span="6"> - <el-form-item label="鎶ユ鏃ユ湡" prop="createTime" v-if="dataForm.id!=null"> - <el-input v-model="dataForm.createTime" /> + <el-form-item prop="projectName" label="椤圭洰鍚嶇О"> + <el-tooltip :disabled="dataForm.projectName==null" :content="dataForm.projectName"> + <el-input v-model="dataForm.projectName" disabled ></el-input> + </el-tooltip> </el-form-item> - </el-col> + </el-col> </el-row> <el-row> <el-col :span="6"> + <el-form-item label="鎶ユ鏃ユ湡" prop="createTime" v-if="dataForm.id!=null"> + <el-input v-model="dataForm.createTime" disabled /> + </el-form-item> + </el-col> + <el-col :span="6"> <el-form-item label="鎶ユ浜�" prop="createUser" v-if="dataForm.id!=null"> - <el-input v-model="dataForm.createUser" /> + <el-input v-model="dataForm.createUser" disabled /> </el-form-item> </el-col> </el-row> </el-form> </div> + + + <div class="rawMaterial-detail"> <el-row style="width:100%;z-index: 10;height:50px;"> - <el-col :span="19">妫�楠岄」鐩�</el-col> - <el-col :span="5"> - <div style="width:100%;text-align: right;"> - <el-button v-show="dataForm.id==null" size="small" @click="clickAddLine">娣诲姞妫�楠岃</el-button> - <el-button size="small" @click="addTeatValueColumn()">娣诲姞妫�楠屽�煎垪</el-button> - <el-button size="small" @click="delTeatValueColumn()">鍒犻櫎妫�楠屽�煎垪</el-button> - </div> + <el-col :span="18">妫�楠岄」鐩�</el-col> + <el-col :span="2"> + <el-button style="width:90%" v-if="dataForm.id==null" size="small" @click="clickAddLine()">娣诲姞妫�楠岄」鐩�</el-button> + </el-col> + <el-col :span="2"> + <el-button style="width:90%" v-if="resultVal==null || dataForm.id==null" size="small" @click="addTeatValueColumn()">娣诲姞妫�娴嬪�煎垪</el-button> + </el-col> + <el-col :span="2"> + <el-button style="width:90%" v-if="resultVal==null || dataForm.id==null" size="small" @click="delTeatValueColumn()">鍒犻櫎妫�娴嬪�煎垪</el-button> </el-col> </el-row> - <el-row style="width:100%;margin-top:-30px"> + <el-row style="width:100%;"> <el-col :span="24"> - <avue-crud - ref="crud" - :option="tableOption" - @current-row-change="changeEquipment" + <el-table + :header-cell-style="{textAlign:'center',color:'black',backgroundColor:'#fafafa'}" + :cell-style="{textAlign:'center'}" + ref="table" :data="list" - v-model="form"> - <template slot="testValue" slot-scope="scope"> - <el-tooltip :disabled="scope.row.equipmentId != null" class="item" effect="dark" content="璇峰厛閫夋嫨璁惧锛�" - placement="top-start"> - <el-input :disabled="scope.row.equipmentId == null" v-model="scope.row.testValue" - @blur="updateTestValue(scope.row)" placeholder="璇疯緭鍏ユ娴嬪��"></el-input> - </el-tooltip> - </template> - <template slot="deviceName" slot-scope="scope"> - <el-select v-model="scope.row.equipmentId" filterable> - <el-option v-for="(item,index) in deviceList" - :key="index" :value="item.id" :label="item.number +'-'+ item.name"></el-option> - </el-select> - </template> - <template slot="testState" slot-scope="scope"> - <span v-if="scope.row.testState == 0" style="color:#F56C6C">涓嶅悎鏍�</span> - <span v-else-if="scope.row.testState == 1" style="color:#67C23A">鍚堟牸</span> - <span v-else>鏆傛棤缁撹</span> - </template> - </avue-crud> + border + style="width: 100%;" + height="400" + row-key="iid" + default-expand-all + :tree-props="{children: 'children', hasChildren: 'hasChildren'}"> + <el-table-column type="index" label="搴忓彿" width="60"> + </el-table-column> + <el-table-column prop="father" label="妫�楠岄」鐩�" width="260"> + <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> + </template> + </el-table-column> + <el-table-column prop="name" label="椤圭洰" width="260"> + <template slot-scope="scope"> + <div v-if="!scope.row.children"> + <el-input class="inline-input" :disabled="dataForm.id!=null" v-model="scope.row.name" + placeholder="璇疯緭鍏ラ」鐩悕绉�"></el-input> + </div> + </template> + </el-table-column> + <el-table-column prop="unit" label="鍗曚綅" width="260"> + <template slot-scope="scope"> + <div v-if="!scope.row.children"> + <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="260"> + <template slot-scope="scope"> + <div v-if="!scope.row.children"> + <el-input :disabled="dataForm.id != null" v-model="scope.row.required" + placeholder="璇疯緭鍏ユ爣鍑嗗��"></el-input> + </div> + </template> + </el-table-column> + <el-table-column prop="testValue" label="妫�娴嬪��" min-width="260" v-for="(item,index) in empiricalValueAdd" :key="index"> + <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 @blur="changeState(scope.row, index)" style="width:100%" allow-create filterable default-first-option + :disabled="scope.row.deviceId == null || (dataForm.id!=null&&resultVal!=null)" + v-model="scope.row.testValueList[index]" + placeholder="璇疯緭鍏ユ垨閫夋嫨妫�娴嬪��" @change="updateTestValue(scope.row,scope.$index)"> + <el-option label="鏄�" value="鏄�"/> + <el-option label="鍚�" value="鍚�"/> + </el-select> + </el-tooltip> + </div> + </template> + </el-table-column> + <el-table-column prop="deviceName" label="璇曢獙璁惧" min-width="260"> + <template slot-scope="scope"> + <div v-if="!scope.row.children"> + <el-select :disabled="dataForm!=null && resultVal!=null" style="width:100%" + 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> + </el-select> + </div> + </template> + </el-table-column> + <el-table-column prop="note" label="妫�楠屾弿杩�" width="260" > + <template slot-scope="scope"> + <div v-if="!scope.row.children"> + <el-input @blur="changeState(scope.row, note)" :disabled="scope.row.deviceId == null || (dataForm.id!=null&&resultVal!=null)" v-model="scope.row.note" placeholder="妫�楠屾弿杩�"></el-input> + </div> + </template> + </el-table-column> + <el-table-column fixed="right" v-if="dataForm.id != null" prop="testState" label="缁撹" min-width="150"> + <template slot-scope="scope"> + <div v-if="!scope.row.children"> + <span v-if="scope.row.testState == 0" style="color:#F56C6C">涓嶅悎鏍�</span> + <span v-else-if="scope.row.testState == 1" style="color:#67C23A">鍚堟牸</span> + <span v-else>鏆傛棤缁撹</span> + </div> + </template> + </el-table-column> + <el-table-column fixed="right" style="background-color: white;" v-if="dataForm.id == null" label="鎿嶄綔" width="150"> + <template slot-scope="scope"> + <div v-if="scope.row.fId!=null"> + <el-button type="text" @click="addChildren(scope.row)">娣诲姞椤圭洰</el-button> + <el-button type="text" @click="delChildren(scope.row,scope.$index,true)">鍒犻櫎琛�</el-button> + </div> + <el-button v-else type="text" @click="delChildren(scope.row,scope.$index,false)">鍙栨秷</el-button> + </template> + </el-table-column> + </el-table> </el-col> </el-row> </div> - <div class="rawMaterial-detail"> + + + <div class="rawMaterial-result"> <el-row> <el-col :span="24">妫�楠岀粨璁�</el-col> </el-row> <el-row style="width:100%"> <el-col :span="24"> - <avue-crud - ref="conclusion" - :option="option" - :data="conclusionTable" - v-model="conclusion"> - <template #menu> - <el-button type="text" size="small">涓婃姤</el-button> - </template> - </avue-crud> + <el-table border height="90" :data="conclusionTable" ref="conclusion" v-model="conclusion" + :header-cell-style="{textAlign:'center',color:'black',backgroundColor:'#fafafa'}" + :cell-style="{textAlign:'center'}"> + <el-table-column prop="code" label="鐗╂枡缂栧彿"></el-table-column> + <el-table-column prop="name" label="鐗╂枡鍚嶇О"></el-table-column> + <el-table-column prop="userName" label="妫�楠屽憳"></el-table-column> + <el-table-column prop="judgeState" label="妫�楠岀粨璁�"> + <template slot-scope="scope"> + <el-tag type="success" v-if="scope.row.testState == '1'">鍚堟牸</el-tag> + <el-tag type="danger" v-else-if="scope.row.testState == '0'">涓嶅悎鏍�</el-tag> + </template> + </el-table-column> + <el-table-column label="鎿嶄綔"> + <template> + <el-button type="text" :disabled="resultVal!=null && dataForm.id!=null" @click="showDialog()" size="small">涓婃姤</el-button> + </template> + </el-table-column> + </el-table> </el-col> </el-row> </div> - </div> + <rawMaterialPartDialog :paramObj="paramObj" :currshowlist.sync="showPart" @listenToPartEvent="selectPart" /> + <el-dialog + title="涓婃姤" + :visible.sync="dialogVisible" + width="30%" class="l-mes"> + <el-row> + <el-col> + <span>涓嶅悎鏍兼暟閲�:</span> + <el-input type="number" v-model="unqualifiedNum" placeholder="璇疯緭鍏ヤ笉鍚堟牸鏁伴噺"/> + </el-col> + </el-row> + <span slot="footer" class="dialog-footer"> + <el-button @click="dialogVisible = false">鍙� 娑�</el-button> + <el-button type="primary" @click="submitSave()">纭� 瀹�</el-button> + </span> + </el-dialog> </div> </template> <script> -import { object,conclusion } from '@/const/crud/quality/rawMaterial' -import { selectDevice,addRawInspects,getObj,updateRawInsProduct } from '@/api/quality/rawMaterial' +import { + selectDevice, + addRawInspects, + getObj, + updateRawInsProduct, + updateRawInspectsById, + updateDeviceById, } from '@/api/quality/rawMaterial' + import rawMaterialPartDialog from '@/views/common/rawMaterial-part' export default { + computed:{}, + components:{ + rawMaterialPartDialog + }, data(){ return{ - columnIndex: 2, + userdata:[], + currentRow:[], + userlist:[], + unqualifiedNum: null, + dialogVisible:false, + resultVal: null, + projectList: [], + paramObj: {}, + IFSData: [], + showPart: false, + // 娣诲姞鍒� + empiricalValueAdd: 1, + // 缂栬緫鏃跺瓨鍌ㄦ渶闀跨殑鍒楁暟瀛楋紝鍋氬垹闄ゅ垽鏂� + empiricalValueAddMaxNumber: 0, columnList: [], dataForm:{ id: null, - formTime: '2023-10-28 00:00:00', - name: 'name', - code: 'code4', - specs: 'specs', - unit: 'mm', - number: '111', - supplier: 'supplier', - rawInsProducts: null, + judgeState: null, + formTime: '', + message: '', + name: '', + code: '88.118.1/A0498220', + specs: '', + unit: '', + number: '', + supplier: '', + rawInsProducts: [{ + deviceId: 0, + father:'', + name: '', + required: '', + testValue: '', + unit: '', + testValueList: [] + }] }, form: null, list:[], @@ -181,108 +321,222 @@ userName: '', testState: '' }], - tableOption: object, - option: conclusion, dataRule: {}, deviceList: [], } }, + beforeUpdate(){ + this.$nextTick(()=>{ + this.$refs.table.doLayout(); + }) + }, mounted(){ this.dataForm.id = this.$route.query.id + this.resultVal = this.$route.query.resultVal + if(this.resultVal == null){ + let val = sessionStorage.getItem("raw-resultVal-"+this.dataForm.id) + val == undefined ? null : this.resultVal=val + } this.init() - let isShow = this.dataForm.id == null ? true : false - this.tableOption.menu = isShow - let len = this.tableOption.column.length - this.tableOption.column[len-1].hide = isShow this.getDeviceList() }, watch:{ - 'columnList.length':function(newVal){ - const column = [{ - label: '椤圭洰', - width: 260, - prop: 'name', - span: 24, - type: 'text', - cell: true, - }, { - width: 260, - label: '鍗曚綅', - prop: 'unit', - span: 24, - type: 'text', - cell: true, - }, { - width: 260, - label: '鏍囧噯鍊�', - prop: 'required', - type: 'text', - span: 24, - cell: true, - }, { - label: '妫�娴嬪��', - prop: 'testValue', - type: 'text', - width: 260, - slot: true, - formSlot: true, - cell: true, - }, { - label: '璇曢獙璁惧', - prop: 'deviceName', - type: 'select', - cell: true, - slot: true, - formSlot: true, - width: 260 - },{ - label: '缁撹', - prop: 'testState', - type: 'text', - slot: true, - formSlot: true, - hide: true, - fixed: 'right' - }] - if(newVal > 0){ - if(this.columnList.length > 0){ - this.tableOption.column = column - this.columnList.forEach(item=>{ - this.tableOption.column.splice(4,0,item) - }) - } - }else{ - this.tableOption.column = column + dialogVisible(newVal){ + if(newVal){ + this.unqualifiedNum = null } }, }, methods:{ - changeEquipment(current,old){ - console.log(current,old) + changeName(index,row){ + this.projectList.forEach(item=>{ + if(row.name == item.name){ + this.list[index].unit = item.unit + this.list[index].required = item.required + } + }) + }, + // 纭鍥炶皟 + selectPart(param, nodePart, index) { + if (typeof param !== 'undefined') { + this.dataForm.code = param.code + this.dataForm.name = param.name + this.dataForm.formTime = param.formTime + this.dataForm.unit = param.unit + this.dataForm.specs = param.specs + this.dataForm.supplier = param.supplier + this.dataForm.number = param.number + this.dataForm.message = param.message + this.dataForm.projectName = param.projectName + this.projectList = param.rawInsProducts == null ? [] : param.rawInsProducts + param.rawInsProducts.forEach(o=>{ + this.clickAddLine(o) + }) + } + + }, + queryCode(){ + this.paramObj = { + code: this.dataForm.code + } + this.showPart = true + }, + + updateDevice(row, index) { + let rowId=JSON.stringify(row.rpId) + updateDeviceById({ deviceId: row.deviceId, rpId: row.rpId }).then(res => { + this.list.forEach(obj => { + obj.children.forEach(c=>{ + if(c.rpId==rowId){ + c.testValue = '' + c.testState = null + c.testValueList = [] + c.note='' + } + }) + }) + }).catch(error => { + console.log(error) + }) + }, + + // updateDevice(row,index){ + // if(this.dataForm.id != null){ + // updateDeviceById({deviceId:row.deviceId,rpId:row.rpId}).then(res=>{ + // this.inspectionItems.forEach(obj => { + // this.list[index-1].testValue = '' + // this.list[index-1].testState = null + // this.list[index-1].testValueList = [] + // this.list[index-1].note = '' + + // }) + // }).catch(error=>{ + // console.log(error) + // }) + // } + // }, + checkTestState(){ + let resultVal = '1' + this.list.forEach(item=>{ + if(item.children){ + if(obj.testState == 0){ + resultVal = '0' + } + } + }) + this.resultVal = resultVal + this.conclusionTable[0].testState = resultVal + sessionStorage.setItem("raw-resultVal-"+this.dataForm.id,resultVal) + }, + showDialog(){ + let size = 0 //涓嶅悎鏍奸」鐩暟閲� + this.list.forEach(item=>{ + if(item.children){ + let num = item.children.filter(e=>{ + return e.testState == 0 + }).length + size+=num + } + }) + if (size > 0) { + this.dialogVisible = true + }else{ + this.submitSave() + } + }, + //涓婃姤 + submitSave(){ + let data = { + id: this.dataForm.id, + number: this.unqualifiedNum, + } + updateRawInspectsById(data).then(res => { + if(res.data.code == 0){ + sessionStorage.setItem("raw-resultVal-"+this.dataForm.id,res.data.data) + this.$message.success("涓婃姤鎴愬姛"); + this.dialogVisible = false + } + }); + this.checkTestState() }, addTeatValueColumn(){ - let propName = 'testValue' + this.columnIndex - this.columnList.push({ - label: '妫�娴嬪��', - prop: propName, - type: 'text', - width: 260, - $cellEdit: true, - disabled: this.list[0].equiomentId == null - }) - this.columnIndex+=1 + this.empiricalValueAdd = this.empiricalValueAdd + 1; + }, + // 娣诲姞琛� + clickAddLine(row) { + let ele = { + fId: Math.random(), + father: null, + iid: Math.random(), + children:[] + } + if(row){ + ele.father = row.father?row.father:null + row.children.forEach(item => { + ele.children.push({ + deviceId: null, + deviceName: null, + iid: Math.random(), + required: item.required?item.required:null, + rpId: null, + name: item.name?item.name:null, + unit: item.unit?item.unit:null, + userName: null, + testValue: null, + testValueList: [], + note: null, + testState: null + }) + let arr = [] + item.empiricalValueAddss = arr + if (arr.length > this.empiricalValueAdd) { + this.empiricalValueAdd = arr.length + } + this.list.push(ele) + }) + }else{ + ele.children.push({ + deviceId: null, + deviceName: null, + iid: Math.random(), + required: null, + rpId: null, + name: null, + unit: null, + userName: null, + testValue: '', + testValueList: [], + note: '', + testState: '' + }) + this.list.push(ele) + } + }, delTeatValueColumn(){ - this.columnList.pop() + if (this.empiricalValueAdd - 1 === 0) { } else { + if (this.empiricalValueAddMaxNumber != this.empiricalValueAdd - 1) { + this.empiricalValueAdd = this.empiricalValueAdd - 1; + this.list.forEach(i => { + i.testValueList.splice(this.empiricalValueAdd, 1); + }); + } + } }, - updateTestValue(row){ + + updateTestValue(row,index){ + console.log(row); if(row.rpId == null){ + + return } + let val = row.testValueList.join(","); let obj = { - equiomentId: row.equipmentId, + deviceId: row.deviceId, rpId: row.rpId, - testValue: row.testValue + testValue: val, + note: row.note } updateRawInsProduct(obj).then(res=>{ if(res.data.code === 0){ @@ -295,6 +549,8 @@ this.$message.error(error) }) }, + + init(){ if(this.dataForm.id){ getObj(this.dataForm.id).then(res=>{ @@ -306,74 +562,186 @@ this.dataForm.unit = data.runit this.dataForm.supplier = data.supplier this.dataForm.number = data.number + this.dataForm.projectName = data.projectName this.dataForm.createTime = data.creatTime this.dataForm.createUser = data.createUser let userNameList = [] this.list = [] - data.children.forEach(item=>{ - userNameList.push(item.userName) - this.list.push({ - equipmentId: item.equiomentId, - name: item.rpName, - required: item.required, - testValue: item.testValue, - unit: item.rpUnit, - testState: item.testState, - rpId: item.rpId - }) + data.children.forEach(item => { + if (item.children) { + let ele = { + iid: null, + father: null, + children: [] + } + ele.iid = Math.random() + ele.father = item.rpFather + item.children.forEach(obj => { + if(obj.userName){ + userNameList.push(obj.userName) + } + let arr= [] + + if(obj.testValue){ + arr = obj.testValue.split(",") + } + + let o = { + deviceId: obj.deviceId, + deviceName: obj.deviceName, + iid: Math.random(), + required: obj.required, + rpId: obj.rpId, + name: obj.rpName, + unit: obj.rpUnit, + userName: obj.userName, + testValue: obj.testValue?obj.testValue:'', + testValueList: arr, + note: obj.note?obj.note:'', + testState: obj.testState + } + ele.children.push(o) + }) + this.list.push(ele) + } }) this.conclusionTable = [{ code: data.code, name: data.name, userName: Array.from(new Set(userNameList)).join(','), - testState: '' + testState: this.resultVal==null?null:this.resultVal }] }).catch(error=>{ this.$message.error("鑾峰彇澶辫触",error) }) }else{ this.conclusionTable = [] - this.tableOption.column = object.column } }, + changeState(row, index) { + console.log(row) + if (row.rpId != null && row.rpId != '') { + let val = "" + row.testValueList.forEach(e => { + val += e + "," + }) + + // if (note === undefined || note === '' || note === null) { + // return + // } + console.log(val) + val = val.slice(0, -1); + if (val === undefined || val === '' || val === null) { + return + } + + + let obj = { + deviceId: row.deviceId, + rpId: row.rpId, + testValue: val, + note: row.note + + } + console.log(obj) + updateRawInsProduct(obj).then(res => { + if (res.data.code == 0) { + this.$message.success("鏇存柊鎴愬姛") + } else { + this.$message.error("鏇存柊澶辫触") + } + this.init() + }) + } + }, + + + + // 鍒犻櫎瀛愰」鐩� + delChildren(row,index,isParent) { + if(isParent){ + let parentIndex = this.list.findIndex(el =>{ + return el.iid == row.iid + }) + this.list.splice(parentIndex,1) + }else{ + let i = this.list.findIndex(el =>{ + return el.children.find(ele => ele.iid == row.iid) + }) + let childrenIndex = this.list[i].children.findIndex(el =>{ + return el.iid == row.iid + }) + this.list[i].children.splice(childrenIndex,1) + } + }, + //娣诲姞瀛愰」鐩� + addChildren(row){ + console.log(row); + let obj = { + deviceId: null, + deviceName: null, + iid: Math.random(), + required: null, + rpId: null, + name: null, + unit: null, + userName: null, + testValue: null, + testValueList: [], + note: null, + testState: null + } + row.children.push(obj) + }, save(){ + let data = this.dataForm + console.log('--------',data); + console.log("-----",this.list); + this.list.forEach(item=>{ + item.children.forEach(c=>{ + let arr=c.testValueList + let val='' + arr.forEach(a=>{ + val+=a+"," + }) + let end=val.substring(0,val.length-1) + c.testValue=end + }) + }) data.rawInsProducts = this.list - console.log(this.list) - return addRawInspects(data).then(res=>{ this.$message.success("淇濆瓨鎴愬姛") + this.$router.go(-1) }).catch(error=>{ this.$message.error(error) }) }, - // 娣诲姞琛� - clickAddLine() { - let obj = { - $cellEdit: true, - equipmentId: null, - name: "", - required: "", - testValue: "", - unit: "" - }; - this.list.push(obj); - }, getDeviceList(){ - selectDevice(null).then(res=>{ + selectDevice().then(res=>{ this.deviceList = res.data.data }) }, }, - computed:{}, - components:{} } </script> <style> .rawMaterial-detail { width: 100%; - height: 400px; + height: 470px; + padding: 10px 20px; + display: flex; + border: 1px solid #ddd; + background-color: #fff; + margin-top: 10px; + box-sizing: border-box; + flex-wrap: wrap; +} + +.rawMaterial-result { + width: 100%; + height: 150px; padding: 10px 20px; display: flex; border: 1px solid #ddd; @@ -385,7 +753,7 @@ .rawMaterial-basic { background-color: #fff; - height: 150px; + height: 155px; display: flex; flex-wrap: wrap; padding: 10px 20px; -- Gitblit v1.9.3