From 62691f7fd5a5a495c38f4f17befa053bf61192b1 Mon Sep 17 00:00:00 2001 From: 86134 <aa> Date: 星期四, 09 十一月 2023 09:52:41 +0800 Subject: [PATCH] 11 --- src/views/quality/rawMaterial/rawMaterial-form.vue | 352 ++++++++++++++++++++++++++++++++++++++++++++------------- 1 files changed, 269 insertions(+), 83 deletions(-) diff --git a/src/views/quality/rawMaterial/rawMaterial-form.vue b/src/views/quality/rawMaterial/rawMaterial-form.vue index bed230b..ec6ec28 100644 --- a/src/views/quality/rawMaterial/rawMaterial-form.vue +++ b/src/views/quality/rawMaterial/rawMaterial-form.vue @@ -75,12 +75,19 @@ </el-form-item> </el-col> <el-col :span="6"> + <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-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-row> - <el-row> + </el-col> <el-col :span="6"> <el-form-item label="鎶ユ浜�" prop="createUser" v-if="dataForm.id!=null"> <el-input v-model="dataForm.createUser" disabled /> @@ -89,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> @@ -102,49 +112,88 @@ </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 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"> - <el-tooltip :disabled="scope.row.equipmentId != null" class="item" effect="dark" content="璇峰厛閫夋嫨璁惧锛�" + <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-tooltip> + <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%" - v-model="scope.row.equipmentId" filterable @change="updateDevice(scope.row,scope.$index)"> + <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.number +'-'+ item.name"></el-option> + :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"> @@ -156,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> @@ -201,10 +255,6 @@ <span>涓嶅悎鏍兼暟閲�:</span> <el-input type="number" v-model="unqualifiedNum" placeholder="璇疯緭鍏ヤ笉鍚堟牸鏁伴噺"/> </el-col> - <el-col> - <span>瀹炴鏁伴噺:</span> - <el-input type="number" placeholder="璇疯緭鍏ュ疄妫�鏁伴噺" v-model="fiedNum"/> - </el-col> </el-row> <span slot="footer" class="dialog-footer"> <el-button @click="dialogVisible = false">鍙� 娑�</el-button> @@ -224,13 +274,24 @@ updateDeviceById, } from '@/api/quality/rawMaterial' import rawMaterialPartDialog from '@/views/common/rawMaterial-part' export default { + // props:['currentRow'], computed:{}, components:{ rawMaterialPartDialog }, data(){ return{ - fiedNum: null, + dataVal: [{ + label: '鏄�', + value: '鏄�' + }, { + label: '鍚�', + value: '鍚�' + }], + // componentData:{}, + userdata:[], + currentRow:[], + userlist:[], unqualifiedNum: null, dialogVisible:false, resultVal: null, @@ -249,13 +310,14 @@ formTime: '', message: '', name: '', - code: '88.118.1/A0487643', + code: '88.118.1/A0498220', specs: '', unit: '', number: '', supplier: '', rawInsProducts: [{ - equipmentId: 0, + deviceId: 0, + father:'', name: '', required: '', testValue: '', @@ -274,6 +336,8 @@ }], dataRule: {}, deviceList: [], + restaurants:[], + whetherNot:'', } }, beforeUpdate(){ @@ -290,16 +354,38 @@ } this.init() this.getDeviceList() + this.restaurants = this.loadAll(); + + console.log(this.dataForm); + }, watch:{ dialogVisible(newVal){ if(newVal){ this.unqualifiedNum = null - this.fiedNum = null } - } + }, + }, methods:{ + 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); + // }, changeName(index,row){ this.projectList.forEach(item=>{ if(row.name == item.name){ @@ -310,6 +396,7 @@ }, // 纭鍥炶皟 selectPart(param, nodePart, index) { + console.log(param) if (typeof param !== 'undefined') { this.dataForm.code = param.code this.dataForm.name = param.name @@ -319,8 +406,18 @@ 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 + 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 = { @@ -329,8 +426,10 @@ this.showPart = true }, updateDevice(row,index){ + console.log(row); + return if(this.dataForm.id != null){ - updateDeviceById({equiomentId:row.equipmentId,rpId:row.rpId}).then(res=>{ + updateDeviceById({deviceId:row.deviceId,rpId:row.rpId}).then(res=>{ this.list[index].testValue = '' this.list[index].testState = null this.list[index].testValueList = [] @@ -352,6 +451,9 @@ 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 => { return item.testState == 0; @@ -367,36 +469,65 @@ let data = { id: this.dataForm.id, number: this.unqualifiedNum, - toLocationNo: this.fiedNum + // toLocationNo: this.fiedNum } 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() } }); - this.checkTestState() }, addTeatValueColumn(){ this.empiricalValueAdd = this.empiricalValueAdd + 1; }, // 娣诲姞琛� - clickAddLine() { - let obj = { - equipmentId: null, - name: "", - required: "", - testValue: "", - unit: "", - testState: null, - testValueList: [], - }; - this.list.push(obj); - }, - // 鍒犻櫎琛� - clickDeleteline(scope) { - this.list.splice(scope.$index, 1); + clickAddLine(row) { + 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) + } + }, delTeatValueColumn(){ if (this.empiricalValueAdd - 1 === 0) { } else { @@ -413,7 +544,7 @@ return } let obj = { - equiomentId: row.equipmentId, + deviceId: row.deviceId, rpId: row.rpId, testValue: row.testValueList.join(",") } @@ -431,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 @@ -439,32 +571,45 @@ 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 - // this.dataForm.judgeState = data.judgeState 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({ - equipmentId: item.equiomentId, - 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, @@ -478,22 +623,63 @@ 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(){ - selectDevice(null).then(res=>{ + selectDevice().then(res=>{ this.deviceList = res.data.data }) }, -- Gitblit v1.9.3