From 4c9fdc87987140e8b2c3f0dfc2f6608cdb6be774 Mon Sep 17 00:00:00 2001
From: WXL <wl_5969728@163.com>
Date: 星期三, 21 十月 2026 17:39:24 +0800
Subject: [PATCH] 青岛维护
---
src/views/business/ethicalReview/index.vue | 218 ++++++++++++++++++++++++++----------------------------
1 files changed, 104 insertions(+), 114 deletions(-)
diff --git a/src/views/business/ethicalReview/index.vue b/src/views/business/ethicalReview/index.vue
index 73029df..df8748a 100644
--- a/src/views/business/ethicalReview/index.vue
+++ b/src/views/business/ethicalReview/index.vue
@@ -86,12 +86,6 @@
>淇敼</el-button
> -->
<el-button
- type="warning"
- icon="el-icon-download"
- @click="handleExport"
- >瀵煎嚭</el-button
- >
- <el-button
type="info"
icon="el-icon-check"
:disabled="single"
@@ -116,29 +110,13 @@
>
<el-table-column type="selection" width="55" align="center" />
<el-table-column
- label="妗堜緥缂栧彿"
- align="center"
- prop="caseNo"
- width="120"
- />
- <el-table-column
- label="鎹愮尞鑰呯紪鍙�"
- align="center"
- prop="donorno"
- width="120"
- />
- <el-table-column
- label="濮撳悕"
- align="center"
- prop="name"
- width="100"
- />
- <el-table-column
label="浣忛櫌鍙�"
align="center"
prop="inpatientno"
width="120"
/>
+ <el-table-column label="濮撳悕" align="center" prop="name" width="100" />
+
<el-table-column label="鎬у埆" align="center" prop="sex" width="80">
<template slot-scope="scope">
<dict-tag
@@ -148,34 +126,37 @@
</template>
</el-table-column>
<el-table-column label="骞撮緞" align="center" prop="age" width="80" />
- <el-table-column
- label="琛�鍨�"
- align="center"
- prop="bloodtype"
- width="80"
- />
- <el-table-column
- label="璇佷欢鍙风爜"
- align="center"
- prop="idcardno"
- width="180"
- />
+
+ <el-table-column label="琛�鍨�" align="center" prop="bloodtype" width="80">
+ <template slot-scope="scope">
+ <dict-tag
+ :options="dict.type.sys_BloodType"
+ :value="scope.row.bloodtype"
+ />
+ </template>
+ </el-table-column>
<el-table-column
label="鐤剧梾璇婃柇"
align="center"
prop="diagnosisname"
- min-width="180"
+ width="200"
show-overflow-tooltip
/>
<el-table-column
- label="鍖荤枟鏈烘瀯"
+ label="鎹愮尞绫诲瀷"
align="center"
- prop="treatmenthospitalname"
- min-width="150"
- show-overflow-tooltip
- />
+ prop="donationcategory"
+ width="180"
+ >
+ <template slot-scope="scope">
+ <dict-tag
+ :options="dict.type.sys_DonationCategory"
+ :value="scope.row.donationcategory"
+ />
+ </template>
+ </el-table-column>
<el-table-column
- label="浼︾悊鐘舵��"
+ label="瀹℃煡鐘舵��"
align="center"
prop="status"
width="100"
@@ -187,27 +168,28 @@
/>
</template>
</el-table-column>
- <el-table-column
- label="涓撳缁撹"
+ <!-- <el-table-column
+ label="瀹℃煡缁撹"
align="center"
prop="expertConclusion"
width="120"
- />
+ >
+ <template slot-scope="scope">
+ <dict-tag
+ :options="dict.type.expert_Conclusion"
+ :value="scope.row.expertConclusion"
+ />
+ </template>
+ </el-table-column> -->
<el-table-column
- label="涓撳鎰忚"
+ label="瀹℃煡鎰忚"
align="center"
prop="expertOpinion"
min-width="150"
show-overflow-tooltip
/>
<el-table-column
- label="涓撳濮撳悕"
- align="center"
- prop="expertName"
- width="100"
- />
- <el-table-column
- label="缁撹鏃堕棿"
+ label="瀹℃煡鏃堕棿"
align="center"
prop="expertTime"
width="160"
@@ -223,7 +205,7 @@
<el-table-column
label="鎿嶄綔"
align="center"
- width="180"
+ width="220"
fixed="right"
class-name="small-padding fixed-width"
>
@@ -232,23 +214,22 @@
size="mini"
type="text"
icon="el-icon-view"
- @click="handleView(scope.row)"
- >璇︽儏</el-button
+ @click.stop="handleView(scope.row)"
+ >鏌ョ湅</el-button
>
<el-button
size="mini"
type="text"
icon="el-icon-edit"
- @click="handleUpdate(scope.row)"
- >淇敼</el-button
+ @click.stop="handleUpdate(scope.row)"
+ >缂栬緫</el-button
>
<el-button
size="mini"
type="text"
- icon="el-icon-check"
- @click="handleEndReview(scope.row)"
- :disabled="scope.row.status === '2'"
- >缁撴潫</el-button
+ icon="el-icon-printer"
+ @click.stop="handleDownload(scope.row)"
+ >鎵撳嵃</el-button
>
</template>
</el-table-column>
@@ -267,13 +248,25 @@
</template>
<script>
-import { reviewinitiateBaseInfoList, ethicalreviewedit, } from "@/api/businessApi";
+import {
+ reviewinitiateBaseInfoList,
+ ethicalreviewedit,
+ ethicalReviewDownload
+} from "@/api/businessApi";
import Pagination from "@/components/Pagination";
+import { getToken } from "@/utils/auth";
export default {
name: "EthicsReviewList",
components: { Pagination },
- dicts: ["sys_user_sex", "sys_ethical"],
+ dicts: [
+ "sys_user_sex",
+ "ReviewForm_status",
+ "sys_ethical",
+ "expert_Conclusion",
+ "sys_BloodType",
+ "sys_DonationCategory"
+ ],
data() {
return {
// 閬僵灞�
@@ -319,9 +312,14 @@
delete params.reviewTimeRange;
// 濡傛灉鏈夋椂闂磋寖鍥村弬鏁�
- if (this.queryParams.reviewTimeRange && this.queryParams.reviewTimeRange.length === 2) {
- params.expertTimeStart = this.queryParams.reviewTimeRange[0] + ' 00:00:00';
- params.expertTimeEnd = this.queryParams.reviewTimeRange[1] + ' 23:59:59';
+ if (
+ this.queryParams.reviewTimeRange &&
+ this.queryParams.reviewTimeRange.length === 2
+ ) {
+ params.expertTimeStart =
+ this.queryParams.reviewTimeRange[0] + " 00:00:00";
+ params.expertTimeEnd =
+ this.queryParams.reviewTimeRange[1] + " 23:59:59";
}
reviewinitiateBaseInfoList(params)
@@ -361,7 +359,7 @@
handleView(row) {
this.$router.push({
path: "/case/ethicalReviewInfo",
- query: { infoid: row.infoid }
+ query: { infoid: row.infoid, id: row.id, mode: "view" }
});
},
// 鏂板鎸夐挳鎿嶄綔
@@ -373,12 +371,13 @@
const infoid = row.infoid;
this.$router.push({
path: "/case/ethicalReviewInfo",
- query: { infoid: infoid }
+ query: { infoid: infoid, id: row.id, mode: "edit" }
});
},
// 缁撴潫瀹℃煡鎿嶄綔
handleEndReview(row) {
- const selectedRow = row || (this.selectedRows.length === 1 ? this.selectedRows[0] : null);
+ const selectedRow =
+ row || (this.selectedRows.length === 1 ? this.selectedRows[0] : null);
if (!selectedRow) {
this.$message.warning("璇烽�夋嫨涓�鏉¤褰�");
return;
@@ -393,7 +392,7 @@
// 璋冪敤淇敼鎺ュ彛锛屽皢鐘舵�佹敼涓虹粨鏉燂紙status: '2'锛�
const updateData = {
infoid: selectedRow.infoid,
- status: '2',
+ status: "2",
// 鍙互淇濈暀鍘熸湁鏁版嵁
expertName: selectedRow.expertName,
expertConclusion: selectedRow.expertConclusion,
@@ -413,50 +412,41 @@
})
.catch(() => {});
},
- // 瀵煎嚭鎸夐挳鎿嶄綔
- handleExport() {
- const queryParams = { ...this.queryParams };
- delete queryParams.pageNum;
- delete queryParams.pageSize;
-
- // 澶勭悊鏃堕棿鑼冨洿鍙傛暟
- if (queryParams.reviewTimeRange && queryParams.reviewTimeRange.length === 2) {
- queryParams.expertTimeStart = queryParams.reviewTimeRange[0] + ' 00:00:00';
- queryParams.expertTimeEnd = queryParams.reviewTimeRange[1] + ' 23:59:59';
- }
- delete queryParams.reviewTimeRange;
-
- this.$confirm("鏄惁纭瀵煎嚭鎵�鏈変鸡鐞嗗鏌ユ暟鎹紵", "璀﹀憡", {
- confirmButtonText: "纭畾",
- cancelButtonText: "鍙栨秷",
- type: "warning"
- })
- .then(() => {
- this.loading = true;
- // return ethicalreviewexport(queryParams);
- })
- .then(response => {
- if (response.code === 200) {
- this.$message.success("瀵煎嚭鎴愬姛");
- // 澶勭悊瀵煎嚭鏂囦欢涓嬭浇
- if (response.data) {
- const blob = new Blob([response.data], { type: 'application/vnd.ms-excel' });
- const downloadElement = document.createElement('a');
- const href = window.URL.createObjectURL(blob);
- downloadElement.href = href;
- downloadElement.download = '浼︾悊瀹℃煡鍒楄〃.xlsx';
- document.body.appendChild(downloadElement);
- downloadElement.click();
- document.body.removeChild(downloadElement);
- window.URL.revokeObjectURL(href);
- }
- } else {
- this.$message.error(response.msg || "瀵煎嚭澶辫触");
+ // 涓嬭浇浼︾悊瀹℃煡妗f
+ handleDownload(row) {
+ ethicalReviewDownload({ nitiateId: row.id })
+ .then(res => {
+ if (res.code !== 200 || !res.data || !res.data.downloadUrl) {
+ this.$message.error(res.msg || "涓嬭浇澶辫触");
+ return;
}
- this.loading = false;
+ const fileUrl = res.data;
+ // 鎷兼帴涓嬭浇鍦板潃锛歰rigin + /dev-api(寮�鍙戜唬鐞嗗墠缂�) + /profile + downloadUrl锛�
+ // 鍚庣闈欐�佹枃浠跺疄闄呮寕鍦� /profile 涓嬶紝downloadUrl 灏戜簡杩欏眰鍓嶇紑
+ const urlBase = process.env.VUE_APP_BASE_API;
+ const curWWWPath = window.document.location.href;
+ const pos = curWWWPath.indexOf(window.document.location.pathname);
+ const fullUrl =
+ curWWWPath.substring(0, pos) + urlBase + "/profile" + fileUrl.downloadUrl;
+
+ fetch(fullUrl, {
+ headers: { Authorization: "Bearer " + getToken() }
+ })
+ .then(response => response.blob())
+ .then(blob => {
+ const url = window.URL.createObjectURL(new Blob([blob]));
+ const link = document.createElement("a");
+ link.href = url;
+ link.setAttribute("download", fileUrl.downloadName);
+ document.body.appendChild(link);
+ link.click();
+ link.parentNode.removeChild(link);
+ window.URL.revokeObjectURL(url);
+ });
})
- .catch(() => {
- this.loading = false;
+ .catch(error => {
+ console.error("涓嬭浇妗f澶辫触:", error);
+ this.$message.error("涓嬭浇澶辫触");
});
},
// 鏃堕棿鏍煎紡鍖�
--
Gitblit v1.9.3