From 8e71817416de83a5ca9243c5e7fdd1c71317c4dc Mon Sep 17 00:00:00 2001
From: WXL <1785969728@qq.com>
Date: 星期三, 21 五月 2025 14:40:29 +0800
Subject: [PATCH] 测试完成

---
 src/views/index.vue                               |   36 ++++++--
 src/views/followvisit/record/detailpage/index.vue |  129 ++++++++++++++++++++++----------
 src/views/patient/patient/index.vue               |   17 ++--
 src/views/followvisit/discharge/index.vue         |   22 ++++
 4 files changed, 143 insertions(+), 61 deletions(-)

diff --git a/src/views/followvisit/discharge/index.vue b/src/views/followvisit/discharge/index.vue
index 2c60cfa..76cd0b6 100644
--- a/src/views/followvisit/discharge/index.vue
+++ b/src/views/followvisit/discharge/index.vue
@@ -236,6 +236,15 @@
             </div>
           </div>
         </el-col>
+        <el-col :span="1.5">
+          <div class="documentf">
+            <div class="document">
+              <el-button type="success" size="medium" @click="onthatday()"
+                >褰撴棩鏈嶅姟</el-button
+              >
+            </div>
+          </div>
+        </el-col>
       </el-row>
       <el-table
         v-loading="loading"
@@ -312,7 +321,7 @@
                 >
               </div>
               <div v-if="scope.row.sendstate == 6">
-                <el-tag type="danger" :disable-transitions="false"
+                <el-tag type="success" :disable-transitions="false"
                   >宸插畬鎴�</el-tag
                 >
               </div>
@@ -1163,6 +1172,15 @@
       this.topqueryParams.nurseId = store.getters.hisUserId;
       this.getList(1);
     },
+    onthatday() {
+      this.topqueryParams.startSendDateTime = this.getCurrentDate();
+      this.topqueryParams.endSendDateTime = this.getCurrentDate();
+      this.getList(1);
+    },
+    getCurrentDate() {
+      const now = new Date();
+      return now.toISOString().slice(0, 10); // 鎴彇鍓�10涓瓧绗︼紝鍗� YYYY-MM-DD
+    },
     buidegetTasklist(type) {
       if (this.topqueryParams.searchscope == 3) {
         this.topqueryParams.leaveldeptcodes = store.getters.belongDepts.map(
@@ -1286,8 +1304,6 @@
         this.topqueryParams.leavehospitaldistrictcodes =
           store.getters.belongWards.map((obj) => obj.districtCode);
       }
-      console.log("1");
-
       this.topqueryParams.pageNum = 1;
       this.topqueryParams.startOutHospTime = this.dateRange[0];
       this.topqueryParams.endOutHospTime = this.dateRange[1];
diff --git a/src/views/followvisit/record/detailpage/index.vue b/src/views/followvisit/record/detailpage/index.vue
index 286c174..e02d87d 100644
--- a/src/views/followvisit/record/detailpage/index.vue
+++ b/src/views/followvisit/record/detailpage/index.vue
@@ -32,7 +32,11 @@
         </div>
       </div>
       <div>
-        <el-table :data="logsheetlist" :row-class-name="tableRowClassName" style="width: 100%">
+        <el-table
+          :data="logsheetlist"
+          :row-class-name="tableRowClassName"
+          style="width: 100%"
+        >
           <el-table-column
             prop="sendname"
             align="center"
@@ -372,7 +376,7 @@
                       : 'scriptTopic-dev'
                   "
                   :key="index"
-                  v-if="item.scriptType == 1"
+                  v-if="item.scriptType == 1 && !item.astrict"
                 >
                   <div class="dev-text">
                     {{ index + 1 }}銆乕鍗曢�塢<span>{{ item.scriptContent }}</span>
@@ -380,14 +384,20 @@
                   <div class="dev-xx">
                     <el-radio-group
                       v-model="item.scriptResult"
-                      @change="handleOptionChange($event, index, item)"
+                      @change="
+                        handleOptionChange(
+                          $event,
+                          index,
+                          item.svyLibTemplateTargetoptions
+                        )
+                      "
                     >
                       <el-radio
                         v-for="(
-                          items, index
+                          items, indexs
                         ) in item.svyLibTemplateTargetoptions"
                         :class="items.isabnormal ? 'red-star' : ''"
-                        :key="index"
+                        :key="indexs"
                         :label="items.optioncontent"
                         >{{ items.optioncontent }}</el-radio
                       >
@@ -405,7 +415,7 @@
                       : 'scriptTopic-dev'
                   "
                   :key="index"
-                  v-if="item.scriptType == 2"
+                  v-if="item.scriptType == 2 && !item.astrict"
                 >
                   <div class="dev-text">
                     {{ index + 1 }}銆乕澶氶�塢<span>{{ item.scriptContent }}</span>
@@ -436,7 +446,7 @@
                 <div
                   class="scriptTopic-dev"
                   :key="index"
-                  v-if="item.scriptType == 4"
+                  v-if="item.scriptType == 4 && !item.astrict"
                 >
                   <div class="dev-text">
                     {{ index + 1 }}銆乕闂瓟]<span>{{ item.scriptContent }}</span>
@@ -626,8 +636,8 @@
           <el-date-picker
             type="date"
             placeholder="閫夋嫨鏃ユ湡"
-             :picker-options="pickerOptions"
-             align="right"
+            :picker-options="pickerOptions"
+            align="right"
             v-model="form.date1"
             style="width: 100%"
           ></el-date-picker>
@@ -676,7 +686,7 @@
       activeName: "wj",
       voice: "",
       templateid: "",
-      again:'',
+      again: "",
       zcform: {},
       form: {},
       tableDatatop: [], //棰樼洰琛�
@@ -725,29 +735,33 @@
         },
       },
       pickerOptions: {
-          shortcuts: [{
-            text: '涓冨ぉ鍚�',
+        shortcuts: [
+          {
+            text: "涓冨ぉ鍚�",
             onClick(picker) {
               const date = new Date();
               date.setTime(date.getTime() + 3600 * 1000 * 24 * 7);
-              picker.$emit('pick', date);
-            }
-          }, {
-            text: '15澶╁悗',
+              picker.$emit("pick", date);
+            },
+          },
+          {
+            text: "15澶╁悗",
             onClick(picker) {
               const date = new Date();
-              date.setTime(date.getTime() + 3600 * 1000 * 24* 15);
-              picker.$emit('pick', date);
-            }
-          }, {
-            text: '30澶╁悗',
+              date.setTime(date.getTime() + 3600 * 1000 * 24 * 15);
+              picker.$emit("pick", date);
+            },
+          },
+          {
+            text: "30澶╁悗",
             onClick(picker) {
               const date = new Date();
               date.setTime(date.getTime() + 3600 * 1000 * 24 * 30);
-              picker.$emit('pick', date);
-            }
-          }]
-        },
+              picker.$emit("pick", date);
+            },
+          },
+        ],
+      },
       userform: {},
       Whetherall: true, //鏄惁鍏ㄩ儴璁板綍灞曠ず
       dialogFormVisible: false,
@@ -784,9 +798,9 @@
         isFinish: false,
       }).then((res) => {
         if (res.code === 200) {
-          if (this.again&&res.data.upScriptResult) {
-          this.tableDatatop = res.data.upScriptResult;
-          }else{
+          if (this.again && res.data.upScriptResult) {
+            this.tableDatatop = res.data.upScriptResult;
+          } else {
             this.tableDatatop = res.data.scriptResult;
           }
           this.tableDatatop.forEach((item) => {
@@ -945,7 +959,16 @@
             .confirm(
               '浠诲姟淇濆瓨鎴愬姛鏄惁閽堝鎮h�咃細"' +
                 this.logsheetlist[0].sendname +
-                '"鍐嶆闅忚锛�'
+                '"鍐嶆闅忚锛�',
+              "纭",
+              {
+                confirmButtonText: "纭畾",
+                cancelButtonText: "鍙栨秷",
+                showCancelButton: true,
+                dangerouslyUseHTMLString: true,
+                confirmButtonClass: "custom-confirm-button", // 鑷畾涔夌‘璁ゆ寜閽殑绫诲悕
+                cancelButtonClass: "custom-cancel-button", // 鑷畾涔夊彇娑堟寜閽殑绫诲悕
+              }
             )
             .then(() => {
               document.querySelector("#app").scrollTo(0, 0);
@@ -983,7 +1006,18 @@
           this.$modal.msgSuccess("鏈嶅姟淇濆瓨鎴愬姛");
           this.$modal
             .confirm(
-              '浠诲姟淇濆瓨鎴愬姛鏄惁閽堝鎮h�咃細"' + this.userform.name + '"鍐嶆闅忚锛�'
+              '浠诲姟淇濆瓨鎴愬姛鏄惁閽堝鎮h�咃細"' +
+                this.userform.name +
+                '"鍐嶆闅忚锛�',
+              "纭",
+              {
+                confirmButtonText: "纭畾",
+                cancelButtonText: "鍙栨秷",
+                showCancelButton: true,
+                dangerouslyUseHTMLString: true,
+                confirmButtonClass: "custom-confirm-button", // 鑷畾涔夌‘璁ゆ寜閽殑绫诲悕
+                cancelButtonClass: "custom-cancel-button", // 鑷畾涔夊彇娑堟寜閽殑绫诲悕
+              }
             )
             .then(() => {
               document.querySelector("#app").scrollTo(0, 0);
@@ -1007,7 +1041,9 @@
         subId: id,
       }).then((res) => {
         if (res.code == 200) {
-          this.form = res.rows[0].serviceSubtaskList.find(item => item.id == this.id);
+          this.form = res.rows[0].serviceSubtaskList.find(
+            (item) => item.id == this.id
+          );
           this.logsheetlist = res.rows[0].serviceSubtaskList;
           this.templateid = this.logsheetlist[0].templateid;
           const targetDate = new Date(this.form.longSendTime); // 鐩爣鏃ユ湡
@@ -1050,14 +1086,15 @@
       });
     },
     Editsingletasksonyic(sendstate) {
-
       let objson = {};
       getTaskservelist({
         patid: this.patid,
         subId: this.id,
       }).then((res) => {
         if (res.code == 200) {
-          objson = res.rows[0].serviceSubtaskList.find(item => item.id == this.id);
+          objson = res.rows[0].serviceSubtaskList.find(
+            (item) => item.id == this.id
+          );
           objson.remark = this.form.remark;
           if (sendstate) objson.sendstate = sendstate;
           Editsingletaskson(objson).then((res) => {
@@ -1108,8 +1145,18 @@
         .catch(() => {});
     },
     handleOptionChange(a, b, c) {
-console.log(a);
-
+      const result = c.find((item) => item.optioncontent == a);
+      if (result.nextQuestion == 0) {
+        this.tableDatatop = this.tableDatatop.reduce((acc, item, i) => {
+          acc.push(i > b ? { ...item, astrict: 1 } : item);
+          return acc;
+        }, []);
+      } else {
+        this.tableDatatop = this.tableDatatop.reduce((acc, item, i) => {
+          acc.push(i > b ? { ...item, astrict: 0 } : item);
+          return acc;
+        }, []);
+      }
       if (this.Voicetype) {
         var obj = this.tableDatatop[b].ivrTaskScriptTargetoptionList.find(
           (item) => item.optioncontent == a
@@ -1191,14 +1238,12 @@
 
       return `${year}-${month}-${day} ${hours}:${minutes}:${seconds}`;
     },
-    updateScore(a, b, c) {
-
-    },
+    updateScore(a, b, c) {},
   },
 };
 </script>
 
-<style lang="scss" scoped>
+<style lang="scss">
 .Followupdetailspage {
   margin: 10px;
 }
@@ -1369,7 +1414,11 @@
 ::v-deep.el-link.el-link--default {
   color: #02a7f0 !important;
 }
-.mulsz {
+.el-message-box__btns button:nth-child(2) {
+    margin-left: 10px;
+    background-color:#f57676;
+    border-color:#f57676
+}.mulsz {
   font-size: 25px;
   margin-top: 20px;
 }
diff --git a/src/views/index.vue b/src/views/index.vue
index b43ec1e..9b1f7fc 100644
--- a/src/views/index.vue
+++ b/src/views/index.vue
@@ -20,7 +20,7 @@
             <el-row :gutter="20">
               <el-col :span="10">
                 <div class="home-user-task-stats">
-                  <p>{{ 11231 }}</p>
+                  <p>{{ OutpatientData.rs }}</p>
                   <div class="text-color2">
                     <p>闂ㄨ瘖灏辫瘖閲忥紙浜烘锛�</p>
                   </div>
@@ -28,7 +28,7 @@
               </el-col>
               <el-col :span="10">
                 <div class="home-user-task-stats">
-                  <p>{{ 9207 }}</p>
+                  <p>{{ OutpatientData.rc }}</p>
                   <div class="text-color2">
                     <p>闂ㄨ瘖鏈嶅姟閲忥紙浜烘锛�</p>
                   </div>
@@ -62,7 +62,7 @@
             <el-row :gutter="20">
               <el-col :span="10">
                 <div class="home-user-task-stats">
-                  <p style="color: red">{{ 3453 }}</p>
+                  <p style="color: red">{{ DischargeData.rs }}</p>
                 </div>
                 <div class="text-color2">
                   <p>鍑洪櫌灏辫瘖閲忥紙浜烘锛�</p>
@@ -70,7 +70,7 @@
               </el-col>
               <el-col :span="10">
                 <div class="home-user-task-stats">
-                  <p style="color: red">{{ 4213 }}</p>
+                  <p style="color: red">{{ DischargeData.rc }}</p>
                   <div class="text-color2">
                     <p>鍑洪櫌鏈嶅姟閲忥紙浜烘锛�</p>
                   </div>
@@ -310,6 +310,14 @@
       lastHeight: window.innerHeight,
       radio1: "鍛�",
       ticketStatistics: {},
+      DischargeData: {
+        rs: "",
+        rc: "",
+      },
+      OutpatientData: {
+        rs: "",
+        rc: "",
+      },
       order: "",
       Count: "",
       datatni: [],
@@ -340,9 +348,9 @@
     },
   },
   created() {
-    // this.getTopdata();
-    // this.getgraphdata();
-    // this.getranking();
+    this.getTopdata();
+    this.getgraphdata();
+    this.getranking();
     this.$nextTick(function () {
       this.getregionAmountCollect();
       this.getnodeCollect();
@@ -420,8 +428,18 @@
         endDate: this.statd,
         cy: 1,
       };
-      getEChartsPatMedOuthospCount(hospCountdata).then((res) => {});
-      getechartsListCountdata(Countdata).then((res) => {});
+      // 鏌ヨ闂ㄨ瘖鐪嬬梾浜烘鍜屼汉鏁�
+      getEChartsPatMedOuthospCount(hospCountdata).then((res) => {
+        if (res.code == 200) {
+          this.OutpatientData = res.data;
+        }
+      });
+      // 鏌ヨ鍑恒�佸叆闄㈢湅鐥呬汉娆″拰浜烘暟
+      getechartsListCountdata(Countdata).then((res) => {
+        if (res.code == 200) {
+          this.DischargeData = res.data;
+        }
+      });
     },
     // 鑾峰彇灏辫瘖鏁伴噺
     getranking() {
diff --git a/src/views/patient/patient/index.vue b/src/views/patient/patient/index.vue
index 8c1dec9..2c2d0ea 100644
--- a/src/views/patient/patient/index.vue
+++ b/src/views/patient/patient/index.vue
@@ -1,7 +1,7 @@
 <template>
   <div class="Questionnairemanagement">
     <!-- 宸︿晶鏍� -->
-    <div class="sidecolumn">
+    <!-- <div class="sidecolumn">
       <div class="sidecolumn-top">
         <div class="top-wj">鍖婚櫌鎮h��</div>
       </div>
@@ -12,13 +12,12 @@
           v-model="queryParams.allhosp"
           @tab-click="handleClick"
         >
-          <!-- <el-tab-pane label="鎮h�呭垪琛�" name="0"></el-tab-pane> -->
           <el-tab-pane label="鍑哄叆闄㈡偅鑰�" name="1"></el-tab-pane>
           <el-tab-pane label="闂ㄨ瘖鎮h��" name="2"></el-tab-pane>
           <el-tab-pane label="浣撴鎮h��" name="3"></el-tab-pane>
         </el-tabs>
       </div>
-    </div>
+    </div> -->
     <!-- 鍙充晶鏁版嵁 -->
 
     <div class="leftvlue">
@@ -93,7 +92,7 @@
                 />
               </el-form-item>
 
-              <el-form-item label="闂ㄨ瘖缂栧彿" prop="visitno">
+              <el-form-item label="鎮h�呮。妗堝彿" prop="visitno">
                 <el-input
                   v-model="queryParams.visitno"
                   placeholder="璇疯緭鍏ョ紪鍙�"
@@ -123,7 +122,7 @@
                   </el-option>
                 </el-select>
               </el-form-item> -->
-              <el-form-item label="鎮h�呰寖鍥�" prop="status">
+              <!-- <el-form-item label="鎮h�呰寖鍥�" prop="status">
                 <el-cascader
                   v-model="queryParams.scopetype"
                   placeholder="榛樿鍏ㄩ儴"
@@ -131,7 +130,7 @@
                   :props="{ expandTrigger: 'hover' }"
                   @change="handleChange"
                 ></el-cascader>
-              </el-form-item>
+              </el-form-item> -->
               <el-form-item label="鑱旂郴鐢佃瘽" prop="telcode">
                 <el-input
                   v-model="queryParams.telcode"
@@ -1462,7 +1461,7 @@
 
 <style lang="scss" scoped>
 .Questionnairemanagement {
-  display: flex;
+  // display: flex;
 }
 .sidecolumn {
   width: 180px;
@@ -1544,8 +1543,8 @@
   cursor: pointer; /* 榧犳爣鎮诞鏃跺彉涓烘墜褰� */
 }
 .leftvlue {
-  width: 80%;
-  margin-left: 220px;
+  // width: 100%;
+  // margin-left: 220px;
   margin-top: 10px;
 }
 .leftvlue-bg {

--
Gitblit v1.9.3