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/discharge/index.vue |  803 +++++++++++++++++++++++++++++++--------------------------
 1 files changed, 435 insertions(+), 368 deletions(-)

diff --git a/src/views/followvisit/discharge/index.vue b/src/views/followvisit/discharge/index.vue
index bd9c873..bf35fbb 100644
--- a/src/views/followvisit/discharge/index.vue
+++ b/src/views/followvisit/discharge/index.vue
@@ -1,5 +1,67 @@
 <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
@@ -11,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,36 +90,25 @@
             end-placeholder="缁撴潫鏃ユ湡"
           ></el-date-picker>
         </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="鎮h�呭鍚�" prop="sendname">
-          <el-input v-model="topqueryParams.sendname" placeholder="璇疯緭鍏ユ偅鑰呭鍚�"></el-input>
-        </el-form-item>
-        <el-form-item label="鎮h�呮潵婧�" prop="status">
-          <el-select
-                v-model="topqueryParams.searchscope"
-                placeholder="璇烽�夋嫨鎮h�呮潵婧�"
-              >
-                <el-option
-                  v-for="item in source"
-                  :key="item.value"
-                  :label="item.label"
-                  :value="item.value"
-                >
-                </el-option>
-              </el-select>
+          <el-input
+            v-model="topqueryParams.sendname"
+            placeholder="璇疯緭鍏ユ偅鑰呭鍚�"
+          ></el-input>
         </el-form-item>
 
-        <el-form-item label="闅忚鐘舵��" prop="status">
+        <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"
@@ -67,23 +119,13 @@
             </el-option>
           </el-select>
         </el-form-item>
-        <el-form-item label="缁撴灉鐘舵��" prop="status">
-          <el-select v-model="topqueryParams.excep" placeholder="璇烽�夋嫨">
-            <el-option
-              v-for="item in topicoptionsyj"
-              :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"
@@ -103,7 +145,7 @@
             >鏂板</el-button
           >
         </el-col>
-        <!-- <el-col :span="1.5">
+        <el-col :span="1.5">
           <div class="documentf">
             <div class="document">
               <el-button
@@ -122,55 +164,12 @@
           <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>
@@ -179,27 +178,28 @@
           <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="浠诲姟鍚嶇О"
+          fixed
           align="center"
           key="taskName"
           prop="taskName"
@@ -208,64 +208,60 @@
         <!-- <el-table-column label="搴忓彿" fixed align="center" key="id" prop="id" /> -->
         <el-table-column
           label="濮撳悕"
+          fixed
           align="center"
           key="sendname"
           prop="sendname"
         />
         <el-table-column
-          label="韬唤璇佸彿鐮�"
-          width="200"
-          align="center"
-          key="sfzh"
-          prop="sfzh"
-        />
-        <el-table-column
-          label="闅忚鐘舵��"
+          label="浠诲姟鐘舵��"
           align="center"
           key="sendstate"
           prop="sendstate"
           width="120"
         >
           <template slot-scope="scope">
-            <div v-if="scope.row.sendstate == 1">
-              <el-tag type="primary"
-              :disable-transitions="false">琚鍙�</el-tag></div>
+            <el-tooltip class="item" effect="dark" :content="scope.row.remark" placement="top-start">
+              <div v-if="scope.row.sendstate == 1">
+              <el-tag type="primary" :disable-transitions="false"
+                >琚鍙�</el-tag
+              >
+            </div>
             <div v-if="scope.row.sendstate == 2">
-              <el-tag type="primary"
-              :disable-transitions="false">寰呭彂閫�</el-tag>
-              </div>
-            <div v-if="scope.row.sendstate == 3"> <el-tag type="success"
-              :disable-transitions="false">宸插彂閫�</el-tag></div>
-            <div v-if="scope.row.sendstate == 4"> <el-tag type="info"
-              :disable-transitions="false">涓嶆墽琛�</el-tag></div>
-            <div v-if="scope.row.sendstate == 5"> <el-tag type="danger"
-              :disable-transitions="false">鍙戦�佸け璐�</el-tag></div>
-              <div v-if="scope.row.sendstate == 6"> <el-tag type="danger"
-                :disable-transitions="false">宸插畬鎴�</el-tag></div>
+              <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>
+    </el-tooltip>
+
           </template>
         </el-table-column>
+        <!-- <el-table-column
+          label="浠诲姟寮傚父璇存槑"
+          width="120"
+          align="center"
+          key="remark"
+          prop="remark" -->
+        />
 
         <el-table-column
-          label="缁撴灉鐘舵��"
-          align="center"
-          key="excep"
-          prop="excep"
-          width="120"
-        >
-          <template slot-scope="scope">
-            <div v-if="scope.row.sendstate == 6">
-              <dict-tag
-                :options="dict.type.sys_yujing"
-                :value="scope.row.excep"
-              />
-            </div>
-            <div v-else>
-              <span></span>
-            </div>
-          </template>
-        </el-table-column>
-        <el-table-column
-          label="澶勭悊鎰忚"
+          label="浜哄伐澶勭悊鎰忚"
           align="center"
           key="suggest"
           prop="suggest"
@@ -276,6 +272,24 @@
               :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
@@ -308,11 +322,23 @@
           prop="endDay"
         >
           <template slot-scope="scope">
-            <span>{{
-              scope.row.endDay ? scope.row.endDay + "澶�" : "鏃ユ湡缂哄け"
-            }}</span>
+            <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"
@@ -327,14 +353,6 @@
           key="drname"
           prop="drname"
         />
-        <el-table-column
-          label="闅忚寮傚父璁板綍"
-          width="120"
-          align="center"
-          key="remark"
-          prop="remark"
-        />
-
 
         <!-- <el-table-column
           label="鐥呭巻鍙�"
@@ -376,82 +394,58 @@
         </el-table-column> -->
 
         <el-table-column
-          label="妯℃澘鍚嶇О"
+          label="鍑洪櫌闅忚妯℃澘鍚嶇О"
           align="center"
           key="templatename"
           prop="templatename"
           width="200"
         />
-
         <el-table-column
-          label="闅忚浜哄憳"
+          label="浠诲姟鎵ц鏂瑰紡"
           align="center"
-          key="createBy"
-          prop="createBy"
-          width="120"
-        />
-        <!-- <el-table-column
-          label="璐d换鍖诲笀"
-          align="center"
-          key="drname"
-          prop="drname"
-          width="120"
-        /> -->
-
-        <!-- <el-table-column
-          label="鍑洪櫌鏃堕棿"
-          sortable
-          align="center"
-          prop="createTime"
+          key="preachform"
+          prop="preachform"
           width="160"
-        >
-          <template slot-scope="scope">
-            <span>{{ formatTime(scope.row.createTime) }}</span>
-          </template>
-        </el-table-column> -->
-        <!-- <el-table-column
-          label="闅忚鏃堕棿"
-          sortable
-          align="center"
-          prop="createTime"
-          width="160"
-        >
-          <template slot-scope="scope">
-            <span v-if="scope.row.sendType != 3">{{
-              formatTime(scope.row.createTime)
-            }}</span>
-            <span v-else>鍗冲埢鍙戦��</span>
-          </template>
-        </el-table-column> -->
-        <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="闅忚鐘舵��"
-          fixed="right"
-          align="center"
-          key="sendstate"
-          prop="sendstate"
-          width="120"
           :show-overflow-tooltip="true"
         >
           <template slot-scope="scope">
-            <dict-tag :options="serviceState" :value="scope.row.sendstate" />
+            <span v-for="item in scope.row.preachform">{{ item }}銆� </span>
+          </template>
+        </el-table-column>
+        <!-- <el-table-column
+          label="浠诲姟鍙戦�佹祦绋�"
+          align="center"
+          key="serviceSubtaskRecordList"
+          prop="serviceSubtaskRecordList"
+          width="160"
+          :show-overflow-tooltip="true"
+        >
+          <template slot-scope="scope">
+            <span v-for="item in scope.row.serviceSubtaskRecordList"
+              >{{ item.remark }}銆�
+            </span>
           </template>
         </el-table-column> -->
-
+        <el-table-column
+          label="浠诲姟缁撴灉璇存槑"
+          width="200"
+          align="center"
+          key="remark"
+          prop="remark"
+        >
+          <template slot-scope="scope" v-if="scope.row.remark">
+            <el-tag
+              type="warning"
+              v-if="scope.row.sendstate != 5 && scope.row.sendstate != 4"
+              >{{ scope.row.remark }}</el-tag
+            >
+            <el-tag type="warning" v-else>{{ scope.row.remark }}</el-tag>
+          </template>
+        </el-table-column>
         <el-table-column
           label="鎿嶄綔"
-          fixed="right"
           align="center"
+          fixed="right"
           width="200"
           class-name="small-padding fixed-width"
         >
@@ -485,20 +479,6 @@
                 ><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-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> -->
             <el-button size="medium" type="text" @click="Seedetails(scope.row)"
               ><span class="button-zx"
                 ><i class="el-icon-s-order"></i>鏌ョ湅璇︽儏</span
@@ -516,7 +496,7 @@
         @pagination="getList"
       />
     </el-row>
-    <!-- 娣诲姞鎴栦慨鏀归棬璇婇殢璁垮璇濇 -->
+    <!-- 娣诲姞鎴栦慨鏀瑰奖鍍忛殢璁垮璇濇 -->
     <el-dialog
       :title="title"
       :visible.sync="addalteropen"
@@ -559,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>
@@ -684,7 +664,7 @@
       // 鐢ㄦ埛琛ㄦ牸鏁版嵁
       userList: null,
       // 寮瑰嚭灞傛爣棰�
-      title: "鏂板闂ㄨ瘖闅忚",
+      title: "鏂板褰卞儚闅忚",
       // 鏄惁鏄剧ず淇敼銆佹坊鍔犲脊鍑哄眰
       addalteropen: false,
       // 淇敼鍙戦�佹椂闂村璇濇
@@ -702,115 +682,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: [],
-      source: [
-        {
-          value: 0,
-          label: "鎵�灞炴偅鑰�",
-        },
+
+      sourcetype: [
         {
           value: 1,
-          label: "绉戝鎮h��",
+          label: "绉戝",
+          children: [],
         },
         {
           value: 2,
-          label: "鐥呭尯鎮h��",
+          label: "鐥呭尯",
+          children: [],
+        },
+        {
+          value: 3,
+          label: "鍏ㄩ儴",
         },
       ],
       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();
+      cardlist: [
+        {
+          name: "鍑洪櫌鏈嶅姟鎬婚噺",
+          value: 0,
         },
-        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);
-            },
-          },
-        ],
-      },
+        {
+          name: "鎮h�呰繃婊�",
+          value: 0,
+        },
+        {
+          name: "搴旈殢璁�",
+          value: 0,
+        },
+
+        // {
+        //   name: "寮傚父",
+        //   value: 0,
+        // },
+        {
+          name: "鍙戦�佸け璐�",
+          value: 0,
+        },
+        {
+          name: "寰呭彂閫�",
+          value: 0,
+        },
+        {
+          name: "宸插彂閫�",
+          value: 0,
+        },
+
+        // {
+        //   name: "宸插彂閫佹湭棰嗗彇",
+        //   value: 0,
+        // },
+      ],
+
       // 琛ㄥ崟鍙傛暟
       form: {
         phonenumber: "",
@@ -825,6 +767,10 @@
         pageNum: 1,
         pageSize: 10,
         serviceType: 2,
+        searchscope: 3,
+        scopetype: [],
+        leaveldeptcodes: [],
+        leavehospitaldistrictcodes: [],
       },
       propss: { multiple: true },
       options: [],
@@ -840,7 +786,7 @@
         },
         {
           value: 3,
-          label: "宸插彂閫�",
+          label: "宸插彂閫佹湭棰嗗彇",
         },
         {
           value: 4,
@@ -865,7 +811,10 @@
           label: "姝e父",
         },
       ],
+      errtype: "",
+      leavehospitaldistrictcode: "",
       serviceState: [],
+      checkboxlist: [],
       // 琛ㄥ崟鏍¢獙
       rules: {},
     };
@@ -873,49 +822,94 @@
   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() {
-      if (this.topqueryParams.searchscope == 1) {
-        this.topqueryParams.leaveldeptcodes = store.getters.belongDepts.map(
-          (obj) => obj.deptCode
-        );
-        this.topqueryParams.leavehospitaldistrictcodes=null;
-      } else if (this.topqueryParams.searchscope == 2) {
-        this.topqueryParams.leavehospitaldistrictcodes =
-          store.getters.belongWards.map((obj) => obj.districtCode);
-          this.topqueryParams.leaveldeptcodes=null;
-      } else {
+    /** 鏌ヨ褰卞儚闅忚鏈嶅姟鍒楄〃 */
+    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;
-        this.loading = false;
       });
     },
-    // 鏌ョ湅闂ㄨ瘖闅忚璇︽儏
+    // 鏌ョ湅褰卞儚闅忚璇︽儏
     Referencequestion(row) {
       this.previewVisible = true;
     },
@@ -933,7 +927,7 @@
         this.options = [];
       }
     },
-    // 闂ㄨ瘖闅忚鐘舵�佷慨鏀�
+    // 褰卞儚闅忚鐘舵�佷慨鏀�
     handleStatusChange(row) {
       let text = row.status === "0" ? "鍚敤" : "鍋滅敤";
       this.$modal
@@ -972,17 +966,8 @@
       this.resetForm("form");
     },
     /** 鎼滅储鎸夐挳鎿嶄綔 */
-    handleQuery() {
-      if (this.topqueryParams.searchscope == 1) {
-        this.topqueryParams.leaveldeptcodes = store.getters.belongDepts.map(
-          (obj) => obj.deptCode
-        );
-        this.topqueryParams.leavehospitaldistrictcodes=null;
-      } else if (this.topqueryParams.searchscope == 2) {
-        this.topqueryParams.leavehospitaldistrictcodes =
-          store.getters.belongWards.map((obj) => obj.districtCode);
-          this.topqueryParams.leaveldeptcodes=null;
-      } else {
+    handleQuery(refresh) {
+      if (this.topqueryParams.searchscope == 3) {
         this.topqueryParams.leaveldeptcodes = store.getters.belongDepts.map(
           (obj) => obj.deptCode
         );
@@ -990,13 +975,40 @@
           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.topqueryParams = {};
-      this.handleQuery();
+      this.topqueryParams = {
+        pageNum: 1,
+        pageSize: 10,
+        serviceType: 2,
+        searchscope: 2,
+      };
+      this.handleQuery(1);
     },
     // 澶氶�夋閫変腑鏁版嵁
     handleSelectionChange(selection) {
@@ -1060,13 +1072,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);
             });
           }
         }
@@ -1081,7 +1093,7 @@
           return delUser(userIds);
         })
         .then(() => {
-          this.getList();
+          this.getList(1);
           this.$modal.msgSuccess("鍒犻櫎鎴愬姛");
         })
         .catch(() => {});
@@ -1094,7 +1106,7 @@
           return console.log("鍋滄鎴愬姛");
         })
         .then(() => {
-          this.getList();
+          this.getList(1);
           this.$modal.msgWarning("鍋滄鎴愬姛");
         })
         .catch(() => {});
@@ -1107,7 +1119,7 @@
           return console.log("寮�鍚垚鍔�");
         })
         .then(() => {
-          this.getList();
+          this.getList(1);
           this.$modal.msgSuccess("寮�鍚垚鍔�");
         })
         .catch(() => {});
@@ -1120,7 +1132,7 @@
           return console.log("閫変腑鎴愬姛");
         })
         .then(() => {
-          this.getList();
+          this.getList(1);
           this.$modal.msgSuccess("閲嶇疆鎴愬姛");
         })
         .catch(() => {});
@@ -1131,22 +1143,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,id: row.id},
+        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 "";
     },
   },
 };
@@ -1162,6 +1204,9 @@
 .document {
   // width: 100px;
   height: 50px;
+}
+::v-deep.el-table .warning-row {
+  background: #eec4c4;
 }
 
 .documentf {
@@ -1241,6 +1286,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