diff --git a/attendance-performance-manager-ui/admin/src/assets/mixins/formdialog.js b/attendance-performance-manager-ui/admin/src/assets/mixins/formdialog.js
index aacb6beb30f101054bd0ca56b7c4226d9eaf788d..bffbfe3256b764d3b249a4f5fb8260398860f18e 100644
--- a/attendance-performance-manager-ui/admin/src/assets/mixins/formdialog.js
+++ b/attendance-performance-manager-ui/admin/src/assets/mixins/formdialog.js
@@ -25,7 +25,16 @@ export default {
       data.attachmentPathList && data.attachmentPathList.length > 0
         ? (data.attachmentPath = data.attachmentPathList[0].url)
         : (data.attachmentPath = "");
-
+      if (data.leavePerson == 0 || data.leavePerson) {
+        if (this.dict.staffList) {
+          data.leavePerson = this.dict.staffList[this.form.leavePerson];
+          for (let key in this.dict.staffList) {
+            if (this.dict.staffList[key] == data.leavePerson) {
+              data.leavePersonId = Number(key);
+            }
+          }
+        }
+      }
       return data;
     },
     // 鎻愪氦琛ㄥ崟鐨勫悗缃鐞�, 浼氶樆鏂粯璁ょ殑鍥為€€琛屼负
diff --git a/attendance-performance-manager-ui/admin/src/views/attendance/leave/record/drawershow.vue b/attendance-performance-manager-ui/admin/src/views/attendance/leave/record/drawershow.vue
index 92f23b858ac4ab580701d2e46d1fc9c7dd6c3150..5f0074d6fb3768df027bcf8d88e64bf05f9e76b1 100644
--- a/attendance-performance-manager-ui/admin/src/views/attendance/leave/record/drawershow.vue
+++ b/attendance-performance-manager-ui/admin/src/views/attendance/leave/record/drawershow.vue
@@ -1,6 +1,11 @@
 <template>
   <!-- 寮瑰嚭妗嗚〃鍗� -->
-  <el-drawer :title="title" :visible.sync="open" :direction="direction" size="60%">
+  <el-drawer
+    :title="title"
+    :visible.sync="open"
+    :direction="direction"
+    size="60%"
+  >
     <div style="padding:15px">
       <el-form ref="form" :model="form" :rules="rules" label-width="120px">
         <el-row>
@@ -13,44 +18,142 @@
             :maxLength="10"
             :disabled="pageInfo.type == 'view'"
           /> -->
-          <Field label="璇峰亣浜�" prop="leavePerson" type="select" filterable remote v-model="form.leavePerson"
-            placeholder="璇疯緭鍏ヨ鍋囦汉" :remote-method="remoteMethod" :maxLength="10" :enumData="staffList"
-            :disabled="pageInfo.type == 'view'" />
-          <Field label="鎵€灞為儴闂�" prop="deptId" v-model="form.deptId" type="select" placeholder="璇烽€夋嫨鎵€灞為儴闂�"
-            :enumData="dict.deptId" :disabled="pageInfo.type == 'view'" />
+          <Field
+            label="璇峰亣浜�"
+            prop="leavePerson"
+            type="select"
+            filterable
+            remote
+            v-model="form.leavePerson"
+            placeholder="璇疯緭鍏ヨ鍋囦汉"
+            @change="changeStaff(form.leavePerson)"
+            :remote-method="remoteMethod"
+            :maxLength="10"
+            :enumData="dict.staffList"
+            :disabled="pageInfo.type == 'view'"
+          />
+          <Field
+            label="鎵€灞為儴闂�"
+            prop="deptId"
+            v-model="form.deptId"
+            type="select"
+            placeholder="璇烽€夋嫨鎵€灞為儴闂�"
+            :enumData="dict.deptId"
+            :disabled="true"
+          />
           <!-- <Field label="鎵€灞為儴闂�" prop="deptName" v-model="form.deptName" type="textarea" placeholder="璇疯緭鍏ユ墍灞為儴闂�"/> -->
-          <Field label="鐢佃瘽鍙风爜" prop="phoneNumber" v-model="form.phoneNumber" placeholder="璇疯緭鍏ョ數璇濆彿鐮�" :maxLength="11"
-            :disabled="pageInfo.type == 'view'" />
-          <Field label="璇峰亣绫诲瀷" prop="leaveType" v-model="form.leaveType" type="select" :enumData="dict.leaveType"
-            placeholder="璇烽€夋嫨璇峰亣绫诲瀷" :disabled="pageInfo.type == 'view'" />
+          <Field
+            label="鐢佃瘽鍙风爜"
+            prop="phoneNumber"
+            v-model="form.phoneNumber"
+            placeholder="璇疯緭鍏ョ數璇濆彿鐮�"
+            :maxLength="11"
+            :disabled="pageInfo.type == 'view'"
+          />
+          <Field
+            label="璇峰亣绫诲瀷"
+            prop="leaveType"
+            v-model="form.leaveType"
+            type="select"
+            :enumData="dict.leaveType"
+            placeholder="璇烽€夋嫨璇峰亣绫诲瀷"
+            :disabled="pageInfo.type == 'view'"
+          />
 
-          <Field label="寮€濮嬫椂闂�" prop="startTime" v-model="form.startTime" type="datetime" @change="changedate"
-            :disabled="pageInfo.type == 'view'" />
-          <Field label="缁撴潫鏃堕棿" prop="endTime" v-model="form.endTime" type="datetime" @change="changedate"
-            :disabled="pageInfo.type == 'view'" />
+          <Field
+            label="寮€濮嬫椂闂�"
+            prop="startTime"
+            v-model="form.startTime"
+            type="datetime"
+            @change="changedate"
+            :disabled="pageInfo.type == 'view'"
+          />
+          <Field
+            label="缁撴潫鏃堕棿"
+            prop="endTime"
+            v-model="form.endTime"
+            type="datetime"
+            @change="changedate"
+            :disabled="pageInfo.type == 'view'"
+          />
 
-          <Field label="鏃堕暱(鍗曚綅:灏忔椂)" disabled prop="duration" v-model="form.duration / 60 / 60" placeholder="璇疯緭鍏ユ椂闀�(绉�)"
-            :maxLength="4" />
-          <Field label="璇峰亣浜嬬敱" prop="reason" v-model="form.reason" type="textarea" placeholder="璇疯緭鍏ヨ鍋囦簨鐢�"
-            :disabled="pageInfo.type == 'view'" />
-          <Field label="瀹℃牳缁撴灉" prop="auditResult" v-model="form.auditResult" type="radioCol" :enumData="dict.auditResult"
-            placeholder="璇烽€夋嫨瀹℃牳缁撴灉" :disabled="pageInfo.type == 'view'" style="width: 100%;" />
+          <Field
+            label="鏃堕暱(鍗曚綅:灏忔椂)"
+            disabled
+            prop="duration"
+            v-model="form.duration / 60 / 60"
+            placeholder="璇疯緭鍏ユ椂闀�(绉�)"
+            :maxLength="4"
+          />
+          <Field
+            label="璇峰亣浜嬬敱"
+            prop="reason"
+            v-model="form.reason"
+            type="textarea"
+            placeholder="璇疯緭鍏ヨ鍋囦簨鐢�"
+            :disabled="pageInfo.type == 'view'"
+          />
+          <Field
+            label="瀹℃牳缁撴灉"
+            prop="auditResult"
+            v-model="form.auditResult"
+            type="radioCol"
+            :enumData="dict.auditResult"
+            placeholder="璇烽€夋嫨瀹℃牳缁撴灉"
+            :disabled="pageInfo.type == 'view'"
+            style="width: 100%;"
+          />
 
-          <Field label="瀹℃壒璐熻矗浜�" prop="approverId" type="select" v-model="form.approverId" placeholder="璇烽€夋嫨瀹℃壒璐熻矗浜�"
-            :enumData="dict.approverId" :disabled="pageInfo.type == 'view'" />
-          <Field label="鐢宠鏃堕棿" prop="createTime" v-model="form.createTime" type="datetime" disabled />
-          <Field label="瀹℃牳璇存槑" prop="auditDesc" type="textarea" v-model="form.auditDesc" placeholder="璇疯緭鍏ュ鏍歌鏄�"
-            :disabled="pageInfo.type == 'view'" style="width: 100%;" />
+          <Field
+            label="瀹℃壒璐熻矗浜�"
+            prop="approverId"
+            type="select"
+            v-model="form.approverId"
+            placeholder="璇烽€夋嫨瀹℃壒璐熻矗浜�"
+            :enumData="dict.approverId"
+            :disabled="pageInfo.type == 'view'"
+          />
+          <Field
+            label="鐢宠鏃堕棿"
+            prop="createTime"
+            v-model="form.createTime"
+            type="datetime"
+            disabled
+          />
+          <Field
+            label="瀹℃牳璇存槑"
+            prop="auditDesc"
+            type="textarea"
+            v-model="form.auditDesc"
+            placeholder="璇疯緭鍏ュ鏍歌鏄�"
+            :disabled="pageInfo.type == 'view'"
+            style="width: 100%;"
+          />
         </el-row>
         <!-- <Field label="瀹℃壒璐熻矗浜�" prop="approver" v-model="form.approver" placeholder="璇疯緭鍏ュ鎵硅礋璐d汉"/> -->
         <!-- <Field label="闄勪欢" prop="attachment" v-model="form.attachment" type="textarea" placeholder="璇疯緭鍏ラ檮浠�"/> -->
-        <Field label="澶囨敞" prop="remark" v-model="form.remark" type="textarea" placeholder="璇疯緭鍏ュ娉�"
-          :disabled="pageInfo.type == 'view'" style="width: 100%;" />
+        <Field
+          label="澶囨敞"
+          prop="remark"
+          v-model="form.remark"
+          type="textarea"
+          placeholder="璇疯緭鍏ュ娉�"
+          :disabled="pageInfo.type == 'view'"
+          style="width: 100%;"
+        />
         <el-form-item label="闄勪欢璺緞" prop="attachmentPathList">
-          <FileUpload @input="uploadFn" :value="form.attachmentPathList" :fileNumber="1"
-            :pageInfoType="pageInfo.type" />
+          <FileUpload
+            @input="uploadFn"
+            :value="form.attachmentPathList"
+            :fileNumber="1"
+            :pageInfoType="pageInfo.type"
+          />
         </el-form-item>
-        <form-buttons @submit="submitForm" noCancelBtn v-if="pageInfo.type !== 'view'" />
+        <form-buttons
+          @submit="submitForm"
+          noCancelBtn
+          v-if="pageInfo.type !== 'view'"
+        />
       </el-form>
     </div>
   </el-drawer>
@@ -74,7 +177,7 @@ export default {
       loading: true,
       // 寮瑰嚭灞傛爣棰�
       title: "璇峰亣璁板綍淇℃伅",
-      staffList: {},
+      staffList: [],
       // 鏄惁鏄剧ず寮瑰嚭灞�
       open: false,
       direction: "rtl",
@@ -126,9 +229,7 @@ export default {
             trigger: "change",
           },
         ],
-        duration: [
-          { required: true, message: "璇疯緭鍏ユ椂闀�", trigger: "blur" },
-        ],
+        duration: [{ required: true, message: "璇疯緭鍏ユ椂闀�", trigger: "blur" }],
         // reason: [
         //   { required: true, message: "璇疯緭鍏ヨ鍋囩悊鐢�", trigger: "blur" },
         // ],
@@ -155,20 +256,28 @@ export default {
   },
   watch: {},
   mounted() {
-    this.remoteMethod()
+    this.remoteMethod();
   },
   methods: {
+    changeStaff(val) {
+      let person = this.staffList.filter((v) => v.id == val);
+      console.log(person);
+      console.log(this.form);
+      this.form.deptId = person ? person[0].deptId : "";
+    },
     async remoteMethod() {
       await this.$post(`/staff/list`, {
         page: 1,
         size: -1,
       }).then((res) => {
-        let data = res.data.data
-        let obj = {}
+        let data = res.data.data;
+        let obj = {};
         for (let key in data) {
-          obj[key] = data[key].name
+          obj[data[key].id] = data[key].name;
         }
-        this.staffList = obj
+        this.dict.staffList = obj;
+        console.log(obj);
+        this.staffList = res.data.data;
       });
     },
     // beforeSubmit() {
@@ -245,9 +354,7 @@ export default {
     },
     changedate(val) {
       if (this.form.startTime && this.form.endTime) {
-        if (
-          this.form.endTime.valueOf() > this.form.startTime.valueOf()
-        ) {
+        if (this.form.endTime.valueOf() > this.form.startTime.valueOf()) {
           // this.form.duration = getSec(this.form.startTime, this.form.endTime);
           this.$post("/attendance/getTimeCount", {
             startTime: this.form.startTime,