From 09a1bd58e04706d7e1d6e1543b990c08a4b8f97c Mon Sep 17 00:00:00 2001
From: WXL <1785969728@qq.com>
Date: 星期四, 16 一月 2025 13:57:03 +0800
Subject: [PATCH] 测试完成

---
 src/views/followvisit/tasklist/index.vue               |   18 
 src/views/index.vue                                    |    8 
 src/views/followvisit/outpatient/index.vue             |  908 +++++++++++++++++--------
 src/views/patient/physical/index.vue                   |  107 +-
 src/store/modules/user.js                              |    4 
 src/views/knowledge/education/index copy.vue           |    2 
 src/views/patient/medtechnician/SpecializedService.vue |   20 
 src/views/knowledge/education/index.vue                |    2 
 src/views/patient/medtechnician/PatientChart.vue       |   18 
 src/views/patient/questionnaire/index.vue              |   20 
 src/views/patient/subsequent/index.vue                 |  936 ++++++++++++++++---------
 src/views/followvisit/satisfaction/index.vue           |   22 
 src/views/followvisit/linem/index.vue                  |   22 
 src/views/patient/propaganda/QuestionnaireTask.vue     |    6 
 /dev/null                                              |    0 
 src/views/patient/patient/profile/index.vue            |    4 
 src/views/patient/propaganda/particty.vue              |    6 
 src/views/followvisit/discharge/index.vue              |   20 
 18 files changed, 1,368 insertions(+), 755 deletions(-)

diff --git "a/dist \0502\051.zip" "b/dist \0502\051.zip"
deleted file mode 100644
index b81201d..0000000
--- "a/dist \0502\051.zip"
+++ /dev/null
Binary files differ
diff --git "a/dist \0503\051.zip" "b/dist \0503\051.zip"
deleted file mode 100644
index e06b663..0000000
--- "a/dist \0503\051.zip"
+++ /dev/null
Binary files differ
diff --git a/dist.zip b/dist.zip
deleted file mode 100644
index d5fb9fd..0000000
--- a/dist.zip
+++ /dev/null
Binary files differ
diff --git a/src/store/modules/user.js b/src/store/modules/user.js
index 9c01098..aa7006c 100644
--- a/src/store/modules/user.js
+++ b/src/store/modules/user.js
@@ -24,7 +24,7 @@
     },
     {
       value: "2",
-      label: "鐩戞祴璇勪及",
+      label: "蹇冪數闅忚",
       route: "followvisit/QuestionnaireTask",
       raw: {
         cssClass: "",
@@ -33,7 +33,7 @@
     },
     {
       value: "3",
-      label: "澶嶈瘖绠$悊",
+      label: "浣撴闅忚",
       route: "followvisit/particty",
       raw: {
         cssClass: "",
diff --git a/src/views/followvisit/discharge/index.vue b/src/views/followvisit/discharge/index.vue
index 85dbad0..bf35fbb 100644
--- a/src/views/followvisit/discharge/index.vue
+++ b/src/views/followvisit/discharge/index.vue
@@ -496,7 +496,7 @@
         @pagination="getList"
       />
     </el-row>
-    <!-- 娣诲姞鎴栦慨鏀归棬璇婇殢璁垮璇濇 -->
+    <!-- 娣诲姞鎴栦慨鏀瑰奖鍍忛殢璁垮璇濇 -->
     <el-dialog
       :title="title"
       :visible.sync="addalteropen"
@@ -539,7 +539,7 @@
         </el-row>
         <el-row :gutter="20">
           <el-col :span="24">
-            <el-form-item label="闂ㄨ瘖闅忚瑕佹眰">
+            <el-form-item label="褰卞儚闅忚瑕佹眰">
               <el-input type="textarea" v-model="form.desc"></el-input>
             </el-form-item>
           </el-col>
@@ -664,7 +664,7 @@
       // 鐢ㄦ埛琛ㄦ牸鏁版嵁
       userList: null,
       // 寮瑰嚭灞傛爣棰�
-      title: "鏂板闂ㄨ瘖闅忚",
+      title: "鏂板褰卞儚闅忚",
       // 鏄惁鏄剧ず淇敼銆佹坊鍔犲脊鍑哄眰
       addalteropen: false,
       // 淇敼鍙戦�佹椂闂村璇濇
@@ -686,13 +686,13 @@
       yfsvalue: "",
       inputValue: "",
       preachform: "",
-      previewVisible: false, //闂ㄨ瘖闅忚棰勮寮规
+      previewVisible: false, //褰卞儚闅忚棰勮寮规
       radio: "",
       radios: [],
-      previewtype: 2, //棰勮闂ㄨ瘖闅忚绫诲瀷
+      previewtype: 2, //棰勮褰卞儚闅忚绫诲瀷
       total: 0, // 鎬绘潯鏁�
-      ImportQuantity: 999, //瀵奸棬璇婇殢璁挎暟閲�
-      //棰勮闂ㄨ瘖闅忚淇℃伅
+      ImportQuantity: 999, //瀵煎奖鍍忛殢璁挎暟閲�
+      //棰勮褰卞儚闅忚淇℃伅
       previewvalue: {
         username: "杩欎釜鍖荤敓瀵逛綘鎬庝箞鏍�",
       },
@@ -851,7 +851,7 @@
     this.getList(1);
   },
   methods: {
-    /** 鏌ヨ闂ㄨ瘖闅忚鏈嶅姟鍒楄〃 */
+    /** 鏌ヨ褰卞儚闅忚鏈嶅姟鍒楄〃 */
     getList(refresh) {
       // 榛樿鍏ㄩ儴
       if (this.topqueryParams.searchscope == 3) {
@@ -909,7 +909,7 @@
         this.total = response.total;
       });
     },
-    // 鏌ョ湅闂ㄨ瘖闅忚璇︽儏
+    // 鏌ョ湅褰卞儚闅忚璇︽儏
     Referencequestion(row) {
       this.previewVisible = true;
     },
@@ -927,7 +927,7 @@
         this.options = [];
       }
     },
-    // 闂ㄨ瘖闅忚鐘舵�佷慨鏀�
+    // 褰卞儚闅忚鐘舵�佷慨鏀�
     handleStatusChange(row) {
       let text = row.status === "0" ? "鍚敤" : "鍋滅敤";
       this.$modal
diff --git a/src/views/followvisit/linem/index.vue b/src/views/followvisit/linem/index.vue
index a73719a..ae9ba55 100644
--- a/src/views/followvisit/linem/index.vue
+++ b/src/views/followvisit/linem/index.vue
@@ -178,7 +178,7 @@
         @pagination="getList"
       />
     </el-row>
-    <!-- 娣诲姞鎴栦慨鏀归棬璇婇殢璁垮璇濇 -->
+    <!-- 娣诲姞鎴栦慨鏀瑰奖鍍忛殢璁垮璇濇 -->
     <el-dialog
       :title="title"
       :visible.sync="addalteropen"
@@ -221,7 +221,7 @@
         </el-row>
         <el-row :gutter="20">
           <el-col :span="24">
-            <el-form-item label="闂ㄨ瘖闅忚瑕佹眰">
+            <el-form-item label="褰卞儚闅忚瑕佹眰">
               <el-input type="textarea" v-model="form.desc"></el-input>
             </el-form-item>
           </el-col>
@@ -269,7 +269,7 @@
       // 鐢ㄦ埛琛ㄦ牸鏁版嵁
       userList: null,
       // 寮瑰嚭灞傛爣棰�
-      title: "鏂板闂ㄨ瘖闅忚",
+      title: "鏂板褰卞儚闅忚",
       // 鏄惁鏄剧ず淇敼銆佹坊鍔犲脊鍑哄眰
       addalteropen: false,
       // 閮ㄩ棬鍚嶇О
@@ -285,13 +285,13 @@
       dynamicTags: ["閫夐」涓�", "閫夐」浜�", "閫夐」涓�"], //閫夐」
       inputVisible: false,
       inputValue: "",
-      previewVisible: false, //闂ㄨ瘖闅忚棰勮寮规
+      previewVisible: false, //褰卞儚闅忚棰勮寮规
       radio: "",
       radios: [],
-      previewtype: 2, //棰勮闂ㄨ瘖闅忚绫诲瀷
+      previewtype: 2, //棰勮褰卞儚闅忚绫诲瀷
       total: 0, // 鎬绘潯鏁�
-      ImportQuantity: 999, //瀵奸棬璇婇殢璁挎暟閲�
-      //棰勮闂ㄨ瘖闅忚淇℃伅
+      ImportQuantity: 999, //瀵煎奖鍍忛殢璁挎暟閲�
+      //棰勮褰卞儚闅忚淇℃伅
       previewvalue: {
         username: "杩欎釜鍖荤敓瀵逛綘鎬庝箞鏍�",
       },
@@ -479,7 +479,7 @@
     });
   },
   methods: {
-    /** 鏌ヨ闂ㄨ瘖闅忚鍒楄〃 */
+    /** 鏌ヨ褰卞儚闅忚鍒楄〃 */
     getList() {
       this.loading = true;
       listUser(this.addDateRange(this.topqueryParams, this.dateRange)).then(
@@ -490,7 +490,7 @@
         }
       );
     },
-    // 鏌ョ湅闂ㄨ瘖闅忚璇︽儏
+    // 鏌ョ湅褰卞儚闅忚璇︽儏
     Referencequestion(row) {
       this.previewVisible = true;
     },
@@ -508,7 +508,7 @@
         this.options = [];
       }
     },
-    // 闂ㄨ瘖闅忚鐘舵�佷慨鏀�
+    // 褰卞儚闅忚鐘舵�佷慨鏀�
     handleStatusChange(row) {
       let text = row.status === "0" ? "鍚敤" : "鍋滅敤";
       this.$modal
@@ -592,7 +592,7 @@
       // getUser().then((response) => {
       //   this.postOptions = response.posts;
       //   this.roleOptions = response.roles;
-      //   this.title = "鏂板闂ㄨ瘖闅忚";
+      //   this.title = "鏂板褰卞儚闅忚";
       //   this.form.password = this.initPassword;
       // });
     },
diff --git a/src/views/followvisit/outpatient/index.vue b/src/views/followvisit/outpatient/index.vue
index ae3ac46..8d1eff9 100644
--- a/src/views/followvisit/outpatient/index.vue
+++ b/src/views/followvisit/outpatient/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"
@@ -12,12 +73,13 @@
         label-width="98px"
       >
         <el-form-item label="浠诲姟鍚嶇О">
-          <el-input v-model="topqueryParams.taskName"></el-input>
+          <el-input
+            v-model="topqueryParams.taskName"
+            placeholder="璇烽�夋嫨浠诲姟鍚嶇О"
+          ></el-input>
         </el-form-item>
-        <el-form-item label="鍙戣捣浜�">
-          <el-input v-model="topqueryParams.createBy"></el-input>
-        </el-form-item>
-        <!-- <el-form-item label="瀹℃牳鏃堕棿">
+
+        <el-form-item label="妫�鏌ユ椂闂�">
           <el-date-picker
             v-model="dateRange"
             style="width: 240px"
@@ -27,13 +89,26 @@
             start-placeholder="寮�濮嬫棩鏈�"
             end-placeholder="缁撴潫鏃ユ湡"
           ></el-date-picker>
-        </el-form-item> -->
-
-        <el-form-item label="妯℃澘鍚嶇О" prop="status">
-          <el-input v-model="topqueryParams.templatename"></el-input>
-
         </el-form-item>
-        <el-form-item label="闂ㄨ瘖闅忚鐘舵��" prop="status">
+
+        <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"
@@ -44,12 +119,13 @@
             </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"
@@ -66,11 +142,10 @@
             icon="el-icon-plus"
             size="medium"
             @click="handleAdd"
-            v-hasPermi="['system:user:add']"
             >鏂板</el-button
           >
         </el-col>
-        <!-- <el-col :span="1.5">
+        <el-col :span="1.5">
           <div class="documentf">
             <div class="document">
               <el-button
@@ -84,60 +159,17 @@
               >
             </div>
           </div>
-        </el-col> -->
-        <!-- <el-col :span="1.5">
-          <div class="documentf">
-            <div class="document">
-              <el-button
-                type="success"
-                plain
-                icon="el-icon-download"
-                size="medium"
-                @click="toleadExport"
-                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="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>
@@ -146,32 +178,34 @@
           <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-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="id"
-          prop="id"
+          key="taskName"
+          prop="taskName"
+          width="180"
         />
+        <!-- <el-table-column label="搴忓彿" fixed align="center" key="id" prop="id" /> -->
         <el-table-column
           label="濮撳悕"
           fixed
@@ -179,75 +213,71 @@
           key="sendname"
           prop="sendname"
         />
-
         <el-table-column
-          label="鐥呭巻鍙�"
+          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="deptname"
-          prop="deptname"
+          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="鐤剧梾鍚嶇О"
+          label="浜哄伐澶勭悊鎰忚"
           align="center"
-          key="icdName"
-          prop="icdName"
+          key="suggest"
+          prop="suggest"
           width="120"
-          :show-overflow-tooltip="true"
         >
-
+          <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="taskName"
-          prop="taskName"
-          width="120"
-        />
-
-        <el-table-column
-          label="闅忚鏂瑰紡"
-          align="center"
-          key="serviceform"
-          prop="serviceform"
-          width="120"
-        />
         <el-table-column
           label="闅忚浜哄憳"
           align="center"
-          key="operator"
-          prop="operator"
+          key="createBy"
+          prop="createBy"
           width="120"
         />
-
-        <el-table-column
-          label="灏辫瘖鏃堕棿"
-          sortable
-          align="center"
-          prop="admindate"
-          width="160"
-        >
-          <template slot-scope="scope">
-            <span>{{ formatTime(scope.row.admindate) }}</span>
-          </template>
-        </el-table-column>
         <el-table-column
           label="闅忚鏃堕棿"
           sortable
@@ -256,55 +286,198 @@
           width="160"
         >
           <template slot-scope="scope">
-            <span>{{ formatTime(scope.row.finishtime) }}</span>
+            <span>{{ parseTime(scope.row.finishtime) }}</span>
           </template>
         </el-table-column>
-
-
         <el-table-column
-          label="闅忚鐘舵��"
-          fixed="right"
+          label="褰卞儚缁撴灉"
+          width="200"
           align="center"
-          key="sendstate"
-          prop="sendstate"
+          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="褰卞儚鏃ユ湡"
+          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"
         >
-        <template slot-scope="scope">
-            <dict-tag :options="serviceState" :value="scope.row.sendstate" />
+        </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> -->
+        <!-- <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="鎿嶄綔"
-          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
@@ -321,7 +494,7 @@
         @pagination="getList"
       />
     </el-row>
-    <!-- 娣诲姞鎴栦慨鏀归棬璇婇殢璁垮璇濇 -->
+    <!-- 娣诲姞鎴栦慨鏀瑰奖鍍忛殢璁垮璇濇 -->
     <el-dialog
       :title="title"
       :visible.sync="addalteropen"
@@ -364,7 +537,7 @@
         </el-row>
         <el-row :gutter="20">
           <el-col :span="24">
-            <el-form-item label="闂ㄨ瘖闅忚瑕佹眰">
+            <el-form-item label="褰卞儚闅忚瑕佹眰">
               <el-input type="textarea" v-model="form.desc"></el-input>
             </el-form-item>
           </el-col>
@@ -456,22 +629,21 @@
 <script>
 import {
   listUser,
+  getUser,
   delUser,
   addUser,
   updateUser,
   resetUserPwd,
   changeUserStatus,
 } from "@/api/system/user";
-import {
-  getTaskservelist
-} from "@/api/AiCentre/index";
-import store from "@/store";
+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 {
@@ -490,7 +662,7 @@
       // 鐢ㄦ埛琛ㄦ牸鏁版嵁
       userList: null,
       // 寮瑰嚭灞傛爣棰�
-      title: "鏂板闂ㄨ瘖闅忚",
+      title: "鏂板褰卞儚闅忚",
       // 鏄惁鏄剧ず淇敼銆佹坊鍔犲脊鍑哄眰
       addalteropen: false,
       // 淇敼鍙戦�佹椂闂村璇濇
@@ -508,101 +680,77 @@
       },
       dynamicTags: ["閫夐」涓�", "閫夐」浜�", "閫夐」涓�"], //閫夐」
       inputVisible: false,
+      ycvalue: "",
+      yfsvalue: "",
       inputValue: "",
-      previewVisible: false, //闂ㄨ瘖闅忚棰勮寮规
+      preachform: "",
+      previewVisible: false, //褰卞儚闅忚棰勮寮规
       radio: "",
       radios: [],
-      previewtype: 2, //棰勮闂ㄨ瘖闅忚绫诲瀷
+      previewtype: 2, //棰勮褰卞儚闅忚绫诲瀷
       total: 0, // 鎬绘潯鏁�
-      ImportQuantity: 999, //瀵奸棬璇婇殢璁挎暟閲�
-      //棰勮闂ㄨ瘖闅忚淇℃伅
+      ImportQuantity: 999, //瀵煎奖鍍忛殢璁挎暟閲�
+      //棰勮褰卞儚闅忚淇℃伅
       previewvalue: {
         username: "杩欎釜鍖荤敓瀵逛綘鎬庝箞鏍�",
       },
       value: [],
       list: [],
-      loading: false,
-      states: [
-        "Alabama",
-        "Alaska",
-        "Arizona",
-        "Arkansas",
-        "California",
-        "Colorado",
-        "Connecticut",
-        "Delaware",
-        "Florida",
-        "Georgia",
-        "Hawaii",
-        "Idaho",
-        "Illinois",
-        "Indiana",
-        "Iowa",
-        "Kansas",
-        "Kentucky",
-        "Louisiana",
-        "Maine",
-        "Maryland",
-        "Massachusetts",
-        "Michigan",
-        "Minnesota",
-        "Mississippi",
-        "Missouri",
-        "Montana",
-        "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: "",
@@ -616,13 +764,17 @@
       topqueryParams: {
         pageNum: 1,
         pageSize: 10,
-        serviceType:3,
+        serviceType: 3,
+        searchscope: 3,
+        scopetype: [],
+        leaveldeptcodes: [],
+        leavehospitaldistrictcodes: [],
       },
       propss: { multiple: true },
       options: [],
 
       topicoptions: [
-      {
+        {
           value: 1,
           label: "琚鍙�",
         },
@@ -634,41 +786,128 @@
           value: 3,
           label: "宸插彂閫佹湭棰嗗彇",
         },
+        {
+          value: 4,
+          label: "涓嶆墽琛�",
+        },
+        {
+          value: 5,
+          label: "鍙戦�佸け璐�",
+        },
+        {
+          value: 6,
+          label: "宸插畬鎴�",
+        },
       ],
-      serviceState:[],
+      topicoptionsyj: [
+        {
+          value: 1,
+          label: "寮傚父",
+        },
+        {
+          value: 0,
+          label: "姝e父",
+        },
+      ],
+      errtype: "",
+      leavehospitaldistrictcode: "",
+      serviceState: [],
+      checkboxlist: [],
       // 琛ㄥ崟鏍¢獙
-      rules: {
-
-      },
+      rules: {},
     };
   },
   watch: {},
   created() {
     this.serviceState = store.getters.serviceState;
-    this.getList();
+    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.total = response.total;
-          this.loading = false;
+      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;
     },
@@ -686,7 +925,7 @@
         this.options = [];
       }
     },
-    // 闂ㄨ瘖闅忚鐘舵�佷慨鏀�
+    // 褰卞儚闅忚鐘舵�佷慨鏀�
     handleStatusChange(row) {
       let text = row.status === "0" ? "鍚敤" : "鍋滅敤";
       this.$modal
@@ -725,17 +964,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: 3,
+        searchscope: 2,
+      };
+      this.handleQuery(1);
     },
     // 澶氶�夋閫変腑鏁版嵁
     handleSelectionChange(selection) {
@@ -799,13 +1070,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);
             });
           }
         }
@@ -820,7 +1091,7 @@
           return delUser(userIds);
         })
         .then(() => {
-          this.getList();
+          this.getList(1);
           this.$modal.msgSuccess("鍒犻櫎鎴愬姛");
         })
         .catch(() => {});
@@ -833,7 +1104,7 @@
           return console.log("鍋滄鎴愬姛");
         })
         .then(() => {
-          this.getList();
+          this.getList(1);
           this.$modal.msgWarning("鍋滄鎴愬姛");
         })
         .catch(() => {});
@@ -846,7 +1117,7 @@
           return console.log("寮�鍚垚鍔�");
         })
         .then(() => {
-          this.getList();
+          this.getList(1);
           this.$modal.msgSuccess("寮�鍚垚鍔�");
         })
         .catch(() => {});
@@ -859,7 +1130,7 @@
           return console.log("閫変腑鎴愬姛");
         })
         .then(() => {
-          this.getList();
+          this.getList(1);
           this.$modal.msgSuccess("閲嶇疆鎴愬姛");
         })
         .catch(() => {});
@@ -870,22 +1141,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/record/detailpage/",
-        query: { taskid: row.taskid, patid: row.patid },
+        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 "";
     },
   },
 };
@@ -901,6 +1202,9 @@
 .document {
   // width: 100px;
   height: 50px;
+}
+::v-deep.el-table .warning-row {
+  background: #eec4c4;
 }
 
 .documentf {
@@ -980,6 +1284,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/followvisit/satisfaction/index.vue b/src/views/followvisit/satisfaction/index.vue
index 73901fb..b1cdb60 100644
--- a/src/views/followvisit/satisfaction/index.vue
+++ b/src/views/followvisit/satisfaction/index.vue
@@ -290,7 +290,7 @@
         @pagination="getList"
       />
     </el-row>
-    <!-- 娣诲姞鎴栦慨鏀归棬璇婇殢璁垮璇濇 -->
+    <!-- 娣诲姞鎴栦慨鏀瑰奖鍍忛殢璁垮璇濇 -->
     <el-dialog
       :title="title"
       :visible.sync="addalteropen"
@@ -333,7 +333,7 @@
         </el-row>
         <el-row :gutter="20">
           <el-col :span="24">
-            <el-form-item label="闂ㄨ瘖闅忚瑕佹眰">
+            <el-form-item label="褰卞儚闅忚瑕佹眰">
               <el-input type="textarea" v-model="form.desc"></el-input>
             </el-form-item>
           </el-col>
@@ -381,7 +381,7 @@
       // 鐢ㄦ埛琛ㄦ牸鏁版嵁
       userList: null,
       // 寮瑰嚭灞傛爣棰�
-      title: "鏂板闂ㄨ瘖闅忚",
+      title: "鏂板褰卞儚闅忚",
       // 鏄惁鏄剧ず淇敼銆佹坊鍔犲脊鍑哄眰
       addalteropen: false,
       // 閮ㄩ棬鍚嶇О
@@ -412,13 +412,13 @@
       dynamicTags: ["閫夐」涓�", "閫夐」浜�", "閫夐」涓�"], //閫夐」
       inputVisible: false,
       inputValue: "",
-      previewVisible: false, //闂ㄨ瘖闅忚棰勮寮规
+      previewVisible: false, //褰卞儚闅忚棰勮寮规
       radio: "",
       radios: [],
-      previewtype: 2, //棰勮闂ㄨ瘖闅忚绫诲瀷
+      previewtype: 2, //棰勮褰卞儚闅忚绫诲瀷
       total: 0, // 鎬绘潯鏁�
-      ImportQuantity: 999, //瀵奸棬璇婇殢璁挎暟閲�
-      //棰勮闂ㄨ瘖闅忚淇℃伅
+      ImportQuantity: 999, //瀵煎奖鍍忛殢璁挎暟閲�
+      //棰勮褰卞儚闅忚淇℃伅
       previewvalue: {
         username: "杩欎釜鍖荤敓瀵逛綘鎬庝箞鏍�",
       },
@@ -606,7 +606,7 @@
     });
   },
   methods: {
-    /** 鏌ヨ闂ㄨ瘖闅忚鍒楄〃 */
+    /** 鏌ヨ褰卞儚闅忚鍒楄〃 */
     getList() {
       this.loading = true;
       listUser(this.addDateRange(this.topqueryParams, this.dateRange)).then(
@@ -617,7 +617,7 @@
         }
       );
     },
-    // 鏌ョ湅闂ㄨ瘖闅忚璇︽儏
+    // 鏌ョ湅褰卞儚闅忚璇︽儏
     Referencequestion(row) {
       this.previewVisible = true;
     },
@@ -635,7 +635,7 @@
         this.options = [];
       }
     },
-    // 闂ㄨ瘖闅忚鐘舵�佷慨鏀�
+    // 褰卞儚闅忚鐘舵�佷慨鏀�
     handleStatusChange(row) {
       let text = row.status === "0" ? "鍚敤" : "鍋滅敤";
       this.$modal
@@ -723,7 +723,7 @@
       // getUser().then((response) => {
       //   this.postOptions = response.posts;
       //   this.roleOptions = response.roles;
-      //   this.title = "鏂板闂ㄨ瘖闅忚";
+      //   this.title = "鏂板褰卞儚闅忚";
       //   this.form.password = this.initPassword;
       // });
     },
diff --git a/src/views/followvisit/tasklist/index.vue b/src/views/followvisit/tasklist/index.vue
index 8771aff..454091a 100644
--- a/src/views/followvisit/tasklist/index.vue
+++ b/src/views/followvisit/tasklist/index.vue
@@ -421,7 +421,7 @@
       // 鐢ㄦ埛琛ㄦ牸鏁版嵁
       userList: null,
       // 寮瑰嚭灞傛爣棰�
-      title: "鏂板闂ㄨ瘖闅忚",
+      title: "鏂板褰卞儚闅忚",
       // 鏄惁鏄剧ず淇敼銆佹坊鍔犲脊鍑哄眰
       addalteropen: false,
       // 閮ㄩ棬鍚嶇О
@@ -445,14 +445,14 @@
       dynamicTags: ["閫夐」涓�", "閫夐」浜�", "閫夐」涓�"], //閫夐」
       inputVisible: false,
       inputValue: "",
-      previewVisible: false, //闂ㄨ瘖闅忚棰勮寮规
+      previewVisible: false, //褰卞儚闅忚棰勮寮规
       TaskOperation: {},
       radio: "",
       radios: [],
-      previewtype: 2, //棰勮闂ㄨ瘖闅忚绫诲瀷
+      previewtype: 2, //棰勮褰卞儚闅忚绫诲瀷
       total: 0, // 鎬绘潯鏁�
-      ImportQuantity: 999, //瀵奸棬璇婇殢璁挎暟閲�
-      //棰勮闂ㄨ瘖闅忚淇℃伅
+      ImportQuantity: 999, //瀵煎奖鍍忛殢璁挎暟閲�
+      //棰勮褰卞儚闅忚淇℃伅
       previewvalue: {
         username: "杩欎釜鍖荤敓瀵逛綘鎬庝箞鏍�",
       },
@@ -473,7 +473,7 @@
       taskoptions: [
         {
           value: "1",
-          label: "鐩戞祴璇勪及",
+          label: "蹇冪數闅忚",
         },
         {
           value: "2",
@@ -481,7 +481,7 @@
         },
         {
           value: "3",
-          label: "闂ㄨ瘖闅忚",
+          label: "褰卞儚闅忚",
         },
         {
           value: "4",
@@ -489,7 +489,7 @@
         },
         {
           value: "5",
-          label: "澶嶈瘖绠$悊",
+          label: "浣撴闅忚",
         },
         {
           value: "6",
@@ -744,7 +744,7 @@
         this.loading = false;
       });
     },
-    // 鏌ョ湅闂ㄨ瘖闅忚璇︽儏
+    // 鏌ョ湅褰卞儚闅忚璇︽儏
     Referencequestion(row) {
       this.previewVisible = true;
     },
diff --git a/src/views/index.vue b/src/views/index.vue
index 439d775..fe67590 100644
--- a/src/views/index.vue
+++ b/src/views/index.vue
@@ -220,7 +220,7 @@
                 >
                 <el-col :span="7">
                   <div style="display: flex">
-                    <div class="subtitle">闂ㄨ瘖闅忚</div>
+                    <div class="subtitle">褰卞儚闅忚</div>
                     <div class="grid-contents bg-purple-light">0娆�</div>
                   </div>
                 </el-col>
@@ -380,7 +380,7 @@
       // const res = await getnodeCollect();
       // this.nodeCollect = res.data;
       this.nodeCollect = [
-        { name: "闂ㄨ瘖闅忚", value: 1232 },
+        { name: "褰卞儚闅忚", value: 1232 },
         { name: "鍑洪櫌闅忚", value: 342 },
       ];
       this.myPieChart();
@@ -454,7 +454,7 @@
         legend: {
           data: [
             "鍑洪櫌闅忚閲�",
-            "闂ㄨ瘖闅忚閲�",
+            "褰卞儚闅忚閲�",
             "鍦ㄩ櫌闅忚閲�",
             "闂ㄨ瘖澶嶈瘖閫氱煡",
             "鍑洪櫌澶嶈瘖閫氱煡",
@@ -516,7 +516,7 @@
             data: [120, 150, 165, 90, 140, 200, 130, 85, 175, 95, 110, 160],
           },
           {
-            name: "闂ㄨ瘖闅忚閲�",
+            name: "褰卞儚闅忚閲�",
             type: "bar",
             tooltip: {
               valueFormatter: function (value) {
diff --git a/src/views/knowledge/education/index copy.vue b/src/views/knowledge/education/index copy.vue
index fba5af0..7c0d5b0 100644
--- a/src/views/knowledge/education/index copy.vue
+++ b/src/views/knowledge/education/index copy.vue
@@ -643,7 +643,7 @@
       // const res = await getnodeCollect();
       // this.nodeCollect = res.data;
       // this.nodeCollect = [
-      //   { name: "闂ㄨ瘖闅忚", value: 1232 },
+      //   { name: "褰卞儚闅忚", value: 1232 },
       //   { name: "鍑洪櫌闅忚", value: 342 },
       // ];
       this.myPieChart();
diff --git a/src/views/knowledge/education/index.vue b/src/views/knowledge/education/index.vue
index 3be5dc8..dc425dc 100644
--- a/src/views/knowledge/education/index.vue
+++ b/src/views/knowledge/education/index.vue
@@ -644,7 +644,7 @@
       // const res = await getnodeCollect();
       // this.nodeCollect = res.data;
       // this.nodeCollect = [
-      //   { name: "闂ㄨ瘖闅忚", value: 1232 },
+      //   { name: "褰卞儚闅忚", value: 1232 },
       //   { name: "鍑洪櫌闅忚", value: 342 },
       // ];
       this.myPieChart();
diff --git a/src/views/patient/medtechnician/PatientChart.vue b/src/views/patient/medtechnician/PatientChart.vue
index b458d95..d4894d2 100644
--- a/src/views/patient/medtechnician/PatientChart.vue
+++ b/src/views/patient/medtechnician/PatientChart.vue
@@ -414,7 +414,7 @@
       // 鐢ㄦ埛琛ㄦ牸鏁版嵁
       userList: null,
       // 寮瑰嚭灞傛爣棰�
-      title: "鏂板闂ㄨ瘖闅忚",
+      title: "鏂板褰卞儚闅忚",
       // 鏄惁鏄剧ず淇敼銆佹坊鍔犲脊鍑哄眰
       addalteropen: false,
       // 閮ㄩ棬鍚嶇О
@@ -438,14 +438,14 @@
       dynamicTags: ["閫夐」涓�", "閫夐」浜�", "閫夐」涓�"], //閫夐」
       inputVisible: false,
       inputValue: "",
-      previewVisible: false, //闂ㄨ瘖闅忚棰勮寮规
+      previewVisible: false, //褰卞儚闅忚棰勮寮规
       TaskOperation: {},
       radio: "",
       radios: [],
-      previewtype: 2, //棰勮闂ㄨ瘖闅忚绫诲瀷
+      previewtype: 2, //棰勮褰卞儚闅忚绫诲瀷
       total: 0, // 鎬绘潯鏁�
-      ImportQuantity: 999, //瀵奸棬璇婇殢璁挎暟閲�
-      //棰勮闂ㄨ瘖闅忚淇℃伅
+      ImportQuantity: 999, //瀵煎奖鍍忛殢璁挎暟閲�
+      //棰勮褰卞儚闅忚淇℃伅
       previewvalue: {
         username: "杩欎釜鍖荤敓瀵逛綘鎬庝箞鏍�",
       },
@@ -466,7 +466,7 @@
       taskoptions: [
         {
           value: "1",
-          label: "鐩戞祴璇勪及",
+          label: "蹇冪數闅忚",
         },
         {
           value: "2",
@@ -474,7 +474,7 @@
         },
         {
           value: "3",
-          label: "闂ㄨ瘖闅忚",
+          label: "褰卞儚闅忚",
         },
         {
           value: "4",
@@ -482,7 +482,7 @@
         },
         {
           value: "5",
-          label: "澶嶈瘖绠$悊",
+          label: "浣撴闅忚",
         },
         {
           value: "6",
@@ -739,7 +739,7 @@
         this.loading = false;
       });
     },
-    // 鏌ョ湅闂ㄨ瘖闅忚璇︽儏
+    // 鏌ョ湅褰卞儚闅忚璇︽儏
     Referencequestion(row) {
       this.previewVisible = true;
     },
diff --git a/src/views/patient/medtechnician/SpecializedService.vue b/src/views/patient/medtechnician/SpecializedService.vue
index 128c475..580537b 100644
--- a/src/views/patient/medtechnician/SpecializedService.vue
+++ b/src/views/patient/medtechnician/SpecializedService.vue
@@ -467,7 +467,7 @@
         @pagination="getList"
       />
     </el-row>
-    <!-- 娣诲姞鎴栦慨鏀归棬璇婇殢璁垮璇濇 -->
+    <!-- 娣诲姞鎴栦慨鏀瑰奖鍍忛殢璁垮璇濇 -->
     <el-dialog
       :title="title"
       :visible.sync="addalteropen"
@@ -510,7 +510,7 @@
         </el-row>
         <el-row :gutter="20">
           <el-col :span="24">
-            <el-form-item label="闂ㄨ瘖闅忚瑕佹眰">
+            <el-form-item label="褰卞儚闅忚瑕佹眰">
               <el-input type="textarea" v-model="form.desc"></el-input>
             </el-form-item>
           </el-col>
@@ -635,7 +635,7 @@
       // 鐢ㄦ埛琛ㄦ牸鏁版嵁
       userList: null,
       // 寮瑰嚭灞傛爣棰�
-      title: "鏂板闂ㄨ瘖闅忚",
+      title: "鏂板褰卞儚闅忚",
       // 鏄惁鏄剧ず淇敼銆佹坊鍔犲脊鍑哄眰
       addalteropen: false,
       // 淇敼鍙戦�佹椂闂村璇濇
@@ -654,13 +654,13 @@
       dynamicTags: ["閫夐」涓�", "閫夐」浜�", "閫夐」涓�"], //閫夐」
       inputVisible: false,
       inputValue: "",
-      previewVisible: false, //闂ㄨ瘖闅忚棰勮寮规
+      previewVisible: false, //褰卞儚闅忚棰勮寮规
       radio: "",
       radios: [],
-      previewtype: 2, //棰勮闂ㄨ瘖闅忚绫诲瀷
+      previewtype: 2, //棰勮褰卞儚闅忚绫诲瀷
       total: 0, // 鎬绘潯鏁�
-      ImportQuantity: 999, //瀵奸棬璇婇殢璁挎暟閲�
-      //棰勮闂ㄨ瘖闅忚淇℃伅
+      ImportQuantity: 999, //瀵煎奖鍍忛殢璁挎暟閲�
+      //棰勮褰卞儚闅忚淇℃伅
       previewvalue: {
         username: "杩欎釜鍖荤敓瀵逛綘鎬庝箞鏍�",
       },
@@ -815,7 +815,7 @@
     this.getList();
   },
   methods: {
-    /** 鏌ヨ闂ㄨ瘖闅忚鏈嶅姟鍒楄〃 */
+    /** 鏌ヨ褰卞儚闅忚鏈嶅姟鍒楄〃 */
     getList() {
       if (this.topqueryParams.searchscope == 1) {
         this.topqueryParams.leaveldeptcodes = store.getters.belongDepts.map(
@@ -860,7 +860,7 @@
         this.loading = false;
       });
     },
-    // 鏌ョ湅闂ㄨ瘖闅忚璇︽儏
+    // 鏌ョ湅褰卞儚闅忚璇︽儏
     Referencequestion(row) {
       this.previewVisible = true;
     },
@@ -878,7 +878,7 @@
         this.options = [];
       }
     },
-    // 闂ㄨ瘖闅忚鐘舵�佷慨鏀�
+    // 褰卞儚闅忚鐘舵�佷慨鏀�
     handleStatusChange(row) {
       let text = row.status === "0" ? "鍚敤" : "鍋滅敤";
       this.$modal
diff --git a/src/views/patient/patient/profile/index.vue b/src/views/patient/patient/profile/index.vue
index 0148437..8b84204 100644
--- a/src/views/patient/patient/profile/index.vue
+++ b/src/views/patient/patient/profile/index.vue
@@ -619,8 +619,8 @@
             "
           >
           <span v-if="item.serviceType==2">鍑洪櫌闅忚</span>
-          <span v-if="item.serviceType==1">鐩戞祴璇勪及</span>
-          <span v-if="item.serviceType==3">闂ㄨ瘖闅忚</span>
+          <span v-if="item.serviceType==1">蹇冪數闅忚</span>
+          <span v-if="item.serviceType==3">褰卞儚闅忚</span>
           <span v-if="item.serviceType==4">瀹f暀鍏虫��</span>
           </div>
           <el-divider></el-divider>
diff --git a/src/views/patient/physical/index.vue b/src/views/patient/physical/index.vue
index 0518e42..8ad06d4 100644
--- a/src/views/patient/physical/index.vue
+++ b/src/views/patient/physical/index.vue
@@ -22,7 +22,7 @@
             </div>
           </el-card>
         </el-col>
-        <el-col :span="2.5">
+        <!-- <el-col :span="2.5">
           <div class="ysfleftvlue">
             <el-card shadow="hover">
               <div style="padding: 8px">
@@ -40,7 +40,7 @@
               </div>
             </el-card>
           </div>
-        </el-col>
+        </el-col> -->
         <el-col :span="2.5">
           <div class="errleftvlue">
             <el-card shadow="hover">
@@ -79,7 +79,7 @@
           ></el-input>
         </el-form-item>
 
-        <el-form-item label="鍑洪櫌鏃堕棿">
+        <el-form-item label="蹇冪數鏃堕棿">
           <el-date-picker
             v-model="dateRange"
             style="width: 240px"
@@ -290,7 +290,23 @@
           </template>
         </el-table-column>
         <el-table-column
-          label="鍑洪櫌鏃ユ湡"
+          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="妫�鏌ユ棩鏈�"
           width="200"
           align="center"
           key="endtime"
@@ -312,7 +328,7 @@
           </template></el-table-column
         >
         <el-table-column
-          label="鍑洪櫌澶╂暟"
+          label="宸叉鏌ュぉ鏁�"
           width="120"
           align="center"
           key="endDay"
@@ -336,15 +352,15 @@
           key="phone"
           prop="phone"
         />
-        <el-table-column
+        <!-- <el-table-column
           label="璐d换鎶ゅ+"
           width="120"
           align="center"
           key="nurseName"
           prop="nurseName"
-        />
+        /> -->
         <el-table-column
-          label="涓绘不鍖荤敓"
+          label="妫�鏌ュ尰鐢�"
           width="120"
           align="center"
           key="drname"
@@ -390,8 +406,8 @@
         >
         </el-table-column> -->
 
-        <el-table-column
-          label="鍑洪櫌闅忚妯℃澘鍚嶇О"
+        <!-- <el-table-column
+          label="蹇冪數闅忚妯℃澘鍚嶇О"
           align="center"
           key="templatename"
           prop="templatename"
@@ -408,7 +424,7 @@
           <template slot-scope="scope">
             <span v-for="item in scope.row.preachform">{{ item }}銆� </span>
           </template>
-        </el-table-column>
+        </el-table-column> -->
         <!-- <el-table-column
           label="浠诲姟鍙戦�佹祦绋�"
           align="center"
@@ -423,22 +439,7 @@
             </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"
@@ -493,7 +494,7 @@
         @pagination="getList"
       />
     </el-row>
-    <!-- 娣诲姞鎴栦慨鏀归棬璇婇殢璁垮璇濇 -->
+    <!-- 娣诲姞鎴栦慨鏀瑰奖鍍忛殢璁垮璇濇 -->
     <el-dialog
       :title="title"
       :visible.sync="addalteropen"
@@ -536,7 +537,7 @@
         </el-row>
         <el-row :gutter="20">
           <el-col :span="24">
-            <el-form-item label="闂ㄨ瘖闅忚瑕佹眰">
+            <el-form-item label="褰卞儚闅忚瑕佹眰">
               <el-input type="textarea" v-model="form.desc"></el-input>
             </el-form-item>
           </el-col>
@@ -661,7 +662,7 @@
       // 鐢ㄦ埛琛ㄦ牸鏁版嵁
       userList: null,
       // 寮瑰嚭灞傛爣棰�
-      title: "鏂板闂ㄨ瘖闅忚",
+      title: "鏂板褰卞儚闅忚",
       // 鏄惁鏄剧ず淇敼銆佹坊鍔犲脊鍑哄眰
       addalteropen: false,
       // 淇敼鍙戦�佹椂闂村璇濇
@@ -683,13 +684,13 @@
       yfsvalue: "",
       inputValue: "",
       preachform: "",
-      previewVisible: false, //闂ㄨ瘖闅忚棰勮寮规
+      previewVisible: false, //褰卞儚闅忚棰勮寮规
       radio: "",
       radios: [],
-      previewtype: 2, //棰勮闂ㄨ瘖闅忚绫诲瀷
+      previewtype: 2, //棰勮褰卞儚闅忚绫诲瀷
       total: 0, // 鎬绘潯鏁�
-      ImportQuantity: 999, //瀵奸棬璇婇殢璁挎暟閲�
-      //棰勮闂ㄨ瘖闅忚淇℃伅
+      ImportQuantity: 999, //瀵煎奖鍍忛殢璁挎暟閲�
+      //棰勮褰卞儚闅忚淇℃伅
       previewvalue: {
         username: "杩欎釜鍖荤敓瀵逛綘鎬庝箞鏍�",
       },
@@ -715,13 +716,13 @@
       loading: false,
       cardlist: [
         {
-          name: "鍑洪櫌鏈嶅姟鎬婚噺",
+          name: "蹇冪數鏈嶅姟鎬婚噺",
           value: 0,
         },
-        {
-          name: "鎮h�呰繃婊�",
-          value: 0,
-        },
+        // {
+        //   name: "鎮h�呰繃婊�",
+        //   value: 0,
+        // },
         {
           name: "搴旈殢璁�",
           value: 0,
@@ -731,16 +732,16 @@
         //   name: "寮傚父",
         //   value: 0,
         // },
+        // {
+        //   name: "鍙戦�佸け璐�",
+        //   value: 0,
+        // },
         {
-          name: "鍙戦�佸け璐�",
+          name: "寰呴殢璁�",
           value: 0,
         },
         {
-          name: "寰呭彂閫�",
-          value: 0,
-        },
-        {
-          name: "宸插彂閫�",
+          name: "宸查殢璁�",
           value: 0,
         },
 
@@ -848,7 +849,7 @@
     this.getList(1);
   },
   methods: {
-    /** 鏌ヨ闂ㄨ瘖闅忚鏈嶅姟鍒楄〃 */
+    /** 鏌ヨ褰卞儚闅忚鏈嶅姟鍒楄〃 */
     getList(refresh) {
       // 榛樿鍏ㄩ儴
       if (this.topqueryParams.searchscope == 3) {
@@ -872,12 +873,12 @@
         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.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.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;
@@ -906,7 +907,7 @@
         this.total = response.total;
       });
     },
-    // 鏌ョ湅闂ㄨ瘖闅忚璇︽儏
+    // 鏌ョ湅褰卞儚闅忚璇︽儏
     Referencequestion(row) {
       this.previewVisible = true;
     },
@@ -924,7 +925,7 @@
         this.options = [];
       }
     },
-    // 闂ㄨ瘖闅忚鐘舵�佷慨鏀�
+    // 褰卞儚闅忚鐘舵�佷慨鏀�
     handleStatusChange(row) {
       let text = row.status === "0" ? "鍚敤" : "鍋滅敤";
       this.$modal
diff --git a/src/views/patient/propaganda/QuestionnaireTask.vue b/src/views/patient/propaganda/QuestionnaireTask.vue
index 1576ef2..ea3897d 100644
--- a/src/views/patient/propaganda/QuestionnaireTask.vue
+++ b/src/views/patient/propaganda/QuestionnaireTask.vue
@@ -1111,7 +1111,7 @@
       tasktypes: [
         {
           value: 1,
-          label: "鐩戞祴璇勪及",
+          label: "蹇冪數闅忚",
         },
         {
           value: 2,
@@ -1119,7 +1119,7 @@
         },
         {
           value: 3,
-          label: "闂ㄨ瘖闅忚",
+          label: "褰卞儚闅忚",
         },
         {
           value: 4,
@@ -1127,7 +1127,7 @@
         },
         {
           value: 5,
-          label: "澶嶈瘖绠$悊",
+          label: "浣撴闅忚",
         },
         {
           value: 6,
diff --git a/src/views/patient/propaganda/particty.vue b/src/views/patient/propaganda/particty.vue
index bc575f6..291facc 100644
--- a/src/views/patient/propaganda/particty.vue
+++ b/src/views/patient/propaganda/particty.vue
@@ -1142,7 +1142,7 @@
       tasktypes: [
         {
           value: 1,
-          label: "鐩戞祴璇勪及",
+          label: "蹇冪數闅忚",
         },
         {
           value: 2,
@@ -1150,7 +1150,7 @@
         },
         {
           value: 3,
-          label: "闂ㄨ瘖闅忚",
+          label: "褰卞儚闅忚",
         },
         {
           value: 4,
@@ -1158,7 +1158,7 @@
         },
         {
           value: 5,
-          label: "澶嶈瘖绠$悊",
+          label: "浣撴闅忚",
         },
         {
           value: 6,
diff --git a/src/views/patient/questionnaire/index.vue b/src/views/patient/questionnaire/index.vue
index 2212a6a..0f992b7 100644
--- a/src/views/patient/questionnaire/index.vue
+++ b/src/views/patient/questionnaire/index.vue
@@ -321,7 +321,7 @@
         @pagination="getList"
       />
     </el-row>
-    <!-- 娣诲姞鎴栦慨鏀归棬璇婇殢璁垮璇濇 -->
+    <!-- 娣诲姞鎴栦慨鏀瑰奖鍍忛殢璁垮璇濇 -->
     <el-dialog
       :title="title"
       :visible.sync="addalteropen"
@@ -364,7 +364,7 @@
         </el-row>
         <el-row :gutter="20">
           <el-col :span="24">
-            <el-form-item label="闂ㄨ瘖闅忚瑕佹眰">
+            <el-form-item label="褰卞儚闅忚瑕佹眰">
               <el-input type="textarea" v-model="form.desc"></el-input>
             </el-form-item>
           </el-col>
@@ -488,7 +488,7 @@
       // 鐢ㄦ埛琛ㄦ牸鏁版嵁
       userList: null,
       // 寮瑰嚭灞傛爣棰�
-      title: "鏂板闂ㄨ瘖闅忚",
+      title: "鏂板褰卞儚闅忚",
       // 鏄惁鏄剧ず淇敼銆佹坊鍔犲脊鍑哄眰
       addalteropen: false,
       // 淇敼鍙戦�佹椂闂村璇濇
@@ -507,13 +507,13 @@
       dynamicTags: ["閫夐」涓�", "閫夐」浜�", "閫夐」涓�"], //閫夐」
       inputVisible: false,
       inputValue: "",
-      previewVisible: false, //闂ㄨ瘖闅忚棰勮寮规
+      previewVisible: false, //褰卞儚闅忚棰勮寮规
       radio: "",
       radios: [],
-      previewtype: 2, //棰勮闂ㄨ瘖闅忚绫诲瀷
+      previewtype: 2, //棰勮褰卞儚闅忚绫诲瀷
       total: 0, // 鎬绘潯鏁�
-      ImportQuantity: 999, //瀵奸棬璇婇殢璁挎暟閲�
-      //棰勮闂ㄨ瘖闅忚淇℃伅
+      ImportQuantity: 999, //瀵煎奖鍍忛殢璁挎暟閲�
+      //棰勮褰卞儚闅忚淇℃伅
       previewvalue: {
         username: "杩欎釜鍖荤敓瀵逛綘鎬庝箞鏍�",
       },
@@ -675,7 +675,7 @@
     });
   },
   methods: {
-    /** 鏌ヨ闂ㄨ瘖闅忚鍒楄〃 */
+    /** 鏌ヨ褰卞儚闅忚鍒楄〃 */
     getList() {
       this.loading = true;
       getTaskservelist(this.topqueryParams).then((response) => {
@@ -684,7 +684,7 @@
         this.loading = false;
       });
     },
-    // 鏌ョ湅闂ㄨ瘖闅忚璇︽儏
+    // 鏌ョ湅褰卞儚闅忚璇︽儏
     Referencequestion(row) {
       this.previewVisible = true;
     },
@@ -702,7 +702,7 @@
         this.options = [];
       }
     },
-    // 闂ㄨ瘖闅忚鐘舵�佷慨鏀�
+    // 褰卞儚闅忚鐘舵�佷慨鏀�
     handleStatusChange(row) {
       let text = row.status === "0" ? "鍚敤" : "鍋滅敤";
       this.$modal
diff --git a/src/views/patient/subsequent/index.vue b/src/views/patient/subsequent/index.vue
index a48448d..adb7e48 100644
--- a/src/views/patient/subsequent/index.vue
+++ b/src/views/patient/subsequent/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"
@@ -12,12 +73,13 @@
         label-width="98px"
       >
         <el-form-item label="浠诲姟鍚嶇О">
-          <el-input v-model="topqueryParams.name"></el-input>
+          <el-input
+            v-model="topqueryParams.taskName"
+            placeholder="璇烽�夋嫨浠诲姟鍚嶇О"
+          ></el-input>
         </el-form-item>
-        <el-form-item label="瀹℃牳浜�">
-          <el-input v-model="topqueryParams.name"></el-input>
-        </el-form-item>
-        <el-form-item label="瀹℃牳鏃堕棿">
+
+        <el-form-item label="妫�鏌ユ椂闂�">
           <el-date-picker
             v-model="dateRange"
             style="width: 240px"
@@ -28,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"
@@ -39,34 +119,13 @@
             </el-option>
           </el-select>
         </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 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"
@@ -83,7 +142,6 @@
             icon="el-icon-plus"
             size="medium"
             @click="handleAdd"
-            v-hasPermi="['system:user:add']"
             >鏂板</el-button
           >
         </el-col>
@@ -106,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>
@@ -148,26 +178,34 @@
           <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="搴忓彿" fixed align="center" key="id" prop="id" />
+        <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
@@ -175,122 +213,245 @@
           key="sendname"
           prop="sendname"
         />
-
         <el-table-column
-          label="灏辫瘖鍙�"
+          label="浠诲姟鐘舵��"
           align="center"
-          sortable
-          key="hospno"
-          prop="hospno"
-          width="120"
-        />
-        <el-table-column label="骞撮緞" align="center" key="age" prop="age" />
-        <el-table-column label="搴婂彿" align="center" key="bedNo" prop="bedNo" />
-        <el-table-column
-          label="绉戝/鐥呭尯"
-          align="center"
-          key="phonenumber"
-          prop="phonenumber"
+          key="sendstate"
+          prop="sendstate"
           width="120"
         >
           <template slot-scope="scope">
-            <div>澶栫闂ㄨ瘖</div>
+            <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="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="浣撴鏃ユ湡"
+          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="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="topicnumberaa"
-          prop="topicnumberaa"
-          width="120"
-        />
-        <el-table-column
-          label="閫氱煡鏂瑰紡"
-          align="center"
-          key="topicnumberaa"
-          prop="topicnumberaa"
-          width="120"
-        />
-        <el-table-column
-          label="閫氱煡浜哄憳"
-          align="center"
-          key="topicnumberaa"
-          prop="topicnumberaa"
-          width="120"
-        />
+        </el-table-column> -->
 
-        <el-table-column
-          label="灏辫瘖鏃堕棿"
-          sortable
+        <!-- <el-table-column
+          label="浣撴闅忚妯℃澘鍚嶇О"
           align="center"
-          prop="createTime"
+          key="templatename"
+          prop="templatename"
+          width="200"
+        />
+        <el-table-column
+          label="浠诲姟鎵ц鏂瑰紡"
+          align="center"
+          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="鍥炲鏃堕棿"
-          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="闅忚鐘舵��"
-          fixed="right"
-          align="center"
-          key="topicnumber"
-          prop="topicnumber"
-          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> -->
+        <!-- <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="鎿嶄綔"
-          fixed="right"
           align="center"
+          fixed="right"
           width="200"
           class-name="small-padding fixed-width"
         >
           <template slot-scope="scope">
-            <el-tooltip
+            <!-- <el-tooltip
               class="item"
               effect="dark"
-              content="閲嶆柊閫氱煡"
+              content="閲嶆柊闅忚"
               placement="top"
             >
               <el-button
@@ -300,10 +461,9 @@
                 v-hasPermi="['system:user:edit']"
                 ><span class="button-bb"
                   ><i class="el-icon-s-promotion"></i></span
-                ></el-button
-              >
-            </el-tooltip>
-            <el-tooltip
+              ></el-button>
+            </el-tooltip> -->
+            <!-- <el-tooltip
               class="item"
               effect="dark"
               content="鍋滄"
@@ -316,21 +476,12 @@
                 v-hasPermi="['system:user:edit']"
                 ><span class="button-sc"><i class="el-icon-delete"></i></span
               ></el-button>
-            </el-tooltip>
-            <el-tooltip
-              class="item"
-              effect="dark"
-              content="鏌ョ湅浠诲姟璇︽儏"
-              placement="top"
+            </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
             >
-              <el-button
-                size="medium"
-                type="text"
-                @click="Seedetails(scope.row)"
-                v-hasPermi="['system:user:edit']"
-                ><span class="button-zx"><i class="el-icon-s-order"></i></span
-              ></el-button>
-            </el-tooltip>
           </template>
         </el-table-column>
       </el-table>
@@ -343,7 +494,7 @@
         @pagination="getList"
       />
     </el-row>
-    <!-- 娣诲姞鎴栦慨鏀归棬璇婇殢璁垮璇濇 -->
+    <!-- 娣诲姞鎴栦慨鏀逛綋妫�闅忚瀵硅瘽妗� -->
     <el-dialog
       :title="title"
       :visible.sync="addalteropen"
@@ -386,7 +537,7 @@
         </el-row>
         <el-row :gutter="20">
           <el-col :span="24">
-            <el-form-item label="闂ㄨ瘖闅忚瑕佹眰">
+            <el-form-item label="浣撴闅忚瑕佹眰">
               <el-input type="textarea" v-model="form.desc"></el-input>
             </el-form-item>
           </el-col>
@@ -485,14 +636,14 @@
   resetUserPwd,
   changeUserStatus,
 } from "@/api/system/user";
-import Treeselect from "@riophae/vue-treeselect";
 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 {
@@ -511,7 +662,7 @@
       // 鐢ㄦ埛琛ㄦ牸鏁版嵁
       userList: null,
       // 寮瑰嚭灞傛爣棰�
-      title: "鏂板闂ㄨ瘖闅忚",
+      title: "鏂板浣撴闅忚",
       // 鏄惁鏄剧ず淇敼銆佹坊鍔犲脊鍑哄眰
       addalteropen: false,
       // 淇敼鍙戦�佹椂闂村璇濇
@@ -529,76 +680,77 @@
       },
       dynamicTags: ["閫夐」涓�", "閫夐」浜�", "閫夐」涓�"], //閫夐」
       inputVisible: false,
+      ycvalue: "",
+      yfsvalue: "",
       inputValue: "",
-      previewVisible: false, //闂ㄨ瘖闅忚棰勮寮规
+      preachform: "",
+      previewVisible: false, //浣撴闅忚棰勮寮规
       radio: "",
       radios: [],
-      previewtype: 2, //棰勮闂ㄨ瘖闅忚绫诲瀷
+      previewtype: 2, //棰勮浣撴闅忚绫诲瀷
       total: 0, // 鎬绘潯鏁�
-      ImportQuantity: 999, //瀵奸棬璇婇殢璁挎暟閲�
-      //棰勮闂ㄨ瘖闅忚淇℃伅
+      ImportQuantity: 999, //瀵间綋妫�闅忚鏁伴噺
+      //棰勮浣撴闅忚淇℃伅
       previewvalue: {
         username: "杩欎釜鍖荤敓瀵逛綘鎬庝箞鏍�",
       },
       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: "",
@@ -612,9 +764,11 @@
       topqueryParams: {
         pageNum: 1,
         pageSize: 10,
-        userName: undefined,
-        tagid: undefined,
-        topic: undefined,
+        serviceType: 5,
+        searchscope: 3,
+        scopetype: [],
+        leaveldeptcodes: [],
+        leavehospitaldistrictcodes: [],
       },
       propss: { multiple: true },
       options: [],
@@ -622,93 +776,138 @@
       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;
       });
     },
-    // 鏌ョ湅闂ㄨ瘖闅忚璇︽儏
+    // 鏌ョ湅浣撴闅忚璇︽儏
     Referencequestion(row) {
       this.previewVisible = true;
     },
@@ -726,7 +925,7 @@
         this.options = [];
       }
     },
-    // 闂ㄨ瘖闅忚鐘舵�佷慨鏀�
+    // 浣撴闅忚鐘舵�佷慨鏀�
     handleStatusChange(row) {
       let text = row.status === "0" ? "鍚敤" : "鍋滅敤";
       this.$modal
@@ -765,17 +964,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: 5,
+        searchscope: 2,
+      };
+      this.handleQuery(1);
     },
     // 澶氶�夋閫変腑鏁版嵁
     handleSelectionChange(selection) {
@@ -806,9 +1037,9 @@
     /** 鏂板鎸夐挳鎿嶄綔 */
     handleAdd() {
       this.$router.push({
-        path: "/followvisit/particty",
+        path: "/followvisit/QuestionnaireTask",
         query: {
-          type: 3,
+          type: 2,
           serviceType: 5,
         },
       });
@@ -839,13 +1070,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);
             });
           }
         }
@@ -860,7 +1091,7 @@
           return delUser(userIds);
         })
         .then(() => {
-          this.getList();
+          this.getList(1);
           this.$modal.msgSuccess("鍒犻櫎鎴愬姛");
         })
         .catch(() => {});
@@ -873,7 +1104,7 @@
           return console.log("鍋滄鎴愬姛");
         })
         .then(() => {
-          this.getList();
+          this.getList(1);
           this.$modal.msgWarning("鍋滄鎴愬姛");
         })
         .catch(() => {});
@@ -886,7 +1117,7 @@
           return console.log("寮�鍚垚鍔�");
         })
         .then(() => {
-          this.getList();
+          this.getList(1);
           this.$modal.msgSuccess("寮�鍚垚鍔�");
         })
         .catch(() => {});
@@ -899,7 +1130,7 @@
           return console.log("閫変腑鎴愬姛");
         })
         .then(() => {
-          this.getList();
+          this.getList(1);
           this.$modal.msgSuccess("閲嶇疆鎴愬姛");
         })
         .catch(() => {});
@@ -909,23 +1140,53 @@
       this.modificationVisible = true;
     },
     // 璺宠浆璇︽儏椤�
-    Seedetails() {
+    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: { id: "1" },
+        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 "";
     },
   },
 };
@@ -941,6 +1202,9 @@
 .document {
   // width: 100px;
   height: 50px;
+}
+::v-deep.el-table .warning-row {
+  background: #eec4c4;
 }
 
 .documentf {
@@ -1020,6 +1284,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;

--
Gitblit v1.9.3