From 17b041e2e7ebd5afe75403fefc57cc6a88b51dad Mon Sep 17 00:00:00 2001
From: WXL <1785969728@qq.com>
Date: 星期二, 06 八月 2024 13:23:58 +0800
Subject: [PATCH] 测试完成

---
 src/views/patient/physical/index.vue          |   23 
 src/utils/ruoyi.js                            |    5 
 src/views/patient/patient/outpatient.vue      |  186 ----
 src/api/AiCentre/SingleTask.js                |   11 
 src/views/patient/patient/index.vue           |   12 
 src/views/patient/questionnaire/index.vue     |   43 
 src/views/patient/subsequent/index.vue        |   35 
 src/views/patient/propaganda/index.vue        |   61 -
 src/main.js                                   |    2 
 src/views/patient/propaganda/Missionotice.vue |  717 +++++++++++++++++++
 src/views/patient/patient/hospital.vue        |  810 +++++++++++++++++++++
 src/views/patient/patient/behospitalized.vue  |  283 +-----
 src/views/patient/patient/profile/index.vue   |    2 
 13 files changed, 1,714 insertions(+), 476 deletions(-)

diff --git a/src/api/AiCentre/SingleTask.js b/src/api/AiCentre/SingleTask.js
index 664e852..3b89b35 100644
--- a/src/api/AiCentre/SingleTask.js
+++ b/src/api/AiCentre/SingleTask.js
@@ -3,7 +3,7 @@
 // 鏌ヨ瀹f暀浠诲姟鍒楄〃
 export function gethetasklist(data) {
   return request({
-    url: "/smartor/hetask/getPatHeTaskList",
+    url: "/smartor/serviceSubtask/getPatHeTaskList",
     method: "post",
     data: data,
   });
@@ -12,21 +12,21 @@
 // 鍒犻櫎瀹f暀浠诲姟
 export function delhetaskinfo(Id) {
     return request({
-      url: "/smartor/hetask/remove/" + Id,
+      url: "/smartor/serviceSubtask/remove/" + Id,
       method: "get",
     });
   }
     // 鏌ヨ瀹f暀浠诲姟璇︽儏鍒楄〃
     export function gethetaskinfo(Id) {
     return request({
-      url: "/smartor/hetask/getInfo/" + Id,
+      url: "/smartor/serviceSubtask/getInfo/" + Id,
       method: "get",
     });
   }
 // 鏂板妯$増
 export function addhetask(data) {
     return request({
-      url: "/smartor/hetask/add",
+      url: "/smartor/serviceSubtask/add",
       method: "post",
       data: data,
     });
@@ -34,7 +34,7 @@
 //   淇敼瀹f暀浠诲姟
   export function edithetask(data) {
     return request({
-      url: "/smartor/hetask/edit",
+      url: "/smartor/serviceSubtask/edit",
       method: "post",
       data: data,
     });
@@ -78,6 +78,7 @@
         data: data,
       });
     }
+
     // 鏌ヨ闂ㄨ瘖鍑洪櫌鏈嶅姟鍒楄〃
     export function getTaskservelist(data) {
       return request({
diff --git a/src/main.js b/src/main.js
index 680da18..5ca998f 100644
--- a/src/main.js
+++ b/src/main.js
@@ -45,6 +45,7 @@
 import { getConfigKey } from "@/api/system/config";
 import {
   parseTime,
+  formatTime,
   resetForm,
   addDateRange,
   selectDictLabel,
@@ -91,6 +92,7 @@
 Vue.prototype.getDicts = getDicts;
 Vue.prototype.getConfigKey = getConfigKey;
 Vue.prototype.parseTime = parseTime;
+Vue.prototype.formatTime = formatTime;
 Vue.prototype.resetForm = resetForm;
 Vue.prototype.addDateRange = addDateRange;
 Vue.prototype.selectDictLabel = selectDictLabel;
diff --git a/src/utils/ruoyi.js b/src/utils/ruoyi.js
index 243c4c7..8aae64f 100644
--- a/src/utils/ruoyi.js
+++ b/src/utils/ruoyi.js
@@ -4,6 +4,7 @@
  * 閫氱敤js鏂规硶灏佽澶勭悊
  * Copyright (c) 2019 ruoyi
  */
+import dayjs from 'dayjs';
 
 // 鏃ユ湡鏍煎紡鍖�
 export function parseTime(time, pattern) {
@@ -45,6 +46,10 @@
   })
   return time_str
 }
+// 杩囨护鍣�
+export function formatTime(val){
+    return dayjs(val).format('YYYY-MM-DD')
+  }
 
 // 琛ㄥ崟閲嶇疆
 export function resetForm(refName) {
diff --git a/src/views/patient/patient/behospitalized.vue b/src/views/patient/patient/behospitalized.vue
index cf5db95..60beeb6 100644
--- a/src/views/patient/patient/behospitalized.vue
+++ b/src/views/patient/patient/behospitalized.vue
@@ -152,32 +152,37 @@
           @selection-change="handleSelectionChange"
         >
           <el-table-column type="selection" width="50" align="center" />
-          <el-table-column
-            fixed
+          <!-- <el-table-column
             label="搴忓彿"
-            align="center"
-            key="inhospid"
-            prop="inhospid"
-          /><el-table-column
             fixed
-            label="鎮h�呭鍚�"
+            align="center"
+            key="id"
+            prop="id"
+          /> -->
+          <el-table-column
+            label="鍏ラ櫌鏃堕棿"
+            align="center"
+            key="createTime"
+            prop="createTime"
+            width="160"
+          >
+            <template slot-scope="scope">
+              <span>{{ formatTime(scope.row.createTime) }}</span>
+            </template>
+          </el-table-column>
+
+          <el-table-column
+            label="浣忛櫌鍙�"
+            align="center"
+            key="patid"
+            prop="patid"
+          />
+          <el-table-column
+            label="濮撳悕"
             align="center"
             key="patname"
             prop="patname"
           />
-          <el-table-column
-            label="搴婁綅鍙�"
-            align="center"
-            key="bedNo"
-            prop="bedNo"
-          />
-          <el-table-column
-            label="浣忛櫌鍙�"
-            align="center"
-            key="deptcode"
-            prop="Patientnumber"
-          />
-
           <el-table-column label="鎬у埆" align="center" key="sex" prop="sex">
             <template slot-scope="scope">
               <span>{{ scope.row.sex == 1 ? "鐢�" : "濂�" }}</span>
@@ -191,92 +196,69 @@
             width="120"
           />
           <el-table-column
-            label="璐圭敤锛堢己锛�"
+            label="鑱旂郴鐢佃瘽"
             align="center"
             key="telephone"
             prop="telephone"
             width="120"
           />
-          <el-table-column
-            label="鍏ョ鏃堕棿"
+          <!-- <el-table-column
+            label="鎮h�呮爣绛撅紙缂猴級"
             align="center"
-            key="createTime"
-            prop="createTime"
+            key="tagList"
+            prop="tagList"
             width="160"
+            :show-overflow-tooltip="true"
           >
             <template slot-scope="scope">
-              <span>{{ parseTime(scope.row.createTime) }}</span>
+              <span v-for="item in scope.row.tagList">{{ item }} </span>
             </template>
-          </el-table-column>
-          <el-table-column
-            label="鍑洪櫌鏃堕棿"
-            align="center"
-            key="endtime"
-            prop="endtime"
-            width="160"
-          >
-            <template slot-scope="scope">
-              <span>{{ parseTime(scope.row.endtime) }}</span>
-            </template>
-          </el-table-column>
+          </el-table-column> -->
 
           <el-table-column
-            label="鎶ょ悊绛夌骇锛堢己锛�"
+            label="鍏ラ櫌璇婃柇"
             align="center"
-            key="idcardtype"
-            prop="idcardtype"
-            width="120"
-          />
-          <el-table-column
-            label="鐥呮儏鐘舵�侊紙缂猴級"
-            align="center"
-            key="idcardno"
-            prop="idcardno"
+            key="diagname"
+            prop="diagname"
             width="190"
           />
 
+          <!-- <el-table-column
+            label="涓昏堪"
+            align="center"
+            key="mainsuit"
+            prop="mainsuit"
+            width="120"
+          /> -->
           <el-table-column
-            label="涓讳换鍖诲笀"
+            label="鐥呭尯"
+            align="center"
+            key="deptname"
+            prop="deptname"
+            width="120"
+          />
+          <el-table-column
+            label="搴婁綅鍙�"
+            align="center"
+            key="bedNo"
+            prop="bedNo"
+            width="120"
+          />
+          <el-table-column
+            label="涓绘不鍖荤敓"
             align="center"
             key="drname"
             prop="drname"
             width="120"
           />
           <el-table-column
-            label="涓绘不鍖诲笀锛堝緟瀹氾級"
+            label="璐d换鎶ゅ+"
             align="center"
-            key="telcode"
-            prop="telcode"
+            key="Sister"
+            prop="Sister"
             width="120"
           />
-          <el-table-column
-            label="浣忛櫌鍖诲笀锛堝緟瀹氾級"
-            align="center"
-            key="telcode"
-            prop="telcode"
-            width="120"
-          />
-          <el-table-column
-            label="浣忛櫌鐥呭尯"
-            align="center"
-            key="telcode"
-            prop="telcode"
-            width="120"
-          />
-          <el-table-column
-            label="鍏ラ櫌璇婃柇"
-            align="center"
-            key="telcode"
-            prop="telcode"
-            width="120"
-          />
-          <el-table-column
-            label="鍑洪櫌灏忕粨"
-            align="center"
-            key="telcode"
-            prop="telcode"
-            width="120"
-          />
+
           <el-table-column
             label="鎿嶄綔"
             fixed="right"
@@ -299,15 +281,6 @@
                   ><i class="el-icon-zoom-in"></i>鏌ョ湅</span
                 ></el-button
               >
-              <el-button
-                size="medium"
-                type="text"
-                @click="handleUpdate(scope.row)"
-                v-hasPermi="['system:user:edit']"
-                ><span class="button-textxg"
-                  ><i class="el-icon-edit"></i>淇敼</span
-                ></el-button
-              >
             </template>
           </el-table-column>
         </el-table>
@@ -321,125 +294,6 @@
         />
       </el-col>
     </el-row>
-
-    <!-- 娣诲姞鎴栦慨鏀圭敤鎴烽厤缃璇濇 -->
-    <el-dialog
-      :title="amendtag ? '淇敼鎮h�呬俊鎭�' : '鏂板鎮h��'"
-      :visible.sync="Labelchange"
-      width="900px"
-    >
-      <el-form ref="form" :model="form" :rules="rules" label-width="100px">
-        <el-row>
-          <el-col :span="12">
-            <el-form-item label="濮撳悕" prop="name">
-              <el-input
-                v-model="form.name"
-                placeholder="璇疯緭鍏ュ鍚�"
-                maxlength="30"
-              />
-            </el-form-item>
-          </el-col>
-          <el-col :span="12">
-            <el-form-item label="鎬у埆" prop="sex">
-              <el-select v-model="form.sex" placeholder="璇烽�夋嫨鎬у埆">
-                <el-option
-                  v-for="dict in dict.type.sys_user_sex"
-                  :key="dict.value"
-                  :label="dict.label"
-                  :value="dict.value"
-                ></el-option>
-              </el-select>
-            </el-form-item>
-          </el-col>
-        </el-row>
-        <el-row>
-          <el-col :span="12">
-            <el-form-item label="璇佷欢绫诲瀷" prop="idcardtype">
-              <el-select v-model="form.idcardtype" placeholder="璇烽�夋嫨鎬у埆">
-                <el-option
-                  v-for="item in paperstypes"
-                  :key="item.papersname"
-                  :label="item.papersname"
-                  :value="item.papersname"
-                ></el-option>
-              </el-select>
-            </el-form-item>
-          </el-col>
-          <el-col :span="12">
-            <el-form-item label="璇佷欢鍙�" prop="idcardno">
-              <el-input
-                v-model="form.idcardno"
-                placeholder="璇疯緭鍏ヨ瘉浠跺彿"
-                maxlength="50"
-              />
-            </el-form-item>
-          </el-col>
-        </el-row>
-        <el-row>
-          <el-col :span="12">
-            <el-form-item label="鏈汉鎵嬫満鍙�" prop="telcode">
-              <el-input
-                v-model="form.telcode"
-                placeholder="璇疯緭鍏ユ墜鏈哄彿"
-                maxlength="30"
-              />
-            </el-form-item>
-          </el-col>
-          <el-col :span="12">
-            <el-form-item label="浜插睘鎵嬫満鍙�" prop="relativetelcode">
-              <el-input
-                v-model="form.relativetelcode"
-                placeholder="璇疯緭鍏ヤ翰灞炴墜鏈哄彿"
-                type="password"
-                maxlength="20"
-                show-password
-              />
-            </el-form-item>
-          </el-col>
-        </el-row>
-        <el-row>
-          <el-col :span="12">
-            <el-form-item label="骞撮緞" prop="age">
-              <el-input
-                v-model="form.age"
-                placeholder="璇疯緭鍏ュ勾榫�"
-                maxlength="30"
-              />
-            </el-form-item>
-          </el-col>
-          <el-col :span="12">
-            <el-form-item label="鎮h�呮爣绛�">
-              <!-- <el-select v-model="form.sex" placeholder="璇烽�夋嫨"> -->
-              <el-select v-model="form.tagList" multiple placeholder="璇烽�夋嫨">
-                <el-option
-                  v-for="item in optionstag"
-                  :key="item.tagid"
-                  :label="item.tagname"
-                  :value="item.tagid"
-                >
-                </el-option>
-              </el-select>
-              <!-- </el-select> -->
-            </el-form-item>
-          </el-col>
-        </el-row>
-        <el-row>
-          <el-col :span="24">
-            <el-form-item label="澶囨敞">
-              <el-input
-                v-model="form.remark"
-                type="textarea"
-                placeholder="璇疯緭鍏ュ唴瀹�"
-              ></el-input>
-            </el-form-item>
-          </el-col>
-        </el-row>
-      </el-form>
-      <div slot="footer" class="dialog-footer">
-        <el-button type="primary" @click="submitForm">纭� 瀹�</el-button>
-        <el-button @click="cancel">鍙� 娑�</el-button>
-      </div>
-    </el-dialog>
 
     <!-- 鐢ㄦ埛瀵煎叆瀵硅瘽妗� -->
     <el-dialog
@@ -534,6 +388,7 @@
 
 <script>
 import { delUser } from "@/api/system/user";
+import formatTime from "@/filters/index";
 
 import {
   listpatient,
@@ -546,6 +401,7 @@
 import { listtag } from "@/api/system/label";
 import { getToken } from "@/utils/auth";
 import Treeselect from "@riophae/vue-treeselect";
+import { listDept } from "@/api/system/dept";
 import "@riophae/vue-treeselect/dist/vue-treeselect.css";
 
 export default {
@@ -609,8 +465,8 @@
       optionstag: [], //鏍囩鍒楄〃
       Patientrange: [
         {
-          name: "鍏ㄩ儴",
-          id: 1,
+          name: "鍏ㄩ儴绉戝",
+          id: 999,
         },
         {
           name: "褰撳墠绉戝",
@@ -702,6 +558,7 @@
   },
   created() {
     this.getList();
+    this.listDept();
     this.gettabList();
   },
   methods: {
@@ -715,6 +572,12 @@
         this.loading = false;
       });
     },
+    listDept() {
+      listDept(this.queryParams).then((res) => {
+        this.deptList = res.data;
+        console.log(this.deptList, "this.deptList");
+      });
+    },
     /** 鏌ヨ鏍囩鍒楄〃 */
     gettabList() {
       const tagqueryParams = {
diff --git a/src/views/patient/patient/hospital.vue b/src/views/patient/patient/hospital.vue
new file mode 100644
index 0000000..ff41d50
--- /dev/null
+++ b/src/views/patient/patient/hospital.vue
@@ -0,0 +1,810 @@
+<template>
+  <div class="app-container">
+    <el-row :gutter="20">
+      <!--鐢ㄦ埛鏁版嵁-->
+      <el-col :span="24" :xs="24">
+        <el-form
+          :model="queryParams"
+          ref="queryForm"
+          size="small"
+          :inline="true"
+          v-show="showSearch"
+          label-width="98px"
+        >
+          <el-form-item label="濮撳悕" prop="name">
+            <el-input
+              v-model="queryParams.patname"
+              placeholder="璇疯緭鍏ュ鍚�"
+              clearable
+              style="width: 200px"
+              @keyup.enter.native="handleQuery"
+            />
+          </el-form-item>
+          <el-form-item label="鎮h�呯紪鍙�" prop="patid">
+            <el-input
+              v-model="queryParams.patid"
+              placeholder="璇疯緭鍏ユ偅鑰呯紪鍙�"
+              clearable
+              style="width: 250px"
+              @keyup.enter.native="handleQuery"
+            />
+          </el-form-item>
+
+          <el-form-item label="鎶ょ悊绛夌骇" prop="tagId">
+            <el-select v-model="queryParams.Patientid" placeholder="璇烽�夋嫨">
+              <el-option
+                v-for="dict in dict.type.nursinggrade"
+                :key="dict.value"
+                :label="dict.label"
+                :value="dict.value"
+              >
+              </el-option>
+            </el-select>
+          </el-form-item>
+          <el-form-item label="鎮h�呰寖鍥�" prop="tagId">
+            <el-select v-model="queryParams.Patientid" placeholder="璇烽�夋嫨">
+              <el-option
+                v-for="item in Patientrange"
+                :key="item.id"
+                :label="item.name"
+                :value="item.id"
+              >
+              </el-option>
+            </el-select>
+          </el-form-item>
+          <el-form-item label=" 鍏ラ櫌鏃ユ湡 " prop="createTime">
+            <el-date-picker
+              clearable
+              v-model="queryParams.createTime"
+              type="date"
+              value-format="yyyy-MM-dd"
+              placeholder="璇烽�夋嫨 灏辫瘖鏃ユ湡 "
+            >
+            </el-date-picker>
+          </el-form-item>
+
+          <el-row>
+            <el-form-item>
+              <el-button
+                type="primary"
+                icon="el-icon-search"
+                size="medium"
+                @click="handleQuery"
+                >鎼滅储</el-button
+              >
+              <el-button
+                icon="el-icon-refresh"
+                size="medium"
+                @click="resetQuery"
+                >閲嶇疆</el-button
+              >
+            </el-form-item>
+          </el-row>
+        </el-form>
+
+        <el-row :gutter="10" class="mb8">
+          <el-col :span="1.5">
+            <el-button
+              type="primary"
+              plain
+              icon="el-icon-plus"
+              size="medium"
+              @click="handleAdd"
+              v-hasPermi="['system:user:add']"
+              >鏂板</el-button
+            >
+          </el-col>
+          <el-col :span="1.5">
+            <el-button
+              type="success"
+              plain
+              icon="el-icon-edit"
+              size="medium"
+              :disabled="single"
+              @click="handleUpdate"
+              v-hasPermi="['system:user:edit']"
+              >淇敼</el-button
+            >
+          </el-col>
+          <el-col :span="1.5">
+            <el-button
+              type="danger"
+              plain
+              icon="el-icon-delete"
+              size="medium"
+              :disabled="multiple"
+              @click="handleDelete"
+              v-hasPermi="['system:user:remove']"
+              >鍒犻櫎</el-button
+            >
+          </el-col>
+          <el-col :span="19">
+            <div class="documentf">
+              <div class="document">
+                <el-button
+                  type="info"
+                  plain
+                  icon="el-icon-upload2"
+                  size="medium"
+                  @click="handleImport"
+                  v-hasPermi="['system:user:import']"
+                  >瀵煎叆</el-button
+                >
+              </div>
+              <div class="document">
+                <el-button
+                  type="warning"
+                  plain
+                  icon="el-icon-download"
+                  size="medium"
+                  @click="handleExport"
+                  v-hasPermi="['system:user:export']"
+                  >瀵煎嚭</el-button
+                >
+              </div>
+            </div>
+          </el-col>
+          <!-- <el-col :span="1.5"> </el-col> -->
+        </el-row>
+        <el-table
+          v-loading="loading"
+          :data="userList"
+          @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="鍑洪櫌鏃堕棿"
+            align="center"
+            key="endtime"
+            prop="endtime"
+            width="160"
+          >
+            <template slot-scope="scope">
+              <span>{{ parseTime(scope.row.endtime) }}</span>
+            </template>
+          </el-table-column>
+
+          <el-table-column
+            label="浣忛櫌鍙�"
+            align="center"
+            key="patid"
+            prop="patid"
+          />
+          <el-table-column
+            label="濮撳悕"
+            align="center"
+            key="patname"
+            prop="patname"
+          />
+          <el-table-column label="鎬у埆" align="center" key="sex" prop="sex">
+            <template slot-scope="scope">
+              <span>{{ scope.row.sex == 1 ? "鐢�" : "濂�" }}</span>
+            </template>
+          </el-table-column>
+          <el-table-column
+            label="骞撮緞"
+            align="center"
+            key="age"
+            prop="age"
+            width="120"
+          />
+          <el-table-column
+            label="鑱旂郴鐢佃瘽"
+            align="center"
+            key="telephone"
+            prop="telephone"
+            width="120"
+          />
+
+          <!-- <el-table-column
+            label="鍏ラ櫌璇婃柇"
+            align="center"
+            key="diagname"
+            prop="diagname"
+            width="190"
+          /> -->
+          <el-table-column
+            label="鍑洪櫌璇婃柇"
+            align="center"
+            key="leavediagname"
+            prop="leavediagname"
+            width="190"
+          />
+          <!-- <el-table-column
+            label="涓昏堪"
+            align="center"
+            key="mainsuit"
+            prop="mainsuit"
+            width="120"
+          /> -->
+          <el-table-column
+            label="鐥呭尯"
+            align="center"
+            key="deptname"
+            prop="deptname"
+            width="120"
+          />
+          <el-table-column
+            label="搴婁綅鍙�"
+            align="center"
+            key="bedNo"
+            prop="bedNo"
+            width="120"
+          />
+          <el-table-column
+            label="涓绘不鍖荤敓"
+            align="center"
+            key="drname"
+            prop="drname"
+            width="120"
+          />
+          <el-table-column
+            label="璐d换鎶ゅ+"
+            align="center"
+            key="Sister"
+            prop="Sister"
+            width="120"
+          />
+
+          <el-table-column
+            label="鎿嶄綔"
+            fixed="right"
+            align="center"
+            width="160"
+            class-name="small-padding fixed-width"
+          >
+            <template slot-scope="scope">
+              <el-button
+                size="medium"
+                type="text"
+                @click="
+                  $router.push({
+                    path: '/patient/patient/profile/',
+                    query: { id: scope.row.patid },
+                  })
+                "
+                v-hasPermi="['system:user:edit']"
+                ><span class="button-textsc"
+                  ><i class="el-icon-zoom-in"></i>鏌ョ湅</span
+                ></el-button
+              >
+            </template>
+          </el-table-column>
+        </el-table>
+
+        <pagination
+          v-show="total > 0"
+          :total="total"
+          :page.sync="queryParams.pageNum"
+          :limit.sync="queryParams.pageSize"
+          @pagination="getList"
+        />
+      </el-col>
+    </el-row>
+
+    <!-- 鐢ㄦ埛瀵煎叆瀵硅瘽妗� -->
+    <el-dialog
+      :title="upload.title"
+      :visible.sync="upload.open"
+      width="70%"
+      append-to-body
+    >
+      <el-steps :active="dractive" simple>
+        <el-step title="涓婁紶瀵煎叆鏂囦欢" icon="el-icon-upload"></el-step>
+        <el-step title="瀵煎叆妫�鏌�" icon="el-icon-picture"></el-step>
+        <el-step title="瀵煎叆缁撴灉" icon="el-icon-picture"></el-step>
+      </el-steps>
+      <!-- 涓婁紶瀵煎叆鏂囦欢 -->
+      <div class="download" v-if="dractive == 1">
+        <el-upload
+          class="upload-demo"
+          ref="upload"
+          :limit="1"
+          accept=".xlsx, .xls"
+          :headers="upload.headers"
+          :action="upload.url + '?updateSupport=' + upload.updateSupport"
+          :disabled="upload.isUploading"
+          :on-progress="handleFileUploadProgress"
+          :on-success="handleFileSuccess"
+          :auto-upload="false"
+          drag
+        >
+          <i class="el-icon-upload"></i>
+          <div class="el-upload__text">灏嗘枃浠舵嫋鍒版澶勶紝鎴�<em>鐐瑰嚮涓婁紶</em></div>
+          <div class="el-upload__tip text-center" slot="tip">
+            <div class="el-upload__tip" slot="tip">
+              <el-checkbox v-model="upload.updateSupport" />
+              鏄惁鏇存柊宸茬粡瀛樺湪鐨勭敤鎴锋暟鎹�
+            </div>
+            <span>浠呭厑璁稿鍏ls銆亁lsx鏍煎紡鏂囦欢銆�</span>
+            <el-link
+              type="primary"
+              :underline="false"
+              style="font-size: 24px; vertical-align: baseline"
+              @click="importTemplate"
+              >涓嬭浇妯℃澘</el-link
+            >
+          </div>
+        </el-upload>
+      </div>
+      <!-- 瀵煎叆妫�鏌� -->
+      <div class="uploading" v-else-if="dractive == 2">
+        <el-table :data="uploadingData" style="width: 100%">
+          <el-table-column prop="serial" label="搴忓彿"> </el-table-column>
+          <el-table-column prop="name" label="濮撳悕"> </el-table-column>
+          <el-table-column prop="sex" label="鎬у埆"> </el-table-column>
+          <el-table-column prop="certificate" label="璇佷欢绫诲瀷">
+          </el-table-column>
+          <el-table-column prop="certificatenum" label="璇佷欢鍙风爜">
+          </el-table-column>
+          <el-table-column prop="goday" label="鍑虹敓鏃ユ湡"> </el-table-column>
+          <el-table-column prop="menum" label="鏈汉鑱旂郴鏂瑰紡"> </el-table-column>
+          <el-table-column prop="younum" label="浜插睘鑱旂郴鏂瑰紡">
+          </el-table-column>
+          <el-table-column prop="tag" label="鎮h�呮爣绛�"> </el-table-column>
+          <el-table-column prop="erry" label="閿欒鍘熷洜"> </el-table-column>
+        </el-table>
+        <pagination
+          v-show="total > 0"
+          :total="total"
+          :page.sync="queryParams.pageNum"
+          :limit.sync="queryParams.pageSize"
+          @pagination="geterryList"
+        />
+      </div>
+      <!-- 瀹屾垚 -->
+      <div class="drexamine" v-else-if="dractive == 3">
+        <img
+          src="https://fuss10.elemecdn.com/e/5d/4a731a90594a4af544c0c25941171jpeg.jpeg"
+        />
+        <p>瀵煎叆鎮h�呮垚鍔燂紒</p>
+        <p>鏈鍏辫瀵煎叆{{ ImportQuantity }}浣嶆偅鑰�</p>
+      </div>
+
+      <div slot="footer" class="dialog-footer" v-if="dractive == 3">
+        <!-- <el-button type="primary" @click="submitFileForm">涓嬩竴姝�</el-button> -->
+        <el-button @click="submitclose">瀹屾垚</el-button>
+      </div>
+      <div slot="footer" v-else>
+        <el-button type="primary" @click="submitFileForm">涓嬩竴姝�</el-button>
+        <el-button @click="submitclose">鍙� 娑�</el-button>
+      </div>
+    </el-dialog>
+  </div>
+</template>
+
+<script>
+import { delUser } from "@/api/system/user";
+
+import {
+  listpatient,
+  particularpatient,
+  addpatient,
+  deletepatient,
+  Exporterrorpatient,
+  toleadpatient,
+} from "@/api/patient/record";
+import { listtag } from "@/api/system/label";
+import { getToken } from "@/utils/auth";
+import Treeselect from "@riophae/vue-treeselect";
+import { listDept } from "@/api/system/dept";
+import "@riophae/vue-treeselect/dist/vue-treeselect.css";
+
+export default {
+  name: "behospitalized",
+  dicts: ["sys_normal_disable", "sys_user_sex", "nursinggrade"],
+  components: { Treeselect },
+  data() {
+    return {
+      // 閬僵灞�
+      loading: true,
+      // 閫変腑鏁扮粍
+      ids: [],
+      // 闈炲崟涓鐢�
+      single: true,
+      // 闈炲涓鐢�
+      multiple: true,
+      // 鏄剧ず鎼滅储鏉′欢
+      showSearch: true,
+      // 鎬绘潯鏁�
+      total: 0,
+      // 鐢ㄦ埛琛ㄦ牸鏁版嵁
+      userList: null,
+      // 寮瑰嚭灞傛爣棰�
+      title: "",
+      // 閮ㄩ棬鏍戦�夐」
+      deptOptions: undefined,
+      // 鏄惁鏄剧ず寮瑰嚭灞�
+      open: false,
+      // 閮ㄩ棬鍚嶇О
+      deptName: undefined,
+      // 榛樿瀵嗙爜
+      initPassword: undefined,
+      amendtag: false, //鏄惁淇敼
+      // 鏃ユ湡鑼冨洿
+      dateRange: [],
+      paperstypes: [
+        { papersname: "韬唤璇�" },
+        { papersname: "鎶ょ収" },
+        { papersname: "涓浗娓境灞呮皯韬唤璇�" },
+        { papersname: "涓浗鍙版咕灞呮皯韬唤璇�" },
+      ],
+      // 琛ㄥ崟鍙傛暟
+      form: {
+        name: "",
+        age: "",
+        sex: "",
+        tagList: [],
+        idcardno: "",
+        telcode: "",
+        idcardtype: "",
+        relativetelcode: "",
+      },
+      //瀵煎叆杩涘害
+      dractive: 1,
+      // 瀵煎叆灞曠ず琛ㄥ崟
+      uploadingData: {},
+      total: 0, // 鎬绘潯鏁�
+      ImportQuantity: 999, //瀵煎叆鎮h�呮暟閲�
+      Labelchange: false, //淇敼鏂板寮圭獥
+      propss: { multiple: true },
+      optionstag: [], //鏍囩鍒楄〃
+      Patientrange: [
+        {
+          name: "鍏ㄩ儴绉戝",
+          id: 999,
+        },
+        {
+          name: "褰撳墠绉戝",
+          id: 1,
+        },
+      ],
+      defaultProps: {
+        children: "children",
+        label: "label",
+      },
+      // 鐢ㄦ埛瀵煎叆鍙傛暟
+      upload: {
+        // 鏄惁鏄剧ず寮瑰嚭灞傦紙鐢ㄦ埛瀵煎叆锛�
+        open: false,
+        // 寮瑰嚭灞傛爣棰橈紙鐢ㄦ埛瀵煎叆锛�
+        title: "",
+        // 鏄惁绂佺敤涓婁紶
+        isUploading: false,
+        // 鏄惁鏇存柊宸茬粡瀛樺湪鐨勭敤鎴锋暟鎹�
+        updateSupport: 0,
+        // 璁剧疆涓婁紶鐨勮姹傚ご閮�
+        headers: { Authorization: "Bearer " + getToken() },
+        // 涓婁紶鐨勫湴鍧�
+        url: process.env.VUE_APP_BASE_API + "/system/user/importData",
+      },
+      // 鏌ヨ鍙傛暟
+      queryParams: {
+        pageNum: 1,
+        pageSize: 10,
+        idcardno: undefined,
+        name: undefined,
+        status: undefined,
+        tagIds: undefined,
+        telcode: undefined,
+      },
+      // 琛ㄥ崟鏍¢獙
+      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",
+        //   },
+        // ],
+      },
+    };
+  },
+  watch: {
+    // 鏍规嵁鍚嶇О绛涢�夐儴闂ㄦ爲
+    deptName(val) {
+      this.$refs.tree.filter(val);
+    },
+  },
+  created() {
+    this.getList();
+    this.listDept();
+    this.gettabList();
+  },
+  methods: {
+    /** 鏌ヨ鎮h�呭垪琛� */
+    getList() {
+      this.loading = true;
+      listpatient(this.queryParams).then((response) => {
+        console.log(response);
+        this.userList = response.rows;
+        this.total = response.total;
+        this.loading = false;
+      });
+    },
+    listDept() {
+      listDept(this.queryParams).then((res) => {
+        this.deptList = res.data;
+        console.log(this.deptList, "this.deptList");
+      });
+    },
+    /** 鏌ヨ鏍囩鍒楄〃 */
+    gettabList() {
+      const tagqueryParams = {
+        pageNum: 1,
+        pageSize: 1000,
+        tagname: undefined,
+        tagdescription: undefined,
+        tagcategoryid: "0",
+      };
+      listtag(tagqueryParams).then((response) => {
+        console.log(response);
+        this.optionstag = response.rows;
+      });
+    },
+    // 鏌ヨ瀵煎叆灞曠ず鍒楄〃
+    geterryList() {
+      this.loading = true;
+      listJob(this.queryParams).then((response) => {
+        this.jobList = 1;
+        this.total = 1;
+        this.loading = false;
+      });
+    },
+
+    // 绛涢�夎妭鐐�
+    filterNode(value, data) {
+      if (!value) return true;
+      return data.label.indexOf(value) !== -1;
+    },
+    // 鑺傜偣鍗曞嚮浜嬩欢
+    handleNodeClick(data) {
+      this.queryParams.deptId = data.id;
+      this.handleQuery();
+    },
+
+    // 鍙栨秷鎸夐挳
+    cancel() {
+      this.Labelchange = false;
+      this.reset();
+    },
+    // 琛ㄥ崟閲嶇疆
+    reset() {
+      this.form = {
+        name: "",
+        age: "",
+        sex: "",
+        tagList: [],
+        idcardno: "",
+        telcode: "",
+        idcardtype: "",
+        relativetelcode: "",
+      };
+      // this.resetForm("form");
+    },
+    /** 鎼滅储鎸夐挳鎿嶄綔 */
+    handleQuery() {
+      this.queryParams.pageNum = 1;
+      this.getList();
+    },
+    /** 閲嶇疆鎸夐挳鎿嶄綔 */
+    resetQuery() {
+      this.dateRange = [];
+      this.resetForm("queryForm");
+      this.$refs.tree.setCurrentKey(null);
+      this.handleQuery();
+    },
+    // 澶氶�夋閫変腑鏁版嵁
+    handleSelectionChange(selection) {
+      this.ids = selection.map((item) => item.patid);
+      this.single = selection.length != 1;
+      this.multiple = !selection.length;
+    },
+
+    /** 鏂板鎸夐挳鎿嶄綔 */
+    handleAdd() {
+      this.reset();
+      this.Labelchange = true;
+      this.amendtag = false;
+    },
+    /** 淇敼鎸夐挳鎿嶄綔 */
+    handleUpdate(row) {
+      console.log(row);
+      const userIds = row.patid || this.ids;
+      particularpatient(userIds).then((response) => {
+        console.log(response);
+        this.form = response.data;
+      });
+      this.amendtag = true;
+      this.Labelchange = true;
+    },
+
+    //淇敼/鏂板鎮h��
+    submitForm() {
+      if (this.amendtag) {
+        alterpatient(this.form)
+          .then((response) => {
+            console.log(response);
+          })
+          .then(() => {
+            this.getList();
+            this.$modal.msgSuccess("淇敼鎴愬姛");
+          });
+      } else {
+        addpatient(this.form)
+          .then((response) => {
+            console.log(response);
+          })
+          .then(() => {
+            this.getList();
+            this.$modal.msgSuccess("娣诲姞鎴愬姛");
+          });
+      }
+      this.reset();
+      // this.idds = "";
+      this.Labelchange = false;
+    },
+
+    /** 鍒犻櫎鎸夐挳鎿嶄綔 */
+    handleDelete(row) {
+      const userIds = row.userId || this.ids;
+      this.$modal
+        .confirm('鏄惁纭鍒犻櫎鐢ㄦ埛缂栧彿涓�"' + userIds + '"鐨勬暟鎹」锛�')
+        .then(function () {
+          return deletepatient(userIds);
+        })
+        .then(() => {
+          this.getList();
+          this.$modal.msgSuccess("鍒犻櫎鎴愬姛");
+        })
+        .catch(() => {});
+    },
+    /** 瀵煎嚭鎸夐挳鎿嶄綔 */
+    handleExport() {
+      this.download(
+        "smartor/patarchive/export",
+        {
+          ...this.queryParams,
+        },
+        `user_${new Date().getTime()}.xlsx`
+      );
+    },
+    /** 瀵煎叆鎸夐挳鎿嶄綔 */
+    handleImport() {
+      this.upload.title = "鐢ㄦ埛瀵煎叆";
+      this.upload.open = true;
+    },
+    /** 涓嬭浇妯℃澘鎿嶄綔 */
+    importTemplate() {
+      this.download(
+        "system/user/importTemplate",
+        {},
+        `user_template_${new Date().getTime()}.xlsx`
+      );
+    },
+    // 鏂囦欢涓婁紶涓鐞�
+    handleFileUploadProgress(event, file, fileList) {
+      this.upload.isUploading = true;
+    },
+    // 鏂囦欢涓婁紶鎴愬姛澶勭悊
+    handleFileSuccess(response, file, fileList) {
+      this.upload.open = false;
+      this.upload.isUploading = false;
+      this.$refs.upload.clearFiles();
+      this.$alert(
+        "<div style='overflow: auto;overflow-x: hidden;max-height: 70vh;padding: 10px 20px 0;'>" +
+          response.msg +
+          "</div>",
+        "瀵煎叆缁撴灉",
+        { dangerouslyUseHTMLString: true }
+      );
+      this.getList();
+    },
+    // 鎻愪氦涓婁紶鏂囦欢
+    submitFileForm() {
+      // 涓婁紶
+      if (this.dractive == 1) {
+        this.$refs.upload.submit();
+        this.dractive++;
+      } else {
+        this.dractive++;
+      }
+    },
+    submitclose() {
+      this.upload.open = false;
+      this.dractive = 1;
+    },
+  },
+};
+</script>
+
+<style lang="scss" scoped>
+.el-button--primary.is-plain {
+  color: #ffffff;
+  background: #409eff;
+  border-color: #4fabe9;
+}
+.document {
+  width: 100px;
+  height: 50px;
+}
+.documentf {
+  display: flex;
+  justify-content: flex-end;
+}
+.download {
+  text-align: center;
+  .el-upload__tip {
+    font-size: 23px;
+  }
+  .el-upload__text {
+    font-size: 23px;
+  }
+}
+.uploading {
+  margin-top: 20px;
+  margin: 20px;
+  padding: 30px;
+  background: #ffffff;
+  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);
+}
+.drexamine {
+  display: flex;
+  align-items: center;
+  justify-content: center;
+  padding: 30px;
+  background: #daeaf5;
+  img {
+    width: 100px;
+    height: 100px;
+  }
+}
+.button-textsc {
+  color: #28cfe6;
+}
+</style>
diff --git a/src/views/patient/patient/index.vue b/src/views/patient/patient/index.vue
index 3f579d0..487b9d0 100644
--- a/src/views/patient/patient/index.vue
+++ b/src/views/patient/patient/index.vue
@@ -648,6 +648,12 @@
   Exporterrorpatient,
   toleadpatient,
 } from "@/api/patient/homepage";
+import {
+  getTaskservelist,
+  getTaskInfo,
+  Editsingletask,
+
+} from "@/api/AiCentre/index";
 import { listtag } from "@/api/system/label";
 import { getToken } from "@/utils/auth";
 import Treeselect from "@riophae/vue-treeselect";
@@ -698,7 +704,7 @@
       Patienttype: [
         {
           value: "1",
-          label: "浣忛櫌鎮h��",
+          label: "鍦ㄩ櫌鎮h��",
         },
         {
           value: "2",
@@ -708,6 +714,10 @@
           value: "3",
           label: "浣撴鎮h��",
         },
+        {
+          value: "4",
+          label: "鍑洪櫌鎮h��",
+        },
       ],
 
       cardlist: [
diff --git a/src/views/patient/patient/outpatient.vue b/src/views/patient/patient/outpatient.vue
index da3eef5..220fc5b 100644
--- a/src/views/patient/patient/outpatient.vue
+++ b/src/views/patient/patient/outpatient.vue
@@ -42,7 +42,6 @@
             </el-select>
           </el-form-item>
           <el-row>
-        
             <el-form-item label=" 灏辫瘖鏃ユ湡 " prop="createTime">
               <el-date-picker
                 clearable
@@ -142,45 +141,56 @@
           @selection-change="handleSelectionChange"
         >
           <el-table-column type="selection" width="50" align="center" />
-          <el-table-column
+          <!-- <el-table-column
             label="搴忓彿"
             fixed
             align="center"
             key="id"
             prop="id"
-          />
+          /> -->
           <el-table-column
-            label="濮撳悕"
-            fixed
+            label="灏辫瘖鏃堕棿"
             align="center"
-            key="patname"
-            prop="patname"
-          />
+            key="createTime"
+            prop="createTime"
+            width="160"
+          >
+            <template slot-scope="scope">
+              <span>{{ parseTime(scope.row.createTime) }}</span>
+            </template>
+          </el-table-column>
+
           <el-table-column
-            label="鎮h�呯紪鍙�"
+            label="闂ㄨ瘖鍙�"
             align="center"
             key="patid"
             prop="patid"
+          />
+          <el-table-column
+            label="濮撳悕"
+            align="center"
+            key="patname"
+            prop="patname"
           />
           <el-table-column label="鎬у埆" align="center" key="sex" prop="sex">
             <template slot-scope="scope">
               <span>{{ scope.row.sex == 1 ? "鐢�" : "濂�" }}</span>
             </template>
           </el-table-column>
-          <!-- <el-table-column
-            label="骞撮緞锛堢己锛�"
+          <el-table-column
+            label="骞撮緞"
             align="center"
             key="age"
             prop="age"
             width="120"
           />
           <el-table-column
-            label="鑱旂郴鐢佃瘽锛堢己锛�"
+            label="鑱旂郴鐢佃瘽"
             align="center"
             key="telephone"
             prop="telephone"
             width="120"
-          /> -->
+          />
           <!-- <el-table-column
             label="鎮h�呮爣绛撅紙缂猴級"
             align="center"
@@ -201,39 +211,27 @@
             prop="diagname"
             width="190"
           />
-          <el-table-column
+          <!-- <el-table-column
             label="涓昏堪"
             align="center"
             key="mainsuit"
             prop="mainsuit"
             width="120"
-          />
+          /> -->
           <el-table-column
-            label="绉戝"
+            label="灏辫瘖绉戝"
             align="center"
             key="deptname"
             prop="deptname"
             width="120"
           />
           <el-table-column
-            label="鍖荤敓"
+            label="鎺ヨ瘖鍖荤敓"
             align="center"
             key="drname"
             prop="drname"
             width="120"
           />
-
-          <el-table-column
-            label="灏辫瘖鏃堕棿"
-            align="center"
-            key="createTime"
-            prop="createTime"
-            width="160"
-          >
-            <template slot-scope="scope">
-              <span>{{ parseTime(scope.row.createTime) }}</span>
-            </template>
-          </el-table-column>
 
           <el-table-column
             label="鎿嶄綔"
@@ -257,15 +255,6 @@
                   ><i class="el-icon-zoom-in"></i>鏌ョ湅</span
                 ></el-button
               >
-              <el-button
-                size="medium"
-                type="text"
-                @click="handleUpdate(scope.row)"
-                v-hasPermi="['system:user:edit']"
-                ><span class="button-textxg"
-                  ><i class="el-icon-edit"></i>淇敼</span
-                ></el-button
-              >
             </template>
           </el-table-column>
         </el-table>
@@ -279,125 +268,6 @@
         />
       </el-col>
     </el-row>
-
-    <!-- 娣诲姞鎴栦慨鏀圭敤鎴烽厤缃璇濇 -->
-    <el-dialog
-      :title="amendtag ? '淇敼鎮h�呬俊鎭�' : '鏂板鎮h��'"
-      :visible.sync="Labelchange"
-      width="900px"
-    >
-      <el-form ref="form" :model="form" :rules="rules" label-width="100px">
-        <el-row>
-          <el-col :span="12">
-            <el-form-item label="濮撳悕" prop="name">
-              <el-input
-                v-model="form.name"
-                placeholder="璇疯緭鍏ュ鍚�"
-                maxlength="30"
-              />
-            </el-form-item>
-          </el-col>
-          <el-col :span="12">
-            <el-form-item label="鎬у埆" prop="sex">
-              <el-select v-model="form.sex" placeholder="璇烽�夋嫨鎬у埆">
-                <el-option
-                  v-for="dict in dict.type.sys_user_sex"
-                  :key="dict.value"
-                  :label="dict.label"
-                  :value="dict.value"
-                ></el-option>
-              </el-select>
-            </el-form-item>
-          </el-col>
-        </el-row>
-        <el-row>
-          <el-col :span="12">
-            <el-form-item label="璇佷欢绫诲瀷" prop="idcardtype">
-              <el-select v-model="form.idcardtype" placeholder="璇烽�夋嫨鎬у埆">
-                <el-option
-                  v-for="item in paperstypes"
-                  :key="item.papersname"
-                  :label="item.papersname"
-                  :value="item.papersname"
-                ></el-option>
-              </el-select>
-            </el-form-item>
-          </el-col>
-          <el-col :span="12">
-            <el-form-item label="璇佷欢鍙�" prop="idcardno">
-              <el-input
-                v-model="form.idcardno"
-                placeholder="璇疯緭鍏ヨ瘉浠跺彿"
-                maxlength="50"
-              />
-            </el-form-item>
-          </el-col>
-        </el-row>
-        <el-row>
-          <el-col :span="12">
-            <el-form-item label="鏈汉鎵嬫満鍙�" prop="telcode">
-              <el-input
-                v-model="form.telcode"
-                placeholder="璇疯緭鍏ユ墜鏈哄彿"
-                maxlength="30"
-              />
-            </el-form-item>
-          </el-col>
-          <el-col :span="12">
-            <el-form-item label="浜插睘鎵嬫満鍙�" prop="relativetelcode">
-              <el-input
-                v-model="form.relativetelcode"
-                placeholder="璇疯緭鍏ヤ翰灞炴墜鏈哄彿"
-                type="password"
-                maxlength="20"
-                show-password
-              />
-            </el-form-item>
-          </el-col>
-        </el-row>
-        <el-row>
-          <el-col :span="12">
-            <el-form-item label="骞撮緞" prop="age">
-              <el-input
-                v-model="form.age"
-                placeholder="璇疯緭鍏ュ勾榫�"
-                maxlength="30"
-              />
-            </el-form-item>
-          </el-col>
-          <el-col :span="12">
-            <el-form-item label="鎮h�呮爣绛�">
-              <!-- <el-select v-model="form.sex" placeholder="璇烽�夋嫨"> -->
-              <el-select v-model="form.tagList" multiple placeholder="璇烽�夋嫨">
-                <el-option
-                  v-for="item in optionstag"
-                  :key="item.tagid"
-                  :label="item.tagname"
-                  :value="item.tagid"
-                >
-                </el-option>
-              </el-select>
-              <!-- </el-select> -->
-            </el-form-item>
-          </el-col>
-        </el-row>
-        <el-row>
-          <el-col :span="24">
-            <el-form-item label="澶囨敞">
-              <el-input
-                v-model="form.remark"
-                type="textarea"
-                placeholder="璇疯緭鍏ュ唴瀹�"
-              ></el-input>
-            </el-form-item>
-          </el-col>
-        </el-row>
-      </el-form>
-      <div slot="footer" class="dialog-footer">
-        <el-button type="primary" @click="submitForm">纭� 瀹�</el-button>
-        <el-button @click="cancel">鍙� 娑�</el-button>
-      </div>
-    </el-dialog>
 
     <!-- 鐢ㄦ埛瀵煎叆瀵硅瘽妗� -->
     <el-dialog
@@ -567,7 +437,7 @@
       Patientrange: [
         {
           name: "鍏ㄩ儴",
-          id: 1,
+          id: 999,
         },
         {
           name: "褰撳墠绉戝",
diff --git a/src/views/patient/patient/profile/index.vue b/src/views/patient/patient/profile/index.vue
index 9427432..6f02c8d 100644
--- a/src/views/patient/patient/profile/index.vue
+++ b/src/views/patient/patient/profile/index.vue
@@ -952,7 +952,7 @@
     gettabList() {
       const tagqueryParams = {
         pageNum: 1,
-        pageSize: 1000,
+        pageSize: 10000,
         tagcategoryid: "0",
       };
       listtag(tagqueryParams).then((response) => {
diff --git a/src/views/patient/physical/index.vue b/src/views/patient/physical/index.vue
index 679f42a..1f71c34 100644
--- a/src/views/patient/physical/index.vue
+++ b/src/views/patient/physical/index.vue
@@ -175,29 +175,24 @@
           label="濮撳悕"
           fixed
           align="center"
-          key="types"
-          prop="types"
+          key="patientname"
+          prop="patientname"
         />
 
         <el-table-column
-          label="浣撴缂栧彿"
+          label="灏辫瘖缂栧彿"
           align="center"
           sortable
-          key="userName"
-          prop="userName"
+          key="hospno"
+          prop="hospno"
           width="120"
         />
-        <el-table-column
-          label="骞撮緞"
-          align="center"
-          key="nickName"
-          prop="nickName"
-        />
+        <el-table-column label="骞撮緞" align="center" key="age" prop="age" />
         <el-table-column
           label="浣撴鍗曚綅"
           align="center"
-          key="phonenumber"
-          prop="phonenumber"
+          key="depname"
+          prop="depname"
           width="120"
         >
         </el-table-column>
@@ -701,7 +696,7 @@
       this.loading = true;
       listUser(this.addDateRange(this.topqueryParams, this.dateRange)).then(
         (response) => {
-          this.userList = response.rows;
+          this.userList = [];
           this.total = response.total;
           this.loading = false;
         }
diff --git a/src/views/patient/propaganda/Missionotice.vue b/src/views/patient/propaganda/Missionotice.vue
new file mode 100644
index 0000000..710fb7e
--- /dev/null
+++ b/src/views/patient/propaganda/Missionotice.vue
@@ -0,0 +1,717 @@
+<template>
+  <div class="app-container">
+    <el-row :gutter="20">
+      <!--鐢ㄦ埛鏁版嵁-->
+      <el-form
+        :model="topqueryParams"
+        ref="queryForm"
+        size="small"
+        :inline="true"
+        v-show="showSearch"
+        label-width="98px"
+      >
+        <el-form-item label="浠诲姟鍚嶇О">
+          <el-input v-model="topqueryParams.name"></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-date-picker
+            v-model="dateRange"
+            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="閫氱煡绫诲瀷" 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 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"
+            >鎼滅储</el-button
+          >
+          <el-button icon="el-icon-refresh" size="medium" @click="resetQuery"
+            >閲嶇疆</el-button
+          >
+        </el-form-item>
+      </el-form>
+      <el-divider></el-divider>
+      <el-row :gutter="10" class="mb8">
+        <el-col :span="1.5">
+          <el-button
+            type="primary"
+            plain
+            icon="el-icon-plus"
+            size="medium"
+            @click="handleAdd"
+            v-hasPermi="['system:user:add']"
+            >鏂板</el-button
+          >
+        </el-col>
+        <el-col :span="1.5">
+          <el-button
+            type="success"
+            plain
+            icon="el-icon-edit"
+            size="medium"
+            :disabled="single"
+            @click="handleUpdate"
+            v-hasPermi="['system:user:edit']"
+            >淇敼</el-button
+          >
+        </el-col>
+        <el-col :span="1.5">
+          <el-button
+            type="danger"
+            plain
+            icon="el-icon-delete"
+            size="medium"
+            :disabled="multiple"
+            @click="handleDelete"
+            v-hasPermi="['system:user:remove']"
+            >鍒犻櫎</el-button
+          >
+        </el-col>
+        <el-col :span="19">
+          <div class="documentf">
+            <div class="document">
+              <el-button
+                type="warning"
+                plain
+                icon="el-icon-download"
+                size="medium"
+                @click="handleExport"
+                v-hasPermi="['system:user:export']"
+                >瀵煎嚭</el-button
+              >
+            </div>
+          </div>
+        </el-col>
+        <!-- <el-col :span="1.5"> </el-col> -->
+      </el-row>
+      <el-table
+        v-loading="loading"
+        :data="userList"
+        @selection-change="handleSelectionChange"
+      >
+        <el-table-column type="selection" width="50" align="center" />
+        <el-table-column fixed label="搴忓彿" align="center" key="id" prop="id" />
+        <el-table-column
+          label="濮撳悕"
+          fixed
+          align="center"
+          key="sendname"
+          prop="sendname"
+        />
+        <el-table-column
+          label="闂ㄨ瘖鍙�/鐥呭巻鍙�"
+          align="center"
+          sortable
+          key="medicalRecordNo"
+          prop="medicalRecordNo"
+          width="150"
+        />
+
+        <el-table-column label="骞撮緞" align="center" key="age" prop="age" />
+        <el-table-column label="搴婂彿" align="center" key="badNo" prop="badNo" />
+        <el-table-column
+          label="绉戝/鐥呭尯"
+          align="center"
+          key="dept"
+          prop="dept"
+          width="120"
+        >
+        </el-table-column>
+
+        <el-table-column
+          label="鐤剧梾鍚嶇О"
+          align="center"
+          key="icdName"
+          prop="icdName"
+          width="120"
+          :show-overflow-tooltip="true"
+        >
+        </el-table-column>
+
+        <el-table-column
+          label="閫氱煡妯$増"
+          align="center"
+          key="templatename"
+          prop="templatename"
+          width="120"
+        >
+        </el-table-column>
+        <el-table-column
+          label="閫氱煡鏂瑰紡"
+          align="center"
+          key="serviceform"
+          prop="serviceform"
+          width="120"
+        >
+        </el-table-column>
+        <el-table-column
+          label="鎿嶄綔浜哄憳"
+          align="center"
+          key="operatePerson"
+          prop="operatePerson"
+          width="120"
+        />
+
+        <el-table-column
+          label="灏辫瘖鏃堕棿"
+          align="center"
+          key="visitTime"
+          prop="visitTime"
+          width="160"
+        >
+        </el-table-column>
+        <el-table-column
+          label="閫氱煡鏃堕棿"
+          align="center"
+          key="senddate"
+          prop="senddate"
+          width="160"
+        >
+        </el-table-column>
+
+        <el-table-column
+          fixed="right"
+          label="浠诲姟璇︽儏"
+          align="center"
+          width="200"
+          class-name="small-padding fixed-width"
+        >
+          <template slot-scope="scope">
+            <el-button
+              size="medium"
+              type="text"
+              @click="handleUpdate(scope.row)"
+              v-hasPermi="['system:user:edit']"
+              ><span class="button-xq"
+                ><i class="el-icon-s-data"></i>璇︽儏</span
+              ></el-button
+            >
+            <el-button
+              size="medium"
+              type="text"
+              @click="handleDelete(scope.row)"
+              v-hasPermi="['system:user:edit']"
+              ><span class="button-sc"
+                ><i class="el-icon-delete"></i>鍒犻櫎</span
+              ></el-button
+            >
+          </template>
+        </el-table-column>
+      </el-table>
+
+      <pagination
+        v-show="total > 0"
+        :total="total"
+        :page.sync="topqueryParams.pageNum"
+        :limit.sync="topqueryParams.pageSize"
+        @pagination="getList"
+      />
+    </el-row>
+  </div>
+</template>
+
+<script>
+import {
+  listUser,
+  getUser,
+  delUser,
+  addUser,
+  updateUser,
+  resetUserPwd,
+  changeUserStatus,
+} from "@/api/system/user";
+import {
+  getTaskservelist,
+  getTaskInfo,
+  Editsingletask,
+} from "@/api/AiCentre/index";
+import { gethetasklist, delhetaskinfo } from "@/api/AiCentre/index";
+import Treeselect from "@riophae/vue-treeselect";
+import "@riophae/vue-treeselect/dist/vue-treeselect.css";
+
+export default {
+  name: "User",
+  dicts: ["sys_normal_disable", "sys_user_sex"],
+  components: { Treeselect },
+  data() {
+    return {
+      // 閬僵灞�
+      loading: true,
+      // 閫変腑鏁扮粍
+      ids: [],
+      // 闈炲崟涓鐢�
+      single: true,
+      // 闈炲涓鐢�
+      multiple: true,
+      // 鏄剧ず鎼滅储鏉′欢
+      showSearch: true,
+      // 鎬绘潯鏁�
+      total: 0,
+      // 鐢ㄦ埛琛ㄦ牸鏁版嵁
+      userList: null,
+      // 寮瑰嚭灞傛爣棰�
+      title: "鏂板闂ㄨ瘖閫氱煡",
+
+      // 閮ㄩ棬鍚嶇О
+      deptName: undefined,
+      // 榛樿瀵嗙爜
+      initPassword: undefined,
+      // 鏃ユ湡鑼冨洿
+      dateRange: [],
+      // 宀椾綅閫夐」
+      postOptions: [],
+      // 瑙掕壊閫夐」
+      roleOptions: [],
+      dynamicTags: ["閫夐」涓�", "閫夐」浜�", "閫夐」涓�"], //閫夐」
+      inputVisible: false,
+      inputValue: "",
+      previewVisible: false, //闂ㄨ瘖閫氱煡棰勮寮规
+      radio: "",
+      radios: [],
+      previewtype: 2, //棰勮闂ㄨ瘖閫氱煡绫诲瀷
+      total: 0, // 鎬绘潯鏁�
+      ImportQuantity: 999, //瀵奸棬璇婇�氱煡鏁伴噺
+      //棰勮闂ㄨ瘖閫氱煡淇℃伅
+      previewvalue: {
+        username: "杩欎釜鍖荤敓瀵逛綘鎬庝箞鏍�",
+      },
+      value: [],
+      list: [],
+      loading: false,
+      states: ["Alabama", "North Dakota", "Ohio", "Oklahoma", "Oregon", ,],
+      pickerOptions: {
+        disabledDate(time) {
+          return time.getTime() > Date.now();
+        },
+        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);
+            },
+          },
+        ],
+      },
+      // 琛ㄥ崟鍙傛暟
+      form: {
+        phonenumber: "",
+        totagid: "",
+        types: "",
+        nickName: "",
+        qystatus: "",
+        btstatus: "",
+      },
+      // 鏌ヨ鍙傛暟
+      topqueryParams: {
+        pageNum: 1,
+        pageSize: 10,
+        type: 1,
+      },
+      propss: { multiple: true },
+      options: [],
+
+      topicoptions: [
+        {
+          value: 1,
+          label: "寰呭鏍�",
+        },
+        {
+          value: 2,
+          label: "鎵ц涓�",
+        },
+        {
+          value: 3,
+          label: "鎵ц瀹屾垚",
+        },
+        {
+          value: 4,
+          label: "宸插仠姝�",
+        },
+      ],
+      // 琛ㄥ崟鏍¢獙
+      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",
+          },
+        ],
+      },
+    };
+  },
+  watch: {},
+  created() {
+    this.getList();
+    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}` };
+    });
+  },
+  methods: {
+    /** 鏌ヨ闂ㄨ瘖閫氱煡鍒楄〃 */
+    getList() {
+      this.loading = true;
+      getTaskservelist(this.topqueryParams).then((response) => {
+        this.userList = response.rows;
+        this.total = response.total;
+        this.loading = false;
+      });
+    },
+    // 鏌ョ湅闂ㄨ瘖閫氱煡璇︽儏
+    Referencequestion(row) {
+      this.previewVisible = true;
+    },
+    // 娣诲姞寮规鎼滅储
+    remoteMethod(query) {
+      if (query !== "") {
+        this.loading = true;
+        setTimeout(() => {
+          this.loading = false;
+          this.options = this.list.filter((item) => {
+            return item.label.toLowerCase().indexOf(query.toLowerCase()) > -1;
+          });
+        }, 200);
+      } else {
+        this.options = [];
+      }
+    },
+    // 闂ㄨ瘖閫氱煡鐘舵�佷慨鏀�
+    handleStatusChange(row) {
+      let text = row.status === "0" ? "鍚敤" : "鍋滅敤";
+      this.$modal
+        .confirm('纭瑕�"' + text + '""' + row.userName + '"鐢ㄦ埛鍚楋紵')
+        .then(function () {
+          return changeUserStatus(row.id, row.status);
+        })
+        .then(() => {
+          this.$modal.msgSuccess(text + "鎴愬姛");
+        })
+        .catch(function () {
+          row.status = row.status === "0" ? "1" : "0";
+        });
+    },
+    // 鍙栨秷鎸夐挳
+    cancel() {
+      this.addalteropen = false;
+      this.reset();
+    },
+    // 琛ㄥ崟閲嶇疆
+    reset() {
+      this.form = {
+        id: undefined,
+        deptId: undefined,
+        userName: undefined,
+        nickName: undefined,
+        password: undefined,
+        phonenumber: undefined,
+        email: undefined,
+        sex: undefined,
+        status: "0",
+        remark: undefined,
+        postIds: [],
+        roleIds: [],
+      };
+      this.resetForm("form");
+    },
+    /** 鎼滅储鎸夐挳鎿嶄綔 */
+    handleQuery() {
+      this.topqueryParams.pageNum = 1;
+      this.getList();
+    },
+    /** 閲嶇疆鎸夐挳鎿嶄綔 */
+    resetQuery() {
+      this.dateRange = [];
+      this.resetForm("queryForm");
+      this.topqueryParams.deptId = undefined;
+      this.$refs.tree.setCurrentKey(null);
+      this.handleQuery();
+    },
+    // 澶氶�夋閫変腑鏁版嵁
+    handleSelectionChange(selection) {
+      this.ids = selection.map((item) => item.userId);
+      this.single = selection.length != 1;
+      this.multiple = !selection.length;
+    },
+    //鍒犻櫎閫夐」
+    handleClose(tag) {
+      this.dynamicTags.splice(this.dynamicTags.indexOf(tag), 1);
+    },
+    //瑙﹀彂鏂板杈撳叆
+    showInput() {
+      this.inputVisible = true;
+      this.$nextTick((_) => {
+        this.$refs.saveTagInput.$refs.input.focus();
+      });
+    },
+    //鑾峰彇澶卞幓鐒︾偣瑙﹀彂
+    handleInputConfirm() {
+      let inputValue = this.inputValue;
+      if (inputValue) {
+        this.dynamicTags.push(inputValue);
+      }
+      this.inputVisible = false;
+      this.inputValue = "";
+    },
+    /** 鏂板鎸夐挳鎿嶄綔 */
+    handleAdd() {
+      this.$router.push({
+        path: "/followvisit/particty",
+        query: { type: 1 },
+      });
+    },
+    /** 淇敼鎸夐挳鎿嶄綔 */
+    handleUpdate(row) {
+      this.$router.push({
+        path: "/followvisit/record/detailpage/",
+        query: { id: "1", type: row.hosptype },
+      });
+    },
+    /** 鍒犻櫎鎸夐挳鎿嶄綔 */
+    handleDelete(row) {
+      const userIds = row.id || this.ids;
+      this.$modal
+        .confirm('鏄惁纭鍒犻櫎鐢ㄦ埛缂栧彿涓�"' + ids + '"鐨勬暟鎹」锛�')
+        .then(function () {
+          return delhetaskinfo(ids);
+        })
+        .then(() => {
+          this.getList();
+          this.$modal.msgSuccess("鍒犻櫎鎴愬姛");
+        })
+        .catch(() => {});
+    },
+    /** 瀵煎嚭鎸夐挳鎿嶄綔 */
+    handleExport() {
+      this.download(
+        "system/user/export",
+        {
+          ...this.topqueryParams,
+        },
+        `user_${new Date().getTime()}.xlsx`
+      );
+    },
+  },
+};
+</script>
+
+<style lang="scss" scoped>
+.el-button--primary.is-plain {
+  color: #ffffff;
+  background: #409eff;
+  border-color: #4fabe9;
+}
+
+.document {
+  width: 100px;
+  height: 50px;
+}
+
+.documentf {
+  display: flex;
+  justify-content: flex-end;
+}
+
+.download {
+  text-align: center;
+
+  .el-upload__tip {
+    font-size: 23px;
+  }
+
+  .el-upload__text {
+    font-size: 23px;
+  }
+}
+
+.uploading {
+  margin-top: 20px;
+  margin: 20px;
+  padding: 30px;
+  background: #ffffff;
+  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);
+}
+
+.el-tag + .el-tag {
+  margin-left: 10px;
+}
+
+.button-new-tag {
+  margin-left: 10px;
+  height: 32px;
+  line-height: 30px;
+  padding-top: 0;
+  padding-bottom: 0;
+}
+
+.input-new-tag {
+  width: 90px;
+  margin-left: 10px;
+  vertical-align: bottom;
+}
+
+.drexamine {
+  display: flex;
+  align-items: center;
+  justify-content: center;
+  padding: 30px;
+  background: #daeaf5;
+
+  img {
+    width: 100px;
+    height: 100px;
+  }
+}
+
+.qrcode-dialo {
+  // text-align: center;
+  //   display: flex;
+  margin: 20px;
+  padding: 30px;
+  background: #edf1f7;
+  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);
+
+  .topic-dev {
+    margin-bottom: 25px;
+    font-size: 20px !important;
+
+    .dev-text {
+      margin-bottom: 10px;
+    }
+  }
+}
+.button-bb {
+  font-weight: 500;
+  color: #2ba05c;
+}
+.button-xq {
+  font-weight: 500;
+  color: #409eff;
+}
+.button-sc {
+  font-weight: 500;
+  color: #dd302a;
+}
+.button-zx {
+  background: #4fabe9;
+  padding: 5px;
+  border-radius: 1px;
+  color: #ffffff;
+}
+
+::v-deep.el-radio-group {
+  span {
+    font-size: 24px;
+  }
+}
+
+::v-deep.el-checkbox-group {
+  span {
+    font-size: 24px;
+  }
+}
+</style>
diff --git a/src/views/patient/propaganda/index.vue b/src/views/patient/propaganda/index.vue
index 86d879e..cb2e9bd 100644
--- a/src/views/patient/propaganda/index.vue
+++ b/src/views/patient/propaganda/index.vue
@@ -138,8 +138,8 @@
           label="濮撳悕"
           fixed
           align="center"
-          key="name"
-          prop="name"
+          key="sendname"
+          prop="sendname"
         />
         <el-table-column
           label="鐥呭巻鍙�"
@@ -172,26 +172,20 @@
         </el-table-column>
 
         <el-table-column
-          label="瀹f暀鍐呭"
+          label="瀹f暀妯$増"
           align="center"
-          key="heTask"
-          prop="heTask"
+          key="templatename"
+          prop="templatename"
           width="120"
         >
-          <template slot-scope="scope">
-            <span>{{ scope.row.heTask.preachname }}</span>
-          </template>
         </el-table-column>
         <el-table-column
           label="瀹f暀鏂瑰紡"
           align="center"
-          key="topicnumberaa"
-          prop="topicnumberaa"
+          key="serviceform"
+          prop="serviceform"
           width="120"
         >
-          <template slot-scope="scope">
-            <span>{{ scope.row.heTask.preachform }}</span>
-          </template>
         </el-table-column>
         <el-table-column
           label="鎿嶄綔浜哄憳"
@@ -203,7 +197,6 @@
 
         <el-table-column
           label="灏辫瘖鏃堕棿"
-          sortable
           align="center"
           key="visitTime"
           prop="visitTime"
@@ -212,37 +205,13 @@
         </el-table-column>
         <el-table-column
           label="瀹f暀鏃堕棿"
-          sortable
           align="center"
-          prop="sendTime"
-          width="160"
-        >
-        <template slot-scope="scope">
-            <span>{{ scope.row.heTask.sendTime }}</span>
-          </template>
-        </el-table-column>
-        <el-table-column
-          label="鎺ユ敹鏃堕棿"
-          sortable
-          align="center"
-          key="receiveTime"
-          prop="receiveTime"
+          key="senddate"
+          prop="senddate"
           width="160"
         >
         </el-table-column>
-        <el-table-column
-          label="閫氱煡鐘舵��"
-          fixed="right"
-          align="center"
-          key="sendStatus"
-          prop="sendStatus"
-          width="120"
-          :show-overflow-tooltip="true"
-        >
-          <template slot-scope="scope">
-            <div>鏈畬鎴�</div>
-          </template>
-        </el-table-column>
+
         <el-table-column
           fixed="right"
           label="浠诲姟璇︽儏"
@@ -294,6 +263,11 @@
   resetUserPwd,
   changeUserStatus,
 } from "@/api/system/user";
+import {
+  getTaskservelist,
+  getTaskInfo,
+  Editsingletask,
+} from "@/api/AiCentre/index";
 import { gethetasklist, delhetaskinfo } from "@/api/AiCentre/index";
 import Treeselect from "@riophae/vue-treeselect";
 import "@riophae/vue-treeselect/dist/vue-treeselect.css";
@@ -390,6 +364,7 @@
       topqueryParams: {
         pageNum: 1,
         pageSize: 10,
+        type: 1,
       },
       propss: { multiple: true },
       options: [],
@@ -477,7 +452,7 @@
     /** 鏌ヨ闂ㄨ瘖瀹f暀鍒楄〃 */
     getList() {
       this.loading = true;
-      gethetasklist(this.topqueryParams).then((response) => {
+      getTaskservelist(this.topqueryParams).then((response) => {
         this.userList = response.rows;
         this.total = response.total;
         this.loading = false;
@@ -589,7 +564,7 @@
     handleUpdate(row) {
       this.$router.push({
         path: "/followvisit/record/detailpage/",
-        query: { id: "1", type: row.hosptype},
+        query: { id: "1", type: row.hosptype },
       });
     },
     /** 鍒犻櫎鎸夐挳鎿嶄綔 */
diff --git a/src/views/patient/questionnaire/index.vue b/src/views/patient/questionnaire/index.vue
index a06d5ff..5cdc131 100644
--- a/src/views/patient/questionnaire/index.vue
+++ b/src/views/patient/questionnaire/index.vue
@@ -168,23 +168,18 @@
           label="濮撳悕"
           fixed
           align="center"
-          key="types"
-          prop="types"
+          key="patientname"
+          prop="patientname"
         />
         <el-table-column
           label="搴婂彿"
           align="center"
           sortable
-          key="userName"
-          prop="userName"
+          key="bedNo"
+          prop="bedNo"
           width="120"
         />
-        <el-table-column
-          label="骞撮緞"
-          align="center"
-          key="nickName"
-          prop="nickName"
-        />
+        <el-table-column label="骞撮緞" align="center" key="age" prop="age" />
         <el-table-column
           label="绉戝/鐥呭尯"
           align="center"
@@ -209,8 +204,8 @@
         <el-table-column
           label="鍙戦�佹柟寮�"
           align="center"
-          key="topicnumber"
-          prop="topicnumber"
+          key="topicnumberc"
+          prop="topicnumberc"
           width="120"
           :show-overflow-tooltip="true"
         >
@@ -221,8 +216,8 @@
         <el-table-column
           label="鍙戦�佸唴瀹�"
           align="center"
-          key="topicnumberaa"
-          prop="topicnumberaa"
+          key="topicnumberb"
+          prop="topicnumberb"
           width="120"
         />
         <el-table-column
@@ -270,8 +265,8 @@
         <el-table-column
           label="鍙戦�佺姸鎬�"
           align="center"
-          key="topicnumber"
-          prop="topicnumber"
+          key="topicnumbera"
+          prop="topicnumbera"
           width="120"
           :show-overflow-tooltip="true"
         >
@@ -460,7 +455,6 @@
 
 <script>
 import {
-  listUser,
   getUser,
   delUser,
   addUser,
@@ -468,6 +462,8 @@
   resetUserPwd,
   changeUserStatus,
 } from "@/api/system/user";
+import { getTaskservelist } from "@/api/AiCentre/index";
+
 import Treeselect from "@riophae/vue-treeselect";
 import "@riophae/vue-treeselect/dist/vue-treeselect.css";
 
@@ -593,6 +589,7 @@
       topqueryParams: {
         pageNum: 1,
         pageSize: 10,
+        type: 6,
         userName: undefined,
         tagid: undefined,
         topic: undefined,
@@ -683,13 +680,11 @@
     /** 鏌ヨ闂ㄨ瘖闅忚鍒楄〃 */
     getList() {
       this.loading = true;
-      listUser(this.addDateRange(this.topqueryParams, this.dateRange)).then(
-        (response) => {
-          this.userList = response.rows;
-          this.total = response.total;
-          this.loading = false;
-        }
-      );
+      getTaskservelist(this.topqueryParams).then((response) => {
+        this.userList = response.rows;
+        this.total = response.total;
+        this.loading = false;
+      });
     },
     // 鏌ョ湅闂ㄨ瘖闅忚璇︽儏
     Referencequestion(row) {
diff --git a/src/views/patient/subsequent/index.vue b/src/views/patient/subsequent/index.vue
index 1ccd83e..3798091 100644
--- a/src/views/patient/subsequent/index.vue
+++ b/src/views/patient/subsequent/index.vue
@@ -171,37 +171,27 @@
           label="搴忓彿"
           fixed
           align="center"
-          key="userId"
-          prop="userId"
+          key="id"
+          prop="id"
         />
         <el-table-column
           label="濮撳悕"
           fixed
           align="center"
-          key="types"
-          prop="types"
+          key="sendname"
+          prop="sendname"
         />
 
         <el-table-column
-          label="鐥呭巻鍙�"
+          label="灏辫瘖鍙�"
           align="center"
           sortable
-          key="userName"
-          prop="userName"
+          key="hospno"
+          prop="hospno"
           width="120"
         />
-        <el-table-column
-          label="骞撮緞"
-          align="center"
-          key="nickName"
-          prop="nickName"
-        />
-        <el-table-column
-          label="搴婂彿"
-          align="center"
-          key="nickName"
-          prop="nickName"
-        />
+        <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"
@@ -209,6 +199,9 @@
           prop="phonenumber"
           width="120"
         >
+          <template slot-scope="scope">
+            <div>澶栫闂ㄨ瘖</div>
+          </template>
         </el-table-column>
 
         <el-table-column
@@ -482,6 +475,8 @@
   changeUserStatus,
 } from "@/api/system/user";
 import Treeselect from "@riophae/vue-treeselect";
+import { getTaskservelist } from "@/api/AiCentre/index";
+
 import "@riophae/vue-treeselect/dist/vue-treeselect.css";
 
 export default {
@@ -696,7 +691,7 @@
     /** 鏌ヨ闂ㄨ瘖闅忚鍒楄〃 */
     getList() {
       this.loading = true;
-      listUser(this.addDateRange(this.topqueryParams, this.dateRange)).then(
+      getTaskservelist(this.topqueryParams).then(
         (response) => {
           this.userList = response.rows;
           this.total = response.total;

--
Gitblit v1.9.3