From 96dd34f77d81db58f54e3d0ad4a8cc8082189a61 Mon Sep 17 00:00:00 2001
From: WXL <wl_5969728@163.com>
Date: 星期四, 16 四月 2026 13:52:27 +0800
Subject: [PATCH] 考勤相关更改
---
src/views/project/donatebaseinfo/EditCaseModal.vue | 362 +++++++++++++++++++++++++++++++++++++++++++++-----
1 files changed, 321 insertions(+), 41 deletions(-)
diff --git a/src/views/project/donatebaseinfo/EditCaseModal.vue b/src/views/project/donatebaseinfo/EditCaseModal.vue
index 28efaa4..8ccfa01 100644
--- a/src/views/project/donatebaseinfo/EditCaseModal.vue
+++ b/src/views/project/donatebaseinfo/EditCaseModal.vue
@@ -45,9 +45,12 @@
<el-col :span="6">
<el-form-item label="鎬у埆" prop="sex">
<el-select v-model="formData.sex" placeholder="璇烽�夋嫨鎬у埆">
- <el-option label="鏈煡" value="0" />
- <el-option label="鐢�" value="1" />
- <el-option label="濂�" value="2" />
+ <el-option
+ v-for="dict in dict.type.sys_user_sex || []"
+ :key="dict.value"
+ :label="dict.label"
+ :value="parseInt(dict.value)"
+ />
</el-select>
</el-form-item>
</el-col>
@@ -57,9 +60,12 @@
v-model="formData.idcardtype"
placeholder="璇烽�夋嫨璇佷欢绫诲瀷"
>
- <el-option label="韬唤璇�" :value="1" />
- <el-option label="鍐涗汉璇�" :value="2" />
- <el-option label="鎶ょ収" :value="3" />
+ <el-option
+ v-for="dict in dict.type.sys_IDType || []"
+ :key="dict.value"
+ :label="dict.label"
+ :value="parseInt(dict.value)"
+ />
</el-select>
</el-form-item>
</el-col>
@@ -96,7 +102,7 @@
<el-form-item label="姘戞棌" prop="nation">
<el-select v-model="formData.nation" placeholder="璇烽�夋嫨姘戞棌">
<el-option
- v-for="dict in dictOptions.sys_nation"
+ v-for="dict in dict.type.sys_nation || []"
:key="dict.value"
:label="dict.label"
:value="dict.value"
@@ -130,7 +136,7 @@
placeholder="璇烽�夋嫨瀛﹀巻"
>
<el-option
- v-for="dict in dictOptions.sys_education"
+ v-for="dict in dict.type.sys_education || []"
:key="dict.value"
:label="dict.label"
:value="dict.value"
@@ -145,7 +151,7 @@
placeholder="璇烽�夋嫨鑱屼笟"
>
<el-option
- v-for="dict in dictOptions.sys_occupation"
+ v-for="dict in dict.type.sys_occupation || []"
:key="dict.value"
:label="dict.label"
:value="dict.value"
@@ -204,14 +210,17 @@
</el-form-item>
</el-col>
</el-row>
+
<el-row :gutter="20">
<el-col :span="12">
<el-form-item label="琛�鍨�" prop="bloodtype">
<el-radio-group v-model="formData.bloodtype">
- <el-radio label="1">A鍨�</el-radio>
- <el-radio label="2">B鍨�</el-radio>
- <el-radio label="3">O鍨�</el-radio>
- <el-radio label="4">AB鍨�</el-radio>
+ <el-radio
+ v-for="dict in dict.type.sys_BloodType || []"
+ :key="dict.value"
+ :label="dict.value"
+ >{{ dict.label }}</el-radio
+ >
</el-radio-group>
</el-form-item>
</el-col>
@@ -222,8 +231,85 @@
v-for="dict in dict.type.sys_bloodtype_rhd || []"
:key="dict.value"
:label="dict.value"
- >{{ dict.label }}</el-radio>
+ >{{ dict.label }}</el-radio
+ >
</el-radio-group>
+ </el-form-item>
+ </el-col>
+ </el-row>
+
+ <!-- 鐤剧梾绫诲瀷 -->
+ <el-row>
+ <el-form-item label="鐤剧梾绫诲瀷" align="left">
+ <el-checkbox-group v-model="formData.diseasetype">
+ <el-checkbox
+ v-for="dict in dict.type.sys_DiseaseType || []"
+ :key="dict.value"
+ :label="dict.value"
+ >
+ {{ dict.label }}
+ </el-checkbox>
+ </el-checkbox-group>
+ </el-form-item>
+ <el-form-item label="鍏朵粬" prop="diseasetypeOther">
+ <el-input
+ v-model="formData.diseasetypeOther"
+ placeholder="璇疯緭鍏ュ叾浠�"
+ />
+ </el-form-item>
+ </el-row>
+
+ <!-- 浼犳煋鐥� -->
+ <el-row>
+ <el-col :span="12">
+ <el-form-item align="left" label="浼犳煋鐥�">
+ <el-checkbox-group v-model="formData.infectious">
+ <el-checkbox
+ v-for="dict in dict.type.sys_Infectious || []"
+ :key="dict.value"
+ :label="dict.value"
+ >
+ {{ dict.label }}
+ </el-checkbox>
+ </el-checkbox-group>
+ </el-form-item>
+ </el-col>
+ <el-col :span="12">
+ <el-form-item align="left" label="鍏朵粬" prop="infectiousOther">
+ <el-input
+ v-model="formData.infectiousOther"
+ placeholder="璇疯緭鍏ュ叾浠�"
+ />
+ </el-form-item>
+ </el-col>
+ </el-row>
+
+ <!-- 鐥呬汉鐘跺喌鍜屽叾浠栨儏鍐� -->
+ <el-row>
+ <el-col :span="9">
+ <el-form-item align="left" label="鐥呬汉鐘跺喌">
+ <el-checkbox-group v-model="formData.patientstate">
+ <el-checkbox
+ v-for="dict in dict.type.sys_patientstate || []"
+ :key="dict.value"
+ :label="dict.value"
+ >
+ {{ dict.label }}
+ </el-checkbox>
+ </el-checkbox-group>
+ </el-form-item>
+ </el-col>
+ <el-col :span="15" align="left">
+ <el-form-item label="鍏朵粬鎯呭喌">
+ <el-checkbox-group v-model="formData.othercases">
+ <el-checkbox
+ v-for="dict in dict.type.sys_OtherCases || []"
+ :key="dict.value"
+ :label="dict.value"
+ >
+ {{ dict.label }}
+ </el-checkbox>
+ </el-checkbox-group>
</el-form-item>
</el-col>
</el-row>
@@ -344,6 +430,128 @@
</el-row>
</el-card>
+ <!-- 鎰忔効鍜屼翰灞炰俊鎭儴鍒� -->
+ <el-card header="鎰忔効鍜屼翰灞炰俊鎭�" class="form-section">
+ <!-- 鏈汉鎰忔効 -->
+ <el-row>
+ <el-col :span="24">
+ <el-form-item align="left" label="鏈汉鎰忔効 ">
+ <el-checkbox-group v-model="formData.selfwill">
+ <el-checkbox
+ v-for="dict in dict.type.sys_SelfWill || []"
+ :key="dict.value"
+ :label="dict.value"
+ >
+ {{ dict.label }}
+ </el-checkbox>
+ </el-checkbox-group>
+ </el-form-item>
+ </el-col>
+ </el-row>
+
+ <!-- 浜插睘鐘跺喌 -->
+ <el-row>
+ <el-col :span="12">
+ <el-form-item
+ label="浜插睘鐘跺喌"
+ prop="kinship"
+ class="relation"
+ align="left"
+ >
+ <el-checkbox-group v-model="formData.kinship">
+ <el-checkbox
+ v-for="dict in dict.type.sys_Kinship || []"
+ :key="dict.value"
+ :label="dict.value"
+ >
+ {{ dict.label }}
+ </el-checkbox>
+ </el-checkbox-group>
+ </el-form-item>
+ </el-col>
+ <el-col :span="12">
+ <el-form-item label="鍏朵粬" prop="kinshipOther">
+ <el-input
+ v-model="formData.kinshipOther"
+ placeholder="璇疯緭鍏ュ叾浠�"
+ />
+ </el-form-item>
+ </el-col>
+ </el-row>
+
+ <!-- 涓昏浜插睘 -->
+ <el-row>
+ <el-col :span="12">
+ <el-form-item label="涓昏浜插睘" prop="majorrelatives">
+ <el-input
+ v-model="formData.majorrelatives"
+ placeholder="璇疯緭鍏ヤ富瑕佷翰灞�"
+ />
+ </el-form-item>
+ </el-col>
+ <el-col :span="8">
+ <el-form-item label="涓庢崘璧犺�呭叧绯�" prop="familyrelations">
+ <el-select
+ v-model="formData.familyrelations"
+ placeholder="璇烽�夋嫨涓庢崘璧犺�呭叧绯�"
+ >
+ <el-option
+ v-for="dict in dict.type.sys_FamilyRelation || []"
+ :key="dict.value"
+ :label="dict.label"
+ :value="dict.value"
+ />
+ </el-select>
+ </el-form-item>
+ </el-col>
+ </el-row>
+
+ <!-- 淇℃伅鏉ユ簮 -->
+ <el-row>
+ <el-col :span="12">
+ <el-form-item align="left" label="淇℃伅鏉ユ簮">
+ <el-checkbox-group v-model="formData.infosources">
+ <el-checkbox
+ v-for="dict in dict.type.sys_InfoSources || []"
+ :key="dict.value"
+ :label="dict.value"
+ >
+ {{ dict.label }}
+ </el-checkbox>
+ </el-checkbox-group>
+ </el-form-item>
+ </el-col>
+ <el-col :span="8">
+ <el-form-item label="鍏朵粬" prop="infosourcesOther">
+ <el-input
+ v-model="formData.infosourcesOther"
+ placeholder="璇疯緭鍏ヤ俊鎭潵婧愬叾浠�"
+ />
+ </el-form-item>
+ </el-col>
+ </el-row>
+
+ <!-- 淇℃伅鍛� -->
+ <el-row>
+ <el-col :span="8">
+ <el-form-item label="淇℃伅鍛�" prop="infoname">
+ <el-input
+ v-model="formData.infoname"
+ placeholder="璇疯緭鍏ヤ俊鎭憳"
+ />
+ </el-form-item>
+ </el-col>
+ <el-col :span="8">
+ <el-form-item label="鑱旂郴鐢佃瘽" prop="infophone">
+ <el-input
+ v-model="formData.infophone"
+ placeholder="璇疯緭鍏ヤ俊鎭憳鑱旂郴鐢佃瘽"
+ />
+ </el-form-item>
+ </el-col>
+ </el-row>
+ </el-card>
+
<!-- 鎹愮尞淇℃伅閮ㄥ垎 -->
<el-card header="鎹愮尞淇℃伅" class="form-section">
<el-row :gutter="20">
@@ -354,7 +562,7 @@
placeholder="璇烽�夋嫨鎹愮尞绫诲埆"
>
<el-option
- v-for="dict in dictOptions.sys_DonationCategory"
+ v-for="dict in dict.type.sys_DonationCategory || []"
:key="dict.value"
:label="dict.label"
:value="dict.value"
@@ -400,6 +608,38 @@
<el-input
v-model="formData.acquisitiontissuename"
placeholder="璇疯緭鍏ヨ幏鍙栫粍缁囧悕绉�"
+ />
+ </el-form-item>
+ </el-col>
+ </el-row>
+
+ <!-- 绾㈠崄瀛椾細鍜岃仈绯讳汉 -->
+ <el-row>
+ <el-col :span="8">
+ <el-form-item align="left" label="绾㈠崄瀛椾細" prop="redorganno">
+ <org-selecter
+ ref="addCrossOrgSelect"
+ :org-type="'2'"
+ v-model="formData.redorganno"
+ />
+ </el-form-item>
+ </el-col>
+ <el-col :span="8">
+ <el-form-item label="鑱旂郴浜�" prop="contactperson">
+ <el-input
+ v-model="formData.contactperson"
+ placeholder="璇疯緭鍏ヨ仈绯讳汉"
+ />
+ </el-form-item>
+ </el-col>
+ <el-col :span="8">
+ <el-form-item label="鑱旂郴鏃堕棿" prop="contacttime">
+ <el-date-picker
+ v-model="formData.contacttime"
+ type="datetime"
+ value-format="yyyy-MM-dd HH:mm:ss"
+ placeholder="閫夋嫨鎶ュ憡鏃堕棿"
+ style="width: 100%"
/>
</el-form-item>
</el-col>
@@ -496,7 +736,25 @@
LiAreaSelect
},
- dicts: ["sys_bloodtype_rhd", "sys_BloodType"],
+ // 娣诲姞鎵�鏈夐渶瑕佺殑瀛楀吀绫诲瀷
+ dicts: [
+ "sys_bloodtype_rhd",
+ "sys_BloodType",
+ "sys_user_sex",
+ "sys_IDType",
+ "sys_nation",
+ "sys_education",
+ "sys_occupation",
+ "sys_DiseaseType",
+ "sys_Infectious",
+ "sys_patientstate",
+ "sys_OtherCases",
+ "sys_SelfWill",
+ "sys_Kinship",
+ "sys_FamilyRelation",
+ "sys_InfoSources",
+ "sys_DonationCategory"
+ ],
props: {
visible: {
@@ -564,7 +822,7 @@
return this.visible;
},
set(value) {
- this.$emit('update:visible', value);
+ this.$emit("update:visible", value);
if (!value) {
this.handleClose();
}
@@ -592,15 +850,15 @@
}
},
created() {
- console.log('EditCaseModal created');
- console.log('visible:', this.visible);
- console.log('editData:', this.editData);
+ console.log("EditCaseModal created");
+ console.log("visible:", this.visible);
+ console.log("editData:", this.editData);
},
mounted() {
- console.log('EditCaseModal mounted');
- console.log('visible:', this.visible);
- console.log('editData:', this.editData);
- console.log('isEdit:', this.isEdit);
+ console.log("EditCaseModal mounted");
+ console.log("visible:", this.visible);
+ console.log("editData:", this.editData);
+ console.log("isEdit:", this.isEdit);
},
methods: {
getDefaultFormData() {
@@ -642,14 +900,32 @@
illnessoverview: null,
coordinatorNo: null,
coordinatorName: null,
+ diseasetype: [],
+ infectious: [],
+ patientstate: [],
+ othercases: [],
// 鍦板潃淇℃伅
residenceaddress: null,
residenceprovince: null,
residencecity: null,
+ residencetown: null,
registeraddress: null,
registerprovince: null,
registercity: null,
+ registertown: null,
+
+ // 鎰忔効鍜屼翰灞炰俊鎭�
+ selfwill: [],
+ kinship: [],
+ majorrelatives: null,
+ familyrelations: null,
+ infosources: [],
+ infoname: null,
+ infophone: null,
+ redorganno: null,
+ contactperson: null,
+ contacttime: null,
// 鎹愮尞淇℃伅
donationcategory: null,
@@ -665,25 +941,22 @@
reporttime: null,
deptid: null,
- // 鏁扮粍瀛楁
- diseasetype: [],
- infectious: [],
- selfwill: [],
- othercases: [],
- infosources: [],
- kinship: [],
- patientstate: []
+ // 鍏朵粬瀛楁
+ diseasetypeOther: null,
+ infectiousOther: null,
+ kinshipOther: null,
+ infosourcesOther: null
};
},
async initForm() {
- console.log('鍒濆鍖栬〃鍗曪紝isEdit:', this.isEdit);
+ console.log("鍒濆鍖栬〃鍗曪紝isEdit:", this.isEdit);
try {
if (this.isEdit && this.editData && this.editData.id) {
- console.log('鍔犺浇缂栬緫鏁版嵁锛宨d:', this.editData.id);
+ console.log("鍔犺浇缂栬緫鏁版嵁锛宨d:", this.editData.id);
await this.loadEditData();
} else {
- console.log('鏂板妯″紡锛屽垵濮嬪寲琛ㄥ崟');
+ console.log("鏂板妯″紡锛屽垵濮嬪寲琛ㄥ崟");
this.formData = this.getDefaultFormData();
this.formData.nationality = "涓浗";
this.formData.bloodtype = "0";
@@ -708,7 +981,7 @@
try {
const response = await getDonatebaseinfo(this.editData.id);
const data = response.data;
- console.log('鍔犺浇鍒扮殑鏁版嵁:', data);
+ console.log("鍔犺浇鍒扮殑鏁版嵁:", data);
// 澶勭悊鏁扮粍瀛楁
const arrayFields = [
@@ -721,15 +994,15 @@
"patientstate"
];
arrayFields.forEach(field => {
- if (data[field]) {
+ if (data[field] && typeof data[field] === "string") {
data[field] = data[field].split(",");
- } else {
+ } else if (!data[field]) {
data[field] = [];
}
});
this.formData = { ...this.getDefaultFormData(), ...data };
- console.log('鍚堝苟鍚庣殑formData:', this.formData);
+ console.log("鍚堝苟鍚庣殑formData:", this.formData);
// 璁剧疆鍦板潃淇℃伅
if (data.residenceprovince) {
@@ -864,7 +1137,7 @@
},
handleClose() {
- console.log('鍏抽棴寮规');
+ console.log("鍏抽棴寮规");
this.isEdit = false;
this.submitLoading = false;
this.formData = this.getDefaultFormData();
@@ -880,12 +1153,14 @@
this.submitLoading = true;
try {
const submitData = this.processSubmitData();
- console.log('鎻愪氦鏁版嵁:', submitData);
+ console.log("鎻愪氦鏁版嵁:", submitData);
const result = await updateDonatebaseinfo(submitData);
if (result.code === 200) {
this.$message.success(this.isEdit ? "鏇存柊鎴愬姛" : "鏂板鎴愬姛");
this.$emit("success", result.data);
+ console.log(1122);
+
this.handleClose();
} else {
this.$message.error(result.msg || "鎿嶄綔澶辫触");
@@ -935,6 +1210,11 @@
"YYYY-MM-DD HH:mm:ss"
);
}
+ if (data.contacttime) {
+ data.contacttime = this.$moment(data.contacttime).format(
+ "YYYY-MM-DD HH:mm:ss"
+ );
+ }
// 璁剧疆榛樿鍊�
if (!data.recordstate) {
--
Gitblit v1.9.3