From 62a8027a631f0d43056807657e7bdcca96abcc86 Mon Sep 17 00:00:00 2001 From: 王震 <10952869+daywangzhen@user.noreply.gitee.com> Date: 星期三, 08 十一月 2023 19:34:55 +0800 Subject: [PATCH] modified: src/api/quality/rawMaterial.js modified: src/views/quality/finishedProductInspection/finishedProduct-form.vue modified: src/views/quality/processInspect/processInspect-form.vue modified: src/views/quality/rawMaterial/rawMaterial-form.vue modified: vue.config.js --- src/views/quality/rawMaterial/rawMaterial-form.vue | 404 +++++++++++++++++++++++++++++++++++++++++++-------------- 1 files changed, 306 insertions(+), 98 deletions(-) diff --git a/src/views/quality/rawMaterial/rawMaterial-form.vue b/src/views/quality/rawMaterial/rawMaterial-form.vue index 400e09e..c06473a 100644 --- a/src/views/quality/rawMaterial/rawMaterial-form.vue +++ b/src/views/quality/rawMaterial/rawMaterial-form.vue @@ -96,12 +96,18 @@ </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-if="dataForm.id==null" size="small" @click="clickAddLine">娣诲姞妫�楠岃</el-button> + <el-col :span="12" > + <el-button v-if="dataForm.id==null" icon="el-icon-plus" type="primary" size="small" @click="increase">娣诲姞妫�楠岄」鐩�</el-button> + </el-col> + <!-- <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 +115,101 @@ </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" :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" + <div v-if="!scope.row.children"> + <!-- <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" + </el-select> --> + <el-input class="inline-input" 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" > <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="dataForm.id != null" + v-model="scope.row.testValueList" + placeholder="璇疯緭鍏ユ娴嬪��"></el-input> --> - <!-- <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-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 == null || (dataForm.id!=null&&resultVal!=null)" + v-model="scope.row.testValueList" + 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" + 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"> + <div v-if="!scope.row.children"> <el-select :disabled="resultVal!=null && dataForm.id!=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 +219,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 +295,15 @@ }, data(){ return{ + dataVal: [{ + label: '鏄�', + value: '鏄�' + }, { + label: '鍚�', + value: '鍚�' + }], + // componentData:{}, + userdata:[], currentRow:[], userlist:[], unqualifiedNum: null, @@ -287,6 +331,7 @@ supplier: '', rawInsProducts: [{ deviceId: 0, + father:'', name: '', required: '', testValue: '', @@ -326,6 +371,7 @@ this.restaurants = this.loadAll(); console.log(this.dataForm); + }, watch:{ dialogVisible(newVal){ @@ -336,25 +382,28 @@ }, methods:{ + increase(){ + + }, 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 +414,7 @@ }, // 纭鍥炶皟 selectPart(param, nodePart, index) { + console.log(param) if (typeof param !== 'undefined') { this.dataForm.code = param.code this.dataForm.name = param.name @@ -376,10 +426,35 @@ 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(item => { + // item.iid = Math.random() + // if (item.children != undefined) { + // item.children.forEach(obj => { + // let arr = [] + // if (obj.userName) { + // userNameList.push(obj.userName) + // } + // if (obj.inspectionValue) { + // arr = obj.inspectionValue.split(",") + // } + // obj.empiricalValueAddss = arr + // if (arr.length > this.empiricalValueAdd) { + // this.empiricalValueAdd = arr.length + // } + // }) + // } + // }) + // this.list.push( param.rawInsProducts) param.rawInsProducts.forEach(o=>{ this.clickAddLine(o) }) } + }, queryCode(){ this.paramObj = { @@ -442,25 +517,52 @@ }, // 娣诲姞琛� clickAddLine(row) { + console.log(row); + // console.log(row.children[0]); + // this.componentData = row; + let obj = { - deviceId: null, - name: "", - required: "", - testValue: "", - unit: "", - testState: null, + father:null, + // componentData.deviceId: null, + // name: "", + // required: "", + // testValue: "", + // unit: "", + // testState: null, + children:[], testValueList: [], }; - if(row!=undefined){ - obj.name = row.name - obj.unit = row.unit - obj.required = row.required - } - this.list.push(obj); - }, - // 鍒犻櫎琛� - clickDeleteline(scope) { - this.list.splice(scope.$index, 1); + let userNameList = [] + row.children.forEach(item => { + item.iid = Math.random() + if (item.children != undefined) { + item.children.forEach(obj => { + let arr = [] + if (obj.userName) { + userNameList.push(obj.userName) + } + if (obj.inspectionValue) { + arr = obj.inspectionValue.split(",") + } + obj.empiricalValueAddss = arr + if (arr.length > this.empiricalValueAdd) { + this.empiricalValueAdd = arr.length + } + }) + } + }) + + console.log(this.list); + + // this.list = row.children + this.list.push(row) + // console.log(this.list); + // if(row!=undef.list){ + // obj.name = row.children.name + // obj.unit = row.children.unit + // obj.required = row.children.required + // } + // this.list.push(obj) }, delTeatValueColumn(){ if (this.empiricalValueAdd - 1 === 0) { } else { @@ -495,6 +597,8 @@ 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,33 +612,80 @@ 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 - } - } - 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, - userName: Array.from(new Set(userNameList)).join(','), - testState: this.resultVal==null?null:this.resultVal - }] + // 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 + // } + // } + // this.userdata = item.children[0]; + // console.log(this.userdata); + // this.list.push({ + // father: item.rpFather, + // note: this.userdata.note, + // deviceId: this.userdata.deviceId, + // deviceName: this.userdata.deviceName, + // name: this.userdata.rpName, + // required: this.userdata.required, + // testValue: this.userdata.testValue, + // unit: this.userdata.rpUnit, + // testState: this.userdata.testState, + // rpId: this.userdata.rpId, + // testValueList: arr + // }) + // }) + console.log("======================="); + console.log(data.children); + // data.children.forEach(item => { + // item.iid = Math.random() + // if (item.children != undefined) { + // item.children.forEach(obj => { + // console.log(obj); + // obj.ild = Math.random() + // // let arr = [] + // // if (obj.userName) { + // // userNameList.push(obj.userName) + // // } + // // if (obj.inspectionValue) { + // // arr = obj.inspectionValue.split(",") + // // } + // // obj.empiricalValueAddss = arr + // // if (arr.length > this.empiricalValueAdd) { + // // this.empiricalValueAdd = arr.length + // // } + // }) + // } + // }) + console.log(data.children); + // this.userdata = data.children + + // this.list.push({ + // father: item.rpFather, + // note: this.userdata.note, + // deviceId: this.userdata.deviceId, + // deviceName: this.userdata.deviceName, + // name: this.userdata.rpName, + // required: this.userdata.required, + // testValue: this.userdata.testValue, + // unit: this.userdata.rpUnit, + // testState: this.userdata.testState, + // rpId: this.userdata.rpId, + // testValueList: arr + // }) + // }) + // console.log(this.list); + // this.userdata = data.children + this.list.push(data.children ) + console.log( this.list); + this.conclusionTable = [{ + code: data.code, + name: data.name, + userName: Array.from(new Set(userNameList)).join(','), + testState: this.resultVal==null?null:this.resultVal + }] }).catch(error=>{ this.$message.error("鑾峰彇澶辫触",error) }) @@ -542,18 +693,75 @@ 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(55555); + 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) + } + }, + increase(){ + let obj = { + iid:Math.random(), + father:'', + children:[ + { + iid:Math.random(), + name:'', + required:'', + unit:'' + } + ] + } + this.list.push(obj) + }, + 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