From e2eb5acfb3961315df21abfe6f33a959699b562b Mon Sep 17 00:00:00 2001
From: WXL <wl_5969728@163.com>
Date: 星期二, 30 十二月 2025 09:49:07 +0800
Subject: [PATCH] 页面维护
---
src/views/project/DonationProcess/index.vue | 265 ++++++++++++++++++++++++++++++++++++++---------------
1 files changed, 190 insertions(+), 75 deletions(-)
diff --git a/src/views/project/DonationProcess/index.vue b/src/views/project/DonationProcess/index.vue
index 516cc50..2e0fbd2 100644
--- a/src/views/project/DonationProcess/index.vue
+++ b/src/views/project/DonationProcess/index.vue
@@ -28,18 +28,29 @@
/>
</el-form-item>
<el-form-item label="鐘舵��" prop="recordstate">
- <el-select v-model="queryParams.recordstate" placeholder="璇烽�夋嫨鐘舵��" clearable size="small">
+ <el-select
+ v-model="queryParams.recordstate"
+ placeholder="璇烽�夋嫨鐘舵��"
+ clearable
+ size="small"
+ >
<el-option label="鍏ㄩ儴" value="" />
- <el-option label="寰呭鏍�" value="0" />
- <el-option label="宸插鏍�" value="1" />
+ <el-option label="缁存姢涓�" value="0" />
+ <el-option label="宸插畬鎴�" value="1" />
<el-option label="宸茬粓姝�" value="99" />
</el-select>
</el-form-item>
<el-form-item>
- <el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery"
+ <el-button
+ type="primary"
+ icon="el-icon-search"
+ size="mini"
+ @click="handleQuery"
>鎼滅储</el-button
>
- <el-button icon="el-icon-refresh" size="mini" @click="resetQuery">閲嶇疆</el-button>
+ <el-button icon="el-icon-refresh" size="mini" @click="resetQuery"
+ >閲嶇疆</el-button
+ >
</el-form-item>
</el-form>
</el-card>
@@ -63,7 +74,7 @@
<div class="stat-icon">鈴�</div>
<div class="stat-info">
<div class="stat-count">{{ stats.pendingCount }}</div>
- <div class="stat-label">寰呭鏍�</div>
+ 缁存姢涓�
</div>
</div>
</el-card>
@@ -74,7 +85,7 @@
<div class="stat-icon">鉁�</div>
<div class="stat-info">
<div class="stat-count">{{ stats.approvedCount }}</div>
- <div class="stat-label">宸插鏍�</div>
+ <div class="stat-label">宸插畬鎴�</div>
</div>
</div>
</el-card>
@@ -100,13 +111,25 @@
:default-sort="{ prop: 'donatetime', order: 'descending' }"
style="width: 100%; margin-top: 20px;"
>
- <el-table-column label="涓婃姤鏃堕棿" align="center" prop="donatetime" width="110" fixed="left">
+ <el-table-column
+ label="涓婃姤鏃堕棿"
+ align="center"
+ prop="donatetime"
+ width="110"
+ fixed="left"
+ >
<template slot-scope="scope">
<span>{{ parseTime(scope.row.donatetime, "{y}-{m}-{d}") }}</span>
</template>
</el-table-column>
- <el-table-column label="杩涘害" align="center" prop="coreteamassessconclusion" width="100" fixed="left">
+ <el-table-column
+ label="杩涘害"
+ align="center"
+ prop="coreteamassessconclusion"
+ width="100"
+ fixed="left"
+ >
<template slot-scope="scope">
<el-tag :type="getStatusTag(scope.row.recordstate)">
{{ getStatusText(scope.row.recordstate) }}
@@ -118,26 +141,45 @@
<el-table-column label="鎬у埆" align="center" prop="sex" width="80">
<template slot-scope="scope">
- <span>{{ scope.row.sex === 1 ? '鐢�' : '濂�' }}</span>
+ <span>{{ scope.row.sex === 1 ? "鐢�" : "濂�" }}</span>
</template>
</el-table-column>
<el-table-column label="骞撮緞" align="center" prop="age" width="80" />
- <el-table-column label="璇佷欢鍙风爜" align="center" prop="idcardno" width="180" />
+ <el-table-column
+ label="璇佷欢鍙风爜"
+ align="center"
+ prop="idcardno"
+ width="180"
+ />
- <el-table-column label="鍗忚皟鍛�" align="center" prop="reportername" width="100" />
+ <el-table-column
+ label="鍗忚皟鍛�"
+ align="center"
+ prop="reportername"
+ width="100"
+ />
- <el-table-column label="娌荤枟鍖婚櫌" align="center" prop="treatmenthospitalname" width="150" show-overflow-tooltip />
- <el-table-column label="杞负妗堜緥鏃堕棿" align="center" prop="donatetime" width="110">
+ <el-table-column
+ label="杞负妗堜緥鏃堕棿"
+ align="center"
+ prop="donatetime"
+ width="110"
+ >
<template slot-scope="scope">
<span>{{ parseTime(scope.row.donatetime, "{y}-{m}-{d}") }}</span>
</template>
</el-table-column>
<!-- 绗竴娆″尰瀛﹁瘎浼� -->
- <el-table-column label="绗竴娆¤瘎浼扮粨璁�" align="center" prop="coreteamassessconclusion" width="120">
+ <el-table-column
+ label="绗竴娆¤瘎浼扮粨璁�"
+ align="center"
+ prop="coreteamassessconclusion"
+ width="120"
+ >
<template slot-scope="scope">
<dict-tag
:options="dict.type.sys_BaseAssessConclusion"
@@ -146,14 +188,26 @@
</template>
</el-table-column>
- <el-table-column label="绗竴娆¤瘎浼版椂闂�" align="center" prop="coreteamassesstime" width="110">
+ <el-table-column
+ label="绗竴娆¤瘎浼版椂闂�"
+ align="center"
+ prop="coreteamassesstime"
+ width="110"
+ >
<template slot-scope="scope">
- <span>{{ parseTime(scope.row.coreteamassesstime, "{y}-{m}-{d}") }}</span>
+ <span>{{
+ parseTime(scope.row.coreteamassesstime, "{y}-{m}-{d}")
+ }}</span>
</template>
</el-table-column>
<!-- 绗簩娆″尰瀛﹁瘎浼� -->
- <el-table-column label="绗簩娆¤瘎浼扮粨璁�" align="center" prop="coreteamassessconclusion" width="120">
+ <el-table-column
+ label="绗簩娆¤瘎浼扮粨璁�"
+ align="center"
+ prop="coreteamassessconclusion"
+ width="120"
+ >
<template slot-scope="scope">
<dict-tag
:options="dict.type.sys_BaseAssessConclusion"
@@ -162,19 +216,36 @@
</template>
</el-table-column>
- <el-table-column label="绗簩娆¤瘎浼版椂闂�" align="center" prop="coreteamassesstime" width="110">
+ <el-table-column
+ label="绗簩娆¤瘎浼版椂闂�"
+ align="center"
+ prop="coreteamassesstime"
+ width="110"
+ >
<template slot-scope="scope">
- <span>{{ parseTime(scope.row.coreteamassesstime, "{y}-{m}-{d}") }}</span>
+ <span>{{
+ parseTime(scope.row.coreteamassesstime, "{y}-{m}-{d}")
+ }}</span>
</template>
</el-table-column>
- <el-table-column label="浜插睘纭鏃堕棿" align="center" prop="signdate" width="110">
+ <el-table-column
+ label="浜插睘纭鏃堕棿"
+ align="center"
+ prop="signdate"
+ width="110"
+ >
<template slot-scope="scope">
<span>{{ parseTime(scope.row.signdate, "{y}-{m}-{d}") }}</span>
</template>
</el-table-column>
- <el-table-column label="浼︾悊瀹℃煡缁撹" align="center" prop="expertconclusion" width="120">
+ <el-table-column
+ label="浼︾悊瀹℃煡缁撹"
+ align="center"
+ prop="expertconclusion"
+ width="120"
+ >
<template slot-scope="scope">
<dict-tag
:options="dict.type.sys_EthicalReview"
@@ -183,27 +254,55 @@
</template>
</el-table-column>
- <el-table-column label="浼︾悊瀹℃煡鏃堕棿" align="center" prop="conclusiontime" width="110">
+ <el-table-column
+ label="浼︾悊瀹℃煡鏃堕棿"
+ align="center"
+ prop="conclusiontime"
+ width="110"
+ >
<template slot-scope="scope">
<span>{{ parseTime(scope.row.conclusiontime, "{y}-{m}-{d}") }}</span>
</template>
</el-table-column>
- <el-table-column label="鍣ㄥ畼鍒嗛厤鏁伴噺" align="center" prop="organcount" width="100" />
+ <el-table-column
+ label="鍣ㄥ畼鍒嗛厤鏁伴噺"
+ align="center"
+ prop="organcount"
+ width="100"
+ />
- <el-table-column label="鑾峰彇瑙佽瘉鏃堕棿" align="center" prop="operationbegtime" width="110">
+ <el-table-column
+ label="鑾峰彇瑙佽瘉鏃堕棿"
+ align="center"
+ prop="operationbegtime"
+ width="110"
+ >
<template slot-scope="scope">
- <span>{{ parseTime(scope.row.operationbegtime, "{y}-{m}-{d}") }}</span>
+ <span>{{
+ parseTime(scope.row.operationbegtime, "{y}-{m}-{d}")
+ }}</span>
</template>
</el-table-column>
- <el-table-column label="瀹屾垚鐧昏鏃堕棿" align="center" prop="completetime" width="110">
+ <el-table-column
+ label="瀹屾垚鐧昏鏃堕棿"
+ align="center"
+ prop="completetime"
+ width="110"
+ >
<template slot-scope="scope">
<span>{{ parseTime(scope.row.completetime, "{y}-{m}-{d}") }}</span>
</template>
</el-table-column>
- <el-table-column label="鎹愮尞杩涘害" align="center" prop="workflow" width="120" fixed="right">
+ <el-table-column
+ label="鎹愮尞杩涘害"
+ align="center"
+ prop="workflow"
+ width="120"
+ fixed="right"
+ >
<template slot-scope="scope">
<div v-if="!scope.row.terminationCase">
<dict-tag
@@ -287,7 +386,7 @@
<script>
// 瀵煎叆妯℃嫙鏁版嵁鐢熸垚宸ュ叿
-import Mock from 'mockjs';
+import Mock from "mockjs";
export default {
name: "Donatebaseinfo",
@@ -337,27 +436,29 @@
/** 鐢熸垚妯℃嫙鏁版嵁 */
generateMockData() {
const mockTemplate = {
- 'list|15-30': [{
- 'id|+1': 1001,
- 'name': '@cname',
- 'sex|1': [1, 2], // 1:鐢�, 2:濂�
- 'age|18-65': 1,
- 'idcardno': /^[1-9]\d{5}(19|20)\d{2}(0[1-9]|1[0-2])(0[1-9]|[12]\d|3[01])\d{3}[\dX]$/,
- 'reportername': '@cname',
- 'treatmenthospitalname': '@ctitle(3, 5)鍖婚櫌',
- 'donatetime': '@datetime("yyyy-MM-dd HH:mm:ss")',
- 'coreteamassessconclusion|1': ['1', '2', '3'], // 璇勪及缁撹
- 'coreteamassesstime': '@datetime("yyyy-MM-dd HH:mm:ss")',
- 'signdate': '@datetime("yyyy-MM-dd HH:mm:ss")',
- 'expertconclusion|1': ['1', '2', '3'], // 浼︾悊瀹℃煡缁撹
- 'conclusiontime': '@datetime("yyyy-MM-dd HH:mm:ss")',
- 'organcount|0-5': 1,
- 'operationbegtime': '@datetime("yyyy-MM-dd HH:mm:ss")',
- 'completetime': '@datetime("yyyy-MM-dd HH:mm:ss")',
- 'workflow|1': ['1', '2', '3', '4', '5'], // 宸ヤ綔娴佺姸鎬�
- 'recordstate|1': ['0', '1', '99'], // 0:寰呭鏍�, 1:宸插鏍�, 99:宸茬粓姝�
- 'terminationCase|1': [true, false]
- }]
+ "list|15-30": [
+ {
+ "id|+1": 1001,
+ name: "@cname",
+ "sex|1": [1, 2], // 1:鐢�, 2:濂�
+ "age|18-65": 1,
+ idcardno: /^[1-9]\d{5}(19|20)\d{2}(0[1-9]|1[0-2])(0[1-9]|[12]\d|3[01])\d{3}[\dX]$/,
+ reportername: "@cname",
+ treatmenthospitalname: "@ctitle(3, 5)鍖婚櫌",
+ donatetime: '@datetime("yyyy-MM-dd HH:mm:ss")',
+ "coreteamassessconclusion|1": ["1", "2", "3"], // 璇勪及缁撹
+ coreteamassesstime: '@datetime("yyyy-MM-dd HH:mm:ss")',
+ signdate: '@datetime("yyyy-MM-dd HH:mm:ss")',
+ "expertconclusion|1": ["1", "2", "3"], // 浼︾悊瀹℃煡缁撹
+ conclusiontime: '@datetime("yyyy-MM-dd HH:mm:ss")',
+ "organcount|0-5": 1,
+ operationbegtime: '@datetime("yyyy-MM-dd HH:mm:ss")',
+ completetime: '@datetime("yyyy-MM-dd HH:mm:ss")',
+ "workflow|1": ["1", "2", "3", "4", "5"], // 宸ヤ綔娴佺姸鎬�
+ "recordstate|1": ["0", "1", "99"], // 0:寰呭鏍�, 1:宸插鏍�, 99:宸茬粓姝�
+ "terminationCase|1": [true, false]
+ }
+ ]
};
return Mock.mock(mockTemplate).list;
@@ -385,13 +486,14 @@
);
}
if (this.queryParams.recordstate) {
- filteredData = filteredData.filter(item =>
- item.recordstate === this.queryParams.recordstate
+ filteredData = filteredData.filter(
+ item => item.recordstate === this.queryParams.recordstate
);
}
// 鍒嗛〉澶勭悊
- const startIndex = (this.queryParams.pageNum - 1) * this.queryParams.pageSize;
+ const startIndex =
+ (this.queryParams.pageNum - 1) * this.queryParams.pageSize;
const endIndex = startIndex + this.queryParams.pageSize;
this.donatebaseinfoList = filteredData.slice(startIndex, endIndex);
this.total = filteredData.length;
@@ -405,40 +507,49 @@
/** 鏇存柊缁熻鏁版嵁 */
updateStats(data) {
this.stats.totalCount = data.length;
- this.stats.pendingCount = data.filter(item => item.recordstate === '0').length;
- this.stats.approvedCount = data.filter(item => item.recordstate === '1').length;
- this.stats.terminatedCount = data.filter(item => item.recordstate === '99').length;
+ this.stats.pendingCount = data.filter(
+ item => item.recordstate === "0"
+ ).length;
+ this.stats.approvedCount = data.filter(
+ item => item.recordstate === "1"
+ ).length;
+ this.stats.terminatedCount = data.filter(
+ item => item.recordstate === "99"
+ ).length;
},
/** 鑾峰彇鐘舵�佹爣绛炬牱寮� */
getStatusTag(status) {
const statusMap = {
- '0': 'warning', // 寰呭鏍�
- '1': 'success', // 宸插鏍�
- '99': 'danger' // 宸茬粓姝�
+ "0": "warning", // 寰呭鏍�
+ "1": "success", // 宸插鏍�
+ "99": "danger" // 宸茬粓姝�
};
- return statusMap[status] || 'info';
+ return statusMap[status] || "info";
},
/** 鑾峰彇鐘舵�佹枃鏈� */
getStatusText(status) {
const textMap = {
- '0': '寰呭鏍�',
- '1': '宸插鏍�',
- '99': '宸茬粓姝�'
+ "0": "缁存姢涓�",
+ "1": "宸插畬鎴�",
+ "99": "宸茬粓姝�"
};
- return textMap[status] || '鏈煡鐘舵��';
+ return textMap[status] || "鏈煡鐘舵��";
},
/** 鏃堕棿鏍煎紡鍖� */
parseTime(time, format) {
- if (!time) return '-';
+ if (!time) return "-";
const date = new Date(time);
const year = date.getFullYear();
- const month = (date.getMonth() + 1).toString().padStart(2, '0');
- const day = date.getDate().toString().padStart(2, '0');
+ const month = (date.getMonth() + 1).toString().padStart(2, "0");
+ const day = date
+ .getDate()
+ .toString()
+ .padStart(2, "0");
- if (format === '{y}-{m}-{d}') {
+ if (format === "{y}-{m}-{d}") {
return `${year}-${month}-${day}`;
}
return time;
@@ -481,10 +592,14 @@
/** 鎻愪氦瀹℃牳 */
submitApprove() {
// 妯℃嫙瀹℃牳鎻愪氦
- const index = this.donatebaseinfoList.findIndex(item => item.id === this.currentRecord.id);
+ const index = this.donatebaseinfoList.findIndex(
+ item => item.id === this.currentRecord.id
+ );
if (index !== -1) {
- this.donatebaseinfoList[index].recordstate = this.approveForm.approveResult;
- this.$message.success('瀹℃牳鎴愬姛');
+ this.donatebaseinfoList[
+ index
+ ].recordstate = this.approveForm.approveResult;
+ this.$message.success("瀹℃牳鎴愬姛");
this.approveVisible = false;
this.getList(); // 閲嶆柊鍔犺浇鏇存柊缁熻
}
@@ -512,19 +627,19 @@
}
.stats-card.total {
- border-left: 4px solid #409EFF;
+ border-left: 4px solid #409eff;
}
.stats-card.pending {
- border-left: 4px solid #E6A23C;
+ border-left: 4px solid #e6a23c;
}
.stats-card.approved {
- border-left: 4px solid #67C23A;
+ border-left: 4px solid #67c23a;
}
.stats-card.terminated {
- border-left: 4px solid #F56C6C;
+ border-left: 4px solid #f56c6c;
}
.stat-content {
--
Gitblit v1.9.3