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/patient/propaganda/index.vue | 176 +++++++++++++++++++++++++++++++++++++++++++++++++++++-----
1 files changed, 160 insertions(+), 16 deletions(-)
diff --git a/src/views/patient/propaganda/index.vue b/src/views/patient/propaganda/index.vue
index 46575a2..f1b9f34 100644
--- a/src/views/patient/propaganda/index.vue
+++ b/src/views/patient/propaganda/index.vue
@@ -37,7 +37,7 @@
placeholder="璇疯緭鍏ユ偅鑰呭鍚�"
></el-input>
</el-form-item>
- <el-form-item label="鎮h�呰寖鍥�" prop="status">
+ <!-- <el-form-item label="鎮h�呰寖鍥�" prop="status">
<el-select
v-model="topqueryParams.searchscope"
placeholder="璇烽�夋嫨鎮h�呰寖鍥�"
@@ -50,12 +50,14 @@
>
</el-option>
</el-select>
- </el-form-item>
+ </el-form-item> -->
<el-form-item label="鎮h�呰寖鍥�" prop="status">
<el-cascader
v-model="topqueryParams.scopetype"
placeholder="榛樿鍏ㄩ儴"
:options="sourcetype"
+ filterable
+ clearable
:props="{ expandTrigger: 'hover' }"
@change="handleChange"
></el-cascader>
@@ -98,16 +100,15 @@
</el-form>
<el-divider></el-divider>
<el-row :gutter="10" class="mb8">
- <el-col :span="1.5">
+ <!-- <el-col :span="1.5">
<el-button
type="primary"
- plain
icon="el-icon-plus"
size="medium"
@click="handleAdd"
>鏂板</el-button
>
- </el-col>
+ </el-col> -->
<el-col :span="1.5">
<div class="documentf">
<div class="document">
@@ -247,7 +248,7 @@
<el-table-column
label="鍑洪櫌鏃ユ湡"
- width="200"
+ width="146"
align="center"
key="endtime"
prop="endtime"
@@ -260,11 +261,11 @@
label="搴斿鏁欐棩鏈�"
width="200"
align="center"
- key="longSendTime"
- prop="longSendTime"
+ key="visitTime"
+ prop="visitTime"
>
<template slot-scope="scope">
- <span>{{ formatTime(scope.row.longSendTime) }}</span>
+ <span>{{ formatTime(scope.row.visitTime) }}</span>
</template></el-table-column
>
<el-table-column
@@ -372,7 +373,6 @@
</template>
</el-table-column> -->
<el-table-column
- fixed="right"
label="浠诲姟缁撴灉璁板綍"
width="120"
align="center"
@@ -393,7 +393,6 @@
</template>
</el-table-column>
<el-table-column
- fixed="right"
label="瀹f暀鏃堕棿"
sortable
align="center"
@@ -402,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
@@ -556,6 +566,10 @@
>
</span>
</el-dialog>
+ <!-- 瀹f暀妯℃澘棰勮 -->
+ <el-dialog title="妯℃澘棰勮" :visible.sync="previewtf" width="60%">
+ <div v-html="htmlRichText"></div>
+ </el-dialog>
</div>
</template>
@@ -569,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",
@@ -631,6 +646,8 @@
inputVisible: false,
inputValue: "",
previewVisible: false, //闂ㄨ瘖瀹f暀棰勮寮规
+ previewtf: false, //瀹f暀妯℃澘棰勮寮规
+ htmlRichText: "", //瀹f暀妯℃澘棰勮瀵屾枃鏈�
radio: "",
radios: [],
previewtype: 2, //棰勮闂ㄨ瘖瀹f暀绫诲瀷
@@ -752,8 +769,10 @@
pageNum: 1,
pageSize: 10,
serviceType: 4,
- searchscope: 2,
+ searchscope: 3,
sendstate: 2,
+ leaveldeptcodes: [],
+ leavehospitaldistrictcodes: [],
},
propss: { multiple: true },
options: [],
@@ -782,6 +801,10 @@
{
value: 6,
label: "宸插畬鎴�",
+ },
+ {
+ value: 7,
+ label: "瓒呮椂",
},
],
topicoptionsyj: [
@@ -832,7 +855,7 @@
methods: {
/** 鏌ヨ闂ㄨ瘖瀹f暀鏈嶅姟鍒楄〃 */
getList() {
- if (this.topqueryParams.searchscope == 3) {
+ if (this.topqueryParams.searchscope == 3) {
this.topqueryParams.leaveldeptcodes = store.getters.belongDepts.map(
(obj) => obj.deptCode
);
@@ -840,6 +863,8 @@
store.getters.belongWards.map((obj) => obj.districtCode);
}
this.loading = true;
+ console.log(this.topqueryParams.leavehospitaldistrictcodes, "123");
+ console.log(this.topqueryParams.leaveldeptcodes, "344");
if (
this.topqueryParams.leavehospitaldistrictcodes[0] &&
@@ -848,6 +873,12 @@
this.topqueryParams.deptOrDistrict = 2;
} else {
this.topqueryParams.deptOrDistrict = 1;
+ }
+ console.log(55);
+
+ if (!this.followupAuthority()) {
+ this.$message.warning("鏈厤缃瀹�/鐥呭尯鐩稿叧鏉冮檺涓嶅彲鏌ヨ");
+ return Promise.reject(new Error("鏃犳潈闄愭煡璇�"));
}
getTaskservelist(this.topqueryParams).then((response) => {
this.userList = response.rows[0].serviceSubtaskList;
@@ -863,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) {
@@ -1086,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 {
@@ -1212,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>
--
Gitblit v1.9.3