From baeeb80c5dee869752520d95ca2fe7af96aa251d Mon Sep 17 00:00:00 2001
From: WXL <1785969728@qq.com>
Date: 星期四, 20 三月 2025 12:31:57 +0800
Subject: [PATCH] 测试完成

---
 src/views/followvisit/discharge/index.vue |  314 ++++++++++++++++++++++++++++++++++++++++++++--------
 1 files changed, 265 insertions(+), 49 deletions(-)

diff --git a/src/views/followvisit/discharge/index.vue b/src/views/followvisit/discharge/index.vue
index dc2c913..3128e9d 100644
--- a/src/views/followvisit/discharge/index.vue
+++ b/src/views/followvisit/discharge/index.vue
@@ -17,7 +17,7 @@
                   font-weight: 600;
                 "
               >
-                {{ item.value }}
+                {{ item.value ? item.value : 0 }}
               </div>
             </div>
           </el-card>
@@ -90,6 +90,17 @@
             end-placeholder="缁撴潫鏃ユ湡"
           ></el-date-picker>
         </el-form-item>
+        <el-form-item label="搴旈殢璁挎椂闂�">
+          <el-date-picker
+            v-model="dateRangefs"
+            style="width: 240px"
+            value-format="yyyy-MM-dd"
+            type="daterange"
+            range-separator="-"
+            start-placeholder="寮�濮嬫棩鏈�"
+            end-placeholder="缁撴潫鏃ユ湡"
+          ></el-date-picker>
+        </el-form-item>
 
         <el-form-item label="鎮h�呭鍚�" prop="sendname">
           <el-input
@@ -112,6 +123,17 @@
           <el-select v-model="topqueryParams.sendstate" placeholder="璇烽�夋嫨">
             <el-option
               v-for="item in topicoptions"
+              :key="item.value"
+              :label="item.label"
+              :value="item.value"
+            >
+            </el-option>
+          </el-select>
+        </el-form-item>
+        <el-form-item label="鎺掑簭鏂瑰紡" prop="status">
+          <el-select v-model="topqueryParams.sort" placeholder="璇烽�夋嫨">
+            <el-option
+              v-for="item in topicoptionssort"
               :key="item.value"
               :label="item.label"
               :value="item.value"
@@ -213,19 +235,36 @@
         <el-table-column
           label="浠诲姟鍚嶇О"
           fixed
+          width="150"
+          show-overflow-tooltip
           align="center"
           key="taskName"
           prop="taskName"
-          width="180"
         />
         <!-- <el-table-column label="搴忓彿" fixed align="center" key="id" prop="id" /> -->
         <el-table-column
           label="濮撳悕"
-          fixed
+          width="100"
           align="center"
           key="sendname"
           prop="sendname"
-        />
+        >
+          <template slot-scope="scope">
+            <el-button
+              size="medium"
+              type="text"
+              @click="
+                $router.push({
+                  path: '/patient/indexls/',
+                  query: { sfzh: scope.row.sfzh },
+                })
+              "
+              ><span class="button-textsc">{{
+                scope.row.sendname
+              }}</span></el-button
+            >
+          </template>
+        </el-table-column>
         <el-table-column
           label="浠诲姟鐘舵��"
           align="center"
@@ -247,7 +286,7 @@
               </div>
               <div v-if="scope.row.sendstate == 2">
                 <el-tag type="primary" :disable-transitions="false"
-                  >寰呮墽琛�</el-tag
+                  >寰呴殢璁�</el-tag
                 >
               </div>
               <div v-if="scope.row.sendstate == 3">
@@ -280,7 +319,7 @@
         />
 
         <el-table-column
-          label="浜哄伐澶勭悊鎰忚"
+          label="澶勭悊鎰忚"
           align="center"
           key="suggest"
           prop="suggest"
@@ -383,7 +422,7 @@
         /> -->
 
         <!-- <el-table-column label="骞撮緞" align="center" key="age" prop="age" /> -->
-        <!-- <el-table-column label="鎬у埆" align="center" key="sex" prop="sex" /> -->
+        <!-- <el-table-column label="鎬у埆"width="100" align="center" key="sex" prop="sex" /> -->
         <!-- <el-table-column label="搴婂彿" align="center" key="badNo" prop="badNo" /> -->
         <el-table-column
           label="绉戝"
@@ -447,32 +486,38 @@
         </el-table-column> -->
         <el-table-column
           label="浠诲姟缁撴灉璇存槑"
-          width="200"
+          width="220"
           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
+          <template  slot-scope="scope" v-if="scope.row.remark">
+            <el-tooltip
+              :content="scope.row.remark"
+              placement="top"
+              effect="dark"
             >
-            <el-tag type="warning" v-else>{{ scope.row.remark }}</el-tag>
+              <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>
+            </el-tooltip>
           </template>
         </el-table-column>
         <el-table-column
           label="鎿嶄綔"
           align="center"
           fixed="right"
-          width="200"
+          width="300"
           class-name="small-padding fixed-width"
         >
           <template slot-scope="scope">
-            <!-- <el-tooltip
+            <el-tooltip
               class="item"
               effect="dark"
-              content="閲嶆柊闅忚"
+              content="鍐嶆闅忚"
               placement="top"
             >
               <el-button
@@ -481,13 +526,15 @@
                 @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
+                  ><i class="el-icon-s-promotion"></i>鍐嶆闅忚</span
+                ></el-button
+              >
+            </el-tooltip>
+            <el-tooltip
+              v-if="scope.row.sendstate == 1 || scope.row.sendstate == 2"
               class="item"
               effect="dark"
-              content="鍋滄"
+              content="鏆傚仠鏈嶅姟"
               placement="top"
             >
               <el-button
@@ -495,9 +542,11 @@
                 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> -->
+                ><span class="button-sc"
+                  ><i class="el-icon-remove-outline"></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
@@ -515,7 +564,7 @@
         @pagination="getList"
       />
     </el-row>
-    <!-- 娣诲姞鎴栦慨鏀归棬璇婇殢璁垮璇濇 -->
+    <!-- 娣诲姞鎴栦慨鏀瑰奖鍍忛殢璁垮璇濇 -->
     <el-dialog
       :title="title"
       :visible.sync="addalteropen"
@@ -558,7 +607,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>
@@ -644,20 +693,87 @@
         >
       </span>
     </el-dialog>
+    <!-- 鍐嶆闅忚 -->
+    <el-dialog title="鎮h�呭啀娆¢殢璁�" :visible.sync="dialogFormVisible">
+      <el-form ref="zcform" :rules="zcrules" :model="zcform" label-width="80px">
+        <el-form-item label="浠诲姟鍚嶇О">
+          <el-input
+            style="width: 400px"
+            disabled
+            v-model="zcform.taskName"
+          ></el-input>
+        </el-form-item>
+        <el-form-item label="鎮h�呭悕绉�">
+          <el-input
+            style="width: 400px"
+            disabled
+            v-model="zcform.sendname"
+          ></el-input>
+        </el-form-item>
+        <el-form-item label="骞撮緞">
+          <el-input
+            style="width: 400px"
+            disabled
+            v-model="zcform.age"
+          ></el-input>
+        </el-form-item>
+        <el-form-item label="绉戝">
+          <el-input
+            style="width: 400px"
+            disabled
+            v-model="zcform.deptname"
+          ></el-input>
+        </el-form-item>
+        <el-form-item label="鐥呭尯">
+          <el-input
+            style="width: 400px"
+            disabled
+            v-model="zcform.leavehospitaldistrictname"
+          ></el-input>
+        </el-form-item>
+
+        <el-form-item label="闅忚鏂瑰紡" prop="resource">
+          <el-radio-group v-model="zcform.resource">
+            <el-radio label="1">鏈梾鍖洪殢璁�</el-radio>
+            <el-radio label="2">闅忚涓績闅忚</el-radio>
+          </el-radio-group>
+        </el-form-item>
+        <!-- <el-form-item label="鍗冲埢鍙戦��">
+          <el-switch v-model="zcform.delivery"></el-switch>
+        </el-form-item> -->
+        <el-form-item label="闅忚鏃堕棿" prop="date1">
+          <el-date-picker
+            type="date"
+            placeholder="閫夋嫨鏃ユ湡"
+            v-model="zcform.date1"
+            style="width: 100%"
+          ></el-date-picker>
+        </el-form-item>
+        <el-form-item label="闅忚璁板綍">
+          <el-input type="textarea" v-model="zcform.remark"></el-input>
+        </el-form-item>
+      </el-form>
+      <div slot="footer" class="dialog-footer">
+        <el-button @click="dialogFormVisible = false">鍙� 娑�</el-button>
+        <el-button type="primary" @click="setupsubtask">纭鍒涘缓鏈嶅姟</el-button>
+      </div>
+    </el-dialog>
   </div>
 </template>
 
 <script>
 import {
-  listUser,
-  getUser,
   delUser,
   addUser,
   updateUser,
   resetUserPwd,
   changeUserStatus,
 } from "@/api/system/user";
-import { getTaskservelist, buidegetTasklist } from "@/api/AiCentre/index";
+import {
+  getTaskservelist,
+  buidegetTasklist,
+  addserviceSubtask,
+} from "@/api/AiCentre/index";
 import Treeselect from "@riophae/vue-treeselect";
 import store from "@/store";
 import "@riophae/vue-treeselect/dist/vue-treeselect.css";
@@ -678,12 +794,13 @@
       multiple: true,
       // 鏄剧ず鎼滅储鏉′欢
       showSearch: true,
+      dialogFormVisible: false,
       // 鎬绘潯鏁�
       total: 0,
       // 鐢ㄦ埛琛ㄦ牸鏁版嵁
       userList: null,
       // 寮瑰嚭灞傛爣棰�
-      title: "鏂板闂ㄨ瘖闅忚",
+      title: "鏂板褰卞儚闅忚",
       // 鏄惁鏄剧ず淇敼銆佹坊鍔犲脊鍑哄眰
       addalteropen: false,
       // 淇敼鍙戦�佹椂闂村璇濇
@@ -694,24 +811,26 @@
       initPassword: undefined,
       // 鏃ユ湡鑼冨洿
       dateRange: [],
+      dateRangefs: [],
       // 宀椾綅閫夐」
       postOptions: [],
       ruleForm: {
         type: [],
       },
+      zcform: {},
       dynamicTags: ["閫夐」涓�", "閫夐」浜�", "閫夐」涓�"], //閫夐」
       inputVisible: false,
       ycvalue: "",
       yfsvalue: "",
       inputValue: "",
       preachform: "",
-      previewVisible: false, //闂ㄨ瘖闅忚棰勮寮规
+      previewVisible: false, //褰卞儚闅忚棰勮寮规
       radio: "",
       radios: [],
-      previewtype: 2, //棰勮闂ㄨ瘖闅忚绫诲瀷
+      previewtype: 2, //棰勮褰卞儚闅忚绫诲瀷
       total: 0, // 鎬绘潯鏁�
-      ImportQuantity: 999, //瀵奸棬璇婇殢璁挎暟閲�
-      //棰勮闂ㄨ瘖闅忚淇℃伅
+      ImportQuantity: 999, //瀵煎奖鍍忛殢璁挎暟閲�
+      //棰勮褰卞儚闅忚淇℃伅
       previewvalue: {
         username: "杩欎釜鍖荤敓瀵逛綘鎬庝箞鏍�",
       },
@@ -758,7 +877,7 @@
           value: 0,
         },
         {
-          name: "寰呮墽琛�",
+          name: "寰呴殢璁�",
           value: 0,
         },
         {
@@ -771,7 +890,14 @@
         //   value: 0,
         // },
       ],
-
+      zcrules: {
+        date1: [
+          { required: true, message: "璇烽�夋嫨闅忚鏂瑰紡", trigger: "change" },
+        ],
+        resource: [
+          { required: true, message: "璇烽�夋嫨闅忚鏃堕棿", trigger: "blur" },
+        ],
+      },
       // 琛ㄥ崟鍙傛暟
       form: {
         phonenumber: "",
@@ -781,10 +907,30 @@
         qystatus: "",
         btstatus: "",
       },
+      topicoptionssort:[
+        {
+          value: 0,
+          label: "鍑洪櫌鏃堕棿(姝e簭)",
+        },
+        {
+          value: 1,
+          label: "鍑洪櫌鏃堕棿(鍊掑簭)",
+        },
+        {
+          value: 2,
+          label: "鍙戦�佹椂闂�(姝e簭)",
+        },
+        {
+          value: 3,
+          label: "鍙戦�佹椂闂�(鍊掑簭)",
+        },
+      ],
       // 鏌ヨ鍙傛暟
       topqueryParams: {
         pageNum: 1,
         pageSize: 10,
+        sendstate: 2,
+        sort: 3, //0 鍑洪櫌鏃堕棿(姝e簭)    1 鍑洪櫌鏃堕棿(鍊掑簭)   2 鍙戦�佹椂闂�(姝e簭)    3 鍙戦�佹椂闂�(鍊掑簭)
         serviceType: 2,
         searchscope: 3,
         scopetype: [],
@@ -801,7 +947,7 @@
         },
         {
           value: 2,
-          label: "寰呮墽琛�",
+          label: "寰呴殢璁�",
         },
         {
           value: 3,
@@ -870,7 +1016,7 @@
     this.getList(1);
   },
   methods: {
-    /** 鏌ヨ闂ㄨ瘖闅忚鏈嶅姟鍒楄〃 */
+    /** 鏌ヨ褰卞儚闅忚鏈嶅姟鍒楄〃 */
     getList(refresh) {
       // 榛樿鍏ㄩ儴
       if (this.topqueryParams.searchscope == 3) {
@@ -888,10 +1034,13 @@
         console.log(this.topqueryParams.leavehospitaldistrictcodes, "11");
       }
       this.loading = true;
-      if (this.topqueryParams.leavehospitaldistrictcodes[0]&&this.topqueryParams.leaveldeptcodes[0]) {
-        this.topqueryParams.deptOrDistrict=2;
-      }else{
-        this.topqueryParams.deptOrDistrict=1;
+      if (
+        this.topqueryParams.leavehospitaldistrictcodes[0] &&
+        this.topqueryParams.leaveldeptcodes[0]
+      ) {
+        this.topqueryParams.deptOrDistrict = 2;
+      } else {
+        this.topqueryParams.deptOrDistrict = 1;
       }
       getTaskservelist(this.topqueryParams).then((response) => {
         this.userList = response.rows[0].serviceSubtaskList;
@@ -950,7 +1099,8 @@
       let obj = {
         pageNum: 1,
         pageSize: 10,
-        leavehospitaldistrictcodes: this.topqueryParams.leavehospitaldistrictcodes,
+        leavehospitaldistrictcodes:
+          this.topqueryParams.leavehospitaldistrictcodes,
         sendstates: [2, 3],
         leaveldeptcodes: this.topqueryParams.leaveldeptcodes,
       };
@@ -1012,7 +1162,7 @@
         this.options = [];
       }
     },
-    // 闂ㄨ瘖闅忚鐘舵�佷慨鏀�
+    // 褰卞儚闅忚鐘舵�佷慨鏀�
     handleStatusChange(row) {
       let text = row.status === "0" ? "鍚敤" : "鍋滅敤";
       this.$modal
@@ -1062,7 +1212,8 @@
       this.topqueryParams.pageNum = 1;
       this.topqueryParams.startOutHospTime = this.dateRange[0];
       this.topqueryParams.endOutHospTime = this.dateRange[1];
-
+      this.topqueryParams.startSendDateTime = this.dateRangefs[0];
+      this.topqueryParams.endSendDateTime = this.dateRangefs[1];
       this.getList(refresh);
     },
     // 鎮h�呰寖鍥村鐞�
@@ -1087,11 +1238,14 @@
     /** 閲嶇疆鎸夐挳鎿嶄綔 */
     resetQuery() {
       this.dateRange = [];
+      this.dateRangefs = [];
       this.topqueryParams = {
         pageNum: 1,
         pageSize: 10,
         serviceType: 2,
-        searchscope: 3,
+        sendstate: 2,
+        searchscope: 2,
+        sort: 3,
       };
       this.handleQuery(1);
     },
@@ -1233,7 +1387,6 @@
       if (row.preachformson) {
         if (row.preachformson.includes("3")) {
           type = 1;
-          console.log(type, "rwo");
         }
       }
       this.$router.push({
@@ -1245,6 +1398,42 @@
           Voicetype: type,
         },
       });
+    },
+    // 鍐嶆闅忚
+    followupvisit(row) {
+      this.zcform = row;
+      this.dialogFormVisible = true;
+    },
+    onSubmit() {},
+    // 鏆傚仠鏈嶅姟
+    handlestop(row) {
+      let objson = row;
+      this.$modal
+        .confirm(
+          '鏄惁纭鏆傚仠浠诲姟鍚嶇О涓�"' +
+            row.taskName +
+            '鎮h�呭悕绉颁负"' +
+            row.sendname +
+            '"鐨勬暟鎹」锛�'
+        )
+        .then(() => {
+          getTaskservelist({
+            patid: row.patid,
+            taskid: row.taskid,
+          }).then((res) => {
+            if (res.code == 200) {
+              objson.sendstate = 4;
+              objson.remark = "鏈嶅姟鏆傚仠";
+              Editsingletaskson(objson).then((res) => {
+                if (res.code) {
+                  this.$modal.msgSuccess("璁板綍鎴愬姛");
+                  this.getList(1);
+                }
+              });
+            }
+          });
+        })
+        .catch(() => {});
     },
     // 渚挎嵎鎸夐挳
     toleadExport(too) {
@@ -1274,6 +1463,33 @@
         return "warning-row";
       }
       return "";
+    },
+    // 鍒涘缓鍐嶆闅忚鏈嶅姟
+    setupsubtask() {
+      this.$refs["zcform"].validate((valid) => {
+        if (valid) {
+          let form = structuredClone(this.zcform);
+          form.longSendTime = this.formatTime(form.date1);
+          if (form.resource) {
+            if (form.resource == 2) {
+              form.serviceType = 10;
+            }
+          } else {
+            this.$modal.msgError("鏈�夋嫨闅忚鏂瑰紡");
+          }
+          form.id = null;
+          form.sendstate = 2;
+          form.preachform = form.preachformson;
+          addserviceSubtask(form).then((res) => {
+            if (res.code == 200) {
+              this.$modal.msgSuccess("鍒涘缓鎴愬姛");
+            } else {
+              this.$modal.msgError("鍒涘缓澶辫触");
+            }
+            this.dialogFormVisible = false;
+          });
+        }
+      });
     },
   },
 };
@@ -1409,7 +1625,7 @@
 }
 .button-sc {
   font-weight: 500;
-  background-color: #dd302a;
+  background-color: #b3a21f;
   padding: 5px;
   border-radius: 1px;
   color: #ffffff;

--
Gitblit v1.9.3