From 0fd86012825aac8f0604b2fdc8c71e5aa68187c6 Mon Sep 17 00:00:00 2001
From: gaoluyang <2820782392@qq.com>
Date: 星期四, 27 十一月 2025 16:05:24 +0800
Subject: [PATCH] 金鹰黄金-1.部门管理的劳保用品配置增加分页 2.人力资源紧急联系人和电话不必填 3.人力资源合同结束日期不必填
---
src/views/personnelManagement/onboarding/components/formDia.vue | 63 +++++++++++++++++++++----------
1 files changed, 42 insertions(+), 21 deletions(-)
diff --git a/src/views/personnelManagement/onboarding/components/formDia.vue b/src/views/personnelManagement/onboarding/components/formDia.vue
index 94806eb..e5ce080 100644
--- a/src/views/personnelManagement/onboarding/components/formDia.vue
+++ b/src/views/personnelManagement/onboarding/components/formDia.vue
@@ -36,8 +36,10 @@
</el-row>
<el-row :gutter="30">
<el-col :span="12">
- <el-form-item label="宀椾綅锛�" prop="postJob">
- <el-input v-model="form.postJob" placeholder="璇疯緭鍏�" clearable/>
+ <el-form-item label="宀椾綅锛�" prop="deptPositionId">
+ <el-select v-model="form.deptPositionId" filterable placeholder="璇烽�夋嫨宀椾綅" :loading="positionLoading" clearable>
+ <el-option v-for="p in positionOptions" :key="p.id" :label="p.name || p.label" :value="p.id" />
+ </el-select>
</el-form-item>
</el-col>
<el-col :span="12">
@@ -131,20 +133,25 @@
</template>
<script setup>
-import {ref} from "vue";
+import {ref, reactive, toRefs, getCurrentInstance, onMounted} from "vue";
import {getStaffJoinInfo, staffJoinAdd, staffJoinUpdate} from "@/api/personnelManagement/onboarding.js";
-const { proxy } = getCurrentInstance()
+import {deptPositionListPage} from "@/api/lavorissce/issue";
+
+const {proxy} = getCurrentInstance()
const emit = defineEmits(['close'])
const dialogFormVisible = ref(false);
const operationType = ref('')
+const positionOptions = ref([])
+const positionLoading = ref(false)
+
const data = reactive({
form: {
staffNo: "",
staffName: "",
sex: "",
nativePlace: "",
- postJob: "",
+ deptPositionId: "",
adress: "",
firstStudy: "",
profession: "",
@@ -158,37 +165,51 @@
staffState: "",
},
rules: {
- staffNo: [{ required: true, message: "璇疯緭鍏�", trigger: "blur" },],
- staffName: [{ required: true, message: "璇疯緭鍏�", trigger: "blur" }],
- sex: [{ required: true, message: "璇疯緭鍏�", trigger: "blur" }],
- nativePlace: [{ required: true, message: "璇疯緭鍏�", trigger: "blur" }],
- postJob: [{ required: true, message: "璇疯緭鍏�", trigger: "blur" }],
- adress: [{ required: true, message: "璇疯緭鍏�", trigger: "blur" }],
- firstStudy: [{ required: true, message: "璇疯緭鍏�", trigger: "blur" }],
- profession: [{ required: true, message: "璇疯緭鍏�", trigger: "blur" }],
- age: [{ required: true, message: "璇疯緭鍏�", trigger: "blur" }],
- phone: [{ required: true, message: "璇疯緭鍏�", trigger: "blur" }],
- emergencyContact: [{ required: true, message: "璇疯緭鍏�", trigger: "blur" }],
- emergencyContactPhone: [{ required: true, message: "璇疯緭鍏�", trigger: "blur" }],
- contractTerm: [{ required: true, message: "璇疯緭鍏�", trigger: "blur" }],
- contractStartTime: [{ required: true, message: "璇疯緭鍏�", trigger: "blur" }],
- contractEndTime: [{ required: true, message: "璇疯緭鍏�", trigger: "blur" }],
+ staffNo: [{required: true, message: "璇疯緭鍏�", trigger: "blur"},],
+ staffName: [{required: true, message: "璇疯緭鍏�", trigger: "blur"}],
+ sex: [{required: true, message: "璇疯緭鍏�", trigger: "blur"}],
+ nativePlace: [{required: true, message: "璇疯緭鍏�", trigger: "blur"}],
+ deptPositionId: [{required: true, message: "璇疯緭鍏�", trigger: "blur"}],
+ adress: [{required: true, message: "璇疯緭鍏�", trigger: "blur"}],
+ firstStudy: [{required: true, message: "璇疯緭鍏�", trigger: "blur"}],
+ profession: [{required: true, message: "璇疯緭鍏�", trigger: "blur"}],
+ age: [{required: true, message: "璇疯緭鍏�", trigger: "blur"}],
+ phone: [{required: true, message: "璇疯緭鍏�", trigger: "blur"}],
+ emergencyContact: [{required: false, message: "璇疯緭鍏�", trigger: "blur"}],
+ emergencyContactPhone: [{required: false, message: "璇疯緭鍏�", trigger: "blur"}],
+ contractTerm: [{required: true, message: "璇疯緭鍏�", trigger: "blur"}],
+ contractStartTime: [{required: true, message: "璇疯緭鍏�", trigger: "blur"}],
+ contractEndTime: [{required: false, message: "璇疯緭鍏�", trigger: "blur"}],
},
});
-const { form, rules } = toRefs(data);
+const {form, rules} = toRefs(data);
+
+async function loadPositions() {
+ try {
+ positionLoading.value = true
+ const res = await deptPositionListPage({pageNum: -1, pageSize:-1})
+ positionOptions.value = res?.data?.records || res?.data || []
+ } finally {
+ positionLoading.value = false
+ }
+}
// 鎵撳紑寮规
const openDialog = (type, row) => {
operationType.value = type;
dialogFormVisible.value = true;
+ loadPositions()
if (operationType.value === 'edit') {
getStaffJoinInfo(row.id).then(res => {
form.value = {...res.data}
// 缂栬緫鏃朵篃璁$畻涓�娆″悎鍚屽勾闄�
calculateContractTerm();
})
+ } else {
+ form.value.id = ''
}
}
+
// 鎻愪氦浜у搧琛ㄥ崟
const submitForm = () => {
proxy.$refs.formRef.validate(valid => {
--
Gitblit v1.9.3