From aae0b49229d8798a2cc31a8449092e2db62e2407 Mon Sep 17 00:00:00 2001
From: zouyu <2723363702@qq.com>
Date: 星期四, 26 三月 2026 11:26:41 +0800
Subject: [PATCH] 绩效管理:人员考勤功能模块

---
 src/views/system/user/index.vue |   55 +++++++++++++++++++++++++++++++++++++++++--------------
 1 files changed, 41 insertions(+), 14 deletions(-)

diff --git a/src/views/system/user/index.vue b/src/views/system/user/index.vue
index 9dd89c3..3306ae7 100644
--- a/src/views/system/user/index.vue
+++ b/src/views/system/user/index.vue
@@ -114,48 +114,61 @@
         </el-row>
         <el-row>
           <el-col :span="12">
+            <el-form-item label="宀椾綅">
+              <el-select style="width:100%" v-model="form.postIds" multiple placeholder="璇烽�夋嫨">
+                <el-option
+                  v-for="item in postOptions"
+                  :key="item.postId"
+                  :label="item.postName"
+                  :value="item.postId"
+                  :disabled="item.status == 1"
+                ></el-option>
+              </el-select>
+            </el-form-item>
+          </el-col>
+          <el-col :span="12">
             <el-form-item label="瑙掕壊" prop="roleIds">
-              <el-select v-model="form.roleIds" multiple placeholder="璇烽�夋嫨瑙掕壊" clearable>
+              <el-select style="width:100%" v-model="form.roleIds" multiple placeholder="璇烽�夋嫨瑙掕壊" clearable>
                 <el-option v-for="item in roleOptions" :key="item.roleId" :label="item.roleName" :value="item.roleId"
                   :disabled="item.status == 1"></el-option>
               </el-select>
             </el-form-item>
           </el-col>
+        </el-row>
+        <el-row>
           <el-col :span="12">
             <el-form-item label="瀵嗙爜" prop="password">
               <el-input v-model="form.password" placeholder="璇疯緭鍏ョ敤鎴峰瘑鐮�" type="password" maxlength="20" show-password />
             </el-form-item>
           </el-col>
-        </el-row>
-        <el-row>
           <el-col :span="12">
             <el-form-item label="濮撳悕EN" prop="nameEn">
               <el-input v-model="form.nameEn" placeholder="璇疯緭鍏ュ鍚岴N" maxlength="50" />
             </el-form-item>
           </el-col>
+        </el-row>
+        <el-row>
           <el-col :span="12">
             <el-form-item label="閭" prop="email">
               <el-input v-model="form.email" placeholder="璇疯緭鍏ュ唴瀹�"></el-input>
             </el-form-item>
           </el-col>
-        </el-row>
-        <el-row>
           <el-col :span="12">
             <el-form-item label="鍗曚綅" prop="company">
               <el-select v-model="form.company" placeholder="璇烽�夋嫨鍗曚綅" style="width: 100%" clearable>
-                <el-option v-for="item in postOptions" :key="item.id" :label="item.company"
+                <el-option v-for="item in companyOptions" :key="item.id" :label="item.company"
                   :value="item.id"></el-option>
               </el-select>
             </el-form-item>
           </el-col>
+        </el-row>
+        <el-row>
           <el-col :span="12">
             <el-form-item label="褰掑睘閮ㄩ棬" prop="deptId">
               <treeselect v-model="form.deptId" :options="enabledDeptOptions" :show-count="true"
-                placeholder="璇烽�夋嫨褰掑睘閮ㄩ棬" />
+                          placeholder="璇烽�夋嫨褰掑睘閮ㄩ棬" />
             </el-form-item>
           </el-col>
-        </el-row>
-        <el-row>
           <el-col :span="12">
             <el-form-item label="绛惧悕">
               <el-upload class="avatar-uploader" :action="uploadAction" :show-file-list="false"
@@ -166,11 +179,13 @@
               </el-upload>
             </el-form-item>
           </el-col>
+        </el-row>
+        <el-row>
           <el-col :span="12">
             <el-form-item label="涓汉鐓х墖">
               <el-upload class="avatar-uploader" :action="uploadAction" :show-file-list="false"
-                :headers="upload.headers" accept=".png, .jpg, .jpeg, .gif" :on-error="handleUploadError1"
-                :on-success="handleUploadSuccess1" :before-upload="handleBeforeUpload1">
+                         :headers="upload.headers" accept=".png, .jpg, .jpeg, .gif" :on-error="handleUploadError1"
+                         :on-success="handleUploadSuccess1" :before-upload="handleBeforeUpload1">
                 <img v-if="form.pictureUrl" :src="javaApi + '/img/' + form.pictureUrl" class="avatar" alt="">
                 <i v-else class="el-icon-plus avatar-uploader-icon"></i>
               </el-upload>
@@ -278,8 +293,15 @@
   resetUserPwd,
   changeUserStatus,
   deptTreeSelect,
-  selectCompaniesList, selectSimpleList, addPersonUser, uploadFile, selectRoleList, selectCustomEnum, addDepartment
+  selectCompaniesList,
+  selectSimpleList,
+  addPersonUser,
+  uploadFile,
+  selectRoleList,
+  selectCustomEnum,
+  addDepartment
 } from "@/api/system/user";
+import {optionSelect} from '@/api/system/post'
 import { getToken } from "@/utils/auth";
 import Treeselect from "@riophae/vue-treeselect";
 import "@riophae/vue-treeselect/dist/vue-treeselect.css";
@@ -323,6 +345,8 @@
       dateRange: [],
       // 宀椾綅閫夐」
       postOptions: [],
+      //鍗曚綅閫夐」
+      companyOptions:[],
       // 瑙掕壊閫夐」
       roleOptions: [],
       // 琛ㄥ崟鍙傛暟
@@ -703,10 +727,11 @@
       this.reset();
       this.open = true;
       selectCustomEnum().then(res => {
-        this.postOptions = res.data;
+        this.companyOptions = res.data;
       })
       getUser().then(response => {
         this.roleOptions = response.roles;
+        this.postOptions = response.posts
         this.title = "娣诲姞鐢ㄦ埛";
       });
     },
@@ -714,7 +739,7 @@
     handleUpdate(row) {
       this.reset();
       selectCustomEnum().then(res => {
-        this.postOptions = res.data;
+        this.companyOptions = res.data;
       })
       const userId = row.userId || this.ids;
       getUser(userId).then(response => {
@@ -722,6 +747,8 @@
         this.form.password = ''
         this.roleOptions = response.roles;
         this.$set(this.form, "roleIds", response.roleIds);
+        this.postOptions = response.posts
+        this.$set(this.form, "postIds", response.postIds);
         this.open = true;
         this.title = "淇敼鐢ㄦ埛";
       });

--
Gitblit v1.9.3