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 |  174 ++++++++++++++++++++++++++++++++++++++++++++++++++++-----
 1 files changed, 157 insertions(+), 17 deletions(-)

diff --git a/src/views/patient/propaganda/index.vue b/src/views/patient/propaganda/index.vue
index fa455f6..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,7 +100,7 @@
       </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"
             icon="el-icon-plus"
@@ -106,7 +108,7 @@
             @click="handleAdd"
             >鏂板</el-button
           >
-        </el-col>
+        </el-col> -->
         <el-col :span="1.5">
           <div class="documentf">
             <div class="document">
@@ -246,7 +248,7 @@
 
         <el-table-column
           label="鍑洪櫌鏃ユ湡"
-          width="200"
+          width="146"
           align="center"
           key="endtime"
           prop="endtime"
@@ -259,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
@@ -371,7 +373,6 @@
           </template>
         </el-table-column> -->
         <el-table-column
-          fixed="right"
           label="浠诲姟缁撴灉璁板綍"
           width="120"
           align="center"
@@ -392,7 +393,6 @@
           </template>
         </el-table-column>
         <el-table-column
-          fixed="right"
           label="瀹f暀鏃堕棿"
           sortable
           align="center"
@@ -401,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
@@ -555,6 +566,10 @@
         >
       </span>
     </el-dialog>
+    <!-- 瀹f暀妯℃澘棰勮 -->
+    <el-dialog title="妯℃澘棰勮" :visible.sync="previewtf" width="60%">
+      <div v-html="htmlRichText"></div>
+    </el-dialog>
   </div>
 </template>
 
@@ -568,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",
@@ -630,6 +646,8 @@
       inputVisible: false,
       inputValue: "",
       previewVisible: false, //闂ㄨ瘖瀹f暀棰勮寮规
+      previewtf: false, //瀹f暀妯℃澘棰勮寮规
+      htmlRichText: "", //瀹f暀妯℃澘棰勮瀵屾枃鏈�
       radio: "",
       radios: [],
       previewtype: 2, //棰勮闂ㄨ瘖瀹f暀绫诲瀷
@@ -751,9 +769,9 @@
         pageNum: 1,
         pageSize: 10,
         serviceType: 4,
-        searchscope: 2,
+        searchscope: 3,
         sendstate: 2,
-         leaveldeptcodes: [],
+        leaveldeptcodes: [],
         leavehospitaldistrictcodes: [],
       },
       propss: { multiple: true },
@@ -783,6 +801,10 @@
         {
           value: 6,
           label: "宸插畬鎴�",
+        },
+        {
+          value: 7,
+          label: "瓒呮椂",
         },
       ],
       topicoptionsyj: [
@@ -841,8 +863,8 @@
           store.getters.belongWards.map((obj) => obj.districtCode);
       }
       this.loading = true;
-      console.log(this.topqueryParams.leavehospitaldistrictcodes);
-      console.log(this.topqueryParams.leaveldeptcodes);
+      console.log(this.topqueryParams.leavehospitaldistrictcodes, "123");
+      console.log(this.topqueryParams.leaveldeptcodes, "344");
 
       if (
         this.topqueryParams.leavehospitaldistrictcodes[0] &&
@@ -853,6 +875,11 @@
         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;
         this.userList.forEach((item) => {
@@ -867,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) {
@@ -1090,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 {
@@ -1216,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