From 9bc27231d681cbc1bae6d8f199521d332c9c23f7 Mon Sep 17 00:00:00 2001
From: WXL <1785969728@qq.com>
Date: 星期一, 19 八月 2024 11:14:23 +0800
Subject: [PATCH] 测试完成

---
 src/views/patient/patient/index.vue |  286 +++++++++++++++++++++++++++++++++++++++++++++++++--------
 1 files changed, 246 insertions(+), 40 deletions(-)

diff --git a/src/views/patient/patient/index.vue b/src/views/patient/patient/index.vue
index 487b9d0..52ac782 100644
--- a/src/views/patient/patient/index.vue
+++ b/src/views/patient/patient/index.vue
@@ -25,8 +25,11 @@
       <div>
         <el-row :gutter="10">
           <el-col :span="2.5" v-for="(item, index) in cardlist" :key="index">
-            <el-card shadow="hover">
-              <div style="padding: 8px">
+            <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="
@@ -55,7 +58,7 @@
               v-show="showSearch"
               label-width="98px"
             >
-              <el-form-item label="闄㈠尯" prop="userName">
+              <!-- <el-form-item label="闄㈠尯" prop="userName">
                 <el-select v-model="queryParams.value1" placeholder="璇烽�夋嫨">
                   <el-option
                     v-for="item in options"
@@ -65,8 +68,8 @@
                   >
                   </el-option>
                 </el-select>
-              </el-form-item>
-              <el-form-item label="绉戝/鐥呭尯" prop="userName">
+              </el-form-item> -->
+              <!-- <el-form-item label="绉戝/鐥呭尯" prop="userName">
                 <el-select v-model="queryParams.value2" placeholder="璇烽�夋嫨">
                   <el-option
                     v-for="item in options"
@@ -76,28 +79,26 @@
                   >
                   </el-option>
                 </el-select>
-              </el-form-item>
+              </el-form-item> -->
               <el-form-item
                 label-width="138px"
                 label="涓绘不鍖荤敓"
                 prop="userName"
               >
-                <el-select v-model="queryParams.value3" placeholder="璇烽�夋嫨">
-                  <el-option
-                    v-for="item in options"
-                    :key="item.value"
-                    :label="item.label"
-                    :value="item.value"
-                  >
-                  </el-option>
-                </el-select>
+                <el-input
+                  v-model="queryParams.drname"
+                  placeholder="璇疯緭鍏ュ尰鐢熷鍚�"
+                  maxlength="30"
+                  @keyup.enter.native="handleQuery"
+                />
               </el-form-item>
 
-              <el-form-item label="妗f缂栧彿" prop="number">
+              <el-form-item label="闂ㄨ瘖缂栧彿" prop="visitno">
                 <el-input
-                  v-model="queryParams.number"
+                  v-model="queryParams.visitno"
                   placeholder="璇疯緭鍏ョ紪鍙�"
                   maxlength="30"
+                  @keyup.enter.native="handleQuery"
                 />
               </el-form-item>
               <el-form-item label="濮撳悕" prop="name">
@@ -105,6 +106,15 @@
                   v-model="queryParams.name"
                   placeholder="璇疯緭鍏ュ鍚�"
                   maxlength="30"
+                  @keyup.enter.native="handleQuery"
+                />
+              </el-form-item>
+              <el-form-item label="鑱旂郴鐢佃瘽" prop="telcode">
+                <el-input
+                  v-model="queryParams.telcode"
+                  placeholder="璇疯緭鍏ヨ仈绯荤數璇�"
+                  maxlength="30"
+                  @keyup.enter.native="handleQuery"
                 />
               </el-form-item>
 
@@ -159,6 +169,16 @@
                   @click="handleDelete"
                   v-hasPermi="['system:user:remove']"
                   >鍒犻櫎</el-button
+                >
+              </el-col>
+              <el-col :span="1.5">
+                <el-button
+                  type="primary"
+                  plain
+                  icon="el-icon-s-promotion"
+                  size="medium"
+                  @click="distribute"
+                  >鍚戜换鍔℃淳鍙戞偅鑰�</el-button
                 >
               </el-col>
               <el-col :span="6">
@@ -308,10 +328,10 @@
                     "
                     v-hasPermi="['system:user:edit']"
                     ><span class="button-textsc"
-                      ><i class="el-icon-zoom-in"></i>鏌ョ湅</span
+                      ><i class="el-icon-zoom-in"></i>璇︽儏缂栬緫</span
                     ></el-button
                   >
-                  <el-button
+                  <!-- <el-button
                     size="medium"
                     type="text"
                     @click="handleUpdate(scope.row)"
@@ -319,7 +339,7 @@
                     ><span class="button-textxga"
                       ><i class="el-icon-edit"></i>淇敼</span
                     ></el-button
-                  >
+                  > -->
                   <el-button
                     size="medium"
                     type="text"
@@ -344,6 +364,127 @@
         </el-row>
       </div>
     </div>
+    <el-dialog title="閫夋嫨浠诲姟" :visible.sync="distributeVisible" width="70%">
+      <div class="preview-left">
+        <el-form
+          :model="queryParams"
+          ref="queryForm"
+          size="small"
+          :inline="true"
+          label-width="98px"
+        >
+          <el-select
+            @change="distribute"
+            v-model="tasktopic"
+            placeholder="璇烽�夋嫨浠诲姟绫诲瀷"
+          >
+            <el-option
+              v-for="item in taskoptions"
+              :key="item.value"
+              :label="item.label"
+              :value="item.value"
+            >
+            </el-option>
+          </el-select>
+        </el-form>
+        <el-table v-loading="loading" :data="taskuserList">
+          <el-table-column
+            label="浠诲姟鍚嶇О"
+            fixed
+            align="center"
+            key="taskName"
+            prop="taskName"
+            width="140"
+            :show-overflow-tooltip="true"
+          />
+          <el-table-column
+            label="浠诲姟鎻忚堪"
+            align="center"
+            key="taskDesc"
+            prop="taskDesc"
+            width="180"
+            :show-overflow-tooltip="true"
+          />
+          <el-table-column
+            label="鏈嶅姟椤圭洰"
+            align="center"
+            key="templatename"
+            prop="templatename"
+          />
+          <el-table-column
+            label="寰呮墽琛�/鎬讳换鍔�"
+            align="center"
+            key="nickName"
+            prop="nickName"
+          >
+            <template slot-scope="scope">
+              <span>{{ scope.row.wfs }}/{{ scope.row.yfs }}</span>
+            </template>
+          </el-table-column>
+          <el-table-column
+            label="鍒涘缓浜�"
+            align="center"
+            key="createBy"
+            prop="createBy"
+            width="120"
+            :show-overflow-tooltip="true"
+          />
+          <el-table-column
+            label="鍒涘缓鏃堕棿"
+            sortable
+            align="center"
+            prop="createTime"
+            width="160"
+          >
+            <template slot-scope="scope">
+              <span>{{ parseTime(scope.row.createTime) }}</span>
+            </template>
+          </el-table-column>
+          <el-table-column
+            label="鐘舵��"
+            fixed="right"
+            align="center"
+            key="sendState"
+            prop="sendState"
+            width="120"
+          >
+            <template slot-scope="scope">
+              <dict-tag
+                :options="dict.type.task_status"
+                :value="scope.row.sendState"
+              />
+            </template>
+          </el-table-column>
+
+          <el-table-column
+            label="浠诲姟璇︽儏"
+            fixed="right"
+            align="center"
+            width="200"
+            class-name="small-padding fixed-width"
+          >
+            <template slot-scope="scope">
+              <el-button
+                size="medium"
+                type="text"
+                @click="handleUpdate(scope.row)"
+                ><span class="button-xq"
+                  ><i class="el-icon-s-data"></i>閫夋嫨娲惧彂</span
+                ></el-button
+              >
+            </template>
+          </el-table-column>
+        </el-table>
+
+        <pagination
+          v-show="tasktotal > 0"
+          :total="tasktotal"
+          :page.sync="queryParams.pageNum"
+          :limit.sync="queryParams.pageSize"
+          @pagination="distribute"
+        />
+      </div>
+    </el-dialog>
 
     <!-- 娣诲姞鎴栦慨鏀圭敤鎴烽厤缃璇濇 -->
     <el-dialog
@@ -620,14 +761,16 @@
     </el-dialog>
     <!-- 璺宠浆鏈嶅姟瀵硅瘽妗� -->
     <el-dialog title="閫夋嫨鏈嶅姟绫诲瀷" :visible.sync="serviceVisible">
-      <el-radio-group v-model="serviceradio">
-        <el-radio :label="1">瀹f暀闅忚</el-radio>
-        <el-radio :label="2">闂ㄨ瘖鏈嶅姟</el-radio>
-        <el-radio :label="3">鍑洪櫌鏈嶅姟</el-radio>
-        <el-radio :label="4">澶嶈瘖鏈嶅姟</el-radio>
-        <el-radio :label="5">浣撴閫氱煡</el-radio>
-        <el-radio :label="6">闂嵎鏈嶅姟</el-radio>
-      </el-radio-group>
+      <el-card class="box-card">
+        <el-radio-group v-model="serviceradio">
+          <el-radio :label="1">瀹f暀闅忚</el-radio>
+          <el-radio :label="2">闂ㄨ瘖鏈嶅姟</el-radio>
+          <el-radio :label="3">鍑洪櫌鏈嶅姟</el-radio>
+          <el-radio :label="4">澶嶈瘖鏈嶅姟</el-radio>
+          <el-radio :label="5">浣撴閫氱煡</el-radio>
+          <el-radio :label="6">闂嵎鏈嶅姟</el-radio>
+        </el-radio-group>
+      </el-card>
       <div slot="footer" class="dialog-footer">
         <el-button @click="serviceVisible = false">鍙� 娑�</el-button>
         <el-button type="primary" @click="CreateService">鍒涘缓鏈嶅姟</el-button>
@@ -648,20 +791,16 @@
   Exporterrorpatient,
   toleadpatient,
 } from "@/api/patient/homepage";
-import {
-  getTaskservelist,
-  getTaskInfo,
-  Editsingletask,
-
-} from "@/api/AiCentre/index";
+import { getTasklist } from "@/api/AiCentre/index";
 import { listtag } from "@/api/system/label";
 import { getToken } from "@/utils/auth";
 import Treeselect from "@riophae/vue-treeselect";
+import store from "@/store";
 import "@riophae/vue-treeselect/dist/vue-treeselect.css";
 
 export default {
-  name: "Userhuanze",
-  dicts: ["sys_normal_disable", "sys_user_sex"],
+  name: "Patient",
+  dicts: ["sys_normal_disable", "task_status", "sys_user_sex"],
   components: { Treeselect },
   data() {
     return {
@@ -677,8 +816,10 @@
       showSearch: true,
       // 鎬绘潯鏁�
       total: 0,
+      tasktotal: 0,
       // 鐢ㄦ埛琛ㄦ牸鏁版嵁
       userList: null,
+      taskuserList: null,
       // 寮瑰嚭灞傛爣棰�
       title: "",
       // 閮ㄩ棬鏍戦�夐」
@@ -693,8 +834,19 @@
       amendtag: false, //鏄惁淇敼
       serviceVisible: false,
       serviceradio: 1,
+      distributeVisible: false,
+      tasktopic: "5", //鏂板绫诲瀷
+      // 鏌ヨ鍙傛暟
+      topqueryParams: {
+        pageNum: 1,
+        pageSize: 10,
+        userName: undefined,
+        tagid: undefined,
+        topic: undefined,
+      },
       // 鏃ユ湡鑼冨洿
       dateRange: [],
+      taskoptions: [],
       paperstypes: [
         { papersname: "韬唤璇�" },
         { papersname: "鎶ょ収" },
@@ -728,14 +880,17 @@
         {
           name: "鍦ㄩ櫌鎮h��",
           value: 23,
+          router: "/patient/inpatient",
         },
         {
-          name: "绂婚櫌鎮h��",
+          name: "鍑洪櫌鎮h��",
           value: 41,
+          router: "/patient/hospital",
         },
         {
-          name: "璇婄枟鎮h��",
+          name: "闂ㄨ瘖鎮h��",
           value: 56,
+          router: "/patient/outpatient",
         },
         {
           name: "绂讳笘鎮h��",
@@ -850,6 +1005,8 @@
   created() {
     this.getList();
     this.gettabList();
+    //鑾峰彇宸茬瓫閫夊悗鐨勫彲閫変换鍔$被鍨�
+    this.taskoptions = store.getters.Serviceauthority;
   },
   methods: {
     /** 鏌ヨ鎮h�呭垪琛� */
@@ -865,6 +1022,10 @@
     },
     handleClick() {
       this.getList();
+    },
+    findLabelByValue(data, value) {
+      const item = data.find((item) => item.value === value);
+      return item ? item.label : null;
     },
     /** 鏌ヨ鏍囩鍒楄〃 */
     gettabList() {
@@ -948,10 +1109,12 @@
       this.amendtag = true;
       this.Labelchange = true;
     },
-
     //淇敼/鏂板鎮h��
     submitForm() {
+      if (condition) {
+      }
       if (this.amendtag) {
+        this.form.isoperation = 2;
         alterpatient(this.form)
           .then((response) => {
             console.log(response);
@@ -961,7 +1124,8 @@
             this.$modal.msgSuccess("淇敼鎴愬姛");
           });
       } else {
-        addpatient(this.form)
+        this.form.isoperation = 1;
+        alterpatient(this.form)
           .then((response) => {
             console.log(response);
           })
@@ -994,6 +1158,31 @@
       this.$router.push({
         path: "/followvisit/particty",
         query: { type: this.serviceradio },
+      });
+    },
+    distribute() {
+      this.distributeVisible = true;
+      if (this.tasktopic == 1) {
+        this.topqueryParams.type = 3;
+      } else if (this.tasktopic == 2) {
+        this.topqueryParams.type = 1;
+      } else if (this.tasktopic == 3) {
+        this.topqueryParams.type = 1;
+      } else if (this.tasktopic == 4) {
+        this.topqueryParams.type = 1;
+      } else if (this.tasktopic == 5) {
+        this.topqueryParams.type = 1;
+      } else if (this.tasktopic == 6) {
+        this.topqueryParams.type = 2;
+      }
+      this.topqueryParams.typename = this.findLabelByValue(
+        this.taskoptions,
+        this.tasktopic
+      );
+      getTasklist(this.topqueryParams).then((response) => {
+        this.taskuserList = response.rows;
+        this.tasktotal = response.total;
+        this.$forceUpdate();
       });
     },
     /** 瀵煎嚭鎸夐挳鎿嶄綔 */
@@ -1095,6 +1284,22 @@
     display: center !important;
   }
 }
+.preview-left {
+  margin: 20px;
+  //   margin: 20px;
+  padding: 30px;
+  background: #ffff;
+  border: 1px solid #dcdfe6;
+  -webkit-box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.12),
+    0 0 6px 0 rgba(0, 0, 0, 0.04);
+  .scriptTopic-dev {
+    margin-bottom: 25px;
+    font-size: 20px !important;
+    .dev-text {
+      margin-bottom: 10px;
+    }
+  }
+}
 ::v-deep.el-tabs--left,
 .el-tabs--right {
   overflow: hidden;
@@ -1119,6 +1324,7 @@
 }
 ::v-deep.leftvlue .el-card__body:hover {
   background: #8dc8f8;
+  cursor: pointer; /* 榧犳爣鎮诞鏃跺彉涓烘墜褰� */
 }
 .leftvlue {
   width: 80%;

--
Gitblit v1.9.3