From 076bb96b437258f0e8cdbe184040e1e302b60d4b Mon Sep 17 00:00:00 2001
From: gaoluyang <2820782392@qq.com>
Date: 星期一, 22 十二月 2025 14:10:12 +0800
Subject: [PATCH] 1.军泰伟业代码初始化
---
src/views/personnelManagement/employeeRecord/components/formDia.vue | 166 +++++++++++++++++++++++++++++++++++++++++++++----------
1 files changed, 135 insertions(+), 31 deletions(-)
diff --git a/src/views/personnelManagement/employeeRecord/components/formDia.vue b/src/views/personnelManagement/employeeRecord/components/formDia.vue
index 3c9674c..6f66f9b 100644
--- a/src/views/personnelManagement/employeeRecord/components/formDia.vue
+++ b/src/views/personnelManagement/employeeRecord/components/formDia.vue
@@ -6,16 +6,56 @@
width="70%"
@close="closeDia"
>
- <PIMTable
- rowKey="id"
- :column="tableColumn"
- :tableData="tableData"
- :tableLoading="tableLoading"
- height="600"
- ></PIMTable>
+ <el-descriptions class="detail-descriptions" :column="2" border size="small">
+ <el-descriptions-item label="鍛樺伐缂栧彿">{{ formData.staffNo || '-' }}</el-descriptions-item>
+ <el-descriptions-item label="濮撳悕">{{ formData.staffName || '-' }}</el-descriptions-item>
+ <el-descriptions-item label="鎬у埆">{{ formData.sex || '-' }}</el-descriptions-item>
+ <el-descriptions-item label="骞撮緞">{{ formData.age || '-' }}</el-descriptions-item>
+ <el-descriptions-item label="韬唤璇佸彿">{{ formData.identityCard || '-' }}</el-descriptions-item>
+ <el-descriptions-item label="鎴风睄浣忓潃" :span="2">{{ formData.nativePlace || '-' }}</el-descriptions-item>
+ <el-descriptions-item label="鐜颁綇鍧�" :span="2">{{ formData.adress || '-' }}</el-descriptions-item>
+ <el-descriptions-item label="宀椾綅">{{ formData.postJob || '-' }}</el-descriptions-item>
+ <el-descriptions-item label="绗竴瀛﹀巻">{{ formData.firstStudy || '-' }}</el-descriptions-item>
+ <el-descriptions-item label="涓撲笟">{{ formData.profession || '-' }}</el-descriptions-item>
+ <el-descriptions-item label="鑱旂郴鐢佃瘽">{{ formData.phone || '-' }}</el-descriptions-item>
+ <el-descriptions-item label="绱ф�ヨ仈绯讳汉">{{ formData.emergencyContact || '-' }}</el-descriptions-item>
+ <el-descriptions-item label="绱ф�ヨ仈绯讳汉鐢佃瘽">{{ formData.emergencyContactPhone || '-' }}</el-descriptions-item>
+ <el-descriptions-item label="鍚堝悓绛捐鏃ユ湡">{{ formData.signDate || '-' }}</el-descriptions-item>
+ <el-descriptions-item label="鍔冲姩鍚堝悓鏈熼檺閫夋嫨">
+ <span v-if="formData.dateSelect === 'A'">A銆佹湁鍥哄畾鏈熼檺</span>
+ <span v-else-if="formData.dateSelect === 'B'">B銆佹棤鍥哄畾鏈熼檺</span>
+ <span v-else-if="formData.dateSelect === 'C'">C銆佷互瀹屾垚涓�瀹氬伐浣滀换鍔′负鏈熼檺</span>
+ <span v-else>-</span>
+ </el-descriptions-item>
+ <el-descriptions-item label="鍚堝悓骞撮檺">{{ formattedContractTerm }}</el-descriptions-item>
+ <el-descriptions-item label="璇曠敤鏈熷紑濮嬫棩鏈�" v-if="formData.dateSelect === 'A' || formData.dateSelect === 'B'">
+ {{ formData.trialStartDate || '-' }}
+ </el-descriptions-item>
+ <el-descriptions-item label="璇曠敤鏈熺粨鏉熸棩鏈�" v-if="formData.dateSelect === 'A' || formData.dateSelect === 'B'">
+ {{ formData.trialEndDate || '-' }}
+ </el-descriptions-item>
+ <el-descriptions-item label="璇曠敤鏈熷伐璧�" v-if="formData.dateSelect === 'A' || formData.dateSelect === 'B'">
+ {{ formData.proSalary ? formData.proSalary.toFixed(2) : '-' }}
+ </el-descriptions-item>
+ <el-descriptions-item label="鍚堝悓寮�濮嬫棩鏈�">{{ calculatedContractStart }}</el-descriptions-item>
+ <el-descriptions-item label="鍚堝悓缁撴潫鏃ユ湡">{{ formData.contractEndTime || '-' }}</el-descriptions-item>
+ <el-descriptions-item label="宸ヨ祫鎶ラ叕" :span="2">
+ <span v-if="formData.salarySelect === 'A'">
+ A銆佷箼鏂圭殑宸ヨ祫鎶ラ叕鎸夌収鐢叉柟渚濇硶鍒跺畾鐨勮绔犲埗搴︿腑鐨勫唴閮ㄥ伐璧勫垎閰嶅姙娉曠‘瀹氾紝鏍规嵁涔欐柟鐨勫伐浣滃矖浣嶇‘瀹氬叾姣忔湀宸ヨ祫銆�
+ </span>
+ <span v-else-if="formData.salarySelect === 'B'">
+ B銆佺敳鏂瑰涔欐柟瀹炶鍩烘湰宸ヨ祫鍜岀哗鏁堝伐璧勭浉缁撳悎鐨勫唴閮ㄥ伐璧勫垎閰嶅姙娉曪紝涔欐柟鐨勬敹鍏ュ寘鎷熀鏈伐璧勩�佽椁愩�佷氦閫氥�佺敓娲讳綇瀹跨瓑鍚勯」琛ュ姪锛屽鏈夊彉鍔ㄦ牴鎹唴閮ㄥ伐璧勫垎閰嶅姙娉曡皟鏁村叾宸ヨ祫锛涚哗鏁堝伐璧勬牴鎹箼鏂圭殑宸ヤ綔涓氱哗銆佸姵鍔ㄦ垚鏋滃拰瀹為檯璐$尞鎸夌収鍐呴儴鍒嗛厤鍔炴硶鑰冩牳纭畾銆�
+ </span>
+ <span v-else-if="formData.salarySelect === 'C'">
+ C銆佺敳鏂瑰疄琛岃浠跺伐璧勫埗锛屼互鐢叉柟鎺ュ埌璁㈠崟鍙婂叕鍙哥敓浜ц鍒掞紝鎸夌収瀹氶鍜岃浠跺崟浠凤紝鏍规嵁涔欐柟瀹屾垚鐨勪笟缁╋紝鎸夋椂瓒抽鏀粯涔欐柟鐨勫伐璧勬姤閰��
+ </span>
+ <span v-else>-</span>
+ </el-descriptions-item>
+ <el-descriptions-item label="绂忓埄寰呴亣" :span="2">{{ formData.remark || '-' }}</el-descriptions-item>
+ </el-descriptions>
<template #footer>
<div class="dialog-footer">
- <el-button @click="closeDia">鍙栨秷</el-button>
+ <el-button @click="closeDia">鍏抽棴</el-button>
</div>
</template>
</el-dialog>
@@ -23,38 +63,82 @@
</template>
<script setup>
-import {ref} from "vue";
-import {staffOnJobInfo} from "@/api/personnelManagement/employeeRecord.js";
-const { proxy } = getCurrentInstance()
+import {ref, reactive, computed} from "vue";
+import dayjs from "dayjs";
const emit = defineEmits(['close'])
const dialogFormVisible = ref(false);
const operationType = ref('')
-const tableColumn = ref([
- // {
- // label: "鍚堝悓骞撮檺",
- // prop: "contractTerm",
- // },
- {
- label: "鍚堝悓寮�濮嬫棩鏈�",
- prop: "contractStartTime",
- },
- {
- label: "鍚堝悓缁撴潫鏃ユ湡",
- prop: "contractEndTime",
- },
-]);
-const tableData = ref([]);
-const tableLoading = ref(false);
+const formData = reactive({
+ staffNo: "",
+ staffName: "",
+ sex: "",
+ identityCard: "",
+ nativePlace: "",
+ postJob: "",
+ adress: "",
+ firstStudy: "",
+ profession: "",
+ age: 0,
+ phone: "",
+ emergencyContact: "",
+ emergencyContactPhone: "",
+ dateSelect: "",
+ trialStartDate: "",
+ trialEndDate: "",
+ proSalary: null,
+ signDate: "",
+ salarySelect: "",
+ contractStartTime: "",
+ contractEndTime: "",
+ contractTerm: null,
+ remark: "",
+});
+
+const formattedContractTerm = computed(() => {
+ const value = formData.contractTerm;
+ if (value === null || value === undefined || value === "") {
+ return "-";
+ }
+ const numberValue = Number(value);
+ if (!isNaN(numberValue)) {
+ return `${numberValue}骞碻;
+ }
+ return value;
+});
+
+const calculatedContractStart = computed(() => {
+ const endDate = formData.contractEndTime;
+ const termValue = formData.contractTerm;
+ const numberValue = Number(termValue);
+ if (!endDate || isNaN(numberValue)) {
+ return formData.contractStartTime || "-";
+ }
+ const start = dayjs(endDate).subtract(numberValue, "year");
+ if (!start.isValid()) {
+ return formData.contractStartTime || "-";
+ }
+ return start.format("YYYY-MM-DD");
+});
// 鎵撳紑寮规
const openDialog = (type, row) => {
operationType.value = type;
dialogFormVisible.value = true;
- if (operationType.value === 'edit') {
- staffOnJobInfo({staffNo: row.staffNo}).then(res => {
- tableData.value = res.data
- })
+ // 閲嶇疆琛ㄥ崟鏁版嵁
+ Object.keys(formData).forEach(key => {
+ if (key === 'age') {
+ formData[key] = 0;
+ } else if (["proSalary", "contractTerm"].includes(key)) {
+ formData[key] = null;
+ } else {
+ formData[key] = "";
+ }
+ });
+
+ if (operationType.value === 'edit' && row) {
+ // 鐩存帴浣跨敤 row 鏁版嵁璧嬪��
+ Object.assign(formData, row);
}
}
@@ -69,5 +153,25 @@
</script>
<style scoped>
+.detail-descriptions {
+ margin-bottom: 16px;
+ border-radius: 6px;
+ overflow: hidden;
+}
+.detail-descriptions :deep(.el-descriptions__cell) {
+ padding: 12px 16px !important;
+}
+
+.detail-descriptions :deep(.el-descriptions__label) {
+ width: 140px;
+ color: #606266;
+ background-color: #f7f9fc;
+ font-weight: 500;
+}
+
+.detail-descriptions :deep(.el-descriptions__content) {
+ color: #303133;
+ line-height: 20px;
+}
</style>
\ No newline at end of file
--
Gitblit v1.9.3