From 70e4d2c33cc2e3af590d1816c0c703da341538cf Mon Sep 17 00:00:00 2001
From: WXL (wul) <wl_5969728@163.com>
Date: 星期五, 04 九月 2026 14:13:32 +0800
Subject: [PATCH] 测试完成
---
src/views/followvisit/outpatient/index.vue | 7
src/views/followvisit/zbAgain/index.vue | 4
src/views/patient/subsequent/index.vue | 5
src/views/Satisfaction/configurationmyd/components/DetailsAnomaly.vue | 15
src/views/followvisit/zysatisfaction/index.vue | 183 ++-
src/views/patient/propaganda/QuestionnaireTask.vue | 44
src/views/followvisit/mzsatisfaction/index.vue | 183 ++-
src/views/patient/propaganda/index.vue | 143 ++
src/views/followvisit/record/detailpage/index.vue | 1
src/store/getters.js | 8
src/views/followvisit/discharge/outpatientService.vue | 85 +
src/views/knowledge/education/compilequer/index.vue | 2
src/views/patient/propaganda/Missioncreation.vue | 57
src/components/StatisticsCards/index.vue | 10
src/views/followvisit/discharge/index copy.vue | 2
src/views/patient/ycquestionnaire/index.vue | 1298 ++++++++++++++++++++++++
src/views/followvisit/complaint/index.vue | 4
src/views/followvisit/discharge/index.vue.bak | 2
src/views/followvisit/technology/index.vue | 4
src/views/patient/physical/index.vue | 5
src/store/modules/user.js | 6
src/views/followvisit/SpecificDisease/index.vue | 2
src/views/followvisit/again/index.vue | 3
src/views/followvisit/operation/index.vue | 6
src/views/followvisit/Tracking/index.vue | 2
src/views/followvisit/beHospitalized/followUp.vue | 4
src/views/patient/questionnaire/index.vue | 160 ++
src/views/Satisfaction/configurationmyd/batch.vue | 616 +++++++++-
src/views/followvisit/record/index.vue | 4
src/views/followvisit/Continue/index.vue | 79 +
src/views/followvisit/OutpatientAgain/index.vue | 3
/dev/null | 0
src/views/followvisit/HistoricalFollow/index.vue | 2
src/views/sfstatistics/percentage/index.vue | 3
src/views/patient/shadow/index.vue | 2
src/views/patient/propaganda/particty.vue | 78
src/views/followvisit/discharge/index.vue | 161 ++
37 files changed, 2,782 insertions(+), 411 deletions(-)
diff --git a/dist.zip b/dist.zip
deleted file mode 100644
index ce833b6..0000000
--- a/dist.zip
+++ /dev/null
Binary files differ
diff --git a/src/components/StatisticsCards/index.vue b/src/components/StatisticsCards/index.vue
index 3f44f00..1b45c11 100644
--- a/src/components/StatisticsCards/index.vue
+++ b/src/components/StatisticsCards/index.vue
@@ -106,6 +106,11 @@
闇�闅忚: "need-follow-card",
寰呴殢璁�: "pending-card",
宸插畬鎴�: "completed-card",
+ 浣忛櫌鎬婚噺: "total-card",
+ 闂ㄨ瘖鎬婚噺: "total-card",
+ 鍙戦�佷换鍔¢噺: "need-follow-card",
+ 寰呭畬鎴�: "pending-card",
+ 瀹屾垚鐜�: "completed-card",
寮傚父: "error-card",
璀﹀憡: "warning-card",
};
@@ -119,6 +124,11 @@
闇�闅忚: "闇�闅忚 = 寰呴殢璁� + 宸插畬鎴�",
寰呴殢璁�: "寰呴殢璁匡細绛夊緟杩涜闅忚鐨勬偅鑰呮暟閲�",
宸插畬鎴�: "宸插畬鎴愶細宸插畬鎴愰殢璁跨殑鎮h�呮暟閲�",
+ 浣忛櫌鎬婚噺: "浣忛櫌婊℃剰搴︽偅鑰呮�婚噺",
+ 闂ㄨ瘖鎬婚噺: "闂ㄨ瘖婊℃剰搴︽偅鑰呮�婚噺",
+ 鍙戦�佷换鍔¢噺: "鍙戦�佷换鍔¢噺 = 鎮h�呮湇鍔℃�婚噺",
+ 寰呭畬鎴�: "寰呭畬鎴愶細寰呴殢璁跨殑鎮h�呮暟閲�",
+ 瀹屾垚鐜�: "瀹屾垚鐜� = 宸插畬鎴� 梅 (寰呭畬鎴� + 宸插畬鎴�)",
寮傚父: "寮傚父鏁版嵁缁熻",
璀﹀憡: "璀﹀憡鏁版嵁缁熻",
};
diff --git a/src/store/getters.js b/src/store/getters.js
index a65dc24..d24914b 100644
--- a/src/store/getters.js
+++ b/src/store/getters.js
@@ -787,6 +787,14 @@
listClass: "",
},
},
+ {
+ value: 20,
+ label: "鎮h�呭紓甯告姤鍛�",
+ raw: {
+ cssClass: "",
+ listClass: "",
+ },
+ },
],
};
diff --git a/src/store/modules/user.js b/src/store/modules/user.js
index c42f8f7..d98a63f 100644
--- a/src/store/modules/user.js
+++ b/src/store/modules/user.js
@@ -257,6 +257,12 @@
localStorage.setItem("deptCode", "");
localStorage.setItem("YongHuID", "1540295571200282624");
localStorage.setItem("YongHuXM", "LSDERMYY");
+ }else if (orgid == "1") {
+ localStorage.setItem("orgname", "娴欐睙鐪佹柊鍗庡尰闄�");
+ localStorage.setItem("ZuHuID", "");
+ localStorage.setItem("deptCode", "");
+ localStorage.setItem("YongHuID", "");
+ localStorage.setItem("YongHuXM", "");
}
resolve();
})
diff --git a/src/views/Satisfaction/configurationmyd/batch.vue b/src/views/Satisfaction/configurationmyd/batch.vue
index 750c893..59ada45 100644
--- a/src/views/Satisfaction/configurationmyd/batch.vue
+++ b/src/views/Satisfaction/configurationmyd/batch.vue
@@ -211,7 +211,7 @@
</div>
<div class="info-item">
<span class="label">澶勭悊璇存槑锛�</span>
- <span class="value">{{ row.handledesc }}</span>
+ <span class="value">{{ formatHandledesc(row.handledesc) }}</span>
</div>
</div>
<span v-else class="no-data">鏈鐞�</span>
@@ -238,7 +238,7 @@
size="small"
icon="el-icon-edit"
@click="handleProcess(row)"
- :disabled="row.handleFlag === '1'"
+ :disabled="row.handleresult === 'resolved'"
>
澶勭悊
</el-button>
@@ -266,88 +266,258 @@
<el-dialog
title="澶勭悊寮傚父鍙嶉"
:visible.sync="processDialogVisible"
- width="600px"
+ width="60%"
+ top="6vh"
center
>
- <el-form
- :model="processForm"
- :rules="processRules"
- ref="processForm"
- label-width="100px"
- size="medium"
- >
- <el-form-item label="澶勭悊鐘舵��" prop="handleFlag">
- <el-select
- v-model="processForm.handleFlag"
- placeholder="璇烽�夋嫨澶勭悊鐘舵��"
- style="width: 100%"
+ <div class="flow-dialog-body">
+ <!-- 宸﹀崐閮ㄥ垎锛氬鐞嗕俊鎭� -->
+ <div class="flow-left">
+ <el-form
+ :model="processForm"
+ :rules="processRules"
+ ref="processForm"
+ label-width="100px"
+ size="medium"
>
- <el-option label="宸插鐞�" :value="'1'" />
- <el-option label="鍙栨秷澶勭悊" :value="'0'" />
- </el-select>
- </el-form-item>
+ <el-form-item label="鏄惁娴佽浆" prop="isFlow">
+ <el-switch
+ v-model="processForm.isFlow"
+ active-value="1"
+ inactive-value="0"
+ active-text="娴佽浆"
+ inactive-text="涓嶆祦杞�"
+ />
+ </el-form-item>
- <el-form-item label="鎶ュ绉戝" prop="ccdepts">
- <el-select
- v-model="processForm.ccdepts"
- placeholder="璇烽�夋嫨鎶ュ绉戝"
- multiple
- filterable
- collapse-tags
- style="width: 100%"
- :disabled="processForm.handleFlag !== '1'"
- >
- <el-option
- v-for="dept in deptList"
- :key="dept.deptCode"
- :label="dept.label"
- :value="dept.deptCode"
- />
- </el-select>
- </el-form-item>
+ <el-form-item label="澶勭悊鐘舵��" prop="handleFlag">
+ <el-select
+ v-model="processForm.handleFlag"
+ placeholder="璇烽�夋嫨澶勭悊鐘舵��"
+ style="width: 100%"
+ >
+ <el-option label="宸插鐞�" :value="'1'" />
+ <el-option label="鍙栨秷澶勭悊" :value="'0'" />
+ </el-select>
+ </el-form-item>
- <el-form-item label="澶勭悊缁撴灉" prop="handleresult">
- <el-select
- v-model="processForm.handleresult"
- placeholder="璇烽�夋嫨澶勭悊缁撴灉"
- style="width: 100%"
- :disabled="processForm.handleFlag !== '1'"
- >
- <el-option label="宸茶В鍐�" value="resolved" />
- <el-option label="宸茶В閲�" value="explained" />
- <el-option label="宸茶浆浜�" value="transferred" />
- <el-option label="闇�鏀硅繘" value="improvement" />
- <el-option label="宸查┏鍥�" value="rejected" />
- </el-select>
- </el-form-item>
+ <el-form-item label="鎶ュ绉戝" prop="ccdepts">
+ <el-select
+ v-model="processForm.ccdepts"
+ placeholder="璇烽�夋嫨鎶ュ绉戝"
+ multiple
+ filterable
+ collapse-tags
+ style="width: 100%"
+ :disabled="processForm.handleFlag !== '1'"
+ >
+ <el-option
+ v-for="dept in deptList"
+ :key="dept.deptCode"
+ :label="dept.label"
+ :value="dept.deptCode"
+ />
+ </el-select>
+ </el-form-item>
- <el-form-item label="澶勭悊璇存槑" prop="handledesc">
- <el-input
- v-model="processForm.handledesc"
- type="textarea"
- :rows="4"
- placeholder="璇疯緭鍏ュ鐞嗚鏄庯紙鏈�澶�500瀛楋級"
- maxlength="500"
- show-word-limit
- :disabled="processForm.handleFlag !== '1'"
- />
- </el-form-item>
+ <el-form-item label="澶勭悊缁撴灉" prop="handleresult">
+ <el-select
+ v-model="processForm.handleresult"
+ placeholder="璇烽�夋嫨澶勭悊缁撴灉"
+ style="width: 100%"
+ :disabled="processForm.handleFlag !== '1'"
+ >
+ <el-option label="宸茶В鍐�" value="resolved" />
+ <el-option label="宸茶В閲�" value="explained" />
+ <el-option label="宸茶浆浜�" value="transferred" />
+ <el-option label="闇�鏀硅繘" value="improvement" />
+ <el-option label="宸查┏鍥�" value="rejected" />
+ </el-select>
+ </el-form-item>
- <el-form-item
- label="鏈�缁堟剰瑙�"
- prop="finaloption"
- v-if="hasQualityPermission"
- >
- <el-input
- v-model="processForm.finaloption"
- type="textarea"
- :rows="3"
- placeholder="璇疯緭鍏ユ渶缁堝鐞嗘剰瑙侊紙鏈�澶�300瀛楋級"
- maxlength="300"
- show-word-limit
- />
- </el-form-item>
- </el-form>
+ <el-form-item label="澶勭悊璇存槑" prop="handledesc">
+ <el-input
+ v-model="processForm.handledesc"
+ type="textarea"
+ :rows="4"
+ placeholder="璇疯緭鍏ュ鐞嗚鏄庯紙鏈�澶�500瀛楋級"
+ maxlength="500"
+ show-word-limit
+ :disabled="processForm.handleFlag !== '1'"
+ />
+ </el-form-item>
+
+ <el-form-item
+ label="鏈�缁堟剰瑙�"
+ prop="finaloption"
+ v-if="hasQualityPermission"
+ >
+ <el-input
+ v-model="processForm.finaloption"
+ type="textarea"
+ :rows="3"
+ placeholder="璇疯緭鍏ユ渶缁堝鐞嗘剰瑙侊紙鏈�澶�300瀛楋級"
+ maxlength="300"
+ show-word-limit
+ />
+ </el-form-item>
+ </el-form>
+ </div>
+
+ <!-- 鍙冲崐閮ㄥ垎锛氭祦杞椂闂寸嚎锛堥�変腑娴佽浆鍚庡睍寮�锛� -->
+ <div class="flow-right" v-if="processForm.isFlow === '1'">
+ <el-timeline>
+ <el-timeline-item type="primary" placement="top" color="#5788fe">
+ <div class="flow-step-title">绗竴姝� 路 娴佽浆鍙戣捣</div>
+ <el-form label-width="90px" size="small" class="flow-step-form">
+ <el-form-item label="娴佽浆浜�">
+ <el-input
+ v-model="processForm.flowPerson"
+ placeholder="娴佽浆浜猴紙榛樿褰撳墠鐢ㄦ埛锛�"
+ />
+ </el-form-item>
+ <el-form-item label="娴佽浆浜虹紪鍙�">
+ <el-input
+ v-model="processForm.flowPersonCode"
+ placeholder="娴佽浆浜虹紪鍙凤紙榛樿褰撳墠鐢ㄦ埛宸ュ彿锛�"
+ />
+ </el-form-item>
+ <el-form-item label="娴佽浆鏃堕棿">
+ <el-date-picker
+ v-model="processForm.flowTime"
+ type="datetime"
+ value-format="yyyy-MM-dd HH:mm:ss"
+ placeholder="娴佽浆鏃堕棿"
+ style="width: 100%"
+ />
+ </el-form-item>
+ <el-form-item label="娴佽浆璇存槑">
+ <el-input
+ v-model="processForm.flowDesc"
+ type="textarea"
+ :rows="2"
+ placeholder="璇疯緭鍏ユ祦杞鏄�"
+ />
+ </el-form-item>
+ <el-form-item label="娴佽浆绉戝">
+ <el-select
+ v-model="processForm.flowDepts"
+ multiple
+ filterable
+ collapse-tags
+ placeholder="璇烽�夋嫨娴佽浆绉戝"
+ style="width: 100%"
+ @change="onFlowDeptChange"
+ >
+ <el-option
+ v-for="dept in deptList"
+ :key="dept.deptCode"
+ :label="dept.label"
+ :value="dept.deptCode"
+ />
+ </el-select>
+ </el-form-item>
+ <el-form-item label="娴佽浆绉戝code">
+ <el-select
+ v-model="processForm.flowDeptCodes"
+ multiple
+ disabled
+ placeholder="閫夋嫨绉戝鍚庤嚜鍔ㄧ敓鎴�"
+ style="width: 100%"
+ >
+ <el-option
+ v-for="code in processForm.flowDeptCodes"
+ :key="code"
+ :label="code"
+ :value="code"
+ />
+ </el-select>
+ </el-form-item>
+ <el-form-item label="鎺ㄩ�佽礋璐d汉">
+ <el-select
+ v-model="processForm.pushUsers"
+ multiple
+ filterable
+ collapse-tags
+ placeholder="璇烽�夋嫨鎺ㄩ�佽礋璐d汉"
+ style="width: 100%"
+ @change="onPushUserChange"
+ >
+ <el-option
+ v-for="u in userList"
+ :key="u.userId"
+ :label="u.nickName || u.userName"
+ :value="u.userId"
+ />
+ </el-select>
+ </el-form-item>
+ </el-form>
+ </el-timeline-item>
+
+ <el-timeline-item type="primary" placement="top" color="#e6a23c">
+ <div class="flow-step-title">绗簩姝� 路 绉戝鍙嶉</div>
+ <el-table
+ :data="processForm.flowFeedbacks"
+ border
+ size="mini"
+ v-if="processForm.flowFeedbacks.length > 0"
+ >
+ <el-table-column
+ label="绉戝"
+ prop="deptName"
+ width="120"
+ align="center"
+ />
+ <el-table-column label="鏄惁鍚屾剰" width="130" align="center">
+ <template slot-scope="scope">
+ <el-select
+ v-model="scope.row.agree"
+ placeholder="璇烽�夋嫨"
+ size="mini"
+ >
+ <el-option label="鍚屾剰" value="1" />
+ <el-option label="涓嶅悓鎰�" value="0" />
+ </el-select>
+ </template>
+ </el-table-column>
+ <el-table-column label="鍏蜂綋璇存槑" min-width="200" align="center">
+ <template slot-scope="scope">
+ <el-input
+ v-model="scope.row.desc"
+ placeholder="璇疯緭鍏ュ叿浣撹鏄�"
+ size="mini"
+ />
+ </template>
+ </el-table-column>
+ </el-table>
+ <div v-else class="flow-empty-tip">
+ 璇峰厛鍦ㄧ涓�姝ラ�夋嫨娴佽浆绉戝
+ </div>
+ </el-timeline-item>
+
+ <el-timeline-item type="primary" placement="top" color="#67c23a">
+ <div class="flow-step-title">绗笁姝� 路 澶勭悊缁撴灉</div>
+ <el-form label-width="90px" size="small" class="flow-step-form">
+ <el-form-item label="澶勭悊浜�">
+ <el-input
+ v-model="processForm.handleBy"
+ placeholder="澶勭悊浜�"
+ />
+ </el-form-item>
+ <el-form-item label="澶勭悊鏃堕棿">
+ <el-date-picker
+ v-model="processForm.handleTime"
+ type="datetime"
+ value-format="yyyy-MM-dd HH:mm:ss"
+ placeholder="澶勭悊鏃堕棿"
+ style="width: 100%"
+ />
+ </el-form-item>
+ </el-form>
+ </el-timeline-item>
+ </el-timeline>
+ </div>
+ </div>
<span slot="footer" class="dialog-footer">
<el-button @click="processDialogVisible = false">鍙栨秷</el-button>
<el-button type="primary" @click="submitProcess" :loading="processing">
@@ -483,7 +653,7 @@
import DetailsAnomaly from "./components/DetailsAnomaly.vue";
import { tracelist, traceedit } from "@/api/AiCentre/index";
import dayjs from "dayjs";
-import { deptTreeSelect } from "@/api/system/user";
+import { deptTreeSelect, listUser } from "@/api/system/user";
export default {
name: "BatchProcess",
@@ -527,6 +697,8 @@
// 绉戝鍒楄〃
deptList: [],
+ // 鐢ㄦ埛鍒楄〃锛堟祦杞礋璐d汉鍊欓�夛級
+ userList: [],
// 寮傚父鍒楄〃鏁版嵁
exceptionList: [],
@@ -540,6 +712,21 @@
handleresult: "",
handledesc: "",
finaloption: "",
+ // 娴佽浆鐩稿叧
+ isFlow: "0",
+ flowPerson: "",
+ flowPersonCode: "",
+ flowTime: "",
+ flowDesc: "",
+ flowDepts: [],
+ flowDeptNames: [],
+ flowDeptCodes: [],
+ pushUsers: [],
+ pushUserNames: [],
+ pushUserNos: [],
+ flowFeedbacks: [],
+ handleBy: "",
+ handleTime: "",
},
batchProgress: {
visible: false,
@@ -616,6 +803,7 @@
mounted() {
this.loadExceptionList();
this.getDeptOptions();
+ this.getUserOptions();
},
methods: {
@@ -648,6 +836,19 @@
.catch((error) => {
console.error("鑾峰彇绉戝鍒楄〃澶辫触:", error);
this.$message.error("鑾峰彇绉戝鍒楄〃澶辫触");
+ });
+ },
+ /** 鏌ヨ鐢ㄦ埛鍒楄〃锛堟祦杞礋璐d汉鍊欓�夛級 */
+ getUserOptions() {
+ listUser({ pageNum: 1, pageSize: 999 })
+ .then((res) => {
+ if (res.code == 200) {
+ this.userList = res.rows || [];
+ }
+ })
+ .catch((error) => {
+ console.error("鑾峰彇鐢ㄦ埛鍒楄〃澶辫触:", error);
+ this.$message.error("鑾峰彇鐢ㄦ埛鍒楄〃澶辫触");
});
},
flattenArray(multiArray) {
@@ -870,22 +1071,212 @@
handleProcess(row) {
this.currentExceptionId = row.id;
+ const nickName = this.$store.state.user.nickName || "";
+ const now = dayjs().format("YYYY-MM-DD HH:mm:ss");
+
+ // 鏄惁娴佽浆锛堝悗绔� circulationStatus锛�0 涓嶆祦杞� / 1 娴佽浆锛�
+ const isFlow = String(row.circulationStatus) === "1" ? "1" : "0";
+
+ // 鎶ュ绉戝锛堝吋瀹规暟缁勬垨閫楀彿鍒嗛殧瀛楃涓诧級
+ const ccdepts = Array.isArray(row.ccdepts)
+ ? row.ccdepts
+ : row.ccdepts
+ ? row.ccdepts.split(",")
+ : [];
+
+ // 娴佽浆绉戝 code / 鍚嶇О
+ const flowDeptCodes = row.circulationDeptCode
+ ? row.circulationDeptCode.split(",")
+ : [];
+ const flowDeptNames = row.circulationDeptName
+ ? row.circulationDeptName.split(",")
+ : [];
+
+ // 鎺ㄩ�佽礋璐d汉锛氬悗绔瓨宸ュ彿(userName)锛屼笅鎷� value 鐢� userId锛岄渶鍥炴槧
+ const pushUserNos = row.circulationDeptPersonCode
+ ? row.circulationDeptPersonCode.split(",")
+ : [];
+ const pushUserNames = row.circulationDeptPersonName
+ ? row.circulationDeptPersonName.split(",")
+ : [];
+ const pushUsers = pushUserNos.map((no) => {
+ const u = this.userList.find((item) => item.userName === no);
+ return u ? u.userId : no;
+ });
+
+ // 绉戝鍙嶉锛氫粠 handledesc JSON 涓繕鍘�
+ let flowFeedbacks = [];
+ try {
+ const parsed =
+ typeof row.handledesc === "string" &&
+ row.handledesc.trim().startsWith("{")
+ ? JSON.parse(row.handledesc)
+ : null;
+ if (parsed && parsed.flow && Array.isArray(parsed.flow.feedbacks)) {
+ flowFeedbacks = parsed.flow.feedbacks;
+ }
+ } catch (e) {
+ // handledesc 闈� JSON锛屽拷鐣�
+ }
+
+ // 娴佽浆鏃堕棿锛氬悗绔� Date 瀛楁锛岀粺涓�杞垚 yyyy-MM-dd HH:mm:ss 渚涙棩鏈熼�夋嫨鍣ㄥ洖鏄�
+ let flowTime = now;
+ if (row.circulationTime) {
+ const d = new Date(
+ typeof row.circulationTime === "number"
+ ? row.circulationTime
+ : String(row.circulationTime).replace(" ", "T")
+ );
+ if (!isNaN(d.getTime())) {
+ const pad = (n) => String(n).padStart(2, "0");
+ flowTime =
+ d.getFullYear() +
+ "-" +
+ pad(d.getMonth() + 1) +
+ "-" +
+ pad(d.getDate()) +
+ " " +
+ pad(d.getHours()) +
+ ":" +
+ pad(d.getMinutes()) +
+ ":" +
+ pad(d.getSeconds());
+ }
+ }
+
// 鍒濆鍖栬〃鍗曟暟鎹�
this.processForm = {
- handleFlag: row.handleFlag === "0" ? "1" : "0",
- ccdepts: row.ccdepts ? row.ccdepts.split(",") : [],
+ handleFlag: "1",
+ ccdepts,
handleresult: row.handleresult || "",
- handledesc: row.handledesc || "",
+ handledesc: this.formatHandledesc(row.handledesc),
finaloption: row.finaloption || "",
+ // 娴佽浆鐩稿叧
+ isFlow,
+ flowPerson: row.circulationPersonName || nickName,
+ flowPersonCode:
+ row.circulationPersonCode || this.$store.state.user.userName || "",
+ flowTime,
+ flowDesc: row.circulationExplain || "",
+ flowDepts: [...flowDeptCodes],
+ flowDeptNames: [...flowDeptNames],
+ flowDeptCodes: [...flowDeptCodes],
+ pushUsers,
+ pushUserNames: [...pushUserNames],
+ pushUserNos: [...pushUserNos],
+ flowFeedbacks,
+ handleBy: nickName,
+ handleTime: now,
};
this.processDialogVisible = true;
+ },
+
+ // 娴佽浆绉戝鍙樺寲锛氬悓姝ョ瀹ゅ悕绉般�佺瀹ode锛屽苟鐢熸垚鍙嶉琛ㄦ牸
+ onFlowDeptChange(codes) {
+ this.processForm.flowDeptCodes = [...codes];
+ this.processForm.flowDeptNames = codes.map((code) => {
+ const dept = this.deptList.find((item) => item.deptCode === code);
+ return dept ? dept.label : code;
+ });
+ // 鐢熸垚/缁存姢绗簩姝ュ弽棣堣〃鏍硷紙淇濈暀宸插~鍐欑殑鍙嶉锛�
+ this.processForm.flowFeedbacks = codes.map((code) => {
+ const existing = this.processForm.flowFeedbacks.find(
+ (item) => item.deptCode === code
+ );
+ if (existing) return existing;
+ const dept = this.deptList.find((item) => item.deptCode === code);
+ return {
+ deptCode: code,
+ deptName: dept ? dept.label : code,
+ agree: "",
+ desc: "",
+ };
+ });
+ },
+
+ // 鎺ㄩ�佽礋璐d汉鍙樺寲锛氬悓姝ヨ礋璐d汉鏄电О銆佸伐鍙�
+ onPushUserChange(ids) {
+ this.processForm.pushUserNames = ids.map((id) => {
+ const user = this.userList.find((u) => String(u.userId) === String(id));
+ return user ? user.nickName || user.userName : "";
+ });
+ this.processForm.pushUserNos = ids.map((id) => {
+ const user = this.userList.find((u) => String(u.userId) === String(id));
+ return user ? user.userName || "" : "";
+ });
+ },
+
+ // 缁勮 handledesc锛氭祦杞椂浠� JSON 褰㈠紡淇濆瓨鍘熷鐞嗚鏄庝笌娴佽浆璇存槑銆佺瀹ゅ弽棣�
+ buildHandledesc() {
+ if (this.processForm.isFlow !== "1") {
+ return this.processForm.handledesc;
+ }
+ const flow = {
+ feedbacks: this.processForm.flowFeedbacks.map((f) => ({
+ deptCode: f.deptCode,
+ deptName: f.deptName,
+ agree: f.agree,
+ desc: f.desc,
+ })),
+ };
+ return JSON.stringify({
+ desc: this.processForm.handledesc,
+ flow,
+ });
+ },
+
+ // 瑙f瀽 handledesc锛氳嫢鏄祦杞� JSON 鍒欏彇鍏朵腑鐨勫鐞嗚鏄庯紝鍚﹀垯鍘熸牱杩斿洖
+ formatHandledesc(val) {
+ if (!val) return "";
+ if (typeof val !== "string") return val;
+ const trimmed = val.trim();
+ if (trimmed.startsWith("{")) {
+ try {
+ const obj = JSON.parse(trimmed);
+ if (obj && obj.desc != null) return obj.desc;
+ } catch (e) {
+ // 涓嶆槸鍚堟硶 JSON锛屾寜鍘熸枃鏈繑鍥�
+ }
+ }
+ return val;
+ },
+
+ // 娴佽浆鏃堕棿杞负甯︽椂鍖虹殑 ISO 鏍煎紡锛屼緵鍚庣 Date 绫诲瀷瀛楁鍙嶅簭鍒楀寲
+ toISODateTime(str) {
+ if (!str) return null;
+ const d = new Date(String(str).replace(" ", "T"));
+ if (isNaN(d.getTime())) return null;
+ const pad = (n) => String(n).padStart(2, "0");
+ const offset = -d.getTimezoneOffset();
+ const sign = offset >= 0 ? "+" : "-";
+ const abs = Math.abs(offset);
+ const tz = sign + pad(Math.floor(abs / 60)) + ":" + pad(abs % 60);
+ return (
+ d.getFullYear() +
+ "-" + pad(d.getMonth() + 1) +
+ "-" + pad(d.getDate()) +
+ "T" + pad(d.getHours()) +
+ ":" + pad(d.getMinutes()) +
+ ":" + pad(d.getSeconds()) +
+ "." + String(d.getMilliseconds()).padStart(3, "0") +
+ tz
+ );
},
// 鎻愪氦澶勭悊
async submitProcess() {
this.$refs.processForm.validate(async (valid) => {
if (!valid) {
+ return;
+ }
+
+ // 娴佽浆鏃舵牎楠屽繀椤婚�夋嫨娴佽浆绉戝
+ if (
+ this.processForm.isFlow === "1" &&
+ (!this.processForm.flowDepts || this.processForm.flowDepts.length === 0)
+ ) {
+ this.$message.warning("璇峰厛閫夋嫨娴佽浆绉戝");
return;
}
@@ -897,14 +1288,30 @@
id: this.currentExceptionId,
handleFlag: this.processForm.handleFlag,
handleresult: this.processForm.handleresult,
- handledesc: this.processForm.handledesc,
+ handledesc: this.buildHandledesc(),
finaloption: this.processForm.finaloption,
- handleBy: this.$store.state.user.nickName,
- handleTime: dayjs().format("YYYY-MM-DD HH:mm:ss"),
+ handleBy:
+ this.processForm.handleBy || this.$store.state.user.nickName,
+ handleTime:
+ this.processForm.handleTime ||
+ dayjs().format("YYYY-MM-DD HH:mm:ss"),
// 灏嗘暟缁勮浆鎹负閫楀彿鍒嗛殧鐨勫瓧绗︿覆
ccdepts: Array.isArray(this.processForm.ccdepts)
? this.processForm.ccdepts.join(",")
: this.processForm.ccdepts,
+ // 娴佽浆鐩稿叧涓昏〃瀛楁锛堝悗绔凡瀹氱锛�
+ circulationPersonName: this.processForm.flowPerson,
+ circulationPersonCode:
+ this.processForm.flowPersonCode ||
+ this.$store.state.user.userName ||
+ "",
+ circulationStatus: this.processForm.isFlow,
+ circulationDeptName: this.processForm.flowDeptNames.join(","),
+ circulationDeptCode: this.processForm.flowDeptCodes.join(","),
+ circulationDeptPersonName: this.processForm.pushUserNames.join(","),
+ circulationDeptPersonCode: this.processForm.pushUserNos.join(","),
+ circulationExplain: this.processForm.flowDesc,
+ circulationTime: this.toISODateTime(this.processForm.flowTime),
};
// TODO: 杩欓噷闇�瑕佽皟鐢ㄥ疄闄呯殑澶勭悊鎺ュ彛
await traceedit(submitData);
@@ -1227,6 +1634,47 @@
}
}
+// 澶勭悊寮规宸﹀彸甯冨眬
+.flow-dialog-body {
+ display: flex;
+ align-items: stretch;
+
+ .flow-left {
+ flex: 1;
+ min-width: 320px;
+ padding-right: 24px;
+ border-right: 1px solid #ebeef5;
+ }
+
+ .flow-right {
+ flex: 1;
+ min-width: 320px;
+ padding-left: 24px;
+ max-height: 60vh;
+ overflow-y: auto;
+
+ .flow-step-title {
+ font-weight: 600;
+ color: #303133;
+ margin-bottom: 12px;
+ font-size: 14px;
+ }
+
+ .flow-step-form {
+ ::v-deep .el-form-item {
+ margin-bottom: 12px;
+ }
+ }
+
+ .flow-empty-tip {
+ padding: 20px;
+ text-align: center;
+ color: #909399;
+ font-size: 13px;
+ }
+ }
+}
+
@media (max-width: 768px) {
.batch-process {
padding: 10px;
diff --git a/src/views/Satisfaction/configurationmyd/components/DetailsAnomaly.vue b/src/views/Satisfaction/configurationmyd/components/DetailsAnomaly.vue
index 42ee116..57dbaae 100644
--- a/src/views/Satisfaction/configurationmyd/components/DetailsAnomaly.vue
+++ b/src/views/Satisfaction/configurationmyd/components/DetailsAnomaly.vue
@@ -114,7 +114,12 @@
</div>
<!-- 闂嵎/璇煶璇︽儏 -->
- <div class="content-container" v-if="templateData.length > 0">
+ <div
+ class="content-container"
+ v-if="currentRecord.templateType"
+ v-loading="contentLoading"
+ element-loading-text="璇︽儏鍔犺浇涓�..."
+ >
<el-tabs v-model="activeName" type="border-card">
<!-- 闂嵎闅忚璇︽儏 -->
<el-tab-pane name="wj" v-if="currentRecord.templateType === 2">
@@ -529,6 +534,8 @@
// 鍔犺浇鐘舵��
loading: false,
+ // 闂嵎/璇煶璇︽儏鍔犺浇鐘舵��
+ contentLoading: false,
// 鏉冮檺鎺у埗
hasQualityPermission: false
@@ -737,6 +744,7 @@
// 鍔犺浇闂嵎鏁版嵁
async loadQuestionnaireData() {
+ this.contentLoading = true;
try {
// 杩欓噷闇�瑕佹牴鎹疄闄呮儏鍐佃皟鐢ㄦ帴鍙h幏鍙栭棶鍗锋暟鎹�
// 濡傛灉recordData涓凡缁忓寘鍚簡闂嵎鏁版嵁锛屽彲浠ョ洿鎺ヤ娇鐢�
@@ -770,6 +778,8 @@
}
} catch (error) {
console.error('鍔犺浇闂嵎鏁版嵁澶辫触:', error);
+ } finally {
+ this.contentLoading = false;
}
},
@@ -788,6 +798,7 @@
// 鍔犺浇璇煶鏁版嵁
async loadVoiceData() {
+ this.contentLoading = true;
try {
if (this.currentRecord.taskid && this.currentRecord.patid) {
const params = {
@@ -814,6 +825,8 @@
}
} catch (error) {
console.error('鍔犺浇璇煶鏁版嵁澶辫触:', error);
+ } finally {
+ this.contentLoading = false;
}
},
diff --git a/src/views/followvisit/Continue/index.vue b/src/views/followvisit/Continue/index.vue
index 3abc5f4..a60bab8 100644
--- a/src/views/followvisit/Continue/index.vue
+++ b/src/views/followvisit/Continue/index.vue
@@ -1073,8 +1073,8 @@
dynamicTags: ["閫夐」涓�", "閫夐」浜�", "閫夐」涓�"], //閫夐」
inputVisible: false,
Labelchange: false,
- ycvalue: "",
- jgvalue: "",
+ ycvalue: 0,
+ jgvalue: 0,
yfsvalue: "",
inputValue: "",
preachform: "",
@@ -2031,8 +2031,8 @@
<style lang="scss" scoped>
.el-button--primary.is-plain {
color: #ffffff;
- background: #409eff;
- border-color: #4fabe9;
+ background: #5b7cfa;
+ border-color: #5b7cfa;
}
.document {
@@ -2234,4 +2234,75 @@
flex-shrink: 0;
margin-top: 2px;
}
+/* ================= 娓呮柊楂樼骇绠�绾﹂ ================= */
+.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>
diff --git a/src/views/followvisit/HistoricalFollow/index.vue b/src/views/followvisit/HistoricalFollow/index.vue
index ae8f453..eb2660f 100644
--- a/src/views/followvisit/HistoricalFollow/index.vue
+++ b/src/views/followvisit/HistoricalFollow/index.vue
@@ -605,7 +605,7 @@
zcform: {},
dynamicTags: ["閫夐」涓�", "閫夐」浜�", "閫夐」涓�"], //閫夐」
inputVisible: false,
- ycvalue: "",
+ ycvalue: 0,
yfsvalue: "",
inputValue: "",
preachform: "",
diff --git a/src/views/followvisit/OutpatientAgain/index.vue b/src/views/followvisit/OutpatientAgain/index.vue
index 3c4337c..d8082bf 100644
--- a/src/views/followvisit/OutpatientAgain/index.vue
+++ b/src/views/followvisit/OutpatientAgain/index.vue
@@ -876,7 +876,7 @@
dynamicTags: ["閫夐」涓�", "閫夐」浜�", "閫夐」涓�"], //閫夐」
inputVisible: false,
Labelchange: false,
- ycvalue: "",
+ ycvalue: 0,
yfsvalue: "",
inputValue: "",
preachform: "",
@@ -891,6 +891,7 @@
},
value: [],
list: [],
+ jgvalue: 0,
sourcetype: [
{
diff --git a/src/views/followvisit/SpecificDisease/index.vue b/src/views/followvisit/SpecificDisease/index.vue
index 57d20e8..8fc578a 100644
--- a/src/views/followvisit/SpecificDisease/index.vue
+++ b/src/views/followvisit/SpecificDisease/index.vue
@@ -785,7 +785,7 @@
zcform: {},
dynamicTags: ["閫夐」涓�", "閫夐」浜�", "閫夐」涓�"], //閫夐」
inputVisible: false,
- ycvalue: "",
+ ycvalue: 0,
yfsvalue: "",
inputValue: "",
preachform: "",
diff --git a/src/views/followvisit/Tracking/index.vue b/src/views/followvisit/Tracking/index.vue
index f1e4d91..fd1c987 100644
--- a/src/views/followvisit/Tracking/index.vue
+++ b/src/views/followvisit/Tracking/index.vue
@@ -870,7 +870,7 @@
dynamicTags: ["閫夐」涓�", "閫夐」浜�", "閫夐」涓�"], //閫夐」
inputVisible: false,
Labelchange: false,
- ycvalue: "",
+ ycvalue: 0,
yfsvalue: "",
inputValue: "",
preachform: "",
diff --git a/src/views/followvisit/again/index.vue b/src/views/followvisit/again/index.vue
index 4bd6a8b..bdd1f0b 100644
--- a/src/views/followvisit/again/index.vue
+++ b/src/views/followvisit/again/index.vue
@@ -880,7 +880,7 @@
dynamicTags: ["閫夐」涓�", "閫夐」浜�", "閫夐」涓�"], //閫夐」
inputVisible: false,
Labelchange: false,
- ycvalue: "",
+ ycvalue: 0,
yfsvalue: "",
inputValue: "",
preachform: "",
@@ -1113,6 +1113,7 @@
},
amendtag: false,
errtype: "",
+ jgvalue: 0,
leavehospitaldistrictcode: "",
serviceState: [],
checkboxlist: [],
diff --git a/src/views/followvisit/beHospitalized/followUp.vue b/src/views/followvisit/beHospitalized/followUp.vue
index 3a4d733..d0c137d 100644
--- a/src/views/followvisit/beHospitalized/followUp.vue
+++ b/src/views/followvisit/beHospitalized/followUp.vue
@@ -1229,8 +1229,8 @@
dynamicTags: ["閫夐」涓�", "閫夐」浜�", "閫夐」涓�"], //閫夐」
inputVisible: false,
Labelchange: false,
- ycvalue: "",
- jgvalue: "",
+ ycvalue: 0,
+ jgvalue: 0,
yfsvalue: "",
inputValue: "",
preachform: "",
diff --git a/src/views/followvisit/complaint/index.vue b/src/views/followvisit/complaint/index.vue
index 188d7e8..195ef8c 100644
--- a/src/views/followvisit/complaint/index.vue
+++ b/src/views/followvisit/complaint/index.vue
@@ -950,6 +950,8 @@
ids: [],
// 闈炲崟涓鐢�
single: true,
+ jgvalue: 0,
+
// 闈炲涓鐢�
multiple: true,
// 鏄剧ず鎼滅储鏉′欢
@@ -1015,7 +1017,7 @@
dynamicTags: ["閫夐」涓�", "閫夐」浜�", "閫夐」涓�"], //閫夐」
inputVisible: false,
Labelchange: false,
- ycvalue: "",
+ ycvalue: 0,
yfsvalue: "",
inputValue: "",
preachform: "",
diff --git a/src/views/followvisit/discharge/index copy.vue b/src/views/followvisit/discharge/index copy.vue
index 4e30b82..b79aacb 100644
--- a/src/views/followvisit/discharge/index copy.vue
+++ b/src/views/followvisit/discharge/index copy.vue
@@ -799,7 +799,7 @@
inputVisible: false,
Labelchange: false,
ycvalue: 0,
- jgvalue: "",
+ jgvalue: 0,
yfsvalue: "",
inputValue: "",
preachform: "",
diff --git a/src/views/followvisit/discharge/index.vue b/src/views/followvisit/discharge/index.vue
index 6c3e9bf..8af1406 100644
--- a/src/views/followvisit/discharge/index.vue
+++ b/src/views/followvisit/discharge/index.vue
@@ -311,7 +311,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 +508,7 @@
width="120"
/>
<el-table-column
+ v-if="orgname != '娴欐睙鐪佹柊鍗庡尰闄�'"
label="浠诲姟鐘舵��"
align="center"
key="sendstate"
@@ -1124,7 +1173,7 @@
inputVisible: false,
Labelchange: false,
ycvalue: 0,
- jgvalue: "",
+ jgvalue: 0,
yfsvalue: "",
inputValue: "",
preachform: "",
@@ -1295,7 +1344,8 @@
visitCount: 1,
scopetype: [],
managementDoctor:
- localStorage.getItem("orgname") == "缂欎簯鍘夸汉姘戝尰闄�"||localStorage.getItem("orgname") == "涓芥按甯備腑鍖婚櫌"
+ localStorage.getItem("orgname") == "缂欎簯鍘夸汉姘戝尰闄�" ||
+ localStorage.getItem("orgname") == "涓芥按甯備腑鍖婚櫌"
? store.getters.nickName
: "",
leaveldeptcodes: [],
@@ -1836,16 +1886,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("绉戝鍜岀梾鍖轰笉鑳藉悓鏃堕�夋嫨锛屽凡鍒囨崲涓虹瀹�");
}
@@ -2413,21 +2459,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 +2535,8 @@
<style lang="scss" scoped>
.el-button--primary.is-plain {
color: #ffffff;
- background: #409eff;
- border-color: #4fabe9;
+ background: #5b7cfa;
+ border-color: #5b7cfa;
}
.document {
@@ -2717,4 +2769,75 @@
font-size: 14px;
color: #666;
}
+/* ================= 娓呮柊楂樼骇绠�绾﹂ ================= */
+.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>
diff --git a/src/views/followvisit/discharge/index.vue.bak b/src/views/followvisit/discharge/index.vue.bak
index d67cbf0..cb32b05 100644
--- a/src/views/followvisit/discharge/index.vue.bak
+++ b/src/views/followvisit/discharge/index.vue.bak
@@ -1190,7 +1190,7 @@
inputVisible: false,
Labelchange: false,
ycvalue: 0,
- jgvalue: "",
+ jgvalue: 0,
yfsvalue: "",
inputValue: "",
preachform: "",
diff --git a/src/views/followvisit/discharge/outpatientService.vue b/src/views/followvisit/discharge/outpatientService.vue
index a31c4ee..5910c74 100644
--- a/src/views/followvisit/discharge/outpatientService.vue
+++ b/src/views/followvisit/discharge/outpatientService.vue
@@ -64,6 +64,12 @@
placeholder="璇疯緭鍏ラ殢璁夸汉鍛�"
></el-input>
</el-form-item>
+ <el-form-item label="涓绘不鍖荤敓" prop="drname">
+ <el-input
+ v-model="topqueryParams.drname"
+ placeholder="璇疯緭鍏ヤ富娌诲尰鐢�"
+ ></el-input>
+ </el-form-item>
<el-form-item label="鎮h�呰寖鍥�" prop="status">
<el-cascader
@@ -842,6 +848,8 @@
total: 0,
// 鐢ㄦ埛琛ㄦ牸鏁版嵁
userList: null,
+ jgvalue: 0,
+
// 寮瑰嚭灞傛爣棰�
title: "鏂板褰卞儚闅忚",
// 鏄惁鏄剧ず淇敼銆佹坊鍔犲脊鍑哄眰
@@ -864,7 +872,7 @@
dynamicTags: ["閫夐」涓�", "閫夐」浜�", "閫夐」涓�"], //閫夐」
inputVisible: false,
Labelchange: false,
- ycvalue: "",
+ ycvalue: 0,
yfsvalue: "",
inputValue: "",
preachform: "",
@@ -1732,8 +1740,8 @@
<style lang="scss" scoped>
.el-button--primary.is-plain {
color: #ffffff;
- background: #409eff;
- border-color: #4fabe9;
+ background: #5b7cfa;
+ border-color: #5b7cfa;
}
.document {
@@ -1908,4 +1916,75 @@
flex-shrink: 0;
margin-top: 2px;
}
+/* ================= 娓呮柊楂樼骇绠�绾﹂ ================= */
+.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>
diff --git a/src/views/followvisit/mzsatisfaction/index.vue b/src/views/followvisit/mzsatisfaction/index.vue
index 9cadc18..c62a5ad 100644
--- a/src/views/followvisit/mzsatisfaction/index.vue
+++ b/src/views/followvisit/mzsatisfaction/index.vue
@@ -2,9 +2,8 @@
<div class="app-container">
<statistics-cards
:cardlist="cardlist"
- :ycvalue="ycvalue"
- :jgvalue="jgvalue"
- :show-warning-condition="orgname == '鐪佺珛鍚屽痉缈犺嫅闄㈠尯'"
+ :show-extra="false"
+ :show-warning-condition="false"
/>
<el-row :gutter="20">
<!--鐢ㄦ埛鏁版嵁-->
@@ -16,13 +15,6 @@
v-show="showSearch"
label-width="98px"
>
- <el-form-item label="浠诲姟鍚嶇О">
- <el-input
- v-model="topqueryParams.taskName"
- placeholder="璇烽�夋嫨浠诲姟鍚嶇О"
- ></el-input>
- </el-form-item>
-
<el-form-item label="鍑洪櫌鏃堕棿">
<el-date-picker
v-model="dateRange"
@@ -41,31 +33,18 @@
placeholder="璇疯緭鍏ユ偅鑰呭鍚�"
></el-input>
</el-form-item>
- <el-form-item label="璇婃柇鍚嶇О" prop="leavediagname">
- <el-input
- v-model="topqueryParams.leavediagname"
- placeholder="璇疯緭鍏ヨ瘖鏂悕绉�"
- ></el-input>
- </el-form-item>
- <el-form-item label="闅忚浜哄憳" prop="updateBy">
+ <el-form-item label="澶勭悊浜哄憳" prop="updateBy">
<el-input
v-model="topqueryParams.updateBy"
- placeholder="璇疯緭鍏ラ殢璁夸汉鍛�"
+ placeholder="璇疯緭鍏ュ鐞嗕汉鍛�"
></el-input>
</el-form-item>
- <el-form-item label="涓绘不鍖荤敓" prop="drname">
+ <el-form-item label="鎺ヨ瘖鍖荤敓" prop="drname">
<el-input
v-model="topqueryParams.drname"
- placeholder="璇疯緭鍏ヤ富娌诲尰鐢�"
+ placeholder="璇疯緭鍏ユ帴璇婂尰鐢�"
></el-input>
</el-form-item>
- <el-form-item label="缁忕鍖荤敓" prop="managementDoctor">
- <el-input
- v-model="topqueryParams.managementDoctor"
- placeholder="璇疯緭鍏ヤ富娌诲尰鐢�"
- ></el-input>
- </el-form-item>
-
<el-form-item label="鎮h�呰寖鍥�" prop="status">
<el-cascader
v-model="topqueryParams.scopetype"
@@ -92,7 +71,7 @@
</el-option>
</el-select>
</el-form-item> -->
- <el-form-item label="闅忚鐘舵��" prop="status">
+ <el-form-item label="澶勭悊鐘舵��" prop="status">
<el-cascader
v-model="serviceStatusValue"
placeholder="璇烽�夋嫨"
@@ -225,15 +204,6 @@
@selection-change="handleSelectionChange"
>
<el-table-column type="selection" width="50" align="center" />
- <el-table-column
- label="浠诲姟鍚嶇О"
- fixed
- width="150"
- show-overflow-tooltip
- align="center"
- key="taskName"
- prop="taskName"
- />
<!-- <el-table-column label="搴忓彿" fixed align="center" key="id" prop="id" /> -->
<el-table-column
label="濮撳悕"
@@ -261,7 +231,7 @@
</template>
</el-table-column>
<el-table-column
- label="闅忚鐘舵��"
+ label="澶勭悊鐘舵��"
align="center"
key="sendstateView"
prop="sendstateView"
@@ -338,20 +308,13 @@
</template></el-table-column
>
<el-table-column
- label="涓绘不鍖荤敓"
+ label="鎺ヨ瘖鍖荤敓"
width="120"
align="center"
key="drname"
prop="drname"
/>
- <el-table-column
- label="缁忕鍖荤敓"
- align="center"
- key="managementDoctor"
- prop="managementDoctor"
- width="120"
- />
<el-table-column
label="鍑洪櫌澶╂暟"
width="120"
@@ -415,16 +378,7 @@
</el-table-column>
<el-table-column
- label="璇婃柇鍚嶇О"
- align="center"
- key="leavediagname"
- prop="leavediagname"
- width="120"
- :show-overflow-tooltip="true"
- >
- </el-table-column>
- <el-table-column
- label="闅忚浜哄憳"
+ label="澶勭悊浜哄憳"
align="center"
key="updateBy"
prop="updateBy"
@@ -1001,6 +955,8 @@
multiple: true,
// 鏄剧ず鎼滅储鏉′欢
showSearch: true,
+ jgvalue: 0,
+
dialogFormVisible: false,
// 鎬绘潯鏁�
total: 0,
@@ -1028,7 +984,7 @@
dynamicTags: ["閫夐」涓�", "閫夐」浜�", "閫夐」涓�"], //閫夐」
inputVisible: false,
Labelchange: false,
- ycvalue: "",
+ ycvalue: 0,
yfsvalue: "",
inputValue: "",
preachform: "",
@@ -1097,25 +1053,24 @@
loading: false,
cardlist: [
{
- name: "鎮h�呮湇鍔℃�婚噺",
- value: 0,
- },
-
- {
- name: "鏃犻渶闅忚",
+ name: "闂ㄨ瘖鎬婚噺",
value: 0,
},
{
- name: "闇�闅忚",
+ name: "鍙戦�佷换鍔¢噺",
value: 0,
},
{
- name: "寰呴殢璁�",
+ name: "寰呭畬鎴�",
value: 0,
},
{
name: "宸插畬鎴�",
value: 0,
+ },
+ {
+ name: "瀹屾垚鐜�",
+ value: "0%",
},
],
zcrules: {
@@ -1258,6 +1213,8 @@
},
},
},
+ orgname: "",
+
amendtag: false,
errtype: "",
leavehospitaldistrictcode: "",
@@ -1272,6 +1229,8 @@
this.serviceState = store.getters.serviceState;
this.checkboxlist = store.getters.checkboxlist;
this.errtype = this.$route.query.errtype;
+ this.orgname = localStorage.getItem("orgname");
+
this.leavehospitaldistrictcode =
this.$route.query.leavehospitaldistrictcode;
this.sourcetype[0].children = store.getters.belongDepts.map((dept) => {
@@ -1335,14 +1294,19 @@
this.userList = response.rows[0].serviceSubtaskList;
this.total = response.total;
if (refresh) {
- this.cardlist[0].value =
+ // 闂ㄨ瘖鎬婚噺锛氭殏鏃犲瓧娈碉紝淇濇寔 0
+ // 鍙戦�佷换鍔¢噺 = 鎮h�呮湇鍔℃�婚噺锛堟棤闇�闅忚 + 闇�闅忚锛�
+ this.cardlist[1].value =
Number(response.rows[0].wxsf) + Number(response.rows[0].xsf) || 0;
- // this.cardlist[1].value = response.rows[0].wzx;
- this.cardlist[1].value = response.rows[0].wxsf || 0;
this.ycvalue = response.rows[0].yc;
- 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.cardlist[2].value = response.rows[0].dsf || 0; // 寰呭畬鎴� = 寰呴殢璁�
+ this.cardlist[3].value = response.rows[0].ywc || 0; // 宸插畬鎴� = 宸查殢璁�
+ // 瀹屾垚鐜� = 宸插畬鎴� / (寰呭畬鎴� + 宸插畬鎴�)
+ const dsf = Number(response.rows[0].dsf) || 0;
+ const ywc = Number(response.rows[0].ywc) || 0;
+ const doneTotal = dsf + ywc;
+ this.cardlist[4].value =
+ doneTotal > 0 ? ((ywc / doneTotal) * 100).toFixed(2) + "%" : "0%";
this.yfsvalue = response.rows[0].yfs;
}
this.loading = false;
@@ -1496,7 +1460,7 @@
this.options = [];
}
},
- // 褰卞儚闅忚鐘舵�佷慨鏀�
+ // 褰卞儚澶勭悊鐘舵�佷慨鏀�
handleStatusChange(row) {
let text = row.status === "0" ? "鍚敤" : "鍋滅敤";
this.$modal
@@ -1883,8 +1847,8 @@
<style lang="scss" scoped>
.el-button--primary.is-plain {
color: #ffffff;
- background: #409eff;
- border-color: #4fabe9;
+ background: #5b7cfa;
+ border-color: #5b7cfa;
}
.document {
@@ -2077,4 +2041,75 @@
flex-shrink: 0;
margin-top: 2px;
}
+/* ================= 娓呮柊楂樼骇绠�绾﹂ ================= */
+.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>
diff --git a/src/views/followvisit/operation/index.vue b/src/views/followvisit/operation/index.vue
index 2703fcb..af43944 100644
--- a/src/views/followvisit/operation/index.vue
+++ b/src/views/followvisit/operation/index.vue
@@ -1165,6 +1165,8 @@
dialogFormVisible: false,
// 鎬绘潯鏁�
total: 0,
+ jgvalue: 0,
+
// 鐢ㄦ埛琛ㄦ牸鏁版嵁
userList: null,
// 寮瑰嚭灞傛爣棰�
@@ -1189,8 +1191,8 @@
dynamicTags: ["閫夐」涓�", "閫夐」浜�", "閫夐」涓�"], //閫夐」
inputVisible: false,
Labelchange: false,
- ycvalue: "",
- jgvalue: "",
+ ycvalue: 0,
+ jgvalue: 0,
yfsvalue: "",
inputValue: "",
preachform: "",
diff --git a/src/views/followvisit/outpatient/index.vue b/src/views/followvisit/outpatient/index.vue
index ee194e0..0f65885 100644
--- a/src/views/followvisit/outpatient/index.vue
+++ b/src/views/followvisit/outpatient/index.vue
@@ -659,6 +659,9 @@
single: true,
// 闈炲涓鐢�
multiple: true,
+ jgvalue: 0,
+ orgname: "",
+
// 鏄剧ず鎼滅储鏉′欢
showSearch: true,
// 鎬绘潯鏁�
@@ -684,7 +687,7 @@
},
dynamicTags: ["閫夐」涓�", "閫夐」浜�", "閫夐」涓�"], //閫夐」
inputVisible: false,
- ycvalue: "",
+ ycvalue: 0,
yfsvalue: "",
inputValue: "",
preachform: "",
@@ -846,6 +849,8 @@
this.serviceState = store.getters.serviceState;
this.checkboxlist = store.getters.checkboxlist;
this.errtype = this.$route.query.errtype;
+ this.orgname = localStorage.getItem("orgname");
+
this.leavehospitaldistrictcode =
this.$route.query.leavehospitaldistrictcode;
this.sourcetype[0].children = store.getters.belongDepts.map((dept) => {
diff --git a/src/views/followvisit/record/detailpage/index.vue b/src/views/followvisit/record/detailpage/index.vue
index 4f97c69..2f0ecfc 100644
--- a/src/views/followvisit/record/detailpage/index.vue
+++ b/src/views/followvisit/record/detailpage/index.vue
@@ -337,6 +337,7 @@
(orgname == '鍗楀崕澶у闄勫睘绗竴鍖婚櫌' ||
orgname == '涓芥按甯傜浜屼汉姘戝尰闄�' ||
orgname == '缂欎簯鍘夸汉姘戝尰闄�'||
+ orgname == '涓芥按甯傚骞间繚鍋ラ櫌'||
orgname == '鏉鹃槼鍘夸腑鍖诲尰闄�') &&
!Voicetype
"
diff --git a/src/views/followvisit/record/index.vue b/src/views/followvisit/record/index.vue
index b373ed4..1eb323a 100644
--- a/src/views/followvisit/record/index.vue
+++ b/src/views/followvisit/record/index.vue
@@ -783,6 +783,8 @@
single: true,
// 闈炲涓鐢�
multiple: true,
+ jgvalue: 0,
+
// 鏄剧ず鎼滅储鏉′欢
showSearch: true,
dialogFormVisible: false,
@@ -843,7 +845,7 @@
zcform: {},
dynamicTags: ["閫夐」涓�", "閫夐」浜�", "閫夐」涓�"], //閫夐」
inputVisible: false,
- ycvalue: "",
+ ycvalue: 0,
yfsvalue: "",
inputValue: "",
preachform: "",
diff --git a/src/views/followvisit/technology/index.vue b/src/views/followvisit/technology/index.vue
index 2b00930..b452289 100644
--- a/src/views/followvisit/technology/index.vue
+++ b/src/views/followvisit/technology/index.vue
@@ -719,6 +719,8 @@
// 鏄剧ず鎼滅储鏉′欢
showSearch: true,
dialogFormVisible: false,
+ jgvalue: 0,
+
// 鎬绘潯鏁�
total: 0,
// 鐢ㄦ埛琛ㄦ牸鏁版嵁
@@ -743,7 +745,7 @@
zcform: {},
dynamicTags: ["閫夐」涓�", "閫夐」浜�", "閫夐」涓�"], //閫夐」
inputVisible: false,
- ycvalue: "",
+ ycvalue: 0,
yfsvalue: "",
inputValue: "",
preachform: "",
diff --git a/src/views/followvisit/zbAgain/index.vue b/src/views/followvisit/zbAgain/index.vue
index 822cc3b..bce150c 100644
--- a/src/views/followvisit/zbAgain/index.vue
+++ b/src/views/followvisit/zbAgain/index.vue
@@ -839,6 +839,8 @@
// 鏄剧ず鎼滅储鏉′欢
showSearch: true,
dialogFormVisible: false,
+ jgvalue: 0,
+
// 鎬绘潯鏁�
total: 0,
// 鐢ㄦ埛琛ㄦ牸鏁版嵁
@@ -865,7 +867,7 @@
dynamicTags: ["閫夐」涓�", "閫夐」浜�", "閫夐」涓�"], //閫夐」
inputVisible: false,
Labelchange: false,
- ycvalue: "",
+ ycvalue: 0,
yfsvalue: "",
inputValue: "",
preachform: "",
diff --git a/src/views/followvisit/zysatisfaction/index.vue b/src/views/followvisit/zysatisfaction/index.vue
index 551395e..a3c7b54 100644
--- a/src/views/followvisit/zysatisfaction/index.vue
+++ b/src/views/followvisit/zysatisfaction/index.vue
@@ -2,9 +2,8 @@
<div class="app-container">
<statistics-cards
:cardlist="cardlist"
- :ycvalue="ycvalue"
- :jgvalue="jgvalue"
- :show-warning-condition="orgname == '鐪佺珛鍚屽痉缈犺嫅闄㈠尯'"
+ :show-extra="false"
+ :show-warning-condition="false"
/>
<el-row :gutter="20">
<!--鐢ㄦ埛鏁版嵁-->
@@ -16,13 +15,6 @@
v-show="showSearch"
label-width="98px"
>
- <el-form-item label="浠诲姟鍚嶇О">
- <el-input
- v-model="topqueryParams.taskName"
- placeholder="璇烽�夋嫨浠诲姟鍚嶇О"
- ></el-input>
- </el-form-item>
-
<el-form-item label="鍑洪櫌鏃堕棿">
<el-date-picker
v-model="dateRange"
@@ -41,31 +33,18 @@
placeholder="璇疯緭鍏ユ偅鑰呭鍚�"
></el-input>
</el-form-item>
- <el-form-item label="璇婃柇鍚嶇О" prop="leavediagname">
- <el-input
- v-model="topqueryParams.leavediagname"
- placeholder="璇疯緭鍏ヨ瘖鏂悕绉�"
- ></el-input>
- </el-form-item>
- <el-form-item label="闅忚浜哄憳" prop="updateBy">
+ <el-form-item label="澶勭悊浜哄憳" prop="updateBy">
<el-input
v-model="topqueryParams.updateBy"
- placeholder="璇疯緭鍏ラ殢璁夸汉鍛�"
+ placeholder="璇疯緭鍏ュ鐞嗕汉鍛�"
></el-input>
</el-form-item>
- <el-form-item label="涓绘不鍖荤敓" prop="drname">
+ <el-form-item label="鎺ヨ瘖鍖荤敓" prop="drname">
<el-input
v-model="topqueryParams.drname"
- placeholder="璇疯緭鍏ヤ富娌诲尰鐢�"
+ placeholder="璇疯緭鍏ユ帴璇婂尰鐢�"
></el-input>
</el-form-item>
- <el-form-item label="缁忕鍖荤敓" prop="managementDoctor">
- <el-input
- v-model="topqueryParams.managementDoctor"
- placeholder="璇疯緭鍏ヤ富娌诲尰鐢�"
- ></el-input>
- </el-form-item>
-
<el-form-item label="鎮h�呰寖鍥�" prop="status">
<el-cascader
v-model="topqueryParams.scopetype"
@@ -92,7 +71,7 @@
</el-option>
</el-select>
</el-form-item> -->
- <el-form-item label="闅忚鐘舵��" prop="status">
+ <el-form-item label="澶勭悊鐘舵��" prop="status">
<el-cascader
v-model="serviceStatusValue"
placeholder="璇烽�夋嫨"
@@ -225,15 +204,6 @@
@selection-change="handleSelectionChange"
>
<el-table-column type="selection" width="50" align="center" />
- <el-table-column
- label="浠诲姟鍚嶇О"
- fixed
- width="150"
- show-overflow-tooltip
- align="center"
- key="taskName"
- prop="taskName"
- />
<!-- <el-table-column label="搴忓彿" fixed align="center" key="id" prop="id" /> -->
<el-table-column
label="濮撳悕"
@@ -261,7 +231,7 @@
</template>
</el-table-column>
<el-table-column
- label="闅忚鐘舵��"
+ label="澶勭悊鐘舵��"
align="center"
key="sendstateView"
prop="sendstateView"
@@ -338,20 +308,13 @@
</template></el-table-column
>
<el-table-column
- label="涓绘不鍖荤敓"
+ label="鎺ヨ瘖鍖荤敓"
width="120"
align="center"
key="drname"
prop="drname"
/>
- <el-table-column
- label="缁忕鍖荤敓"
- align="center"
- key="managementDoctor"
- prop="managementDoctor"
- width="120"
- />
<el-table-column
label="鍑洪櫌澶╂暟"
width="120"
@@ -415,16 +378,7 @@
</el-table-column>
<el-table-column
- label="璇婃柇鍚嶇О"
- align="center"
- key="leavediagname"
- prop="leavediagname"
- width="120"
- :show-overflow-tooltip="true"
- >
- </el-table-column>
- <el-table-column
- label="闅忚浜哄憳"
+ label="澶勭悊浜哄憳"
align="center"
key="updateBy"
prop="updateBy"
@@ -959,6 +913,8 @@
ids: [],
// 闈炲崟涓鐢�
single: true,
+ jgvalue: 0,
+
// 闈炲涓鐢�
multiple: true,
// 鏄剧ず鎼滅储鏉′欢
@@ -989,7 +945,7 @@
dynamicTags: ["閫夐」涓�", "閫夐」浜�", "閫夐」涓�"], //閫夐」
inputVisible: false,
Labelchange: false,
- ycvalue: "",
+ ycvalue: 0,
yfsvalue: "",
inputValue: "",
preachform: "",
@@ -1024,25 +980,24 @@
loading: false,
cardlist: [
{
- name: "鎮h�呮湇鍔℃�婚噺",
- value: 0,
- },
-
- {
- name: "鏃犻渶闅忚",
+ name: "浣忛櫌鎬婚噺",
value: 0,
},
{
- name: "闇�闅忚",
+ name: "鍙戦�佷换鍔¢噺",
value: 0,
},
{
- name: "寰呴殢璁�",
+ name: "寰呭畬鎴�",
value: 0,
},
{
name: "宸插畬鎴�",
value: 0,
+ },
+ {
+ name: "瀹屾垚鐜�",
+ value: "0%",
},
],
// 绾ц仈閫夋嫨鍣ㄧ粦瀹氬��
@@ -1221,6 +1176,8 @@
},
},
},
+ orgname: "",
+
amendtag: false,
errtype: "",
leavehospitaldistrictcode: "",
@@ -1235,6 +1192,8 @@
this.serviceState = store.getters.serviceState;
this.checkboxlist = store.getters.checkboxlist;
this.errtype = this.$route.query.errtype;
+ this.orgname = localStorage.getItem("orgname");
+
this.leavehospitaldistrictcode =
this.$route.query.leavehospitaldistrictcode;
this.sourcetype[0].children = store.getters.belongDepts.map((dept) => {
@@ -1298,14 +1257,19 @@
this.userList = response.rows[0].serviceSubtaskList;
this.total = response.total;
if (refresh) {
- this.cardlist[0].value =
+ // 浣忛櫌鎬婚噺锛氭殏鏃犲瓧娈碉紝淇濇寔 0
+ // 鍙戦�佷换鍔¢噺 = 鎮h�呮湇鍔℃�婚噺锛堟棤闇�闅忚 + 闇�闅忚锛�
+ this.cardlist[1].value =
Number(response.rows[0].wxsf) + Number(response.rows[0].xsf) || 0;
- // this.cardlist[1].value = response.rows[0].wzx;
- this.cardlist[1].value = response.rows[0].wxsf || 0;
this.ycvalue = response.rows[0].yc;
- 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.cardlist[2].value = response.rows[0].dsf || 0; // 寰呭畬鎴� = 寰呴殢璁�
+ this.cardlist[3].value = response.rows[0].ywc || 0; // 宸插畬鎴� = 宸查殢璁�
+ // 瀹屾垚鐜� = 宸插畬鎴� / (寰呭畬鎴� + 宸插畬鎴�)
+ const dsf = Number(response.rows[0].dsf) || 0;
+ const ywc = Number(response.rows[0].ywc) || 0;
+ const doneTotal = dsf + ywc;
+ this.cardlist[4].value =
+ doneTotal > 0 ? ((ywc / doneTotal) * 100).toFixed(2) + "%" : "0%";
this.yfsvalue = response.rows[0].yfs;
}
this.loading = false;
@@ -1459,7 +1423,7 @@
this.options = [];
}
},
- // 褰卞儚闅忚鐘舵�佷慨鏀�
+ // 褰卞儚澶勭悊鐘舵�佷慨鏀�
handleStatusChange(row) {
let text = row.status === "0" ? "鍚敤" : "鍋滅敤";
this.$modal
@@ -1874,8 +1838,8 @@
<style lang="scss" scoped>
.el-button--primary.is-plain {
color: #ffffff;
- background: #409eff;
- border-color: #4fabe9;
+ background: #5b7cfa;
+ border-color: #5b7cfa;
}
.document {
@@ -2071,4 +2035,75 @@
// font-size: 24px;
// }
// }
+/* ================= 娓呮柊楂樼骇绠�绾﹂ ================= */
+.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>
diff --git a/src/views/knowledge/education/compilequer/index.vue b/src/views/knowledge/education/compilequer/index.vue
index ef4061c..8b63b16 100644
--- a/src/views/knowledge/education/compilequer/index.vue
+++ b/src/views/knowledge/education/compilequer/index.vue
@@ -353,7 +353,7 @@
editorRef: null,
// 缂栬緫鍣ㄥ唴瀹�
- content: "<p>娴嬭瘯</p>",
+ content: "",
// 缂栬緫鍣ㄦā寮�
mode: "default",
diff --git a/src/views/patient/physical/index.vue b/src/views/patient/physical/index.vue
index 6dd11a9..0c2e8db 100644
--- a/src/views/patient/physical/index.vue
+++ b/src/views/patient/physical/index.vue
@@ -659,6 +659,8 @@
single: true,
// 闈炲涓鐢�
multiple: true,
+ jgvalue: 0,
+ orgname: "",
// 鏄剧ず鎼滅储鏉′欢
showSearch: true,
// 鎬绘潯鏁�
@@ -684,7 +686,7 @@
},
dynamicTags: ["閫夐」涓�", "閫夐」浜�", "閫夐」涓�"], //閫夐」
inputVisible: false,
- ycvalue: "",
+ ycvalue: 0,
yfsvalue: "",
inputValue: "",
preachform: "",
@@ -845,6 +847,7 @@
created() {
this.serviceState = store.getters.serviceState;
this.checkboxlist = store.getters.checkboxlist;
+ this.orgname = localStorage.getItem("orgname");
this.errtype = this.$route.query.errtype;
this.leavehospitaldistrictcode =
this.$route.query.leavehospitaldistrictcode;
diff --git a/src/views/patient/propaganda/Missioncreation.vue b/src/views/patient/propaganda/Missioncreation.vue
index 94b8b95..db38b79 100644
--- a/src/views/patient/propaganda/Missioncreation.vue
+++ b/src/views/patient/propaganda/Missioncreation.vue
@@ -297,7 +297,7 @@
</div>
<el-tag
v-for="tag in diagglist"
- @close="removediagg(tag.icd10code)"
+ @close="removediagg(tag)"
type="warning"
closable
:disable-transitions="false"
@@ -1761,20 +1761,23 @@
});
}
});
- taskdiaggetlist(this.queryParamsdept).then((res) => {
- if (res.code == 200) {
- let arr = res.rows;
- arr.forEach((item) => {
- getillnesslist({
- icdcode: item.icd10code,
- }).then((res) => {
- item.icdname = res.rows[0].icdname;
- this.diagglist.push(item);
+ taskdiaggetlist(this.queryParamsdept).then((res) => {
+ if (res.code == 200) {
+ let arr = res.rows;
+ arr.forEach((item) => {
+ if (localStorage.getItem("orgname") == "鍗楀崕澶у闄勫睘绗竴鍖婚櫌") {
+ item.icdname = item.icd10name;
+ this.diagglist.push(item);
+ } else {
+ getillnesslist({ icdcode: item.icd10code }).then((res) => {
+ item.icdname = res.rows[0].icdname;
+ this.diagglist.push(item);
+ });
+ }
+ this.illnesscodes.push(item.icd10code);
});
- this.illnesscodes.push(item.icd10code);
- });
- }
- });
+ }
+ });
taskopergetlist(this.queryParamsdept).then((res) => {
if (res.code == 200) {
let arr = res.rows;
@@ -1966,22 +1969,26 @@
}
},
// 鐤剧梾鍒犻櫎瑙﹀彂
- removediagg(row) {
- console.log(row, "row");
- console.log(this.diagglist, "this.diagglist");
+ removediagg(tag) {
+ // 浠诲姟缁勶細鏈湴鍒犻櫎鍗冲彲锛屽悗绔繚瀛樻椂缁熶竴鏇存柊
+ if (this.form.appltype == 5) {
+ this.diagglist = this.diagglist.filter((item) => item != tag);
+ return;
+ }
- let result = this.diagglist
- .filter((item) => item.icd10code == row)
- .map((item) => item.id);
- if (result.length) {
- taskdiaghospgetsondel(result).then((res) => {
+ // 鏅�氱柧鐥呭叧鑱旓細鍒ゆ柇鏄惁鏈� id锛堝凡淇濆瓨鐨勮褰曟墠鏈� id锛�
+ if (tag.id) {
+ // id 瀛樺湪锛岃皟鍚庣鎺ュ彛鍒犻櫎
+ taskdiaghospgetsondel([tag.id]).then((res) => {
if (res.code) {
- this.diagglist = this.diagglist.filter(
- (item) => item.icd10code != row
- );
+ this.diagglist = this.diagglist.filter((item) => item != tag);
this.$modal.msgSuccess("鍒犻櫎鎴愬姛");
}
});
+ } else {
+ // id 涓嶅瓨鍦紙鏈繚瀛樼殑鏂拌褰曪級锛岀洿鎺ユ湰鍦板垹闄�
+ this.diagglist = this.diagglist.filter((item) => item != tag);
+ this.$modal.msgSuccess("鍒犻櫎鎴愬姛");
}
},
/** 瀵煎叆鎸夐挳鎿嶄綔 */
diff --git a/src/views/patient/propaganda/QuestionnaireTask.vue b/src/views/patient/propaganda/QuestionnaireTask.vue
index 43ed363..b81f5a9 100644
--- a/src/views/patient/propaganda/QuestionnaireTask.vue
+++ b/src/views/patient/propaganda/QuestionnaireTask.vue
@@ -379,7 +379,7 @@
</div>
<el-tag
v-for="tag in diagglist"
- @close="removediagg(tag.icd10code)"
+ @close="removediagg(tag)"
type="warning"
closable
:disable-transitions="false"
@@ -713,7 +713,7 @@
</div>
<el-tag
v-for="tag in diagglist"
- @close="removediagg(tag.icd10code)"
+ @close="removediagg(tag)"
type="warning"
closable
:disable-transitions="false"
@@ -1745,6 +1745,7 @@
this.form.serviceType == 8 ||
this.form.serviceType == 12 ||
this.form.serviceType == 13 ||
+ this.form.serviceType == 20 ||
this.form.serviceType == 9
) {
this.checkboxlist = [
@@ -2170,7 +2171,7 @@
...item,
itemCode: code,
itemName: item.itemName || item.medicalName,
- manufacturerName: item.manufacturerName || item.medicalCompany
+ manufacturerName: item.manufacturerName || item.medicalCompany,
});
});
}
@@ -2183,7 +2184,7 @@
item.icdname = item.icd10name;
this.diagglist.push(item);
} else {
- getillnesslist({ icdname: item.icd10name }).then((res) => {
+ getillnesslist({ icdcode: item.icd10code }).then((res) => {
item.icdname = res.rows[0].icdname;
this.diagglist.push(item);
});
@@ -2234,25 +2235,26 @@
});
}
},
- removediagg(row) {
+ removediagg(tag) {
// 浠诲姟缁勶細鏈湴鍒犻櫎鍗冲彲锛屽悗绔繚瀛樻椂缁熶竴鏇存柊
if (this.form.appltype == 5) {
- this.diagglist = this.diagglist.filter((item) => item.icd10code != row);
+ this.diagglist = this.diagglist.filter((item) => item != tag);
return;
}
- // 鏅�氱柧鐥呭叧鑱旓細璋冨悗绔帴鍙i�愭潯鍒犻櫎
- let result = this.diagglist
- .filter((item) => item.icd10code == row)
- .map((item) => item.id);
- if (result.length) {
- taskdiaghospgetsondel(result).then((res) => {
+
+ // 鏅�氱柧鐥呭叧鑱旓細鍒ゆ柇鏄惁鏈� id锛堝凡淇濆瓨鐨勮褰曟墠鏈� id锛�
+ if (tag.id) {
+ // id 瀛樺湪锛岃皟鍚庣鎺ュ彛鍒犻櫎
+ taskdiaghospgetsondel([tag.id]).then((res) => {
if (res.code) {
- this.diagglist = this.diagglist.filter(
- (item) => item.icd10code != row
- );
+ this.diagglist = this.diagglist.filter((item) => item != tag);
this.$modal.msgSuccess("鍒犻櫎鎴愬姛");
}
});
+ } else {
+ // id 涓嶅瓨鍦紙鏈繚瀛樼殑鏂拌褰曪級锛岀洿鎺ユ湰鍦板垹闄�
+ this.diagglist = this.diagglist.filter((item) => item != tag);
+ this.$modal.msgSuccess("鍒犻櫎鎴愬姛");
}
},
remoteopcode(name) {
@@ -2272,12 +2274,14 @@
},
// 鍒犻櫎宸查�夎嵂鍝侊紙鍗曠嫭鎺ュ彛锛�
removeMedical(code) {
- taskmedicaldel({ medicalCode: code, taskId: this.form.taskid }).then((res) => {
- if (res.code == 200) {
- this.medicalCodes = this.medicalCodes.filter((c) => c !== code);
- this.$modal.msgSuccess("鍒犻櫎鎴愬姛");
+ taskmedicaldel({ medicalCode: code, taskId: this.form.taskid }).then(
+ (res) => {
+ if (res.code == 200) {
+ this.medicalCodes = this.medicalCodes.filter((c) => c !== code);
+ this.$modal.msgSuccess("鍒犻櫎鎴愬姛");
+ }
}
- });
+ );
},
// ---------- 鎮h�呴�夋嫨 ----------
diff --git a/src/views/patient/propaganda/index.vue b/src/views/patient/propaganda/index.vue
index 1a2a831..f1b9f34 100644
--- a/src/views/patient/propaganda/index.vue
+++ b/src/views/patient/propaganda/index.vue
@@ -373,7 +373,6 @@
</template>
</el-table-column> -->
<el-table-column
- fixed="right"
label="浠诲姟缁撴灉璁板綍"
width="120"
align="center"
@@ -394,7 +393,6 @@
</template>
</el-table-column>
<el-table-column
- fixed="right"
label="瀹f暀鏃堕棿"
sortable
align="center"
@@ -403,6 +401,17 @@
>
<template slot-scope="scope">
<span>{{ parseTime(scope.row.finishtime) }}</span>
+ </template>
+ </el-table-column>
+ <el-table-column fixed="right" label="鎿嶄綔" align="center" width="100">
+ <template slot-scope="scope">
+ <el-button
+ size="medium"
+ type="text"
+ icon="el-icon-view"
+ @click="previewTemplate(scope.row)"
+ >棰勮</el-button
+ >
</template>
</el-table-column>
<!-- <el-table-column
@@ -557,6 +566,10 @@
>
</span>
</el-dialog>
+ <!-- 瀹f暀妯℃澘棰勮 -->
+ <el-dialog title="妯℃澘棰勮" :visible.sync="previewtf" width="60%">
+ <div v-html="htmlRichText"></div>
+ </el-dialog>
</div>
</template>
@@ -570,10 +583,11 @@
resetUserPwd,
changeUserStatus,
} from "@/api/system/user";
-import { getTaskservelist } from "@/api/AiCentre/index";
+import { getTaskservelist, getlibrarylist } from "@/api/AiCentre/index";
import Treeselect from "@riophae/vue-treeselect";
import store from "@/store";
import "@riophae/vue-treeselect/dist/vue-treeselect.css";
+import axios from "axios";
export default {
name: "Discharge",
@@ -632,6 +646,8 @@
inputVisible: false,
inputValue: "",
previewVisible: false, //闂ㄨ瘖瀹f暀棰勮寮规
+ previewtf: false, //瀹f暀妯℃澘棰勮寮规
+ htmlRichText: "", //瀹f暀妯℃澘棰勮瀵屾枃鏈�
radio: "",
radios: [],
previewtype: 2, //棰勮闂ㄨ瘖瀹f暀绫诲瀷
@@ -847,8 +863,8 @@
store.getters.belongWards.map((obj) => obj.districtCode);
}
this.loading = true;
- console.log(this.topqueryParams.leavehospitaldistrictcodes,'123');
- console.log(this.topqueryParams.leaveldeptcodes,'344');
+ console.log(this.topqueryParams.leavehospitaldistrictcodes, "123");
+ console.log(this.topqueryParams.leaveldeptcodes, "344");
if (
this.topqueryParams.leavehospitaldistrictcodes[0] &&
@@ -878,6 +894,48 @@
// 鏌ョ湅闂ㄨ瘖瀹f暀璇︽儏
Referencequestion(row) {
this.previewVisible = true;
+ },
+ // 棰勮瀹f暀妯℃澘锛堥�氳繃 libtemplateid 鏌ヨ妯℃澘淇℃伅锛�
+ previewTemplate(row) {
+ if (!row.libtemplateid) {
+ this.$message.warning("璇ヤ换鍔℃湭鍏宠仈瀹f暀妯℃澘");
+ return;
+ }
+ this.htmlRichText = null;
+ this.previewtf = true;
+ getlibrarylist({ id: row.libtemplateid })
+ .then((res) => {
+ const tpl = (res.rows && res.rows[0]) || null;
+ if (!tpl || !tpl.htmlRichText) {
+ this.$message.warning("璇ユā鏉挎殏鏃犻瑙堝唴瀹�");
+ return;
+ }
+ axios
+ .get(tpl.htmlRichText)
+ .then((response) => {
+ this.htmlRichText = response.data;
+ this.htmlRichText = this.addStyleToImages(this.htmlRichText);
+ })
+ .catch(() => {
+ this.$message.error("鑾峰彇妯℃澘鍐呭澶辫触");
+ });
+ })
+ .catch(() => {
+ this.$message.error("鏌ヨ妯℃澘淇℃伅澶辫触");
+ });
+ },
+ // 淇瀵屾枃鏈浘鐗囪矾寰勪笌鏍峰紡
+ addStyleToImages(html) {
+ if (!html) return html;
+ let processedHtml = html.replace(
+ /\/aifollowup\/aifollowup\//g,
+ "/aifollowup/"
+ );
+ processedHtml = processedHtml.replace(
+ /<img([^>]*)style=(['"])(?:(?!\2).)*\2([^>]*)>/g,
+ '<img$1style="width:100%;height:auto;"$3>'
+ );
+ return processedHtml;
},
// 娣诲姞寮规鎼滅储
remoteMethod(query) {
@@ -1101,8 +1159,8 @@
<style lang="scss" scoped>
.el-button--primary.is-plain {
color: #ffffff;
- background: #409eff;
- border-color: #4fabe9;
+ background: #5b7cfa;
+ border-color: #5b7cfa;
}
.document {
@@ -1227,4 +1285,75 @@
// font-size: 24px;
// }
// }
+/* ================= 娓呮柊楂樼骇绠�绾﹂ ================= */
+.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>
diff --git a/src/views/patient/propaganda/particty.vue b/src/views/patient/propaganda/particty.vue
index 46d0f82..e189c1c 100644
--- a/src/views/patient/propaganda/particty.vue
+++ b/src/views/patient/propaganda/particty.vue
@@ -228,7 +228,9 @@
<el-option
v-for="item in medicalOptions"
:key="item.id"
- :label="item.itemName + ' (' + item.manufacturerName + ')'"
+ :label="
+ item.itemName + ' (' + item.manufacturerName + ')'
+ "
:value="item.itemCode"
/>
</el-select>
@@ -377,7 +379,7 @@
<el-tag
v-for="tag in diagglist"
:key="tag.icdcode"
- @close="removediagg(tag.icd10code)"
+ @close="removediagg(tag)"
type="warning"
closable
:disable-transitions="false"
@@ -710,7 +712,7 @@
</div>
<el-tag
v-for="tag in diagglist"
- @close="removediagg(tag.icd10code)"
+ @close="removediagg(tag)"
type="warning"
closable
:disable-transitions="false"
@@ -1764,6 +1766,7 @@
this.form.serviceType == 9 ||
this.form.serviceType == 11 ||
this.form.serviceType == 12 ||
+ this.form.serviceType == 20 ||
this.form.serviceType == 10
) {
this.checkboxlist = [
@@ -2159,7 +2162,7 @@
item.icdname = item.icd10name;
this.diagglist.push(item);
} else {
- this.diagglist.push(item);
+ this.diagglist.push(item);
}
this.illnesscodes.push(item.icd10code);
});
@@ -2181,7 +2184,7 @@
});
}
});
- taskdiaggetlist(this.queryParamsdept).then((res) => {
+ taskdiaggetlist(this.queryParamsdept).then((res) => {
if (res.code == 200) {
let arr = res.rows;
arr.forEach((item) => {
@@ -2189,7 +2192,8 @@
item.icdname = item.icd10name;
this.diagglist.push(item);
} else {
- getillnesslist({ icdname: item.icd10name }).then((res) => {
+
+ getillnesslist({ icdcode: item.icd10code }).then((res) => {
item.icdname = res.rows[0].icdname;
this.diagglist.push(item);
});
@@ -2209,7 +2213,7 @@
...item,
itemCode: code,
itemName: item.itemName || item.medicalName,
- manufacturerName: item.manufacturerName || item.medicalCompany
+ manufacturerName: item.manufacturerName || item.medicalCompany,
});
});
}
@@ -2255,43 +2259,51 @@
});
}
},
- removediagg(row) {
+ removediagg(tag) {
// 浠诲姟缁勶細鏈湴鍒犻櫎鍗冲彲锛屽悗绔繚瀛樻椂缁熶竴鏇存柊
if (this.form.appltype == 5) {
- this.diagglist = this.diagglist.filter((item) => item.icd10code != row);
+ this.diagglist = this.diagglist.filter((item) => item != tag);
return;
}
- // 鏅�氱柧鐥呭叧鑱旓細璋冨悗绔帴鍙i�愭潯鍒犻櫎
- let result = this.diagglist
- .filter((item) => item.icd10code == row)
- .map((item) => item.id);
- if (result.length) {
- taskdiaghospgetsondel(result).then((res) => {
+
+ // 鏅�氱柧鐥呭叧鑱旓細鍒ゆ柇鏄惁鏈� id锛堝凡淇濆瓨鐨勮褰曟墠鏈� id锛�
+ if (tag.id) {
+ // id 瀛樺湪锛岃皟鍚庣鎺ュ彛鍒犻櫎
+ taskdiaghospgetsondel([tag.id]).then((res) => {
if (res.code) {
- this.diagglist = this.diagglist.filter(
- (item) => item.icd10code != row
- );
+ this.diagglist = this.diagglist.filter((item) => item != tag);
this.$modal.msgSuccess("鍒犻櫎鎴愬姛");
}
});
+ } else {
+ // id 涓嶅瓨鍦紙鏈繚瀛樼殑鏂拌褰曪級锛岀洿鎺ユ湰鍦板垹闄�
+ this.diagglist = this.diagglist.filter((item) => item != tag);
+ this.$modal.msgSuccess("鍒犻櫎鎴愬姛");
}
},
remoteopcode(name) {
// 鍗犱綅
},
remoteSearchMedical(query) {
- if (!query) { this.medicalOptions = []; return; }
- listMedication({ itemName: query, pageNum: 1, pageSize: 20 }).then((res) => {
- this.medicalOptions = res.rows || [];
- });
+ if (!query) {
+ this.medicalOptions = [];
+ return;
+ }
+ listMedication({ itemName: query, pageNum: 1, pageSize: 20 }).then(
+ (res) => {
+ this.medicalOptions = res.rows || [];
+ }
+ );
},
removeMedical(code) {
- taskmedicaldel({ itemCode: code, taskid: this.form.taskid }).then((res) => {
- if (res.code == 200) {
- this.medicalCodes = this.medicalCodes.filter((c) => c !== code);
- this.$modal.msgSuccess("鍒犻櫎鎴愬姛");
+ taskmedicaldel({ itemCode: code, taskid: this.form.taskid }).then(
+ (res) => {
+ if (res.code == 200) {
+ this.medicalCodes = this.medicalCodes.filter((c) => c !== code);
+ this.$modal.msgSuccess("鍒犻櫎鎴愬姛");
+ }
}
- });
+ );
},
// ---------- 鎮h�呴�夋嫨 ----------
@@ -2821,7 +2833,7 @@
// 灏嗕富瀵硅薄鏀惧叆 form 鎻愪氦
}
if (this.form.appltype == 5) {
- console.log(this.form,'杩涘叆浠诲姟缁勯厤缃�');
+ console.log(this.form, "杩涘叆浠诲姟缁勯厤缃�");
this.form.serviceTaskScheduleVO.icd10codes = this.form.icd10code;
this.form.serviceTaskScheduleVO.wardCodes =
@@ -2858,7 +2870,9 @@
);
this.form.medicalCode = this.medicalCodes.join(",");
this.form.medicalName = selectedMeds.map((m) => m.itemName).join(",");
- this.form.medicalCompany = selectedMeds.map((m) => m.manufacturerName).join(",");
+ this.form.medicalCompany = selectedMeds
+ .map((m) => m.manufacturerName)
+ .join(",");
}
this.form.serviceType = this.serviceType;
@@ -2871,7 +2885,11 @@
.map((item) => item.icdname)
.join(",");
// 鐤剧梾/鎵嬫湳/鑽搧鍏宠仈鐨勭瀹�/鐥呭尯鏍¢獙
- if (this.form.appltype == 3 || this.form.appltype == 4 || this.form.appltype == 6) {
+ if (
+ this.form.appltype == 3 ||
+ this.form.appltype == 4 ||
+ this.form.appltype == 6
+ ) {
const hasDept = this.diseaseDept?.deptCode;
const hasWard = this.diseaseWard?.districtCode;
if (!hasDept && !hasWard) {
diff --git a/src/views/patient/questionnaire/index.vue b/src/views/patient/questionnaire/index.vue
index 27c0ef1..9197ccd 100644
--- a/src/views/patient/questionnaire/index.vue
+++ b/src/views/patient/questionnaire/index.vue
@@ -1,6 +1,6 @@
<template>
<div class="app-container">
- <div class="leftvlue" style="margin-bottom: 20px">
+ <!-- <div class="leftvlue" style="margin-bottom: 20px">
<el-row :gutter="10">
<el-col :span="2.5" v-for="(item, index) in cardlist" :key="index">
<el-card
@@ -61,7 +61,13 @@
</div>
</el-col>
</el-row>
- </div>
+ </div> -->
+ <statistics-cards
+ :cardlist="cardlist"
+ :ycvalue="ycvalue"
+ :jgvalue="jgvalue"
+ :show-warning-condition="orgname == '鐪佺珛鍚屽痉缈犺嫅闄㈠尯'"
+ />
<el-row :gutter="20">
<!--鐢ㄦ埛鏁版嵁-->
<el-form
@@ -139,7 +145,7 @@
<el-col :span="1.5">
<el-button
type="primary"
- icon="el-icon-plus"
+ icon="el-icon-plus"
size="medium"
@click="handleAdd"
>鏂板</el-button
@@ -221,7 +227,7 @@
width="120"
>
<template slot-scope="scope">
- <el-tooltip
+ <el-tooltip
class="item"
effect="dark"
:content="scope.row.remark"
@@ -393,7 +399,7 @@
prop="templatename"
width="200"
/>
- <el-table-column
+ <el-table-column
label="浠诲姟鐘舵��"
align="center"
key="sendstate"
@@ -681,13 +687,15 @@
} from "@/api/system/user";
import { getTaskservelist } from "@/api/AiCentre/index";
import Treeselect from "@riophae/vue-treeselect";
+import StatisticsCards from "@/components/StatisticsCards";
+
import store from "@/store";
import "@riophae/vue-treeselect/dist/vue-treeselect.css";
export default {
name: "Discharge",
dicts: ["sys_normal_disable", "sys_user_sex", "sys_yujing", "sys_suggest"],
- components: { Treeselect },
+ components: { Treeselect, StatisticsCards },
data() {
return {
// 閬僵灞�
@@ -696,6 +704,8 @@
ids: [],
// 闈炲崟涓鐢�
single: true,
+ jgvalue: 0,
+
// 闈炲涓鐢�
multiple: true,
// 鏄剧ず鎼滅储鏉′欢
@@ -723,7 +733,6 @@
},
dynamicTags: ["閫夐」涓�", "閫夐」浜�", "閫夐」涓�"], //閫夐」
inputVisible: false,
- ycvalue: "",
yfsvalue: "",
inputValue: "",
preachform: "",
@@ -739,6 +748,7 @@
},
value: [],
list: [],
+ orgname: "",
sourcetype: [
{
@@ -793,26 +803,39 @@
],
cardlist: [
{
- name: "鎮h�呮湇鍔℃�婚噺",
+ name: "鍑洪櫌鏈嶅姟鎬婚噺",
+ value: 0,
+ },
+ {
+ name: "鎮h�呰繃婊�",
+ value: 0,
+ },
+ {
+ name: "搴旈殢璁�",
value: 0,
},
+ // {
+ // name: "寮傚父",
+ // value: 0,
+ // },
{
- name: "鏃犻渶闅忚",
+ name: "鍙戦�佸け璐�",
value: 0,
},
{
- name: "闇�闅忚",
+ name: "寰呮墽琛�",
value: 0,
},
- {
- name: "寰呴殢璁�",
- value: 0,
- },
- {
- name: "宸插畬鎴�",
- value: 0,
- },
+ // {
+ // name: "宸插彂閫�",
+ // value: 0,
+ // },
+
+ // {
+ // name: "琛ㄥ崟宸插彂閫�",
+ // value: 0,
+ // },
],
// 琛ㄥ崟鍙傛暟
@@ -830,7 +853,7 @@
pageSize: 10,
serviceType: 7,
searchscope: 3,
- sendstate:2,
+ sendstate: 2,
scopetype: [],
leaveldeptcodes: [],
leavehospitaldistrictcodes: [],
@@ -838,7 +861,7 @@
propss: { multiple: true },
options: [],
- topicoptions: [
+ topicoptions: [
{
value: null,
label: "鍏ㄩ儴",
@@ -875,6 +898,9 @@
},
],
errtype: "",
+ ycvalue: 0,
+ jgvalue: 0,
+
leavehospitaldistrictcode: "",
serviceState: [],
checkboxlist: [],
@@ -889,6 +915,8 @@
this.errtype = this.$route.query.errtype;
this.leavehospitaldistrictcode =
this.$route.query.leavehospitaldistrictcode;
+ this.orgname = localStorage.getItem("orgname");
+
this.sourcetype[0].children = store.getters.belongDepts.map((dept) => {
return {
label: dept.deptName,
@@ -915,48 +943,69 @@
},
methods: {
/** 鏌ヨ闂ㄨ瘖闅忚鏈嶅姟鍒楄〃 */
- getList(refresh) {
+ async getList(refresh) {
// 榛樿鍏ㄩ儴
- if (this.topqueryParams.searchscope == 3) {
- this.topqueryParams.leaveldeptcodes = store.getters.belongDepts.map(
- (obj) => obj.deptCode
+ this.applyDeptWardScope();
+ if (this.endOut == 0) {
+ this.topqueryParams.endSendDateTime = this.formatDateToYYYYMMDDHHMMSS(
+ this.getEndOfDay()
);
- this.topqueryParams.leavehospitaldistrictcodes =
- store.getters.belongWards.map((obj) => obj.districtCode);
}
+
// 鎺ュ彈寮傚父璺宠浆
if (this.errtype) {
this.topqueryParams.leavehospitaldistrictcodes.push(
this.leavehospitaldistrictcode
);
- console.log(this.topqueryParams.leavehospitaldistrictcodes, "11");
}
+
this.loading = true;
- if (this.topqueryParams.leavehospitaldistrictcodes[0]&&this.topqueryParams.leaveldeptcodes[0]) {
- this.topqueryParams.deptOrDistrict=2;
- }else{
- this.topqueryParams.deptOrDistrict=1;
+
+ if (
+ this.topqueryParams.leavehospitaldistrictcodes[0] &&
+ this.topqueryParams.leaveldeptcodes[0]
+ ) {
+ this.topqueryParams.deptOrDistrict = 2;
+ } else {
+ this.topqueryParams.deptOrDistrict = 1;
}
if (!this.followupAuthority()) {
this.$message.warning("鏈厤缃瀹�/鐥呭尯鐩稿叧鏉冮檺涓嶅彲鏌ヨ");
+ this.loading = false;
return Promise.reject(new Error("鏃犳潈闄愭煡璇�"));
}
- getTaskservelist(this.topqueryParams).then((response) => {
+
+ try {
+ const response = await getTaskservelist(this.topqueryParams);
+
+ // 鉁� 绗竴姝ワ細鍏堥攣瀹氭仮澶嶇姸鎬�
+ this.isRestoring = true;
+
+ // 鉁� 绗簩姝ワ細鍐嶆洿鏂版暟鎹紙杩欎細瑙﹀彂 selection-change锛屼絾琚攣浣忎簡锛�
this.userList = response.rows[0].serviceSubtaskList;
this.total = response.total;
+
+ // 鉁� 绗笁姝ワ細鎭㈠閫変腑鐘舵��
+ // this.restoreSelection();
+ this.$nextTick(() => {
+ this.restoreSelection();
+ });
+
+ // 鉁� 绗洓姝ワ細澶勭悊鍏朵粬鏁版嵁
if (refresh) {
this.cardlist[0].value =
Number(response.rows[0].wxsf) + Number(response.rows[0].xsf) || 0;
- // this.cardlist[1].value = response.rows[0].wzx;
this.cardlist[1].value = response.rows[0].wxsf || 0;
- this.ycvalue = response.rows[0].yc;
+ 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;
}
- this.loading = false;
+
+ // 鉁� 绗簲姝ワ細澶勭悊 preachform 绛夊叾浠栨暟鎹�
this.userList.forEach((item) => {
let idArray = null;
if (item.endtime) {
@@ -964,23 +1013,36 @@
}
if (item.preachform) {
- if (item.endtime) {
- item.preachformson = item.preachform;
- idArray = item.preachform.split(",");
- }
+ item.preachformson = item.preachform;
+ idArray = item.preachform.split(",");
item.preachform = idArray.map((value) => {
- // 鏌ユ壘id瀵瑰簲鐨勫璞�
const item = this.checkboxlist.find(
(item) => item.value == value
);
- // 濡傛灉鎵惧埌瀵瑰簲鐨刬d锛岃繑鍥瀕abel鍊硷紝鍚﹀垯杩斿洖null
return item ? item.label : null;
});
}
+ if (item.currentPreachform) {
+ item.currentPreachform = this.checkboxlist.find(
+ (item) => item.value == item.currentPreachform
+ )?.value;
+ console.log(item.currentPreachform, "mi");
+ }
});
+
this.total = response.total;
- });
+ this.loading = false;
+
+ // 鉁� 绗叚姝ワ細瑙i攣
+ this.$nextTick(() => {
+ this.isRestoring = false;
+ });
+ } catch (error) {
+ console.error("鑾峰彇鍒楄〃澶辫触:", error);
+ this.loading = false;
+ this.isRestoring = false;
+ }
},
// 鏌ョ湅褰卞儚闅忚璇︽儏
Referencequestion(row) {
@@ -1111,7 +1173,7 @@
pageSize: 10,
serviceType: 7,
searchscope: 2,
- sendstate:2,
+ sendstate: 2,
};
this.handleQuery(1);
},
@@ -1250,9 +1312,9 @@
Seedetails(row) {
let type = "";
console.log(row, "rwo");
- if (row.type == 1) {
- type = 1;
- }
+ if (row.type == 1) {
+ type = 1;
+ }
this.$router.push({
path: "/followvisit/record/detailpage/",
query: {
@@ -1389,11 +1451,11 @@
}
}
::v-deep.leftvlue .el-card__body {
- background: #F2F8FF;
- color: #324A9B;
+ background: #f2f8ff;
+ color: #324a9b;
}
::v-deep.leftvlue .el-card__body:hover {
- background: #3664D9;
+ background: #3664d9;
color: #fff;
cursor: pointer; /* 榧犳爣鎮诞鏃跺彉涓烘墜褰� */
}
diff --git a/src/views/patient/shadow/index.vue b/src/views/patient/shadow/index.vue
index 96b8adc..7318a93 100644
--- a/src/views/patient/shadow/index.vue
+++ b/src/views/patient/shadow/index.vue
@@ -723,7 +723,7 @@
},
dynamicTags: ["閫夐」涓�", "閫夐」浜�", "閫夐」涓�"], //閫夐」
inputVisible: false,
- ycvalue: "",
+ ycvalue: 0,
yfsvalue: "",
inputValue: "",
preachform: "",
diff --git a/src/views/patient/subsequent/index.vue b/src/views/patient/subsequent/index.vue
index 77484f8..5da46dc 100644
--- a/src/views/patient/subsequent/index.vue
+++ b/src/views/patient/subsequent/index.vue
@@ -661,6 +661,8 @@
multiple: true,
// 鏄剧ず鎼滅储鏉′欢
showSearch: true,
+ jgvalue: 0,
+ orgname: "",
// 鎬绘潯鏁�
total: 0,
// 鐢ㄦ埛琛ㄦ牸鏁版嵁
@@ -684,7 +686,7 @@
},
dynamicTags: ["閫夐」涓�", "閫夐」浜�", "閫夐」涓�"], //閫夐」
inputVisible: false,
- ycvalue: "",
+ ycvalue: 0,
yfsvalue: "",
inputValue: "",
preachform: "",
@@ -846,6 +848,7 @@
this.serviceState = store.getters.serviceState;
this.checkboxlist = store.getters.checkboxlist;
this.errtype = this.$route.query.errtype;
+ this.orgname = localStorage.getItem("orgname");
this.leavehospitaldistrictcode =
this.$route.query.leavehospitaldistrictcode;
this.sourcetype[0].children = store.getters.belongDepts.map((dept) => {
diff --git a/src/views/patient/ycquestionnaire/index.vue b/src/views/patient/ycquestionnaire/index.vue
new file mode 100644
index 0000000..8d5ebba
--- /dev/null
+++ b/src/views/patient/ycquestionnaire/index.vue
@@ -0,0 +1,1298 @@
+<template>
+ <div class="app-container">
+ <statistics-cards
+ :cardlist="cardlist"
+ :ycvalue="ycvalue"
+ :jgvalue="jgvalue"
+ :show-warning-condition="orgname == '鐪佺珛鍚屽痉缈犺嫅闄㈠尯'"
+ />
+ <el-row :gutter="20">
+ <!--鐢ㄦ埛鏁版嵁-->
+ <el-form
+ :model="topqueryParams"
+ ref="queryForm"
+ size="small"
+ :inline="true"
+ v-show="showSearch"
+ label-width="98px"
+ >
+ <el-form-item label="浠诲姟鍚嶇О">
+ <el-input
+ v-model="topqueryParams.taskName"
+ placeholder="璇烽�夋嫨浠诲姟鍚嶇О"
+ ></el-input>
+ </el-form-item>
+
+ <el-form-item label="鍑洪櫌鏃堕棿">
+ <el-date-picker
+ v-model="dateRange"
+ style="width: 240px"
+ value-format="yyyy-MM-dd"
+ type="daterange"
+ range-separator="-"
+ start-placeholder="寮�濮嬫棩鏈�"
+ end-placeholder="缁撴潫鏃ユ湡"
+ ></el-date-picker>
+ </el-form-item>
+
+ <el-form-item label="鎮h�呭鍚�" prop="sendname">
+ <el-input
+ v-model="topqueryParams.sendname"
+ placeholder="璇疯緭鍏ユ偅鑰呭鍚�"
+ ></el-input>
+ </el-form-item>
+
+ <el-form-item label="鎮h�呰寖鍥�" prop="status">
+ <el-cascader
+ v-model="topqueryParams.scopetype"
+ placeholder="榛樿鍏ㄩ儴"
+ :options="sourcetype"
+ :props="{ expandTrigger: 'hover' }"
+ @change="handleChange"
+ ></el-cascader>
+ </el-form-item>
+
+ <el-form-item label="浠诲姟鐘舵��" prop="status">
+ <el-select v-model="topqueryParams.sendstate" placeholder="璇烽�夋嫨">
+ <el-option
+ v-for="item in topicoptions"
+ :key="item.value"
+ :label="item.label"
+ :value="item.value"
+ >
+ </el-option>
+ </el-select>
+ </el-form-item>
+
+ <el-form-item>
+ <el-button
+ type="primary"
+ icon="el-icon-search"
+ size="medium"
+ @click="handleQuery(1)"
+ >鎼滅储</el-button
+ >
+ <el-button icon="el-icon-refresh" size="medium" @click="resetQuery"
+ >閲嶇疆</el-button
+ >
+ </el-form-item>
+ </el-form>
+ <el-divider></el-divider>
+ <el-row :gutter="10" class="mb8">
+ <el-col :span="1.5">
+ <el-button
+ type="primary"
+ plain
+ icon="el-icon-plus"
+ size="medium"
+ @click="handleAdd"
+ >鏂板</el-button
+ >
+ </el-col>
+ <el-col :span="1.5">
+ <div class="documentf">
+ <div class="document">
+ <el-button
+ type="warning"
+ plain
+ icon="el-icon-upload2"
+ size="medium"
+ @click="handleExport"
+ v-hasPermi="['system:user:export']"
+ >瀵煎嚭</el-button
+ >
+ </div>
+ </div>
+ </el-col>
+ <el-col :span="1.5">
+ <div class="documentf">
+ <div class="document">
+ <el-button
+ type="warning"
+ plain
+ icon="el-icon-warning-outline"
+ size="medium"
+ @click="toleadExport(1)"
+ >鎵ц澶辫触</el-button
+ >
+ </div>
+ </div>
+ </el-col>
+ <el-col :span="1.5">
+ <div class="documentf">
+ <div class="document">
+ <el-button
+ type="danger"
+ plain
+ icon="el-icon-warning"
+ size="medium"
+ @click="toleadExport(2)"
+ >缁撴灉寮傚父</el-button
+ >
+ </div>
+ </div>
+ </el-col>
+ </el-row>
+ <el-table
+ v-loading="loading"
+ :data="userList"
+ height="660"
+ :row-class-name="tableRowClassName"
+ @selection-change="handleSelectionChange"
+ >
+ <el-table-column type="selection" width="50" align="center" />
+ <el-table-column
+ label="浠诲姟鍚嶇О"
+ fixed
+ align="center"
+ key="taskName"
+ prop="taskName"
+ width="180"
+ />
+ <!-- <el-table-column label="搴忓彿" fixed align="center" key="id" prop="id" /> -->
+ <el-table-column
+ label="濮撳悕"
+ fixed
+ align="center"
+ key="sendname"
+ prop="sendname"
+ />
+ <el-table-column
+ label="浠诲姟鐘舵��"
+ align="center"
+ key="sendstate"
+ prop="sendstate"
+ width="120"
+ >
+ <template slot-scope="scope">
+ <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="danger" :disable-transitions="false">宸插畬鎴�</el-tag>
+ </div>
+ </template>
+ </el-table-column>
+ <!-- <el-table-column
+ label="浠诲姟寮傚父璇存槑"
+ width="120"
+ align="center"
+ key="remark"
+ prop="remark" -->
+ />
+
+ <el-table-column
+ label="浜哄伐澶勭悊鎰忚"
+ align="center"
+ key="suggest"
+ prop="suggest"
+ width="120"
+ >
+ <template slot-scope="scope">
+ <dict-tag
+ :options="dict.type.sys_suggest"
+ :value="scope.row.suggest"
+ />
+ </template>
+ </el-table-column>
+ <el-table-column
+ label="闅忚浜哄憳"
+ align="center"
+ key="createBy"
+ prop="createBy"
+ width="120"
+ />
+ <el-table-column
+ label="闅忚鏃堕棿"
+ sortable
+ align="center"
+ prop="finishtime"
+ width="160"
+ >
+ <template slot-scope="scope">
+ <span>{{ parseTime(scope.row.finishtime) }}</span>
+ </template>
+ </el-table-column>
+ <el-table-column
+ label="鍑洪櫌鏃ユ湡"
+ width="200"
+ align="center"
+ key="endtime"
+ prop="endtime"
+ >
+ <template slot-scope="scope">
+ <span>{{ formatTime(scope.row.endtime) }}</span>
+ </template></el-table-column
+ >
+ <el-table-column
+ label="搴旈殢璁挎棩鏈�"
+ width="200"
+ align="center"
+ key="longSendTime"
+ prop="longSendTime"
+ >
+ <template slot-scope="scope">
+ <span>{{ formatTime(scope.row.longSendTime) }}</span>
+ </template></el-table-column
+ >
+ <el-table-column
+ label="鍑洪櫌澶╂暟"
+ width="120"
+ align="center"
+ key="endDay"
+ prop="endDay"
+ >
+ <template slot-scope="scope">
+ <span>{{ scope.row.endDay ? scope.row.endDay + "澶�" : "" }}</span>
+ </template>
+ </el-table-column>
+ <el-table-column
+ label="韬唤璇佸彿鐮�"
+ width="200"
+ align="center"
+ key="sfzh"
+ prop="sfzh"
+ />
+ <el-table-column
+ label="鑱旂郴鐢佃瘽"
+ width="200"
+ align="center"
+ key="phone"
+ prop="phone"
+ />
+ <el-table-column
+ label="璐d换鎶ゅ+"
+ width="120"
+ align="center"
+ key="nurseName"
+ prop="nurseName"
+ />
+ <el-table-column
+ label="涓绘不鍖荤敓"
+ width="120"
+ align="center"
+ key="drname"
+ prop="drname"
+ />
+
+ <!-- <el-table-column
+ label="鐥呭巻鍙�"
+ align="center"
+ sortable
+ key="medicalRecordNo"
+ prop="medicalRecordNo"
+ width="120"
+ /> -->
+
+ <!-- <el-table-column label="骞撮緞" align="center" key="age" prop="age" /> -->
+ <!-- <el-table-column label="鎬у埆" align="center" key="sex" prop="sex" /> -->
+ <!-- <el-table-column label="搴婂彿" align="center" key="badNo" prop="badNo" /> -->
+ <el-table-column
+ label="绉戝"
+ align="center"
+ key="deptname"
+ prop="deptname"
+ width="120"
+ >
+ </el-table-column>
+ <el-table-column
+ label="鐥呭尯"
+ align="center"
+ key="leavehospitaldistrictname"
+ prop="leavehospitaldistrictname"
+ width="120"
+ >
+ </el-table-column>
+
+ <!-- <el-table-column
+ label="鐤剧梾鍚嶇О"
+ align="center"
+ key="icdName"
+ prop="icdName"
+ width="120"
+ :show-overflow-tooltip="true"
+ >
+ </el-table-column> -->
+
+ <el-table-column
+ label="鍑洪櫌闅忚妯℃澘鍚嶇О"
+ align="center"
+ key="templatename"
+ prop="templatename"
+ width="200"
+ />
+ <el-table-column
+ label="浠诲姟鎵ц鏂瑰紡"
+ align="center"
+ key="preachform"
+ prop="preachform"
+ width="160"
+ :show-overflow-tooltip="true"
+ >
+ <template slot-scope="scope">
+ <span v-for="item in scope.row.preachform">{{ item }}銆� </span>
+ </template>
+ </el-table-column>
+ <!-- <el-table-column
+ label="浠诲姟鍙戦�佹祦绋�"
+ align="center"
+ key="serviceSubtaskRecordList"
+ prop="serviceSubtaskRecordList"
+ width="160"
+ :show-overflow-tooltip="true"
+ >
+ <template slot-scope="scope">
+ <span v-for="item in scope.row.serviceSubtaskRecordList"
+ >{{ item.remark }}銆�
+ </span>
+ </template>
+ </el-table-column> -->
+ <el-table-column
+ label="浠诲姟缁撴灉璇存槑"
+ width="200"
+ align="center"
+ key="remark"
+ prop="remark"
+ >
+ <template slot-scope="scope" v-if="scope.row.remark">
+ <el-tag
+ type="warning"
+ v-if="scope.row.sendstate != 5 && scope.row.sendstate != 4"
+ >{{ scope.row.remark }}</el-tag
+ >
+ <el-tag type="warning" v-else>{{ scope.row.remark }}</el-tag>
+ </template>
+ </el-table-column>
+ <el-table-column
+ label="鎿嶄綔"
+ align="center"
+ fixed="right"
+ width="200"
+ class-name="small-padding fixed-width"
+ >
+ <template slot-scope="scope">
+ <!-- <el-tooltip
+ class="item"
+ effect="dark"
+ content="閲嶆柊闅忚"
+ placement="top"
+ >
+ <el-button
+ size="medium"
+ type="text"
+ @click="followupvisit(scope.row)"
+ v-hasPermi="['system:user:edit']"
+ ><span class="button-bb"
+ ><i class="el-icon-s-promotion"></i></span
+ ></el-button>
+ </el-tooltip> -->
+ <!-- <el-tooltip
+ class="item"
+ effect="dark"
+ content="鍋滄"
+ placement="top"
+ >
+ <el-button
+ size="medium"
+ type="text"
+ @click="handlestop(scope.row)"
+ v-hasPermi="['system:user:edit']"
+ ><span class="button-sc"><i class="el-icon-delete"></i></span
+ ></el-button>
+ </el-tooltip> -->
+ <el-button size="medium" type="text" @click="Seedetails(scope.row)"
+ ><span class="button-zx"
+ ><i class="el-icon-s-order"></i>鏌ョ湅璇︽儏</span
+ ></el-button
+ >
+ </template>
+ </el-table-column>
+ </el-table>
+
+ <pagination
+ v-show="total > 0"
+ :total="total"
+ :page.sync="topqueryParams.pageNum"
+ :limit.sync="topqueryParams.pageSize"
+ @pagination="getList"
+ />
+ </el-row>
+ <!-- 娣诲姞鎴栦慨鏀归棬璇婇殢璁垮璇濇 -->
+ <el-dialog
+ :title="title"
+ :visible.sync="addalteropen"
+ width="700px"
+ append-to-body
+ >
+ <el-form ref="form" :model="form" label-width="100px">
+ <el-row :gutter="20">
+ <el-col :span="12"
+ ><el-form-item label="浠诲姟鍚嶇О">
+ <el-input v-model="form.name"></el-input> </el-form-item
+ ></el-col>
+ </el-row>
+ <el-row :gutter="20">
+ <el-col :span="24"
+ ><el-form-item label="鎵�灞炵瀹�">
+ <el-select v-model="form.region" placeholder="璇烽�夋嫨绉戝">
+ <el-option label="鍖哄煙涓�" value="shanghai"></el-option>
+ <el-option label="鍖哄煙浜�" value="beijing"></el-option>
+ </el-select> </el-form-item></el-col
+ ></el-row>
+ <el-row :gutter="20">
+ <el-col :span="24"
+ ><el-form-item label="闅忚绫诲瀷">
+ <el-select v-model="form.region" placeholder="璇烽�夋嫨闅忚绫诲瀷">
+ <el-option label="鍖哄煙涓�" value="shanghai"></el-option>
+ <el-option label="鍖哄煙浜�" value="beijing"></el-option>
+ </el-select> </el-form-item
+ ></el-col>
+ </el-row>
+ <el-row :gutter="20">
+ <el-col :span="24">
+ <el-form-item label="鏈嶅姟妯″潡">
+ <el-select v-model="form.region" placeholder="璇烽�夋嫨妯″潡">
+ <el-option label="鍖哄煙涓�" value="shanghai"></el-option>
+ <el-option label="鍖哄煙浜�" value="beijing"></el-option>
+ </el-select>
+ </el-form-item>
+ </el-col>
+ </el-row>
+ <el-row :gutter="20">
+ <el-col :span="24">
+ <el-form-item label="闂ㄨ瘖闅忚瑕佹眰">
+ <el-input type="textarea" v-model="form.desc"></el-input>
+ </el-form-item>
+ </el-col>
+ </el-row>
+ </el-form>
+ <div slot="footer" class="dialog-footer">
+ <el-button type="primary" @click="submitForm">鎻� 浜�</el-button>
+ <el-button @click="cancel">杩� 鍥�</el-button>
+ </div>
+ </el-dialog>
+ <!-- 淇敼鍙戦�佹椂闂村璇濇 -->
+ <el-dialog
+ title="鍙戦�佹椂闂磋缃�"
+ :visible.sync="modificationVisible"
+ width="45%"
+ >
+ <div style="margin-bottom: 20px; color: red">
+ 缁熶竴淇敼褰撳ぉ鏈彂閫佺殑浠诲姟鏃堕棿
+ </div>
+
+ <el-form
+ :model="ruleForm"
+ :rules="rules"
+ ref="ruleForm"
+ label-width="120px"
+ class="demo-ruleForm"
+ >
+ <el-form-item label="鍙戦�佹棩鏈�">
+ <el-date-picker
+ v-model="ruleForm.value1"
+ type="date"
+ placeholder="閫夋嫨鏃ユ湡"
+ >
+ </el-date-picker>
+ </el-form-item>
+
+ <el-form-item label="鏃堕棿娈�" prop="type">
+ <el-checkbox-group v-model="ruleForm.type">
+ <el-checkbox label="涓婂崍" name="type"></el-checkbox>
+ <el-checkbox label="涓嬪崍" name="type"></el-checkbox>
+ <el-checkbox label="鏅氫笂" name="type"></el-checkbox>
+ </el-checkbox-group>
+ </el-form-item>
+ <el-form-item label="涓婂崍鏃堕棿鍖洪棿" required>
+ <el-time-picker
+ is-range
+ v-model="ruleForm.value2"
+ range-separator="鑷�"
+ start-placeholder="寮�濮嬫椂闂�"
+ end-placeholder="缁撴潫鏃堕棿"
+ placeholder="閫夋嫨鏃堕棿鑼冨洿"
+ >
+ </el-time-picker>
+ </el-form-item>
+ <el-form-item label="涓嬪崍鏃堕棿鍖洪棿" required>
+ <el-time-picker
+ is-range
+ v-model="ruleForm.value3"
+ range-separator="鑷�"
+ start-placeholder="寮�濮嬫椂闂�"
+ end-placeholder="缁撴潫鏃堕棿"
+ placeholder="閫夋嫨鏃堕棿鑼冨洿"
+ >
+ </el-time-picker>
+ </el-form-item>
+ <el-form-item label="鏅氫笂鏃堕棿鍖洪棿" required>
+ <el-time-picker
+ is-range
+ v-model="ruleForm.value4"
+ range-separator="鑷�"
+ start-placeholder="寮�濮嬫椂闂�"
+ end-placeholder="缁撴潫鏃堕棿"
+ placeholder="閫夋嫨鏃堕棿鑼冨洿"
+ >
+ </el-time-picker>
+ </el-form-item>
+ </el-form>
+
+ <span slot="footer" class="dialog-footer">
+ <el-button @click="modificationVisible = false">鍙� 娑�</el-button>
+ <el-button type="primary" @click="modificationVisible = false"
+ >纭� 瀹�</el-button
+ >
+ </span>
+ </el-dialog>
+ </div>
+</template>
+
+<script>
+import {
+ listUser,
+ getUser,
+ delUser,
+ addUser,
+ updateUser,
+ resetUserPwd,
+ changeUserStatus,
+} from "@/api/system/user";
+import { getTaskservelist } from "@/api/AiCentre/index";
+import Treeselect from "@riophae/vue-treeselect";
+import store from "@/store";
+import "@riophae/vue-treeselect/dist/vue-treeselect.css";
+import StatisticsCards from "@/components/StatisticsCards";
+
+export default {
+ name: "Discharge",
+ dicts: ["sys_normal_disable", "sys_user_sex", "sys_yujing", "sys_suggest"],
+ components: { Treeselect, StatisticsCards },
+ data() {
+ return {
+ // 閬僵灞�
+ loading: true,
+ // 閫変腑鏁扮粍
+ ids: [],
+ // 闈炲崟涓鐢�
+ single: true,
+ // 闈炲涓鐢�
+ multiple: true,
+ // 鏄剧ず鎼滅储鏉′欢
+ showSearch: true,
+ jgvalue: 0,
+ // 鎬绘潯鏁�
+ total: 0,
+ // 鐢ㄦ埛琛ㄦ牸鏁版嵁
+ userList: null,
+ // 寮瑰嚭灞傛爣棰�
+ title: "鏂板闂ㄨ瘖闅忚",
+ // 鏄惁鏄剧ず淇敼銆佹坊鍔犲脊鍑哄眰
+ addalteropen: false,
+ // 淇敼鍙戦�佹椂闂村璇濇
+ modificationVisible: false,
+ // 閮ㄩ棬鍚嶇О
+ deptName: undefined,
+ // 榛樿瀵嗙爜
+ initPassword: undefined,
+ // 鏃ユ湡鑼冨洿
+ dateRange: [],
+ // 宀椾綅閫夐」
+ postOptions: [],
+ ruleForm: {
+ type: [],
+ },
+ ycvalue: 0,
+ jgvalue: 0,
+ dynamicTags: ["閫夐」涓�", "閫夐」浜�", "閫夐」涓�"], //閫夐」
+ inputVisible: false,
+ yfsvalue: "",
+ inputValue: "",
+ preachform: "",
+ previewVisible: false, //闂ㄨ瘖闅忚棰勮寮规
+ radio: "",
+ radios: [],
+ previewtype: 2, //棰勮闂ㄨ瘖闅忚绫诲瀷
+ total: 0, // 鎬绘潯鏁�
+ ImportQuantity: 999, //瀵奸棬璇婇殢璁挎暟閲�
+ //棰勮闂ㄨ瘖闅忚淇℃伅
+ previewvalue: {
+ username: "杩欎釜鍖荤敓瀵逛綘鎬庝箞鏍�",
+ },
+ value: [],
+ list: [],
+ orgname: "",
+
+ sourcetype: [
+ {
+ value: 1,
+ label: "绉戝",
+ children: [],
+ },
+ {
+ value: 2,
+ label: "鐥呭尯",
+ children: [],
+ },
+ {
+ value: 3,
+ label: "鍏ㄩ儴",
+ },
+ ],
+ loading: false,
+ cardlist: [
+ {
+ name: "鍑洪櫌鏈嶅姟鎬婚噺",
+ value: 0,
+ },
+ {
+ name: "鎮h�呰繃婊�",
+ value: 0,
+ },
+ {
+ name: "搴旈殢璁�",
+ value: 0,
+ },
+
+ // {
+ // name: "寮傚父",
+ // value: 0,
+ // },
+ {
+ name: "鍙戦�佸け璐�",
+ value: 0,
+ },
+ {
+ name: "寰呮墽琛�",
+ value: 0,
+ },
+ // {
+ // name: "宸插彂閫�",
+ // value: 0,
+ // },
+
+ // {
+ // name: "琛ㄥ崟宸插彂閫�",
+ // value: 0,
+ // },
+ ],
+
+ // 琛ㄥ崟鍙傛暟
+ form: {
+ phonenumber: "",
+ totagid: "",
+ types: "",
+ nickName: "",
+ qystatus: "",
+ btstatus: "",
+ },
+ // 鏌ヨ鍙傛暟
+ topqueryParams: {
+ pageNum: 1,
+ pageSize: 10,
+ serviceType: 20,
+ searchscope: 3,
+ scopetype: [],
+ leaveldeptcodes: [],
+ leavehospitaldistrictcodes: [],
+ },
+ propss: { multiple: true },
+ options: [],
+
+ topicoptions: [
+ {
+ value: 1,
+ label: "琛ㄥ崟宸查鍙�",
+ },
+ {
+ value: 2,
+ label: "寰呮墽琛�",
+ },
+ {
+ value: 3,
+ label: "琛ㄥ崟宸插彂閫�",
+ },
+ {
+ value: 4,
+ label: "涓嶆墽琛�",
+ },
+ {
+ value: 5,
+ label: "鍙戦�佸け璐�",
+ },
+ {
+ value: 6,
+ label: "宸插畬鎴�",
+ },
+ ],
+ topicoptionsyj: [
+ {
+ value: 1,
+ label: "寮傚父",
+ },
+ {
+ value: 0,
+ label: "姝e父",
+ },
+ ],
+ errtype: "",
+ leavehospitaldistrictcode: "",
+ serviceState: [],
+ checkboxlist: [],
+ // 琛ㄥ崟鏍¢獙
+ rules: {},
+ };
+ },
+ watch: {},
+ created() {
+ this.serviceState = store.getters.serviceState;
+ this.checkboxlist = store.getters.checkboxlist;
+ this.errtype = this.$route.query.errtype;
+ this.leavehospitaldistrictcode =
+ this.$route.query.leavehospitaldistrictcode;
+ this.orgname = localStorage.getItem("orgname");
+
+ this.sourcetype[0].children = store.getters.belongDepts.map((dept) => {
+ return {
+ label: dept.deptName,
+ value: dept.deptCode,
+ };
+ });
+ this.sourcetype[1].children = store.getters.belongWards.map((dept) => {
+ return {
+ label: dept.districtName,
+ value: dept.districtCode,
+ };
+ });
+ if (this.errtype) {
+ this.toleadExport(2);
+ } else {
+ this.getList(1);
+ }
+ this.getConfigKey("sys.user.initPassword").then((response) => {
+ this.initPassword = response.msg;
+ });
+ },
+ activated() {
+ this.getList(1);
+ },
+ methods: {
+ /** 鏌ヨ闂ㄨ瘖闅忚鏈嶅姟鍒楄〃 */
+ getList(refresh) {
+ // 榛樿鍏ㄩ儴
+ if (this.topqueryParams.searchscope == 3) {
+ 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(
+ this.leavehospitaldistrictcode
+ );
+ console.log(this.topqueryParams.leavehospitaldistrictcodes, "11");
+ }
+ this.loading = true;
+ getTaskservelist(this.topqueryParams).then((response) => {
+ this.userList = response.rows[0].serviceSubtaskList;
+ this.total = response.total;
+ if (refresh) {
+ this.cardlist[0].value =
+ Number(response.rows[0].wzx) + Number(response.rows[0].ysf);
+ this.cardlist[1].value = response.rows[0].wzx;
+ this.cardlist[2].value = response.rows[0].ysf;
+ this.ycvalue = response.rows[0].yc;
+ this.cardlist[3].value = response.rows[0].fssb;
+ this.cardlist[4].value = response.rows[0].dsf;
+ // this.cardlist[5].value = response.rows[0].yfs2;
+ this.yfsvalue = response.rows[0].yfs;
+ }
+ this.loading = false;
+ this.userList.forEach((item) => {
+ let idArray = null;
+ if (item.endtime) {
+ item.endDay = this.daysBetween(item.endtime);
+ }
+
+ if (item.preachform) {
+ if (item.endtime) {
+ item.preachformson = item.preachform;
+ idArray = item.preachform.split(",");
+ }
+
+ item.preachform = idArray.map((value) => {
+ // 鏌ユ壘id瀵瑰簲鐨勫璞�
+ const item = this.checkboxlist.find(
+ (item) => item.value == value
+ );
+ // 濡傛灉鎵惧埌瀵瑰簲鐨刬d锛岃繑鍥瀕abel鍊硷紝鍚﹀垯杩斿洖null
+ return item ? item.label : null;
+ });
+ }
+ });
+ this.total = response.total;
+ });
+ },
+ // 鏌ョ湅闂ㄨ瘖闅忚璇︽儏
+ Referencequestion(row) {
+ this.previewVisible = true;
+ },
+ // 娣诲姞寮规鎼滅储
+ remoteMethod(query) {
+ if (query !== "") {
+ this.loading = true;
+ setTimeout(() => {
+ this.loading = false;
+ this.options = this.list.filter((item) => {
+ return item.label.toLowerCase().indexOf(query.toLowerCase()) > -1;
+ });
+ }, 200);
+ } else {
+ this.options = [];
+ }
+ },
+ // 闂ㄨ瘖闅忚鐘舵�佷慨鏀�
+ handleStatusChange(row) {
+ let text = row.status === "0" ? "鍚敤" : "鍋滅敤";
+ this.$modal
+ .confirm('纭瑕�"' + text + '""' + row.userName + '"鐢ㄦ埛鍚楋紵')
+ .then(function () {
+ return changeUserStatus(row.userId, row.status);
+ })
+ .then(() => {
+ this.$modal.msgSuccess(text + "鎴愬姛");
+ })
+ .catch(function () {
+ row.status = row.status === "0" ? "1" : "0";
+ });
+ },
+ // 鍙栨秷鎸夐挳
+ cancel() {
+ this.addalteropen = false;
+ this.reset();
+ },
+ // 琛ㄥ崟閲嶇疆
+ reset() {
+ this.form = {
+ userId: undefined,
+ deptId: undefined,
+ userName: undefined,
+ nickName: undefined,
+ password: undefined,
+ phonenumber: undefined,
+ email: undefined,
+ sex: undefined,
+ status: "0",
+ remark: undefined,
+ postIds: [],
+ roleIds: [],
+ };
+ this.resetForm("form");
+ },
+ /** 鎼滅储鎸夐挳鎿嶄綔 */
+ handleQuery(refresh) {
+ if (this.topqueryParams.searchscope == 3) {
+ this.topqueryParams.leaveldeptcodes = store.getters.belongDepts.map(
+ (obj) => obj.deptCode
+ );
+ this.topqueryParams.leavehospitaldistrictcodes =
+ store.getters.belongWards.map((obj) => obj.districtCode);
+ }
+ this.topqueryParams.pageNum = 1;
+ this.topqueryParams.startOutHospTime = this.dateRange[0];
+ this.topqueryParams.endOutHospTime = this.dateRange[1];
+
+ this.getList(refresh);
+ },
+ // 鎮h�呰寖鍥村鐞�
+ handleChange(value) {
+ let type = value[0];
+ let code = value.slice(-1)[0];
+ this.topqueryParams.leavehospitaldistrictcodes = [];
+ this.topqueryParams.leaveldeptcodes = [];
+
+ if (type == 1) {
+ this.topqueryParams.leaveldeptcodes.push(code);
+ this.topqueryParams.leavehospitaldistrictcodes = [];
+ this.topqueryParams.searchscope = 1;
+ } else if (type == 2) {
+ this.topqueryParams.leavehospitaldistrictcodes.push(code);
+ this.topqueryParams.leaveldeptcodes = [];
+ this.topqueryParams.searchscope = 2;
+ } else {
+ this.topqueryParams.searchscope = 3;
+ }
+ },
+ /** 閲嶇疆鎸夐挳鎿嶄綔 */
+ resetQuery() {
+ this.dateRange = [];
+ this.topqueryParams = {
+ pageNum: 1,
+ pageSize: 10,
+ serviceType: 20,
+ searchscope: 2,
+ };
+ this.handleQuery(1);
+ },
+ // 澶氶�夋閫変腑鏁版嵁
+ handleSelectionChange(selection) {
+ this.ids = selection.map((item) => item.userId);
+ this.single = selection.length != 1;
+ this.multiple = !selection.length;
+ },
+ //鍒犻櫎閫夐」
+ handleClose(tag) {
+ this.dynamicTags.splice(this.dynamicTags.indexOf(tag), 1);
+ },
+ //瑙﹀彂鏂板杈撳叆
+ showInput() {
+ this.inputVisible = true;
+ this.$nextTick((_) => {
+ this.$refs.saveTagInput.$refs.input.focus();
+ });
+ },
+ //鑾峰彇澶卞幓鐒︾偣瑙﹀彂
+ handleInputConfirm() {
+ let inputValue = this.inputValue;
+ if (inputValue) {
+ this.dynamicTags.push(inputValue);
+ }
+ this.inputVisible = false;
+ this.inputValue = "";
+ },
+ /** 鏂板鎸夐挳鎿嶄綔 */
+ handleAdd() {
+ this.$router.push({
+ path: "/followvisit/QuestionnaireTask",
+ query: {
+ type: 2,
+ serviceType: 20,
+ },
+ });
+ },
+
+ /** 閲嶇疆瀵嗙爜鎸夐挳鎿嶄綔 */
+ handleResetPwd(row) {
+ this.$prompt('璇疯緭鍏�"' + row.userName + '"鐨勬柊瀵嗙爜', "鎻愮ず", {
+ confirmButtonText: "纭畾",
+ cancelButtonText: "鍙栨秷",
+ closeOnClickModal: false,
+ inputPattern: /^.{5,20}$/,
+ inputErrorMessage: "鐢ㄦ埛瀵嗙爜闀垮害蹇呴』浠嬩簬 5 鍜� 20 涔嬮棿",
+ })
+ .then(({ value }) => {
+ resetUserPwd(row.userId, value).then((response) => {
+ this.$modal.msgSuccess("淇敼鎴愬姛锛屾柊瀵嗙爜鏄細" + value);
+ });
+ })
+ .catch(() => {});
+ },
+
+ /** 鎻愪氦鎸夐挳 */
+ submitForm: function () {
+ this.$refs["form"].validate((valid) => {
+ if (valid) {
+ if (this.form.userId != undefined) {
+ updateUser(this.form).then((response) => {
+ this.$modal.msgSuccess("淇敼鎴愬姛");
+ this.open = false;
+ this.getList(1);
+ });
+ } else {
+ addUser(this.form).then((response) => {
+ this.$modal.msgSuccess("鏂板鎴愬姛");
+ this.open = false;
+ this.getList(1);
+ });
+ }
+ }
+ });
+ },
+ /** 鍒犻櫎鎸夐挳鎿嶄綔 */
+ handleDelete(row) {
+ const userIds = row.userId || this.ids;
+ this.$modal
+ .confirm('鏄惁纭鍒犻櫎鐢ㄦ埛缂栧彿涓�"' + userIds + '"鐨勬暟鎹」锛�')
+ .then(function () {
+ return delUser(userIds);
+ })
+ .then(() => {
+ this.getList(1);
+ this.$modal.msgSuccess("鍒犻櫎鎴愬姛");
+ })
+ .catch(() => {});
+ },
+ // 鍏ㄩ儴鍋滄
+ AllStop() {
+ this.$modal
+ .confirm("鏄惁鍋滄鍏ㄩ儴浠诲姟锛�")
+ .then(function () {
+ return console.log("鍋滄鎴愬姛");
+ })
+ .then(() => {
+ this.getList(1);
+ this.$modal.msgWarning("鍋滄鎴愬姛");
+ })
+ .catch(() => {});
+ },
+ // 鍏ㄩ儴寮�濮�
+ AllStarted() {
+ this.$modal
+ .confirm("鏄惁寮�鍚叏閮ㄤ换鍔★紵")
+ .then(function () {
+ return console.log("寮�鍚垚鍔�");
+ })
+ .then(() => {
+ this.getList(1);
+ this.$modal.msgSuccess("寮�鍚垚鍔�");
+ })
+ .catch(() => {});
+ },
+ // 浠诲姟閲嶇疆
+ TaskReset() {
+ this.$modal
+ .confirm("鏄惁閲嶇疆閫変腑鐨勪换鍔¢」锛�")
+ .then(function () {
+ return console.log("閫変腑鎴愬姛");
+ })
+ .then(() => {
+ this.getList(1);
+ this.$modal.msgSuccess("閲嶇疆鎴愬姛");
+ })
+ .catch(() => {});
+ },
+ // 璁剧疆鍙戦�佹椂闂�
+ Sendtimesetting() {
+ this.modificationVisible = true;
+ },
+ // 璺宠浆璇︽儏椤�
+ Seedetails(row) {
+ let type = "";
+ console.log(row, "rwo");
+ if (row.preachformson) {
+ if (row.preachformson.includes("3")) {
+ type = 1;
+ console.log(type, "rwo");
+ }
+ }
+ this.$router.push({
+ path: "/followvisit/record/detailpage/",
+ query: {
+ taskid: row.taskid,
+ patid: row.patid,
+ id: row.id,
+ Voicetype: type,
+ },
+ });
+ },
+ // 渚挎嵎鎸夐挳
+ toleadExport(too) {
+ if (too == 1) {
+ this.topqueryParams.sendstate = 4;
+ this.topqueryParams.excep = null;
+ } else if (too == 2) {
+ this.topqueryParams.excep = 1;
+ }
+ this.handleQuery();
+ },
+ /** 瀵煎嚭鎸夐挳鎿嶄綔 */
+ handleExport() {
+ this.topqueryParams.pageNum = null;
+ this.topqueryParams.pageSize = null;
+ this.download(
+ "smartor/serviceSubtask/export",
+ {
+ ...this.topqueryParams,
+ },
+ `user_${new Date().getTime()}.xlsx`
+ );
+ },
+ // 寮傚父鍒楁覆鏌�
+ tableRowClassName({ row, rowIndex }) {
+ if (row.excep == 1) {
+ return "warning-row";
+ }
+ return "";
+ },
+ },
+};
+</script>
+
+<style lang="scss" scoped>
+.el-button--primary.is-plain {
+ color: #ffffff;
+ background: #409eff;
+ border-color: #4fabe9;
+}
+
+.document {
+ // width: 100px;
+ height: 50px;
+}
+::v-deep.el-table .warning-row {
+ background: #eec4c4;
+}
+
+.documentf {
+ display: flex;
+ justify-content: flex-end;
+}
+
+.download {
+ text-align: center;
+
+ .el-upload__tip {
+ font-size: 23px;
+ }
+
+ .el-upload__text {
+ font-size: 23px;
+ }
+}
+
+.uploading {
+ margin-top: 20px;
+ margin: 20px;
+ padding: 30px;
+ background: #ffffff;
+ border: 1px solid #dcdfe6;
+ -webkit-box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.12),
+ 0 0 6px 0 rgba(0, 0, 0, 0.04);
+}
+
+.el-tag + .el-tag {
+ margin-left: 10px;
+}
+
+.button-new-tag {
+ margin-left: 10px;
+ height: 32px;
+ line-height: 30px;
+ padding-top: 0;
+ padding-bottom: 0;
+}
+
+.input-new-tag {
+ width: 90px;
+ margin-left: 10px;
+ vertical-align: bottom;
+}
+
+.drexamine {
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ padding: 30px;
+ background: #daeaf5;
+
+ img {
+ width: 100px;
+ height: 100px;
+ }
+}
+
+.qrcode-dialo {
+ // text-align: center;
+ // display: flex;
+ margin: 20px;
+ padding: 30px;
+ background: #edf1f7;
+ border: 1px solid #dcdfe6;
+ -webkit-box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.12),
+ 0 0 6px 0 rgba(0, 0, 0, 0.04);
+
+ .topic-dev {
+ margin-bottom: 25px;
+ font-size: 20px !important;
+
+ .dev-text {
+ margin-bottom: 10px;
+ }
+ }
+}
+::v-deep.leftvlue .el-card__body {
+ background: #d0e9fd;
+}
+::v-deep.leftvlue .el-card__body:hover {
+ background: #8dc8f8;
+ cursor: pointer; /* 榧犳爣鎮诞鏃跺彉涓烘墜褰� */
+}
+::v-deep.errleftvlue .el-card__body {
+ background: #fdd0d7;
+}
+::v-deep.errleftvlue .el-card__body:hover {
+ background: #f88d96;
+ cursor: pointer; /* 榧犳爣鎮诞鏃跺彉涓烘墜褰� */
+}
+
+::v-deep.ysfleftvlue .el-card__body {
+ background: #d0fdd8;
+}
+::v-deep.ysfleftvlue .el-card__body:hover {
+ background: #8df8a4;
+ cursor: pointer; /* 榧犳爣鎮诞鏃跺彉涓烘墜褰� */
+}
+.button-bb {
+ font-weight: 500;
+ background-color: #2ba05c;
+ padding: 5px;
+ border-radius: 1px;
+ color: #ffffff;
+}
+.button-xq {
+ font-weight: 500;
+ background-color: #409eff;
+ padding: 5px;
+ border-radius: 1px;
+ color: #ffffff;
+}
+.button-sc {
+ font-weight: 500;
+ background-color: #dd302a;
+ padding: 5px;
+ border-radius: 1px;
+ color: #ffffff;
+}
+.button-zx {
+ background: #4fabe9;
+ padding: 5px;
+ border-radius: 1px;
+ color: #ffffff;
+}
+
+::v-deep.el-radio-group {
+ span {
+ font-size: 24px;
+ }
+}
+
+// 閫夐」瀛椾綋鏀惧ぇ
+// ::v-deep.el-checkbox-group {
+// span {
+// font-size: 24px;
+// }
+// }
+</style>
diff --git a/src/views/sfstatistics/percentage/index.vue b/src/views/sfstatistics/percentage/index.vue
index e972387..a542f86 100644
--- a/src/views/sfstatistics/percentage/index.vue
+++ b/src/views/sfstatistics/percentage/index.vue
@@ -397,7 +397,8 @@
handleQuery() {
if (!this.queryParams.dateRange) this.queryParams.dateRange = [];
- if (!this.queryParams.dateRangecy) this.queryParams.dateRange = [];
+ if (!this.queryParams.dateRangecy) this.queryParams.dateRangecy = [];
+
this.queryParams.startTime = this.parseTime(
this.queryParams.dateRange[0]
);
diff --git "a/\351\232\217\350\256\277\345\244\226\351\223\276.zip" "b/\351\232\217\350\256\277\345\244\226\351\223\276.zip"
deleted file mode 100644
index 92e3b79..0000000
--- "a/\351\232\217\350\256\277\345\244\226\351\223\276.zip"
+++ /dev/null
Binary files differ
diff --git "a/\351\232\217\350\256\277\351\200\232\347\224\2508.26.zip" "b/\351\232\217\350\256\277\351\200\232\347\224\2508.26.zip"
deleted file mode 100644
index 1d9293b..0000000
--- "a/\351\232\217\350\256\277\351\200\232\347\224\2508.26.zip"
+++ /dev/null
Binary files differ
--
Gitblit v1.9.3