From 3da12323ba999d0af15646e2384a4c18fb414683 Mon Sep 17 00:00:00 2001
From: 唐耀东 <18861537@qq.com>
Date: 星期四, 09 十二月 2021 15:00:19 +0800
Subject: [PATCH] 提交代码

---
 src/views/system/dept/index.vue |  169 ++++++++++++++++++++++++++++++++++++++++++++-----------
 1 files changed, 134 insertions(+), 35 deletions(-)

diff --git a/src/views/system/dept/index.vue b/src/views/system/dept/index.vue
index e215b1c..1cd40ea 100644
--- a/src/views/system/dept/index.vue
+++ b/src/views/system/dept/index.vue
@@ -1,17 +1,17 @@
 <template>
   <div class="app-container">
     <el-form :model="queryParams" ref="queryForm" :inline="true" v-show="showSearch">
-      <el-form-item label="閮ㄩ棬鍚嶇О" prop="deptName">
+      <el-form-item label="鏈烘瀯鍚嶇О" prop="deptName">
         <el-input
           v-model="queryParams.deptName"
-          placeholder="璇疯緭鍏ラ儴闂ㄥ悕绉�"
+          placeholder="璇疯緭鍏ユ満鏋勫悕绉�"
           clearable
           size="small"
           @keyup.enter.native="handleQuery"
         />
       </el-form-item>
-      <el-form-item label="鐘舵��" prop="status">
-        <el-select v-model="queryParams.status" placeholder="閮ㄩ棬鐘舵��" clearable size="small">
+      <el-form-item label="鏈烘瀯鐘舵��" prop="status">
+        <el-select v-model="queryParams.status" placeholder="鏈烘瀯鐘舵��" clearable size="small">
           <el-option
             v-for="dict in dict.type.sys_normal_disable"
             :key="dict.value"
@@ -35,7 +35,8 @@
           size="mini"
           @click="handleAdd"
           v-hasPermi="['system:dept:add']"
-        >鏂板</el-button>
+        >鏂板
+        </el-button>
       </el-col>
       <el-col :span="1.5">
         <el-button
@@ -44,7 +45,8 @@
           icon="el-icon-sort"
           size="mini"
           @click="toggleExpandAll"
-        >灞曞紑/鎶樺彔</el-button>
+        >灞曞紑/鎶樺彔
+        </el-button>
       </el-col>
       <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
     </el-row>
@@ -57,13 +59,17 @@
       :default-expand-all="isExpandAll"
       :tree-props="{children: 'children', hasChildren: 'hasChildren'}"
     >
-      <el-table-column prop="deptName" label="閮ㄩ棬鍚嶇О" width="260"></el-table-column>
-      <el-table-column prop="orderNum" label="鎺掑簭" width="200"></el-table-column>
+      <el-table-column prop="deptName" label="鏈烘瀯鍚嶇О" width="260"></el-table-column>
+      <el-table-column prop="code" label="鏈烘瀯缂栧彿" width="200"></el-table-column>
+<!--      <el-table-column prop="orderNum" label="鎺掑簭" width="200"></el-table-column>-->
       <el-table-column prop="status" label="鐘舵��" width="100">
         <template slot-scope="scope">
           <dict-tag :options="dict.type.sys_normal_disable" :value="scope.row.status"/>
         </template>
       </el-table-column>
+      <el-table-column prop="leaderName" label="涓昏礋璐d汉" width="200"></el-table-column>
+      <el-table-column prop="leaderAssistantName" label="鍓礋璐d汉" width="200"></el-table-column>
+      <el-table-column prop="remarks" label="鏈烘瀯鑱岃兘" width="200"></el-table-column>
       <el-table-column label="鍒涘缓鏃堕棿" align="center" prop="createTime" width="200">
         <template slot-scope="scope">
           <span>{{ parseTime(scope.row.createTime) }}</span>
@@ -75,16 +81,25 @@
             size="mini"
             type="text"
             icon="el-icon-edit"
+            @click="handleUser(scope.row)"
+          >鎴愬憳
+          </el-button>
+          <el-button
+            size="mini"
+            type="text"
+            icon="el-icon-edit"
             @click="handleUpdate(scope.row)"
             v-hasPermi="['system:dept:edit']"
-          >淇敼</el-button>
+          >淇敼
+          </el-button>
           <el-button
             size="mini"
             type="text"
             icon="el-icon-plus"
             @click="handleAdd(scope.row)"
             v-hasPermi="['system:dept:add']"
-          >鏂板</el-button>
+          >鏂板
+          </el-button>
           <el-button
             v-if="scope.row.parentId != 0"
             size="mini"
@@ -92,7 +107,8 @@
             icon="el-icon-delete"
             @click="handleDelete(scope.row)"
             v-hasPermi="['system:dept:remove']"
-          >鍒犻櫎</el-button>
+          >鍒犻櫎
+          </el-button>
         </template>
       </el-table-column>
     </el-table>
@@ -102,44 +118,74 @@
       <el-form ref="form" :model="form" :rules="rules" label-width="80px">
         <el-row>
           <el-col :span="24" v-if="form.parentId !== 0">
-            <el-form-item label="涓婄骇閮ㄩ棬" prop="parentId">
-              <treeselect v-model="form.parentId" :options="deptOptions" :normalizer="normalizer" placeholder="閫夋嫨涓婄骇閮ㄩ棬" />
+            <el-form-item label="涓婄骇鏈烘瀯" prop="parentId">
+              <treeselect v-model="form.parentId" :options="deptOptions" :normalizer="normalizer" placeholder="閫夋嫨涓婄骇閮ㄩ棬"/>
             </el-form-item>
           </el-col>
           <el-col :span="12">
-            <el-form-item label="閮ㄩ棬鍚嶇О" prop="deptName">
-              <el-input v-model="form.deptName" placeholder="璇疯緭鍏ラ儴闂ㄥ悕绉�" />
+            <el-form-item label="鏈烘瀯鍚嶇О" prop="deptName">
+              <el-input v-model="form.deptName" placeholder="璇疯緭鍏ユ満鏋勫悕绉�"/>
+            </el-form-item>
+          </el-col>
+          <el-col :span="12">
+            <el-form-item label="鏈烘瀯缂栧彿" prop="code">
+              <el-input v-model="form.code" placeholder="璇疯緭鍏ユ満鏋勫悕绉�"/>
             </el-form-item>
           </el-col>
           <el-col :span="12">
             <el-form-item label="鏄剧ず鎺掑簭" prop="orderNum">
-              <el-input-number v-model="form.orderNum" controls-position="right" :min="0" />
+              <el-input-number v-model="form.orderNum" controls-position="right" :min="0"/>
             </el-form-item>
           </el-col>
           <el-col :span="12">
-            <el-form-item label="璐熻矗浜�" prop="leader">
-              <el-input v-model="form.leader" placeholder="璇疯緭鍏ヨ礋璐d汉" maxlength="20" />
+            <el-form-item label="涓昏礋璐d汉" prop="leader">
+              <el-select v-model="form.leader" placeholder="璇烽�夋嫨涓昏礋璐d汉" clearable size="small">
+                <el-option
+                  v-for="dict in userList"
+                  :key="dict.userId"
+                  :label="dict.nickName"
+                  :value="dict.userId"
+                />
+              </el-select>
             </el-form-item>
           </el-col>
           <el-col :span="12">
-            <el-form-item label="鑱旂郴鐢佃瘽" prop="phone">
-              <el-input v-model="form.phone" placeholder="璇疯緭鍏ヨ仈绯荤數璇�" maxlength="11" />
+            <el-form-item label="鍓礋璐d汉" prop="leaderAssistant">
+              <el-select v-model="form.leaderAssistant" placeholder="璇烽�夋嫨鍓礋璐d汉" clearable size="small">
+                <el-option
+                  v-for="dict in userList"
+                  :key="dict.userId"
+                  :label="dict.nickName"
+                  :value="dict.userId"
+                />
+              </el-select>
             </el-form-item>
           </el-col>
+          <!--          <el-col :span="12">-->
+          <!--            <el-form-item label="鑱旂郴鐢佃瘽" prop="phone">-->
+          <!--              <el-input v-model="form.phone" placeholder="璇疯緭鍏ヨ仈绯荤數璇�" maxlength="11" />-->
+          <!--            </el-form-item>-->
+          <!--          </el-col>-->
+          <!--          <el-col :span="12">-->
+          <!--            <el-form-item label="閭" prop="email">-->
+          <!--              <el-input v-model="form.email" placeholder="璇疯緭鍏ラ偖绠�" maxlength="50" />-->
+          <!--            </el-form-item>-->
+          <!--          </el-col>-->
           <el-col :span="12">
-            <el-form-item label="閭" prop="email">
-              <el-input v-model="form.email" placeholder="璇疯緭鍏ラ偖绠�" maxlength="50" />
-            </el-form-item>
-          </el-col>
-          <el-col :span="12">
-            <el-form-item label="閮ㄩ棬鐘舵��">
+            <el-form-item label="鏈烘瀯鐘舵��">
               <el-radio-group v-model="form.status">
                 <el-radio
                   v-for="dict in dict.type.sys_normal_disable"
                   :key="dict.value"
                   :label="dict.value"
-                >{{dict.label}}</el-radio>
+                >{{dict.label}}
+                </el-radio>
               </el-radio-group>
+            </el-form-item>
+          </el-col>
+          <el-col :span="24">
+            <el-form-item label="鏈烘瀯鑱岃兘" prop="remarks">
+              <el-input v-model="form.remarks" type="textarea" placeholder="璇疯緭鍏ユ満鏋勮亴鑳�" controls-position="right" :min="0"/>
             </el-form-item>
           </el-col>
         </el-row>
@@ -149,18 +195,39 @@
         <el-button @click="cancel">鍙� 娑�</el-button>
       </div>
     </el-dialog>
+
+    <!--鏈烘瀯鎴愬憳-->
+    <el-drawer
+      title="鏈烘瀯鎴愬憳"
+      :visible.sync="drawer"
+      direction="rtl"
+      size="50%">
+      <el-table :data="userTable">
+        <el-table-column property="nickName" label="濮撳悕" width="150"></el-table-column>
+        <el-table-column property="phonenumber" label="鐢佃瘽" width="200"></el-table-column>
+        <el-table-column property="userName" label="璐﹀彿"></el-table-column>
+      </el-table>
+      <pagination
+        v-show="tableTotal>0"
+        :total="tableTotal"
+        :page.sync="queryTable.pageNum"
+        :limit.sync="queryTable.pageSize"
+        @pagination="getList"
+      />
+    </el-drawer>
   </div>
 </template>
 
 <script>
-import { listDept, getDept, delDept, addDept, updateDept, listDeptExcludeChild } from "@/api/system/dept";
+import {listDept, getDept, delDept, addDept, updateDept, listDeptExcludeChild} from "@/api/system/dept";
+import {listUser, listUserDept} from "@/api/common/common";
 import Treeselect from "@riophae/vue-treeselect";
 import "@riophae/vue-treeselect/dist/vue-treeselect.css";
 
 export default {
   name: "Dept",
   dicts: ['sys_normal_disable'],
-  components: { Treeselect },
+  components: {Treeselect},
   data() {
     return {
       // 閬僵灞�
@@ -189,13 +256,16 @@
       // 琛ㄥ崟鏍¢獙
       rules: {
         parentId: [
-          { required: true, message: "涓婄骇閮ㄩ棬涓嶈兘涓虹┖", trigger: "blur" }
+          {required: true, message: "涓婄骇鏈烘瀯涓嶈兘涓虹┖", trigger: "blur"}
         ],
         deptName: [
-          { required: true, message: "閮ㄩ棬鍚嶇О涓嶈兘涓虹┖", trigger: "blur" }
+          {required: true, message: "鏈烘瀯鍚嶇О涓嶈兘涓虹┖", trigger: "blur"}
+        ],
+        code: [
+          {required: true, message: "鏈烘瀯缂栧彿涓嶈兘涓虹┖", trigger: "blur"}
         ],
         orderNum: [
-          { required: true, message: "鏄剧ず鎺掑簭涓嶈兘涓虹┖", trigger: "blur" }
+          {required: true, message: "鏄剧ず鎺掑簭涓嶈兘涓虹┖", trigger: "blur"}
         ],
         email: [
           {
@@ -211,6 +281,17 @@
             trigger: "blur"
           }
         ]
+      },
+      // 涓嬫媺鐢ㄦ埛
+      userList: [],
+      // 鎴愬憳鎶藉眽
+      drawer: false,
+      // 鎴愬憳琛ㄦ牸
+      userTable: [],
+      tableTotal: 0,
+      queryTable: {
+        pageNum: 1,
+        pageSize: 10
       }
     };
   },
@@ -268,6 +349,7 @@
     /** 鏂板鎸夐挳鎿嶄綔 */
     handleAdd(row) {
       this.reset();
+      this.getUserList()
       if (row != undefined) {
         this.form.parentId = row.deptId;
       }
@@ -277,6 +359,12 @@
         this.deptOptions = this.handleTree(response.data, "deptId");
       });
     },
+    // 鐢ㄦ埛涓嬫媺鍒楄〃
+    getUserList() {
+      listUser().then(res => {
+        this.userList = res.data
+      })
+    },
     /** 灞曞紑/鎶樺彔鎿嶄綔 */
     toggleExpandAll() {
       this.refreshTable = false;
@@ -285,9 +373,19 @@
         this.refreshTable = true;
       });
     },
+    // 鏈烘瀯鎴愬憳
+    handleUser(row) {
+      this.drawer = true
+      listUserDept(Object.assign({}, {deptId: row.deptId}, this.queryTable)).then(res => {
+        console.log(res)
+        this.userTable = res.data.records
+        this.tableTotal = res.data.total
+      })
+    },
     /** 淇敼鎸夐挳鎿嶄綔 */
     handleUpdate(row) {
       this.reset();
+      this.getUserList()
       getDept(row.deptId).then(response => {
         this.form = response.data;
         this.open = true;
@@ -298,7 +396,7 @@
       });
     },
     /** 鎻愪氦鎸夐挳 */
-    submitForm: function() {
+    submitForm: function () {
       this.$refs["form"].validate(valid => {
         if (valid) {
           if (this.form.deptId != undefined) {
@@ -319,12 +417,13 @@
     },
     /** 鍒犻櫎鎸夐挳鎿嶄綔 */
     handleDelete(row) {
-      this.$modal.confirm('鏄惁纭鍒犻櫎鍚嶇О涓�"' + row.deptName + '"鐨勬暟鎹」锛�').then(function() {
+      this.$modal.confirm('鏄惁纭鍒犻櫎鍚嶇О涓�"' + row.deptName + '"鐨勬暟鎹」锛�').then(function () {
         return delDept(row.deptId);
       }).then(() => {
         this.getList();
         this.$modal.msgSuccess("鍒犻櫎鎴愬姛");
-      }).catch(() => {});
+      }).catch(() => {
+      });
     }
   }
 };

--
Gitblit v1.9.1