From f5e6487a78789ee372a8c6458bfd0cb740d6a0e8 Mon Sep 17 00:00:00 2001
From: WXL <wl_5969728@163.com>
Date: 星期三, 13 五月 2026 22:13:58 +0800
Subject: [PATCH] 青岛维护
---
src/views/business/assess/assessInfo.vue | 209 ++++++++++++++++++++-------------------------------
1 files changed, 83 insertions(+), 126 deletions(-)
diff --git a/src/views/business/assess/assessInfo.vue b/src/views/business/assess/assessInfo.vue
index 346cff1..a465c99 100644
--- a/src/views/business/assess/assessInfo.vue
+++ b/src/views/business/assess/assessInfo.vue
@@ -1,63 +1,7 @@
<template>
<div class="assessment-detail">
<!-- 鍩虹妗堜緥淇℃伅 -->
- <case-basic-info
- :case-id="caseId"
- :show-attachment="true"
- />
- <!-- <el-card class="basic-info-card">
- <div slot="header" class="clearfix">
- <span>妗堜緥鍩烘湰淇℃伅</span>
- <el-button
- style="float: right; padding: 3px 0"
- type="text"
- @click="handleAttachmentPreview"
- >
- <i class="el-icon-folder-opened"></i> 鏌ョ湅闄勪欢
- </el-button>
- </div>
-
- <el-descriptions :column="2" border>
- <el-descriptions-item label="浣忛櫌鍙�">{{
- assessmentData.caseNo
- }}</el-descriptions-item>
- <el-descriptions-item label="娼滃湪鎹愮尞鑰呭鍚�">{{
- assessmentData.name || assessmentData.donorName
- }}</el-descriptions-item>
- <el-descriptions-item label="鎬у埆">
- <dict-tag
- :options="dict.type.sys_user_sex"
- :value="assessmentData.sex"
- />
- </el-descriptions-item>
- <el-descriptions-item label="骞撮緞"
- >{{ assessmentData.age }}宀�</el-descriptions-item
- >
- <el-descriptions-item label="琛�鍨�">
- {{ assessmentData.bloodtype }}
- </el-descriptions-item>
- <el-descriptions-item label="璇佷欢鍙风爜">{{
- assessmentData.idcardno
- }}</el-descriptions-item>
- <el-descriptions-item label="鐤剧梾璇婃柇">{{
- assessmentData.diagnosisname
- }}</el-descriptions-item>
- <el-descriptions-item label="鎵�鍦ㄥ尰鐤楁満鏋�">{{
- assessmentData.treatmenthospitalname
- }}</el-descriptions-item>
- <el-descriptions-item label="鍗忚皟鍛�">{{
- assessmentData.coordinatorName
- }}</el-descriptions-item>
- <el-descriptions-item label="璇勪及鏃堕棿">{{
- assessmentData.assessTime
- }}</el-descriptions-item>
- <el-descriptions-item label="璇勪及鐘舵��">
- <el-tag :type="statusFilter(assessmentData.assessState)">
- {{ statusTextFilter(assessmentData.assessState) }}
- </el-tag>
- </el-descriptions-item>
- </el-descriptions>
- </el-card> -->
+ <case-basic-info :case-id="caseId" :show-attachment="true" />
<el-card class="organ-assessment-card">
<div slot="header" class="clearfix">
@@ -128,7 +72,7 @@
v-for="(assessment, index) in getOrganAssessments(scope.row)"
:key="`${scope.row.organno}_${index}`"
:label="`绗�${index + 1}娆¤瘎浼癭"
- :name="index"
+ :name="String(index)"
>
<organ-assessment-form
:organ-data="scope.row"
@@ -195,7 +139,7 @@
class="assessment-detail-card"
>
<div
- v-if="getOrganAssessments(scope.row).length === 0"
+ v-if="getOrganAssessments(scope.row).length == 0"
class="no-assessment"
>
<el-empty description="鏆傛棤璇勪及璁板綍"></el-empty>
@@ -229,18 +173,24 @@
border
class="detail-descriptions"
>
+ <!-- 璇勪及鏃堕棿 -->
<el-descriptions-item label="璇勪及鏃堕棿" :span="2">
- <span class="time-text">{{
- assessment.assessmentTime || "-"
- }}</span>
+ <span class="time-text">
+ {{
+ parseTime(assessment.assessmentTime) ||
+ "鏈缃�"
+ }}
+ </span>
</el-descriptions-item>
+ <!-- 鍘熸湁鐨勮瘎浼颁汉淇℃伅 -->
<el-descriptions-item label="璇勪及浜�">
<el-tag type="info" size="small">
{{ assessment.assessor || "鏈~鍐�" }}
</el-tag>
</el-descriptions-item>
+ <!-- 鍔熻兘鐘舵�� -->
<el-descriptions-item label="鍔熻兘鐘舵��">
<el-tag
:type="
@@ -258,6 +208,7 @@
</el-tag>
</el-descriptions-item>
+ <!-- 璇勪及鎰忚 -->
<el-descriptions-item label="璇勪及鎰忚" :span="2">
<div class="opinion-content">
{{
@@ -267,6 +218,7 @@
</div>
</el-descriptions-item>
+ <!-- 闄勪欢鏁伴噺 -->
<el-descriptions-item
label="闄勪欢鏁伴噺"
:span="2"
@@ -308,52 +260,50 @@
<el-descriptions-item label="鑾峰彇鍓嶆椿妫�">
<el-tag
:type="
- scope.row.isbiopsybefore === '1'
+ scope.row.isbiopsybefore == '1'
? 'success'
: 'info'
"
size="small"
>
- {{ scope.row.isbiopsybefore === "1" ? "鏄�" : "鍚�" }}
+ {{ scope.row.isbiopsybefore == "1" ? "鏄�" : "鍚�" }}
</el-tag>
</el-descriptions-item>
<el-descriptions-item label="鑾峰彇鍚庢椿妫�">
<el-tag
:type="
- scope.row.isbiopsyafter === '1'
+ scope.row.isbiopsyafter == '1'
? 'success'
: 'info'
"
size="small"
>
- {{ scope.row.isbiopsyafter === "1" ? "鏄�" : "鍚�" }}
+ {{ scope.row.isbiopsyafter == "1" ? "鏄�" : "鍚�" }}
</el-tag>
</el-descriptions-item>
<el-descriptions-item label="杈圭紭鍣ㄥ畼">
<el-tag
:type="
- scope.row.ismarginalorgan === '1'
+ scope.row.ismarginalorgan == '1'
? 'warning'
: 'info'
"
size="small"
>
- {{
- scope.row.ismarginalorgan === "1" ? "鏄�" : "鍚�"
- }}
+ {{ scope.row.ismarginalorgan == "1" ? "鏄�" : "鍚�" }}
</el-tag>
</el-descriptions-item>
<el-descriptions-item label="鐥呭師鑿岄槼鎬�">
<el-tag
:type="
- scope.row.ispathogenpositive === '1'
+ scope.row.ispathogenpositive == '1'
? 'danger'
: 'info'
"
size="small"
>
{{
- scope.row.ispathogenpositive === "1" ? "鏄�" : "鍚�"
+ scope.row.ispathogenpositive == "1" ? "鏄�" : "鍚�"
}}
</el-tag>
</el-descriptions-item>
@@ -372,7 +322,11 @@
</template>
</el-table-column>
- <el-table-column label="鍣ㄥ畼缂栧彿" align="center" prop="organnumber" />
+ <el-table-column label="鍣ㄥ畼缂栧彿" align="center" prop="organnumber">
+ <template slot-scope="scope">
+ {{ getOrganvalue(scope.row.organno) }}
+ </template>
+ </el-table-column>
<el-table-column
label="鑾峰彇鏈烘瀯"
@@ -413,9 +367,9 @@
<template slot-scope="scope">
<el-tag
:type="
- getOrganOverallStatus(scope.row) === 'completed'
+ getOrganOverallStatus(scope.row) == 'completed'
? 'success'
- : getOrganOverallStatus(scope.row) === 'assessing'
+ : getOrganOverallStatus(scope.row) == 'assessing'
? 'primary'
: 'warning'
"
@@ -554,14 +508,14 @@
},
computed: {
isCoordinator() {
- return this.currentUser.role === "coordinator";
+ return this.currentUser.role == "coordinator";
},
currentDepartment() {
return this.currentUser.department;
},
// 鏍规嵁鎹愮尞鍐冲畾杩囨护鍚庣殑鍣ㄥ畼鍒楄〃
filteredOrganAssessmentList() {
- if (!this.organdecisionValues || this.organdecisionValues.length === 0) {
+ if (!this.organdecisionValues || this.organdecisionValues.length == 0) {
return [];
}
@@ -585,7 +539,7 @@
return (
assessments &&
assessments.length > 0 &&
- assessments.every(assessment => assessment.status === "assessed")
+ assessments.every(assessment => assessment.status == "assessed")
);
});
},
@@ -611,20 +565,25 @@
this.infoid = this.$route.query.infoid;
this.caseId = this.infoid;
this.assessmentId = this.$route.query.id;
- this.isEdit = this.$route.query.assess === "true";
+ this.isEdit = this.$route.query.assess == "true";
this.getAssessmentDetail();
},
methods: {
// 鏍规嵁瀛楀吀value鑾峰彇label
getOrganLabel(organValue) {
- const dictItem = this.organDict.find(item => item.value === organValue);
+ const dictItem = this.organDict.find(item => item.value == organValue);
return dictItem ? dictItem.label : organValue;
+ },
+ getOrganvalue(organValue) {
+ const dictItem = this.organDict.find(item => item.value == organValue);
+
+ return dictItem ? dictItem.value : organValue;
},
// Tab鐐瑰嚮浜嬩欢
handleTabClick(organ, tab) {
if (tab.name !== "add") {
- this.activeTabMap.set(organ.organno, tab.name);
+ this.activeTabMap.set(organ.organno, String(tab.name));
}
},
// 鑾峰彇鍔熻兘鐘舵�佹爣绛剧被鍨�
@@ -651,7 +610,7 @@
// 鏄剧ず闄勪欢鍒楄〃
showAttachmentList(attachments, assessmentNumber) {
- if (!attachments || attachments.length === 0) {
+ if (!attachments || attachments.length == 0) {
this.$message.info(`绗�${assessmentNumber}娆¤瘎浼版殏鏃犻檮浠禶);
return;
}
@@ -694,7 +653,7 @@
if (!organ.assesscontent) return [];
try {
const assessData =
- typeof organ.assesscontent === "string"
+ typeof organ.assesscontent == "string"
? JSON.parse(organ.assesscontent)
: organ.assesscontent;
@@ -780,7 +739,7 @@
const saveMethod = this.assessmentData.id ? assessedit : assessAdd;
const response = await saveMethod(saveData);
- if (response.code === 200) {
+ if (response.code == 200) {
this.$message.success("璇勪及琛ㄤ繚瀛樻垚鍔燂紒");
if (!this.assessmentData.id && response.data) {
this.assessmentData.id = response.data;
@@ -806,6 +765,7 @@
async handleOrganDecisionChange(newDecision) {
const oldDecision = [...this.prevOrgandecisionValues];
this.autoHandleDecisionChange(newDecision);
+ console.log(newDecision);
const removedDecisions = oldDecision.filter(
item => !newDecision.includes(item)
@@ -818,7 +778,7 @@
this.prevOrgandecisionValues = [...newDecision];
this.$forceUpdate();
- if (newDecision.length === 0) {
+ if (newDecision.length == 0) {
this.expandedRowKeys = [];
}
},
@@ -917,7 +877,7 @@
for (const organValue of relatedOrgans) {
const organIndex = this.organAssessmentList.findIndex(
- organ => organ.organno === organValue && organ.delFlag !== "1"
+ organ => organ.organno == organValue && organ.delFlag !== "1"
);
if (organIndex !== -1) {
@@ -959,7 +919,7 @@
// 纭繚鍣ㄥ畼瀛樺湪
ensureOrganExists(organValue) {
const exists = this.organAssessmentList.some(
- organ => organ.organno === organValue && organ.delFlag !== "1"
+ organ => organ.organno == organValue && organ.delFlag !== "1"
);
if (!exists) {
@@ -991,7 +951,7 @@
try {
const response = await evaluateBaseInfolist({ infoid: this.infoid });
- if (response.code === 200) {
+ if (response.code == 200) {
this.handleResponseData(response);
} else {
this.$message.error("鑾峰彇璇︽儏澶辫触锛�" + (response.msg || "鏈煡閿欒"));
@@ -1065,7 +1025,7 @@
const organno = organ.organno;
// 濡傛灉 assesscontent 鏄瓧绗︿覆锛岀‘淇濆畠鏄湁鏁堢殑 JSON
- if (organ.assesscontent && typeof organ.assesscontent === "string") {
+ if (organ.assesscontent && typeof organ.assesscontent == "string") {
try {
JSON.parse(organ.assesscontent);
} catch (error) {
@@ -1081,9 +1041,9 @@
const assessments = this.getOrganAssessments(organ);
const activeTab = this.activeTabMap.has(organno)
- ? this.activeTabMap.get(organno)
+ ? String(this.activeTabMap.get(organno))
: assessments.length > 0
- ? 0
+ ? "0"
: "summary";
return {
@@ -1101,7 +1061,7 @@
return {
index: index,
status: "pending",
- assessmentTime: "",
+ assessmentTime: new Date().toLocaleString("zh-CN"), // 娣诲姞榛樿璇勪及鏃堕棿
assessor: "",
functionStatus: "",
assessmentOpinion: "",
@@ -1125,20 +1085,20 @@
// 鑾峰彇鍣ㄥ畼鏁翠綋鐘舵��
getOrganOverallStatus(organ) {
const assessments = this.getOrganAssessments(organ);
- if (assessments.length === 0) {
+ if (assessments.length == 0) {
return "pending";
}
const validAssessments = assessments.filter(a => a.delFlag !== "1");
- if (validAssessments.length === 0) {
+ if (validAssessments.length == 0) {
return "pending";
}
const allAssessed = validAssessments.every(
- assessment => assessment.status === "assessed"
+ assessment => assessment.status == "assessed"
);
const someAssessed = validAssessments.some(
- assessment => assessment.status === "assessed"
+ assessment => assessment.status == "assessed"
);
if (allAssessed) return "completed";
@@ -1167,7 +1127,7 @@
} else {
this.expandedRowKeys = [key];
this.organAssessmentList.forEach(item => {
- item.expanded = item.organno === key;
+ item.expanded = item.organno == key;
});
}
},
@@ -1185,14 +1145,15 @@
const assessments = this.getOrganAssessments(organ);
const newAssessment = {
...this.getDefaultAssessment(assessments.length),
- assessor: this.currentUser.name
+ assessor: this.currentUser.name,
+ assessmentTime: new Date().toLocaleString("zh-CN") // 璁剧疆鍏蜂綋鐨勮瘎浼版椂闂�
};
const newAssessments = [...assessments, newAssessment];
this.$set(organ, "assesscontent", JSON.stringify(newAssessments));
- organ.activeTab = assessments.length;
- this.activeTabMap.set(organ.organno, assessments.length);
+ organ.activeTab = String(assessments.length);
+ this.activeTabMap.set(organ.organno, String(assessments.length));
this.$message.success("宸叉坊鍔犳柊鐨勮瘎浼�");
},
@@ -1203,32 +1164,25 @@
this.deleteOrganAssessment(organData, assessmentIndex);
},
// 澶勭悊璇勪及淇濆瓨
+ // 鍦� AssessmentDetail.vue 鐨� handleSaveAssessment 鏂规硶涓�
handleSaveAssessment(data) {
const { organData, assessmentData, assessmentIndex } = data;
const assessments = this.getOrganAssessments(organData);
- console.log("淇濆瓨璇勪及鏁版嵁:", data);
-
if (assessments[assessmentIndex]) {
- // 鍒涘缓鏂扮殑璇勪及鏁扮粍
const newAssessments = [...assessments];
newAssessments[assessmentIndex] = {
...assessments[assessmentIndex],
...assessmentData,
- status: "assessed", // 鏍囪涓哄凡璇勪及
- assessmentTime: new Date().toISOString(), // 璁剧疆璇勪及鏃堕棿
- delFlag: "0" // 纭繚鍒犻櫎鏍囧織
+ status: "assessed",
+ assessmentTime:
+ assessmentData.assessmentTime || new Date().toLocaleString("zh-CN"),
+ delFlag: "0"
};
- // 鏇存柊 assesscontent
this.$set(organData, "assesscontent", JSON.stringify(newAssessments));
-
- // 寮哄埗閲嶆柊娓叉煋
this.$forceUpdate();
-
this.$message.success("璇勪及淇濆瓨鎴愬姛");
-
- // 妫�鏌ユ槸鍚﹂渶瑕佽嚜鍔ㄥ垏鎹㈠埌涓嬩竴涓瘎浼�
this.checkAndSwitchTab(organData, assessmentIndex);
}
},
@@ -1238,8 +1192,8 @@
const assessments = this.getOrganAssessments(organData);
if (currentIndex < assessments.length - 1) {
// 濡傛灉杩樻湁涓嬩竴涓瘎浼帮紝鑷姩鍒囨崲鍒颁笅涓�涓�
- organData.activeTab = currentIndex + 1;
- this.activeTabMap.set(organData.organno, currentIndex + 1);
+ organData.activeTab = String(currentIndex + 1);
+ this.activeTabMap.set(organData.organno, String(currentIndex + 1));
} else {
// 濡傛灉娌℃湁涓嬩竴涓瘎浼帮紝鍒囨崲鍒版眹鎬婚〉
organData.activeTab = "summary";
@@ -1279,14 +1233,14 @@
this.$set(organ, "assesscontent", JSON.stringify(newAssessments));
// 澶勭悊tab鍒囨崲
- if (newAssessments.length === 0) {
+ if (newAssessments.length == 0) {
organ.activeTab = "summary";
this.activeTabMap.set(organ.organno, "summary");
- } else if (organ.activeTab === assessmentIndex) {
+ } else if (organ.activeTab == String(assessmentIndex)) {
const newIndex = Math.max(0, assessmentIndex - 1);
- organ.activeTab = newIndex;
- this.activeTabMap.set(organ.organno, newIndex);
- } else if (organ.activeTab === "summary") {
+ organ.activeTab = String(newIndex);
+ this.activeTabMap.set(organ.organno, String(newIndex));
+ } else if (organ.activeTab == "summary") {
this.activeTabMap.set(organ.organno, "summary");
}
@@ -1301,16 +1255,18 @@
// 鑾峰彇鏈�鏂拌瘎浼版椂闂�
getLatestAssessmentTime(organ) {
const assessments = this.getOrganAssessments(organ);
- if (assessments.length === 0) return null;
+ if (assessments.length == 0) return null;
const assessed = assessments.filter(
a => a.assessmentTime && a.delFlag !== "1"
);
- if (assessed.length === 0) return null;
+ if (assessed.length == 0) return null;
- return assessed.sort(
- (a, b) => new Date(b.assessmentTime) - new Date(a.assessmentTime)
- )[0].assessmentTime;
+ return this.parseTime(
+ assessed.sort(
+ (a, b) => new Date(b.assessmentTime) - new Date(a.assessmentTime)
+ )[0].assessmentTime
+ );
},
// 鑾峰彇璇勪及鐘舵�佹爣绛剧被鍨�
@@ -1372,7 +1328,7 @@
if (this.assessmentData.assessannex) {
try {
const annexData =
- typeof this.assessmentData.assessannex === "string"
+ typeof this.assessmentData.assessannex == "string"
? JSON.parse(this.assessmentData.assessannex)
: this.assessmentData.assessannex;
@@ -1411,7 +1367,7 @@
const response = await assessedit(updateData);
- if (response.code === 200) {
+ if (response.code == 200) {
this.$message.success("璇勪及瀹屾垚纭鎴愬姛");
this.assessmentData.assessState = "3";
this.isEdit = false;
@@ -1519,6 +1475,7 @@
.fixed-width .el-button {
margin: 0 2px;
}
+
/* 姹囨�婚〉闈㈡牱寮� */
.assessment-summary {
padding: 10px;
--
Gitblit v1.9.3