From c14f9d834217ee0ec378b7a1f198951a6975f536 Mon Sep 17 00:00:00 2001 From: licp <lichunping@guanfang.com.cn> Date: 星期五, 12 四月 2024 10:58:00 +0800 Subject: [PATCH] 前端优化 --- src/views/quality/rawMaterial/rawMaterial-form.vue | 87 ++++++++--------- src/api/quality/processInspect.js | 8 + vue.config.js | 4 src/views/technology/routing/routing-form.vue | 85 +++++++++++----- src/api/quality/rawMaterial.js | 8 + src/views/common/operation.vue | 6 + src/views/quality/processInspect/processInspect-form.vue | 79 +++++++++++---- 7 files changed, 178 insertions(+), 99 deletions(-) diff --git a/src/api/quality/processInspect.js b/src/api/quality/processInspect.js index db18d8e..447d7c2 100644 --- a/src/api/quality/processInspect.js +++ b/src/api/quality/processInspect.js @@ -79,6 +79,14 @@ }) } +export function updateProcessInsProduct2(obj) { + return request({ + url: '/mes/qualityProcessInsProduct/updateprocessInsProduct2', + method: 'post', + data: obj + }) +} + export function selectDevice() { return request({ url: '/mes/qualityProcessInsProduct/selectDevice', diff --git a/src/api/quality/rawMaterial.js b/src/api/quality/rawMaterial.js index 63affd8..329d639 100644 --- a/src/api/quality/rawMaterial.js +++ b/src/api/quality/rawMaterial.js @@ -137,3 +137,11 @@ }) } +export function updateRawInsProduct2(data) { + return request({ + url: '/mes/rawInsProduct/updaterawInsProduct2', + method: 'post', + data: data + }) + } + diff --git a/src/views/common/operation.vue b/src/views/common/operation.vue index 04d1faa..85af14d 100644 --- a/src/views/common/operation.vue +++ b/src/views/common/operation.vue @@ -187,6 +187,9 @@ components: { ttable }, + mounted(){ + this.options.multiSelect = this.multiSelect + }, methods: { saveSelectRow() { if (this.multiSelect) { @@ -228,6 +231,9 @@ this.getData() }) } + }, + multiSelect(){ + this.options.multiSelect = this.multiSelect } } } diff --git a/src/views/quality/processInspect/processInspect-form.vue b/src/views/quality/processInspect/processInspect-form.vue index 99272dd..012c095 100644 --- a/src/views/quality/processInspect/processInspect-form.vue +++ b/src/views/quality/processInspect/processInspect-form.vue @@ -110,6 +110,10 @@ <el-tab-pane label="妫�楠岄」鐩�"> <el-row> <el-col v-if="resultVal == null" :span="24" class="inspectionProject_span" style="text-align: right;"> + <el-button size="small" + type="primary" + v-if="inspectionItems&&inspectionItems.length>0" + @click="saveTable()">淇濆瓨</el-button> <el-button size="mini" @click="clickAddInspectionColumn()">娣诲姞妫�娴嬪�煎垪</el-button> <el-button size="mini" @click="clickDeleteInspectionColumn()">鍒犻櫎妫�娴嬪�煎垪</el-button> </el-col> @@ -350,6 +354,7 @@ queryById, updateDeviceBypppId, updateProcessInsProduct, + updateProcessInsProduct2, updateProcessInspectsById, } from '@/api/quality/processInspect' import { @@ -443,6 +448,32 @@ this.init() }, methods: { + saveTable(){ + let processInsProduct = []; + this.inspectionItems.forEach((item) => { + if(item.children&&item.children.length>0){ + item.children.forEach((child)=>{ + let obj = {} + obj.id = child.iid; + obj.eId = child.ieId; + obj.note = child.inote; + obj.inspectionValue = child.empiricalValueAddss.join(','); + obj.required = child.required; + processInsProduct.push(obj) + }) + } + }) + if(processInsProduct.length>0){ + updateProcessInsProduct2(processInsProduct).then(res => { + if (res.data.code == 0) { + this.$message.success("鏇存柊鎴愬姛") + } else { + this.$message.error("鏇存柊澶辫触") + } + this.init() + }) + } + }, delProcessConfigFile(row) { this.$confirm('鏄惁鍒犻櫎璇ラ檮浠�', '鎻愮ず', { confirmButtonText: '纭畾', @@ -711,30 +742,30 @@ return } } - if (row.iid != null && row.iid != '') { - let str = "" - row.empiricalValueAddss.forEach(e => { - str += e + "," - }) - str = str.slice(0, -1); - if (str === undefined || str === '' || str === null) { - return - } - let obj = { - devideId: row.eId, - ppid: row.iid, - inspectionValue: str, - note : row.inote - } - updateProcessInsProduct(obj).then(res => { - if (res.data.code == 0) { - this.$message.success("鏇存柊鎴愬姛") - } else { - this.$message.error("鏇存柊澶辫触") - } - this.init() - }) - } + // if (row.iid != null && row.iid != '') { + // let str = "" + // row.empiricalValueAddss.forEach(e => { + // str += e + "," + // }) + // str = str.slice(0, -1); + // if (str === undefined || str === '' || str === null) { + // return + // } + // let obj = { + // devideId: row.eId, + // ppid: row.iid, + // inspectionValue: str, + // note : row.inote + // } + // updateProcessInsProduct(obj).then(res => { + // if (res.data.code == 0) { + // this.$message.success("鏇存柊鎴愬姛") + // } else { + // this.$message.error("鏇存柊澶辫触") + // } + // this.init() + // }) + // } }, addTestProject() { let val = this.processInspectVo diff --git a/src/views/quality/rawMaterial/rawMaterial-form.vue b/src/views/quality/rawMaterial/rawMaterial-form.vue index 074517c..d7354ef 100644 --- a/src/views/quality/rawMaterial/rawMaterial-form.vue +++ b/src/views/quality/rawMaterial/rawMaterial-form.vue @@ -129,7 +129,7 @@ <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="resultVal==null || dataForm.id==null" size="small" + <el-button v-if="dataForm.id&&resultVal==null" size="small" type="primary" @click="saveTable()">淇濆瓨</el-button> <el-button v-if="dataForm.id==null" size="small" @click="clickAddLine()">娣诲姞妫�楠岄」鐩�</el-button> @@ -149,8 +149,6 @@ height="400" row-key="iid" default-expand-all - highlight-current-row - @row-click="handleTable" :tree-props="{children: 'children', hasChildren: 'hasChildren'}"> <el-table-column type="index" prop="parentIndex" label="搴忓彿" width="60"> <template scope="scope"> @@ -159,13 +157,13 @@ </el-table-column> <el-table-column prop="father" label="妫�楠岄」鐩�" width="160"> <template slot-scope="scope"> - <el-input v-if="scope.row.children" style="width:80%" :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&&(resultVal!=null && resultVal!='')" v-model="scope.row.father" placeholder="璇疯緭鍏ユ楠岄」鐩�"></el-input> </template> </el-table-column> <el-table-column prop="name" label="椤圭洰" width="160"> <template slot-scope="scope"> <div v-if="!scope.row.children"> - <el-input class="inline-input" :disabled="dataForm.id!=null" v-model="scope.row.name" + <el-input class="inline-input" :disabled="dataForm.id!=null&&(resultVal!=null && resultVal!='')" v-model="scope.row.name" placeholder="璇疯緭鍏ラ」鐩悕绉�"></el-input> </div> </template> @@ -173,7 +171,7 @@ <el-table-column prop="unit" label="鍗曚綅" width="160"> <template slot-scope="scope"> <div v-if="!scope.row.children"> - <el-input :disabled="dataForm.id != null" v-model="scope.row.unit" placeholder="璇疯緭鍏ュ崟浣�"></el-input> + <el-input :disabled="dataForm.id!=null&&(resultVal!=null && resultVal!='')" v-model="scope.row.unit" placeholder="璇疯緭鍏ュ崟浣�"></el-input> </div> </template> @@ -181,7 +179,7 @@ <el-table-column prop="required" label="鏍囧噯鍊�" width="160"> <template slot-scope="scope"> <div v-if="!scope.row.children"> - <el-input :disabled="dataForm.id != null" v-model="scope.row.required" + <el-input :disabled="dataForm.id!=null&&(resultVal!=null && resultVal!='')" v-model="scope.row.required" placeholder="璇疯緭鍏ユ爣鍑嗗��"></el-input> </div> </template> @@ -412,6 +410,7 @@ getObj, updateRawInsProduct, updateRawInspectsById, + updateRawInsProduct2, updateDeviceById, chooseIFS} from '@/api/quality/rawMaterial' import { getProcessConfigFiles, @@ -495,7 +494,6 @@ // startTime: [{ required: true, message: '璇烽�夋嫨鎶ユ鏃ユ湡', trigger: 'blur' }] }, deviceList: [], - currentTable:null } }, beforeUpdate(){ @@ -704,7 +702,6 @@ if(res.data.code == 0 && (res.data.data=='1'|| res.data.data=='0')){ sessionStorage.setItem("raw-resultVal-"+this.dataForm.id,res.data.data) this.$message.success("涓婃姤鎴愬姛"); - this.$router.go(-1) }else{ this.$message.error("涓婃姤澶辫触锛�",res.data.data); } @@ -780,21 +777,22 @@ if(i.testValueList.length>1){ let arr = i.testValue.split(",") arr.splice((arr.length-1),1) - let obj = { - deviceId: i.deviceId, - rpId: i.rpId, - testValue: arr.join(","), - note: i.note - } - updateRawInsProduct(obj).then(res=>{ - if(res.data.code === 0){ - this.init(this.dataForm.id) - } - }) + // let obj = { + // deviceId: i.deviceId, + // rpId: i.rpId, + // testValue: arr.join(","), + // note: i.note + // } + // updateRawInsProduct(obj).then(res=>{ + // if(res.data.code === 0){ + // this.init(this.dataForm.id) + // } + // }) } }) } }) + this.saveTable() } }, delTeatValueColumn(){ @@ -936,27 +934,30 @@ // this.changeState(row) } }, - changeState(row) { + saveTable() { + let rawInsProducts = []; this.$nextTick(()=>{ - if (row.rpId != null && row.rpId != '') { - let val = row.testValueList.join(",") - if (val === undefined || val === '' || val === null) { - return + this.list.forEach(item=>{ + if(item.children){ + item.children.forEach(ele=>{ + console.log(ele); + let obj = JSON.parse(JSON.stringify(ele)) + obj.testValue = obj.testValueList.join(",") + obj.id = obj.rpId + delete obj.testValueList; + rawInsProducts.push(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(this.dataForm.id) - }) + }) + if(this.rawInsProducts.length>0){ + updateRawInsProduct2(rawInsProducts).then(res => { + if (res.data.code == 0) { + this.$message.success("鏇存柊鎴愬姛") + } else { + this.$message.error("鏇存柊澶辫触") + } + this.init(this.dataForm.id) + }) } }) }, @@ -1028,14 +1029,6 @@ this.deviceList = res.data.data }) }, - handleTable(row){ - this.currentTable = row - }, - saveTable(){ - if(this.currentTable){}else{ - this.$message.error("璇烽�夋嫨涓�涓」鐩�") - } - } }, } </script> diff --git a/src/views/technology/routing/routing-form.vue b/src/views/technology/routing/routing-form.vue index 9b71564..b337123 100644 --- a/src/views/technology/routing/routing-form.vue +++ b/src/views/technology/routing/routing-form.vue @@ -124,7 +124,7 @@ <el-button style="float: right; padding: 3px 0" type="text" - @click=";(showOperation = true), (last = true)" + @click=";(showOperation = true), (last = true),(multiSelect=true)" v-if="editable" >娣诲姞</el-button > @@ -576,6 +576,8 @@ <operationDialog :currshowlist.sync="showOperation" + :multiSelect="multiSelect" + @handleSelectionChange="insertOperation" @listenToOperationEvent="insertOperation" /> <partDialog :currshowlist.sync="showPart" @listenToPartEvent="selectPart" /> @@ -647,6 +649,7 @@ export default { data() { return { + multiSelect: true, itemKey: '', typeOptions: [], paramTemplateSelArr: [], @@ -735,6 +738,8 @@ editRoutingOperation, zttdraggable }, + created(){ + }, mounted() { window.addEventListener( 'hashchange', @@ -746,8 +751,6 @@ }, false ) - - // this.rowDrop() }, computed: { @@ -1166,6 +1169,7 @@ this.operationPart.remark = val }, insertTechnologyOperation(row) { + this.multiSelect = false this.showOperation = true this.last = false this.operationIndex = row.index @@ -1178,30 +1182,59 @@ type: 'warning' }) } - operation.operationName = operation.name - operation.operationId = operation.id - operation.id = null - if (this.last) { - // 琛屾渶鍚庢坊鍔� - operation.index = this.dataForm.operations.length + 1 - this.dataForm.operations.push(operation) - } else { - // 鎻掑叆鍓嶄竴琛� - operation.index = this.operationIndex - this.dataForm.operations = [ - ...this.dataForm.operations.slice(0, operation.index - 1), - operation, - ...this.dataForm.operations.slice(operation.index - 1) - ] + if(this.multiSelect){ + operation.forEach(item => { + let obj = {}; + obj.operationName = item.name; + obj.operationId = item.id; + if (this.last){ + // 琛屾渶鍚庢坊鍔� + obj.index = this.dataForm.operations.length + 1 + this.dataForm.operations.push(obj) + }else{ + // 鎻掑叆鍓嶄竴琛� + obj.index = this.operationIndex + this.dataForm.operations = [ + ...this.dataForm.operations.slice(0, obj.index - 1), + obj, + ...this.dataForm.operations.slice(obj.index - 1) + ] + } + this.dataForm.operations.forEach((e, idx) => { + e.index = idx + 1 + }) + this.$forceUpdate() + this.$refs.operationTable.sort('index') + Promise.all([this.save()]).then((res) => { + this.selectByIndex(obj.index) + }) + }) + }else{ + operation.operationName = operation.name + operation.operationId = operation.id + operation.id = null + if (this.last) { + // 琛屾渶鍚庢坊鍔� + operation.index = this.dataForm.operations.length + 1 + this.dataForm.operations.push(operation) + } else { + // 鎻掑叆鍓嶄竴琛� + operation.index = this.operationIndex + this.dataForm.operations = [ + ...this.dataForm.operations.slice(0, operation.index - 1), + operation, + ...this.dataForm.operations.slice(operation.index - 1) + ] + } + this.dataForm.operations.forEach((e, idx) => { + e.index = idx + 1 + }) + this.$forceUpdate() + this.$refs.operationTable.sort('index') + Promise.all([this.save()]).then((res) => { + this.selectByIndex(operation.index) + }) } - this.dataForm.operations.forEach((e, idx) => { - e.index = idx + 1 - }) - this.$forceUpdate() - this.$refs.operationTable.sort('index') - Promise.all([this.save()]).then((res) => { - this.selectByIndex(operation.index) - }) }, handleDelete(row) { diff --git a/vue.config.js b/vue.config.js index b907b36..e94f4c8 100644 --- a/vue.config.js +++ b/vue.config.js @@ -5,9 +5,9 @@ -const url = 'https://ztms-mes.chinaztt.cn/' +// const url = 'https://ztms-mes.chinaztt.cn/' // const url = 'http://localhost:9999' -// const url = 'http://192.168.32.45:9999' +const url = 'http://192.168.32.45:9999' const localUrl = 'http://localhost:8089' -- Gitblit v1.9.3