From a1917eca0b4f0fabf9f13648a840c2be8e2bf7f9 Mon Sep 17 00:00:00 2001
From: Fixiaobai <fixiaobai@163.com>
Date: 星期三, 20 九月 2023 15:41:26 +0800
Subject: [PATCH] 	modified:   src/components/view/standard-table/target.vue 	modified:   src/components/view/standard.vue

---
 src/components/view/standard-table/target.vue |   97 ++++++++++++++++++++++++++++++++++--------------
 1 files changed, 69 insertions(+), 28 deletions(-)

diff --git a/src/components/view/standard-table/target.vue b/src/components/view/standard-table/target.vue
index f07c292..899209a 100644
--- a/src/components/view/standard-table/target.vue
+++ b/src/components/view/standard-table/target.vue
@@ -1,44 +1,49 @@
 <template>
     <div class="standard">
-      <div>
-        <el-table ref="multipleTable" :data="tableData" row-key="rowId" border max-height="675"
-        @select-all="selectAll" @select="selectTr" 
+      <div style="width: 100%;height: 68vh;overflow-x: auto;overflow-y: auto;">
+        <el-table ref="multipleTable" :data="tableData" row-key="rowId" border
+        @select-all="selectAll" @select="selectTr"
         @selection-change="handleSelectionChange" default-expand-all
         :tree-props="{children: 'children', hasChildren: 'hasChildren'}">
-        <el-table-column type="selection" width="55"></el-table-column>
-        <el-table-column type="index" width="60" label="搴忓彿"></el-table-column>
-        <el-table-column prop="tfather" label="宸ュ簭">
+        <el-table-column  type="selection" width="55"></el-table-column>
+        <el-table-column  type="index" width="60" label="搴忓彿"></el-table-column>
+        <el-table-column prop="tfather" label="宸ュ簭" width="200" :resizable="false">
             <template slot-scope="scope">
-                <el-tag type="primary" v-if="scope.row.tfather != null">01</el-tag>
+                <el-tag class="tag" type="primary" v-if="scope.row.tfather != null">01</el-tag>
                 <span>{{scope.row.tfather}}</span>
             </template>
         </el-table-column>
-        <el-table-column prop="tname" label="宸ヨ壓鍚嶇О">
+        <el-table-column prop="tname" label="宸ヨ壓鍚嶇О" width="200" :resizable="false">
             <template slot-scope="scope">
-                <el-tag type="success" v-if="scope.row.tname != null">02</el-tag>
+                <el-tag type="success" v-if="scope.row.tname != null" class="tag">02</el-tag>
                 <span>{{scope.row.tname}}</span>
             </template>  
         </el-table-column>
-        <el-table-column prop="pname" label="鎸囨爣鍚嶇О">
+        <el-table-column prop="pfather" label="椤圭洰" width="200" :resizable="false">
             <template slot-scope="scope">
-                <el-tag type="info" color="#faf2ff" v-if="scope.row.pname != null">
-                    <span style="color: #e1affb">03</span>
+                <el-tag type="info" color="#faf2ff" v-if="scope.row.pfather != null" class="tag">
+                  <span style="color: #e1affb">03</span>
                 </el-tag>
+                <span>{{scope.row.pfather}}</span>
+            </template>  
+        </el-table-column>
+        <el-table-column prop="pname" label="鎸囨爣鍚嶇О" width="200" :resizable="false">
+            <template slot-scope="scope">
                 <span>{{scope.row.pname}}</span>
             </template>
         </el-table-column>
-        <el-table-column prop="unit" label="鍗曚綅"></el-table-column>
-        <el-table-column prop="internal" label="鍐呮帶鍊�">
+        <el-table-column prop="unit" label="鍗曚綅" :resizable="false"></el-table-column>
+        <el-table-column prop="internal" label="鍐呮帶鍊�" :resizable="false">
           <template slot-scope="scope">
             <el-input v-model="scope.row.internal" 
-            v-if="scope.row.internal != null"
+            v-if="scope.row.pname != null" size="small"
             @blur="updateVal(scope.row)"></el-input>
           </template>
         </el-table-column>
-        <el-table-column prop="required" label="鏍囧噯鍊�">
+        <el-table-column prop="required" label="鏍囧噯鍊�" :resizable="false">
           <template slot-scope="scope">
             <el-input v-model="scope.row.required" 
-            v-if="scope.row.required != null"
+            v-if="scope.row.pname != null" size="small"
             @blur="updateVal(scope.row)"></el-input>
           </template>
         </el-table-column>
@@ -51,12 +56,19 @@
     export default {
       data() {
         return {
+          tnameWidth:200,
+          pfatherWidth:200,
           selects: [],
+          deleteList:[],
+          isAllSelect:false,
         }
       },
       props:['tableData','tableType'],
-      created() {},
-      mounted() {},
+      created() {
+      },
+      mounted() {
+
+      },
       methods: {
         // 琛ㄦ牸鏍戝叏閮ㄩ�変腑閰嶇疆
       // 鍏ㄩ��/鍙栨秷閫夋搷浣�
@@ -67,6 +79,7 @@
       },
       //閫夋嫨鏌愯
 		  selectTr(selection, row) {
+        console.log("sss---",selection,row);
         this.$set(row, "isChecked", !row.isChecked);
         this.$nextTick(() => {
           this.isAllSelect = row.isChecked;
@@ -75,6 +88,7 @@
       },
       //閫掑綊瀛愮骇
       toggleSelect(data, flag, type) {
+        console.log("閫掑綊瀛愮骇---",data,flag,type);
         if (type === "all") {
           if (data.length > 0) {
             data.forEach((item) => {
@@ -94,13 +108,33 @@
           }
         }
       },
+      //鏀瑰彉閫変腑
+      toggleSelection(row, flag) {
+        console.log("鏀瑰彉閫変腑---",row,flag);
+        this.$set(row, "isChecked", flag);
+        this.$nextTick(() => {
+          if (flag) {
+            this.$refs.multipleTable.toggleRowSelection(row, flag);
+          } else {
+            this.$refs.multipleTable.clearSelection();
+          }
+        });
+      },
       handleSelectionChange(val) {
         this.deleteList = [];
         val.forEach((v) => {
-          if (v.id !== undefined) {
-            this.deleteList.push(v.id);
-          }
+          this.searchIdFun(v);
         });
+        this.$emit("childData",this.deleteList);
+      },
+      //閫掑綊鏌ユ壘閫変腑鏁版嵁id
+      searchIdFun(data){
+        let obj = data;
+        if(obj.children != undefined){
+          this.searchIdFun(obj.children);
+        }else{
+          this.deleteList.push(obj.pid);
+        }
       },
       // 琛ㄦ牸鏍戝叏閮ㄩ�変腑閰嶇疆  缁撴潫
         updateVal(row){
@@ -111,11 +145,7 @@
           }).then(res=>{
             this.$message.success(res.message);
           }).catch(error=>{
-            this.$message.error(error.message);
           })
-        },
-        handleSelectionChange(val) {
-          this.selects = val;
         },
       }
     }
@@ -129,6 +159,17 @@
     .standard {
       width: 100%;
       height: 100%;
+    }
+    .tag{
+      line-height:24px;
+      text-align:center;
+      width:36px;
+      height:24px;
+      
+      border-radius:12px;
+    }
+    .tag:nth-child(1){
+      margin-left:20px;
     }
   </style>
   <style>
@@ -164,8 +205,8 @@
     /* .standard .el-table__body {
       height: 100%;
     } */
-    .standard .el-table .el-table__row:not([class*="el-table__row--level-"]) td:nth-child(3){
+    /* .standard .el-table .el-table__row:not([class*="el-table__row--level-"]) td:nth-child(3){
       padding-left: 23px !important;
-     }
+     } */
   </style>
   
\ No newline at end of file

--
Gitblit v1.9.3