From 3453ba7e5243022ad4388da1515dc75ad8d81f94 Mon Sep 17 00:00:00 2001
From: WXL <wl_5969728@163.com>
Date: 星期日, 17 五月 2026 15:00:23 +0800
Subject: [PATCH] 近期调试
---
src/views/business/ethicalReview/ethicalReviewInfo.vue | 489 +++++++++++++++++++++++++----------------------------
1 files changed, 230 insertions(+), 259 deletions(-)
diff --git a/src/views/business/ethicalReview/ethicalReviewInfo.vue b/src/views/business/ethicalReview/ethicalReviewInfo.vue
index 1c4b908..c783e46 100644
--- a/src/views/business/ethicalReview/ethicalReviewInfo.vue
+++ b/src/views/business/ethicalReview/ethicalReviewInfo.vue
@@ -234,14 +234,6 @@
>
鍙戦�佷富濮斾笓瀹�
</el-button>
- <el-button
- size="mini"
- type="warning"
- @click="handleBatchSend"
- :disabled="!canBatchSend"
- >
- 鎵归噺鍙戦��
- </el-button>
</div>
</div>
@@ -373,6 +365,14 @@
</template>
</el-table-column>
+ <el-table-column label="鎴鏃堕棿" width="160" align="center">
+ <template slot-scope="scope">
+ <span>{{
+ scope.row.endTime ? formatDateTime(scope.row.endTime) : "鏈缃�"
+ }}</span>
+ </template>
+ </el-table-column>
+
<el-table-column label="瀹℃煡鏃堕棿" width="160" align="center">
<template slot-scope="scope">
<span>{{
@@ -392,7 +392,7 @@
</template>
</el-table-column>
- <el-table-column label="鎿嶄綔" width="280" align="center" fixed="right">
+ <el-table-column label="鎿嶄綔" width="180" align="center" fixed="right">
<template slot-scope="scope">
<el-button
size="mini"
@@ -417,27 +417,11 @@
}}
</el-button>
<el-button
- size="mini"
- type="text"
- icon="el-icon-edit"
- @click="handleEditExpertReview(scope.row)"
- :disabled="!['2', '3'].includes(scope.row.receiveStatus)"
- >
- 缂栬緫
- </el-button>
- <el-button
- size="mini"
- type="text"
- icon="el-icon-view"
- @click="handleViewExpertReview(scope.row)"
- >
- 璇︽儏
- </el-button>
- <el-button
+ v-if="scope.row.receiveStatus == 0"
size="mini"
type="text"
icon="el-icon-delete"
- @click="handleDeleteExpertReview(scope.$index)"
+ @click="handleDeleteExpertReview(scope.row, scope.$index)"
style="color: #f56c6c;"
>
鍒犻櫎
@@ -482,7 +466,7 @@
</div>
<el-table
- :data="expertList"
+ :data="filteredExpertList"
v-loading="expertListLoading"
style="width: 100%"
max-height="400"
@@ -534,7 +518,7 @@
:page-sizes="[10, 20, 50, 100]"
:page-size="expertPage.pageSize"
layout="total, sizes, prev, pager, next, jumper"
- :total="expertTotal"
+ :total="filteredExpertTotal"
></el-pagination>
</div>
@@ -554,6 +538,7 @@
:title="sendDialogTitle"
:visible.sync="sendDialogVisible"
width="500px"
+ @close="handleSendDialogClose"
>
<el-form :model="sendForm" ref="sendForm" label-width="100px">
<el-form-item label="涓撳绫诲瀷" prop="expertType">
@@ -589,6 +574,16 @@
style="width: 100%"
:disabled="sendForm.expertType === 'chief'"
/>
+ <div v-if="sendForm.expertType !== 'chief'" style="margin-top: 5px;">
+ <el-button-group>
+ <el-button size="mini" @click="setEndTime(0.5)"
+ >鍗婂皬鏃跺悗</el-button
+ >
+ <el-button size="mini" @click="setEndTime(1)">涓�灏忔椂鍚�</el-button>
+ <el-button size="mini" @click="setEndTime(2)">涓ゅ皬鏃跺悗</el-button>
+ <el-button size="mini" @click="setEndTime(24)">涓�澶╁悗</el-button>
+ </el-button-group>
+ </div>
<div
v-if="sendForm.expertType === 'chief'"
style="font-size: 12px; color: #999; margin-top: 5px;"
@@ -610,36 +605,23 @@
</el-select>
</el-form-item>
- <el-form-item
- label="閫夋嫨涓撳"
- prop="expertIds"
- v-if="sendForm.expertType == 'normal'"
- >
- <el-select
- v-model="sendForm.expertIds"
- multiple
- placeholder="璇烽�夋嫨涓撳"
- style="width: 100%"
- >
- <el-option
- v-for="expert in availableNormalExperts"
- :key="getExpertKey(expert)"
- :label="
- `${expert.expertname}${
- expert.expertNo ? '(' + expert.expertNo + ')' : ''
- }`
- "
- :value="getExpertKey(expert)"
- />
- </el-select>
+ <el-form-item label="鍙戦�佹爣棰�" prop="title" required>
+ <el-input v-model="sendForm.title" placeholder="璇疯緭鍏ュ彂閫佹爣棰�" />
</el-form-item>
- <el-form-item label="鍙戦�佸唴瀹�" prop="content">
+ <el-form-item label="鍙戦�佸唴瀹�" prop="content" required>
<el-input
type="textarea"
:rows="4"
v-model="sendForm.content"
placeholder="璇疯緭鍏ュ彂閫佺粰涓撳鐨勫鏌ュ唴瀹硅鏄�"
+ />
+ </el-form-item>
+
+ <el-form-item label="璺宠浆閾炬帴" prop="url">
+ <el-input
+ v-model="sendForm.url"
+ placeholder="璇疯緭鍏ヨ烦杞摼鎺ワ紙鍙�夛級"
/>
</el-form-item>
</el-form>
@@ -781,7 +763,8 @@
ethicalreviewedit,
ethicalreviewadd,
ethicalreviewInfo,
- ethicalreExpertTotal
+ ethicalreExpertTotal,
+ sendNotification
} from "@/api/businessApi";
import { listExternalperson } from "@/api/project/externalperson";
import CaseBasicInfo from "@/components/CaseBasicInfo";
@@ -917,7 +900,9 @@
startTime: "",
endTime: "",
sendType: "0",
- content: ""
+ title: "浼︾悊瀹℃煡浠诲姟閫氱煡",
+ content: "",
+ url: ""
},
// 涓撳鍘嗗彶瀹℃壒鎯呭喌
@@ -926,8 +911,8 @@
expertHistoryData: null,
currentExpertInfo: {},
- // 鍐呴儴鐘舵�佽窡韪�
- internalExpertList: []
+ // 褰撳墠鍙戦�佺殑涓撳
+ currentSendExperts: []
};
},
computed: {
@@ -1028,12 +1013,43 @@
return this.availableChiefExperts.length > 0 && normalApprovedCount >= 12;
},
- // 鏄惁鍙互鎵归噺鍙戦��
- canBatchSend() {
- return (
- this.availableNormalExperts.length > 0 ||
- this.availableChiefExperts.length > 0
- );
+ // 宸插瓨鍦ㄧ殑涓撳缂栧彿鍒楄〃
+ existingExpertNos() {
+ return this.ethicalreviewopinionsList
+ .map(expert => expert.expertNo)
+ .filter(no => no);
+ },
+
+ // 宸插瓨鍦ㄧ殑涓撳濮撳悕鍒楄〃
+ existingExpertNames() {
+ return this.ethicalreviewopinionsList
+ .map(expert => expert.expertname)
+ .filter(name => name);
+ },
+
+ // 杩囨护鍚庣殑涓撳鍒楄〃锛堟帓闄ゅ凡瀛樺湪鐨勪笓瀹讹級
+ filteredExpertList() {
+ if (!this.expertList.length) return [];
+
+ return this.expertList.filter(expert => {
+ // 濡傛灉涓撳鏈夌紪鍙凤紝妫�鏌ョ紪鍙锋槸鍚﹀凡瀛樺湪
+ if (expert.userno && this.existingExpertNos.includes(expert.userno)) {
+ return false;
+ }
+ // 濡傛灉涓撳鏈夊鍚嶏紝妫�鏌ュ鍚嶆槸鍚﹀凡瀛樺湪
+ if (
+ expert.username &&
+ this.existingExpertNames.includes(expert.username)
+ ) {
+ return false;
+ }
+ return true;
+ });
+ },
+
+ // 杩囨护鍚庣殑涓撳鎬绘暟
+ filteredExpertTotal() {
+ return this.filteredExpertList.length;
},
// 褰撳墠鐢ㄦ埛淇℃伅
@@ -1057,8 +1073,6 @@
"form.ethicalreviewopinionsList": {
handler(newVal) {
console.log("涓撳鍒楄〃鍙樺寲:", newVal);
- // 寮哄埗瑙﹀彂璁$畻灞炴�ф洿鏂�
- this.$forceUpdate();
},
deep: true
}
@@ -1371,7 +1385,20 @@
if (this.sendForm.expertType === "chief") {
// 涓诲涓撳鏃犻渶璁剧疆鎴鏃堕棿
this.sendForm.endTime = "";
+ } else {
+ // 鏅�氫笓瀹堕噸缃埅姝㈡椂闂翠负褰撳墠鏃堕棿
+ this.sendForm.endTime = "";
}
+ },
+
+ // 璁剧疆鎴鏃堕棿蹇嵎閿�
+ setEndTime(hours) {
+ const now = new Date();
+ const endTime = new Date(now.getTime() + hours * 60 * 60 * 1000);
+ this.sendForm.endTime = endTime
+ .toISOString()
+ .replace("T", " ")
+ .substring(0, 19);
},
// 淇濆瓨淇℃伅
@@ -1379,6 +1406,10 @@
this.$refs.form.validate(async valid => {
if (valid) {
this.saveLoading = true;
+ // 淇濆瓨娓呯┖id渚夸簬鍚庣鏁翠綋鍒犻櫎鏂板
+ this.form.ethicalreviewopinionsList.forEach(item=>{
+ item.id=null
+ })
try {
const submitData = {
...this.form,
@@ -1495,9 +1526,6 @@
if (response.code === 200) {
this.$message.success("瀹℃煡宸蹭腑姝紝鎵�鏈変笓瀹剁姸鎬佸凡鏇存柊");
this.form.status = "2";
-
- // 瑙﹀彂璁$畻灞炴�ф洿鏂�
- this.$forceUpdate();
} else {
this.$message.error("鎿嶄綔澶辫触锛�" + (response.msg || "鏈煡閿欒"));
}
@@ -1575,8 +1603,8 @@
const response = await listExternalperson(params);
if (response.code === 200) {
- this.expertList = response.rows;
- this.expertTotal = response.total;
+ this.expertList = response.rows || [];
+ this.expertTotal = response.total || 0;
} else {
this.$message.error(
"鍔犺浇涓撳鍒楄〃澶辫触锛�" + (response.msg || "鏈煡閿欒")
@@ -1621,21 +1649,8 @@
this.$set(this.form, "ethicalreviewopinionsList", []);
}
- // 杩囨护宸插瓨鍦ㄧ殑涓撳
- const existingExpertIds = this.form.ethicalreviewopinionsList.map(
- expert => expert.expertNo || expert.expertname
- );
- const newExperts = this.selectedExperts.filter(expert => {
- return !existingExpertIds.includes(expert.userno || expert.username);
- });
-
- if (newExperts.length === 0) {
- this.$message.warning("閫夋嫨鐨勪笓瀹跺凡瀛樺湪");
- return;
- }
-
// 娣诲姞涓撳鍒板垪琛�
- newExperts.forEach(expert => {
+ this.selectedExperts.forEach(expert => {
// 鍒ゆ柇鏄惁涓轰富浠诲鍛�
const isChief = this.getIsChiefExpert(expert);
@@ -1649,7 +1664,7 @@
expertType: isChief ? "1" : "0", // 涓讳换濮斿憳璁剧疆涓轰富濮斾笓瀹�
deptName: expert.unitname || "",
title: expert.title || "",
- telephone: expert.telephone || "",
+ deptname: expert.telephone || "",
receiveStatus: "0", // 寰呮帴鏀�
expertconclusion: "",
expertopinion: "",
@@ -1672,22 +1687,11 @@
delFlag: "0"
};
- // 浣跨敤Vue.set纭繚鍝嶅簲寮�
+ // 浣跨敤push娣诲姞锛岀‘淇濆搷搴斿紡
this.form.ethicalreviewopinionsList.push(expertReview);
});
- // 瑙﹀彂璁$畻灞炴�ф洿鏂�
- this.$forceUpdate();
-
- console.log(
- "娣诲姞涓撳鍚庯紝褰撳墠涓撳鍒楄〃:",
- this.form.ethicalreviewopinionsList
- );
- console.log("鏅�氫笓瀹舵暟閲�:", this.normalExpertsCount);
- console.log("涓诲涓撳鏁伴噺:", this.chiefExpertsCount);
- console.log("鍙彂閫佹櫘閫氫笓瀹�:", this.availableNormalExperts);
-
- this.$message.success(`鎴愬姛娣诲姞 ${newExperts.length} 浣嶄笓瀹禶);
+ this.$message.success(`鎴愬姛娣诲姞 ${this.selectedExperts.length} 浣嶄笓瀹禶);
this.expertDialogVisible = false;
this.selectedExperts = [];
},
@@ -1715,9 +1719,7 @@
// 鍙戦�佺粰鏅�氫笓瀹�
handleSendToNormalExperts() {
- this.sendForm.expertIds = this.availableNormalExperts.map(expert =>
- this.getExpertKey(expert)
- );
+ this.currentSendExperts = this.availableNormalExperts;
this.sendForm.expertType = "normal";
this.sendForm.endTime = ""; // 閲嶇疆鎴鏃堕棿
this.sendDialogVisible = true;
@@ -1725,34 +1727,33 @@
// 鍙戦�佺粰涓诲涓撳
handleSendToChiefExpert() {
- this.sendForm.expertIds = this.availableChiefExperts.map(expert =>
- this.getExpertKey(expert)
- );
+ this.currentSendExperts = this.availableChiefExperts;
this.sendForm.expertType = "chief";
this.sendForm.endTime = ""; // 涓诲涓撳鏃犻渶鎴鏃堕棿
this.sendDialogVisible = true;
},
- // 鎵归噺鍙戦��
- handleBatchSend() {
- const allAvailableExperts = [
- ...this.availableNormalExperts,
- ...this.availableChiefExperts
- ];
- this.sendForm.expertIds = allAvailableExperts.map(expert =>
- this.getExpertKey(expert)
- );
- this.sendForm.expertType = "batch";
- this.sendForm.endTime = ""; // 閲嶇疆鎴鏃堕棿
- this.sendDialogVisible = true;
- },
-
// 鍙戦�佺粰鍗曚釜涓撳
handleSendToExpert(expert) {
- this.sendForm.expertIds = [this.getExpertKey(expert)];
+ this.currentSendExperts = [expert];
this.sendForm.expertType = expert.expertType === "1" ? "chief" : "normal";
this.sendForm.endTime = expert.expertType === "1" ? "" : ""; // 涓诲涓撳鏃犻渶鎴鏃堕棿
this.sendDialogVisible = true;
+ },
+
+ // 鍙戦�佸璇濇鍏抽棴
+ handleSendDialogClose() {
+ this.sendForm = {
+ expertType: "normal",
+ expertIds: [],
+ startTime: "",
+ endTime: "",
+ sendType: "0",
+ title: "浼︾悊瀹℃煡浠诲姟閫氱煡",
+ content: "",
+ url: ""
+ };
+ this.currentSendExperts = [];
},
// 纭鍙戦��
@@ -1773,47 +1774,110 @@
return;
}
- if (this.sendForm.expertIds.length === 0) {
- this.$message.warning("璇烽�夋嫨瑕佸彂閫佺殑涓撳");
+ if (!this.sendForm.title) {
+ this.$message.warning("璇疯緭鍏ュ彂閫佹爣棰�");
+ return;
+ }
+
+ if (!this.sendForm.content) {
+ this.$message.warning("璇疯緭鍏ュ彂閫佸唴瀹�");
+ return;
+ }
+
+ if (this.currentSendExperts.length === 0) {
+ this.$message.warning("娌℃湁鎵惧埌鍙彂閫佺殑涓撳");
return;
}
this.sending = true;
try {
- // 妯℃嫙鍙戦�佽繃绋�
- await new Promise(resolve => setTimeout(resolve, 1000));
+ // 鍙戦�佺粰姣忎釜涓撳
+ const sendPromises = this.currentSendExperts.map(async expert => {
+ try {
+ // 鏋勫缓鍙戦�佹暟鎹�
+ const sendData = {
+ number: expert.deptname || "", // 鐢ㄦ埛鎵嬫満鍙�
+ title: this.sendForm.title,
+ url: this.sendForm.url || "",
- // 鏇存柊涓撳鐘舵��
- this.sendForm.expertIds.forEach(expertKey => {
- const index = this.form.ethicalreviewopinionsList.findIndex(
- expert => this.getExpertKey(expert) === expertKey
- );
- if (index !== -1) {
- this.form.ethicalreviewopinionsList[index].receiveStatus = "2"; // 宸叉帴鏀�
- this.form.ethicalreviewopinionsList[
- index
- ].startTime = this.sendForm.startTime;
- this.form.ethicalreviewopinionsList[
- index
- ].endTime = this.sendForm.endTime;
- this.form.ethicalreviewopinionsList[
- index
- ].sendType = this.sendForm.sendType;
- this.form.ethicalreviewopinionsList[index].updateTime = new Date()
- .toISOString()
- .replace("T", " ")
- .substring(0, 19);
+ createTime: new Date()
+ .toISOString()
+ .replace("T", " ")
+ .substring(0, 19)
+ };
- // 浣跨敤Vue.set纭繚鍝嶅簲寮�
- this.$set(
- this.form.ethicalreviewopinionsList,
- index,
- this.form.ethicalreviewopinionsList[index]
- );
+ // 璋冪敤鍙戦�侀�氱煡鎺ュ彛
+ const response = await sendNotification(sendData);
+
+ if (response.code === 200) {
+ // 鏇存柊涓撳鐘舵��
+ const index = this.form.ethicalreviewopinionsList.findIndex(
+ e =>
+ e.expertNo === expert.expertNo ||
+ e.expertname === expert.expertname
+ );
+
+ if (index !== -1) {
+ this.form.ethicalreviewopinionsList[index].receiveStatus = "1"; // 宸叉帴鏀�
+ this.form.ethicalreviewopinionsList[
+ index
+ ].startTime = this.sendForm.startTime;
+ this.form.ethicalreviewopinionsList[
+ index
+ ].endTime = this.sendForm.endTime;
+ this.form.ethicalreviewopinionsList[
+ index
+ ].sendType = this.sendForm.sendType;
+ this.form.ethicalreviewopinionsList[
+ index
+ ].updateTime = new Date()
+ .toISOString()
+ .replace("T", " ")
+ .substring(0, 19);
+
+ // 浣跨敤Vue.set纭繚鍝嶅簲寮忔洿鏂�
+ this.$set(
+ this.form.ethicalreviewopinionsList,
+ index,
+ this.form.ethicalreviewopinionsList[index]
+ );
+ }
+
+ return { success: true, expert: expert.expertname };
+ } else {
+ return {
+ success: false,
+ expert: expert.expertname,
+ error: response.msg
+ };
+ }
+ } catch (error) {
+ console.error(`鍙戦�佺粰涓撳 ${expert.expertname} 澶辫触:`, error);
+ return {
+ success: false,
+ expert: expert.expertname,
+ error: error.message
+ };
}
});
- this.$message.success("鍙戦�佹垚鍔�");
+ // 绛夊緟鎵�鏈夊彂閫佸畬鎴�
+ const results = await Promise.all(sendPromises);
+
+ // 缁熻鍙戦�佺粨鏋�
+ const successCount = results.filter(r => r.success).length;
+ const failCount = results.filter(r => !r.success).length;
+
+ if (failCount === 0) {
+ this.$message.success(`鎴愬姛鍙戦�佺粰 ${successCount} 浣嶄笓瀹禶);
+ } else if (successCount > 0) {
+ this.$message.warning(
+ `鎴愬姛鍙戦�佺粰 ${successCount} 浣嶄笓瀹讹紝澶辫触 ${failCount} 浣峘
+ );
+ } else {
+ this.$message.error("鍙戦�佸け璐ワ紝璇风◢鍚庨噸璇�");
+ }
+
this.sendDialogVisible = false;
this.sendForm = {
expertType: "normal",
@@ -1821,11 +1885,11 @@
startTime: "",
endTime: "",
sendType: "0",
- content: ""
+ title: "浼︾悊瀹℃煡浠诲姟閫氱煡",
+ content: "",
+ url: ""
};
-
- // 瑙﹀彂璁$畻灞炴�ф洿鏂�
- this.$forceUpdate();
+ this.currentSendExperts = [];
} catch (error) {
console.error("鍙戦�佸け璐�:", error);
this.$message.error("鍙戦�佸け璐ワ紝璇烽噸璇�");
@@ -1834,48 +1898,23 @@
}
},
- // 缂栬緫涓撳瀹℃煡
- handleEditExpertReview(expert) {
- this.$prompt("璇疯緭鍏ュ鏌ユ剰瑙�", "缂栬緫涓撳瀹℃煡", {
+ // 鍒犻櫎涓撳瀹℃煡
+ handleDeleteExpertReview(expert, index) {
+ this.$confirm("纭畾瑕佸垹闄よ涓撳鐨勫鏌ヨ褰曞悧锛�", "鎻愮ず", {
confirmButtonText: "纭畾",
cancelButtonText: "鍙栨秷",
- inputValue: expert.expertopinion || "",
- inputPlaceholder: "璇疯緭鍏ュ鏌ユ剰瑙�",
- inputValidator: value => {
- if (!value || value.trim() === "") {
- return "瀹℃煡鎰忚涓嶈兘涓虹┖";
- }
- return true;
- }
+ type: "warning"
})
- .then(({ value }) => {
- const index = this.form.ethicalreviewopinionsList.findIndex(
- e => e.id === expert.id || e.expertNo === expert.expertNo
- );
- if (index !== -1) {
- this.form.ethicalreviewopinionsList[index].expertopinion = value;
- this.form.ethicalreviewopinionsList[index].updateTime = new Date()
- .toISOString()
- .replace("T", " ")
- .substring(0, 19);
-
- // 浣跨敤Vue.set纭繚鍝嶅簲寮�
- this.$set(
- this.form.ethicalreviewopinionsList,
- index,
- this.form.ethicalreviewopinionsList[index]
- );
-
- this.$message.success("瀹℃煡鎰忚宸叉洿鏂�");
- }
+ .then(() => {
+ // 浠庢暟缁勪腑鍒犻櫎涓撳
+ this.form.ethicalreviewopinionsList.splice(index, 1);
+ this.$message.success("涓撳瀹℃煡璁板綍宸插垹闄�");
})
.catch(() => {});
},
// 鏌ョ湅涓撳鍘嗗彶瀹℃壒鎯呭喌
async handleViewExpertHistory(expert) {
- console.log(12);
-
if (!expert.expertNo) {
this.$message.warning("璇ヤ笓瀹舵病鏈夌紪鍙凤紝鏃犳硶鏌ヨ鍘嗗彶瀹℃壒鎯呭喌");
return;
@@ -1889,16 +1928,14 @@
const params = {
expertNo: expert.expertNo
};
- console.log(11);
const response = await ethicalreExpertTotal(params);
- console.log(response);
- if (response) {
- this.expertHistoryData = response[0];
+ if (response && response.code === 200) {
+ this.expertHistoryData = response.data || response[0] || null;
} else {
this.$message.error(
- "鏌ヨ涓撳鍘嗗彶瀹℃壒鎯呭喌澶辫触锛�" + (response.msg || "鏈煡閿欒")
+ "鏌ヨ涓撳鍘嗗彶瀹℃壒鎯呭喌澶辫触锛�" + (response?.msg || "鏈煡閿欒")
);
this.expertHistoryData = null;
}
@@ -1911,78 +1948,12 @@
}
},
- // 鏌ョ湅涓撳瀹℃煡璇︽儏
- handleViewExpertReview(expert) {
- this.$alert(
- `
- <div style="line-height: 1.6;">
- <p><strong>涓撳濮撳悕锛�</strong>${expert.expertname}</p>
- <p><strong>涓撳缂栧彿锛�</strong>${expert.expertNo || "-"}</p>
- <p><strong>涓撳绫诲瀷锛�</strong>${this.getExpertTypeText(
- expert.expertType
- )}</p>
- <p><strong>绉戝鍚嶇О锛�</strong>${expert.deptName || "-"}</p>
- <p><strong>鑱岀О锛�</strong>${expert.title || "-"}</p>
- <p><strong>鑱旂郴鐢佃瘽锛�</strong>${expert.telephone || "-"}</p>
- <p><strong>瀹℃煡鐘舵�侊細</strong>${this.getReviewStatusText(
- expert.receiveStatus
- )}</p>
- <p><strong>涓撳缁撹锛�</strong>${
- expert.expertconclusion
- ? this.getConclusionText(expert.expertconclusion)
- : "鏈彁浜�"
- }</p>
- <p><strong>瀹℃煡鎰忚锛�</strong>${expert.expertopinion || "鏃�"}</p>
- <p><strong>缁撹椤哄簭锛�</strong>${expert.conclusionorder || "-"}</p>
- <p><strong>瀹℃煡鏃堕棿锛�</strong>${expert.conclusiontime || "鏈鏌�"}</p>
- <p><strong>鍙戦�佹椂闂达細</strong>${expert.startTime || "鏈彂閫�"}</p>
- <p><strong>鎴鏃堕棿锛�</strong>${expert.endTime || "-"}</p>
- <p><strong>鍙戦�佹柟寮忥細</strong>${
- expert.sendType
- ? expert.sendType === "0"
- ? "绯荤粺鍙戦��"
- : expert.sendType === "1"
- ? "閭欢鍙戦��"
- : expert.sendType === "2"
- ? "鐭俊鍙戦��"
- : "鍏朵粬鏂瑰紡"
- : "-"
- }</p>
- </div>
- `,
- "涓撳瀹℃煡璇︽儏",
- {
- dangerouslyUseHTMLString: true,
- customClass: "expert-review-detail-dialog",
- showConfirmButton: false,
- showCancelButton: true,
- cancelButtonText: "鍏抽棴"
- }
- );
- },
-
- // 鍒犻櫎涓撳瀹℃煡
- handleDeleteExpertReview(index) {
- this.$confirm("纭畾瑕佸垹闄よ涓撳鐨勫鏌ヨ褰曞悧锛�", "鎻愮ず", {
- confirmButtonText: "纭畾",
- cancelButtonText: "鍙栨秷",
- type: "warning"
- })
- .then(() => {
- this.form.ethicalreviewopinionsList.splice(index, 1);
-
- // 瑙﹀彂璁$畻灞炴�ф洿鏂�
- this.$forceUpdate();
-
- this.$message.success("涓撳瀹℃煡璁板綍宸插垹闄�");
- })
- .catch(() => {});
- },
-
// 鏃堕棿鏍煎紡鍖�
parseTime(time) {
if (!time) return "";
const date = new Date(time);
+ if (isNaN(date.getTime())) return time;
+
return `${date.getFullYear()}-${(date.getMonth() + 1)
.toString()
.padStart(2, "0")}-${date
--
Gitblit v1.9.3