From 3f24fbc89959ec4aa9f3308e1af453e43d504ac5 Mon Sep 17 00:00:00 2001 From: charles <981744753@qq.com> Date: 星期三, 10 七月 2024 20:04:16 +0800 Subject: [PATCH] feat:完成车间管理部分的重构 --- src/views/systemSetting/silkStandardSetting/index.vue | 125 +++++++++++++++++++++++++++++++---------- 1 files changed, 95 insertions(+), 30 deletions(-) diff --git a/src/views/systemSetting/silkStandardSetting/index.vue b/src/views/systemSetting/silkStandardSetting/index.vue index dd236fe..6ff2501 100644 --- a/src/views/systemSetting/silkStandardSetting/index.vue +++ b/src/views/systemSetting/silkStandardSetting/index.vue @@ -10,8 +10,8 @@ </CommonSearch> </div> <div class="body-card"> - <div class="edit-save"> - <div class="edit-save-icon" @click="editSaveClick"> + <div class="edit-save" @click="editSaveClick"> + <div class="edit-save-icon"> <i :class="isEdit ? 'el-icon-unlock' : 'el-icon-lock'"></i> </div> <div class="edit-sace-label">{{ isEdit ? "閿佸畾淇濆瓨" : "鐣岄潰璁捐" }}</div> @@ -22,6 +22,7 @@ :silk-table-list="silkTableList" @inputContent="inputContent" @addProjectClick="addBtnClick" + :isEdit='isEdit' @clearupProject="clearupProject" @deleteClick="clearupProject" @addColumnClick="addColumnClick" @@ -55,7 +56,7 @@ prop: "checkItem", projectName: true, isCallMethod: true, - getCallMethod: this.getCheckItemName + getCallMethod: this.getCheckItemName, }, { label: "寮�濮嬬氦搴�", prop: "startFineness", inputFloat: true }, { label: "缁撴潫绾ゅ害", prop: "endFineness", inputFloat: true }, @@ -64,7 +65,6 @@ { label: "鐗归噹", prop: "rankC", inputFloat: true } ], tableColumn: [], - columnNum: 0, dataObj: { checkItem: 1, startFineness: 0, @@ -91,7 +91,21 @@ if (res.code === 200) { if (res.data.length > 0) { this.tableData = [] - this.tableColumn = this.defaultColumn + this.tableColumn = [ + { + label: "妫�鏌ラ」鐩悕绉�", + prop: "checkItem", + projectName: true, + isCallMethod: true, + getCallMethod: this.getCheckItemName, + }, + { label: "寮�濮嬬氦搴�", prop: "startFineness", inputFloat: true }, + { label: "缁撴潫绾ゅ害", prop: "endFineness", inputFloat: true }, + { label: "閲庣氦", prop: "rankA", inputFloat: true }, + { label: "澶ч噹", prop: "rankB", inputFloat: true }, + { label: "鐗归噹", prop: "rankC", inputFloat: true } + ] + // this.tableColumn=this.defaultColumn this.columnDataProcess(res.data[0].dynamicsRanks) this.rankObj = {} this.allDataProcess(res.data) @@ -126,11 +140,15 @@ inputFloat: true } }) - this.columnNum = list.length + 1 + let currentIndex=0 + this.tableColumn.map((item, index) => { + if (item.prop == 'rankA') { + currentIndex = index + } + }) for (let j = 0; j < list.length; j++) { - this.tableColumn.splice(2, 0, list[j]) + this.tableColumn.splice(currentIndex+j, 0, list[j]) } - console.log(this.tableColumn) this.silkTableList.tableColumn = this.tableColumn }, setTableForm() { @@ -138,14 +156,15 @@ tableData: this.tableData, isReturn: false, tableColumn: [ - { label: "妫�鏌ラ」鐩悕绉�", prop: "projectName", projectName: true }, - { label: "寮�濮嬬氦搴�", prop: "start", inputFloat: true }, - { label: "缁撴潫绾ゅ害", prop: "end", inputFloat: true }, - { label: "閲庣氦", prop: "price1", inputFloat: true }, - { label: "澶ч噹", prop: "price2", inputFloat: true }, - { label: "鐗归噹", prop: "price3", inputFloat: true } + { label: "妫�鏌ラ」鐩悕绉�", prop: "checkItem", projectName: true }, + { label: "寮�濮嬬氦搴�", prop: "startFineness", inputFloat: true }, + { label: "缁撴潫绾ゅ害", prop: "endFineness", inputFloat: true }, + { label: "閲庣氦", prop: "rankA", inputFloat: true }, + { label: "澶ч噹", prop: "rankB", inputFloat: true }, + { label: "鐗归噹", prop: "rankC", inputFloat: true } ] } + this.tableColumn=this.silkTableList.tableColumn }, // 鎼滅储 onFilterSearch(searchText) { @@ -153,8 +172,10 @@ }, // 鏂板 addBtnClick() { + console.log(this.silkTableList.tableData,'===1') + console.log(this.tableData,'===2') if(this.isEdit){ - this.tableData.push({ + this.silkTableList.tableData.push({ projectName: "", start: 0, end: 0, @@ -162,6 +183,7 @@ price2: 0, price3: 0 }) + this.tableData=this.silkTableList.tableData }else{ this.$message.error('璇峰厛瑙i攣鍐嶆柊澧烇紒') } @@ -198,18 +220,45 @@ }, // 鍒犻櫎 clearupProject(data, index) { - console.log(data) - this.tableData.splice(index, 1) + this.$confirm('纭畾瑕佸垹闄ゅ悧, 鏄惁缁х画?', '鎻愮ず', { + confirmButtonText: '纭畾', + cancelButtonText: '鍙栨秷', + type: 'warning' + }).then(() => { + this.tableData.splice(index, 1) + this.silkTableList.tableData=this.tableData + }).catch(() => { + }); }, // 淇濆瓨缂栬緫鎸夐挳鍒囨崲 editSaveClick() { + let isOk=false; + this.silkTableList.tableColumn.map((item)=>{ + if(!item.label||!item.prop){ + isOk=true + } + }) + if(isOk){ + this.$message.error('璇峰厛濉啓瀹屾垚琛ㄥご锛�') + return true; + } this.isEdit = !this.isEdit + this.silkTableList.tableData.map((item)=>{ + item.addColumn=false; + }) + + let tableData=JSON.parse( + JSON.stringify(this.silkTableList.tableData) + ); + // if(tableData.length==0&&!this.isEdit){ + // this.$message.error('璇峰厛鏂板鍐嶄繚瀛�!') + // return true; + // } if (!this.isEdit) { - let params = this.saveParam() + let params = this.saveParam(tableData) saveRankStandard({ rankStandard: params }).then((res) => { - console.log(res) if (res.code == 200) { this.$message.success("淇濆瓨鎴愬姛") this.getData() @@ -217,10 +266,7 @@ }) } }, - saveParam() { - let tableData=JSON.parse( - JSON.stringify(this.silkTableList.tableData) - ); + saveParam(tableData) { for(let i in tableData){ tableData[i].dynamicsRanks=[] for(let j in this.columnInputList){ @@ -247,15 +293,25 @@ }, // 娣诲姞鍒� addColumnClick() { - let propStr = "prop" + this.columnNum - this.tableColumn.splice(2, 0, { label: "", prop: propStr, inputFloat: true, addColumn: true }) + let currentIndex=0 + this.tableColumn.map((item, index) => { + if (item.prop == 'rankA') { + currentIndex = index + } + }) + let num=0 + if(this.tableColumn.length>0){ + if(this.tableColumn[Number(currentIndex)-1].prop.indexOf('prop')!=-1){ + num=this.tableColumn[Number(currentIndex)-1].prop.slice(4) + } + } + let propStr = "prop" + (Number(num)+1) + + this.tableColumn.splice(currentIndex, 0, { label: "", prop: propStr, inputFloat: true, addColumn: true }) this.$set(this.dataObj, propStr, 0) this.$set(this.rankObj, propStr, 0) - console.log(this.columnInputList) this.columnInputList.push({ rankProp: propStr, rankName: "", rankValue: 0 }) - console.log(this.tableColumn, this.dataObj, "32323", this.columnInputList) this.silkTableList.tableColumn = this.tableColumn - this.columnNum += 1 let allList = this.tableData.map((item) => { return { ...item, @@ -264,6 +320,7 @@ }) this.tableData = allList this.silkTableList.tableData = allList + this.$forceUpdate() }, // 鍒犻櫎鍒� clearupColumn(prop) { @@ -273,13 +330,19 @@ currentIndex = index } }) + let columnInputIndex=0 + this.columnInputList.forEach((item,index) => { + if (item.rankProp == prop) { + columnInputIndex = index + } + }) + this.columnInputList.splice(columnInputIndex,1) this.tableColumn.splice(currentIndex, 1) this.silkTableList.tableColumn = this.tableColumn this.$delete(this.dataObj, prop) }, // 鍒楄〃澶磋緭鍏ュ洖璋� addColumnInputChange(val, prop) { - console.log(val, prop, this.columnInputList) this.columnInputList.forEach((item) => { if (item.rankProp == prop) { item.rankName = val @@ -321,13 +384,15 @@ height: calc(100% - 180px); border-radius: 4px; .edit-save { + width:100px; + padding:0 10px; display: flex; align-items: center; margin-bottom: 10px; + cursor: pointer; .edit-save-icon { font-size: 24px; color: #5582f3; - cursor: pointer; } .edit-sace-label { margin-left: 10px; -- Gitblit v1.8.0