From 98961384c43eb14d108e557104b3e75341284427 Mon Sep 17 00:00:00 2001
From: WXL <1785969728@qq.com>
Date: 星期四, 23 一月 2025 10:57:59 +0800
Subject: [PATCH] 测试完成

---
 src/utils/request.js                                   |    5 
 src/views/followvisit/tasklist/index.vue               |    7 
 vue.config.js                                          |    2 
 src/views/repositoryai/templateku/configurat/index.vue |    2 
 src/api/AiCentre/Qtemplate.js                          |   15 
 src/store/getters.js                                   |   16 
 src/views/patient/questionnaire/index.vue              |  919 +++++++++++-----
 src/views/patient/propaganda/Missioncreation.vue       |   18 
 src/views/patient/propaganda/particty.vue              |  391 ++----
 src/components/SFtable/index.vue                       |    5 
 src/views/patient/propaganda/QuestionnaireTask.vue     |  460 +++----
 src/views/patient/ycquestionnaire/index.vue            | 1348 ++++++++++++++++++++++++
 12 files changed, 2,357 insertions(+), 831 deletions(-)

diff --git a/src/api/AiCentre/Qtemplate.js b/src/api/AiCentre/Qtemplate.js
index 55d9e46..a29da63 100644
--- a/src/api/AiCentre/Qtemplate.js
+++ b/src/api/AiCentre/Qtemplate.js
@@ -158,6 +158,14 @@
     params: data,
   });
 }
+ //浠诲姟绉戝鐥呭尯妯℃澘鍏宠仈鏌ヨ
+ export function taskdepthospgetsonlist(data) {
+  return request({
+    url: "/smartor/taskdept/list",
+    method: "get",
+    params: data,
+  });
+}
     // 鍒犻櫎绉戝鐥呭尯妯℃澘鍒嗙被
     export function depthospgetsondel(id) {
       return request({
@@ -165,6 +173,13 @@
         method: "get",
       });
     }
+    // 鍒犻櫎浠诲姟绉戝鍏宠仈
+    export function taskdepthospgetsondel(id) {
+      return request({
+        url: "/smartor/taskdept/remove/" + id,
+        method: "get",
+      });
+    }
 // 鍖绘姢淇濆瓨鏁版嵁
 
 export function serviceSubtaskDetailedit(data) {
diff --git a/src/components/SFtable/index.vue b/src/components/SFtable/index.vue
index a23f3a6..2687a76 100644
--- a/src/components/SFtable/index.vue
+++ b/src/components/SFtable/index.vue
@@ -2,6 +2,7 @@
 <template>
   <el-table
     ref="multipleTableson"
+    :height="heights"
     :data="
       currentList.filter(
         (data) =>
@@ -201,6 +202,10 @@
       type: Number,
       default: 1,
     },
+    heights: {
+      type: Number,
+      default: 600,
+    },
     searchTrue: {
       type: Boolean,
       default: false,
diff --git a/src/store/getters.js b/src/store/getters.js
index d7540b0..9a197fa 100644
--- a/src/store/getters.js
+++ b/src/store/getters.js
@@ -450,14 +450,14 @@
         listClass: "",
       },
     },
-    {
-      value: "8",
-      label: "鏅鸿兘鏈哄櫒浜�",
-      raw: {
-        cssClass: "",
-        listClass: "",
-      },
-    },
+    // {
+    //   value: "8",
+    //   label: "鏅鸿兘鏈哄櫒浜�",
+    //   raw: {
+    //     cssClass: "",
+    //     listClass: "",
+    //   },
+    // },
   ],
   // 璇█
   languagelist: (state) => [
diff --git a/src/utils/request.js b/src/utils/request.js
index 05dcfc1..57969d4 100644
--- a/src/utils/request.js
+++ b/src/utils/request.js
@@ -110,10 +110,7 @@
           }
         )
           .then(() => {
-            isRelogin.show = false;
-            store.dispatch("LogOut").then(() => {
-              location.href = "/index";
-            });
+
           })
           .catch(() => {
             isRelogin.show = false;
diff --git a/src/views/followvisit/tasklist/index.vue b/src/views/followvisit/tasklist/index.vue
index 454091a..07ff9f3 100644
--- a/src/views/followvisit/tasklist/index.vue
+++ b/src/views/followvisit/tasklist/index.vue
@@ -497,9 +497,12 @@
         },
         {
           value: "7",
-          label: "鎮h�呮姤鍛�",
+          label: "鎮h�呮棩甯告姤鍛�",
         },
-
+        {
+          value: "9",
+          label: "鎮h�呭紓甯告姤鍛�",
+        },
         {
           value: "8",
           label: "鍏朵粬閫氱煡",
diff --git a/src/views/patient/propaganda/Missioncreation.vue b/src/views/patient/propaganda/Missioncreation.vue
index 546ccdb..76b60b9 100644
--- a/src/views/patient/propaganda/Missioncreation.vue
+++ b/src/views/patient/propaganda/Missioncreation.vue
@@ -817,7 +817,7 @@
         { label: "鐭俊", value: 4 },
         { label: "寰俊鍏紬", value: 5 },
         { label: "閽夐拤", value: 6 },
-        { label: "鏅鸿兘鏈哄櫒浜�", value: 7 },
+        // { label: "鏅鸿兘鏈哄櫒浜�", value: 7 },
       ],
       upload: {
         // 鏄惁鏄剧ず寮瑰嚭灞傦紙鐢ㄦ埛瀵煎叆锛�
@@ -1042,10 +1042,10 @@
             label: "寰俊灏忕▼搴�",
           },
 
-          {
-            value: "8",
-            label: "鏅鸿兘鏈哄櫒浜�",
-          },
+          // {
+          //   value: "8",
+          //   label: "鏅鸿兘鏈哄櫒浜�",
+          // },
         ];
       } else if (this.form.serviceType == 8) {
         this.checkboxlist = [
@@ -1062,10 +1062,10 @@
             label: "寰俊灏忕▼搴�",
           },
 
-          {
-            value: "8",
-            label: "鏅鸿兘鏈哄櫒浜�",
-          },
+          // {
+          //   value: "8",
+          //   label: "鏅鸿兘鏈哄櫒浜�",
+          // },
           {
             value: "9",
             label: "閽夐拤",
diff --git a/src/views/patient/propaganda/QuestionnaireTask.vue b/src/views/patient/propaganda/QuestionnaireTask.vue
index ea3897d..0aa695c 100644
--- a/src/views/patient/propaganda/QuestionnaireTask.vue
+++ b/src/views/patient/propaganda/QuestionnaireTask.vue
@@ -70,22 +70,32 @@
                   />
                 </el-form-item>
                 <el-form-item label="鏈嶅姟褰㈠紡">
-                  <el-checkbox-group v-model="checkList">
-                    <el-checkbox
+                  <el-radio-group v-model="checkList">
+                    <el-radio
                       v-for="(item, index) in checkboxlist"
                       :key="index"
                       :label="item.value"
                     >
-                      {{ item.label }}</el-checkbox
+                      {{ item.label }}</el-radio
                     >
-                  </el-checkbox-group>
+                  </el-radio-group>
                 </el-form-item>
-                <el-form-item label="鏄惁闀挎湡" prop="longTask">
+                <el-form-item label="鎵ц鍛ㄦ湡" prop="longTask">
                   <el-radio-group v-model="form.longTask">
-                    <el-radio :label="0">鏅�氫换鍔�</el-radio>
+                    <el-radio :label="0">鑷畾涔夊懆鏈�</el-radio>
                     <el-radio :label="1">闀挎湡浠诲姟</el-radio>
                   </el-radio-group>
                 </el-form-item>
+                <el-row :gutter="20" v-if="form.longTask">
+                  <el-col :span="8">
+                    <el-form-item label="鍛ㄦ湡鏃堕棿" prop="name">
+                      <el-input
+                        v-model="form.sendDay"
+                        placeholder="榛樿5澶╁悗"
+                      ></el-input>
+                    </el-form-item>
+                  </el-col>
+                </el-row>
                 <el-form-item
                   label="鎵ц璁剧疆"
                   prop="sendType"
@@ -190,9 +200,11 @@
                   <el-col :span="20"
                     ><el-form-item label="閫傜敤绉戝" prop="region">
                       <el-select
-                        v-model="form.deptcode"
+                        v-model="deptcodesWards"
+                        @remove-tag="removetag"
                         style="width: 400px"
                         size="medium"
+                        multiple
                         filterable
                         placeholder="璇烽�夋嫨绉戝"
                       >
@@ -210,25 +222,12 @@
                 <el-row>
                   <el-col :span="20"
                     ><el-form-item label="閫傜敤鐥呭尯" prop="region">
-                      <!-- <el-cascader
-                      style="width: 400px"
-                      v-model="form.leavehospitaldistrictcode"
-                      :options="topicoptions"
-                      :props="propstask"
-                      :show-all-levels="false"
-                      clearable
-                    >
-                      <template slot-scope="{ node, data }">
-                        <span>{{ data.deptName }}</span>
-                        <span v-if="!node.isLeaf">
-                          ({{ data.children.length }})
-                        </span>
-                      </template>
-                    </el-cascader> -->
                       <el-select
-                        v-model="form.leavehospitaldistrictcode"
+                        v-model="leavehospitaldistrictcodes"
                         style="width: 400px"
+                        @remove-tag="removehpsp"
                         size="medium"
+                        multiple
                         filterable
                         placeholder="璇烽�夋嫨鐥呭尯"
                       >
@@ -413,13 +412,13 @@
                     :controlxz="false"
                     :typeinfo="2"
                   />
-                  <pagination
+                  <!-- <pagination
                     v-show="total > 0"
                     :total="total"
                     :page.sync="topqueryParams.pageNum"
                     :limit.sync="topqueryParams.pageSize"
                     @pagination="getList"
-                  />
+                  /> -->
                 </el-row>
               </div>
             </div>
@@ -494,16 +493,15 @@
               @handleSelectionChange="handleSelectionChange"
               :currentList="patientuserList"
               :tableLabel="tableLabelhz"
+              :heights="600"
               :serialnumber="false"
               :center="false"
               :typeinfo="3"
             />
           </el-row>
           <pagination
-            v-show="patienttotal > 0"
+            v-show="patienttotal > 0 && this.patientqueryParams.allhosp != 6"
             :total="patienttotal"
-            :page.sync="patientqueryParams.pageNum"
-            :limit.sync="patientqueryParams.pageSize"
             @pagination="handleAddpatient"
           />
         </div>
@@ -589,90 +587,6 @@
                   <el-input v-model="objyl.svyname"></el-input>
                 </div>
               </el-form-item>
-              <el-form-item label="闂嵎鏂瑰紡" prop="suitway">
-                <el-select
-                  style="width: 400px"
-                  v-model="objyl.suitway"
-                  size="medium"
-                  multiple
-                  filterable
-                  placeholder="璇烽�夋嫨鍒嗙被"
-                >
-                  <el-option
-                    class="ruleFormaa"
-                    v-for="item in mode"
-                    :key="item.value"
-                    :label="item.label"
-                    :value="item.value"
-                  >
-                  </el-option>
-                </el-select>
-              </el-form-item>
-              <el-row :gutter="20" v-if="form.longTask">
-                <el-col :span="14">
-                  <el-form-item label="闀挎湡浠诲姟" prop="longTemp">
-                    <el-radio-group v-model="objyl.longTemp">
-                      <el-radio
-                        v-for="(item, index) in longtype"
-                        :label="item.value"
-                        >{{ item.label }}</el-radio
-                      >
-                    </el-radio-group>
-                  </el-form-item>
-                </el-col>
-                <el-col :span="8">
-                  <el-form-item label="浠诲姟鍛ㄦ湡" prop="name">
-                    <el-input
-                      v-model="objyl.sendDay"
-                      placeholder="榛樿5澶╁悗"
-                    ></el-input>
-                  </el-form-item>
-                </el-col>
-              </el-row>
-              <el-row>
-                <el-col :span="20"
-                  ><el-form-item label="閫傜敤绉戝" prop="region">
-                    <el-select
-                      style="width: 400px"
-                      v-model="tempDetpRelevanceslist"
-                      size="medium"
-                      multiple
-                      filterable
-                      placeholder="璇烽�夋嫨绉戝"
-                    >
-                      <el-option
-                        class="ruleFormaa"
-                        v-for="item in belongDepts"
-                        :key="item.deptCode"
-                        :label="item.deptName"
-                        :value="item.deptCode"
-                      >
-                      </el-option>
-                    </el-select> </el-form-item
-                ></el-col>
-              </el-row>
-              <!-- <el-row>
-                <el-col :span="20"
-                  ><el-form-item label="閫傜敤鐥呭尯" prop="region">
-                    <el-select
-                      v-model="tempbelongWards"
-                      style="width: 400px"
-                      size="medium"
-                      multiple
-                      filterable
-                      placeholder="璇烽�夋嫨绉戝"
-                    >
-                      <el-option
-                        class="ruleFormaa"
-                        v-for="item in belongWards"
-                        :key="item.districtCode"
-                        :label="item.districtName"
-                        :value="item.districtCode"
-                      >
-                      </el-option>
-                    </el-select> </el-form-item
-                ></el-col>
-              </el-row> -->
 
               <div class="xinz-infs">
                 <el-form-item>
@@ -874,7 +788,7 @@
 import {
   getTaskpatientQC,
   getlibrarylist,
-  getFollowuplist,
+  Externallist,
   getQtemplatelist,
   getQtemplateobj,
   TaskQuestioncomit,
@@ -886,9 +800,12 @@
   Editsingletask,
   getQtemplateclassify,
   depthospgetsonlist,
+  taskdepthospgetsondel,
+  taskdepthospgetsonlist,
 } from "@/api/AiCentre/index";
 
 import SFtable from "@/components/SFtable"; //琛ㄦ牸缁勪欢
+import {  MessageBox,  } from "element-ui";
 
 export default {
   name: "ServiceDetails",
@@ -899,6 +816,7 @@
       id: "", //
       previewid: "", //浠诲姟妯℃澘浼犻�抜d
       libName: "",
+      templateor: false,
       objyl: {},
       overallCase: [], //閫夋嫨鎮h�呮��
       allpids: [],
@@ -913,6 +831,8 @@
       loading: false, // 閬僵灞�
       patientloading: false, // 閬僵灞�
       dialogVisiblepatient: false, //娣诲姞鎮h�呭脊妗�
+      deptcodesWards: [], //绉戝鏁版嵁
+      leavehospitaldistrictcodes: [], //鐥呭尯鏁版嵁
       radio: 1,
       checkboxlist: [],
       tableLabel: [],
@@ -968,7 +888,7 @@
       preachform: [
         { label: "澶氬獟浣�", value: 1 },
         { label: "绾歌川", value: 2 },
-        { label: "鐢佃瘽", value: 3 },
+        { label: "鏅鸿兘璇煶", value: 3 },
         { label: "鐭俊", value: 4 },
         { label: "寰俊鍏紬鍙�", value: 5 },
         { label: "寰俊灏忕▼搴�", value: 6 },
@@ -989,7 +909,7 @@
         pageNum: 1, //
         pageSize: 10,
       },
-      checkList: [],
+      checkList: "",
       deliverytopqueryParams: {
         pageNum: 1, //
         pageSize: 10,
@@ -998,8 +918,8 @@
         pageNum: 1, //
         pageSize: 10,
         topica: 1, //0鍏ㄩ儴1绉戝2鐥呭尯
-        leavehospitaldistrictcodes:[],
-        leaveldeptcodes:[],
+        leavehospitaldistrictcodes: [],
+        leaveldeptcodes: [],
       },
       topicoptions: [{ children: [{ children: [] }] }],
       showSearch: true, //
@@ -1019,7 +939,7 @@
       sonuserList: [], //閫変腑鎮h�呭垪琛�
       delvariableList: [], //鍒犻櫎鍙橀噺涓存椂瀛樺偍
       longtype: [
-        { value: 0, label: "鏅�氫换鍔�" },
+        { value: 0, label: "鑷畾涔夊懆鏈�" },
         { value: 1, label: "闀挎湡浠诲姟" },
       ],
       variableList: [
@@ -1036,7 +956,7 @@
           default: true,
         },
         {
-          name: "鐢佃瘽",
+          name: "鏅鸿兘璇煶",
           value: "${dhh}",
           fill: "娲惧彂鏃惰嚜鍔ㄥ尮閰�",
           default: true,
@@ -1056,7 +976,7 @@
           default: true,
         },
         {
-          name: "鐢佃瘽",
+          name: "鏅鸿兘璇煶",
           value: "${dhh}",
           fill: "娲惧彂鏃惰嚜鍔ㄥ尮閰�",
           default: true,
@@ -1091,6 +1011,10 @@
         {
           value: "3",
           label: "浣撴鐥呬汉",
+        },
+        {
+          value: "6",
+          label: "闄㈠鎮h��",
         },
       ],
       source: [
@@ -1135,7 +1059,11 @@
         },
         {
           value: 7,
-          label: "鎮h�呮姤鍛�",
+          label: "鎮h�呮棩甯告姤鍛�",
+        },
+        {
+          value: 9,
+          label: "鎮h�呭紓甯告姤鍛�",
         },
 
         {
@@ -1144,7 +1072,6 @@
         },
       ],
       // 绉戝/鐥呭尯
-      belongWards: [],
       belongWards: [],
       deptlist: [],
       hosplist: [],
@@ -1172,11 +1099,9 @@
         //   { required: true, message: "閫傜敤鐥呭尯涓嶈兘涓虹┖", trigger: "blur" },
         // ],
       },
+      belongDepts:[],
       // 绉戝闄㈠尯鏌ヨ鍏ュ弬
-      queryParamsdept: {
-        tempid: "",
-        type: 11,
-      },
+      queryParamsdept: {},
       quote: false,
       serviceType: null,
     };
@@ -1270,12 +1195,11 @@
         this.checkboxlist = [
           {
             value: "3",
-            label: "鐢佃瘽",
+            label: "鏅鸿兘璇煶",
           },
           {
             value: "4",
             label: "鐭俊",
-
           },
           {
             value: "5",
@@ -1286,12 +1210,12 @@
             label: "寰俊灏忕▼搴�",
           },
 
-          {
-            value: "8",
-            label: "鏅鸿兘鏈哄櫒浜�",
-          },
+          // {
+          //   value: "8",
+          //   label: "鏅鸿兘鏈哄櫒浜�",
+          // },
         ];
-      } else if (this.form.serviceType == 7) {
+      } else if (this.form.serviceType == 7 || this.form.serviceType == 9) {
         this.checkboxlist = [
           {
             value: "1",
@@ -1303,12 +1227,11 @@
           },
           {
             value: "3",
-            label: "鐢佃瘽",
+            label: "鏅鸿兘璇煶",
           },
           {
             value: "4",
             label: "鐭俊",
-
           },
           {
             value: "5",
@@ -1319,7 +1242,12 @@
             label: "寰俊灏忕▼搴�",
           },
         ];
-      } else if (this.form.serviceType == 2 || this.form.serviceType == 3|| this.form.serviceType == 5|| this.form.serviceType == 4) {
+      } else if (
+        this.form.serviceType == 2 ||
+        this.form.serviceType == 3 ||
+        this.form.serviceType == 5 ||
+        this.form.serviceType == 4
+      ) {
         this.checkboxlist = [
           {
             value: "1",
@@ -1327,12 +1255,11 @@
           },
           {
             value: "3",
-            label: "鐢佃瘽",
+            label: "鏅鸿兘璇煶",
           },
           {
             value: "4",
             label: "鐭俊",
-
           },
           {
             value: "5",
@@ -1343,10 +1270,10 @@
             label: "寰俊灏忕▼搴�",
           },
 
-          {
-            value: "8",
-            label: "鏅鸿兘鏈哄櫒浜�",
-          },
+          // {
+          //   value: "8",
+          //   label: "鏅鸿兘鏈哄櫒浜�",
+          // },
         ];
       }
       getQtemplatelist(this.topqueryParams).then((response) => {
@@ -1376,21 +1303,28 @@
           xh: 1,
         },
       ];
-
-      if (this.checkList[0]) {
-        this.form.preachform = this.checkList.join(",");
+      if (this.checkList) {
+        this.form.preachform = this.checkList;
       } else {
         this.$modal.msgError("璇烽�夋嫨鏈嶅姟绫诲瀷");
         return;
       }
+      if (this.deptcodesWards[0]||this.leavehospitaldistrictcodes[0]) {
+      } else {
+        this.$modal.msgError("璇烽�夋嫨绉戝鎴栫梾鍖�");
+        return;
+      }
+
       if (!this.form.patTaskRelevances[0] && !this.form.longTask) {
         this.$modal.msgError("璇烽�夋嫨鐥呬汉");
         return;
       }
-      if (!this.form.templatename) {
+
+      if (!this.form.templatename && !this.templateor) {
         this.$modal.msgError("鏈�夋嫨妯℃澘");
         return;
       }
+
       if ((this.form.sendType == 1 && this.time1) || this.form.sendType == 2) {
       } else if (
         (this.form.sendType == 3 && this.time4) ||
@@ -1413,24 +1347,15 @@
         this.form.type = this.$route.query.type;
       }
       this.form.serviceType = this.serviceType;
-      this.form.leaveldeptcodes = store.getters.belongDepts.map(
-        (obj) => obj.deptCode
-      );
-      this.form.leavehospitaldistrictcodes = store.getters.belongWards.map(
-        (obj) => obj.districtCode
-      );
-      console.log(this.form.longTask);
-      console.log(this.form.preachform);
+      this.form.deptcode = this.deptcodesWards.join(",");
+      this.form.leavehospitaldistrictcode =
+        this.leavehospitaldistrictcodes.join(",");
 
-      if (this.form.longTask && this.form.preachform == 6) {
-        this.form.patCycle = 1;
-      }
       Editsingletask(this.form).then((res) => {
         if (res.code == 200) {
           if (this.form.taskid) {
             this.$modal.msgSuccess("淇敼鎴愬姛");
           } else {
-            this.puttaskid(res.data);
             this.$modal.msgSuccess("鏂板鎴愬姛");
           }
           this.$router.push({
@@ -1440,33 +1365,8 @@
         }
       });
     },
-    // 缁欎换鍔℃ā鏉胯祴鍊间换鍔d
-    puttaskid(data) {
-      getTaskQuestioncomit(this.form.templateid).then((res) => {
-        if (res.code == 200) {
-          this.objyl = res.data;
-          if (this.objyl.taskid == data.taskId) {
-            this.objyl.isoperation = 2;
-          } else {
-            this.objyl.isoperation = 1;
-          }
-          this.objyl.taskid = data.taskId;
-          if (!this.objyl.sendDay) {
-        this.objyl.sendDay='5';
-      }
-          TaskQuestioncomit(this.objyl).then((response) => {
-            this.previewtf = false;
-            this.form.libtemplateid = this.objyl.svyid;
-            this.form.templateid = response.data;
-            // this.putbelongDepts(response.data);
-            this.form.templatename = this.objyl.svyname;
-            this.$modal.msgSuccess("閫夋嫨妯℃澘鎴愬姛");
-          });
-        }
-      });
-    },
-    // ----------------------琛ㄦ牸瀛愮粍浠朵簨浠�
 
+    // ----------------------琛ㄦ牸瀛愮粍浠朵簨浠�
     // 閫夋嫨棰勮
     selectfn(row, type) {
       // 妯℃澘鎯呭喌涓嬭幏鍙栨ā鏉夸俊鎭�
@@ -1480,10 +1380,9 @@
             if (this.form.longTask) {
               this.objyl.longTemp = 1;
             }
-            this.queryParamsdept.type = 1;
-            this.queryParamsdept.tempid = row.svyid;
-            this.listDept();
 
+            this.tempDetpRelevanceslist = [];
+            this.tempbelongWards = [];
             this.objyl.suitway = this.objyl.suitway.split(",");
             this.questionList = res.rows[0].svyTemplateLibScripts;
             this.getillness(row.svyid);
@@ -1505,11 +1404,9 @@
           this.objyl = res.data;
           if (this.objyl.suitway)
             this.objyl.suitway = this.objyl.suitway.split(",");
-          this.queryParamsdept.tempid = this.form.templateid;
-          this.queryParamsdept.type = 11;
+
           this.getillness(this.form.libtemplateid);
-          // 鎵ц鑾峰彇璇ヤ换鍔℃ā鏉縤d
-          this.listDept();
+
           this.previewtf = true;
           getQtemplateobj({ svyid: this.form.libtemplateid }).then((res) => {
             if (res.code == 200) {
@@ -1706,6 +1603,15 @@
     },
     getList() {},
     handleQuery() {
+      // 鑾峰彇澶栭儴鎮h��
+      console.log(this.patientqueryParams.allhosp, "aaalll");
+
+      if (this.patientqueryParams.allhosp == 6) {
+        this.Externallist();
+        console.log();
+
+        return;
+      }
       if (this.patientqueryParams.topica == 0) {
         this.patientqueryParams.leavehospitaldistrictcodes =
           store.getters.leavehospitaldistrictcodes;
@@ -1718,15 +1624,43 @@
           store.getters.leavehospitaldistrictcodes;
         this.patientqueryParams.leaveldeptcodes = null;
       }
-      console.log(this.patientqueryParams.leavehospitaldistrictcodes);
-      console.log(this.patientqueryParams.leaveldeptcodes);
 
-      if (!this.patientqueryParams.leavehospitaldistrictcodes||!this.patientqueryParams.leavehospitaldistrictcodes[0])
+      if (
+        !this.patientqueryParams.leavehospitaldistrictcodes ||
+        !this.patientqueryParams.leavehospitaldistrictcodes[0]
+      )
         this.patientqueryParams.leavehospitaldistrictcodes = null;
-      if (!this.patientqueryParams.leaveldeptcodes||!this.patientqueryParams.leaveldeptcodes[0])
+      if (
+        !this.patientqueryParams.leaveldeptcodes ||
+        !this.patientqueryParams.leaveldeptcodes[0]
+      )
         this.patientqueryParams.leaveldeptcodes = null;
       this.handleAddpatient();
     },
+    // 鑾峰彇澶栭儴鎮h�呭鍏ュ垪琛�
+    Externallist() {
+      this.tableLabelhz = [
+        { label: "鎮h��", width: "", prop: "name" },
+        { label: "韬唤璇�", width: "200", prop: "idcardno" },
+        { label: "鎬у埆", width: "", prop: "sex" },
+        { label: "骞撮緞", width: "", prop: "age" },
+        { label: "鍑洪櫌澶╂暟", width: "", prop: "endDay" },
+      ];
+      this.patientqueryParams.pageSize = 1000;
+
+      Externallist(this.patientqueryParams).then((response) => {
+        this.patientuserList = response.rows;
+        this.patientuserList.forEach((item) => {
+          if (item.endtime) {
+            item.endDay = this.daysBetween(item.endtime);
+          }
+        });
+        this.dialogVisiblepatient = true;
+        this.patienttotal = response.total;
+        this.loading = false;
+      });
+    },
+
     resetQuery() {},
     handleQuerymb() {
       getQtemplatelist(this.topqueryParams).then((response) => {
@@ -1755,6 +1689,7 @@
       this.form = {
         patTaskRelevances: [],
         sendType: 1,
+        sendDay: 5,
         templatename: "",
         templateid: null,
         libtemplateid: null,
@@ -1773,7 +1708,7 @@
               ? this.form.patTaskRelevances
               : [];
             this.overallCase = this.form.patTaskRelevances.concat();
-            this.checkList = this.form.preachform.split(",");
+            this.checkList = this.form.preachform;
 
             this.overallCase.forEach((item) => {
               if (item.endtime) {
@@ -1788,6 +1723,10 @@
               } else {
                 this.time1 = this.form.showTimeMorn.split(",");
               }
+            }
+            // 鑾峰彇浠诲姟绉戝
+            if (this.form.taskid) {
+              this.listDept();
             }
             if (this.form.showTimeNoon)
               this.time2 = this.form.showTimeNoon.split(",");
@@ -1819,24 +1758,50 @@
       this.time3 = ""; //鏅氫笂鏃堕棿娈�
       this.time4 = ""; //鏅氫笂鏃堕棿娈�
     },
-    // 鑾峰彇绉戝鍒楄〃
+    // 鑾峰彇浠诲姟绉戝鍒楄〃
     listDept() {
-      this.tempDetpRelevanceslist = [];
-      this.tempbelongWards = [];
-      depthospgetsonlist(this.queryParamsdept).then((res) => {
+      this.leavehospitaldistrictcodes = [];
+      this.deptcodesWards = [];
+      this.queryParamsdept.taskId = this.form.taskid;
+      taskdepthospgetsonlist(this.queryParamsdept).then((res) => {
         if (res.code == 200) {
           let arr = res.rows;
           arr.forEach((item) => {
             if (item.deptType == 1) {
               this.deptlist.push(item);
-              this.tempDetpRelevanceslist.push(item.deptCode);
+              this.deptcodesWards.push(item.deptCode);
             } else if (item.deptType == 2) {
               this.hosplist.push(item);
-              this.tempbelongWards.push(item.deptCode);
+              this.leavehospitaldistrictcodes.push(item.deptCode);
             }
           });
         }
       });
+    },
+    // 浠诲姟绉戝鍒犻櫎瑙﹀彂
+    removetag(row) {
+      let result = this.deptlist
+        .filter((item) => item.deptCode == row)
+        .map((item) => item.id);
+
+      if (result.length) {
+        taskdepthospgetsondel(result).then((res) => {
+          if (res.code) {
+          }
+        });
+      }
+    },
+    // 闄㈠尯鍒犻櫎鍒犻櫎瑙﹀彂
+    removehpsp(row) {
+      let result = this.hosplist
+        .filter((item) => item.deptCode == row)
+        .map((item) => item.id);
+      if (result.length) {
+        taskdepthospgetsondel(result).then((res) => {
+          if (res.code) {
+          }
+        });
+      }
     },
     getQtemplateclassify() {
       getQtemplateclassify({}).then((res) => {
@@ -1858,6 +1823,7 @@
       row.isoperation = 3;
       this.delvariableList.push(row);
     },
+
     // 鏃堕棿----------
     changeTime(row) {
       this.processingTime();
@@ -1938,17 +1904,10 @@
       if (Array.isArray(this.objyl.suitway)) {
         this.objyl.suitway = this.objyl.suitway.join(",");
       }
-      this.objyl.svyTemplateLibScripts.forEach((item) => {
-        item.svyTaskTemplateTargetoptions = item.svyLibTemplateTargetoptions;
-      });
-      this.objyl.svyTaskTemplateScriptVOS = this.objyl.svyTemplateLibScripts;
       this.objyl.templateid = this.objyl.svyid;
 
       this.objyl.isoperation = 1;
-      console.log(this.objyl.id);
-      if (!this.objyl.sendDay) {
-        this.objyl.sendDay='5';
-      }
+      this.objyl.taskid = this.form.taskid;
 
       if (this.objyl.id) {
         deleteTaskQuestioncomit(this.objyl.id).then((res) => {
@@ -1958,7 +1917,6 @@
                 this.previewtf = false;
                 this.form.libtemplateid = this.objyl.svyid;
                 this.form.templateid = response.data;
-                this.putbelongDepts(response.data);
                 this.form.templatename = this.objyl.svyname;
                 this.$modal.msgSuccess("閫夋嫨妯℃澘鎴愬姛");
               });
@@ -1969,7 +1927,6 @@
           this.previewtf = false;
           this.form.libtemplateid = this.objyl.svyid;
           this.form.templateid = response.data;
-          this.putbelongDepts(response.data);
           this.form.templatename = this.objyl.svyname;
           this.$modal.msgSuccess("閫夋嫨妯℃澘鎴愬姛");
         });
@@ -1996,60 +1953,35 @@
         }
       });
     },
-    // 澶勭悊鏈嶅姟褰㈠紡
-    formatFn(type) {
-      let list = [];
-      let formlist = [];
-      if (type == 1) {
-        this.preachform.forEach((item) => {
-          this.checkList.forEach((obj) => {
-            if (item.label == obj) {
-              list.push(item.value);
-            }
-          });
-        });
-        console.log(list, "list");
-        this.form.preachform = list.join(",");
-      } else {
-        console.log(this.form.preachform, "this.form.preachform");
-        formlist = this.form.preachform.split(",");
-        console.log(11);
-        this.preachform.forEach((item) => {
-          formlist.forEach((obj) => {
-            if (item.value == obj) {
-              list.push(item.label);
-            }
-          });
-        });
-        this.checkList = list;
-      }
-    },
+
     // 绉戝澶勭悊
     Departmenttreatment() {
-      this.tempDetpRelevanceslist.forEach((item) => {
-        this.tempDetpRelevanceslistform.push({
-          deptType: 1,
-          longTemp: this.form.longTask,
-          deptCode: item,
-          tempid: null,
-          type: 11,
-        });
-      });
-
-      this.tempbelongWards.forEach((item) => {
-        this.tempbelongWardsform.push({
-          deptType: 2,
-          longTemp: this.form.longTask,
-          deptCode: item,
-          tempid: null,
-          type: 11,
-        });
-      });
-      console.log(33);
-
-      setTimeout(() => {
-        this.previewFn();
-      }, 1000);
+      if (!this.form.taskid) {
+        this.templateor = true;
+        MessageBox.confirm(
+          "褰撳墠涓烘柊澧炰换鍔℃湭淇濆瓨涓嶅彲鍏宠仈妯℃澘锛屾槸鍚﹀厛淇濆瓨浠诲姟锛�",
+          "鍔熻兘鎻愮ず",
+          {
+            confirmButtonText: "淇濆瓨浠诲姟",
+            cancelButtonText: "鍙栨秷",
+            type: "warning",
+          }
+        )
+          .then(() => {
+            if (Array.isArray(this.objyl.suitway)) {
+              this.objyl.suitway = this.objyl.suitway.join(",");
+            }
+            this.objyl.templateid = this.objyl.svyid;
+            this.objyl.isoperation = 1;
+            this.form.svyTaskTemplateVO=this.objyl;
+            this.submitForm();
+          })
+          .catch(() => {});
+      } else {
+        setTimeout(() => {
+          this.previewFn();
+        }, 1000);
+      }
     },
   },
 };
diff --git a/src/views/patient/propaganda/particty.vue b/src/views/patient/propaganda/particty.vue
index 291facc..7f82fb5 100644
--- a/src/views/patient/propaganda/particty.vue
+++ b/src/views/patient/propaganda/particty.vue
@@ -70,21 +70,21 @@
                   />
                 </el-form-item>
                 <el-form-item label="鏈嶅姟褰㈠紡">
-                  <el-checkbox-group
+                  <el-radio-group
                     v-model="checkList"
                     @change="handleCheckedCitiesChange"
                   >
-                    <el-checkbox
+                    <el-radio
                       v-for="(item, index) in checkboxlist"
                       :key="index"
                       :label="item.value"
                       @change="checkboxChange($event, item.value)"
                     >
-                      {{ item.label }}</el-checkbox
+                      {{ item.label }}</el-radio
                     >
-                  </el-checkbox-group>
+                  </el-radio-group>
                 </el-form-item>
-                <div class="xinz-infs">
+                <!-- <div class="xinz-infs">
                   <el-form-item label="鏈嶅姟鎵ц椤哄簭" prop="daytime">
                     <el-tag
                       :key="tag.label"
@@ -97,13 +97,23 @@
                       ({{ index + 1 }}){{ tag.label }}
                     </el-tag>
                   </el-form-item>
-                </div>
-                <el-form-item label="鏄惁闀挎湡" prop="longTask">
+                </div> -->
+                <el-form-item label="鎵ц鍛ㄦ湡" prop="longTask">
                   <el-radio-group v-model="form.longTask">
-                    <el-radio :label="0">鏅�氫换鍔�</el-radio>
+                    <el-radio :label="0">鑷畾涔夊懆鏈�</el-radio>
                     <el-radio :label="1">闀挎湡浠诲姟</el-radio>
                   </el-radio-group>
                 </el-form-item>
+                <el-row :gutter="20" v-if="form.longTask">
+                  <el-col :span="8">
+                    <el-form-item label="鍛ㄦ湡鏃堕棿" prop="name">
+                      <el-input
+                        v-model="form.sendDay"
+                        placeholder="榛樿5澶╁悗"
+                      ></el-input>
+                    </el-form-item>
+                  </el-col>
+                </el-row>
                 <el-form-item
                   label="鎵ц璁剧疆"
                   prop="sendType"
@@ -208,17 +218,19 @@
                   <el-col :span="20"
                     ><el-form-item label="閫傜敤绉戝" prop="region">
                       <el-select
-                        v-model="form.deptcode"
+                        v-model="deptcodesWards"
+                        @remove-tag="removetag"
                         style="width: 400px"
                         size="medium"
                         filterable
+                        multiple
                         placeholder="璇烽�夋嫨绉戝"
                       >
                         <el-option
                           class="ruleFormaa"
                           v-for="item in belongDepts"
                           :key="item.deptCode"
-                          :label="item.label"
+                          :label="item.deptName"
                           :value="item.deptCode"
                         >
                         </el-option>
@@ -228,34 +240,21 @@
                 <el-row>
                   <el-col :span="20"
                     ><el-form-item label="閫傜敤鐥呭尯" prop="region">
-                      <!-- <el-cascader
-                      style="width: 400px"
-                      v-model="form.leavehospitaldistrictcode"
-                      :options="topicoptions"
-                      :props="propstask"
-                      :show-all-levels="false"
-                      clearable
-                    >
-                      <template slot-scope="{ node, data }">
-                        <span>{{ data.deptName }}</span>
-                        <span v-if="!node.isLeaf">
-                          ({{ data.children.length }})
-                        </span>
-                      </template>
-                    </el-cascader> -->
                       <el-select
-                        v-model="form.leavehospitaldistrictcode"
+                        v-model="leavehospitaldistrictcodes"
                         style="width: 400px"
+                        @remove-tag="removehpsp"
                         size="medium"
                         filterable
+                        multiple
                         placeholder="璇烽�夋嫨鐥呭尯"
                       >
                         <el-option
                           class="ruleFormaa"
                           v-for="item in belongWards"
-                          :key="item.deptCode"
-                          :label="item.label"
-                          :value="item.deptCode"
+                          :key="item.districtCode"
+                          :label="item.districtName"
+                          :value="item.districtCode"
                         >
                         </el-option>
                       </el-select> </el-form-item
@@ -448,7 +447,7 @@
           </div>
         </div>
         <el-button type="primary" @click="laststep()">涓婁竴姝�</el-button>
-        <el-button type="success" @click="submitForm('ruleForm')">{{
+        <el-button type="success" @click="submitForm('11')">{{
           quote ? "绔嬪嵆鍒涘缓" : "纭浠诲姟閰嶇疆"
         }}</el-button>
         <el-button @click="resetForm('ruleForm')">閲嶇疆</el-button>
@@ -595,90 +594,6 @@
                   <el-input v-model="objyl.templateName"></el-input>
                 </div>
               </el-form-item>
-              <el-form-item label="闅忚鏂瑰紡" prop="suitway">
-                <el-select
-                  style="width: 400px"
-                  v-model="objyl.suitway"
-                  size="medium"
-                  multiple
-                  filterable
-                  placeholder="璇烽�夋嫨鍒嗙被"
-                >
-                  <el-option
-                    class="ruleFormaa"
-                    v-for="item in mode"
-                    :key="item.value"
-                    :label="item.label"
-                    :value="item.value"
-                  >
-                  </el-option>
-                </el-select>
-              </el-form-item>
-              <el-row :gutter="20" v-if="form.longTask">
-                <el-col :span="14">
-                  <el-form-item label="闀挎湡浠诲姟" prop="longTemp">
-                    <el-radio-group v-model="objyl.longTemp">
-                      <el-radio
-                        v-for="(item, index) in longtype"
-                        :label="item.value"
-                        >{{ item.label }}</el-radio
-                      >
-                    </el-radio-group>
-                  </el-form-item>
-                </el-col>
-                <el-col :span="8">
-                  <el-form-item label="浠诲姟鍛ㄦ湡" prop="name">
-                    <el-input
-                      v-model="objyl.sendDay"
-                      placeholder="榛樿5澶╁悗"
-                    ></el-input>
-                  </el-form-item>
-                </el-col>
-              </el-row>
-              <el-row>
-                <el-col :span="20"
-                  ><el-form-item label="閫傜敤绉戝" prop="region">
-                    <el-select
-                      style="width: 400px"
-                      v-model="tempDetpRelevanceslist"
-                      size="medium"
-                      multiple
-                      filterable
-                      placeholder="璇烽�夋嫨绉戝"
-                    >
-                      <el-option
-                        class="ruleFormaa"
-                        v-for="item in belongDepts"
-                        :key="item.deptCode"
-                        :label="item.label"
-                        :value="item.deptCode"
-                      >
-                      </el-option>
-                    </el-select> </el-form-item
-                ></el-col>
-              </el-row>
-              <!-- <el-row>
-                <el-col :span="20"
-                  ><el-form-item label="閫傜敤鐥呭尯" prop="region">
-                    <el-select
-                      v-model="tempbelongWards"
-                      style="width: 400px"
-                      size="medium"
-                      multiple
-                      filterable
-                      placeholder="璇烽�夋嫨鐥呭尯"
-                    >
-                      <el-option
-                        class="ruleFormaa"
-                        v-for="item in belongWards"
-                        :key="item.deptCode"
-                        :label="item.label"
-                        :value="item.deptCode"
-                      >
-                      </el-option>
-                    </el-select> </el-form-item
-                ></el-col>
-              </el-row> -->
 
               <div class="xinz-infs">
                 <el-form-item>
@@ -804,13 +719,13 @@
           @click="Departmenttreatment"
           >{{ form.templateid ? "鏇挎崲浣跨敤" : "閫夋嫨浣跨敤" }}</el-button
         >
-        <el-button
+        <!-- <el-button
           :type="previewtftype ? 'success' : 'warning'"
           @click="Modifytemplate"
           >{{
             previewtftype ? "鍓嶅線淇敼宸查�夋嫨妯℃澘" : "鏂板淇濆瓨骞跺墠寰�淇敼"
           }}</el-button
-        >
+        > -->
       </span>
     </el-dialog>
     <el-drawer
@@ -904,14 +819,17 @@
   getillness,
   Editsingletask,
   getFollowupclassify,
+  taskdepthospgetsonlist,
+  taskdepthospgetsondel,
   depthospgetsonlist,
 } from "@/api/AiCentre/index";
 import { deptTreeSelect } from "@/api/system/user";
+import { MessageBox } from "element-ui";
 
 import SFtable from "@/components/SFtable"; //琛ㄦ牸缁勪欢
 
 export default {
-  name: "Particty",
+  name: "particty",
   data() {
     return {
       title: "瀹f暀鍐呭鍒楄〃",
@@ -920,6 +838,7 @@
       previewid: "", //浠诲姟妯℃澘浼犻�抜d
       libName: "",
       username: "",
+      templateor: false,
       objyl: {},
       overallCase: [], //閫夋嫨鎮h�呮��
       allpids: [],
@@ -935,6 +854,8 @@
       loading: false, // 閬僵灞�
       patientloading: false, // 閬僵灞�
       dialogVisiblepatient: false, //娣诲姞鎮h�呭脊妗�
+      deptcodesWards: [], //绉戝鏁版嵁
+      leavehospitaldistrictcodes: [], //鐥呭尯鏁版嵁
       radio: 1,
       checkboxlist: [],
       tableLabel: [],
@@ -993,7 +914,7 @@
       preachform: [
         { label: "澶氬獟浣�", value: 1 },
         { label: "绾歌川", value: 2 },
-        { label: "鐢佃瘽", value: 3 },
+        { label: "鏅鸿兘璇煶", value: 3 },
         { label: "鐭俊", value: 4 },
         { label: "寰俊鍏紬鍙�", value: 5 },
         { label: "寰俊灏忕▼搴�", value: 6 },
@@ -1014,7 +935,7 @@
         pageNum: 1, //
         pageSize: 10,
       },
-      checkList: [],
+      checkList: "",
       foncheckList: [],
       formatvalue: {
         format1: "",
@@ -1050,7 +971,7 @@
       sonuserList: [], //閫変腑鎮h�呭垪琛�
       delvariableList: [], //鍒犻櫎鍙橀噺涓存椂瀛樺偍
       longtype: [
-        { value: 0, label: "鏅�氫换鍔�" },
+        { value: 0, label: "鑷畾涔夊懆鏈�" },
         { value: 1, label: "闀挎湡浠诲姟" },
       ],
       variableList: [
@@ -1195,9 +1116,9 @@
         sendType: [
           { required: true, message: "鍙戦�佽缃笉鑳戒负绌�", trigger: "blur" },
         ],
-        deptcode: [
-          { required: true, message: "閫傜敤绉戝涓嶈兘涓虹┖", trigger: "blur" },
-        ],
+        // deptcode: [
+        //   { required: true, message: "閫傜敤绉戝涓嶈兘涓虹┖", trigger: "blur" },
+        // ],
         // leavehospitaldistrictcode: [
         //   { required: true, message: "閫傜敤鐥呭尯涓嶈兘涓虹┖", trigger: "blur" },
         // ],
@@ -1216,8 +1137,8 @@
 
   created() {
     this.appraiselist = store.getters.appraiselist;
-    // this.belongWards = store.getters.belongWards;
-    // this.belongDepts = store.getters.belongDepts;
+    this.belongWards = store.getters.belongWards;
+    this.belongDepts = store.getters.belongDepts;
     this.username = store.getters.name;
     this.mode = store.getters.Askmode;
     this.id = this.$route.query.id;
@@ -1228,7 +1149,6 @@
     this.form.serviceType = Number(this.$route.query.serviceType);
     this.Acquisitiontype();
     this.Getdetails();
-    this.getDeptTree();
     this.getFollowupclassify();
   },
   activated() {
@@ -1243,7 +1163,6 @@
 
       this.Acquisitiontype();
       this.Getdetails();
-      this.getDeptTree();
       this.getFollowupclassify();
     }
   },
@@ -1272,14 +1191,7 @@
       });
       return result;
     },
-    getDeptTree() {
-      // 绉戝鍒楄〃
-      deptTreeSelect().then((response) => {
-        let flatArray = this.flattenArray(response.data);
-        this.belongWards = flatArray;
-        this.belongDepts = flatArray;
-      });
-    },
+
     flattenArray(multiArray) {
       let result = [];
 
@@ -1322,7 +1234,6 @@
           {
             value: "4",
             label: "鐭俊",
-
           },
           {
             value: "5",
@@ -1333,12 +1244,11 @@
         this.checkboxlist = [
           {
             value: "3",
-            label: "鐢佃瘽",
+            label: "鏅鸿兘璇煶",
           },
           {
             value: "4",
             label: "鐭俊",
-
           },
           {
             value: "5",
@@ -1349,10 +1259,10 @@
             label: "寰俊灏忕▼搴�",
           },
 
-          {
-            value: "8",
-            label: "鏅鸿兘鏈哄櫒浜�",
-          },
+          // {
+          //   value: "8",
+          //   label: "鏅鸿兘鏈哄櫒浜�",
+          // },
         ];
       } else if (this.form.serviceType == 7 || this.form.serviceType == 5) {
         this.checkboxlist = [
@@ -1366,12 +1276,11 @@
           },
           {
             value: "3",
-            label: "鐢佃瘽",
+            label: "鏅鸿兘璇煶",
           },
           {
             value: "4",
             label: "鐭俊",
-
           },
           {
             value: "5",
@@ -1390,12 +1299,11 @@
           },
           {
             value: "3",
-            label: "鐢佃瘽",
+            label: "鏅鸿兘璇煶",
           },
           {
             value: "4",
             label: "鐭俊",
-
           },
           {
             value: "5",
@@ -1406,10 +1314,10 @@
             label: "寰俊灏忕▼搴�",
           },
 
-          {
-            value: "8",
-            label: "鏅鸿兘鏈哄櫒浜�",
-          },
+          // {
+          //   value: "8",
+          //   label: "鏅鸿兘鏈哄櫒浜�",
+          // },
         ];
       }
       getFollowuplist(this.topqueryParams).then((response) => {
@@ -1429,7 +1337,8 @@
       });
     },
     // 淇濆瓨
-    submitForm(formName) {
+    submitForm(type) {
+      if (this.templateor && type) this.templateor = false;
       if (this.time4 && this.form.sendType == 3)
         this.form.showTimeMorn = this.time4;
       this.form.sendTimeslot = [
@@ -1439,30 +1348,29 @@
           xh: 1,
         },
       ];
-      if (
-        (this.belongWards[0] || this.belongWards[0]) &&
-        this.username == "andmin"
-      ) {
-        if (this.tempbelongWards[0] || this.tempbelongWards[0]) {
-        } else {
-          this.$modal.msgError("璇烽�夋嫨绉戝鎴栫梾鍖�");
-          return;
-        }
-      }
-      if (this.checkList[0]) {
-        this.form.preachform = this.checkList.join(",");
+
+      if (this.checkList) {
+        this.form.preachform = this.checkList;
       } else {
         this.$modal.msgError("璇烽�夋嫨鏈嶅姟绫诲瀷");
+        return;
+      }
+
+      if (this.deptcodesWards[0] || this.leavehospitaldistrictcodes[0]) {
+      } else {
+        this.$modal.msgError("璇烽�夋嫨绉戝鎴栫梾鍖�");
         return;
       }
       if (!this.form.patTaskRelevances[0] && !this.form.longTask) {
         this.$modal.msgError("璇烽�夋嫨鐥呬汉");
         return;
       }
-      if (!this.form.templatename) {
+
+      if (!this.form.templatename && !this.templateor) {
         this.$modal.msgError("鏈�夋嫨妯℃澘");
         return;
       }
+
       if ((this.form.sendType == 1 && this.time1) || this.form.sendType == 2) {
       } else if (
         (this.form.sendType == 3 && this.time4) ||
@@ -1485,18 +1393,14 @@
         this.form.type = this.$route.query.type;
       }
       this.form.serviceType = this.serviceType;
-      this.form.leaveldeptcodes = store.getters.belongDepts.map(
-        (obj) => obj.deptCode
-      );
-      this.form.leavehospitaldistrictcodes = store.getters.belongWards.map(
-        (obj) => obj.districtCode
-      );
+      this.form.deptcode = this.deptcodesWards.join(",");
+      this.form.leavehospitaldistrictcode =
+        this.leavehospitaldistrictcodes.join(",");
       Editsingletask(this.form).then((res) => {
         if (res.code == 200) {
           if (this.form.taskid) {
             this.$modal.msgSuccess("淇敼鎴愬姛");
           } else {
-            this.puttaskid(res.data);
             this.$modal.msgSuccess("鏂板鎴愬姛");
           }
           this.$router.push({
@@ -1506,29 +1410,7 @@
         }
       });
     },
-    // 缁欎换鍔℃ā鏉胯祴鍊间换鍔d
-    puttaskid(data) {
-      getTaskparticty(this.form.templateid).then((res) => {
-        if (res.code == 200) {
-          this.objyl = res.data;
-          this.objyl.isoperation = 2;
-          this.objyl.taskid = data.taskId;
-          if (!this.objyl.sendDa) {
-            this.objyl.sendDay = "5";
-          }
-          console.log(this.objyl.sendDay, "this.objyl.sendDay");
 
-          Taskparticty(this.objyl).then((response) => {
-            this.previewtf = false;
-            this.form.libtemplateid = this.objyl.id;
-            this.form.templateid = response.data;
-            // this.putbelongDepts(response.data);
-            this.form.templatename = this.objyl.templateName;
-            this.$modal.msgSuccess("閫夋嫨妯℃澘鎴愬姛");
-          });
-        }
-      });
-    },
     // ----------------------琛ㄦ牸瀛愮粍浠朵簨浠�
 
     // 閫夋嫨棰勮
@@ -1541,13 +1423,13 @@
         getvFollowup({ id: row.id }).then((res) => {
           if (res.code == 200) {
             this.objyl = res.data;
-            if (this.form.longTask) {
-              this.objyl.sendDay = 5;
-            }
+            // if (this.form.longTask) {
+            //   this.objyl.sendDay = 5;
+            // }
             this.queryParamsdept.type = 2;
             this.queryParamsdept.tempid = row.id;
-            this.listDept();
-
+            this.tempDetpRelevanceslist = [];
+            this.tempbelongWards = [];
             this.objyl.suitway = this.objyl.suitway.split(",");
             this.questionList = res.data.ivrLibaTemplateScriptVOList;
             this.getillness(row.id);
@@ -1571,8 +1453,7 @@
           this.queryParamsdept.type = 21;
           // 鐤剧梾
           this.getillness(this.form.libtemplateid);
-          // 鎵ц鑾峰彇璇ヤ换鍔℃ā鏉縤d
-          this.listDept();
+
           getvFollowup({ id: this.form.libtemplateid }).then((res) => {
             if (res.code == 200) {
               this.previewtf = true;
@@ -1757,8 +1638,6 @@
       this.$modal
         .confirm('鏄惁纭鍒犻櫎鎮h��"' + row.name + '"鐨勬湇鍔¢」锛�')
         .then(() => {
-          console.log();
-
           let indexa = this.overallCase.indexOf(row);
           let indexb = this.form.patTaskRelevances.indexOf(row);
           this.overallCase.splice(indexa, 1);
@@ -1784,9 +1663,15 @@
           store.getters.leavehospitaldistrictcodes;
         this.patientqueryParams.leaveldeptcodes = null;
       }
-      if (!this.patientqueryParams.leavehospitaldistrictcodes||!this.patientqueryParams.leavehospitaldistrictcodes[0])
+      if (
+        !this.patientqueryParams.leavehospitaldistrictcodes ||
+        !this.patientqueryParams.leavehospitaldistrictcodes[0]
+      )
         this.patientqueryParams.leavehospitaldistrictcodes = null;
-      if (!this.patientqueryParams.leaveldeptcodes||!this.patientqueryParams.leaveldeptcodes[0])
+      if (
+        !this.patientqueryParams.leaveldeptcodes ||
+        !this.patientqueryParams.leaveldeptcodes[0]
+      )
         this.patientqueryParams.leaveldeptcodes = null;
       this.handleAddpatient();
     },
@@ -1818,6 +1703,7 @@
       this.form = {
         patTaskRelevances: [],
         sendType: 1,
+        sendDay: 5,
         templatename: "",
         templateid: null,
         libtemplateid: null,
@@ -1836,7 +1722,7 @@
               ? this.form.patTaskRelevances
               : [];
             this.overallCase = this.form.patTaskRelevances.concat();
-            this.checkList = this.form.preachform.split(",");
+            this.checkList = this.form.preachform;
 
             this.overallCase.forEach((item) => {
               if (item.endtime) {
@@ -1851,6 +1737,9 @@
               } else {
                 this.time1 = this.form.showTimeMorn.split(",");
               }
+            }
+            if (this.form.taskid) {
+              this.listDept();
             }
             if (this.form.showTimeNoon)
               this.time2 = this.form.showTimeNoon.split(",");
@@ -1885,22 +1774,48 @@
     },
     // 鑾峰彇绉戝鍒楄〃
     listDept() {
-      this.tempDetpRelevanceslist = [];
-      this.tempbelongWards = [];
-      depthospgetsonlist(this.queryParamsdept).then((res) => {
+      this.leavehospitaldistrictcodes = [];
+      this.deptcodesWards = [];
+      this.queryParamsdept.taskId = this.form.taskid;
+      taskdepthospgetsonlist(this.queryParamsdept).then((res) => {
         if (res.code == 200) {
           let arr = res.rows;
           arr.forEach((item) => {
             if (item.deptType == 1) {
               this.deptlist.push(item);
-              this.tempDetpRelevanceslist.push(item.deptCode);
+              this.deptcodesWards.push(item.deptCode);
             } else if (item.deptType == 2) {
               this.hosplist.push(item);
-              this.tempbelongWards.push(item.deptCode);
+              this.leavehospitaldistrictcodes.push(item.deptCode);
             }
           });
         }
       });
+    },
+    // 浠诲姟绉戝鍒犻櫎瑙﹀彂
+    removetag(row) {
+      let result = this.deptlist
+        .filter((item) => item.deptCode == row)
+        .map((item) => item.id);
+
+      if (result.length) {
+        taskdepthospgetsondel(result).then((res) => {
+          if (res.code) {
+          }
+        });
+      }
+    },
+    // 闄㈠尯鍒犻櫎鍒犻櫎瑙﹀彂
+    removehpsp(row) {
+      let result = this.hosplist
+        .filter((item) => item.deptCode == row)
+        .map((item) => item.id);
+      if (result.length) {
+        taskdepthospgetsondel(result).then((res) => {
+          if (res.code) {
+          }
+        });
+      }
     },
     getFollowupclassify() {
       getFollowupclassify({}).then((res) => {
@@ -2005,9 +1920,9 @@
       if (this.form.id) {
         this.objyl.taskid = this.form.id;
       }
-      if (!this.objyl.sendDay) {
-        this.objyl.sendDay = "5";
-      }
+      // if (!this.objyl.sendDay) {
+      //   this.objyl.sendDay = "5";
+      // }
       if (this.form.templateid) {
         deleteTaskparticty(this.form.templateid).then((res) => {
           if (res.code == 200) {
@@ -2087,34 +2002,36 @@
       this.foncheckList = this.foncheckList.filter(
         (obj) => obj.value !== tag.value
       );
-      console.log(this.checkList, "checkList");
     },
     // 绉戝澶勭悊
     Departmenttreatment() {
-      this.tempDetpRelevanceslist.forEach((item) => {
-        this.tempDetpRelevanceslistform.push({
-          deptType: 1,
-          longTemp: this.form.longTask,
-          deptCode: item,
-          tempid: null,
-          type: 21,
-        });
-      });
+      if (!this.form.taskid) {
+        this.templateor = true;
+        MessageBox.confirm(
+          "褰撳墠涓烘柊澧炰换鍔℃湭淇濆瓨涓嶅彲鍏宠仈妯℃澘锛屾槸鍚﹀厛淇濆瓨浠诲姟锛�",
+          "鍔熻兘鎻愮ず",
+          {
+            confirmButtonText: "淇濆瓨浠诲姟",
+            cancelButtonText: "鍙栨秷",
+            type: "warning",
+          }
+        )
+          .then(() => {
+            if (Array.isArray(this.objyl.suitway)) {
+              this.objyl.suitway = this.objyl.suitway.join(",");
+            }
+            this.objyl.templateid = this.objyl.id;
+            this.objyl.isoperation = 1;
+            this.form.ivrTaskTemplateVO = this.objyl;
 
-      this.tempbelongWards.forEach((item) => {
-        this.tempbelongWardsform.push({
-          deptType: 2,
-          longTemp: this.form.longTask,
-          deptCode: item,
-          tempid: null,
-          type: 21,
-        });
-      });
-      console.log(33);
-
-      setTimeout(() => {
-        this.previewFn();
-      }, 1000);
+            this.submitForm();
+          })
+          .catch(() => {});
+      } else {
+        setTimeout(() => {
+          this.previewFn();
+        }, 1000);
+      }
     },
     // 鍓嶅線淇敼
     Modifytemplate() {
diff --git a/src/views/patient/questionnaire/index.vue b/src/views/patient/questionnaire/index.vue
index 0f992b7..731cb04 100644
--- a/src/views/patient/questionnaire/index.vue
+++ b/src/views/patient/questionnaire/index.vue
@@ -1,8 +1,69 @@
 <template>
   <div class="app-container">
+    <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
+            shadow="hover"
+            :body-style="item.router ? ' cursor: pointer' : 'cursor: default'"
+          >
+            <div style="padding: 8px" @click="$router.push(item.router)">
+              <span>{{ item.name }}</span>
+              <div
+                style="
+                  text-align: center;
+                  font-size: 18px;
+                  margin-top: 10px;
+                  font-weight: 600;
+                "
+              >
+                {{ item.value }}
+              </div>
+            </div>
+          </el-card>
+        </el-col>
+        <el-col :span="2.5">
+          <div class="ysfleftvlue">
+            <el-card shadow="hover">
+              <div style="padding: 8px">
+                <span>宸插彂閫佹湭棰嗗彇</span>
+                <div
+                  style="
+                    text-align: center;
+                    font-size: 18px;
+                    margin-top: 10px;
+                    font-weight: 600;
+                  "
+                >
+                  {{ yfsvalue }}
+                </div>
+              </div>
+            </el-card>
+          </div>
+        </el-col>
+        <el-col :span="2.5">
+          <div class="errleftvlue">
+            <el-card shadow="hover">
+              <div style="padding: 8px">
+                <span>寮傚父</span>
+                <div
+                  style="
+                    text-align: center;
+                    font-size: 18px;
+                    margin-top: 10px;
+                    font-weight: 600;
+                  "
+                >
+                  {{ ycvalue }}
+                </div>
+              </div>
+            </el-card>
+          </div>
+        </el-col>
+      </el-row>
+    </div>
     <el-row :gutter="20">
       <!--鐢ㄦ埛鏁版嵁-->
-
       <el-form
         :model="topqueryParams"
         ref="queryForm"
@@ -11,10 +72,14 @@
         v-show="showSearch"
         label-width="98px"
       >
-        <el-form-item label="闂嵎浜哄鍚�">
-          <el-input v-model="topqueryParams.name"></el-input>
+        <el-form-item label="浠诲姟鍚嶇О">
+          <el-input
+            v-model="topqueryParams.taskName"
+            placeholder="璇烽�夋嫨浠诲姟鍚嶇О"
+          ></el-input>
         </el-form-item>
-        <el-form-item label="闂嵎鏃堕棿">
+
+        <el-form-item label="鍑洪櫌鏃堕棿">
           <el-date-picker
             v-model="dateRange"
             style="width: 240px"
@@ -25,8 +90,26 @@
             end-placeholder="缁撴潫鏃ユ湡"
           ></el-date-picker>
         </el-form-item>
-        <el-form-item label="闂嵎绫诲瀷" prop="status">
-          <el-select v-model="topqueryParams.topic" placeholder="璇烽�夋嫨">
+
+        <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"
@@ -36,26 +119,13 @@
             </el-option>
           </el-select>
         </el-form-item>
-        <el-form-item label="闂嵎鍚嶇О" prop="status">
-          <el-input v-model="topqueryParams.name"></el-input>
-        </el-form-item>
-        <el-form-item label="鍙戦�佺姸鎬�" prop="status">
-          <el-select v-model="topqueryParams.topic" 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"
+            @click="handleQuery(1)"
             >鎼滅储</el-button
           >
           <el-button icon="el-icon-refresh" size="medium" @click="resetQuery"
@@ -72,7 +142,6 @@
             icon="el-icon-plus"
             size="medium"
             @click="handleAdd"
-            v-hasPermi="['system:user:add']"
             >鏂板</el-button
           >
         </el-col>
@@ -95,40 +164,12 @@
           <div class="documentf">
             <div class="document">
               <el-button
-                type="info"
-                icon="el-icon-refresh"
-                size="medium"
-                @click="TaskReset"
-                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="success"
-                icon="el-icon-position"
-                size="medium"
-                @click="AllStarted"
-                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"
-                icon="el-icon-remove"
+                plain
+                icon="el-icon-warning-outline"
                 size="medium"
-                @click="AllStop"
-                v-hasPermi="['system:user:export']"
-                >鍏ㄩ儴鍋滄</el-button
+                @click="toleadExport(1)"
+                >鎵ц澶辫触</el-button
               >
             </div>
           </div>
@@ -137,174 +178,305 @@
           <div class="documentf">
             <div class="document">
               <el-button
-                type="primary"
-                icon="el-icon-remove"
+                type="danger"
+                plain
+                icon="el-icon-warning"
                 size="medium"
-                @click="Sendtimesetting"
-                v-hasPermi="['system:user:export']"
-                >鍙戦�佹椂闂磋缃�</el-button
+                @click="toleadExport(2)"
+                >缁撴灉寮傚父</el-button
               >
             </div>
           </div>
         </el-col>
-
-        <!-- <el-col :span="1.5"> </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="搴忓彿"
+          label="浠诲姟鍚嶇О"
           fixed
           align="center"
-          key="userId"
-          prop="userId"
+          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="patientname"
-          prop="patientname"
+          key="sendname"
+          prop="sendname"
         />
         <el-table-column
-          label="搴婂彿"
+          label="浠诲姟鐘舵��"
           align="center"
-          sortable
-          key="bedNo"
-          prop="bedNo"
+          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="骞撮緞" align="center" key="age" prop="age" />
         <el-table-column
-          label="绉戝/鐥呭尯"
+          label="闅忚鏃堕棿"
+          sortable
           align="center"
-          key="phonenumber"
-          prop="phonenumber"
+          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="闂嵎鍚嶇О"
+        <!-- <el-table-column
+          label="鐤剧梾鍚嶇О"
           align="center"
-          key="topicnumber"
-          prop="topicnumber"
+          key="icdName"
+          prop="icdName"
           width="120"
           :show-overflow-tooltip="true"
         >
-          <template slot-scope="scope">
-            <div>鏈悗搴峰甯歌瘑</div>
-          </template>
-        </el-table-column>
-        <el-table-column
-          label="鍙戦�佹柟寮�"
-          align="center"
-          key="topicnumberc"
-          prop="topicnumberc"
-          width="120"
-          :show-overflow-tooltip="true"
-        >
-          <template slot-scope="scope">
-            <div>鎵归噺</div>
-          </template>
-        </el-table-column>
-        <el-table-column
-          label="鍙戦�佸唴瀹�"
-          align="center"
-          key="topicnumberb"
-          prop="topicnumberb"
-          width="120"
-        />
-        <el-table-column
-          label="鍙戦�佷汉鍛�"
-          align="center"
-          key="topicnumberaa"
-          prop="topicnumberaa"
-          width="120"
-        />
+        </el-table-column> -->
 
         <el-table-column
-          label="灏辫瘖鏃堕棿"
-          sortable
+          label="鍑洪櫌闅忚妯℃澘鍚嶇О"
           align="center"
-          prop="createTime"
-          width="160"
-        >
-          <template slot-scope="scope">
-            <span>{{ formatTime(scope.row.createTime) }}</span>
-          </template>
-        </el-table-column>
+          key="templatename"
+          prop="templatename"
+          width="200"
+        />
         <el-table-column
-          label="鍙戦�佹椂闂�"
-          sortable
+          label="浠诲姟鎵ц鏂瑰紡"
           align="center"
-          prop="createTime"
+          key="preachform"
+          prop="preachform"
           width="160"
-        >
-          <template slot-scope="scope">
-            <span>{{ formatTime(scope.row.createTime) }}</span>
-          </template>
-        </el-table-column>
-        <el-table-column
-          label="鍥炲鏃堕棿"
-          sortable
-          align="center"
-          prop="createTime"
-          width="160"
-        >
-          <template slot-scope="scope">
-            <span>{{ formatTime(scope.row.createTime) }}</span>
-          </template>
-        </el-table-column>
-
-        <el-table-column
-          label="鍙戦�佺姸鎬�"
-          align="center"
-          key="topicnumbera"
-          prop="topicnumbera"
-          width="120"
           :show-overflow-tooltip="true"
         >
           <template slot-scope="scope">
-            <div>宸插彂閫佹湭棰嗗彇</div>
+            <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="鎿嶄綔"
-          fixed="right"
           align="center"
+          fixed="right"
           width="200"
           class-name="small-padding fixed-width"
         >
           <template slot-scope="scope">
-            <!-- <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
+              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-button
-              size="medium"
-              type="text"
-              @click="Seedetails(scope.row)"
-              v-hasPermi="['system:user:edit']"
+              <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
@@ -455,6 +627,7 @@
 
 <script>
 import {
+  listUser,
   getUser,
   delUser,
   addUser,
@@ -463,13 +636,13 @@
   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";
 
 export default {
-  name: "User",
-  dicts: ["sys_normal_disable", "sys_user_sex"],
+  name: "Discharge",
+  dicts: ["sys_normal_disable", "sys_user_sex", "sys_yujing", "sys_suggest"],
   components: { Treeselect },
   data() {
     return {
@@ -506,8 +679,11 @@
       },
       dynamicTags: ["閫夐」涓�", "閫夐」浜�", "閫夐」涓�"], //閫夐」
       inputVisible: false,
+      ycvalue: "",
+      yfsvalue: "",
       inputValue: "",
-      previewVisible: false, //褰卞儚闅忚棰勮寮规
+      preachform: "",
+      previewVisible: false, //闂ㄨ瘖闅忚棰勮寮规
       radio: "",
       radios: [],
       previewtype: 2, //棰勮褰卞儚闅忚绫诲瀷
@@ -519,63 +695,61 @@
       },
       value: [],
       list: [],
-      loading: false,
-      states: [
-        "Alabama",
-        "Nebraska",
-        "Nevada",
-        "New Hampshire",
-        "New Jersey",
-        "New Mexico",
-        "New York",
-        "North Carolina",
-        "North Dakota",
-        "Ohio",
-        "Oklahoma",
-        "Oregon",
-        "Pennsylvania",
-        "Rhode Island",
-        "South Carolina",
-        "South Dakota",
-        "Tennessee",
-        "Texas",
-        "Utah",
-        "Vermont",
-        "Virginia",
-        "Washington",
-        "West Virginia",
-        "Wisconsin",
-        "Wyoming",
-      ],
-      pickerOptions: {
-        disabledDate(time) {
-          return time.getTime() > Date.now();
+
+      sourcetype: [
+        {
+          value: 1,
+          label: "绉戝",
+          children: [],
         },
-        shortcuts: [
-          {
-            text: "浠婂ぉ",
-            onClick(picker) {
-              picker.$emit("pick", new Date());
-            },
-          },
-          {
-            text: "鏄ㄥぉ",
-            onClick(picker) {
-              const date = new Date();
-              date.setTime(date.getTime() - 3600 * 1000 * 24);
-              picker.$emit("pick", date);
-            },
-          },
-          {
-            text: "涓�鍛ㄥ墠",
-            onClick(picker) {
-              const date = new Date();
-              date.setTime(date.getTime() - 3600 * 1000 * 24 * 7);
-              picker.$emit("pick", date);
-            },
-          },
-        ],
-      },
+        {
+          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: "",
@@ -589,8 +763,11 @@
       topqueryParams: {
         pageNum: 1,
         pageSize: 10,
-        serviceType:7,
-
+        serviceType: 7,
+        searchscope: 3,
+        scopetype: [],
+        leaveldeptcodes: [],
+        leavehospitaldistrictcodes: [],
       },
       propss: { multiple: true },
       options: [],
@@ -598,90 +775,135 @@
       topicoptions: [
         {
           value: 1,
-          label: "寰呭鏍�",
+          label: "琚鍙�",
         },
         {
           value: 2,
-          label: "鎵ц涓�",
+          label: "寰呭彂閫�",
         },
         {
           value: 3,
-          label: "鎵ц瀹屾垚",
+          label: "宸插彂閫佹湭棰嗗彇",
         },
         {
           value: 4,
-          label: "宸插仠姝�",
+          label: "涓嶆墽琛�",
+        },
+        {
+          value: 5,
+          label: "鍙戦�佸け璐�",
+        },
+        {
+          value: 6,
+          label: "宸插畬鎴�",
         },
       ],
+      topicoptionsyj: [
+        {
+          value: 1,
+          label: "寮傚父",
+        },
+        {
+          value: 0,
+          label: "姝e父",
+        },
+      ],
+      errtype: "",
+      leavehospitaldistrictcode: "",
+      serviceState: [],
+      checkboxlist: [],
       // 琛ㄥ崟鏍¢獙
-      rules: {
-        userName: [
-          { required: true, message: "鐢ㄦ埛鍚嶇О涓嶈兘涓虹┖", trigger: "blur" },
-          {
-            min: 2,
-            max: 20,
-            message: "鐢ㄦ埛鍚嶇О闀垮害蹇呴』浠嬩簬 2 鍜� 20 涔嬮棿",
-            trigger: "blur",
-          },
-        ],
-        nickName: [
-          { required: true, message: "鐢ㄦ埛鏄电О涓嶈兘涓虹┖", trigger: "blur" },
-        ],
-        password: [
-          { required: true, message: "鐢ㄦ埛瀵嗙爜涓嶈兘涓虹┖", trigger: "blur" },
-          {
-            min: 5,
-            max: 20,
-            message: "鐢ㄦ埛瀵嗙爜闀垮害蹇呴』浠嬩簬 5 鍜� 20 涔嬮棿",
-            trigger: "blur",
-          },
-        ],
-        email: [
-          {
-            type: "email",
-            message: "璇疯緭鍏ユ纭殑閭鍦板潃",
-            trigger: ["blur", "change"],
-          },
-        ],
-        phonenumber: [
-          {
-            pattern: /^1[3|4|5|6|7|8|9][0-9]\d{8}$/,
-            message: "璇疯緭鍏ユ纭殑鎵嬫満鍙风爜",
-            trigger: "blur",
-          },
-        ],
-        IDnumber: [
-          {
-            pattern:
-              /^\d{6}((((((19|20)\d{2})(0[13-9]|1[012])(0[1-9]|[12]\d|30))|(((19|20)\d{2})(0[13578]|1[02])31)|((19|20)\d{2})02(0[1-9]|1\d|2[0-8])|((((19|20)([13579][26]|[2468][048]|0[48]))|(2000))0229))\d{3})|((((\d{2})(0[13-9]|1[012])(0[1-9]|[12]\d|30))|((\d{2})(0[13578]|1[02])31)|((\d{2})02(0[1-9]|1\d|2[0-8]))|(([13579][26]|[2468][048]|0[048])0229))\d{2}))(\d|X|x)$/,
-            message: "璇疯緭鍏ユ纭殑韬唤璇佸彿鐮�",
-            trigger: "blur",
-          },
-        ],
-      },
+      rules: {},
     };
   },
   watch: {},
   created() {
-    this.getList();
+    this.serviceState = store.getters.serviceState;
+    this.checkboxlist = store.getters.checkboxlist;
+    this.errtype = this.$route.query.errtype;
+    this.leavehospitaldistrictcode =
+      this.$route.query.leavehospitaldistrictcode;
+    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;
     });
   },
-  // 鎼滅储
-  mounted() {
-    this.list = this.states.map((item) => {
-      return { value: `value:${item}`, label: `label:${item}` };
-    });
+  activated() {
+    this.getList(1);
   },
   methods: {
-    /** 鏌ヨ褰卞儚闅忚鍒楄〃 */
-    getList() {
+    /** 鏌ヨ闂ㄨ瘖闅忚鏈嶅姟鍒楄〃 */
+    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;
+        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].dfs;
+          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;
       });
     },
     // 鏌ョ湅褰卞儚闅忚璇︽儏
@@ -741,17 +963,49 @@
       this.resetForm("form");
     },
     /** 鎼滅储鎸夐挳鎿嶄綔 */
-    handleQuery() {
+    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.getList();
+      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.resetForm("queryForm");
-      this.topqueryParams.deptId = undefined;
-      this.$refs.tree.setCurrentKey(null);
-      this.handleQuery();
+      this.topqueryParams = {
+        pageNum: 1,
+        pageSize: 10,
+        serviceType: 7,
+        searchscope: 2,
+      };
+      this.handleQuery(1);
     },
     // 澶氶�夋閫変腑鏁版嵁
     handleSelectionChange(selection) {
@@ -815,13 +1069,13 @@
             updateUser(this.form).then((response) => {
               this.$modal.msgSuccess("淇敼鎴愬姛");
               this.open = false;
-              this.getList();
+              this.getList(1);
             });
           } else {
             addUser(this.form).then((response) => {
               this.$modal.msgSuccess("鏂板鎴愬姛");
               this.open = false;
-              this.getList();
+              this.getList(1);
             });
           }
         }
@@ -836,7 +1090,7 @@
           return delUser(userIds);
         })
         .then(() => {
-          this.getList();
+          this.getList(1);
           this.$modal.msgSuccess("鍒犻櫎鎴愬姛");
         })
         .catch(() => {});
@@ -849,7 +1103,7 @@
           return console.log("鍋滄鎴愬姛");
         })
         .then(() => {
-          this.getList();
+          this.getList(1);
           this.$modal.msgWarning("鍋滄鎴愬姛");
         })
         .catch(() => {});
@@ -862,7 +1116,7 @@
           return console.log("寮�鍚垚鍔�");
         })
         .then(() => {
-          this.getList();
+          this.getList(1);
           this.$modal.msgSuccess("寮�鍚垚鍔�");
         })
         .catch(() => {});
@@ -875,7 +1129,7 @@
           return console.log("閫変腑鎴愬姛");
         })
         .then(() => {
-          this.getList();
+          this.getList(1);
           this.$modal.msgSuccess("閲嶇疆鎴愬姛");
         })
         .catch(() => {});
@@ -886,22 +1140,52 @@
     },
     // 璺宠浆璇︽儏椤�
     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/QuestionnaireTask",
-        query: { taskid: row.taskid, patid: row.patid },
+        path: "/followvisit/record/detailpage/",
+        query: {
+          taskid: row.taskid,
+          patid: row.patid,
+          id: row.id,
+          Voicetype: type,
+        },
       });
     },
-    // 瀵煎叆鎸夐挳
-    toleadExport() {},
+    // 渚挎嵎鎸夐挳
+    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(
-        "system/user/export",
+        "smartor/serviceSubtask/export",
         {
           ...this.topqueryParams,
         },
         `user_${new Date().getTime()}.xlsx`
       );
+    },
+    // 寮傚父鍒楁覆鏌�
+    tableRowClassName({ row, rowIndex }) {
+      if (row.excep == 1) {
+        return "warning-row";
+      }
+      return "";
     },
   },
 };
@@ -917,6 +1201,9 @@
 .document {
   // width: 100px;
   height: 50px;
+}
+::v-deep.el-table .warning-row {
+  background: #eec4c4;
 }
 
 .documentf {
@@ -996,6 +1283,28 @@
     }
   }
 }
+::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;
diff --git a/src/views/patient/ycquestionnaire/index.vue b/src/views/patient/ycquestionnaire/index.vue
new file mode 100644
index 0000000..3c211f2
--- /dev/null
+++ b/src/views/patient/ycquestionnaire/index.vue
@@ -0,0 +1,1348 @@
+<template>
+  <div class="app-container">
+    <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
+            shadow="hover"
+            :body-style="item.router ? ' cursor: pointer' : 'cursor: default'"
+          >
+            <div style="padding: 8px" @click="$router.push(item.router)">
+              <span>{{ item.name }}</span>
+              <div
+                style="
+                  text-align: center;
+                  font-size: 18px;
+                  margin-top: 10px;
+                  font-weight: 600;
+                "
+              >
+                {{ item.value }}
+              </div>
+            </div>
+          </el-card>
+        </el-col>
+        <el-col :span="2.5">
+          <div class="ysfleftvlue">
+            <el-card shadow="hover">
+              <div style="padding: 8px">
+                <span>宸插彂閫佹湭棰嗗彇</span>
+                <div
+                  style="
+                    text-align: center;
+                    font-size: 18px;
+                    margin-top: 10px;
+                    font-weight: 600;
+                  "
+                >
+                  {{ yfsvalue }}
+                </div>
+              </div>
+            </el-card>
+          </div>
+        </el-col>
+        <el-col :span="2.5">
+          <div class="errleftvlue">
+            <el-card shadow="hover">
+              <div style="padding: 8px">
+                <span>寮傚父</span>
+                <div
+                  style="
+                    text-align: center;
+                    font-size: 18px;
+                    margin-top: 10px;
+                    font-weight: 600;
+                  "
+                >
+                  {{ ycvalue }}
+                </div>
+              </div>
+            </el-card>
+          </div>
+        </el-col>
+      </el-row>
+    </div>
+    <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";
+
+export default {
+  name: "Discharge",
+  dicts: ["sys_normal_disable", "sys_user_sex", "sys_yujing", "sys_suggest"],
+  components: { Treeselect },
+  data() {
+    return {
+      // 閬僵灞�
+      loading: true,
+      // 閫変腑鏁扮粍
+      ids: [],
+      // 闈炲崟涓鐢�
+      single: true,
+      // 闈炲涓鐢�
+      multiple: true,
+      // 鏄剧ず鎼滅储鏉′欢
+      showSearch: true,
+      // 鎬绘潯鏁�
+      total: 0,
+      // 鐢ㄦ埛琛ㄦ牸鏁版嵁
+      userList: null,
+      // 寮瑰嚭灞傛爣棰�
+      title: "鏂板闂ㄨ瘖闅忚",
+      // 鏄惁鏄剧ず淇敼銆佹坊鍔犲脊鍑哄眰
+      addalteropen: false,
+      // 淇敼鍙戦�佹椂闂村璇濇
+      modificationVisible: false,
+      // 閮ㄩ棬鍚嶇О
+      deptName: undefined,
+      // 榛樿瀵嗙爜
+      initPassword: undefined,
+      // 鏃ユ湡鑼冨洿
+      dateRange: [],
+      // 宀椾綅閫夐」
+      postOptions: [],
+      ruleForm: {
+        type: [],
+      },
+      dynamicTags: ["閫夐」涓�", "閫夐」浜�", "閫夐」涓�"], //閫夐」
+      inputVisible: false,
+      ycvalue: "",
+      yfsvalue: "",
+      inputValue: "",
+      preachform: "",
+      previewVisible: false, //闂ㄨ瘖闅忚棰勮寮规
+      radio: "",
+      radios: [],
+      previewtype: 2, //棰勮闂ㄨ瘖闅忚绫诲瀷
+      total: 0, // 鎬绘潯鏁�
+      ImportQuantity: 999, //瀵奸棬璇婇殢璁挎暟閲�
+      //棰勮闂ㄨ瘖闅忚淇℃伅
+      previewvalue: {
+        username: "杩欎釜鍖荤敓瀵逛綘鎬庝箞鏍�",
+      },
+      value: [],
+      list: [],
+
+      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: 9,
+        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.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].dfs;
+          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: 9,
+        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: 9,
+        },
+      });
+    },
+
+    /** 閲嶇疆瀵嗙爜鎸夐挳鎿嶄綔 */
+    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/repositoryai/templateku/configurat/index.vue b/src/views/repositoryai/templateku/configurat/index.vue
index 93e2318..d7b43ed 100644
--- a/src/views/repositoryai/templateku/configurat/index.vue
+++ b/src/views/repositoryai/templateku/configurat/index.vue
@@ -1806,7 +1806,7 @@
       if (!this.ruleForm.assortid) {
         this.ruleForm.assortid = -1;
       }
-      this.ruleForm.labelInfo = JSON.stringify(this.dynamicTags);
+      // this.ruleForm.labelInfo = JSON.stringify(this.dynamicTags);
       if (Array.isArray(this.ruleForm.suitway))
         this.ruleForm.suitway = this.ruleForm.suitway.join(",");
       if (Array.isArray(this.ruleForm.campus))
diff --git a/vue.config.js b/vue.config.js
index 9e0a97b..2324694 100644
--- a/vue.config.js
+++ b/vue.config.js
@@ -35,7 +35,7 @@
     proxy: {
       // detail: https://cli.vuejs.org/config/#devserver-proxy
       [process.env.VUE_APP_BASE_API]: {
-        // target: `http://192.168.168.60:8095`,
+        // target: `http://192.168.2.13:8095`,
         // target: `http://10.202.20.185:8095`,
         // target: `http://192.168.100.184:8095`,
         target:`http://localhost:8095`,

--
Gitblit v1.9.3