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/decide/index.vue | 685 +++++++++++++++++++++++++++++++++++++++++++-------------
1 files changed, 523 insertions(+), 162 deletions(-)
diff --git a/src/views/business/decide/index.vue b/src/views/business/decide/index.vue
index 73c4a50..9ccf9f2 100644
--- a/src/views/business/decide/index.vue
+++ b/src/views/business/decide/index.vue
@@ -8,27 +8,27 @@
:inline="true"
label-width="100px"
>
- <el-form-item label="浣忛櫌鍙�" prop="hospitalNo">
+ <el-form-item label="浣忛櫌鍙�" prop="inpatientno">
<el-input
- v-model="queryParams.hospitalNo"
+ v-model="queryParams.inpatientno"
placeholder="璇疯緭鍏ヤ綇闄㈠彿"
clearable
style="width: 200px"
@keyup.enter.native="handleQuery"
/>
</el-form-item>
- <el-form-item label="鎹愮尞鑰呭鍚�" prop="donorName">
+ <el-form-item label="鎹愮尞鑰呭鍚�" prop="name">
<el-input
- v-model="queryParams.donorName"
+ v-model="queryParams.name"
placeholder="璇疯緭鍏ユ崘鐚�呭鍚�"
clearable
style="width: 200px"
@keyup.enter.native="handleQuery"
/>
</el-form-item>
- <el-form-item label="姝讳骸鍘熷洜" prop="deathReason">
+ <el-form-item label="姝讳骸鍘熷洜" prop="deathreason">
<el-select
- v-model="queryParams.deathReason"
+ v-model="queryParams.deathreason"
placeholder="璇烽�夋嫨姝讳骸鍘熷洜"
clearable
style="width: 200px"
@@ -62,23 +62,25 @@
<el-card class="tool-card">
<el-row :gutter="10">
<el-col :span="16">
- <el-button type="primary" icon="el-icon-plus" @click="handleCreate"
- >鏂板缓姝讳骸鍒ゅ畾</el-button
+ <!-- <el-button
+ type="primary"
+ icon="el-icon-plus"
+ @click="handleCreate"
+ >鏂板鑴戞浜″垽瀹�</el-button
>
<el-button
type="success"
+ icon="el-icon-plus"
+ @click="handleCreateHeartDeath"
+ >鏂板蹇冩浜″垽瀹�</el-button
+ >
+ <el-button
+ type="warning"
icon="el-icon-edit"
:disabled="single"
@click="handleUpdate"
>淇敼</el-button
- >
- <el-button
- type="danger"
- icon="el-icon-delete"
- :disabled="multiple"
- @click="handleDelete"
- >鍒犻櫎</el-button
- >
+ > -->
<el-button
type="warning"
icon="el-icon-download"
@@ -100,98 +102,190 @@
v-loading="loading"
:data="deathJudgmentList"
@selection-change="handleSelectionChange"
+ :header-cell-style="{ background: '#f5f7fa', 'font-weight': 'bold' }"
>
<el-table-column type="selection" width="55" align="center" />
+
+ <!-- 鍩虹淇℃伅鍒� -->
<el-table-column
label="浣忛櫌鍙�"
align="center"
- prop="hospitalNo"
+ prop="inpatientno"
width="120"
+ fixed="left"
/>
<el-table-column
- label="鎹愮尞鑰呭鍚�"
+ label="濮撳悕"
align="center"
- prop="donorName"
- width="120"
+ prop="name"
+ width="100"
+ fixed="left"
/>
- <el-table-column label="鎬у埆" align="center" prop="gender" width="80">
+ <el-table-column
+ label="鎬у埆"
+ align="center"
+ prop="sex"
+ width="80"
+ fixed="left"
+ >
<template slot-scope="scope">
<dict-tag
:options="dict.type.sys_user_sex"
- :value="parseInt(scope.row.gender)"
+ :value="scope.row.sex"
/>
</template>
</el-table-column>
- <el-table-column label="骞撮緞" align="center" prop="age" width="80" />
+ <el-table-column
+ label="骞撮緞"
+ align="center"
+ prop="age"
+ width="80"
+ fixed="left"
+ />
+
<el-table-column
label="鐤剧梾璇婃柇"
align="center"
- prop="diagnosis"
- min-width="180"
+ prop="diagnosisname"
+ min-width="200"
show-overflow-tooltip
/>
+ <!-- 鐘舵�佷俊鎭� -->
<el-table-column
- label="姝讳骸鍘熷洜"
+ label="鍒ゅ畾鐘舵��"
align="center"
- prop="deathReason"
- width="120"
- >
- <template slot-scope="scope">
- <el-tag :type="reasonFilter(scope.row.deathReason)">
- {{ reasonTextFilter(scope.row.deathReason) }}
- </el-tag>
- </template>
- </el-table-column>
- <el-table-column
- label="姝讳骸鏃堕棿"
- align="center"
- prop="deathTime"
- width="160"
- >
- <template slot-scope="scope">
- <span>{{
- scope.row.deathTime
- ? parseTime(scope.row.deathTime, "{y}-{m}-{d} {h}:{i}")
- : "-"
- }}</span>
- </template>
- </el-table-column>
- <el-table-column
- label="鍒ゅ畾鍖荤敓"
- align="center"
- prop="judgmentDoctor"
- width="120"
- />
- <el-table-column
- label="鍒ゅ畾鍖荤敓浜�"
- align="center"
- prop="judgmentDoctortwo"
- width="120"
- />
- <el-table-column
- label="鐧昏鏃堕棿"
- align="center"
- prop="registrationTime"
- width="160"
- >
- <template slot-scope="scope">
- <span>{{
- scope.row.registrationTime
- ? parseTime(scope.row.registrationTime, "{y}-{m}-{d} {h}:{i}")
- : "-"
- }}</span>
- </template>
- </el-table-column>
- <el-table-column
- label="鐧昏浜�"
- align="center"
- prop="registrant"
+ prop="state"
width="100"
- />
+ >
+ <template slot-scope="scope">
+ <dict-tag
+ :options="dict.type.decide_type"
+ :value="scope.row.state"
+ />
+ </template>
+ </el-table-column>
+ <!-- 鑴戞浜″垽瀹氫俊鎭� -->
+ <el-table-column label="鑴戞浜″垽瀹�" align="center">
+ <el-table-column
+ label="姝讳骸鍘熷洜"
+ align="center"
+ prop="deathreason"
+ width="120"
+ >
+ <template slot-scope="scope">
+ <el-tag
+ v-if="scope.row.deathreason"
+ :type="getDeathReasonTagType(scope.row.deathreason)"
+ >
+ {{ getDeathReasonText(scope.row.deathreason) }}
+ </el-tag>
+ <span v-else>-</span>
+ </template>
+ </el-table-column>
+ <el-table-column
+ label="姝讳骸鏃堕棿"
+ align="center"
+ prop="deathtime"
+ width="160"
+ >
+ <template slot-scope="scope">
+ <span>{{
+ scope.row.deathtime ? formatTime(scope.row.deathtime) : "-"
+ }}</span>
+ </template>
+ </el-table-column>
+ <el-table-column
+ label="鍒ゅ畾鍖荤敓涓�"
+ align="center"
+ prop="deathjudgedocto"
+ width="120"
+ >
+ <template slot-scope="scope">
+ {{ scope.row.deathjudgedocto || "-" }}
+ </template>
+ </el-table-column>
+ <el-table-column
+ label="鍒ゅ畾鍖荤敓浜�"
+ align="center"
+ prop="deathjudgedoctt"
+ width="120"
+ >
+ <template slot-scope="scope">
+ {{ scope.row.deathjudgedoctt || "-" }}
+ </template>
+ </el-table-column>
+ </el-table-column>
+
+ <!-- 蹇冩浜″垽瀹氫俊鎭� -->
+ <el-table-column label="蹇冩浜″垽瀹�" align="center">
+ <el-table-column
+ label="姝讳骸鍘熷洜"
+ align="center"
+ prop="heartdeathreason"
+ width="120"
+ >
+ <template slot-scope="scope">
+ <el-tag v-if="scope.row.heartdeathreason" type="danger">
+ {{ getHeartDeathReasonText(scope.row.heartdeathreason) }}
+ </el-tag>
+ <span v-else>-</span>
+ </template>
+ </el-table-column>
+ <el-table-column
+ label="姝讳骸鏃堕棿"
+ align="center"
+ prop="heartdeathtime"
+ width="160"
+ >
+ <template slot-scope="scope">
+ <span>{{
+ scope.row.heartdeathtime
+ ? formatTime(scope.row.heartdeathtime)
+ : "-"
+ }}</span>
+ </template>
+ </el-table-column>
+ <el-table-column
+ label="鍒ゅ畾鍖荤敓涓�"
+ align="center"
+ prop="heartdeathjudgedocto"
+ width="120"
+ >
+ <template slot-scope="scope">
+ {{ scope.row.heartdeathjudgedocto || "-" }}
+ </template>
+ </el-table-column>
+ <el-table-column
+ label="鍒ゅ畾鍖荤敓浜�"
+ align="center"
+ prop="heartdeathjudgedoctt"
+ width="120"
+ >
+ <template slot-scope="scope">
+ {{ scope.row.heartdeathjudgedoctt || "-" }}
+ </template>
+ </el-table-column>
+ </el-table-column>
+
+ <!-- 鍒ゅ畾鏃堕棿鍜屾搷浣滃垪 -->
+ <el-table-column
+ label="鍒ゅ畾鏃堕棿"
+ align="center"
+ prop="createTime"
+ width="160"
+ >
+ <template slot-scope="scope">
+ <span>{{
+ scope.row.createTime ? formatTime(scope.row.createTime) : "-"
+ }}</span>
+ </template>
+ </el-table-column>
+
<el-table-column
label="鎿嶄綔"
align="center"
- width="210"
+ width="200"
+ fixed="right"
class-name="small-padding fixed-width"
>
<template slot-scope="scope">
@@ -202,21 +296,23 @@
@click="handleView(scope.row)"
>璇︽儏</el-button
>
- <el-button
+ <el-dropdown
size="mini"
- type="text"
- icon="el-icon-edit"
- @click="handleUpdate(scope.row)"
- >淇敼</el-button
+ @command="command => handleUpdateDropdown(scope.row, command)"
>
- <el-button
- size="mini"
- type="text"
- icon="el-icon-delete"
- style="color: #F56C6C"
- @click="handleDelete(scope.row)"
- >鍒犻櫎</el-button
- >
+ <el-button
+ size="mini"
+ type="text"
+ icon="el-icon-edit"
+ class="el-button--text"
+ >
+ 淇敼<i class="el-icon-arrow-down el-icon--right"></i>
+ </el-button>
+ <el-dropdown-menu slot="dropdown">
+ <el-dropdown-item command="brainDeath">鑴戞浜�</el-dropdown-item>
+ <el-dropdown-item command="heartDeath">蹇冩浜�</el-dropdown-item>
+ </el-dropdown-menu>
+ </el-dropdown>
</template>
</el-table-column>
</el-table>
@@ -234,13 +330,17 @@
</template>
<script>
-import { listDeathJudgment, delDeathJudgment, exportDeathJudgment } from "./mockDeathJudgmentApi";
+import {
+ queryDathInfoBaseInfo,
+ deathinfoedit,
+ deathinfoInfo
+} from "@/api/businessApi";
import Pagination from "@/components/Pagination";
export default {
name: "DeathJudgmentList",
components: { Pagination },
- dicts: ["sys_user_sex"],
+ dicts: ["sys_user_sex", "decide_type"],
data() {
return {
// 閬僵灞�
@@ -259,10 +359,32 @@
queryParams: {
pageNum: 1,
pageSize: 10,
- hospitalNo: undefined,
- donorName: undefined,
- deathReason: undefined,
+ inpatientno: undefined,
+ name: undefined,
+ deathreason: undefined,
deathTimeRange: []
+ },
+ // 鎵�鏈夋暟鎹紙鐢ㄤ簬鍓嶇绛涢�夛級
+ allTableData: [],
+ // 姝讳骸鍘熷洜鏄犲皠
+ deathReasonMap: {
+ brain_death: { text: "鑴戞浜�", type: "primary" },
+ heart_death: { text: "蹇冩浜�", type: "danger" },
+ other: { text: "鍏朵粬", type: "info" }
+ },
+ // 蹇冩浜″師鍥犳槧灏�
+ heartDeathReasonMap: {
+ cardiac_arrest: { text: "蹇冩悘楠ゅ仠", type: "danger" },
+ myocardial_infarction: { text: "蹇冭倢姊楁", type: "danger" },
+ heart_failure: { text: "蹇冨姏琛扮", type: "danger" },
+ other: { text: "鍏朵粬", type: "info" }
+ },
+ // 鐘舵�佹槧灏�
+ statusMap: {
+ "0": { text: "缁存姢涓�", type: "warning" },
+ "1": { text: "宸插畬鎴�", type: "success" },
+ "2": { text: "瀹℃牳涓�", type: "info" },
+ "99": { text: "宸茬粓姝�", type: "danger" }
}
};
},
@@ -270,99 +392,242 @@
this.getList();
},
methods: {
- // 姝讳骸鍘熷洜杩囨护鍣�
- reasonFilter(reason) {
- const reasonMap = {
- "brain_death": "primary", // 鑴戞浜�
- "heart_death": "danger", // 蹇冩浜�
- "other": "info" // 鍏朵粬
- };
- return reasonMap[reason] || "info";
+ // 鑾峰彇姝讳骸鍘熷洜鏍囩绫诲瀷
+ getDeathReasonTagType(reason) {
+ return this.deathReasonMap[reason]?.type || "info";
},
- reasonTextFilter(reason) {
- const reasonMap = {
- "brain_death": "鑴戞浜�",
- "heart_death": "蹇冩浜�",
- "other": "鍏朵粬"
- };
- return reasonMap[reason] || "鏈煡";
+
+ // 鑾峰彇姝讳骸鍘熷洜鏂囨湰
+ getDeathReasonText(reason) {
+ return this.deathReasonMap[reason]?.text || "鏈煡";
},
+
+ // 鑾峰彇蹇冩浜″師鍥犳枃鏈�
+ getHeartDeathReasonText(reason) {
+ if (!reason) return "-";
+ return this.heartDeathReasonMap[reason]?.text || reason;
+ },
+
+ // 鑾峰彇鐘舵�佹爣绛剧被鍨�
+ getStatusTagType(status) {
+ return this.statusMap[status]?.type || "info";
+ },
+
+ // 鑾峰彇鐘舵�佹枃鏈�
+ getStatusText(status) {
+ return this.statusMap[status]?.text || "鏈煡鐘舵��";
+ },
+
+ // 鏍煎紡鍖栨椂闂�
+ formatTime(time) {
+ if (!time) return "-";
+ return this.parseTime(time, "{y}-{m}-{d} {h}:{i}");
+ },
+
// 鏌ヨ姝讳骸鍒ゅ畾鍒楄〃
- getList() {
+ async getList() {
this.loading = true;
- listDeathJudgment(this.queryParams)
- .then(response => {
- if (response.code === 200) {
- this.deathJudgmentList = response.data.rows;
- this.total = response.data.total;
- } else {
- this.$message.error("鑾峰彇鏁版嵁澶辫触");
- }
- this.loading = false;
- })
- .catch(error => {
- console.error("鑾峰彇姝讳骸鍒ゅ畾鍒楄〃澶辫触:", error);
- this.loading = false;
- this.$message.error("鑾峰彇鏁版嵁澶辫触");
- });
+ try {
+ const response = await queryDathInfoBaseInfo(this.queryParams);
+
+ // 鏍规嵁瀹為檯鎺ュ彛杩斿洖缁撴瀯璋冩暣
+ let realData = [];
+ if (response.code === 200) {
+ realData = response.rows || response.data || [];
+ this.total = response.total || realData.length;
+ } else {
+ realData = [];
+ this.total = 0;
+ }
+
+ // 瀛樺偍鎵�鏈夋暟鎹敤浜庡墠绔瓫閫�
+ this.allTableData = realData;
+
+ // 搴旂敤鍓嶇绛涢�夋潯浠�
+ let filteredData = this.applyFrontendFilter(realData);
+
+ // 鍓嶇鍒嗛〉澶勭悊锛堝鏋滄帴鍙d笉鏀寔鍚庣鍒嗛〉锛�
+ if (
+ this.total === filteredData.length &&
+ this.total > this.queryParams.pageSize
+ ) {
+ const startIndex =
+ (this.queryParams.pageNum - 1) * this.queryParams.pageSize;
+ const endIndex = startIndex + this.queryParams.pageSize;
+ this.deathJudgmentList = filteredData.slice(startIndex, endIndex);
+ } else {
+ // 鎺ュ彛宸插垎椤碉紝鐩存帴浣跨敤杩斿洖鏁版嵁
+ this.deathJudgmentList = filteredData;
+ }
+ } catch (error) {
+ console.error("鑾峰彇姝讳骸鍒ゅ畾鏁版嵁澶辫触:", error);
+ this.$message.error("鏁版嵁鍔犺浇澶辫触");
+ this.deathJudgmentList = [];
+ this.total = 0;
+ } finally {
+ this.loading = false;
+ }
},
+
+ // 搴旂敤鍓嶇绛涢��
+ applyFrontendFilter(data) {
+ let filteredData = data;
+
+ // 浣忛櫌鍙风瓫閫�
+ if (this.queryParams.inpatientno) {
+ filteredData = filteredData.filter(
+ item =>
+ item.inpatientno &&
+ item.inpatientno
+ .toString()
+ .toLowerCase()
+ .includes(this.queryParams.inpatientno.toLowerCase())
+ );
+ }
+
+ // 濮撳悕绛涢��
+ if (this.queryParams.name) {
+ filteredData = filteredData.filter(
+ item =>
+ item.name &&
+ item.name
+ .toLowerCase()
+ .includes(this.queryParams.name.toLowerCase())
+ );
+ }
+
+ // 姝讳骸鍘熷洜绛涢��
+ if (this.queryParams.deathreason) {
+ filteredData = filteredData.filter(item => {
+ // 鍚屾椂绛涢�夎剳姝讳骸鍜屽績姝讳骸鍘熷洜
+ return (
+ item.deathreason === this.queryParams.deathreason ||
+ item.heartdeathreason === this.queryParams.deathreason
+ );
+ });
+ }
+
+ // 姝讳骸鏃堕棿鑼冨洿绛涢��
+ if (
+ this.queryParams.deathTimeRange &&
+ this.queryParams.deathTimeRange.length === 2
+ ) {
+ const [startDate, endDate] = this.queryParams.deathTimeRange;
+ filteredData = filteredData.filter(item => {
+ // 鍚屾椂绛涢�夎剳姝讳骸鏃堕棿鍜屽績姝讳骸鏃堕棿
+ const brainDeathTime = item.deathtime
+ ? new Date(item.deathtime).getTime()
+ : null;
+ const heartDeathTime = item.heartdeathtime
+ ? new Date(item.heartdeathtime).getTime()
+ : null;
+ const startTime = new Date(startDate).getTime();
+ const endTime = new Date(endDate + " 23:59:59").getTime();
+
+ return (
+ (brainDeathTime &&
+ brainDeathTime >= startTime &&
+ brainDeathTime <= endTime) ||
+ (heartDeathTime &&
+ heartDeathTime >= startTime &&
+ heartDeathTime <= endTime)
+ );
+ });
+ }
+
+ return filteredData;
+ },
+
// 鎼滅储鎸夐挳鎿嶄綔
handleQuery() {
this.queryParams.pageNum = 1;
this.getList();
},
+
// 閲嶇疆鎸夐挳鎿嶄綔
resetQuery() {
this.$refs.queryForm.resetFields();
- this.handleQuery();
+ this.queryParams.pageNum = 1;
+ this.getList();
},
+
// 澶氶�夋閫変腑鏁版嵁
handleSelectionChange(selection) {
this.ids = selection.map(item => item.id);
this.single = selection.length !== 1;
this.multiple = !selection.length;
},
+
// 鏌ョ湅璇︽儏
handleView(row) {
this.$router.push({
path: "/case/DecideInfo",
- query: { id: row.id }
+ query: {
+ id: row.id,
+ infoid: row.infoid,
+ type: this.getDeathType(row) // 浼犻�掓浜$被鍨�
+ }
});
},
- // 鏂板鎸夐挳鎿嶄綔
- handleCreate() {
- this.$router.push("/case/DecideInfo");
+
+ // 鑾峰彇姝讳骸绫诲瀷
+ getDeathType(row) {
+ if (row.deathreason && row.deathreason.includes("brain")) {
+ return "brain";
+ } else if (row.heartdeathreason) {
+ return "heart";
+ }
+ return "brain"; // 榛樿鑴戞浜�
},
- // 淇敼鎸夐挳鎿嶄綔
- handleUpdate(row) {
- const id = row.id || this.ids[0];
+
+ // 鏂板鑴戞浜″垽瀹�
+ handleCreate() {
this.$router.push({
path: "/case/DecideInfo",
- query: { id: id }
+ query: { type: "brain" }
});
},
- // 鍒犻櫎鎸夐挳鎿嶄綔
- handleDelete(row) {
- const ids = row.id ? [row.id] : this.ids;
- this.$confirm("鏄惁纭鍒犻櫎閫変腑鐨勬暟鎹」锛�", "璀﹀憡", {
- confirmButtonText: "纭畾",
- cancelButtonText: "鍙栨秷",
- type: "warning"
- })
- .then(() => {
- return delDeathJudgment(ids);
- })
- .then(response => {
- if (response.code === 200) {
- this.$message.success("鍒犻櫎鎴愬姛");
- this.getList();
- }
- })
- .catch(() => {});
+
+ // 鏂板蹇冩浜″垽瀹�
+ handleCreateHeartDeath() {
+ this.$router.push({
+ path: "/case/DecideInfo",
+ query: { type: "heart" }
+ });
},
+
+ // 淇敼鎸夐挳鎿嶄綔锛堜笅鎷夎彍鍗曪級
+ handleUpdateDropdown(row, command) {
+ const id = row.id;
+ const infoid = row.infoid;
+
+ if (command === "brainDeath") {
+ // 淇敼鑴戞浜″垽瀹�
+ this.$router.push({
+ path: "/case/DecideInfo",
+ query: {
+ id: id,
+ infoid: infoid,
+ type: "brain",
+ isEdit: true
+ }
+ });
+ } else if (command === "heartDeath") {
+ // 淇敼蹇冩浜″垽瀹�
+ this.$router.push({
+ path: "/case/DecideInfo",
+ query: {
+ id: id,
+ infoid: infoid,
+ type: "heart",
+ isEdit: true
+ }
+ });
+ }
+ },
+
// 瀵煎嚭鎸夐挳鎿嶄綔
handleExport() {
- const queryParams = this.queryParams;
this.$confirm("鏄惁纭瀵煎嚭鎵�鏈夋浜″垽瀹氭暟鎹紵", "璀﹀憡", {
confirmButtonText: "纭畾",
cancelButtonText: "鍙栨秷",
@@ -370,12 +635,13 @@
})
.then(() => {
this.loading = true;
- return exportDeathJudgment(queryParams);
+ // 杩欓噷璋冪敤瀵煎嚭鎺ュ彛
+ return this.exportData();
})
.then(response => {
if (response.code === 200) {
this.$message.success("瀵煎嚭鎴愬姛");
- // 瀹為檯椤圭洰涓繖閲屽鐞嗘枃浠朵笅杞�
+ this.downloadExportFile(response);
}
this.loading = false;
})
@@ -383,7 +649,35 @@
this.loading = false;
});
},
- // 鏃堕棿鏍煎紡鍖�
+
+ // 瀵煎嚭鏁版嵁
+ async exportData() {
+ try {
+ // 璋冪敤瀵煎嚭鎺ュ彛
+ const response = await exportDeathJudgment(this.queryParams);
+ return response;
+ } catch (error) {
+ console.error("瀵煎嚭澶辫触:", error);
+ this.$message.error("瀵煎嚭澶辫触");
+ throw error;
+ }
+ },
+
+ // 涓嬭浇瀵煎嚭鏂囦欢
+ downloadExportFile(response) {
+ // 鍋囪鎺ュ彛杩斿洖鏂囦欢涓嬭浇鍦板潃
+ if (response.data && response.data.fileUrl) {
+ const link = document.createElement("a");
+ link.style.display = "none";
+ link.href = response.data.fileUrl;
+ link.download = "姝讳骸鍒ゅ畾鏁版嵁.xlsx";
+ document.body.appendChild(link);
+ link.click();
+ document.body.removeChild(link);
+ }
+ },
+
+ // 鏃堕棿鏍煎紡鍖栧伐鍏峰嚱鏁�
parseTime(time, pattern) {
if (!time) return "";
const format = pattern || "{y}-{m}-{d} {h}:{i}:{s}";
@@ -438,6 +732,73 @@
}
.fixed-width .el-button {
- margin: 0 5px;
+ margin: 0 2px;
+}
+
+/* 琛ㄦ牸鏍峰紡浼樺寲 */
+::v-deep .el-table {
+ border: 1px solid #ebeef5;
+ border-radius: 4px;
+}
+
+::v-deep .el-table th {
+ background-color: #f5f7fa;
+ font-weight: bold;
+ color: #333;
+}
+
+::v-deep .el-table .cell {
+ padding: 8px 4px;
+ line-height: 1.5;
+}
+
+::v-deep .el-table--border td,
+::v-deep .el-table--border th {
+ border-right: 1px solid #ebeef5;
+}
+
+::v-deep .el-table--border {
+ border: 1px solid #ebeef5;
+ border-bottom: none;
+}
+
+/* 澶氱骇琛ㄥご鏍峰紡 */
+::v-deep .el-table .el-table__header-wrapper tr:first-child th {
+ background-color: #f8f9fa;
+ border-bottom: 2px solid #409eff;
+}
+
+::v-deep .el-table .el-table__header-wrapper tr:nth-child(2) th {
+ background-color: #f0f7ff;
+}
+
+/* 鎿嶄綔鍒楁寜閽牱寮� */
+.el-dropdown-link {
+ cursor: pointer;
+ color: #409eff;
+}
+
+.el-dropdown-link:hover {
+ color: #66b1ff;
+}
+
+/* 鏍囩鏍峰紡浼樺寲 */
+::v-deep .el-tag {
+ margin: 2px;
+ border-radius: 12px;
+ font-size: 12px;
+ padding: 0 8px;
+ height: 24px;
+ line-height: 22px;
+}
+
+/* 鍒嗛〉鏍峰紡 */
+.pagination-container {
+ margin-top: 20px;
+ padding: 10px 0;
+ background: #fff;
+ border: 1px solid #ebeef5;
+ border-top: none;
+ border-radius: 0 0 4px 4px;
}
</style>
--
Gitblit v1.9.3