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