From 01d3b0dd65574a8b6ff6ff66b0474f2de82daa6a Mon Sep 17 00:00:00 2001
From: WXL (wul) <wl_5969728@163.com>
Date: 星期二, 31 三月 2026 10:34:49 +0800
Subject: [PATCH] 测试完成
---
src/views/Satisfaction/configurationmyd/batch.vue | 337 ++++++++++++++++++++++++++++++--------------------------
1 files changed, 180 insertions(+), 157 deletions(-)
diff --git a/src/views/Satisfaction/configurationmyd/batch.vue b/src/views/Satisfaction/configurationmyd/batch.vue
index 41c2d0d..10d6619 100644
--- a/src/views/Satisfaction/configurationmyd/batch.vue
+++ b/src/views/Satisfaction/configurationmyd/batch.vue
@@ -14,11 +14,7 @@
>
鎵归噺鎻愪氦澶勭悊
</el-button>
- <el-button
- type="warning"
- icon="el-icon-back"
- @click="handleGoBack"
- >
+ <el-button type="warning" icon="el-icon-back" @click="handleGoBack">
杩斿洖寮傚父鍒楄〃
</el-button>
</div>
@@ -70,10 +66,7 @@
>
绛涢��
</el-button>
- <el-button
- icon="el-icon-refresh"
- @click="handleResetFilter"
- >
+ <el-button icon="el-icon-refresh" @click="handleResetFilter">
閲嶇疆
</el-button>
</el-form-item>
@@ -88,11 +81,7 @@
@selection-change="handleSelectionChange"
class="exception-table"
>
- <el-table-column
- type="selection"
- width="55"
- align="center"
- />
+ <el-table-column type="selection" width="55" align="center" />
<el-table-column
label="搴忓彿"
@@ -125,11 +114,7 @@
</template>
</el-table-column>
- <el-table-column
- label="鎮h�呬俊鎭�"
- width="300"
- align="center"
- >
+ <el-table-column label="鎮h�呬俊鎭�" width="300" align="center">
<template slot-scope="{ row }">
<div class="patient-info">
<div class="patient-item">
@@ -138,7 +123,9 @@
</div>
<div class="patient-item">
<span class="label">鎬у埆锛�</span>
- <span class="value">{{ row.gender === 1 ? '鐢�' : '濂�' }}</span>
+ <span class="value">{{
+ row.gender === 1 ? "鐢�" : "濂�"
+ }}</span>
</div>
<div class="patient-item">
<span class="label">骞撮緞锛�</span>
@@ -152,11 +139,7 @@
</template>
</el-table-column>
- <el-table-column
- label="鍑洪櫌淇℃伅"
- width="250"
- align="center"
- >
+ <el-table-column label="鍑洪櫌淇℃伅" width="250" align="center">
<template slot-scope="{ row }">
<div class="discharge-info">
<div class="info-item">
@@ -182,10 +165,7 @@
align="center"
>
<template slot-scope="{ row }">
- <el-tag
- :type="getStatusTagType(row.processStatus)"
- effect="dark"
- >
+ <el-tag :type="getStatusTagType(row.processStatus)" effect="dark">
{{ getStatusText(row.processStatus) }}
</el-tag>
</template>
@@ -193,7 +173,7 @@
<el-table-column
label="鎿嶄綔"
- width="180"
+ width="210"
align="center"
fixed="right"
>
@@ -302,17 +282,15 @@
:file-list="fileList"
>
<el-button size="small" type="primary">鐐瑰嚮涓婁紶</el-button>
- <div slot="tip" class="el-upload__tip">鏀寔涓婁紶鍥剧墖銆佹枃妗g瓑闄勪欢锛屽崟涓枃浠朵笉瓒呰繃10MB</div>
+ <div slot="tip" class="el-upload__tip">
+ 鏀寔涓婁紶鍥剧墖銆佹枃妗g瓑闄勪欢锛屽崟涓枃浠朵笉瓒呰繃10MB
+ </div>
</el-upload>
</el-form-item>
</el-form>
<span slot="footer" class="dialog-footer">
<el-button @click="processDialogVisible = false">鍙栨秷</el-button>
- <el-button
- type="primary"
- @click="submitProcess"
- :loading="processing"
- >
+ <el-button type="primary" @click="submitProcess" :loading="processing">
鎻愪氦澶勭悊
</el-button>
</span>
@@ -384,14 +362,31 @@
</el-button>
</span>
</el-dialog>
+ <!-- 寮傚父璇︽儏寮规 -->
+ <Details-anomaly
+ :visible="detailDialogVisible"
+ :record-id="selectedRecordId"
+ :title="detailDialogTitle"
+ @update:visible="handleDetailDialogClose"
+ @processed="handleProcessed"
+ @close="handleDetailDialogClose"
+ />
</div>
</template>
<script>
+import DetailsAnomaly from "./components/DetailsAnomaly.vue";
export default {
- name: 'BatchProcess',
+ name: "BatchProcess",
+ components: {
+ DetailsAnomaly,
+ },
data() {
return {
+ // 娣诲姞浠ヤ笅鏁版嵁
+ detailDialogVisible: false,
+ selectedRecordId: null,
+ detailDialogTitle: "寮傚父鍙嶉璇︽儏",
// 褰撳墠澶勭悊鐨勫紓甯窱D
currentExceptionId: null,
@@ -400,10 +395,10 @@
// 杩囨护鍙傛暟
filterParams: {
- deptId: '',
- status: '',
+ deptId: "",
+ status: "",
pageNum: 1,
- pageSize: 10
+ pageSize: 10,
},
// 鍔犺浇鐘舵��
@@ -413,16 +408,16 @@
// 绉戝鍒楄〃
deptList: [
- { id: 1, name: '蹇冭绠″唴绉�' },
- { id: 2, name: '绁炵粡鍐呯' },
- { id: 3, name: '鏅绉�' },
- { id: 4, name: '楠ㄧ' },
- { id: 5, name: '濡囦骇绉�' },
- { id: 6, name: '鍎跨' },
- { id: 7, name: '鎬ヨ瘖绉�' },
- { id: 8, name: '鍛煎惛鍐呯' },
- { id: 9, name: '娑堝寲鍐呯' },
- { id: 10, name: '鍐呭垎娉岀' }
+ { id: 1, name: "蹇冭绠″唴绉�" },
+ { id: 2, name: "绁炵粡鍐呯" },
+ { id: 3, name: "鏅绉�" },
+ { id: 4, name: "楠ㄧ" },
+ { id: 5, name: "濡囦骇绉�" },
+ { id: 6, name: "鍎跨" },
+ { id: 7, name: "鎬ヨ瘖绉�" },
+ { id: 8, name: "鍛煎惛鍐呯" },
+ { id: 9, name: "娑堝寲鍐呯" },
+ { id: 10, name: "鍐呭垎娉岀" },
],
// 寮傚父鍒楄〃鏁版嵁
@@ -432,28 +427,33 @@
// 澶勭悊瀵硅瘽妗�
processDialogVisible: false,
processForm: {
- status: '',
+ status: "",
reportDepts: [],
- remark: ''
+ remark: "",
},
processRules: {
status: [
- { required: true, message: '璇烽�夋嫨澶勭悊鐘舵��', trigger: 'change' }
+ { required: true, message: "璇烽�夋嫨澶勭悊鐘舵��", trigger: "change" },
],
remark: [
- { required: true, message: '璇疯緭鍏ュ鐞嗗娉�', trigger: 'blur' },
- { min: 5, max: 500, message: '澶囨敞闀垮害鍦� 5 鍒� 500 涓瓧绗�', trigger: 'blur' }
- ]
+ { required: true, message: "璇疯緭鍏ュ鐞嗗娉�", trigger: "blur" },
+ {
+ min: 5,
+ max: 500,
+ message: "澶囨敞闀垮害鍦� 5 鍒� 500 涓瓧绗�",
+ trigger: "blur",
+ },
+ ],
},
fileList: [],
// 鎵归噺澶勭悊瀵硅瘽妗�
batchDialogVisible: false,
batchProcessForm: {
- status: '',
+ status: "",
reportDepts: [],
- remark: ''
- }
+ remark: "",
+ },
};
},
@@ -467,121 +467,125 @@
this.loading = true;
try {
// Mock 鏁版嵁
- await new Promise(resolve => {
+ await new Promise((resolve) => {
setTimeout(() => {
this.exceptionList = [
{
id: 1,
- responsibilityDept: '蹇冭绠″唴绉�',
- unsatisfactoryDetail: '鍖荤敓鏌ユ埧鏃堕棿澶煭锛屾矡閫氫笉澶熷厖鍒嗭紝瀵圭梾鎯呰В閲婁笉澶熻缁�',
- patientName: '寮犲厛鐢�',
+ responsibilityDept: "蹇冭绠″唴绉�",
+ unsatisfactoryDetail:
+ "鍖荤敓鏌ユ埧鏃堕棿澶煭锛屾矡閫氫笉澶熷厖鍒嗭紝瀵圭梾鎯呰В閲婁笉澶熻缁�",
+ patientName: "寮犲厛鐢�",
gender: 1,
age: 45,
- phone: '138****1234',
- dischargeDept: '蹇冭绠″唴绉�',
- dischargeWard: '鍐呯涓�鐥呭尯',
- fillTime: '2024-01-15 10:30:25',
+ phone: "138****1234",
+ dischargeDept: "蹇冭绠″唴绉�",
+ dischargeWard: "鍐呯涓�鐥呭尯",
+ fillTime: "2024-01-15 10:30:25",
processStatus: 0,
- questionnaireId: 1001
+ questionnaireId: 1001,
},
{
id: 2,
- responsibilityDept: '绁炵粡鍐呯',
- unsatisfactoryDetail: '鎶ゅ+鎵撻拡鎶�鏈笉浣筹紝鎵庝簡涓夋鎵嶆垚鍔燂紝涓旀�佸害涓嶅鑰愬績',
- patientName: '鏉庡コ澹�',
+ responsibilityDept: "绁炵粡鍐呯",
+ unsatisfactoryDetail:
+ "鎶ゅ+鎵撻拡鎶�鏈笉浣筹紝鎵庝簡涓夋鎵嶆垚鍔燂紝涓旀�佸害涓嶅鑰愬績",
+ patientName: "鏉庡コ澹�",
gender: 0,
age: 38,
- phone: '139****5678',
- dischargeDept: '绁炵粡鍐呯',
- dischargeWard: '鍐呯浜岀梾鍖�',
- fillTime: '2024-01-14 16:20:10',
+ phone: "139****5678",
+ dischargeDept: "绁炵粡鍐呯",
+ dischargeWard: "鍐呯浜岀梾鍖�",
+ fillTime: "2024-01-14 16:20:10",
processStatus: 0,
- questionnaireId: 1002
+ questionnaireId: 1002,
},
{
id: 3,
- responsibilityDept: '鏅绉�',
- unsatisfactoryDetail: '鏈悗鎹㈣嵂涓嶅強鏃讹紝浼ゅ彛鐤肩棝鏃舵病鏈夊強鏃跺鐞�',
- patientName: '鐜嬪厛鐢�',
+ responsibilityDept: "鏅绉�",
+ unsatisfactoryDetail: "鏈悗鎹㈣嵂涓嶅強鏃讹紝浼ゅ彛鐤肩棝鏃舵病鏈夊強鏃跺鐞�",
+ patientName: "鐜嬪厛鐢�",
gender: 1,
age: 52,
- phone: '137****9012',
- dischargeDept: '鏅绉�',
- dischargeWard: '澶栫涓�鐥呭尯',
- fillTime: '2024-01-13 09:15:45',
+ phone: "137****9012",
+ dischargeDept: "鏅绉�",
+ dischargeWard: "澶栫涓�鐥呭尯",
+ fillTime: "2024-01-13 09:15:45",
processStatus: 1,
- questionnaireId: 1003
+ questionnaireId: 1003,
},
{
id: 4,
- responsibilityDept: '楠ㄧ',
- unsatisfactoryDetail: '搴峰鎸囧涓嶅涓撲笟锛屽鎭㈠杩囩▼鎻忚堪涓嶆竻妤�',
- patientName: '鍒樺コ澹�',
+ responsibilityDept: "楠ㄧ",
+ unsatisfactoryDetail: "搴峰鎸囧涓嶅涓撲笟锛屽鎭㈠杩囩▼鎻忚堪涓嶆竻妤�",
+ patientName: "鍒樺コ澹�",
gender: 0,
age: 65,
- phone: '136****3456',
- dischargeDept: '楠ㄧ',
- dischargeWard: '澶栫浜岀梾鍖�',
- fillTime: '2024-01-12 14:40:30',
+ phone: "136****3456",
+ dischargeDept: "楠ㄧ",
+ dischargeWard: "澶栫浜岀梾鍖�",
+ fillTime: "2024-01-12 14:40:30",
processStatus: 0,
- questionnaireId: 1004
+ questionnaireId: 1004,
},
{
id: 5,
- responsibilityDept: '濡囦骇绉�',
- unsatisfactoryDetail: '浜у墠妫�鏌ユ帓闃熸椂闂磋繃闀匡紝绛夊緟鏈熼棿娌℃湁浼戞伅搴т綅',
- patientName: '闄堝コ澹�',
+ responsibilityDept: "濡囦骇绉�",
+ unsatisfactoryDetail:
+ "浜у墠妫�鏌ユ帓闃熸椂闂磋繃闀匡紝绛夊緟鏈熼棿娌℃湁浼戞伅搴т綅",
+ patientName: "闄堝コ澹�",
gender: 0,
age: 28,
- phone: '135****7890',
- dischargeDept: '濡囦骇绉�',
- dischargeWard: '濡囦骇绉戠梾鍖�',
- fillTime: '2024-01-11 11:25:15',
+ phone: "135****7890",
+ dischargeDept: "濡囦骇绉�",
+ dischargeWard: "濡囦骇绉戠梾鍖�",
+ fillTime: "2024-01-11 11:25:15",
processStatus: 2,
- questionnaireId: 1005
+ questionnaireId: 1005,
},
{
id: 6,
- responsibilityDept: '鍎跨',
- unsatisfactoryDetail: '鍎跨鐢ㄨ嵂鍓傞噺浜や唬涓嶆竻鏅帮紝鐢ㄨ嵂娉ㄦ剰浜嬮」娌℃湁璇存槑',
- patientName: '璧靛疂瀹�',
+ responsibilityDept: "鍎跨",
+ unsatisfactoryDetail:
+ "鍎跨鐢ㄨ嵂鍓傞噺浜や唬涓嶆竻鏅帮紝鐢ㄨ嵂娉ㄦ剰浜嬮」娌℃湁璇存槑",
+ patientName: "璧靛疂瀹�",
gender: 1,
age: 5,
- phone: '134****1234',
- dischargeDept: '鍎跨',
- dischargeWard: '鍎跨鐥呭尯',
- fillTime: '2024-01-10 15:50:20',
+ phone: "134****1234",
+ dischargeDept: "鍎跨",
+ dischargeWard: "鍎跨鐥呭尯",
+ fillTime: "2024-01-10 15:50:20",
processStatus: 0,
- questionnaireId: 1006
+ questionnaireId: 1006,
},
{
id: 7,
- responsibilityDept: '鎬ヨ瘖绉�',
- unsatisfactoryDetail: '鎬ヨ瘖绛夊緟鏃堕棿杩囬暱锛岀梾鎯呮病鏈夊緱鍒板強鏃惰瘎浼�',
- patientName: '瀛欏厛鐢�',
+ responsibilityDept: "鎬ヨ瘖绉�",
+ unsatisfactoryDetail: "鎬ヨ瘖绛夊緟鏃堕棿杩囬暱锛岀梾鎯呮病鏈夊緱鍒板強鏃惰瘎浼�",
+ patientName: "瀛欏厛鐢�",
gender: 1,
age: 40,
- phone: '133****5678',
- dischargeDept: '鎬ヨ瘖绉�',
- dischargeWard: '鎬ヨ瘖鐥呭尯',
- fillTime: '2024-01-09 10:15:40',
+ phone: "133****5678",
+ dischargeDept: "鎬ヨ瘖绉�",
+ dischargeWard: "鎬ヨ瘖鐥呭尯",
+ fillTime: "2024-01-09 10:15:40",
processStatus: 0,
- questionnaireId: 1007
+ questionnaireId: 1007,
},
{
id: 8,
- responsibilityDept: '鍛煎惛鍐呯',
- unsatisfactoryDetail: '鍖荤敓寮�鑽緝澶氾紝璐圭敤杈冮珮锛屾病鏈夎鏄庡繀瑕佹��',
- patientName: '鍛ㄥコ澹�',
+ responsibilityDept: "鍛煎惛鍐呯",
+ unsatisfactoryDetail: "鍖荤敓寮�鑽緝澶氾紝璐圭敤杈冮珮锛屾病鏈夎鏄庡繀瑕佹��",
+ patientName: "鍛ㄥコ澹�",
gender: 0,
age: 55,
- phone: '132****9012',
- dischargeDept: '鍛煎惛鍐呯',
- dischargeWard: '鍐呯涓�鐥呭尯',
- fillTime: '2024-01-08 13:30:55',
+ phone: "132****9012",
+ dischargeDept: "鍛煎惛鍐呯",
+ dischargeWard: "鍐呯涓�鐥呭尯",
+ fillTime: "2024-01-08 13:30:55",
processStatus: 1,
- questionnaireId: 1008
- }
+ questionnaireId: 1008,
+ },
];
this.total = this.exceptionList.length;
resolve();
@@ -595,20 +599,28 @@
// 鑾峰彇鐘舵�佹爣绛剧被鍨�
getStatusTagType(status) {
switch (status) {
- case 0: return 'warning'; // 寰呭鐞�
- case 1: return 'primary'; // 澶勭悊涓�
- case 2: return 'success'; // 宸插鐞�
- default: return 'info';
+ case 0:
+ return "warning"; // 寰呭鐞�
+ case 1:
+ return "primary"; // 澶勭悊涓�
+ case 2:
+ return "success"; // 宸插鐞�
+ default:
+ return "info";
}
},
// 鑾峰彇鐘舵�佹枃鏈�
getStatusText(status) {
switch (status) {
- case 0: return '寰呭鐞�';
- case 1: return '澶勭悊涓�';
- case 2: return '宸插鐞�';
- default: return '鏈煡';
+ case 0:
+ return "寰呭鐞�";
+ case 1:
+ return "澶勭悊涓�";
+ case 2:
+ return "宸插鐞�";
+ default:
+ return "鏈煡";
}
},
@@ -621,23 +633,23 @@
// 閲嶇疆绛涢��
handleResetFilter() {
this.filterParams = {
- deptId: '',
- status: '',
+ deptId: "",
+ status: "",
pageNum: 1,
- pageSize: 10
+ pageSize: 10,
};
this.loadExceptionList();
},
// 澶勭悊閫夋嫨鍙樺寲
handleSelectionChange(selection) {
- this.selectedExceptionIds = selection.map(item => item.id);
+ this.selectedExceptionIds = selection.map((item) => item.id);
},
// 澶勭悊鎵归噺鎻愪氦
handleBatchSubmit() {
if (this.selectedExceptionIds.length === 0) {
- this.$message.warning('璇峰厛閫夋嫨瑕佸鐞嗙殑寮傚父鍙嶉');
+ this.$message.warning("璇峰厛閫夋嫨瑕佸鐞嗙殑寮傚父鍙嶉");
return;
}
this.batchDialogVisible = true;
@@ -645,26 +657,31 @@
// 杩斿洖寮傚父鍒楄〃
handleGoBack() {
- this.$router.push('/satisfaction/exception/list');
+ this.$router.push("/satisfaction/exception/list");
},
// 鏌ョ湅璇︽儏
handleViewDetail(row) {
- this.$router.push({
- path: '/satisfaction/exception/detail',
- query: {
- id: row.questionnaireId
- }
- });
+ this.selectedRecordId = row.id;
+ this.detailDialogTitle = `${row.patientName} - 寮傚父鍙嶉璇︽儏`;
+ this.detailDialogVisible = true;
},
-
+ // 澶勭悊璇︽儏寮规鍏抽棴
+ handleDetailDialogClose() {
+ this.detailDialogVisible = false;
+ this.selectedRecordId = null;
+ }, // 澶勭悊瀹屾垚鍚庣殑鍥炶皟
+ handleProcessed() {
+ // 閲嶆柊鍔犺浇鏁版嵁
+ this.loadExceptionList();
+ },
// 澶勭悊鍗曚釜寮傚父
handleProcess(row) {
this.currentExceptionId = row.id;
this.processForm = {
status: row.processStatus === 0 ? 1 : row.processStatus,
reportDepts: [],
- remark: ''
+ remark: "",
};
this.processDialogVisible = true;
},
@@ -676,9 +693,9 @@
this.processing = true;
try {
// Mock API璋冪敤
- await new Promise(resolve => setTimeout(resolve, 1000));
+ await new Promise((resolve) => setTimeout(resolve, 1000));
- this.$message.success('澶勭悊鎻愪氦鎴愬姛');
+ this.$message.success("澶勭悊鎻愪氦鎴愬姛");
this.processDialogVisible = false;
this.loadExceptionList();
} finally {
@@ -695,9 +712,11 @@
this.batchProcessing = true;
try {
// Mock API璋冪敤
- await new Promise(resolve => setTimeout(resolve, 1500));
+ await new Promise((resolve) => setTimeout(resolve, 1500));
- this.$message.success(`宸叉壒閲忓鐞� ${this.selectedExceptionIds.length} 鏉″紓甯稿弽棣坄);
+ this.$message.success(
+ `宸叉壒閲忓鐞� ${this.selectedExceptionIds.length} 鏉″紓甯稿弽棣坄
+ );
this.batchDialogVisible = false;
this.selectedExceptionIds = [];
this.loadExceptionList();
@@ -723,11 +742,11 @@
// 鏂囦欢涓婁紶鐩稿叧鏂规硶
handlePreview(file) {
- console.log('棰勮鏂囦欢:', file);
+ console.log("棰勮鏂囦欢:", file);
},
handleRemove(file, fileList) {
- console.log('绉婚櫎鏂囦欢:', file, fileList);
+ console.log("绉婚櫎鏂囦欢:", file, fileList);
},
beforeRemove(file) {
@@ -735,9 +754,13 @@
},
handleExceed(files, fileList) {
- this.$message.warning(`褰撳墠闄愬埗閫夋嫨 3 涓枃浠讹紝鏈閫夋嫨浜� ${files.length} 涓枃浠讹紝鍏遍�夋嫨浜� ${files.length + fileList.length} 涓枃浠禶);
- }
- }
+ this.$message.warning(
+ `褰撳墠闄愬埗閫夋嫨 3 涓枃浠讹紝鏈閫夋嫨浜� ${files.length} 涓枃浠讹紝鍏遍�夋嫨浜� ${
+ files.length + fileList.length
+ } 涓枃浠禶
+ );
+ },
+ },
};
</script>
@@ -750,7 +773,7 @@
.page-header {
margin-bottom: 20px;
padding: 20px;
- background: linear-gradient(135deg, #5788FE 0%, #66b1ff 100%);
+ background: linear-gradient(135deg, #5788fe 0%, #66b1ff 100%);
border-radius: 8px;
color: white;
--
Gitblit v1.9.3