瀏覽代碼

增加后台用户所属工会

yanliming 3 年之前
父節點
當前提交
8b7a62a26c

+ 9 - 1
src/api/base/orgInfo.js

@@ -41,6 +41,14 @@ function batchRemove(idList){
   });
 }
 
+function treeList() {
+  return request.post(constant.serverUrl + "/base/orgInfo/treeList");
+}
+
+function loadChildren(formData) {
+  return request.post(constant.serverUrl + "/base/orgInfo/children",formData);
+}
+
 export default {
-  pageList,create,edit,add,update,remove,batchRemove
+  pageList,create,edit,add,update,remove,batchRemove,treeList,loadChildren
 }

+ 59 - 6
src/views/base/orgInfo-detail.vue

@@ -12,6 +12,15 @@
   >
     <div class="user-panel" v-loading="loading">
       <el-form ref="form" :model="formModel" inline :rules="ruleValidate" :label-width="'100px'">
+        <el-form-item label="上级工会" prop="parentId">
+          <el-select-tree
+            :props="props"
+            :options="orgResult"
+            v-model="formModel.parentId"
+            height="300"
+            size="large"
+          ></el-select-tree>
+        </el-form-item>
         <el-form-item label="工会名称" prop="name">
           <el-input v-model="formModel.name" placeholder="请输入工会名称" style="width:300px"></el-input>
         </el-form-item>
@@ -25,15 +34,16 @@
 </template>
 <script>
 import orgInfoApi from "@/api/base/orgInfo";
+import SelectTree from "@/components/SelectTree";
 
 export default {
-  props: ["businessKey", "title"],
+  props: ["businessKey", "title","companyResult"],
   computed: {
       ruleValidate (){
         var rules = null;
         rules = {
             name: [
-                { required: true, message: "桩名不能为空", trigger: "blur" }
+                { required: true, message: "工会名称不能为空", trigger: "blur" }
             ],
         };
         return rules;
@@ -45,12 +55,14 @@ export default {
       loading: false,
       submitting: false,
       formModel: {
-        templateId:"",
-        priceList:[],
+        id:"",
+        name:"",
+        parentId:"",
       },
       templateList: [],
       defaultPriceList:[],
       chargingStationResult:[],
+      orgResult:[],
       treeData: [],
       props: {
         // 配置项(必选)
@@ -72,8 +84,6 @@ export default {
           (function () {
             var id = self.formModel.id;
 
-            self.formModel.priceList = self.defaultPriceList;
-
             if (id == null || id.length == 0) {
               return orgInfoApi.add(self.formModel);
             } else {
@@ -101,8 +111,48 @@ export default {
         }
       });
     },
+
+    loadTree() {
+      orgInfoApi.treeList().then((resp) => {
+        var jsonData = resp.data;
+
+        if (jsonData.result) {
+          this.treeData = jsonData.data;
+        } else {
+          this.$message.error(jsonData.message + "");
+        }
+      });
+    },
+    loadChildren(tree, treeNode, resolve) {
+      console.log(tree);
+
+      var formData = new FormData();
+      formData.append("parentId", tree.id);
+
+      orgInfoApi.loadChildren(formData).then((resp) => {
+        var jsonData = resp.data;
+
+        if (jsonData.result) {
+          resolve(jsonData.data);
+        } else {
+          this.$message.error(jsonData.message + "");
+        }
+      });
+    },
   },
   created() {
+    var self = this;
+
+    orgInfoApi.treeList().then(function (response) {
+      var jsonData = response.data;
+      if (jsonData.result) {
+        if (jsonData.data != null && jsonData.data != "") {
+          self.orgResult = jsonData.data;
+        }
+      }
+    });
+
+    //self.loadTree();
   },
   mounted: function () {
     var self = this;
@@ -128,6 +178,9 @@ export default {
         self.$message.error(error + "");
       });
   },
+  components: {
+    "el-select-tree": SelectTree,
+  },
 };
 </script>
 

+ 7 - 2
src/views/base/orgInfo-list.vue

@@ -16,7 +16,7 @@
       inline
       class="demo-form-inline"
     >
-      <el-form-item label="单位名称" prop="name">
+      <el-form-item label="工会名称" prop="name">
         <el-input type="text" size="mini" v-model="queryModel.name"></el-input>
       </el-form-item>
       <el-form-item>
@@ -67,9 +67,14 @@
       @selection-change="handleSelectionChange"
     >
       <el-table-column type="selection" width="55"></el-table-column>
+      <el-table-column
+        prop="parentName"
+        label="上级工会"
+        width="200"
+      ></el-table-column>
       <el-table-column
         prop="name"
-        label="单位名称"
+        label="工会名称"
         width="200"
       ></el-table-column>
       <el-table-column

+ 3 - 3
src/views/sys/user-detail.vue

@@ -39,8 +39,8 @@
           </el-select> -->
           <el-select-tree
           size="mediumn"
-          :options="companyResult"
-          v-model="formModel.companyId"
+          :options="orgResult"
+          v-model="formModel.orgId"
           width="300px"
         ></el-select-tree>
         </el-form-item>
@@ -77,7 +77,7 @@ import roleApi from "@/api/sys/role";
 import SelectTree from "@/components/SelectTree";
 
 export default {
-  props: ["businessKey", "title", "companyResult"],
+  props: ["businessKey", "title", "orgResult"],
   data() {
     return {
       showPwd: true,

+ 17 - 14
src/views/sys/user-list.vue

@@ -20,7 +20,7 @@
       <el-form-item label="真实名称" prop="realName">
         <el-input type="text" size="mini" v-model="queryModel.realName"></el-input>
       </el-form-item>
-      <el-form-item label="所属单位" prop="companyId">
+      <el-form-item label="所属工会" prop="companyId">
         <!-- <el-select
           v-model="queryModel.companyId"
           size="mini"
@@ -38,7 +38,7 @@
         <el-select-tree
           size="mini"
           :props="props"
-          :options="companyResult"
+          :options="orgResult"
           v-model="queryModel.companyId"
           height="200"
         ></el-select-tree>
@@ -112,9 +112,9 @@
         width="180"
       ></el-table-column>
       <el-table-column
-        prop="companyName"
-        sort-by="company_name"
-        label="所属单位"
+        prop="orgName"
+        sort-by="orgName"
+        label="所属工会"
         sortable="custom"
         width="180"
       ></el-table-column>
@@ -152,7 +152,7 @@
       v-if="showModal"
       ref="userDetail"
       :businessKey="businessKey"
-      :companyResult="companyResult"
+      :orgResult="orgResult"
       :title="modalTitle"
       @close="onDetailModalClose"
     ></user-detail>
@@ -182,6 +182,8 @@ import userApi from "@/api/sys/user";
 import roleApi from "@/api/sys/role";
 import NProgress from "nprogress"; // progress bar
 import "nprogress/nprogress.css"; // progress bar style
+import SelectTree from "@/components/SelectTree";
+import orgInfoApi from "@/api/base/orgInfo";
 
 export default {
   name: 'SysUserList',
@@ -218,6 +220,7 @@ export default {
         label: "name",
         children: "children"
       },
+      orgResult:[],
     };
   },
   methods: {
@@ -393,12 +396,12 @@ export default {
     var self = this;
     this.changePage(1);
 
-    // companyInfoApi.treeList().then(function(response) {
-    //   var jsonData = response.data;
-    //   if (jsonData.result) {
-    //     self.companyResult = jsonData.data;
-    //   }
-    // });
+    orgInfoApi.treeList().then(function(response) {
+      var jsonData = response.data;
+      if (jsonData.result) {
+        self.orgResult = jsonData.data;
+      }
+    });
 
     roleApi.selectAll().then(function(response) {
       var jsonData = response.data;
@@ -408,8 +411,8 @@ export default {
     });
   },
   components: {
-    // "user-detail": UserDetail,
-    // "el-select-tree": SelectTree,
+    "user-detail": UserDetail,
+    "el-select-tree": SelectTree,
   }
 };
 </script>