From 4c9fdc87987140e8b2c3f0dfc2f6608cdb6be774 Mon Sep 17 00:00:00 2001
From: WXL <wl_5969728@163.com>
Date: 星期三, 21 十月 2026 17:39:24 +0800
Subject: [PATCH] 青岛维护

---
 src/views/system/user/index.vue |   84 +++++++++++++++++++++++++++++++++++------
 1 files changed, 71 insertions(+), 13 deletions(-)

diff --git a/src/views/system/user/index.vue b/src/views/system/user/index.vue
index a3c0426..0474d45 100644
--- a/src/views/system/user/index.vue
+++ b/src/views/system/user/index.vue
@@ -90,7 +90,6 @@
               icon="el-icon-plus"
               size="mini"
               @click="handleAdd"
-              v-hasPermi="['system:user:add']"
             >鏂板</el-button>
           </el-col>
           <el-col :span="1.5">
@@ -101,7 +100,6 @@
               size="mini"
               :disabled="single"
               @click="handleUpdate"
-              v-hasPermi="['system:user:edit']"
             >淇敼</el-button>
           </el-col>
           <el-col :span="1.5">
@@ -112,7 +110,6 @@
               size="mini"
               :disabled="multiple"
               @click="handleDelete"
-              v-hasPermi="['system:user:remove']"
             >鍒犻櫎</el-button>
           </el-col>
           <el-col :span="1.5">
@@ -122,7 +119,6 @@
               icon="el-icon-upload2"
               size="mini"
               @click="handleImport"
-              v-hasPermi="['system:user:import']"
             >瀵煎叆</el-button>
           </el-col>
           <el-col :span="1.5">
@@ -133,7 +129,6 @@
               size="mini"
               :loading="exportLoading"
               @click="handleExport"
-              v-hasPermi="['system:user:export']"
             >瀵煎嚭</el-button>
           </el-col>
 
@@ -175,31 +170,28 @@
                 class="el-xg"
                 icon="el-icon-help"
                 @click="handleunlock(scope.row)"
-                v-hasPermi="['system:user:edit']"
               >瑙i攣</el-button>
               <el-button
                 size="mini"
                 type="text"
                 icon="el-icon-edit"
                 @click="handleUpdate(scope.row)"
-                v-hasPermi="['system:user:edit']"
               >淇敼</el-button>
               <el-button
                 size="mini"
                 type="text"
                 icon="el-icon-delete"
                 @click="handleDelete(scope.row)"
-                v-hasPermi="['system:user:remove']"
               >鍒犻櫎</el-button>
-              <el-dropdown size="mini" @command="(command) => handleCommand(command, scope.row)" v-hasPermi="['system:user:resetPwd', 'system:user:edit']">
+              <el-dropdown size="mini" @command="(command) => handleCommand(command, scope.row)">
                 <span class="el-dropdown-link">
                   <i class="el-icon-d-arrow-right el-icon--right"></i>鏇村
                 </span>
                 <el-dropdown-menu slot="dropdown">
                   <el-dropdown-item command="handleResetPwd" icon="el-icon-key"
-                    v-hasPermi="['system:user:resetPwd']">閲嶇疆瀵嗙爜</el-dropdown-item>
+>閲嶇疆瀵嗙爜</el-dropdown-item>
                   <el-dropdown-item command="handleAuthRole" icon="el-icon-circle-check"
-                    v-hasPermi="['system:user:edit']">鍒嗛厤瑙掕壊</el-dropdown-item>
+>鍒嗛厤瑙掕壊</el-dropdown-item>
                 </el-dropdown-menu>
               </el-dropdown>
             </template>
@@ -217,8 +209,8 @@
     </el-row>
 
     <!-- 娣诲姞鎴栦慨鏀瑰弬鏁伴厤缃璇濇 -->
-    <el-dialog :title="title" :visible.sync="open" width="600px" append-to-body>
-      <el-form ref="form" :model="form" :rules="rules" label-width="80px">
+    <el-dialog :title="title" :visible.sync="open" width="660px" append-to-body>
+      <el-form ref="form" :model="form" :rules="rules" label-width="100px">
         <el-row>
           <el-col :span="12">
             <el-form-item label="鐢ㄦ埛鏄电О" prop="nickName">
@@ -240,6 +232,37 @@
           <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-row>
+        <el-row>
+          <el-col :span="12">
+            <el-form-item label="鏈烘瀯" prop="orgId">
+              <el-select v-model="form.orgId" filterable clearable placeholder="璇烽�夋嫨鏈烘瀯" @change="handleOrgChange">
+                <el-option
+                  v-for="org in orgOptions"
+                  :key="org.id"
+                  :label="org.organizationname"
+                  :value="org.id"
+                />
+              </el-select>
+            </el-form-item>
+          </el-col>
+          <el-col :span="12">
+            <el-form-item label="鍗忚皟鍛樺鍚�" prop="coordinatorName">
+              <el-input v-model="form.coordinatorName" placeholder="璇疯緭鍏ュ崗璋冨憳濮撳悕" />
+            </el-form-item>
+          </el-col>
+        </el-row>
+        <el-row>
+          <el-col :span="12">
+            <el-form-item label="鍗忚皟鍛樼紪鍙�" prop="coordinatorNo">
+              <el-input v-model="form.coordinatorNo" placeholder="璇疯緭鍏ュ崗璋冨憳缂栧彿" />
+            </el-form-item>
+          </el-col>
+          <el-col :span="12">
+            <el-form-item label="韬唤璇�" prop="idcardno">
+              <el-input v-model="form.idcardno" placeholder="璇疯緭鍏ヨ韩浠借瘉鍙�" maxlength="18" />
             </el-form-item>
           </el-col>
         </el-row>
@@ -356,6 +379,7 @@
 
 <script>
 import { listUser, getUser, delUser, addUser, updateUser, exportUser,handleunlock, resetUserPwd, changeUserStatus, importTemplate } from "@/api/system/user";
+import { listOrganization } from "@/api/project/organization";
 import { getToken } from "@/utils/auth";
 import { treeselect } from "@/api/system/dept";
 import Treeselect from "@riophae/vue-treeselect";
@@ -399,6 +423,8 @@
       postOptions: [],
       // 瑙掕壊閫夐」
       roleOptions: [],
+      // 鏈烘瀯閫夐」
+      orgOptions: [],
       // 琛ㄥ崟鍙傛暟
       form: {},
       defaultProps: {
@@ -465,6 +491,13 @@
             message: "璇疯緭鍏ユ纭殑鎵嬫満鍙风爜",
             trigger: "blur"
           }
+        ],
+        idcardno: [
+          {
+            pattern: /(^\d{15}$)|(^\d{18}$)|(^\d{17}(\d|X|x)$)/,
+            message: "璇疯緭鍏ユ纭殑韬唤璇佸彿鐮�",
+            trigger: "blur"
+          }
         ]
       }
     };
@@ -478,6 +511,7 @@
   created() {
     this.getList();
     this.getTreeselect();
+    this.getOrgList();
     this.getConfigKey("sys.user.initPassword").then(response => {
       this.initPassword = response.msg;
     });
@@ -498,6 +532,25 @@
       treeselect().then(response => {
         this.deptOptions = response.data;
       });
+    },
+    /** 鏌ヨ鏈烘瀯涓嬫媺鍒楄〃 */
+    getOrgList() {
+      listOrganization({ pageNum: 1, pageSize: 100000 }).then(response => {
+        this.orgOptions = response.rows || [];
+      });
+    },
+    /** 鏈烘瀯閫夋嫨鍙樻洿锛屽悓姝ユ満鏋勫悕绉板強鍗忚皟鍛樹俊鎭� */
+    handleOrgChange(orgId) {
+      const org = this.orgOptions.find(o => o.id === orgId);
+      if (org) {
+        this.form.orgName = org.organizationname;
+        this.form.coordinatorName = org.coordinatorName;
+        this.form.coordinatorNo = org.coordinatorNo;
+      } else {
+        this.form.orgName = undefined;
+        this.form.coordinatorName = undefined;
+        this.form.coordinatorNo = undefined;
+      }
     },
     // 绛涢�夎妭鐐�
     filterNode(value, data) {
@@ -538,6 +591,11 @@
         sex: undefined,
         status: "0",
         remark: undefined,
+        orgId: undefined,
+        orgName: undefined,
+        coordinatorName: undefined,
+        coordinatorNo: undefined,
+        idcardno: undefined,
         postIds: [],
         roleIds: []
       };

--
Gitblit v1.9.3