From 5710f6d9a5ac5998d8368bec99b41c58fa3c4ab2 Mon Sep 17 00:00:00 2001 From: 86134 <aa> Date: 星期四, 09 十一月 2023 09:21:08 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/master' --- src/views/quality/rawMaterial/rawMaterial-form.vue | 322 +++++++++++++++++++++++++++++++++++++---------------- 1 files changed, 222 insertions(+), 100 deletions(-) diff --git a/src/views/quality/rawMaterial/rawMaterial-form.vue b/src/views/quality/rawMaterial/rawMaterial-form.vue index 400e09e..ec6ec28 100644 --- a/src/views/quality/rawMaterial/rawMaterial-form.vue +++ b/src/views/quality/rawMaterial/rawMaterial-form.vue @@ -96,12 +96,15 @@ </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"> + <el-col :span="18">妫�楠岄」鐩�</el-col> + <el-col :span="6"> <div style="width:100%;text-align: right;"> - <el-button v-if="dataForm.id==null" size="small" @click="clickAddLine">娣诲姞妫�楠岃</el-button> + <el-button v-if="dataForm.id==null" size="small" @click="clickAddLine()">娣诲姞妫�楠岄」鐩�</el-button> <el-button v-if="resultVal==null || dataForm.id==null" size="small" @click="addTeatValueColumn()">娣诲姞妫�娴嬪�煎垪</el-button> <el-button v-if="resultVal==null || dataForm.id==null" size="small" @click="delTeatValueColumn()">鍒犻櫎妫�娴嬪�煎垪</el-button> </div> @@ -109,77 +112,90 @@ </el-row> <el-row style="width:100%;"> <el-col :span="24"> - <el-table :header-cell-style="{textAlign:'center',color:'black',backgroundColor:'#fafafa'}" - :cell-style="{textAlign:'center'}" ref="table" - :data="list" border style="width: 100%;" height="400"> + <el-table + :header-cell-style="{textAlign:'center',color:'black',backgroundColor:'#fafafa'}" + :cell-style="{textAlign:'center'}" + ref="table" + :data="list" + 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 :disabled="dataForm.id != null" v-model="scope.row.father" placeholder="璇疯緭鍏ユ楠岄」鐩�"></el-input> - </template> - </el-table-column> - <el-table-column prop="note" label="妫�楠屾弿杩�" width="260"> - <template slot-scope="scope"> - <el-input :disabled="dataForm.id != null" v-model="scope.row.note" placeholder="妫�楠屾弿杩�"></el-input> + <el-input v-if="scope.row.children" style="width:120px" :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"> - <el-select v-if="projectList.length > 0" :disabled="dataForm.id != null" class="inline-input" v-model="scope.row.name" - filterable allow-create placeholder="璇疯緭鍏ユ垨閫夋嫨椤圭洰鍚嶇О" style="width:100%" @change="changeName(scope.$index,scope.row)"> - <el-option v-for="(item,index) in projectList" :key="index" :label="item.name" :value="item.name"/> - </el-select> - <el-input v-else :disabled="dataForm.id != null" class="inline-input" v-model="scope.row.name" + <div v-if="!scope.row.children"> + <el-input class="inline-input" :disabled="dataForm.id!=null" v-model="scope.row.name" placeholder="璇疯緭鍏ラ」鐩悕绉�"></el-input> - </template> + </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"> + <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-input :disabled="scope.row.equipmentId == null || (dataForm.id!=null&&resultVal!=null)" v-model="scope.row.testValueList[index]" - @blur="updateTestValue(scope.row,index)" placeholder="璇疯緭鍏ユ娴嬪��"></el-input> --> - - <el-autocomplete - style="width:100%" - :disabled="scope.row.deviceId == null || (dataForm.id!=null&&resultVal!=null)" - class="inline-input" - v-model="scope.row.testValueList[index]" - :fetch-suggestions="querySearch" - placeholder="璇疯緭鍏ユ娴嬪��" - @select="handleSelect" - ></el-autocomplete> - + <el-col v-if="scope.row.itype === '1'"> + <el-input :disabled="scope.row.deviceId == '' || (dataForm.id!=null&&resultVal!=null)" + v-model="scope.row.testValueList[index]" + placeholder="璇疯緭鍏ユ娴嬪��"></el-input> + </el-col> + <el-col v-else> + <el-select style="width: 100%;" + :disabled="scope.row.deviceId == null || (dataForm.id!=null&&resultVal!=null)" + v-model="scope.row.testValueList[index]" @change="aaa(scope.row)" + placeholder="璇烽�夋嫨"> + <el-option v-for="item in dataVal" :key="item.value" :label="item.label" + :value="item.value"> + </el-option> + </el-select> + </el-col> </el-tooltip> + </div> </template> </el-table-column> - <el-table-column prop="deviceName" label="璇曢獙璁惧" min-width="260"> <template slot-scope="scope"> - <el-select :disabled="resultVal!=null && dataForm.id!=null" style="width:100%" + <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 :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"> <span v-if="scope.row.testState == 0" style="color:#F56C6C">涓嶅悎鏍�</span> @@ -189,13 +205,18 @@ </el-table-column> <el-table-column fixed="right" style="background-color: white;" v-if="dataForm.id == null" label="鎿嶄綔" width="150"> <template slot-scope="scope"> - <el-button type="text" @click="clickDeleteline(scope)">鍙栨秷</el-button> + <div v-if="!scope.row.children"> + <el-button type="text" @click="addwaydata(scope)">鏂板</el-button> + <el-button type="text" @click="clickDeleteline(scope)">鍙栨秷</el-button> + </div> </template> </el-table-column> </el-table> </el-col> </el-row> </div> + + <div class="rawMaterial-result"> <el-row> <el-col :span="24">妫�楠岀粨璁�</el-col> @@ -260,6 +281,15 @@ }, data(){ return{ + dataVal: [{ + label: '鏄�', + value: '鏄�' + }, { + label: '鍚�', + value: '鍚�' + }], + // componentData:{}, + userdata:[], currentRow:[], userlist:[], unqualifiedNum: null, @@ -287,6 +317,7 @@ supplier: '', rawInsProducts: [{ deviceId: 0, + father:'', name: '', required: '', testValue: '', @@ -326,6 +357,7 @@ this.restaurants = this.loadAll(); console.log(this.dataForm); + }, watch:{ dialogVisible(newVal){ @@ -339,22 +371,21 @@ querySearch(queryString, cb) { var restaurants = this.restaurants; var results = queryString ? restaurants.filter(this.createFilter(queryString)) : restaurants; - cb(results); }, - createFilter(queryString) { - return (restaurant) => { - return (restaurant.value.toLowerCase().indexOf(queryString.toLowerCase()) === 0); - }; - }, - loadAll(){ - return [ - {"value":"鏄�"}, - {"value":"鍚�"} - ];}, - handleSelect(item) { - console.log(item); - }, + // createFilter(queryString) { + // return (restaurant) => { + // return (restaurant.value.toLowerCase().indexOf(queryString.toLowerCase()) === 0); + // }; + // }, + // loadAll(){ + // return [ + // {"value":"鏄�"}, + // {"value":"鍚�"} + // ];}, + // handleSelect(item) { + // console.log(item); + // }, changeName(index,row){ this.projectList.forEach(item=>{ if(row.name == item.name){ @@ -365,6 +396,7 @@ }, // 纭鍥炶皟 selectPart(param, nodePart, index) { + console.log(param) if (typeof param !== 'undefined') { this.dataForm.code = param.code this.dataForm.name = param.name @@ -376,10 +408,16 @@ this.dataForm.message = param.message this.dataForm.projectName = param.projectName this.projectList = param.rawInsProducts == null ? [] : param.rawInsProducts + console.log(param.rawInsProducts); + param.rawInsProducts.forEach(item =>{ + item.iid = Math.random() + console.log(item); + }) param.rawInsProducts.forEach(o=>{ this.clickAddLine(o) }) } + }, queryCode(){ this.paramObj = { @@ -388,6 +426,8 @@ this.showPart = true }, updateDevice(row,index){ + console.log(row); + return if(this.dataForm.id != null){ updateDeviceById({deviceId:row.deviceId,rpId:row.rpId}).then(res=>{ this.list[index].testValue = '' @@ -410,6 +450,9 @@ this.resultVal = resultVal this.conclusionTable[0].testState = resultVal sessionStorage.setItem("raw-resultVal-"+this.dataForm.id,resultVal) + }, + aaa(row){ + console.log(row); }, showDialog(){ let pro = this.list.filter(item => { @@ -442,25 +485,49 @@ }, // 娣诲姞琛� clickAddLine(row) { - let obj = { - deviceId: null, - name: "", - required: "", - testValue: "", - unit: "", - testState: null, - testValueList: [], - }; - if(row!=undefined){ - obj.name = row.name - obj.unit = row.unit - obj.required = row.required + if(row){ + let userNameList = [] + row.children.forEach(item => { + console.log("item--",item); + item.iid = Math.random() + let arr = [] + item.testValue = '' + item.testValueList= [] + if (item.userName) { + userNameList.push(item.userName) + } + if (item.inspectionValue) { + arr = item.inspectionValue.split(",") + } + item.empiricalValueAddss = arr + if (arr.length > this.empiricalValueAdd) { + this.empiricalValueAdd = arr.length + } + console.log("aaaa----",row); + this.list.push(row) + }) + }else{ + let ele = { + father: '', + iid: Math.random(), + children:[{ + deviceId: null, + deviceName: null, + iid: Math.random(), + required: null, + rpId: null, + name: null, + unit: null, + userName: null, + testValue: null, + testValueList: [], + note: null, + testState: null + }] + } + this.list.push(ele) } - this.list.push(obj); - }, - // 鍒犻櫎琛� - clickDeleteline(scope) { - this.list.splice(scope.$index, 1); + }, delTeatValueColumn(){ if (this.empiricalValueAdd - 1 === 0) { } else { @@ -495,6 +562,7 @@ init(){ if(this.dataForm.id){ getObj(this.dataForm.id).then(res=>{ + console.log(res); let data = res.data.data this.dataForm.name = data.name this.dataForm.formTime = data.formTime @@ -508,27 +576,40 @@ this.dataForm.createUser = data.createUser let userNameList = [] this.list = [] - data.children.forEach(item=>{ - userNameList.push(item.userName) - let arr = [] - if(item.testValue != undefined ){ - arr = item.testValue.split(",") - if(arr.length > this.empiricalValueAdd){ - this.empiricalValueAdd = arr.length + 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 => { + console.log(obj); + 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.list.push({ - deviceId: item.deviceId, - deviceName: item.deviceName, - name: item.rpName, - required: item.required, - testValue: item.testValue, - unit: item.rpUnit, - testState: item.testState, - rpId: item.rpId, - testValueList: arr - }) - }) + }) this.conclusionTable = [{ code: data.code, name: data.name, @@ -542,18 +623,59 @@ this.conclusionTable = [] } }, - save(){ - let data = this.dataForm - data.rawInsProducts = this.list - data.rawInsProducts.forEach(item=>{ - let val = item.testValueList.join(",") - item.testValue = val + // 鍒犻櫎琛� + clickDeleteline(scope) { + console.log(scope); + let index = this.list.findIndex(el =>{ + return el.children.find(ele => ele.iid == scope.row.iid) }) + + let childrenIndex = this.list[index].children.findIndex(el => { + return el.iid == scope.row.iid + }) + // console.log(this.list); + console.log(index); + console.log(childrenIndex); + + this.list[index].children.splice(childrenIndex , 1); + if(childrenIndex == 0){ + this.list.splice(scope.row,1) + } + }, + addwaydata(row){ + console.log(row.row); + let index = this.list.findIndex(el =>{ + return el.children.find(ele => ele.iid == row.row.iid) + }) + console.log(index); + let obj = { + iid:Math.random(), + name:'', + required:'', + unit:'' + } + this.list[index].children.push(obj) + }, + save(){ + console.log(this.dataForm); + let data = this.dataForm + console.log(data); + console.log(this.list); + data.rawInsProducts = this.list + // console.log(data.rawInsProducts); + // data.rawInsProducts.forEach(item=>{ + // console.log(item); + // let val = item.testValueList.join(",") + // item.testValue = val + // console.log(item.testValue); + // }) + // console.log(data); + console.log('=====>'); addRawInspects(data).then(res=>{ - this.$message.success("淇濆瓨鎴愬姛") + // this.$message.success("淇濆瓨鎴愬姛") this.$router.go(-1) }).catch(error=>{ - this.$message.error(error) + // this.$message.error(error||'error') }) }, getDeviceList(){ -- Gitblit v1.9.3