yf_zkl 4 лет назад
Родитель
Сommit
0d51a4effd

+ 2 - 1
minggao/config/index.js

@@ -22,7 +22,8 @@ module.exports = {
     },
 
     // Various Dev Server settings
-    host: 'localhost', // can be overwritten by process.env.HOST
+    host: '192.168.137.1', // can be overwritten by process.env.HOST
+    // host: 'localhost', // can be overwritten by process.env.HOST
     port: 8888, // can be overwritten by process.env.PORT, if port is in use, a free one will be determined
     autoOpenBrowser: false,
     errorOverlay: true,

+ 1 - 0
minggao/src/page/commandCenter/laboratory.vue

@@ -417,6 +417,7 @@ export default {
 
     // 下页
     newPage(page) {
+      this.loading = true;
       this.page = page;
       this.tableList();
     },

+ 35 - 16
minggao/src/page/commandCenter/realTime.vue

@@ -11,6 +11,7 @@
           <el-tree
             :data="data"
             :props="defaultProps"
+             v-loading="loading2"
             @node-click="handleNodeClick"
           ></el-tree>
         </div>
@@ -50,7 +51,12 @@
             </el-col>
           </el-row>
 
-          <el-table :data="tableData" stripe style="width: 100%">
+          <el-table
+            v-loading="loading"
+            :data="tableData"
+            stripe
+            style="width: 100%"
+          >
             <el-table-column prop="ind" label="序号" width="180">
             </el-table-column>
             <el-table-column prop="real_name" label="组织成员" width="330">
@@ -344,10 +350,12 @@ export default {
 
       // 表格
       tableData: [],
+      loading: false, // 加载
       org_id: "", //组织id
 
       // 树形图
       data: [],
+      loading2: false,
       defaultProps: {
         children: "childrens",
         label: "org_name"
@@ -461,7 +469,11 @@ export default {
     },
 
     // 分页
-    changeList(page) {},
+    changeList(page) {
+      this.page = page;
+      this.loading = true;
+      this.userListData();
+    },
 
     // 获取左侧组织列表
     organizationData() {
@@ -483,9 +495,10 @@ export default {
             var data = res.data.data.page_list;
             this.data = [obj, ...data]; // 左侧组织列表
           }
+          this.loading2 = false
         })
         .catch(err => {
-          console.log(err);
+          this.loading2 = false
         });
     },
 
@@ -501,18 +514,23 @@ export default {
           mobile: this.phoneVal, // 电话
           org_id: this.org_id
         })
-      }).then(res => {
-        if (res.data.data.page_item !== 0) {
-          var data = res.data.data.page_list;
-          var list = [];
-          data.forEach((item, index) => {
-            item.ind = index + 1;
-            list.push(item);
-          });
-          this.tableData = list;
-          this.pageSum = res.data.data.page_item;
-        }
-      });
+      })
+        .then(res => {
+          if (res.data.data.page_item !== 0) {
+            var data = res.data.data.page_list;
+            var list = [];
+            data.forEach((item, index) => {
+              item.ind = index + 1;
+              list.push(item);
+            });
+            this.tableData = list;
+            this.pageSum = res.data.data.page_item;
+            this.loading = false;
+          }
+        })
+        .catch(err => {
+          this.loading = false;
+        });
     },
 
     // 文本消息
@@ -876,9 +894,10 @@ export default {
   created() {},
   //生命周期 - 挂载完成(可以访问DOM元素)
   mounted() {
+    this.loading = true;
+    this.loading2 = true; 
     this.organizationData(); //获取左侧组织列表
     this.userListData(); // 获取右侧用户列表
-
     this.msgInit(); // 文本消息功能初始化
     this.videoInit(); // 视频消息功能初始化
   },

+ 1 - 0
minggao/src/page/commandCenter/supervise.vue

@@ -297,6 +297,7 @@ export default {
     // 分页
     newPage(page) {
       this.page = page;
+      this.loading = true;
       this.tableList();
     },
 

+ 1 - 0
minggao/src/page/commandCenter/superviseLog.vue

@@ -245,6 +245,7 @@ export default {
     // 下页
     newPage(page) {
       this.page = page;
+      this.loadingShow = true
       this.tableList();
     },
 

+ 30 - 31
minggao/src/page/commandCenter/taskRegulator.vue

@@ -554,19 +554,15 @@ export default {
       },
       rules: {
         region: [
-          { required: true, message: "请选择任务处理人", trigger: "change" }
+          { required: true, message: "请选择任务处理人", trigger: "blur" }
         ],
         overseer: [
-          { required: true, message: "请选择任务监督人", trigger: "change" }
-        ],
-        date: [
-          { required: true, message: "请选择任务时间", trigger: "change" }
-        ],
-        type: [
-          { required: true, message: "请选择任务类型", trigger: "change" }
+          { required: true, message: "请选择任务监督人", trigger: "blur" }
         ],
+        date: [{ required: true, message: "请选择任务时间", trigger: "blur" }],
+        type: [{ required: true, message: "请选择任务类型", trigger: "blur" }],
         checkList: [
-          { required: true, message: "请选择诱捕器", trigger: "change" }
+          { required: true, message: "请选择诱捕器", trigger: "blur" }
         ]
         // desc: [{ required: true, message: "请填写任务描述", trigger: "blur" }]
       },
@@ -642,20 +638,20 @@ export default {
     },
 
     // 新增编辑任务弹框
-    // dialogVisible(val) {
-    //   if (val == false) {
-    //     this.taskObj = {};
-    //     this.ruleForm.region = ""; // 任务处理人
-    //     this.ruleForm.overseer = ""; //任务监督人
-    //     this.ruleForm.date = ""; // 任务时间
-    //     this.ruleForm.startTime = ""; // 开始时间
-    //     this.ruleForm.endTime = ""; // 结束时间
-    //     this.ruleForm.type = ""; // 任务类型
-    //     this.ruleForm.checkList = ""; // 诱捕器
-    //     this.ruleForm.desc = ""; // 任务描述
-    //     this.$refs["ruleForm"].resetFields();
-    //   }
-    // },
+    dialogVisible(val) {
+      if (val == false) {
+        this.taskObj = {};
+        this.ruleForm.region = ""; // 任务处理人
+        this.ruleForm.overseer = ""; //任务监督人
+        this.ruleForm.date = ""; // 任务时间
+        this.ruleForm.startTime = ""; // 开始时间
+        this.ruleForm.endTime = ""; // 结束时间
+        this.ruleForm.type = ""; // 任务类型
+        this.ruleForm.checkList = []; // 诱捕器
+        this.ruleForm.desc = ""; // 任务描述
+        // this.$refs["ruleForm"].resetFields();
+      }
+    },
 
     // 选择诱捕器弹框
     deviceVisible(val) {
@@ -727,6 +723,8 @@ export default {
     // 分页
     newPage(page) {
       this.page = page;
+      this.loading = true;
+      this.tableList();
     },
 
     // 表格数据
@@ -953,6 +951,11 @@ export default {
             this.ruleForm.endTime = "";
           }
 
+          // 判断当前任务类型是否为有害生物
+          if (this.ruleForm.type !== "有害生物监测") {
+            this.ruleForm.checkList = [];
+          }
+
           if (this.titleData == "发布任务") {
             this.$axios({
               method: "POST",
@@ -964,11 +967,9 @@ export default {
                 last_time: this.ruleForm.endTime, // 任务完成时间
                 task_type: this.ruleForm.type, // 任务类型
                 tesk_msg: this.ruleForm.desc, // 任务描述
-                // trap_id_list: JSON.stringify(this.checkList) // 诱捕器id列表
                 trap_id_list: JSON.stringify(this.ruleForm.checkList) // 诱捕器id列表
               })
             }).then(res => {
-              // console.log(res);
               if (res.data.message == "") {
                 this.loading = true;
                 this.tableData = [];
@@ -1023,12 +1024,9 @@ export default {
       this.ruleForm.startTime = ""; // 开始时间
       this.ruleForm.endTime = ""; // 结束时间
       this.ruleForm.type = ""; // 任务类型
-      this.ruleForm.checkList = ""; // 诱捕器
+      this.ruleForm.checkList = []; // 诱捕器
       this.ruleForm.desc = ""; // 任务描述
-      if (this.titleData == "编辑任务") {
-        location.reload();
-      }
-      this.$refs[formName].resetFields();
+      // this.$refs[formName].resetFields();
       this.dialogVisible = false;
     },
 
@@ -1237,7 +1235,8 @@ export default {
     width: 50%;
   }
   /deep/.el-date-editor {
-    width: 205px;
+    // width: 195px;
+    width: 200px;
   }
   /deep/.el-form-item__error {
     width: 130px;

+ 39 - 36
minggao/src/page/forecasting/trap/bait.vue

@@ -107,7 +107,7 @@ export default {
       tableData: [],
       queryInfo: {
         page: 1,
-        inducer_name: "",
+        inducer_name: ""
       },
       total: 10,
       loading: false,
@@ -118,21 +118,21 @@ export default {
         inducer_name: "",
         expire: "",
         messages: "",
-        inducer_id: "",
+        inducer_id: ""
       },
       rules: {
         inducer_name: [
-          { required: true, message: "请输入活动名称", trigger: "blur" },
+          { required: true, message: "请输入活动名称", trigger: "blur" }
         ],
         expire: [
           { required: true, message: "请输入活动名称", trigger: "blur" },
-          { validator: checklnglat, trigger: "blur" },
+          { validator: checklnglat, trigger: "blur" }
         ],
         messages: [
-          { required: true, message: "请输入活动名称", trigger: "blur" },
-        ],
+          { required: true, message: "请输入活动名称", trigger: "blur" }
+        ]
       },
-      addtitle: "新增诱剂",
+      addtitle: "新增诱剂"
     };
   },
   //监听属性 类似于data概念
@@ -150,9 +150,9 @@ export default {
         data: this.qs.stringify({
           page_size: 10,
           page: this.queryInfo.page,
-          inducer_name: this.queryInfo.inducer_name, //              非必传(string)     诱剂名称 搜索项
-        }),
-      }).then((res) => {
+          inducer_name: this.queryInfo.inducer_name //              非必传(string)     诱剂名称 搜索项
+        })
+      }).then(res => {
         this.loading = false;
         console.log(res.data.data);
         this.total = res.data.data.total_item;
@@ -185,29 +185,30 @@ export default {
       var str = "您确定删除<" + events.inducer_name + ">吗?";
       this.$confirm(str, "删除诱剂", {
         confirmButtonText: "确定",
-        cancelButtonText: "取消",
+        cancelButtonText: "取消"
       })
         .then(() => {
           this.$axios({
             method: "POST",
-            url: "/api/api_gateway?method=monitor_manage.maintain.inducer_delete",
+            url:
+              "/api/api_gateway?method=monitor_manage.maintain.inducer_delete",
             data: this.qs.stringify({
-              inducer_id: events.inducer_id,
-            }),
-          }).then((res) => {
+              inducer_id: events.inducer_id
+            })
+          }).then(res => {
             console.log(res);
             if (res.data.data) {
               this.$message({
                 showClose: true,
                 message: "删除成功!",
-                type: "success",
+                type: "success"
               });
               this.getcbdlist();
             } else {
               this.$message({
                 showClose: true,
                 message: "删除失败," + res.data.message,
-                type: "warning",
+                type: "warning"
               });
             }
           });
@@ -215,31 +216,32 @@ export default {
         .catch(() => {
           this.$message({
             type: "info",
-            message: "已取消删除",
+            message: "已取消删除"
           });
         });
     },
     submitForm(formName) {
       console.log(this.ruleForm);
-      this.$refs[formName].validate((valid) => {
+      this.$refs[formName].validate(valid => {
         if (valid) {
           if (this.addtitle == "修改诱剂") {
             this.$axios({
               method: "POST",
-              url: "/api/api_gateway?method=monitor_manage.maintain.inducer_modify",
+              url:
+                "/api/api_gateway?method=monitor_manage.maintain.inducer_modify",
               data: this.qs.stringify({
                 inducer_id: this.ruleForm.inducer_id,
                 inducer_name: this.ruleForm.inducer_name,
                 expire: Number(this.ruleForm.expire),
-                messages: this.ruleForm.messages,
-              }),
-            }).then((res) => {
+                messages: this.ruleForm.messages
+              })
+            }).then(res => {
               console.log(res);
               if (res.data.data) {
                 this.$message({
                   showClose: true,
                   message: "修改成功!",
-                  type: "success",
+                  type: "success"
                 });
                 this.addtraptf = false;
                 this.getcbdlist();
@@ -248,26 +250,27 @@ export default {
                 this.$message({
                   showClose: true,
                   message: "修改失败" + res.data.message,
-                  type: "warning",
+                  type: "warning"
                 });
               }
             });
           } else if (this.addtitle == "新增诱剂") {
             this.$axios({
               method: "POST",
-              url: "/api/api_gateway?method=monitor_manage.maintain.inducer_add",
+              url:
+                "/api/api_gateway?method=monitor_manage.maintain.inducer_add",
               data: this.qs.stringify({
                 inducer_name: this.ruleForm.inducer_name,
                 expire: this.ruleForm.expire,
-                messages: this.ruleForm.messages,
-              }),
-            }).then((res) => {
+                messages: this.ruleForm.messages
+              })
+            }).then(res => {
               console.log(res);
               if (res.data.data) {
                 this.$message({
                   showClose: true,
                   message: "新增成功!",
-                  type: "success",
+                  type: "success"
                 });
                 this.addtraptf = false;
                 this.getcbdlist();
@@ -276,7 +279,7 @@ export default {
                 this.$message({
                   showClose: true,
                   message: "添加失败" + res.data.message,
-                  type: "warning",
+                  type: "warning"
                 });
               }
             });
@@ -291,14 +294,14 @@ export default {
     resetForm(formName) {
       this.addtraptf = false;
       this.$refs[formName].resetFields();
-      for(var key in this.ruleForm){
-          this.ruleForm[key] = ''
+      for (var key in this.ruleForm) {
+        this.ruleForm[key] = "";
       }
     },
     dioclose() {
       console.log(111);
       // this.$refs[formName].resetFields();
-    },
+    }
   },
   beforeCreate() {}, //生命周期 - 创建之前
   //生命周期 - 创建完成(可以访问当前this实例)
@@ -312,7 +315,7 @@ export default {
   updated() {}, //生命周期 - 更新之后
   beforeDestroy() {}, //生命周期 - 销毁之前
   destroyed() {}, //生命周期 - 销毁完成
-  activated() {}, //如果页面有keep-alive缓存功能,这个函数会触发
+  activated() {} //如果页面有keep-alive缓存功能,这个函数会触发
 };
 </script>
 <style scoped lang="less">
@@ -344,4 +347,4 @@ export default {
   background-color: #409eff;
   border-color: #409eff;
 }
-</style>
+</style>

+ 42 - 37
minggao/src/page/systemmanger/customsManger.vue

@@ -29,6 +29,7 @@
 
       <!-- 列表 -->
       <tree-table
+        v-loading="loading"
         style="height: 680px"
         ref="recTree"
         :list.sync="treeDataSource"
@@ -116,7 +117,7 @@ import "../../mock/mock";
 export default {
   //import引入的组件需要注入到对象中才能使用
   components: {
-    treeTable,
+    treeTable
   },
   data() {
     //这里存放数据
@@ -124,6 +125,7 @@ export default {
       fullHeight: document.documentElement.clientHeight - 116, //
       input: "", // 组织搜索
       treeDataSource: [],
+      loading: false, // 组织 - 加载
       tableSum: 0, // 表格列表总数
       page: 1, // 当前页数
 
@@ -132,15 +134,15 @@ export default {
       higherList: [
         {
           value: "",
-          label: "",
-        },
+          label: ""
+        }
       ],
       form: {
         name: "",
-        higher: "",
+        higher: ""
       },
       tltData: "添加隶属海关",
-      userData: {}, // 点击编辑时获取到的当前数据
+      userData: {} // 点击编辑时获取到的当前数据
     };
   },
   //监听属性 类似于data概念
@@ -161,12 +163,12 @@ export default {
         this.fullHeight = val;
         this.timer = true;
         let that = this;
-        setTimeout(function () {
+        setTimeout(function() {
           //防止过度调用监测事件,导致卡顿
           that.timer = false;
         }, 400);
       }
-    },
+    }
   },
   //方法集合
   methods: {
@@ -194,13 +196,13 @@ export default {
       if (m.level == 1) {
         this.$set(this.higherList, 0, {
           value: "",
-          label: "根类别",
+          label: "根类别"
         });
         this.form.higher = "";
       } else {
         this.$set(this.higherList, 0, {
           value: m.parent_id,
-          label: m.parent_name,
+          label: m.parent_name
         });
         this.form.higher = m.parent_name;
       }
@@ -215,41 +217,41 @@ export default {
       this.$confirm("此操作将永久删除, 是否继续?", "提示", {
         confirmButtonText: "确定",
         cancelButtonText: "取消",
-        type: "warning",
+        type: "warning"
       })
         .then(() => {
           this.$axios({
             method: "POST",
             url: "/api/api_gateway?method=sysmenage.usermanager.org_delete",
             data: this.qs.stringify({
-              org_id: m.id,
-            }),
+              org_id: m.id
+            })
           })
-            .then((res) => {
+            .then(res => {
               if (res.data.data == true) {
                 this.$message({
                   message: "删除成功了",
                   type: "success",
-                  duration: 1500,
+                  duration: 1500
                 });
                 this.tabListData();
               } else {
                 this.$message({
                   message: "删除失败",
                   type: "error",
-                  duration: 1500,
+                  duration: 1500
                 });
               }
               // console.log(res);
             })
-            .catch((err) => {
+            .catch(err => {
               // console.log(err);
             });
         })
         .catch(() => {
           this.$message({
             type: "info",
-            message: "已取消删除",
+            message: "已取消删除"
           });
         });
 
@@ -271,7 +273,7 @@ export default {
       this.tltData = "添加隶属海关"; //改变弹框标题
       this.$set(this.higherList, 0, {
         value: m.id,
-        label: m.org_name,
+        label: m.org_name
       });
       this.form.higher = m.org_name;
       this.addrUserVisible = true; //打开弹框
@@ -294,8 +296,8 @@ export default {
       this.higherList = [
         {
           label: "根类别",
-          value: "",
-        },
+          value: ""
+        }
       ];
       this.addrUserVisible = true;
     },
@@ -307,13 +309,13 @@ export default {
         this.$message({
           message: "请填写组织名称!",
           type: "warning",
-          duration: 1500,
+          duration: 1500
         });
       } else if (this.form.name.split(" ").join("").length == 0) {
         this.$message({
           message: "不能填写空格!",
           type: "warning",
-          duration: 1500,
+          duration: 1500
         });
       } else {
         // 请求添加接口
@@ -322,29 +324,29 @@ export default {
           var url = "/api/api_gateway?method=sysmenage.usermanager.org_modify";
           var postData = this.qs.stringify({
             org_name: this.form.name, //组织名称
-            org_id: this.userData.id, // 组织id
+            org_id: this.userData.id // 组织id
           });
         } else if (this.tltData == "添加隶属海关") {
           // 添加
           var url = "/api/api_gateway?method=sysmenage.usermanager.org_add";
           var postData = this.qs.stringify({
             org_name: that.form.name, //组织名称
-            parent_org_id: that.higherList[0].value, // 上级组织id,没有上级组织表示创建的组织是顶级组织
+            parent_org_id: that.higherList[0].value // 上级组织id,没有上级组织表示创建的组织是顶级组织
           });
         }
 
         this.$axios({
           method: "POST",
           url,
-          data: postData,
+          data: postData
         })
-          .then((res) => {
+          .then(res => {
             console.log(res);
             if (res.data.data == true) {
               this.$message({
                 message: "成功!",
                 type: "success",
-                duration: 1500,
+                duration: 1500
               });
               this.addrUserVisible = false;
               this.tabListData();
@@ -352,11 +354,11 @@ export default {
               this.$message({
                 message: "失败!",
                 type: "error",
-                duration: 1500,
+                duration: 1500
               });
             }
           })
-          .catch((err) => {
+          .catch(err => {
             console.log(err);
           });
       }
@@ -370,10 +372,10 @@ export default {
         data: this.qs.stringify({
           page: this.page,
           page_item: "9",
-          org_name: this.input,
-        }),
+          org_name: this.input
+        })
       })
-        .then((res) => {
+        .then(res => {
           if (res.data.data.total_item !== 0) {
             this.treeDataSource = res.data.data.page_list;
             this.tableSum = res.data.data.total_item;
@@ -381,20 +383,23 @@ export default {
             this.treeDataSource = [];
             this.tableSum = 0;
           }
+          this.loading = false;
         })
-        .catch((err) => {
+        .catch(err => {
+          this.loading = false;
         });
     },
 
     // 搜索
     searchData() {
       this.tabListData();
-    },
+    }
   },
   //生命周期 - 创建完成(可以访问当前this实例)
   created() {},
   //生命周期 - 挂载完成(可以访问DOM元素)
   mounted() {
+    this.loading = true;
     this.tabListData(); // 请求表格列表
   },
   beforeCreate() {}, //生命周期 - 创建之前
@@ -403,10 +408,10 @@ export default {
   updated() {}, //生命周期 - 更新之后
   beforeDestroy() {}, //生命周期 - 销毁之前
   destroyed() {}, //生命周期 - 销毁完成
-  activated() {}, //如果页面有keep-alive缓存功能,这个函数会触发
+  activated() {} //如果页面有keep-alive缓存功能,这个函数会触发
 };
 </script>
-<style lang='less' scoped>
+<style lang="less" scoped>
 .customsManger_box {
   /deep/.el-card {
     overflow: hidden;
@@ -437,4 +442,4 @@ export default {
     margin: 0 0 0 15px;
   }
 }
-</style>
+</style>

+ 5 - 3
minggao/src/page/systemmanger/dayRecord.vue

@@ -45,7 +45,7 @@
       </el-row>
 
       <!-- 表格 -->
-      <el-table :data="tableData" stripe style="width: 100%">
+      <el-table :data="tableData" v-loading="loading" stripe style="width: 100%">
         <el-table-column prop="id" label="序号" width="180"> </el-table-column>
         <el-table-column prop="create_time" label="操作时间" width="200">
         </el-table-column>
@@ -102,6 +102,7 @@ export default {
 
       // 表格
       tableData: [],
+      loading: false, // 加载
 
       // 分页
       page: 1,
@@ -168,14 +169,14 @@ export default {
         }),
       })
         .then((res) => {
-          console.log(res);
           if (res.data.data.page_item !== 0) {
             this.tableData = res.data.data.page_list;
             this.tableSum = res.data.data.page_item;
           }
+          this.loading = false
         })
         .catch((err) => {
-          // console.log(err)
+          this.loading = false
         });
     },
 
@@ -208,6 +209,7 @@ export default {
   created() {},
   //生命周期 - 挂载完成(可以访问DOM元素)
   mounted() {
+    this.loading = true
     this.tableList();
   },
   beforeCreate() {}, //生命周期 - 创建之前

+ 5 - 2
minggao/src/page/systemmanger/harmfulBiology.vue

@@ -28,7 +28,7 @@
       </el-row>
 
       <!-- 列表 -->
-      <el-table :data="tableData" stripe style="width: 100%">
+      <el-table :data="tableData" v-loading="loading" stripe style="width: 100%">
         <el-table-column prop="ind" label="序号" width="120"> </el-table-column>
         <el-table-column prop="pest_name" label="有害生物名称" width="280">
         </el-table-column>
@@ -150,6 +150,7 @@ export default {
           endDate: "2021-01-06 10:00:00"
         }
       ],
+      loading: false, // 加载
 
       // 编辑、 添加
       tltData: "添加有害生物",
@@ -261,9 +262,10 @@ export default {
           } else {
             this.tableData = [];
           }
+          this.loading = false
         })
         .catch(err => {
-          console.log(err);
+          this.loading = false
         });
     },
 
@@ -380,6 +382,7 @@ export default {
   created() {},
   //生命周期 - 挂载完成(可以访问DOM元素)
   mounted() {
+    this.loading = true
     this.harmfulBiologyList();
   },
   beforeCreate() {}, //生命周期 - 创建之前

+ 5 - 2
minggao/src/page/systemmanger/role.vue

@@ -28,7 +28,7 @@
       </el-row>
 
       <!-- 列表 -->
-      <el-table :data="tableData" stripe style="width: 100%">
+      <el-table :data="tableData" v-loading="loading" stripe style="width: 100%">
         <el-table-column prop="ind" label="序号" width="280"></el-table-column>
         <el-table-column prop="role_name" label="角色名称" width="380">
         </el-table-column>
@@ -136,6 +136,7 @@ export default {
       fullHeight: document.documentElement.clientHeight - 116, //
       input: "",
       tableData: [],
+      loading: false, // 加载
       page: 1,
       pagesum: 0,
 
@@ -238,9 +239,10 @@ export default {
             this.tableData = [];
             this.pagesum = 0;
           }
+          this.loading = false
         })
         .catch((err) => {
-          // console.log(err)
+          this.loading = false
         });
     },
 
@@ -489,6 +491,7 @@ export default {
   created() {},
   //生命周期 - 挂载完成(可以访问DOM元素)
   mounted() {
+    this.loading = true
     this.tabListData(); // 表格数据
   },
   beforeCreate() {}, //生命周期 - 创建之前

+ 154 - 91
minggao/src/page/systemmanger/userManger.vue

@@ -12,6 +12,7 @@
             :data="data"
             :props="defaultProps"
             @node-click="handleNodeClick"
+            v-loading="loading"
           ></el-tree>
         </div>
 
@@ -54,7 +55,12 @@
           </el-row>
 
           <!-- 表格 -->
-          <el-table :data="tableData" stripe style="width: 100%">
+          <el-table
+            :data="tableData"
+            v-loading="loading2"
+            stripe
+            style="width: 100%"
+          >
             <el-table-column prop="ind" label="序号" width="90">
             </el-table-column>
             <el-table-column prop="real_name" label="姓名" width="190">
@@ -66,13 +72,17 @@
                 <span>{{ scope.row.mobile || "无" }}</span>
               </template>
             </el-table-column>
-            <el-table-column prop="org_list" label="所属组织" width="280">
+            <el-table-column
+              :show-overflow-tooltip="true"
+              prop="org_list"
+              label="所属组织"
+              width="280"
+            >
               <template slot-scope="scope">
-                <span
-                  v-for="(item, index) in scope.row.org_list"
-                  :key="index"
-                  >{{ item.org_name }}</span
-                >
+                <span v-for="(item, index) in scope.row.org_list" :key="index"
+                  >{{ item.org_name }}
+                  <span v-if="index !== scope.row.org_list.length - 1">、</span>
+                </span>
               </template>
             </el-table-column>
             <el-table-column prop="state" label="状态" width="120">
@@ -189,7 +199,9 @@
         </el-form-item>
 
         <el-form-item label="隶属海关: " prop="judge">
-          <el-cascader
+          <!-- <el-cascader
+            :change-on-select="true"
+            filterable
             :v-model="form.judge"
             :key="refreshItem"
             :options="tissueList"
@@ -198,16 +210,33 @@
               multiple: true,
               label: 'org_name',
               value: 'id',
-              emitPath: false,
               children: 'childrens',
-              checkStrictly: true,
+              checkStrictly: true
             }"
             clearable
+          ></el-cascader> -->
+          <el-cascader
+            filterable
+            @change="judgeData"
+            :key="refreshItem"
+            :change-on-select="true"
+            v-model="form.judge"
+            :options="tissueList"
+            :props="{
+              multiple: true,
+              label: 'org_name',
+              value: 'id',
+              children: 'childrens',
+              checkStrictly: true
+            }"
+            :clearable="true"
+            placeholder="请选择隶属海关"
           ></el-cascader>
         </el-form-item>
 
         <el-form-item label="角色: " prop="role">
           <el-cascader
+            filterable
             :v-model="form.role"
             :key="refreshItem"
             :options="roleData"
@@ -217,7 +246,7 @@
               label: 'role_name',
               multiple: true,
               emitPath: false,
-              checkStrictly: true,
+              checkStrictly: true
             }"
             clearable
           ></el-cascader>
@@ -288,11 +317,14 @@ export default {
     return {
       fullHeight: document.documentElement.clientHeight - 116, //
 
+      loading: true, //加载 - 组织列表
+      loading2: true, // 加载 - 表格列表
+
       // 树形图
       data: [],
       defaultProps: {
         children: "childrens",
-        label: "org_name",
+        label: "org_name"
       },
 
       // 搜索
@@ -317,41 +349,41 @@ export default {
         role: [], //角色
         phone: "", // 手机号码
         mailbox: "", //邮箱
-        state: "", // 账号状态
+        state: "" // 账号状态
       },
       rules: {
         user: [
-          { required: true, message: "请输入账号", trigger: "blur" },
+          { required: true, message: "请输入账号", trigger: "blur" }
           //   { min: 3, max: 5, message: "长度在 1 到 15 个字符", trigger: "blur" },
         ],
         password: [
           { required: true, message: "请输入密码", trigger: "blur" },
-          { validator: checkPath, trigger: "change" },
+          { validator: checkPath, trigger: "change" }
           //   { min: 3, max: 5, message: "长度在 1 到 15 个字符", trigger: "blur" },
         ],
         name: [
-          { required: true, message: "请输入姓名", trigger: "blur" },
+          { required: true, message: "请输入姓名", trigger: "blur" }
           //   { min: 3, max: 5, message: "长度在 1 到 15 个字符", trigger: "blur" },
         ],
         judge: [
-          { required: true, message: "请选检疫性有害生物", trigger: "blur" },
+          { required: true, message: "隶属海关,可多选", trigger: "blur" }
           //   { min: 3, max: 5, message: "长度在 1 到 15 个字符", trigger: "blur" },
         ],
         role: [
           {
             required: true,
-            message: "请选择角色",
-            trigger: "blur",
-          },
+            message: "请选择角色,可多选",
+            trigger: "blur"
+          }
           //   { min: 3, max: 5, message: "长度在 1 到 30 个字符", trigger: "blur" },
         ],
-        phone: [{ required: true, validator: checkphone, trigger: "blur" }],
+        phone: [{ required: true, validator: checkphone, trigger: "blur" }]
       },
       roleData: [], // 角色下拉框
       refreshItem: 0, //清除角色、组织值
       tissueList: [], // 组织下拉框
       editorObj: {}, //点击编辑选中当前的行数据
-      org_id: "", //组织id
+      org_id: "" //组织id
     };
   },
   //监听属性 类似于data概念
@@ -364,7 +396,7 @@ export default {
         this.fullHeight = val;
         this.timer = true;
         let that = this;
-        setTimeout(function () {
+        setTimeout(function() {
           //防止过度调用监测事件,导致卡顿
           that.timer = false;
         }, 400);
@@ -376,7 +408,7 @@ export default {
         this.$refs["form"].resetFields();
         this.refreshItem++;
       }
-    },
+    }
   },
   //方法集合
   methods: {
@@ -402,33 +434,59 @@ export default {
 
     // 树形图
     handleNodeClick(data) {
-      console.log(data);
       this.org_id = data.id;
+      this.loading2 = true;
       this.userListData();
     },
 
     // 编辑
-    actionFunc(data) {
+    actionFunc(e) {
       this.tltData = "编辑用户";
-      console.log(data);
-      this.editorObj = data;
-      this.form = {
-        user: data.username,
-        password: "",
-        name: data.real_name,
-        judge: data.org_list,
-        role: data.role_list,
-        phone: data.mobile,
-        mailbox: data.email,
-        state: data.state,
-      };
-      console.log(this.form);
+      this.editorObj = e;
+
+      this.form.judge = [];
+      for (var i = 0; i < e.org_list.length; i++) {
+        var arr = [e.org_list[i].org_id];
+        this.form.judge.push(arr);
+      }
+      if (e.parent_list.length != 0) {
+        var data = e.parent_list;
+        console.log(data);
+        for (var i = 0; i < data.length; i++) {
+          // console.log(data[i]);
+          // if (data[i].superior_org.length > 1) {
+          var data2 = data[i];
+          // console.log(data2);
+          for (var j = 0; j < data2.length; j++) {
+            console.log(data2[j]);
+            this.form.judge[i].unshift(data2[j].org_id);
+            // }
+            // } else {
+            //   if (data[i].superior_org.length != 0) {
+            //     this.form.judge[i].unshift(data[i].superior_org[0].org_id);
+            //   }
+          }
+        }
+      }
+      console.log(this.form.judge);
+
+      // this.form = {
+      //   user: data.username,
+      //   password: "",
+      //   name: data.real_name,
+      //   // judge: orgList,
+      //   // role: roleList,
+      //   judge: data.org_list,
+      //   role: data.role_list,
+      //   phone: data.mobile,
+      //   mailbox: data.email,
+      //   state: data.state
+      // };
+      // console.log(this.form);
       this.userVisible = true;
     },
-
     // 停用
     outUse(data) {
-      console.log(data);
       if (data.state == "已停用") {
         var msg = "启用";
       } else if (data.state == "正常") {
@@ -437,7 +495,7 @@ export default {
       this.$confirm("此操作将" + msg + "该账号, 是否继续?", "提示", {
         confirmButtonText: "确定",
         cancelButtonText: "取消",
-        type: "warning",
+        type: "warning"
       })
         .then(() => {
           this.$axios({
@@ -445,14 +503,14 @@ export default {
             url: "/api/api_gateway?method=sysmenage.usermanager.user_disable",
             data: this.qs.stringify({
               user_id: data.user_id,
-              state: msg == "启用" ? 1 : 4,
-            }),
-          }).then((res) => {
+              state: msg == "启用" ? 1 : 4
+            })
+          }).then(res => {
             if (res.data.data == true) {
               this.$message({
                 type: "success",
                 message: "成功",
-                duration: 1500,
+                duration: 1500
               });
               this.userListData();
             }
@@ -461,7 +519,7 @@ export default {
         .catch(() => {
           this.$message({
             type: "info",
-            message: "已取消",
+            message: "已取消"
           });
         });
     },
@@ -473,29 +531,29 @@ export default {
         cancelButtonText: "取消",
         inputPlaceholder: "默认密码为@12345678",
         inputErrorMessage: "新密码格式不正确",
-        inputValidator: (val) => {
+        inputValidator: val => {
           if (escape(val).indexOf("%u") != -1) {
             return "不能输入汉字!";
           } else if (val.split(" ").join("").length == 0) {
             return "不能输入空格!";
           }
-        },
+        }
       })
         .then(({ value }) => {
           this.$axios({
             method: "POST",
-            url: "/api/api_gateway?method=sysmenage.usermanager.password_modify",
+            url:
+              "/api/api_gateway?method=sysmenage.usermanager.password_modify",
             data: this.qs.stringify({
               user_id: data.user_id,
-              password: value == null ? "@12345678" : value,
-            }),
-          }).then((res) => {
-            console.log(res);
+              password: value == null ? "@12345678" : value
+            })
+          }).then(res => {
             if (res.data.data == true) {
               this.$message({
                 message: "成功!",
                 type: "success",
-                duration: 1500,
+                duration: 1500
               });
             }
             this.userListData();
@@ -504,7 +562,7 @@ export default {
         .catch(() => {
           this.$message({
             type: "info",
-            message: "取消输入",
+            message: "取消输入"
           });
         });
     },
@@ -514,47 +572,51 @@ export default {
       this.$confirm("此操作将永久删除该账号, 是否继续?", "提示", {
         confirmButtonText: "确定",
         cancelButtonText: "取消",
-        type: "warning",
+        type: "warning"
       })
         .then(() => {
           this.$axios({
             method: "POST",
             url: "/api/api_gateway?method=sysmenage.usermanager.user_delete",
             data: this.qs.stringify({
-              user_id: data.user_id,
-            }),
-          }).then((res) => {
+              user_id: data.user_id
+            })
+          }).then(res => {
             if (res.data.data == true) {
               this.$message({
                 message: "成功!",
                 type: "success",
-                duration: 1500,
+                duration: 1500
               });
             } else {
               this.$message({
                 message: "失败!",
                 type: "error",
-                duration: 1500,
+                duration: 1500
               });
             }
+            this.loading2 = true;
             this.userListData();
           });
         })
         .catch(() => {
           this.$message({
             type: "info",
-            message: "已取消删除",
+            message: "已取消删除"
           });
         });
     },
 
     // 分页
     changeList(page) {
+      this.loading2 = true;
       this.page = page;
+      this.userListData();
     },
 
     // 搜索
     searchData() {
+      this.loading2 = true;
       this.userListData();
     },
 
@@ -566,7 +628,7 @@ export default {
 
     // 添加 - 编辑 确定
     submitForm() {
-      this.$refs["form"].validate((valid) => {
+      this.$refs["form"].validate(valid => {
         if (valid) {
           if (this.tltData == "添加用户") {
             var postData = this.qs.stringify({
@@ -577,7 +639,7 @@ export default {
               role_id_list: JSON.stringify(this.form.role), // 角色id数组 必
               state: this.form.state, //用户状态
               mobile: this.form.phone, // 手机号
-              email: this.form.mailbox, //邮箱地址
+              email: this.form.mailbox //邮箱地址
             });
             var url = "/api/api_gateway?method=sysmenage.usermanager.user_add";
           } else if (this.tltData == "编辑用户") {
@@ -587,7 +649,7 @@ export default {
               org_id_list: JSON.stringify(this.form.judge), //组织id数组 必
               role_id_list: JSON.stringify(this.form.role), //角色id数组 必
               mobile: this.form.phone, //手机号
-              email: this.form.mailbox, //邮箱地址
+              email: this.form.mailbox //邮箱地址
             });
             var url =
               "/api/api_gateway?method=sysmenage.usermanager.user_modify";
@@ -595,14 +657,13 @@ export default {
           this.$axios({
             method: "POST",
             url,
-            data: postData,
-          }).then((res) => {
-            console.log(res);
+            data: postData
+          }).then(res => {
             if (res.data.data == true) {
               this.$message({
                 message: "成功!",
                 type: "success",
-                duration: 1500,
+                duration: 1500
               });
             }
             this.$refs["form"].resetFields();
@@ -631,10 +692,10 @@ export default {
           page_item: "10",
           real_name: this.nameVal, // 用户名称
           mobile: this.phoneVal, //电话
-          org_id: this.org_id,
-        }),
+          org_id: this.org_id
+        })
       })
-        .then((res) => {
+        .then(res => {
           if (res.data.data.page_item !== 0) {
             var data = res.data.data.page_list;
             var list = [];
@@ -643,11 +704,12 @@ export default {
               list.push(item);
             });
             this.tableData = list;
+            this.loading2 = false;
             this.pageSum = res.data.data.page_item;
           }
         })
-        .catch((err) => {
-          console.log(err);
+        .catch(err => {
+          this.loading2 = false;
         });
     },
 
@@ -659,23 +721,24 @@ export default {
         data: this.qs.stringify({
           page: this.page,
           page_item: "100000000",
-          org_name: "",
-        }),
+          org_name: ""
+        })
       })
-        .then((res) => {
+        .then(res => {
           if (res.data.data.page_list.length !== 0) {
             var obj = {
               org_name: "全部",
-              id: "",
+              id: ""
             };
             var list = res.data.data.page_list;
             this.tissueList = list; // 弹框组织列表
             var data = res.data.data.page_list;
             this.data = [obj, ...data]; // 左侧组织列表
+            this.loading = false;
           }
         })
-        .catch((err) => {
-          console.log(err);
+        .catch(err => {
+          this.loading2 = false;
         });
     },
 
@@ -687,29 +750,29 @@ export default {
         data: this.qs.stringify({
           page: this.page,
           page_item: "10000000",
-          role_name: "",
-        }),
+          role_name: ""
+        })
       })
-        .then((res) => {
+        .then(res => {
           if (res.data.data.total_item !== 0) {
             this.roleData = res.data.data.page_list;
           }
         })
-        .catch((err) => {});
+        .catch(err => {});
     },
     judgeData(item) {
-      // console.log(item);
       this.form.judge = item;
-      console.log(this.form.judge)
     },
     roleChange(item) {
       this.form.role = item;
-    },
+    }
   },
   //生命周期 - 创建完成(可以访问当前this实例)
   created() {},
   //生命周期 - 挂载完成(可以访问DOM元素)
   mounted() {
+    this.loading = true; // 加载 - 组织列表
+    this.loading2 = true; // 加载 - 表格列表
     this.userListData(); //表格数据
     this.organizationData(); //左侧组织数据
     this.roleAxios(); // 角色列表
@@ -720,10 +783,10 @@ export default {
   updated() {}, //生命周期 - 更新之后
   beforeDestroy() {}, //生命周期 - 销毁之前
   destroyed() {}, //生命周期 - 销毁完成
-  activated() {}, //如果页面有keep-alive缓存功能,这个函数会触发
+  activated() {} //如果页面有keep-alive缓存功能,这个函数会触发
 };
 </script>
-<style lang='less' scoped>
+<style lang="less" scoped>
 .userManger_box {
   .card_box {
     display: flex;
@@ -781,4 +844,4 @@ export default {
     width: 80%;
   }
 }
-</style>
+</style>