From 04347893bbb268231d35a802393dbe8f0a0cf20f Mon Sep 17 00:00:00 2001
From: 13176889840 <13176889840@163.com>
Date: Wed, 2 Mar 2022 15:50:43 +0800
Subject: [PATCH] =?UTF-8?q?=E5=B1=85=E6=B0=91=E4=BF=A1=E6=81=AF=E6=89=B9?=
 =?UTF-8?q?=E9=87=8F=E5=88=A0=E9=99=A4?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
 src/views/modules/base/resi.vue | 131 ++++++++++++++++++++++++++++----
 1 file changed, 118 insertions(+), 13 deletions(-)
diff --git a/src/views/modules/base/resi.vue b/src/views/modules/base/resi.vue
index 86c4e35f7..b062a50a5 100644
--- a/src/views/modules/base/resi.vue
+++ b/src/views/modules/base/resi.vue
@@ -32,11 +32,15 @@
         
 
       
-      
+                class="resi-table"
+                @select-all="selectAll"
+                @selection-change="selectionChange">
+        
         
         
       
-      
-        
-        
+      
     
 
@@ -240,6 +256,8 @@ export default {
       btnLoading: false,
       disabled: false,
       pageLoading: false,
+      selAllFlag: false,
+      isIndeterminate: false,
       dialogEditVisible: false,
       dialogVisible: false,
       uploadUlr: window.SITE_CONFIG['apiURL'] + '/epmetuser/icresiuser/importExcel',
@@ -262,6 +280,7 @@ export default {
       formList: [],
       tableHeader: [],
       tabsList: [],
+      selection: [],
 
       defaultCategotyKey: '',
 
@@ -336,6 +355,61 @@ export default {
       const { user } = this.$store.state
       return id === user.agencyId
     },
+    selectionChange (selection) {
+      this.selection = selection
+
+      if (selection.length === this.tableData.length) {
+        this.selAllFlag = true
+        this.isIndeterminate = false
+      } else if (selection.length > 0) {
+        this.selAllFlag = false
+        this.isIndeterminate = true
+      } else {
+        this.selAllFlag = false
+        this.isIndeterminate = false
+      }
+    },
+    handleSelectAll (selectAllFlag) {
+      this.$refs.ref_table.clearSelection();
+      if (selectAllFlag) {
+        this.tableData.forEach(row => {
+          this.$refs.ref_table.toggleRowSelection(row);
+        });
+      }
+    },
+    selectAll (selection) {
+      this.selection = selection
+
+      if (selection.length > 0) {
+        this.selAllFlag = true
+      } else {
+        this.selAllFlag = false
+      }
+
+    },
+    deleteBatch () {
+      if (this.selection.length > 0) {
+        this.$confirm("删除之后无法恢复,确认删除?", "提示", {
+          confirmButtonText: "确定",
+          cancelButtonText: "取消",
+          type: "warning"
+        })
+          .then(() => {
+            this.deleteresiBatch()
+          })
+          .catch(err => {
+            if (err == "cancel") {
+              // this.$message({
+              //   type: "info",
+              //   message: "已取消删除"
+              // });
+            }
+
+          });
+      } else {
+        this.$message.warning('请先选择要删除的小区')
+      }
+    },
     handleSizeChange (val) {
       console.log(`每页 ${val} 条`)
       this.pageSize = val
@@ -627,7 +701,7 @@ export default {
     handleDel (row) {
       let params = {
         formCode: 'resi_base_info',
-        icResiUserId: row.icResiUserId
+        userIds: [row.icResiUserId]
       }
       console.log('row1', row)
       this.$http
@@ -926,7 +1000,29 @@ export default {
         .catch(() => {
           return this.$message.error('网络错误')
         })
-    }
+    },
+    async deleteresiBatch () {
+      if (this.selection.length === 0) return this.$message.error('请选择之后进行操作')
+      let userIds = this.selection.map(item => item.icResiUserId)
+      let params = {
+        formCode: 'resi_base_info',
+        userIds
+      }
+      this.$http
+        .post('/epmetuser/icresiuser/delete', params)
+        .then(({ data: res }) => {
+          if (res.code !== 0) {
+            return this.$message.error(res.msg)
+          } else {
+            this.$message.success('删除成功')
+            this.getTableData()
+          }
+        })
+        .catch((err) => {
+          console.log('row4', err)
+          return this.$message.error('网络错误')
+        })
+    },
   }
 }
 
@@ -1033,4 +1129,13 @@ export default {
   margin-top: 20px;
   text-align: center;
 }
+.div-flex {
+  display: flex;
+  justify-content: space-between;
+  align-items: center;
+  width: 100%;
+  .div_del {
+    margin-top: 15px;
+  }
+}