细节优化——1
This commit is contained in:
@@ -8,12 +8,17 @@
|
||||
<el-input v-model="form.term" />
|
||||
</el-form-item>
|
||||
<el-form-item label="发生日期" prop="onset_date">
|
||||
<el-date-picker v-model="form.onset_date" type="date" value-format="YYYY-MM-DD" />
|
||||
<el-date-picker
|
||||
v-model="form.onset_date"
|
||||
type="date"
|
||||
value-format="YYYY-MM-DD"
|
||||
:disabled-date="disableFutureDate"
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item label="严重性" prop="seriousness">
|
||||
<el-form-item label="SAE" prop="seriousness">
|
||||
<el-select v-model="form.seriousness" placeholder="请选择">
|
||||
<el-option label="SERIOUS(重)" value="SERIOUS" />
|
||||
<el-option label="NON_SERIOUS(非重)" value="NON_SERIOUS" />
|
||||
<el-option label="是" value="SERIOUS" />
|
||||
<el-option label="否" value="NON_SERIOUS" />
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="严重程度" prop="severity">
|
||||
@@ -24,6 +29,11 @@
|
||||
<el-form-item label="描述" prop="description">
|
||||
<el-input v-model="form.description" type="textarea" />
|
||||
</el-form-item>
|
||||
<el-form-item label="转归结局" prop="outcome">
|
||||
<el-select v-model="form.outcome" placeholder="可留空" clearable>
|
||||
<el-option v-for="o in outcomes" :key="o" :label="o" :value="o" />
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
<template #footer>
|
||||
<div class="footer-right">
|
||||
@@ -59,13 +69,14 @@ const submitting = ref(false);
|
||||
const study = useStudyStore();
|
||||
|
||||
const severities = ["G1", "G2", "G3", "G4", "G5"];
|
||||
const outcomes = ["痊愈", "好转", "持续", "恶化", "死亡", "其他"];
|
||||
const severityLabel = (v: string) =>
|
||||
({
|
||||
G1: "G1(轻)",
|
||||
G2: "G2(中)",
|
||||
G3: "G3(重)",
|
||||
G4: "G4(危重)",
|
||||
G5: "G5(致死)",
|
||||
G1: "I级",
|
||||
G2: "II级",
|
||||
G3: "III级",
|
||||
G4: "IV级",
|
||||
G5: "V级",
|
||||
}[v] || v);
|
||||
|
||||
const form = reactive({
|
||||
@@ -75,6 +86,7 @@ const form = reactive({
|
||||
seriousness: "NON_SERIOUS",
|
||||
severity: "G1",
|
||||
description: "",
|
||||
outcome: "",
|
||||
});
|
||||
|
||||
const rules: FormRules = {
|
||||
@@ -97,6 +109,7 @@ watch(
|
||||
seriousness: val.seriousness || "NON_SERIOUS",
|
||||
severity: val.severity || "G1",
|
||||
description: val.description || "",
|
||||
outcome: val.outcome || "",
|
||||
});
|
||||
} else {
|
||||
Object.assign(form, {
|
||||
@@ -106,6 +119,7 @@ watch(
|
||||
seriousness: "NON_SERIOUS",
|
||||
severity: "G1",
|
||||
description: "",
|
||||
outcome: "",
|
||||
});
|
||||
}
|
||||
},
|
||||
@@ -116,10 +130,16 @@ const onClose = () => {
|
||||
visible.value = false;
|
||||
};
|
||||
|
||||
const disableFutureDate = (time: Date) => time.getTime() > Date.now();
|
||||
|
||||
const onSubmit = async () => {
|
||||
if (!formRef.value) return;
|
||||
await formRef.value.validate(async (valid) => {
|
||||
if (!valid) return;
|
||||
if (form.onset_date && new Date(form.onset_date) > new Date()) {
|
||||
ElMessage.warning("发生日期不得晚于当前日期");
|
||||
return;
|
||||
}
|
||||
if (!study.currentStudy) {
|
||||
ElMessage.error("未选择项目");
|
||||
return;
|
||||
@@ -132,6 +152,9 @@ const onSubmit = async () => {
|
||||
payload[k] = v;
|
||||
}
|
||||
});
|
||||
if (form.outcome === "" || form.outcome === null || form.outcome === undefined) {
|
||||
payload.outcome = null;
|
||||
}
|
||||
if (isEdit.value && props.ae) {
|
||||
await updateAe(study.currentStudy.id, props.ae.id, payload);
|
||||
} else {
|
||||
|
||||
Reference in New Issue
Block a user