From fa7044f3ccc9a91bc2bc117d1a06f650d86554f2 Mon Sep 17 00:00:00 2001
From: zhangzengfei <zhangzengfei@iotlink.com>
Date: 星期二, 15 六月 2021 16:07:16 +0800
Subject: [PATCH] 优化联动规则加载场景列表的操作

---
 src/pages/shuohuangMonitorAnalyze/components/memberManage.vue |   77 ++++++++++++++++++++++++++++----------
 1 files changed, 56 insertions(+), 21 deletions(-)

diff --git a/src/pages/shuohuangMonitorAnalyze/components/memberManage.vue b/src/pages/shuohuangMonitorAnalyze/components/memberManage.vue
index fb52efc..f254def 100644
--- a/src/pages/shuohuangMonitorAnalyze/components/memberManage.vue
+++ b/src/pages/shuohuangMonitorAnalyze/components/memberManage.vue
@@ -33,11 +33,12 @@
           <el-option
             v-for="item in genders"
             :key="item.id"
-            :value="item.id"
+            :value="item.name=='鍏ㄩ儴'?'':item.name"
             :label="item.name"
           >{{item.name}}</el-option>
         </el-select>
         <el-button type="primary" size="small" @click="renderMemberTable">鏌ヨ</el-button>
+        <el-button type="primary" size="small" @click="resetFilter">閲嶇疆</el-button>
       </div>
       <div class="table-area">
         <div class="actions">
@@ -157,7 +158,7 @@
           <el-form-item label="韬唤璇佸彿:">
             <el-input v-model="memberEditForm.OwnerID" size="mini"></el-input>
           </el-form-item>
-          <el-form-item label="鎵嬫満鍙�:">
+          <el-form-item label="鎵嬫満鍙�:" prop="Tel">
             <el-input v-model="memberEditForm.Tel" size="mini"></el-input>
           </el-form-item>
           <div class="btns">
@@ -210,7 +211,7 @@
             @mouseover="showDemo=true"
             @mouseout="showDemo=false"
           >绀轰緥</a>),鐐瑰嚮
-          <a href="javascript:;">涓嬭浇妯℃澘.excel</a>
+          <a href="javascript:;" @click="downloadExcel">涓嬭浇妯℃澘.excel</a>
           <img class="tip-demo" v-if="showDemo" :src="`${publicPath}images/shuohuang/tip.jpg`" alt />
         </p>
         <div class="flex-box">
@@ -220,9 +221,9 @@
         </div>
         <el-table class="thbg" :data="batchImportTableData" fit>
           <el-table-column type="index" label="搴忓彿"></el-table-column>
-          <el-table-column prop="filename" label="鏂囦欢鍚嶇О"></el-table-column>
-          <el-table-column prop="time" label="涓婁紶鏃堕棿"></el-table-column>
-          <el-table-column prop="state" label="鐘舵��"></el-table-column>
+          <el-table-column prop="Name" label="鏂囦欢鍚嶇О"></el-table-column>
+          <el-table-column prop="UploadTime" label="涓婁紶鏃堕棿"></el-table-column>
+          <el-table-column prop="Status" label="鐘舵��"></el-table-column>
         </el-table>
       </div>
     </el-dialog>
@@ -231,8 +232,7 @@
 
 <script>
 
-import { getShuohuangDepartTree, getOrganizeTree, getMemberList, updateMemberInfo, addMember, updateUnit, uploadMemberPic, uploadDirectory, uploadFile } from '@/api/shuohuang'
-
+import { getShuohuangDepartTree, getOrganizeTree, getMemberList, updateMemberInfo, addMember, updateUnit, uploadMemberPic, uploadDirectory, uploadFile,downloadFile } from '@/api/shuohuang'
 export default {
   data () {
     return {
@@ -247,7 +247,7 @@
       menuLeft: 0,
       keyword: '',
       gender: '',
-      genders: [{ name: '鐢�', id: 'g0' }, { name: '濂�', id: 'g1' }],
+      genders: [{id:'g3',name:'鍏ㄩ儴'},{ name: '鐢�', id: 'g0' }, { name: '濂�', id: 'g1' }],
       tableData: [],
       multipleTableSelection: [],
       PageIndex: 1,
@@ -255,7 +255,8 @@
       tableTotal: 0,
       PageSize: 8,
       organizeData: [],
-      checkedOrg: '',
+      checkedOrgID: '',
+      checkedOrgName:"",
       organizeKeyword: '',
       memberEditDialogVisible: false,
       toggleOrganizeDialogVisible: false,
@@ -265,7 +266,8 @@
       memberEditFormRule: {
         Name: [{ required: true, message: '璇疯緭鍏ュ鍚�', trigger: 'change' }],
         UserName: [{ required: true, message: '璇疯緭鍏ュ鍚�', trigger: 'change' }],
-        Sex: [{ required: true, message: '璇烽�夋嫨鎬у埆', trigger: 'change' }]
+        Sex: [{ required: true, message: '璇烽�夋嫨鎬у埆', trigger: 'change' }],
+        Tel: [{ validator: this.isPhone, trigger: 'change' }],
       },
       memberPicUrl: '',
       showDemo: false,
@@ -279,20 +281,51 @@
 
   },
   methods: {
+    resetFilter(){
+      this.keyword = '';
+      this.gender = '';
+      this.renderMemberTable();
+    },
+    isPhone (rule, value, callback) {
+      if (!value) {
+        return callback()
+      } else if (value.trim()) {
+         var pattern = /^1[345789]\d{9}$/
+        if (pattern.test(value)) {
+          return callback()
+        }
+        return callback(new Error('杈撳叆鐨勬墜鏈哄彿閿欒'))
+      }
+      // if (value.trim()) {
+      //   var pattern = /^1[345789]\d{9}$/
+      //   if (pattern.test(value)) {
+      //     return callback()
+      //   }
+      //   return callback(new Error('杈撳叆鐨勬墜鏈哄彿閿欒'))
+      // }
+    },
     nodeContextMenu (e, data, node, comp) {
       this.showMenu = true;
       this.menuTop = e.pageY;
       this.menuLeft = e.pageX;
     },
     checkOrgNode (a, b, c) {
-      this.checkedOrg = a.id
+      this.checkedOrgID = a.id
+      this.checkedOrgName = a.label
+    },
+    downloadExcel(){
+      downloadFile().then(function (res) {
+        // debugger
+        console.log(res);        
+      })
     },
     updateOrg () {
       let ids = this.multipleTableSelection.map(row => {
         return row.ID
       });
       let params = {
-        DeptID: this.checkedOrg,
+        DeptID: this.checkedOrgID,
+        DeptName:this.checkedOrgName,
         Users: ids.join(',')
       }
       updateUnit(params).then(res => {
@@ -303,6 +336,7 @@
           });
           this.toggleOrganizeDialogVisible = false;
           this.renderMemberTable();
+          this.searchLeftTreeData()
         }
       })
 
@@ -313,7 +347,7 @@
     memberSave () {
       this.$refs['memberForm'].validate((valid) => {
         if (valid) {
-          let params = Object.assign({DeptID:this.curLeftTreeNode.id},this.memberEditForm);
+          let params = Object.assign({ DeptID: this.curLeftTreeNode.id }, this.memberEditForm);
           if (this.memberEditForm.ID) {
             updateMemberInfo(params).then(res => {
               if (res.success) {
@@ -379,7 +413,7 @@
       let _this = this;
       let params = {
         DeptID: this.deptId,
-        keyword: this.keyword,
+        Keyword: this.keyword,
         Sex: this.gender,
         PageIndex: this.PageIndex,
         PageSize: this.PageSize
@@ -396,16 +430,17 @@
       this.$refs['directoryInput'].click();
     },
     importDirectory () {
+      let _this = this;
       //this.$refs['directoryInput'].files //鏂囦欢澶筸ap
       let formData = new FormData;
-      for(var file in this.$refs['directoryInput'].files){
+      for (var file in this.$refs['directoryInput'].files) {
         formData.append('files', this.$refs['directoryInput'].files[file])
       }
       //formData.append('files', this.$refs['directoryInput'].files)
 
-      uploadDirectory(formData).then(res=>{
-        debugger
-          
+      uploadDirectory(formData).then(res => {
+        _this.batchImportTableData = res.data;
+        _this.renderMemberTable();
       })
     },
 
@@ -483,10 +518,10 @@
           return obj
         });
         this.$nextTick(() => {
-          if(!Object.keys(_this.curLeftTreeNode).length){
+          if (!Object.keys(_this.curLeftTreeNode).length) {
             _this.curLeftTreeNode = _this.treeData[0];
             _this.$refs['leftTreeNodes'].setCurrentNode(_this.treeData[0]);
-          }else{
+          } else {
             _this.$refs['leftTreeNodes'].setCurrentNode(_this.curLeftTreeNode);
           }
           _this.checkNode(_this.curLeftTreeNode);

--
Gitblit v1.8.0