From 9903954c85f651dd5cc6d4b538cfe66b17fc5baa Mon Sep 17 00:00:00 2001
From: liusheng <337615773@qq.com>
Date: 星期三, 28 十月 2026 18:23:45 +0800
Subject: [PATCH] 提交
---
src/views/followvisit/discharge/index.vue | 485 +++++++++++++++++++++++++++++++++++++++++++++++++----
1 files changed, 442 insertions(+), 43 deletions(-)
diff --git a/src/views/followvisit/discharge/index.vue b/src/views/followvisit/discharge/index.vue
index 2412250..fb47a9e 100644
--- a/src/views/followvisit/discharge/index.vue
+++ b/src/views/followvisit/discharge/index.vue
@@ -5,6 +5,8 @@
:ycvalue="ycvalue"
:jgvalue="jgvalue"
:show-warning-condition="orgname == '鐪佺珛鍚屽痉缈犺嫅闄㈠尯'"
+ clickable
+ @card-click="handleCardClick"
/>
<el-row :gutter="20">
<!--鐢ㄦ埛鏁版嵁-->
@@ -243,7 +245,23 @@
</div>
</div>
</el-col>
+ <div class="color-legend">
+ <span class="legend-item" v-if="orgname == '鍗楀崕澶у闄勫睘绗竴鍖婚櫌'">
+ <span class="legend-block legend-blue"></span>鏈埌闅忚鏃堕棿
+ </span>
+ <span class="legend-item">
+ <span class="legend-block legend-red"></span>濉姤鍐呭瀛樺湪寮傚父
+ </span>
+ <span class="legend-item">
+ <span class="legend-block legend-yellow"></span>濉姤鍐呭瀛樺湪璀﹀憡
+ </span>
+ </div>
</el-row>
+ <div v-if="cardFilter" class="card-filter-tip">
+ 褰撳墠鎸夐《閮ㄥ崱鐗囩瓫閫夛細<b>{{ cardFilter }}</b>
+ <span class="tip-desc">锛堜笉褰卞搷涓婃柟琛ㄥ崟鏉′欢锛岀偣銆屾悳绱€�嶅彲鎭㈠琛ㄥ崟鏉′欢锛�</span>
+ <el-button type="text" size="mini" @click="clearCardFilter">娓呴櫎</el-button>
+ </div>
<div class="selected-info">
宸查�変腑
<span style="color: #409eff; font-weight: bold">{{
@@ -311,7 +329,55 @@
:show-overflow-tooltip="true"
>
</el-table-column>
-
+ <el-table-column
+ v-if="orgname == '娴欐睙鐪佹柊鍗庡尰闄�'"
+ label="浠诲姟鐘舵��"
+ align="center"
+ key="sendstate"
+ prop="sendstate"
+ width="120"
+ >
+ <template slot-scope="scope">
+ <el-tooltip
+ class="item"
+ effect="dark"
+ :content="scope.row.remark"
+ placement="top-start"
+ >
+ <div v-if="scope.row.sendstate == 1">
+ <el-tag type="primary" :disable-transitions="false"
+ >琛ㄥ崟宸查鍙�</el-tag
+ >
+ </div>
+ <div v-if="scope.row.sendstate == 2">
+ <el-tag type="primary" :disable-transitions="false"
+ >寰呴殢璁�</el-tag
+ >
+ </div>
+ <div v-if="scope.row.sendstate == 3">
+ <el-tag type="success" :disable-transitions="false"
+ >琛ㄥ崟宸插彂閫�</el-tag
+ >
+ </div>
+ <div v-if="scope.row.sendstate == 4">
+ <el-tag type="info" :disable-transitions="false">涓嶆墽琛�</el-tag>
+ </div>
+ <div v-if="scope.row.sendstate == 5">
+ <el-tag type="danger" :disable-transitions="false"
+ >鍙戦�佸け璐�</el-tag
+ >
+ </div>
+ <div v-if="scope.row.sendstate == 6">
+ <el-tag type="success" :disable-transitions="false"
+ >宸插畬鎴�</el-tag
+ >
+ </div>
+ <div v-if="scope.row.sendstate == 7">
+ <el-tag type="danger" :disable-transitions="false">瓒呮椂</el-tag>
+ </div>
+ </el-tooltip>
+ </template>
+ </el-table-column>
<el-table-column
label="闅忚鐘舵��"
align="center"
@@ -460,6 +526,7 @@
width="120"
/>
<el-table-column
+ v-if="orgname != '娴欐睙鐪佹柊鍗庡尰闄�'"
label="浠诲姟鐘舵��"
align="center"
key="sendstate"
@@ -526,6 +593,29 @@
prop="phone"
/>
<el-table-column
+ v-if="
+ orgname == '鏅畞鐣叉棌鑷不鍘夸汉姘戝尰闄�' ||
+ orgname == '涓芥按甯備腑鍖婚櫌'
+ "
+ label="鎷ㄥ彿鐘舵��"
+ width="120"
+ align="center"
+ key="isManuallyCalled"
+ prop="isManuallyCalled"
+ >
+ <template slot-scope="scope">
+ <el-tag
+ v-if="Number(scope.row.isManuallyCalled) > 0"
+ type="success"
+ :disable-transitions="false"
+ >鎷ㄩ�歿{ scope.row.isManuallyCalled }}娆�</el-tag
+ >
+ <el-tag v-else type="info" :disable-transitions="false"
+ >鏈嫧閫�</el-tag
+ >
+ </template>
+ </el-table-column>
+ <el-table-column
label="韬唤璇佸彿鐮�"
width="200"
align="center"
@@ -548,8 +638,8 @@
<el-table-column
label="绉戝"
align="center"
- key="deptname"
- prop="deptname"
+ key="leaveldeptname"
+ prop="leaveldeptname"
width="120"
>
</el-table-column>
@@ -642,7 +732,7 @@
size="medium"
type="text"
@click="handlestop(scope.row)"
- v-hasPermi="['system:user:edit']"
+
><span class="button-sc"
><i class="el-icon-remove-outline"></i>鏆傚仠鏈嶅姟</span
></el-button
@@ -958,7 +1048,7 @@
<el-input
style="width: 400px"
disabled
- v-model="zcform.deptname"
+ v-model="zcform.leaveldeptname"
></el-input>
</el-form-item>
<el-form-item label="鐥呭尯">
@@ -1124,7 +1214,7 @@
inputVisible: false,
Labelchange: false,
ycvalue: 0,
- jgvalue: "",
+ jgvalue: 0,
yfsvalue: "",
inputValue: "",
preachform: "",
@@ -1195,6 +1285,8 @@
],
lastScopeType: 3, // 鎮h�呰寖鍥翠笂娆¢�夋嫨鐨勪竴绾х被鍨嬶紙1=绉戝锛�2=鐥呭尯锛�3=鍏ㄩ儴锛�
loading: false,
+ // 椤堕儴鍗$墖鐐瑰嚮甯︽潵鐨勪复鏃剁瓫閫夛紙鍙綔鐢ㄤ簬涓嬮潰鍒楄〃锛屼笉鍔ㄨ〃鍗曘�佷笉鏀瑰崱鐗囨暟瀛楋紱鐐广�屾悳绱€�嶆椂娓呯┖锛�
+ cardFilter: null,
cardlist: [
{
name: "鎮h�呮湇鍔℃�婚噺",
@@ -1295,7 +1387,8 @@
visitCount: 1,
scopetype: [],
managementDoctor:
- localStorage.getItem("orgname") == "缂欎簯鍘夸汉姘戝尰闄�"||localStorage.getItem("orgname") == "涓芥按甯備腑鍖婚櫌"
+ localStorage.getItem("orgname") == "缂欎簯鍘夸汉姘戝尰闄�" ||
+ localStorage.getItem("orgname") == "涓芥按甯備腑鍖婚櫌"
? store.getters.nickName
: "",
leaveldeptcodes: [],
@@ -1422,6 +1515,15 @@
// 鐩戝惉璺敱鍙傛暟鍙樺寲
"$route.query": {
handler(newQuery, oldQuery) {
+ // 鍙充笅瑙掋�屽緟澶勭悊闅忚浠诲姟銆嶅崱鐗囧啀娆$偣鍑伙紙褰撳墠宸插湪鏈〉锛�
+ if (
+ newQuery?.month &&
+ newQuery?.fromPendingTask === "1" &&
+ this.taskQueryReady
+ ) {
+ this.applyPendingTaskQuery();
+ return;
+ }
if (newQuery?.errtype !== oldQuery?.errtype) {
console.log(22);
this.loadData();
@@ -1450,7 +1552,12 @@
value: dept.districtCode,
};
});
- if (this.errtype == 1) {
+ // 鍏嶇櫥鐩磋揪锛氭牴鎹瀹�/鐥呭尯缂栫爜棰勫~鎮h�呰寖鍥�
+ this.applyFollowUpScope();
+ // 鍙充笅瑙掋�屽緟澶勭悊闅忚浠诲姟銆嶅崱鐗囪烦杞細鎸夊嚭闄㈠勾鏈� + 寰呴殢璁� + 鍑洪櫌婊� 7 澶╄繃婊�
+ if (this.applyPendingTaskQuery()) {
+ // 宸叉寜鍗$墖鏉′欢鏌ヨ锛屼笉鍐嶈蛋榛樿鍒嗘敮
+ } else if (this.errtype == 1) {
this.toleadExport(2);
} else if (this.errtype == 2) {
// 寰呴殢璁�
@@ -1470,9 +1577,16 @@
this.getConfigKey("sys.user.initPassword").then((response) => {
this.initPassword = response.msg;
});
+ // created 鍒濆鍖栧畬鎴愶紝涔嬪悗璺敱 query 鍙樺寲鎵嶆寜鍗$墖鏉′欢閲嶆柊鏌ヨ
+ this.taskQueryReady = true;
},
activated() {
+ // 浠庡埆鐨勬爣绛鹃〉鍒囧洖鏉ユ椂锛屼互琛ㄥ崟鏉′欢涓哄噯锛屼涪寮冨崱鐗囧甫鏉ョ殑涓�娆℃�х瓫閫�
+ this.cardFilter = null;
this.errtype = this.$route.query.errtype;
+ if (this.applyPendingTaskQuery()) {
+ return;
+ }
if (this.errtype == 1) {
this.toleadExport(2);
} else if (this.errtype == 2) {
@@ -1496,7 +1610,7 @@
async getList(refresh) {
// 榛樿鍏ㄩ儴
this.applyDeptWardScope();
- if (this.endOut == 0) {
+ if (this.endOut == 0 && !this.topqueryParams.endSendDateTime) {
this.topqueryParams.endSendDateTime = this.formatDateToYYYYMMDDHHMMSS(
this.getEndOfDay()
);
@@ -1527,7 +1641,9 @@
}
try {
- const response = await getTaskservelist(this.topqueryParams);
+ // 椤堕儴鍗$墖鐐瑰嚮鐨勪复鏃舵潯浠跺彧鍔犲湪鏈璇锋眰涓婏紝涓嶅啓鍥炶〃鍗�
+ const query = this.applyCardFilter({ ...this.topqueryParams });
+ const response = await getTaskservelist(query);
// 鉁� 绗竴姝ワ細鍏堥攣瀹氭仮澶嶇姸鎬�
this.isRestoring = true;
@@ -1544,15 +1660,10 @@
// 鉁� 绗洓姝ワ細澶勭悊鍏朵粬鏁版嵁
if (refresh) {
- this.cardlist[0].value =
- Number(response.rows[0].wxsf) + Number(response.rows[0].xsf) || 0;
- this.cardlist[1].value = response.rows[0].wxsf || 0;
- this.ycvalue = Number(response.rows[0].yc) || 0;
- this.jgvalue = response.rows[0].jg;
- this.cardlist[2].value = response.rows[0].xsf || 0;
- this.cardlist[3].value = response.rows[0].dsf || 0;
- this.cardlist[4].value = response.rows[0].ywc || 0;
this.yfsvalue = response.rows[0].yfs;
+ // 椤堕儴鍗$墖鐨勬暟瀛椾笉璺熴�岄殢璁跨姸鎬�/寮傚父銆嶈蛋锛氬崟鐙煡涓�娆″幓鎺夌姸鎬佹潯浠剁殑缁熻锛�
+ // 鍚﹀垯绛涗簡銆屽緟闅忚銆嶅悗銆屽凡瀹屾垚銆嶆案杩滄槸 0锛岀湅鐫�鍍忕畻閿欎簡
+ this.refreshCardCounts(query);
}
// 鉁� 绗簲姝ワ細澶勭悊 preachform 绛夊叾浠栨暟鎹�
@@ -1664,8 +1775,10 @@
onthatday() {
this.resetQuerykj();
- this.topqueryParams.startSendDateTime = this.getCurrentDate();
- this.topqueryParams.endSendDateTime = this.getCurrentDate();
+ this.topqueryParams.sendstateView = 1; // 寰呴殢璁�
+ this.topqueryParams.sendstate = null;
+ this.topqueryParams.startSendDateTime = null;
+ this.topqueryParams.endSendDateTime = this.getCurrentDate(); // 寮�濮嬮殢璁挎棩鏈� <= 浠婂ぉ
this.getList(1);
},
getCurrentDate() {
@@ -1674,10 +1787,12 @@
},
buidegetTasklist(type) {
- if (type) {
- this.resetQuerykj();
- }
- this.applyDeptWardScope();
+ // 鐢ㄦ埛鏉冮檺涓嬫墍鏈夊緟闅忚浠诲姟锛氫紶閫掑叏閮ㄧ瀹ゅ拰鐥呭尯
+ this.topqueryParams.leaveldeptcodes = store.getters.belongDepts.map(
+ (obj) => obj.deptCode
+ );
+ this.topqueryParams.leavehospitaldistrictcodes =
+ store.getters.belongWards.map((obj) => obj.districtCode);
// 鎺ュ彈寮傚父璺宠浆
if (this.errtype) {
this.topqueryParams.leavehospitaldistrictcodes.push(
@@ -1689,7 +1804,7 @@
pageSize: 10,
leavehospitaldistrictcodes:
this.topqueryParams.leavehospitaldistrictcodes,
- sendstates: [2, 3],
+ sendstateView: 1,
leaveldeptcodes: this.topqueryParams.leaveldeptcodes,
};
buidegetTasklist(obj).then((response) => {
@@ -1785,7 +1900,10 @@
},
/** 鎼滅储鎸夐挳鎿嶄綔 */
handleQuery(refresh) {
+ // 鐐广�屾悳绱€�嶆椂浠ヨ〃鍗曟潯浠朵负鍑嗭紝娓呮帀鍗$墖鐐瑰嚮甯︽潵鐨勪复鏃舵潯浠�
+ this.cardFilter = null;
this.applyDeptWardScope();
+ this.clearAllSelection();
this.topqueryParams.pageNum = 1;
// 鍒ゆ柇鏄笉鏄伐浣滃彴蹇嵎鏌ヨ
if (this.errtype != 2) {
@@ -1795,6 +1913,71 @@
this.topqueryParams.endSendDateTime = this.dateRangefs[1];
}
this.getList(refresh);
+ },
+ // 鍏嶇櫥鐩磋揪锛氭牴鎹矾鐢变腑鐨勭瀹�/鐥呭尯缂栫爜棰勫~鎮h�呰寖鍥�
+ applyFollowUpScope() {
+ const deptCode = this.$route.query.followUpDeptCode;
+ const wardCode = this.$route.query.followUpWardCode;
+ if (!deptCode && !wardCode) return;
+ const scope = [];
+ if (deptCode) scope.push([1, deptCode]);
+ if (wardCode) scope.push([2, wardCode]);
+ this.topqueryParams.scopetype = scope;
+ this.lastScopeType = deptCode ? 1 : 2;
+ },
+ /**
+ * 鍙充笅瑙掋�屽緟澶勭悊闅忚浠诲姟銆嶅崱鐗囩偣鍑绘暟瀛楄烦杞繃鏉ワ細
+ * 鎸夊嚭闄㈠勾鏈� + 寰呴殢璁匡紙sendstate 1/2/3/5/7锛�+ 鍑洪櫌婊� 7 澶� 杩囨护锛屽彛寰勪笌鍗$墖涓�鑷�
+ * @returns {boolean} 鏄惁宸叉寜鍗$墖鏉′欢鍙戣捣鏌ヨ
+ */
+ applyPendingTaskQuery() {
+ const query = this.$route.query || {};
+ if (!query.month || query.fromPendingTask !== "1") {
+ return false;
+ }
+ // 椤甸潰琚� keep-alive 澶嶇敤鏃朵細閲嶅瑙﹀彂 activated锛屽悓涓�娆$偣鍑诲彧澶勭悊涓�娆�
+ if (this.pendingTaskToken && this.pendingTaskToken === query._t) {
+ return false;
+ }
+ this.pendingTaskToken = query._t;
+
+ const month = String(query.month);
+ const serviceType = Number(query.serviceType) === 3 ? 3 : 2;
+ this.errtype = undefined;
+ const start = month + "-01";
+ let end = this.pendingTaskMonthEnd(month);
+ // 鏈堝垵 7 澶╁唴锛�"浠婂ぉ-7澶�" 浼氭棭浜庢湀鍒濓紝鍏滃簳鎴愭湀鍒濓紝閬垮厤鏃ユ湡鍖洪棿鍊掓寕
+ if (end < start) {
+ end = start;
+ }
+ this.dateRange = [start, end];
+ this.topqueryParams.serviceType = serviceType;
+ this.topqueryParams.sendstateView = 1;
+ this.topqueryParams.sendstate = null;
+ // 鍗$墖缁熻鐨勬槸鍏ㄩ儴寰呴殢璁夸换鍔★紙涓嶅尯鍒嗛杞�/澶嶈瘖锛夛紝鍒楄〃杩欓噷鍚屾鏀惧紑
+ this.topqueryParams.visitCount = null;
+ this.topqueryParams.pageNum = 1;
+ this.handleQuery(1);
+ return true;
+ },
+ /**
+ * 鍗$墖鍙e緞鐨勬湀浠界粨鏉熸棩锛�
+ * 褰撴湀鍙粺璁″嚭闄㈡弧 7 澶╃殑锛屾墍浠ュ彇銆屼粖澶� - 7 澶┿�嶏紱鍘嗗彶鏈堜唤鍙栧綋鏈堟渶鍚庝竴澶�
+ */
+ pendingTaskMonthEnd(month) {
+ const parts = String(month).split("-");
+ const year = Number(parts[0]);
+ const mon = Number(parts[1]);
+ const now = new Date();
+ let date;
+ if (year === now.getFullYear() && mon === now.getMonth() + 1) {
+ date = new Date(year, mon - 1, now.getDate() - 7);
+ } else {
+ date = new Date(year, mon, 0);
+ }
+ const mm = String(date.getMonth() + 1).padStart(2, "0");
+ const dd = String(date.getDate()).padStart(2, "0");
+ return date.getFullYear() + "-" + mm + "-" + dd;
},
// 鎮h�呰寖鍥村鐞嗭細浠庡閫夌骇鑱� scopetype 瑙f瀽绉戝/鐥呭尯
applyDeptWardScope() {
@@ -1836,16 +2019,12 @@
if (hasDept && hasWard) {
if (this.lastScopeType == 1) {
// 涓婃閫変簡绉戝锛岃繖娆℃柊澧炵梾鍖� 鈫� 淇濈暀鐥呭尯
- this.topqueryParams.scopetype = value.filter(
- (item) => item[0] === 2
- );
+ this.topqueryParams.scopetype = value.filter((item) => item[0] === 2);
this.lastScopeType = 2;
this.$message.warning("绉戝鍜岀梾鍖轰笉鑳藉悓鏃堕�夋嫨锛屽凡鍒囨崲涓虹梾鍖�");
} else {
// 涓婃閫変簡鐥呭尯锛岃繖娆℃柊澧炵瀹� 鈫� 淇濈暀绉戝
- this.topqueryParams.scopetype = value.filter(
- (item) => item[0] === 1
- );
+ this.topqueryParams.scopetype = value.filter((item) => item[0] === 1);
this.lastScopeType = 1;
this.$message.warning("绉戝鍜岀梾鍖轰笉鑳藉悓鏃堕�夋嫨锛屽凡鍒囨崲涓虹瀹�");
}
@@ -2243,6 +2422,74 @@
}
this.handleQuery(1);
},
+ // 椤堕儴缁熻鍗$墖鐐瑰嚮锛氭妸瀵瑰簲绛涢�夋潯浠朵笅甯﹀埌涓嬮潰鐨勫垪琛紙鏁板�间负 0 鐨勫崱鐗囧悓鏍峰彲鐐癸級
+ // 椤堕儴鍗$墖缁熻锛氬幓鎺夈�岄殢璁跨姸鎬� / 寮傚父銆嶆潯浠跺悗鍐嶇粺璁★紝
+ // 杩欐牱鍗$墖鏁板瓧鍙窡鏃ユ湡銆佺瀹�/鐥呭尯绛夋潯浠惰蛋锛屼笉浼氬洜涓虹瓫浜嗐�屽緟闅忚銆嶅氨鎶娿�屽凡瀹屾垚銆嶇畻鎴� 0
+ async refreshCardCounts(baseQuery) {
+ const query = {
+ ...(baseQuery || this.topqueryParams),
+ pageNum: 1,
+ pageSize: 1,
+ sendstate: null,
+ sendstateView: null,
+ sendstates: null,
+ excep: null,
+ };
+ try {
+ const res = await getTaskservelist(query);
+ const row = (res && res.rows && res.rows[0]) || {};
+ this.cardlist[0].value = Number(row.wxsf || 0) + Number(row.xsf || 0);
+ this.cardlist[1].value = Number(row.wxsf) || 0;
+ this.cardlist[2].value = Number(row.xsf) || 0;
+ this.cardlist[3].value = Number(row.dsf) || 0;
+ this.cardlist[4].value = Number(row.ywc) || 0;
+ this.ycvalue = Number(row.yc) || 0;
+ this.jgvalue = Number(row.jg) || 0;
+ } catch (e) {
+ console.warn("鍒锋柊椤堕儴鍗$墖缁熻澶辫触", e);
+ }
+ },
+ // 椤堕儴缁熻鍗$墖鐐瑰嚮锛氬彧缁欎笅闈㈢殑鍒楄〃鍔犱复鏃舵潯浠讹紝涓嶅姩涓婃柟琛ㄥ崟銆佷篃涓嶆敼鍗$墖鏁板瓧锛�
+ // 鍗$墖鏁板瓧鍙湪鐐广�屾悳绱€�嶆椂鎸夎〃鍗曟潯浠堕噸绠�
+ handleCardClick(item) {
+ this.cardFilter = item && item.name ? item.name : null;
+ this.topqueryParams.pageNum = 1;
+ // 浼� 0锛氬埛鏂板垪琛紝浣嗕笉鍥炲啓椤堕儴鍗$墖鏁板瓧
+ this.getList(0);
+ },
+ // 鎶婂崱鐗囩偣鍑荤殑鏉′欢鍙犲姞鍒版煡璇㈠弬鏁帮紙杩斿洖鏂板璞★紝涓嶄慨鏀硅〃鍗曟湰韬級
+ applyCardFilter(query) {
+ const name = this.cardFilter;
+ if (!name) return query;
+ // 鍗$墖鏁板瓧鏄�屼笉鍚殢璁跨姸鎬�/寮傚父銆嶇殑鎬婚噺锛屾墍浠ョ偣鍗$墖鏃朵篃鎶婅〃鍗曢噷鐨勭姸鎬佹潯浠跺幓鎺夛紝
+ // 鍙寜鍗$墖鑷繁鐨勬潯浠舵煡锛屽惁鍒欎細鍑虹幇銆屽崱鐗� 922銆佸垪琛� 3 鏉°��
+ query.sendstate = null;
+ query.sendstateView = null;
+ query.sendstates = null;
+ query.excep = null;
+
+ if (name === "鏃犻渶闅忚") {
+ query.sendstateView = 3;
+ } else if (name === "寰呴殢璁�") {
+ query.sendstateView = 1;
+ } else if (name === "宸插畬鎴�") {
+ query.sendstateView = 2;
+ } else if (name === "闇�闅忚") {
+ query.sendstates = [1, 2, 3, 5, 6, 7];
+ } else if (name === "寮傚父") {
+ query.excep = "1";
+ } else if (name === "璀﹀憡") {
+ query.excep = "2";
+ }
+ // 銆屾偅鑰呮湇鍔℃�婚噺銆�= 鍙幓鎺夌姸鎬佹潯浠讹紝涓嶅姞鍒殑
+ return query;
+ },
+ // 娓呴櫎鍗$墖绛涢�夛紝鍥炲埌琛ㄥ崟鏉′欢
+ clearCardFilter() {
+ this.cardFilter = null;
+ this.topqueryParams.pageNum = 1;
+ this.getList(0);
+ },
/** 瀵煎嚭鎸夐挳鎿嶄綔 */
handleExport() {
const originalPageNum = this.topqueryParams.pageNum;
@@ -2263,14 +2510,41 @@
this.getList();
});
},
- // 寮傚父鍒楁覆鏌�
+ // 琛岄鑹叉覆鏌擄細钃濊壊(鏈埌闅忚鏃堕棿) / 绾㈣壊(寮傚父) / 榛勮壊(璀﹀憡)
tableRowClassName({ row, rowIndex }) {
+ // 褰撳墠鏃堕棿灏忎簬搴旈殢璁挎椂闂翠笖浠诲姟鐘舵�佷负寰呴殢璁� 鈫� 鏁磋钃濊壊锛堝崡鍗庡ぇ瀛﹂檮灞炵涓�鍖婚櫌涓嶇敓鏁堬級
+ if (
+ this.orgname == "鍗楀崕澶у闄勫睘绗竴鍖婚櫌" &&
+ row.sendstate == 2 &&
+ this.isBeforeVisitTime(row.visitTime)
+ ) {
+ return "blue-row";
+ }
if (row.excep == 1) {
return "warning-row";
} else if (row.excep == 2) {
return "remind-row";
}
return "";
+ },
+ // 鍒ゆ柇褰撳墠鏃堕棿鏄惁鏃╀簬搴旈殢璁挎椂闂达紙鎸夆�滃ぉ鈥濇瘮杈冿級
+ isBeforeVisitTime(visitTime) {
+ if (!visitTime) return false;
+ let date;
+ if (typeof visitTime === "number") {
+ date = new Date(visitTime);
+ } else {
+ date = new Date(String(visitTime).replace(/-/g, "/"));
+ }
+ if (isNaN(date.getTime())) return false;
+ const now = new Date();
+ const today = new Date(now.getFullYear(), now.getMonth(), now.getDate());
+ const visitDay = new Date(
+ date.getFullYear(),
+ date.getMonth(),
+ date.getDate()
+ );
+ return today.getTime() < visitDay.getTime();
},
restoreSelection() {
if (!this.$refs.userform) {
@@ -2401,7 +2675,7 @@
leavelDeptName: "",
leavehospitaldistrictcode: "",
leavehospitaldistrictname: "",
- currentDeptName: row.deptname || row.deptName || "",
+ currentDeptName: row.leaveldeptname || row.deptName || "",
currentWardName:
row.leavehospitaldistrictname || row.leavehospitaldistrictName || "",
};
@@ -2413,21 +2687,27 @@
if (val && val.length) {
this.transferForm.leavelDeptCode = val[val.length - 1];
// 浠庨�夐」鏍戜腑鏌ユ壘瀵瑰簲鍚嶇О
- const node = this.findCascaderNode(this.deptOptionsks, this.transferForm.leavelDeptCode);
- this.transferForm.leavelDeptName = node ? node.label : '';
+ const node = this.findCascaderNode(
+ this.deptOptionsks,
+ this.transferForm.leavelDeptCode
+ );
+ this.transferForm.leavelDeptName = node ? node.label : "";
} else {
- this.transferForm.leavelDeptCode = '';
- this.transferForm.leavelDeptName = '';
+ this.transferForm.leavelDeptCode = "";
+ this.transferForm.leavelDeptName = "";
}
},
handleWardCascaderChange(val) {
if (val && val.length) {
this.transferForm.leavehospitaldistrictcode = val[val.length - 1];
- const node = this.findCascaderNode(this.deptOptionsbq, this.transferForm.leavehospitaldistrictcode);
- this.transferForm.leavehospitaldistrictname = node ? node.label : '';
+ const node = this.findCascaderNode(
+ this.deptOptionsbq,
+ this.transferForm.leavehospitaldistrictcode
+ );
+ this.transferForm.leavehospitaldistrictname = node ? node.label : "";
} else {
- this.transferForm.leavehospitaldistrictcode = '';
- this.transferForm.leavehospitaldistrictname = '';
+ this.transferForm.leavehospitaldistrictcode = "";
+ this.transferForm.leavehospitaldistrictname = "";
}
},
findCascaderNode(options, code) {
@@ -2483,8 +2763,8 @@
<style lang="scss" scoped>
.el-button--primary.is-plain {
color: #ffffff;
- background: #409eff;
- border-color: #4fabe9;
+ background: #5b7cfa;
+ border-color: #5b7cfa;
}
.document {
@@ -2497,10 +2777,44 @@
::v-deep.el-table .remind-row {
background: #fcf5aa;
}
+::v-deep.el-table .blue-row {
+ background: #c6e2ff;
+}
.documentf {
display: flex;
justify-content: flex-end;
+}
+
+.color-legend {
+ float: right;
+ display: flex;
+ align-items: center;
+ height: 40px;
+ gap: 16px;
+ margin-right: 5px;
+}
+.legend-item {
+ display: inline-flex;
+ align-items: center;
+ font-size: 16px;
+ color: #666;
+}
+.legend-block {
+ display: inline-block;
+ width: 14px;
+ height: 14px;
+ border-radius: 3px;
+ margin-right: 6px;
+}
+.legend-blue {
+ background: #9cc9fa;
+}
+.legend-red {
+ background: #f1aaaa;
+}
+.legend-yellow {
+ background: #faf18d;
}
.download {
@@ -2717,4 +3031,89 @@
font-size: 14px;
color: #666;
}
+.card-filter-tip {
+ margin: 2px 0 4px;
+ padding: 6px 10px;
+ font-size: 13px;
+ color: #303133;
+ background: #f0f7ff;
+ border: 1px solid #d6e9ff;
+ border-radius: 4px;
+}
+.card-filter-tip .tip-desc {
+ margin: 0 6px;
+ font-size: 12px;
+ color: #909399;
+}
+/* ================= 娓呮柊楂樼骇绠�绾﹂ ================= */
+.app-container {
+ background: #f5f7fb;
+ border-radius: 14px;
+ padding: 20px;
+}
+
+/* 鏌ヨ琛ㄥ崟锛氱櫧鑹插渾瑙掑崱鐗� */
+::v-deep .el-form--inline {
+ background: #ffffff;
+ border-radius: 14px;
+ padding: 22px 22px 8px;
+ margin-bottom: 18px;
+ box-shadow: 0 2px 12px rgba(31, 45, 61, 0.05);
+}
+
+/* 闅愯棌鍒嗗壊绾� */
+::v-deep .el-divider {
+ display: none;
+}
+
+/* 宸ュ叿鏍忓簳閮ㄩ棿璺� */
+.mb8 {
+ margin-bottom: 18px;
+}
+
+/* 鎸夐挳锛氬渾瑙� + 鏌斿拰杩囨浮 */
+::v-deep .el-button {
+ border-radius: 8px;
+ font-weight: 500;
+ transition: all 0.25s ease;
+}
+
+/* 涓绘寜閽細娓呮柊闈涜摑 */
+::v-deep .el-button--primary:not(.is-plain) {
+ background: #5b7cfa;
+ border-color: #5b7cfa;
+}
+::v-deep .el-button--primary:not(.is-plain):hover,
+::v-deep .el-button--primary:not(.is-plain):focus {
+ background: #7593fb;
+ border-color: #7593fb;
+}
+
+/* 琛ㄦ牸锛氱櫧鑹插渾瑙掑崱鐗� + 鏌斿拰琛ㄥご */
+::v-deep .el-table {
+ border-radius: 14px;
+ overflow: hidden;
+ box-shadow: 0 2px 12px rgba(31, 45, 61, 0.05);
+}
+::v-deep .el-table::before {
+ display: none;
+}
+::v-deep .el-table th {
+ background: #f7f9fd !important;
+ color: #3f4d63;
+ font-weight: 600;
+}
+::v-deep .el-table td {
+ padding: 12px 0;
+}
+
+/* 鏍囩鍦嗚 */
+::v-deep .el-tag {
+ border-radius: 6px;
+}
+
+/* 鍒嗛〉闂磋窛 */
+::v-deep .pagination-container {
+ padding-top: 18px;
+}
</style>
--
Gitblit v1.9.3