From 6e9a85f8b9be0f06a148a36306e135785e227a6a Mon Sep 17 00:00:00 2001 From: maven <2163098428@qq.com> Date: 星期三, 13 八月 2025 16:28:13 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/dev_huangjin' into dev_huangjin --- src/views/lavorissue/ledger/Form.vue | 128 ++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 128 insertions(+), 0 deletions(-) diff --git a/src/views/lavorissue/ledger/Form.vue b/src/views/lavorissue/ledger/Form.vue new file mode 100644 index 0000000..071bc66 --- /dev/null +++ b/src/views/lavorissue/ledger/Form.vue @@ -0,0 +1,128 @@ +<template> + <el-form :model="form" label-width="100px" :rules="formRules" ref="formRef"> + <el-form-item label="閮ㄩ棬鍚嶇О" prop="deptId"> + <el-select + v-model="form.deptId" + placeholder="璇烽�夋嫨" + clearable + disabled + > + <el-option :label="item.deptName" :value="item.deptId" v-for="(item,index) in productOptions" :key="deptId" /> + </el-select> + </el-form-item> + <el-form-item label="鍛樺伐鍚嶇О" prop="staffId"> + <el-select + v-model="form.staffId" + placeholder="璇烽�夋嫨" + clearable + > + <el-option :label="item.staffName" :value="item.id" v-for="(item,index) in personList" :key="id" /> + </el-select> + </el-form-item> + <el-form-item label="鍔充繚闃插叿" prop="dictId"> + <el-select + v-model="form.dictId" + placeholder="璇烽�夋嫨" + clearable + > + <el-option :label="item.label" :value="item.value" v-for="(item,index) in sys_lavor_issue" :key="value" /> + </el-select> + </el-form-item> + <el-form-item label="棰嗙敤鏁伴噺" prop="num"> + <el-input-number :step="1" :min="0" style="width: 100%" + v-model="form.num" + placeholder="璇疯緭鍏�" + /> + </el-form-item> + <el-form-item label="棰嗙敤鏃ユ湡" prop="adoptedDate"> + <el-date-picker + style="width: 100%" + v-model="form.adoptedDate" + format="YYYY-MM-DD" + value-format="YYYY-MM-DD" + type="date" + placeholder="璇烽�夋嫨鏃ユ湡" + clearable + /> + </el-form-item> + + </el-form> +</template> + +<script setup> +import useFormData from "@/hooks/useFormData"; +import {ref,onMounted} from "vue"; +import useUserStore from "@/store/modules/user"; +import {getStaffOnJob} from "@/api/personnelManagement/onboarding.js"; +import {deepCopySameProperties} from '@/utils/util' +const userStore = useUserStore(); +import { + getDept +} from "@/api/collaborativeApproval/approvalProcess.js"; +const { proxy } = getCurrentInstance(); + + +defineOptions({ + name: "鏂板鏀跺叆", +}); +const { sys_lavor_issue } = proxy.useDict("sys_lavor_issue") +const formRef = ref(null); +const productOptions = ref([]); +const personList = ref([]); +const formRules = { + deptId: [{ required: true, trigger: "blur", message: "璇疯緭鍏�" }], + staffId: [{ required: true, trigger: "blur", message: "璇疯緭鍏�" }], + dictId: [{ required: true, trigger: "change", message: "璇烽�夋嫨" }], + num: [{ required: true, trigger: "change", message: "璇烽�夋嫨" }], + adoptedDate: [{ required: true, trigger: "change", message: "璇烽�夋嫨" }], +} + +const { form, resetForm } = useFormData({ + deptId: undefined, // + staffId: undefined, // + dictId: undefined, // + num: undefined, // + adoptedDate: undefined, +}); +const getPersonList = () => { + getStaffOnJob().then(res => { + personList.value = res.data + }) +}; +const loadForm = (data) => { + deepCopySameProperties(data, form) +}; + +const getProductOptions = () => { + getDept().then((res) => { + productOptions.value = res.data; + }); +} +// 娓呴櫎琛ㄥ崟鏍¢獙鐘舵�� +const clearValidate = () => { + formRef.value?.clearValidate(); +}; + +// 閲嶇疆琛ㄥ崟鏁版嵁鍜屾牎楠岀姸鎬� +const resetFormAndValidate = () => { + resetForm(); + clearValidate(); + form.deptId = userStore.currentDeptId + getProductOptions(); + getPersonList(); +}; +onMounted(() => { + console.log(sys_lavor_issue) + form.deptId = userStore.currentDeptId + getProductOptions(); + getPersonList(); +}) +defineExpose({ + form, + resetForm, + clearValidate, + loadForm, + resetFormAndValidate, + formRef, +}); +</script> -- Gitblit v1.9.3