From b3af089315a98903163a394a3b1ca0e4c634b9ab Mon Sep 17 00:00:00 2001
From: spring <2396852758@qq.com>
Date: 星期三, 14 一月 2026 17:51:37 +0800
Subject: [PATCH] Merge branch 'dev_New' of http://114.132.189.42:9002/r/product-inventory-management into dev_New
---
src/views/personnelManagement/dimission/components/formDia.vue | 333 +++++++++++++++++++++++++++++-------------------------
1 files changed, 178 insertions(+), 155 deletions(-)
diff --git a/src/views/personnelManagement/dimission/components/formDia.vue b/src/views/personnelManagement/dimission/components/formDia.vue
index d77eb90..f75c22d 100644
--- a/src/views/personnelManagement/dimission/components/formDia.vue
+++ b/src/views/personnelManagement/dimission/components/formDia.vue
@@ -9,145 +9,152 @@
<!-- 鍛樺伐淇℃伅灞曠ず鍖哄煙 -->
<div class="info-section">
<div class="info-title">鍛樺伐淇℃伅</div>
- <el-row :gutter="30">
- <el-col :span="12">
- <div class="info-item">
- <span class="info-label">濮撳悕锛�</span>
- <el-select v-model="form.staffName" placeholder="璇烽�夋嫨浜哄憳" style="width: 100%" @change="handleSelect">
- <el-option
- v-for="item in personList"
- :key="item.id"
- :label="item.staffName"
- :value="item.staffName"
+ <el-form :model="form" label-width="200px" label-position="left" :rules="rules" ref="formRef" style="margin-top: 20px">
+ <el-row :gutter="30">
+ <el-col :span="12">
+ <el-form-item label="濮撳悕锛�" prop="staffName">
+ <el-select v-model="form.staffName" placeholder="璇烽�夋嫨浜哄憳" style="width: 100%" @change="handleSelect">
+ <el-option
+ v-for="item in personList"
+ :key="item.id"
+ :label="item.staffName"
+ :value="item.staffName"
+ />
+ </el-select>
+ </el-form-item>
+ </el-col>
+ <el-col :span="12">
+ <el-form-item label="鍛樺伐缂栧彿锛�">
+ {{ form.staffNo || '-' }}
+ </el-form-item>
+ </el-col>
+ </el-row>
+ <el-row :gutter="30">
+ <el-col :span="12">
+ <el-form-item label="鎬у埆锛�">
+ {{ form.sex || '-' }}
+ </el-form-item>
+ </el-col>
+ <el-col :span="12">
+ <el-form-item label="鎴风睄浣忓潃锛�">
+ {{ form.nativePlace || '-' }}
+ </el-form-item>
+ </el-col>
+ </el-row>
+ <el-row :gutter="30">
+ <el-col :span="12">
+ <el-form-item label="宀椾綅锛�">
+ {{ form.postJob || '-' }}
+ </el-form-item>
+ </el-col>
+ <el-col :span="12">
+ <el-form-item label="鐜颁綇鍧�锛�">
+ {{ form.adress || '-' }}
+ </el-form-item>
+ </el-col>
+ </el-row>
+ <el-row :gutter="30">
+ <el-col :span="12">
+ <el-form-item label="绗竴瀛﹀巻锛�">
+ {{ form.firstStudy || '-' }}
+ </el-form-item>
+ </el-col>
+ <el-col :span="12">
+ <el-form-item label="涓撲笟锛�">
+ {{ form.profession || '-' }}
+ </el-form-item>
+ </el-col>
+ </el-row>
+ <el-row :gutter="30">
+ <el-col :span="12">
+ <el-form-item label="骞撮緞锛�">
+ {{ form.age || '-' }}
+ </el-form-item>
+ </el-col>
+ </el-row>
+ <el-row :gutter="30">
+ <el-col :span="12">
+ <el-form-item label="鑱旂郴鐢佃瘽锛�">
+ {{ form.phone || '-' }}
+ </el-form-item>
+ </el-col>
+ <el-col :span="12">
+ <el-form-item label="绱ф�ヨ仈绯讳汉锛�">
+ {{ form.emergencyContact || '-' }}
+ </el-form-item>
+ </el-col>
+ </el-row>
+ <el-row :gutter="30">
+ <el-col :span="12">
+ <el-form-item label="绱ф�ヨ仈绯讳汉鑱旂郴鐢佃瘽锛�">
+ {{ form.emergencyContactPhone || '-' }}
+ </el-form-item>
+ </el-col>
+ </el-row>
+ <el-row :gutter="30">
+ <el-col :span="12">
+ <el-form-item label="鍚堝悓寮�濮嬫棩鏈燂細">
+ {{ form.contractStartTime || '-' }}
+ </el-form-item>
+ </el-col>
+ <el-col :span="12">
+ <el-form-item label="鍚堝悓缁撴潫鏃ユ湡锛�">
+ {{ form.contractEndTime || '-' }}
+ </el-form-item>
+ </el-col>
+ </el-row>
+ <el-row :gutter="30">
+ <el-col :span="12">
+ <el-form-item label="绂昏亴鍘熷洜锛�" prop="dimissionReason">
+ <el-select v-model="form.dimissionReason" placeholder="璇烽�夋嫨绂昏亴鍘熷洜" style="width: 100%" @change="handleSelectDimissionReason">
+ <el-option
+ v-for="(item, index) in dimissionReasonOptions"
+ :key="index"
+ :label="item.label"
+ :value="item.value"
+ />
+ </el-select>
+ </el-form-item>
+ </el-col>
+ <el-col :span="12">
+ <el-form-item label="澶囨敞锛�" prop="dimissionRemark" v-show="form.dimissionReason === 'other'">
+ <el-input
+ v-model="form.dimissionRemark"
+ type="textarea"
+ v-show="form.dimissionReason === 'other'"
+ :rows="3"
+ placeholder="澶囨敞"
+ maxlength="500"
+ show-word-limit
/>
- </el-select>
- </div>
- </el-col>
- <el-col :span="12">
- <div class="info-item">
- <span class="info-label">鍛樺伐缂栧彿锛�</span>
- <span class="info-value">{{ form.staffNo || '-' }}</span>
- </div>
- </el-col>
- </el-row>
- <el-row :gutter="30">
- <el-col :span="12">
- <div class="info-item">
- <span class="info-label">鎬у埆锛�</span>
- <span class="info-value">{{ form.sex || '-' }}</span>
- </div>
- </el-col>
- <el-col :span="12">
- <div class="info-item">
- <span class="info-label">鎴风睄浣忓潃锛�</span>
- <span class="info-value">{{ form.nativePlace || '-' }}</span>
- </div>
- </el-col>
- </el-row>
- <el-row :gutter="30">
- <el-col :span="12">
- <div class="info-item">
- <span class="info-label">宀椾綅锛�</span>
- <span class="info-value">{{ form.postJob || '-' }}</span>
- </div>
- </el-col>
- <el-col :span="12">
- <div class="info-item">
- <span class="info-label">鐜颁綇鍧�锛�</span>
- <span class="info-value">{{ form.adress || '-' }}</span>
- </div>
- </el-col>
- </el-row>
- <el-row :gutter="30">
- <el-col :span="12">
- <div class="info-item">
- <span class="info-label">绗竴瀛﹀巻锛�</span>
- <span class="info-value">{{ form.firstStudy || '-' }}</span>
- </div>
- </el-col>
- <el-col :span="12">
- <div class="info-item">
- <span class="info-label">涓撲笟锛�</span>
- <span class="info-value">{{ form.profession || '-' }}</span>
- </div>
- </el-col>
- </el-row>
- <el-row :gutter="30">
- <el-col :span="12">
- <div class="info-item">
- <span class="info-label">骞撮緞锛�</span>
- <span class="info-value">{{ form.age || '-' }}</span>
- </div>
- </el-col>
- </el-row>
- <el-row :gutter="30">
- <el-col :span="12">
- <div class="info-item">
- <span class="info-label">鑱旂郴鐢佃瘽锛�</span>
- <span class="info-value">{{ form.phone || '-' }}</span>
- </div>
- </el-col>
- <el-col :span="12">
- <div class="info-item">
- <span class="info-label">绱ф�ヨ仈绯讳汉锛�</span>
- <span class="info-value">{{ form.emergencyContact || '-' }}</span>
- </div>
- </el-col>
- </el-row>
- <el-row :gutter="30">
- <el-col :span="12">
- <div class="info-item">
- <span class="info-label">绱ф�ヨ仈绯讳汉鑱旂郴鐢佃瘽锛�</span>
- <span class="info-value">{{ form.emergencyContactPhone || '-' }}</span>
- </div>
- </el-col>
- </el-row>
- <el-row :gutter="30">
- <el-col :span="12">
- <div class="info-item">
- <span class="info-label">鍚堝悓寮�濮嬫棩鏈燂細</span>
- <span class="info-value">{{ form.contractStartTime || '-' }}</span>
- </div>
- </el-col>
- <el-col :span="12">
- <div class="info-item">
- <span class="info-label">鍚堝悓缁撴潫鏃ユ湡锛�</span>
- <span class="info-value">{{ form.contractEndTime || '-' }}</span>
- </div>
- </el-col>
- </el-row>
+ </el-form-item>
+ </el-col>
+ </el-row>
+ </el-form>
+
+<!-- <el-row :gutter="30">-->
+<!-- <el-col :span="12">-->
+<!-- <div class="info-item">-->
+<!-- <span class="info-label">绂昏亴鍘熷洜锛�</span>-->
+<!-- <el-select v-model="form.dimissionReason" placeholder="璇烽�夋嫨浜哄憳" style="width: 100%" @change="handleSelect">-->
+<!-- <el-option-->
+<!-- v-for="(item, index) in dimissionReasonOptions"-->
+<!-- :key="index"-->
+<!-- :label="item.label"-->
+<!-- :value="item.value"-->
+<!-- />-->
+<!-- </el-select>-->
+<!-- </div>-->
+<!-- </el-col>-->
+<!-- <el-col :span="12">-->
+<!-- <div class="info-item">-->
+<!-- <span class="info-label">鍛樺伐缂栧彿锛�</span>-->
+<!-- <span class="info-value">{{ form.staffNo || '-' }}</span>-->
+<!-- </div>-->
+<!-- </el-col>-->
+<!-- </el-row>-->
</div>
- <!-- 绂昏亴淇℃伅濉啓鍖哄煙 -->
- <!-- <el-form :model="form" label-width="140px" label-position="top" :rules="rules" ref="formRef" style="margin-top: 20px">
- <el-row :gutter="30">
- <el-col :span="12">
- <el-form-item label="绂昏亴鏃ユ湡锛�" prop="dimissionDate">
- <el-date-picker
- v-model="form.dimissionDate"
- type="date"
- placeholder="璇烽�夋嫨绂昏亴鏃ユ湡"
- value-format="YYYY-MM-DD"
- format="YYYY-MM-DD"
- clearable
- style="width: 100%"
- />
- </el-form-item>
- </el-col>
- <el-col :span="12">
- <el-form-item label="绂昏亴鍘熷洜锛�" prop="dimissionReason">
- <el-input
- v-model="form.dimissionReason"
- type="textarea"
- :rows="3"
- placeholder="璇疯緭鍏ョ鑱屽師鍥�"
- maxlength="500"
- show-word-limit
- />
- </el-form-item>
- </el-col>
- </el-row>
- </el-form> -->
<template #footer>
<div class="dialog-footer">
<el-button type="primary" @click="submitForm">纭</el-button>
@@ -186,15 +193,22 @@
contractEndTime: "",
dimissionDate: "",
dimissionReason: "",
+ dimissionRemark: "",
staffState: "",
},
rules: {
- staffName: [{ required: true, message: "璇烽�夋嫨浜哄憳", trigger: "change" }],
- dimissionDate: [{ required: true, message: "璇烽�夋嫨绂昏亴鏃ユ湡", trigger: "change" }],
- dimissionReason: [{ required: true, message: "璇疯緭鍏ョ鑱屽師鍥�", trigger: "blur" }],
+ staffName: [{ required: true, message: "璇烽�夋嫨浜哄憳" }],
+ dimissionReason: [{ required: true, message: "璇烽�夋嫨绂昏亴鍘熷洜"}],
},
+ dimissionReasonOptions: [
+ {label: '钖祫寰呴亣', value: 'salary'},
+ {label: '鑱屼笟鍙戝睍', value: 'career_development'},
+ {label: '宸ヤ綔鐜', value: 'work_environment'},
+ {label: '涓汉鍘熷洜', value: 'personal_reason'},
+ {label: '鍏朵粬', value: 'other'},
+ ]
});
-const { form, rules } = toRefs(data);
+const { form, rules, dimissionReasonOptions } = toRefs(data);
// 鎵撳紑寮规
const openDialog = (type, row) => {
@@ -207,25 +221,34 @@
})
}
}
+
+const handleSelectDimissionReason = (val) => {
+ if (val === 'other') {
+ form.value.dimissionRemark = ''
+ }
+}
// 鎻愪氦浜у搧琛ㄥ崟
const submitForm = () => {
- // 琛ㄥ崟宸叉敞閲婏紝鐩存帴鎻愪氦锛屼笉杩涜楠岃瘉
- if (!form.value.staffName) {
- proxy.$modal.msgError("璇烽�夋嫨浜哄憳");
- return;
- }
form.value.staffState = 0
- if (operationType.value === "add") {
- staffJoinAdd(form.value).then(res => {
- proxy.$modal.msgSuccess("鎻愪氦鎴愬姛");
- closeDia();
- })
- } else {
- staffJoinUpdate(form.value).then(res => {
- proxy.$modal.msgSuccess("鎻愪氦鎴愬姛");
- closeDia();
- })
+ if (form.value.dimissionReason !== 'other') {
+ form.value.dimissionRemark = ''
}
+ proxy.$refs["formRef"].validate(valid => {
+ if (valid) {
+ if (operationType.value === "add") {
+ staffJoinAdd(form.value).then(res => {
+ proxy.$modal.msgSuccess("鎻愪氦鎴愬姛");
+ closeDia();
+ })
+ } else {
+ staffJoinUpdate(form.value).then(res => {
+ proxy.$modal.msgSuccess("鎻愪氦鎴愬姛");
+ closeDia();
+ })
+ }
+ }
+ })
+
}
// 鍏抽棴寮规
const closeDia = () => {
--
Gitblit v1.9.3