From d5806f320c4eb6520c1c0edfba081f00e0290a8c Mon Sep 17 00:00:00 2001
From: WXL <1785969728@qq.com>
Date: 星期五, 27 六月 2025 10:31:44 +0800
Subject: [PATCH] 测试完成

---
 src/views/index.vue                                      |  242 
 src/views/outsideChainxj.vue                             |    6 
 vue.config.js                                            |    6 
 src/views/followvisit/zbAgain/index.vue                  |  833 +++
 src/views/repositoryai/templateku/configurat/index.vue   |    2 
 src/views/patient/medtechnician/SpecializedService.vue   |  122 
 src/api/AiCentre/Qtemplate.js                            |  270 
 src/assets/styles/global.css                             |   64 
 src/views/shortmessage/healthinformation/index.vue       |    2 
 src/views/knowledge/questionnaire/compilequer/index.vue  |   54 
 src/views/patient/patient/index.vue                      |  208 
 src/views/patient/medtechnician/PatientChart.vue         |   70 
 src/views/system/user/authRole.vue                       |    4 
 src/views/patient/subsequent/index.vue                   |  930 +++-
 src/views/outsideChainnew.vue                            |    2 
 src/views/register.vue                                   |    2 
 src/views/sfstatistics/propaganda/index.vue              |    2 
 src/layout/components/Sidebar/Logo.vue                   |    4 
 src/views/patient/patient/operation.vue                  |  748 +++
 src/views/patient/propaganda/Missionotice.vue            |   11 
 src/views/outsideChainwt.vue                             |    2 
 src/views/patient/patient/behospitalized.vue             |  276 +
 src/store/getters.js                                     |    3 
 src/views/outsideChainxjnew.vue                          |    6 
 src/components/WangEditor/index.vue                      |   57 
 src/views/patient/propaganda/Missioncreation.vue         |    9 
 src/api/AiCentre/external.js                             |   17 
 src/views/tool/build/index.vue                           |    2 
 src/api/AiCentre/questionnaire.js                        |    8 
 src/views/followvisit/technology/index.vue               |  376 +
 src/views/patient/physical/index.vue                     |  230 
 src/api/login.js                                         |   49 
 src/store/modules/user.js                                |   31 
 src/settings.js                                          |    2 
 src/views/knowledge/questionbank/index.vue               |   22 
 src/api/patient/homepage.js                              |    9 
 .env.development                                         |    4 
 src/views/repositoryai/general/index.vue                 |    2 
 src/main.js                                              |    2 
 src/views/sfstatistics/percentage/index.vue              |  503 +-
 src/views/patient/patient/hospital.vue                   |  286 +
 src/views/patient/medtechnician/Compositeeditdetails.vue |   29 
 src/views/patient/patient/profile/index.vue              |  143 
 .env.production                                          |    4 
 src/views/knowledge/questionnaire/index.vue              |    7 
 src/views/shortmessage/messagebank/index.vue             |    4 
 src/api/patient/record.js                                |   10 
 src/views/patient/patient/profile/userInfo.vue           |    4 
 src/views/repositoryai/templateku/index.vue              |    2 
 src/api/AiCentre/index.js                                |    2 
 src/components/OptionalForm/index.vue                    |    7 
 src/views/followvisit/outpatient/index.vue               |  889 +++-
 dist-wl.zip                                              |    0 
 src/views/patient/patient/physical.vue                   |   34 
 src/views/sfstatistics/statement/index.vue               |    2 
 src/views/shortmessage/communication/index.vue           |    4 
 src/views/patient/patient/outpatient.vue                 |  229 +
 src/views/followvisit/satisfaction/index.vue             |   23 
 src/views/patient/propaganda/QuestionnaireTask.vue       |  463 +
 .env.staging                                             |    4 
 src/views/patient/propaganda/index.vue                   |  107 
 src/views/patient/patient/ExternalPatient.vue            |   43 
 src/views/followvisit/record/detailpage/index.vue        |  588 ++
 src/views/knowledge/questionbank/particulars/index.vue   |   13 
 src/api/knowledge/questionbank.js                        |    4 
 src/views/Intelligentcenter/centercontrol/index.vue      |    3 
 src/views/knowledge/education/compilequer/index.vue      |  268 
 src/views/outsideChainwtnew.vue                          |    2 
 src/views/followvisit/tasklist/index.vue                 |  104 
 src/views/repositoryai/verbaltrick/index.vue             |    2 
 src/api/system/user.js                                   |    7 
 src/views/patient/patient/authRole.vue                   |    4 
 src/views/complaint/complaintmy/index.vue                |    5 
 src/views/followvisit/SpecificDisease/index.vue          |  310 +
 src/views/followvisit/again/index.vue                    |  833 +++
 src/views/patient/patient/indexls.vue                    |  349 +
 src/utils/drag.js                                        |   87 
 src/views/knowledge/education/index.vue                  |    5 
 src/views/patient/questionnaire/index.vue                |   60 
 src/views/followvisit/linem/index.vue                    |   25 
 src/views/followvisit/record/index.vue                   |  434 +
 src/views/repositoryai/templateku/configurat/taskub.vue  |    2 
 /dev/null                                                |   35 
 src/views/system/user/index.vue                          |  121 
 src/api/AiCentre/indicator.js                            |   16 
 src/views/login.vue                                      |   20 
 src/views/system/user/profile/userInfo.vue               |    4 
 src/views/patient/shadow/index.vue                       |   70 
 package.json                                             |    4 
 src/api/AiCentre/EChartsdata.js                          |   53 
 src/views/repositoryai/intention/index.vue               |    2 
 src/views/repositoryai/matching/index.vue                |    1 
 src/views/patient/propaganda/particty.vue                |  341 +
 src/views/complaint/complaintlist/index.vue              |    4 
 src/views/followvisit/discharge/index.vue                |  552 +-
 src/views/patient/follow/index.vue                       |   20 
 96 files changed, 8,679 insertions(+), 3,157 deletions(-)

diff --git a/.env.development b/.env.development
index 2f7877d..ccd4405 100644
--- a/.env.development
+++ b/.env.development
@@ -1,10 +1,10 @@
 # 椤甸潰鏍囬
-VUE_APP_TITLE = 娴欎腑鍖诲ぇ浜岄櫌鏅烘収闅忚骞冲彴
+VUE_APP_TITLE = 鏅烘収闅忚骞冲彴
 
 # 寮�鍙戠幆澧冮厤缃�
 ENV = 'development'
 
-# 娴欎腑鍖诲ぇ浜岄櫌鏅烘収闅忚骞冲彴/寮�鍙戠幆澧�
+# 鏅畞浜烘皯鍖婚櫌鏅烘収闅忚骞冲彴/寮�鍙戠幆澧�
 VUE_APP_BASE_API = '/dev-api'
 
 # 璺敱鎳掑姞杞�
diff --git a/.env.production b/.env.production
index 5564ef3..c37c754 100644
--- a/.env.production
+++ b/.env.production
@@ -1,8 +1,8 @@
 # 椤甸潰鏍囬
-VUE_APP_TITLE = 娴欎腑鍖诲ぇ浜岄櫌鏅烘収闅忚骞冲彴
+VUE_APP_TITLE = 鏅烘収闅忚骞冲彴
 
 # 鐢熶骇鐜閰嶇疆
 ENV = 'production'
 
-# 娴欎腑鍖诲ぇ浜岄櫌鏅烘収闅忚骞冲彴/鐢熶骇鐜
+# 鏅畞浜烘皯鍖婚櫌鏅烘収闅忚骞冲彴/鐢熶骇鐜
 VUE_APP_BASE_API = '/prod-api'
diff --git a/.env.staging b/.env.staging
index bb69148..8ddc1c0 100644
--- a/.env.staging
+++ b/.env.staging
@@ -1,10 +1,10 @@
 # 椤甸潰鏍囬
-VUE_APP_TITLE = 娴欎腑鍖诲ぇ浜岄櫌鏅烘収闅忚骞冲彴
+VUE_APP_TITLE = 鏅烘収闅忚骞冲彴
 
 NODE_ENV = production
 
 # 娴嬭瘯鐜閰嶇疆
 ENV = 'staging'
 
-# 娴欎腑鍖诲ぇ浜岄櫌鏅烘収闅忚骞冲彴/娴嬭瘯鐜
+# 鏅畞浜烘皯鍖婚櫌鏅烘収闅忚骞冲彴/娴嬭瘯鐜
 VUE_APP_BASE_API = '/stage-api'
diff --git a/dist-wl.zip b/dist-wl.zip
new file mode 100644
index 0000000..87d732e
--- /dev/null
+++ b/dist-wl.zip
Binary files differ
diff --git a/package.json b/package.json
index afe63cb..2994555 100644
--- a/package.json
+++ b/package.json
@@ -1,7 +1,7 @@
 {
   "name": "ruoyi",
   "version": "3.8.5",
-  "description": "娴欎腑鍖诲ぇ浜岄櫌鏅烘収闅忚骞冲彴",
+  "description": "鏅畞浜烘皯鍖婚櫌鏅烘収闅忚骞冲彴",
   "author": "鏉柊",
   "license": "MIT",
   "scripts": {
@@ -41,6 +41,8 @@
     "@riophae/vue-treeselect": "0.4.0",
     "@vue/babel-plugin-jsx": "^1.1.5",
     "@vue/composition-api": "^1.0.0-rc.6",
+    "@wangeditor/editor": "^5.1.23",
+    "@wangeditor/editor-for-vue": "^1.0.2",
     "axios": "0.24.0",
     "clipboard": "2.0.8",
     "codemirror": "^5.65.13",
diff --git a/src/api/AiCentre/EChartsdata.js b/src/api/AiCentre/EChartsdata.js
new file mode 100644
index 0000000..94c3984
--- /dev/null
+++ b/src/api/AiCentre/EChartsdata.js
@@ -0,0 +1,53 @@
+import request from "@/utils/request";
+
+
+// 鏌ヨ闂ㄨ瘖鐪嬬梾浜烘鍜屼汉鏁�
+export function getEChartsPatMedOuthospCount(data) {
+  return request({
+    url: "/smartor/patouthosp/selectPatMedOuthospCount",
+    method: "post",
+    data: data,
+  });
+}
+// 鏌ヨ鍑恒�佸叆闄㈢湅鐥呬汉娆″拰浜烘暟
+export function getechartsListCountdata(data) {
+  return request({
+    url: "/smartor/patinhosp/selectPatMedInhospListCount",
+    method: "post",
+    data: data,
+  });
+}
+// 鏌ヨ鎮h�呴棬璇婅褰曞垪琛�
+export function getechartsMedOuthospList(data) {
+  return request({
+    url: "/smartor/patouthosp/selectPatMedOuthospList",
+    method: "post",
+    data: data,
+  });
+}
+// 鏌ヨ鎮h�呬綇闄㈣褰曞垪琛�
+export function getechartsMedInhospList(data) {
+  return request({
+    url: "/smartor/patinhosp/selectPatMedInhospList",
+    method: "post",
+    data: data,
+  });
+}
+
+// 鏌ヨ褰撳墠鐧婚檰浜鸿嚜宸憋紙鐥呭尯銆侀儴闂級鐨勬偅鑰呬綇闄㈣褰曞垪琛�
+export function getechartsandData(data) {
+  return request({
+    url: "/smartor/patinhosp/selectPatMedInhospListByCondition",
+    method: "post",
+    data: data,
+  });
+}
+
+// 鍚勭瀹ゆ湇鍔′汉娆�
+export function getDeptRanking(data) {
+  return request({
+    url: "/smartor/patinhosp/getDeptRanking",
+    method: "post",
+    data: data,
+  });
+}
diff --git a/src/api/AiCentre/Homeimage.js b/src/api/AiCentre/Homeimage.js
deleted file mode 100644
index 53286d8..0000000
--- a/src/api/AiCentre/Homeimage.js
+++ /dev/null
@@ -1,35 +0,0 @@
-import request from "@/utils/request";
-
-// 闂ㄨ瘖鍩虹鏁版嵁
-export function getoutpatientamount(data) {
-  return request({
-    url: "/smartor/patouthosp/selectPatMedOuthospCount",
-    method: "post",
-    data: data,
-  });
-}
-// 鍦ㄩ櫌/鍑洪櫌鍩虹鏁版嵁
-export function getInhospital(data) {
-  return request({
-    url: "/smartor/patinhosp/selectPatMedInhospListCount",
-    method: "post",
-    data: data,
-  });
-}
-// 涓儴鏁版嵁鎹�
-export function getBarchart(data) {
-  return request({
-    url: "/smartor/serviceSubtask/getSfFzInfoEveryMonth",
-    method: "post",
-    data: data,
-  });
-}
-
-// 鎷垮彇涓儴鏁版嵁澶у浘
-export function getMissiondata(Id) {
-  return request({
-    url: "/smartor/serviceSubtask/getSfFzInfoEveryMonth",
-    ethod: "post",
-    data: data,
-  });
-}
diff --git a/src/api/AiCentre/Qtemplate.js b/src/api/AiCentre/Qtemplate.js
index 87743e1..5853929 100644
--- a/src/api/AiCentre/Qtemplate.js
+++ b/src/api/AiCentre/Qtemplate.js
@@ -26,109 +26,108 @@
 }
 // 鍒犻櫎闂嵎妯℃澘
 export function delQtemplateinfo(Id) {
-    return request({
-      url: "/smartor/svyLibTemplate/remove/" + Id,
-      method: "get",
-    });
-  }
+  return request({
+    url: "/smartor/svyLibTemplate/remove/" + Id,
+    method: "get",
+  });
+}
 // 鏂板鎴栦慨鏀归棶鍗锋ā鏉胯鎯�
 export function compileQtemplate(data) {
-    return request({
-      url: "/smartor/svyLibTemplate/saveOrUpdateTemplate",
-      method: "post",
-      data: data,
-    });
-  }
+  return request({
+    url: "/smartor/svyLibTemplate/saveOrUpdateTemplate",
+    method: "post",
+    data: data,
+  });
+}
 
-
-  // 鏂板闂嵎妯℃澘鍒嗙被
-  export function addQtemplateclassify(data) {
-    return request({
-      url: "/smartor/svyLibTemplateCategory/addtree",
-      method: "post",
-      data: data,
-    });
-  }
-    // 鏂板闂嵎妯℃澘鍒嗙被
-    export function editQtemplateclassify(data) {
-      return request({
-        url: "/smartor/svyLibTemplateCategory/edit",
-        method: "post",
-        data: data,
-      });
-    }
-  // 鍒犻櫎闂嵎妯℃澘鍒嗙被
+// 鏂板闂嵎妯℃澘鍒嗙被
+export function addQtemplateclassify(data) {
+  return request({
+    url: "/smartor/svyLibTemplateCategory/addtree",
+    method: "post",
+    data: data,
+  });
+}
+// 鏂板闂嵎妯℃澘鍒嗙被
+export function editQtemplateclassify(data) {
+  return request({
+    url: "/smartor/svyLibTemplateCategory/edit",
+    method: "post",
+    data: data,
+  });
+}
+// 鍒犻櫎闂嵎妯℃澘鍒嗙被
 export function delQtemplateclassify(Id) {
   return request({
     url: "/smartor/svyLibTemplateCategory/remove/" + Id,
     method: "get",
   });
 }
-  // 鏌ヨ闂嵎妯℃澘鍒嗙被鏍�
-  export function getQtemplateclassify(data) {
-    return request({
-      url: "/smartor/svyLibTemplateCategory/list",
-      method: "post",
-      data: data,
-    });
-  }
-  // 鏌ヨ闂嵎妯℃澘鍒嗙被鏍�
-  export function getQRcode(data) {
-    return request({
-      url: "/qrcode/getQRcode",
-      method: "post",
-      data: data,
-    });
-  }
-    // 鏂板淇敼闂嵎浠诲姟
-    export function Questionnairetaskdetails(data) {
-      return request({
-        url: "/smartor/svysingle/insertOrUpdateSvyTask",
-        method: "post",
-        data: data,
-      });
-    }
-    // 鏌ヨ闂嵎浠诲姟鍒楄〃
-    export function Questionnairetasklist(data) {
-      return request({
-        url: "/smartor/svytask/list",
-        method: "post",
-        data: data,
-      });
-    }
-     // 鍙戣捣闂嵎浠诲姟
-     export function Questionnairetasksponsor(data) {
-      return request({
-        url: "/smartor/svytask/list",
-        method: "post",
-        data: data,
-      });
-    }
-    // 鏌ヨ闂嵎浠诲姟璇︽儏
-    export function Questionnairetaskget(data) {
-      return request({
-        url: "/smartor/svysingle/queryTaskByCondition",
-        method: "post",
-        data: data,
-      });
-    }
-      // 鏌ヨ闂嵎浠诲姟璇︽儏
-      export function Questionnairetaskgetson(data) {
-        return request({
-          url: "/smartor/serviceSubtask/queryTaskByCondition",
-          method: "post",
-          data: data,
-        });
-      }
-    // 闂嵎浠诲姟妯℃澘鏂板淇敼
-   export function TaskQuestioncomit(data) {
-    return request({
-      url: "/smartor/svytemplateTask/saveOrUpdateTaskTemp",
-      method: "post",
-      data: data,
-    });
-  }
-    // 鍒犻櫎浠诲姟妯℃澘
+// 鏌ヨ闂嵎妯℃澘鍒嗙被鏍�
+export function getQtemplateclassify(data) {
+  return request({
+    url: "/smartor/svyLibTemplateCategory/list",
+    method: "post",
+    data: data,
+  });
+}
+// 鏌ヨ闂嵎妯℃澘鍒嗙被鏍�
+export function getQRcode(data) {
+  return request({
+    url: "/qrcode/getQRcode",
+    method: "post",
+    data: data,
+  });
+}
+// 鏂板淇敼闂嵎浠诲姟
+export function Questionnairetaskdetails(data) {
+  return request({
+    url: "/smartor/svysingle/insertOrUpdateSvyTask",
+    method: "post",
+    data: data,
+  });
+}
+// 鏌ヨ闂嵎浠诲姟鍒楄〃
+export function Questionnairetasklist(data) {
+  return request({
+    url: "/smartor/svytask/list",
+    method: "post",
+    data: data,
+  });
+}
+// 鍙戣捣闂嵎浠诲姟
+export function Questionnairetasksponsor(data) {
+  return request({
+    url: "/smartor/svytask/list",
+    method: "post",
+    data: data,
+  });
+}
+// 鏌ヨ闂嵎浠诲姟璇︽儏
+export function Questionnairetaskget(data) {
+  return request({
+    url: "/smartor/svysingle/queryTaskByCondition",
+    method: "post",
+    data: data,
+  });
+}
+// 鏌ヨ闂嵎浠诲姟璇︽儏
+export function Questionnairetaskgetson(data) {
+  return request({
+    url: "/smartor/serviceSubtask/queryTaskByCondition",
+    method: "post",
+    data: data,
+  });
+}
+// 闂嵎浠诲姟妯℃澘鏂板淇敼
+export function TaskQuestioncomit(data) {
+  return request({
+    url: "/smartor/svytemplateTask/saveOrUpdateTaskTemp",
+    method: "post",
+    data: data,
+  });
+}
+// 鍒犻櫎浠诲姟妯℃澘
 export function deleteTaskQuestioncomit(svyid) {
   return request({
     url: "/smartor/svytemplateTask/remove/" + svyid,
@@ -136,52 +135,81 @@
   });
 }
 
-    export function getTaskQuestioncomit(svyid) {
-      return request({
-        url: "/smartor/svytemplateTask/" + svyid,
-        method: "get",
-      });
-    }
- //绉戝鐥呭尯妯℃澘鍏宠仈鏂板
- export function depthospgetson(data) {
+export function getTaskQuestioncomit(svyid) {
+  return request({
+    url: "/smartor/svytemplateTask/" + svyid,
+    method: "get",
+  });
+}
+//绉戝鐥呭尯妯℃澘鍏宠仈鏂板
+export function depthospgetson(data) {
   return request({
     url: "/smartor/td/add",
     method: "post",
     data: data,
   });
 }
- //绉戝鐥呭尯妯℃澘鍏宠仈鏌ヨ
- export function depthospgetsonlist(data) {
+//绉戝鐥呭尯妯℃澘鍏宠仈鏌ヨ
+export function depthospgetsonlist(data) {
   return request({
     url: "/smartor/td/list",
     method: "get",
     params: data,
   });
 }
- //浠诲姟绉戝鐥呭尯妯℃澘鍏宠仈鏌ヨ
- export function taskdepthospgetsonlist(data) {
+//浠诲姟绉戝鐥呭尯妯℃澘鍏宠仈鏌ヨ
+export function taskdepthospgetsonlist(data) {
   return request({
     url: "/smartor/taskdept/list",
     method: "post",
     data: data,
   });
 }
-    // 鍒犻櫎绉戝鐥呭尯妯℃澘鍒嗙被
-    export function depthospgetsondel(id) {
-      return request({
-        url: "/smartor/td/remove/" + id,
-        method: "get",
-      });
-    }
-    // 鍒犻櫎浠诲姟绉戝鍏宠仈
-    export function taskdepthospgetsondel(id) {
-      return request({
-        url: "/smartor/taskdept/remove/" + id,
-        method: "get",
-      });
-    }
+// 鍒犻櫎绉戝鐥呭尯妯℃澘鍒嗙被
+export function depthospgetsondel(id) {
+  return request({
+    url: "/smartor/td/remove/" + id,
+    method: "get",
+  });
+}
+// 鍒犻櫎浠诲姟绉戝鍏宠仈
+export function taskdepthospgetsondel(id) {
+  return request({
+    url: "/smartor/taskdept/remove/" + id,
+    method: "get",
+  });
+}
+// 鍒犻櫎浠诲姟鐤剧梾鍏宠仈
+export function taskdiaghospgetsondel(id) {
+  return request({
+    url: `/smartor/taskdiag/remove/${id}`,
+    method: "get",
+  });
+}
+// 鍒犻櫎浠诲姟鎵嬫湳鍏宠仈
+export function taskoperhospgetsondel(id) {
+  return request({
+    url: `/smartor/taskoper/remove/${id}`,
+    method: "get",
+  });
+}
+// 鑾峰彇浠诲姟鐤剧梾鍏宠仈
+export function taskdiaggetlist(data) {
+  return request({
+    url: "/smartor/taskdiag/list",
+    method: "post",
+    data: data,
+  });
+}
+// 鑾峰彇浠诲姟鎵嬫湳鍏宠仈
+export function taskopergetlist(data) {
+  return request({
+    url: "/smartor/taskoper/list",
+    method: "post",
+    data: data,
+  });
+}
 // 鍖绘姢淇濆瓨鏁版嵁
-
 export function serviceSubtaskDetailedit(data) {
   return request({
     url: "/smartor/serviceSubtaskDetail/editByCondition",
diff --git a/src/api/AiCentre/external.js b/src/api/AiCentre/external.js
index af803b7..cba2ebd 100644
--- a/src/api/AiCentre/external.js
+++ b/src/api/AiCentre/external.js
@@ -84,3 +84,20 @@
     data: data
   });
 }
+// 鑾峰彇360绯荤粺token
+export function gitzerotoken(data) {
+  return request({
+    url: "https://9.0.124.104:13021/mediinfo-lyra-authserver/connect/token",
+    method: "post",
+    data: data
+  });
+}
+// 鏂板鏈嶅姟
+export function addserviceSubtask(data) {
+  return request({
+    url: "/smartor/serviceSubtask/addSubTaskAgain",
+    method: "post",
+    data: data
+  });
+}
+
diff --git a/src/api/AiCentre/index.js b/src/api/AiCentre/index.js
index 1265370..7db4067 100644
--- a/src/api/AiCentre/index.js
+++ b/src/api/AiCentre/index.js
@@ -7,5 +7,5 @@
 export * from './questionnaire'
 export * from './SingleTask'
 export * from './external'
-export * from './Homeimage'
 export * from './patientexternal'
+export * from './EChartsdata'
diff --git a/src/api/AiCentre/indicator.js b/src/api/AiCentre/indicator.js
index 476dbe2..941b087 100644
--- a/src/api/AiCentre/indicator.js
+++ b/src/api/AiCentre/indicator.js
@@ -47,6 +47,14 @@
     data: data,
   });
 }
+// 鎸囨爣缁熻
+export function Labelstatistics(Id) {
+   return request({
+    url: "/smartor/serviceSubtaskDetail/countPatByTarget/" + Id,
+    method: "get",
+   });
+   }
+
 // 鍒犻櫎鎸囨爣
 export function deletetarget(userId) {
   return request({
@@ -69,6 +77,14 @@
     method: "get",
   });
 }
+// 鏌ヨ鎵嬫湳
+export function getbaseopera(data) {
+  return request({
+    url: "/smartor/baseopera/list",
+    method: "post",
+    data: data,
+  });
+}
 // 鏌ヨ鎸囨爣鐤剧梾
 export function getillness(data) {
   return request({
diff --git a/src/api/AiCentre/questionnaire.js b/src/api/AiCentre/questionnaire.js
index 01520b7..63efa1b 100644
--- a/src/api/AiCentre/questionnaire.js
+++ b/src/api/AiCentre/questionnaire.js
@@ -63,3 +63,11 @@
       data: data,
     });
   }
+   // 鏌ヨ闂嵎闂鍒嗙被鏍�
+   export function query360PatInfo(data) {
+    return request({
+      url: "/smartor/serviceExternal/query360PatInfo",
+      method: "post",
+      data: data,
+    });
+  }
diff --git a/src/api/knowledge/questionbank.js b/src/api/knowledge/questionbank.js
index 66c03f7..7849081 100644
--- a/src/api/knowledge/questionbank.js
+++ b/src/api/knowledge/questionbank.js
@@ -1,11 +1,11 @@
 import request from '@/utils/request'
 import { parseStrEmpty } from "@/utils/ruoyi";//澶勭悊瀛楃涓�,und,null杞崲涓�'';
 
-// 鏌ヨ棰樺簱鍒楄〃
+//
 export function listpatient(query) {
   return request({
     url: '/smartor/patarchive/list',
     method: 'get',
     params: query
   })
-};
\ No newline at end of file
+};
diff --git a/src/api/login.js b/src/api/login.js
index 4d3977e..9c838af 100644
--- a/src/api/login.js
+++ b/src/api/login.js
@@ -1,60 +1,59 @@
-import request from '@/utils/request'
+import request from "@/utils/request";
 
 // 鐧诲綍鏂规硶
-export function login(username, password, code, uuid,orgid) {
+export function login(username, password, code, orgid) {
   const data = {
     username,
     password,
     code,
-    uuid,
     orgid,
-  }
+  };
   return request({
-    url: '/login',
+    url: "/login",
     headers: {
-      isToken: false
+      isToken: false,
     },
-    method: 'post',
-    data: data
-  })
+    method: "post",
+    data: data,
+  });
 }
 
 // 娉ㄥ唽鏂规硶
 export function register(data) {
   return request({
-    url: '/register',
+    url: "/register",
     headers: {
-      isToken: false
+      isToken: false,
     },
-    method: 'post',
-    data: data
-  })
+    method: "post",
+    data: data,
+  });
 }
 
 // 鑾峰彇鐢ㄦ埛璇︾粏淇℃伅
 export function getInfo() {
   return request({
-    url: '/getInfo',
-    method: 'get'
-  })
+    url: "/getInfo",
+    method: "get",
+  });
 }
 
 // 閫�鍑烘柟娉�
 export function logout() {
   return request({
-    url: '/logout',
-    method: 'post'
-  })
+    url: "/logout",
+    method: "post",
+  });
 }
 
 // 鑾峰彇楠岃瘉鐮�
 export function getCodeImg() {
   return request({
-    url: '/captchaImage',
+    url: "/captchaImage",
     headers: {
-      isToken: false
+      isToken: false,
     },
-    method: 'get',
-    timeout: 20000
-  })
+    method: "get",
+    timeout: 20000,
+  });
 }
diff --git a/src/api/patient/homepage.js b/src/api/patient/homepage.js
index 19cb4a3..975a446 100644
--- a/src/api/patient/homepage.js
+++ b/src/api/patient/homepage.js
@@ -17,6 +17,14 @@
     data: data
   })
 };
+// 鐢ㄦ埛淇℃伅鏌ヨ鎮h�呭垪琛�
+export function patarchivelist(data) {
+  return request({
+    url: '/smartor/patarchive/list',
+    method: 'post',
+    data: data
+  })
+};
 
 // 淇敼鎮h�呮。妗�
 export function alterpatient(data) {
@@ -80,6 +88,7 @@
     data: data
   })
 };
+
 // 鐥呭彶鍒楄〃
 export function getmedicalhistory(data) {
   return request({
diff --git a/src/api/patient/record.js b/src/api/patient/record.js
index f4a9611..522b134 100644
--- a/src/api/patient/record.js
+++ b/src/api/patient/record.js
@@ -30,4 +30,12 @@
       url: '/smartor/patinhosp/remove/' + userId,
       method: 'get',
     })
-  };
\ No newline at end of file
+  };
+  // 鏌ヨ浣忛櫌璁板綍鍒楄〃
+export function listoperation(data) {
+  return request({
+    url: '/smartor/operation/list ',
+    method: 'post',
+    data: data
+  })
+};
diff --git a/src/api/system/user.js b/src/api/system/user.js
index a2f1756..f7abb88 100644
--- a/src/api/system/user.js
+++ b/src/api/system/user.js
@@ -142,10 +142,15 @@
 }
 
 // 鏌ヨ閮ㄩ棬涓嬫媺鏍戠粨鏋�
-export function deptTreeSelect() {
+export function deptTreeSelect(type) {
+  const data = {
+    deptType:type,
+    orgid:localStorage.getItem("orgid"),
+  };
   return request({
     url: "/system/user/deptTree",
     method: "get",
+    params: data,
   });
 }
 // 鏂板绉戝/鐥呭尯
diff --git a/src/assets/styles/global.css b/src/assets/styles/global.css
new file mode 100644
index 0000000..61f9bf1
--- /dev/null
+++ b/src/assets/styles/global.css
@@ -0,0 +1,64 @@
+/* 瀹氫箟娣¤摑鑹蹭富鑹茶皟 */
+:root {
+  --editor-primary-color: #007bff; /* 涓昏壊璋� */
+  --editor-background-color: #f8f9fa; /* 鑳屾櫙棰滆壊 */
+  --editor-border-color: #dee2e6; /* 杈规棰滆壊 */
+  --editor-text-color: #343a40; /* 鏂囧瓧棰滆壊 */
+}
+
+/* 瑕嗙洊缂栬緫鍣ㄧ殑榛樿鏍峰紡 */
+.w-e-toolbar {
+  background-color: var(--editor-background-color);
+  border-bottom: 1px solid var(--editor-border-color);
+  color: var(--editor-text-color);
+}
+
+.w-e-toolbar .w-e-menu {
+  background-color: transparent;
+  color: var(--editor-text-color);
+}
+
+.w-e-toolbar .w-e-menu:hover {
+  background-color: var(--editor-primary-color);
+  color: white;
+}
+
+.w-e-toolbar .w-e-menu.w-e-active {
+  background-color: var(--editor-primary-color);
+  color: white;
+}
+
+.w-e-toolbar .w-e-menu .w-e-icon {
+  fill: var(--editor-text-color);
+}
+
+.w-e-toolbar .w-e-menu:hover .w-e-icon {
+  fill: white;
+}
+
+.w-e-toolbar .w-e-menu.w-e-active .w-e-icon {
+  fill: white;
+}
+
+.w-e-text-container {
+  background-color: white;
+  border: 1px solid var(--editor-border-color);
+  color: var(--editor-text-color);
+}
+
+.w-e-text-container .w-e-text {
+  color: var(--editor-text-color);
+}
+
+.w-e-text-container .w-e-text img {
+  border: 1px solid var(--editor-border-color);
+}
+
+.w-e-text-container .w-e-text a {
+  color: var(--editor-primary-color);
+  text-decoration: underline;
+}
+
+.w-e-text-container .w-e-text a:hover {
+  color: #0056b3;
+}
diff --git a/src/components/OptionalForm/index.vue b/src/components/OptionalForm/index.vue
index c00251a..62bb525 100644
--- a/src/components/OptionalForm/index.vue
+++ b/src/components/OptionalForm/index.vue
@@ -199,7 +199,6 @@
       getillnesslist(this.patientqueryParams).then((res) => {
         this.donorchargeList = res.rows;
         this.patienttotal = res.total;
-        console.log(this.$refs.multipleTable, "22");
         this.Restorecheck();
       });
     },
@@ -210,8 +209,6 @@
       if (this.multipleSelection.length <= selection.length) {
         this.multipleSelection = selection;
       } else {
-        console.log(selection, "selection");
-        console.log(this.multipleSelection, "this.multipleSelection");
         this.multipleSelection.forEach((item) => {
           if (selection.includes(item)) {
           } else {
@@ -232,11 +229,7 @@
         });
       }
       // 璧嬪�肩粰鏁翠綋閫変腑鏁扮粍
-      console.log(this.overallCase);
       this.multipleSelection.forEach((item) => {
-        console.log(
-          this.overallCase.every((obj) => obj.icdname != item.icdname)
-        );
 
         if (this.overallCase.every((obj) => obj.icdname != item.icdname)) {
           this.overallCase.push(item);
diff --git a/src/components/WangEditor/index.vue b/src/components/WangEditor/index.vue
new file mode 100644
index 0000000..f4b9aa5
--- /dev/null
+++ b/src/components/WangEditor/index.vue
@@ -0,0 +1,57 @@
+<template>
+  <div>
+    <div ref="editor" style="text-align: left;"></div>
+  </div>
+</template>
+
+<script>
+import E from 'wangeditor';
+
+export default {
+  name: 'WangEditor',
+  data() {
+    return {
+      editor: null, // WangEditor 瀹炰緥
+    };
+  },
+  props: {
+    content: {
+      type: String,
+      default: ''
+    }
+  },
+  watch: {
+    // 褰撶埗缁勪欢浼犲叆鐨� content 鍙樺寲鏃讹紝鏇存柊缂栬緫鍣ㄥ唴瀹�
+    content(newContent) {
+      if (this.editor && newContent !== this.editor.txt.html()) {
+        this.editor.txt.html(newContent);
+      }
+    }
+  },
+  mounted() {
+    // 鍒濆鍖� WangEditor
+    this.editor = new E(this.$refs.editor);
+    this.editor.config.onchange = () => {
+      // 缂栬緫鍣ㄥ唴瀹瑰彉鍖栨椂锛岃Е鍙� input 浜嬩欢浼犻�掔粰鐖剁粍浠�
+      this.$emit('input', this.editor.txt.html());
+    };
+    // 閰嶇疆鑿滃崟鍜屽叾浠栬缃�
+    this.editor.config.menus = [
+      'head', 'bold', 'italic', 'underline', 'image', 'link', 'list', 'undo', 'redo'
+    ];
+    this.editor.config.zIndex = 1000;
+    // 鍒涘缓缂栬緫鍣�
+    this.editor.create();
+    // 璁剧疆鍒濆鍐呭
+    if (this.content) {
+      this.editor.txt.html(this.content);
+    }
+  },
+  beforeDestroy() {
+    // 閿�姣佺紪杈戝櫒瀹炰緥锛岄噴鏀捐祫婧�
+    if (this.editor) {
+      this.editor.destroy();
+    }
+  }
+};
+</script>
diff --git a/src/layout/components/Sidebar/Logo.vue b/src/layout/components/Sidebar/Logo.vue
index c8834c8..29aaa1b 100644
--- a/src/layout/components/Sidebar/Logo.vue
+++ b/src/layout/components/Sidebar/Logo.vue
@@ -31,7 +31,7 @@
         </h1>
       </router-link>
       <router-link v-else key="expand" class="sidebar-logo-link" to="/">
-        <img v-if="logo" :src="logo" class="sidebar-logo" />
+        <!-- <img v-if="logo" :src="logo" class="sidebar-logo" /> -->
         <h1
           class="sidebar-title"
           :style="{
@@ -70,7 +70,7 @@
   },
   data() {
     return {
-      title: "娴欎腑鍖诲ぇ浜岄櫌鏅烘収闅忚骞冲彴",
+      title: "鏅烘収闅忚绯荤粺",
       logo: logoImg,
     };
   },
diff --git a/src/main.js b/src/main.js
index 5549b74..e523ac8 100644
--- a/src/main.js
+++ b/src/main.js
@@ -77,6 +77,8 @@
 import components from "./components";
 // 璇煶缁勪欢
 import VueAudio from 'vue-audio-better'
+// 寮规鎷栧姩
+import '@/utils/drag.js';
 // 娉ㄥ唽杩囨护鍣�
 // 鑷畾涔夋寚浠�
 import * as directives from "./directives";
diff --git a/src/settings.js b/src/settings.js
index 6a0b09f..dc97600 100644
--- a/src/settings.js
+++ b/src/settings.js
@@ -27,7 +27,7 @@
   /**
    * 鏄惁鏄剧ずlogo
    */
-  sidebarLogo: true,
+  sidebarLogo: false,
 
   /**
    * 鏄惁鏄剧ず鍔ㄦ�佹爣棰�
diff --git a/src/store/getters.js b/src/store/getters.js
index 0c052cf..d5078b3 100644
--- a/src/store/getters.js
+++ b/src/store/getters.js
@@ -14,6 +14,7 @@
   permissions: (state) => state.user.permissions,
   belongWards: (state) => state.user.belongWards,
   belongDepts: (state) => state.user.belongDepts,
+  hisUserId: (state) => state.user.hisUserId,
   permission_routes: (state) => state.permission.routes,
   topbarRouters: (state) => state.permission.topbarRouters,
   defaultRoutes: (state) => state.permission.defaultRoutes,
@@ -123,7 +124,7 @@
     },
     {
       value: "2",
-      label: "寰呮墽琛�",
+      label: "寰呴殢璁�",
       raw: {
         cssClass: "",
         listClass: "",
diff --git a/src/store/modules/user.js b/src/store/modules/user.js
index 6bdcc72..524f4de 100644
--- a/src/store/modules/user.js
+++ b/src/store/modules/user.js
@@ -7,6 +7,7 @@
     name: '',
     Id: '',
     avatar: '',
+    hisUserId:'',
     belongWards:[],
     belongDepts:[],
     roles: [],
@@ -24,7 +25,7 @@
     },
     {
       value: "2",
-      label: "鐩戞祴璇勪及",
+      label: "蹇冪數闅忚",
       route: "followvisit/QuestionnaireTask",
       raw: {
         cssClass: "",
@@ -33,7 +34,7 @@
     },
     {
       value: "3",
-      label: "澶嶈瘖绠$悊",
+      label: "浣撴闅忚",
       route: "followvisit/particty",
       raw: {
         cssClass: "",
@@ -106,6 +107,9 @@
     SET_leavehospitaldistrictcodes: (state, belongWards) => {
       state.belongWards = belongWards
     },
+    SET_hisUserId: (state, hisUserId) => {
+      state.hisUserId = hisUserId
+    },
     SET_leaveldeptcodes: (state, belongDepts) => {
       state.belongDepts = belongDepts
     }
@@ -119,13 +123,30 @@
       const username = userInfo.username.trim()
       const password = userInfo.password
       const code = userInfo.code
-      const uuid = userInfo.uuid
+
       const orgid = userInfo.orgid
       return new Promise((resolve, reject) => {
-        login(username, password, code, uuid,orgid).then(res => {
+        login(username, password, code, orgid).then(res => {
           setToken(res.token)
           commit('SET_TOKEN', res.token)
           localStorage.setItem('orgid', orgid);
+          if (orgid=='47255004333112711A1001') {
+          localStorage.setItem('orgname', '鏅畞鐣叉棌鑷不鍘夸汉姘戝尰闄�');
+          localStorage.setItem('ZuHuID', '1400361376454545408');
+          localStorage.setItem('deptCode', '1017');
+          }else if (orgid=='47231022633110211A2101') {
+          localStorage.setItem('orgname', '涓芥按甯備腑鍖婚櫌');
+          localStorage.setItem('ZuHuID', '1400360867068907520');
+          localStorage.setItem('deptCode', '01040201');
+          }else if (orgid=='47246102433112211A2101') {
+          localStorage.setItem('orgname', '缂欎簯鍘夸腑鍖诲尰闄�');
+          localStorage.setItem('ZuHuID', '1400360867068907520');
+          localStorage.setItem('deptCode', '');
+          }else if (orgid=='47240018433118111A2101') {
+          localStorage.setItem('orgname', '榫欐硥甯備腑鍖诲尰闄�');
+          localStorage.setItem('ZuHuID', '1400360867068907520');
+          localStorage.setItem('deptCode', '');
+          }
           resolve()
         }).catch(error => {
           reject(error)
@@ -147,8 +168,8 @@
             commit('SET_ROLES', ['ROLE_DEFAULT'])
           }
           commit('SET_NAME', user.userName)
-          console.log(user.userId,'user1');
           commit('SET_Id', user.userId)
+          commit('SET_hisUserId', user.hisUserId)
           commit('SET_leavehospitaldistrictcodes', user.belongWards)
           commit('SET_leaveldeptcodes', user.belongDepts)
           commit('SET_AVATAR', avatar)
diff --git a/src/utils/drag.js b/src/utils/drag.js
new file mode 100644
index 0000000..d9f10ac
--- /dev/null
+++ b/src/utils/drag.js
@@ -0,0 +1,87 @@
+import Vue from 'vue';
+
+/*
+
+*  浣跨敤鏂规硶锛�
+
+*  灏嗕互涓嬩唬鐮佸鍒跺埌涓�涓猨s鏂囦欢涓紝鐒跺悗鍦ㄥ叆鍙f枃浠秏ain.js涓璱mport寮曞叆鍗冲彲锛�
+
+*  缁檈lementUI鐨刣ialog涓婂姞涓� v-dialogDrags
+
+*  缁檇ialog璁剧疆 :close-on-click-modal="false" , 绂佹鐐瑰嚮閬僵灞傚叧闂脊鍑哄眰
+
+*/
+
+// 鍏煎ie,璋锋瓕
+// v-dialogDrags: 寮圭獥鎷栨嫿灞炴�� 锛堥噸鐐癸紒锛侊紒 缁欐ā鎬佹娣诲姞杩欎釜灞炴�фā鎬佹灏辫兘鎷栨嫿浜嗭級
+Vue.directive('dialogDrags', { // 灞炴�у悕绉癲ialogDrags锛屽墠闈㈠姞v- 浣跨敤
+    bind(el, binding, vnode, oldVnode) {
+        const dialogHeaderEl = el.querySelector('.el-dialog__header');
+        const dragDom = el.querySelector('.el-dialog');
+        dialogHeaderEl.style.cssText += ';cursor:move;';
+
+        // 鑾峰彇鍘熸湁灞炴�� ie dom鍏冪礌.currentStyle 鐏嫄璋锋瓕 window.getComputedStyle(dom鍏冪礌, null);
+        const sty = (function () {
+            if (window.document.currentStyle) {
+                return (dom, attr) => dom.currentStyle[attr];
+            } else {
+                return (dom, attr) => getComputedStyle(dom, false)[attr];
+            }
+        })();
+
+        dialogHeaderEl.onmousedown = (e) => {
+            // 榧犳爣鎸変笅锛岃绠楀綋鍓嶅厓绱犺窛绂诲彲瑙嗗尯鐨勮窛绂�
+            const disX = e.clientX - dialogHeaderEl.offsetLeft;
+            const disY = e.clientY - dialogHeaderEl.offsetTop;
+
+            const screenWidth = document.body.clientWidth; // body褰撳墠瀹藉害
+            const screenHeight = document.documentElement.clientHeight; // 鍙鍖哄煙楂樺害(搴斾负body楂樺害锛屽彲鏌愪簺鐜涓嬫棤娉曡幏鍙�)
+
+            const dragDomWidth = dragDom.offsetWidth; // 瀵硅瘽妗嗗搴�
+            const dragDomheight = dragDom.offsetHeight; // 瀵硅瘽妗嗛珮搴�
+
+            // 鑾峰彇鍒扮殑鍊煎甫px 姝e垯鍖归厤鏇挎崲
+            let styL = sty(dragDom, 'left');
+            let styT = sty(dragDom, 'top');
+
+            // 娉ㄦ剰鍦╥e涓� 绗竴娆¤幏鍙栧埌鐨勫�间负缁勪欢鑷甫50% 绉诲姩涔嬪悗璧嬪�间负px
+            if (styL.includes('%')) {
+                styL = +document.body.clientWidth * (+styL.replace(/\%/g, '') / 100);
+                styT = +document.body.clientHeight * (+styT.replace(/\%/g, '') / 100);
+            } else {
+                styL = +styL.replace(/\px/g, '');
+                styT = +styT.replace(/\px/g, '');
+            };
+
+            document.onmousemove = function (e) {
+                // 閫氳繃浜嬩欢濮旀墭锛岃绠楃Щ鍔ㄧ殑璺濈
+                let left = e.clientX - disX + styL;
+                let top = e.clientY - disY + styT;
+
+                // // 杈圭晫澶勭悊
+                // if (left < 0) {
+                //     left = 0;
+                // }
+
+                // if (left > screenWidth - dragDomWidth) {
+                //     left = screenWidth - dragDomWidth;
+                // }
+
+                // if (top < 0) {
+                //     top = 0;
+                // }
+                // if (top > screenHeight - dragDomheight) {
+                //     top = screenHeight - dragDomheight;
+                // }
+
+                // 绉诲姩褰撳墠鍏冪礌
+                dragDom.style.cssText += `;left:${left}px;top:${top}px;`;
+            };
+
+            document.onmouseup = function (e) {
+                document.onmousemove = null;
+                document.onmouseup = null;
+            };
+        };
+    }
+});
diff --git a/src/views/Intelligentcenter/centercontrol/index.vue b/src/views/Intelligentcenter/centercontrol/index.vue
index 0ec428e..baca6b5 100644
--- a/src/views/Intelligentcenter/centercontrol/index.vue
+++ b/src/views/Intelligentcenter/centercontrol/index.vue
@@ -95,7 +95,8 @@
                   ><el-table :data="tableData" style="width: 100%">
                     <el-table-column prop="date" label="鏃ユ湡" width="180">
                     </el-table-column>
-                    <el-table-column prop="name" label="濮撳悕" width="180">
+                    <el-table-column prop="name" label="濮撳悕"
+          width="100" >
                     </el-table-column>
                     <el-table-column prop="address" label="鍦板潃">
                     </el-table-column> </el-table
diff --git a/src/views/complaint/complaintlist/index.vue b/src/views/complaint/complaintlist/index.vue
index 51c79d3..fd0143e 100644
--- a/src/views/complaint/complaintlist/index.vue
+++ b/src/views/complaint/complaintlist/index.vue
@@ -152,6 +152,7 @@
             align="center"
             key="userName"
             prop="userName"
+            width="100"
             :show-overflow-tooltip="true"
           />
           <el-table-column
@@ -159,9 +160,10 @@
             align="center"
             key="types"
             prop="types"
+            width="100"
           />
           <el-table-column
-            label="鎬у埆"
+            label="鎬у埆"width="100"
             align="center"
             key="nickName"
             prop="nickName"
diff --git a/src/views/complaint/complaintmy/index.vue b/src/views/complaint/complaintmy/index.vue
index 1bffc24..be34f6a 100644
--- a/src/views/complaint/complaintmy/index.vue
+++ b/src/views/complaint/complaintmy/index.vue
@@ -124,6 +124,7 @@
             sortable
             key="userName"
             prop="userName"
+             width="100"
             :show-overflow-tooltip="true"
           />
           <el-table-column
@@ -133,7 +134,7 @@
             prop="types"
           />
           <el-table-column
-            label="鎬у埆"
+            label="鎬у埆"width="100"
             align="center"
             key="nickName"
             prop="nickName"
@@ -217,7 +218,7 @@
               <el-input v-model="form.name"></el-input> </el-form-item
           ></el-col>
           <el-col :span="12"
-            ><el-form-item label="鎬у埆">
+            ><el-form-item label="鎬у埆"width="100">
               <el-radio v-model="form.radio" label="1">鐢�</el-radio>
               <el-radio v-model="form.radio" label="2">濂�</el-radio>
               <el-radio v-model="form.radio" label="3">鏈煡</el-radio>
diff --git a/src/views/patient/ycquestionnaire/index.vue b/src/views/followvisit/SpecificDisease/index.vue
similarity index 80%
copy from src/views/patient/ycquestionnaire/index.vue
copy to src/views/followvisit/SpecificDisease/index.vue
index 67c3af9..feb2e2b 100644
--- a/src/views/patient/ycquestionnaire/index.vue
+++ b/src/views/followvisit/SpecificDisease/index.vue
@@ -17,7 +17,7 @@
                   font-weight: 600;
                 "
               >
-                {{ item.value }}
+              {{ item.value ? item.value : 0 }}
               </div>
             </div>
           </el-card>
@@ -26,7 +26,7 @@
           <div class="ysfleftvlue">
             <el-card shadow="hover">
               <div style="padding: 8px">
-                <span>琛ㄥ崟宸插彂閫�</span>
+                <span>宸插彂閫佹湭棰嗗彇</span>
                 <div
                   style="
                     text-align: center;
@@ -154,7 +154,6 @@
                 icon="el-icon-upload2"
                 size="medium"
                 @click="handleExport"
-                v-hasPermi="['system:user:export']"
                 >瀵煎嚭</el-button
               >
             </div>
@@ -192,7 +191,7 @@
       <el-table
         v-loading="loading"
         :data="userList"
-        height="660"
+        height="808"
         :row-class-name="tableRowClassName"
         @selection-change="handleSelectionChange"
       >
@@ -208,11 +207,24 @@
         <!-- <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="
+                gettoken360(scope.row.sfzh,scope.row.drcode,scope.row.drname)
+              "
+              ><span class="button-textsc">{{
+                scope.row.sendname
+              }}</span></el-button
+            >
+          </template>
+        </el-table-column>
         <el-table-column
           label="浠诲姟鐘舵��"
           align="center"
@@ -221,32 +233,41 @@
           width="120"
         >
           <template slot-scope="scope">
-            <div v-if="scope.row.sendstate == 1">
-              <el-tag type="primary" :disable-transitions="false"
-                >琛ㄥ崟宸查鍙�</el-tag
-              >
-            </div>
-            <div v-if="scope.row.sendstate == 2">
-              <el-tag type="primary" :disable-transitions="false"
-                >寰呮墽琛�</el-tag
-              >
-            </div>
-            <div v-if="scope.row.sendstate == 3">
-              <el-tag type="success" :disable-transitions="false"
-                >琛ㄥ崟宸插彂閫�</el-tag
-              >
-            </div>
-            <div v-if="scope.row.sendstate == 4">
-              <el-tag type="info" :disable-transitions="false">涓嶆墽琛�</el-tag>
-            </div>
-            <div v-if="scope.row.sendstate == 5">
-              <el-tag type="danger" :disable-transitions="false"
-                >鍙戦�佸け璐�</el-tag
-              >
-            </div>
-            <div v-if="scope.row.sendstate == 6">
-              <el-tag type="danger" :disable-transitions="false">宸插畬鎴�</el-tag>
-            </div>
+            <el-tooltip
+              class="item"
+              effect="dark"
+              :content="scope.row.remark"
+              placement="top-start"
+            >
+              <div v-if="scope.row.sendstate == 1">
+                <el-tag type="primary" :disable-transitions="false"
+                  >琚鍙�</el-tag
+                >
+              </div>
+              <div v-if="scope.row.sendstate == 2">
+                <el-tag type="primary" :disable-transitions="false"
+                  >寰呭彂閫�</el-tag
+                >
+              </div>
+              <div v-if="scope.row.sendstate == 3">
+                <el-tag type="success" :disable-transitions="false"
+                  >宸插彂閫佹湭棰嗗彇</el-tag
+                >
+              </div>
+              <div v-if="scope.row.sendstate == 4">
+                <el-tag type="info" :disable-transitions="false">涓嶆墽琛�</el-tag>
+              </div>
+              <div v-if="scope.row.sendstate == 5">
+                <el-tag type="danger" :disable-transitions="false"
+                  >鍙戦�佸け璐�</el-tag
+                >
+              </div>
+              <div v-if="scope.row.sendstate == 6">
+                <el-tag type="danger" :disable-transitions="false"
+                  >宸插畬鎴�</el-tag
+                >
+              </div>
+            </el-tooltip>
           </template>
         </el-table-column>
         <!-- <el-table-column
@@ -258,7 +279,7 @@
         />
 
         <el-table-column
-          label="浜哄伐澶勭悊鎰忚"
+          label="澶勭悊鎰忚"
           align="center"
           key="suggest"
           prop="suggest"
@@ -274,12 +295,12 @@
         <el-table-column
           label="闅忚浜哄憳"
           align="center"
-          key="createBy"
-          prop="createBy"
+          key="updateBy"
+          prop="updateBy"
           width="120"
         />
         <el-table-column
-          label="闅忚鏃堕棿"
+          label="闅忚瀹屾垚鏃堕棿"
           sortable
           align="center"
           prop="finishtime"
@@ -361,7 +382,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="绉戝"
@@ -450,7 +471,7 @@
             <!-- <el-tooltip
               class="item"
               effect="dark"
-              content="閲嶆柊闅忚"
+              content="鍐嶆闅忚"
               placement="top"
             >
               <el-button
@@ -459,13 +480,15 @@
                 @click="followupvisit(scope.row)"
                 v-hasPermi="['system:user:edit']"
                 ><span class="button-bb"
-                  ><i class="el-icon-s-promotion"></i></span
-              ></el-button>
+                  ><i class="el-icon-s-promotion"></i>鍐嶆闅忚</span
+                ></el-button
+              >
             </el-tooltip> -->
-            <!-- <el-tooltip
+            <el-tooltip
+              v-if="scope.row.sendstate == 1 || scope.row.sendstate == 2"
               class="item"
               effect="dark"
-              content="鍋滄"
+              content="鏆傚仠鏈嶅姟"
               placement="top"
             >
               <el-button
@@ -473,9 +496,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
@@ -493,7 +518,7 @@
         @pagination="getList"
       />
     </el-row>
-    <!-- 娣诲姞鎴栦慨鏀归棬璇婇殢璁垮璇濇 -->
+    <!-- 娣诲姞鎴栦慨鏀瑰奖鍍忛殢璁垮璇濇 -->
     <el-dialog
       :title="title"
       :visible.sync="addalteropen"
@@ -536,7 +561,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>
@@ -622,6 +647,50 @@
         >
       </span>
     </el-dialog>
+    <!-- 鍐嶆闅忚 -->
+    <el-dialog title="鎮h�呭啀娆¢殢璁�" :visible.sync="dialogFormVisible">
+      <el-form ref="form" :model="zcform" label-width="80px">
+        <el-form-item label="鎮h�呭悕绉�">
+          <el-input style="width: 400px" v-model="zcform.name"></el-input>
+        </el-form-item>
+        <el-form-item label="浠诲姟鍚嶇О">
+          <el-input style="width: 400px" v-model="zcform.name"></el-input>
+        </el-form-item>
+        <el-form-item label="闅忚鏂瑰紡">
+          <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="闅忚鏃堕棿" v-if="!zcform.delivery">
+          <el-col :span="11">
+            <el-date-picker
+              type="date"
+              placeholder="閫夋嫨鏃ユ湡"
+              v-model="zcform.date1"
+              style="width: 100%"
+            ></el-date-picker>
+          </el-col>
+          <el-col class="line" :span="2">-</el-col>
+          <el-col :span="11">
+            <el-time-picker
+              placeholder="閫夋嫨鏃堕棿"
+              v-model="zcform.date2"
+              style="width: 100%"
+            ></el-time-picker>
+          </el-col>
+        </el-form-item>
+      </el-form>
+      <div slot="footer" class="dialog-footer">
+        <el-button @click="dialogFormVisible = false">鍙� 娑�</el-button>
+        <el-button type="primary" @click="dialogFormVisible = false"
+          >纭� 瀹�</el-button
+        >
+      </div>
+    </el-dialog>
   </div>
 </template>
 
@@ -635,7 +704,7 @@
   resetUserPwd,
   changeUserStatus,
 } from "@/api/system/user";
-import { getTaskservelist } from "@/api/AiCentre/index";
+import { getTaskservelist,query360PatInfo } from "@/api/AiCentre/index";
 import Treeselect from "@riophae/vue-treeselect";
 import store from "@/store";
 import "@riophae/vue-treeselect/dist/vue-treeselect.css";
@@ -656,12 +725,13 @@
       multiple: true,
       // 鏄剧ず鎼滅储鏉′欢
       showSearch: true,
+      dialogFormVisible: false,
       // 鎬绘潯鏁�
       total: 0,
       // 鐢ㄦ埛琛ㄦ牸鏁版嵁
       userList: null,
       // 寮瑰嚭灞傛爣棰�
-      title: "鏂板闂ㄨ瘖闅忚",
+      title: "鏂板褰卞儚闅忚",
       // 鏄惁鏄剧ず淇敼銆佹坊鍔犲脊鍑哄眰
       addalteropen: false,
       // 淇敼鍙戦�佹椂闂村璇濇
@@ -677,25 +747,58 @@
       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: "杩欎釜鍖荤敓瀵逛綘鎬庝箞鏍�",
       },
       value: [],
       list: [],
-
+      postData: {
+        XiaoXiTou: {
+          FaSongFCSJC: "ZJHES",
+          FaSongJGID: localStorage.getItem("orgid"),
+          FaSongJGMC: localStorage.getItem("orgname"),
+          FaSongSJ: "2025-01-09聽17:29:36",
+          FaSongXTJC: "SUIFANGXT",
+          FaSongXTMC: "闅忚绯荤粺",
+          XiaoXiID: "5FA92AFB-9833-4608-87C7-F56A654AC171",
+          XiaoXiLX: "SC_LC_360STCX",
+          XiaoXiMC: "360聽瑙嗗浘鏌ヨ",
+          ZuHuID: localStorage.getItem("ZuHuID"),
+          ZuHuMC: localStorage.getItem("orgname"),
+        },
+        YeWuXX: {
+          BingRenXX: {
+            ZhengJianHM: '',
+            ZhengJianLXDM: "01",
+            ZhengJianLXMC: "灞呮皯韬唤璇�",
+            ZuZhiJGID: localStorage.getItem("orgid"),
+            ZuZhiJGMC: localStorage.getItem("orgname"),
+          },
+          YongHuXX: {
+            XiTongID: "SUIFANGXT",
+            XiTongMC: "闅忚绯荤粺",
+            YongHuID: "1400466972205912064",
+            YongHuXM: "JNRMYY",
+            ZuZhiJGID: localStorage.getItem("orgid"),
+            ZuZhiJGMC: localStorage.getItem("orgname"),
+            idp: "lyra",
+          },
+        },
+      },
       sourcetype: [
         {
           value: 1,
@@ -718,10 +821,10 @@
           name: "鍑洪櫌鏈嶅姟鎬婚噺",
           value: 0,
         },
-        {
-          name: "鎮h�呰繃婊�",
-          value: 0,
-        },
+        // {
+        //   name: "鎮h�呰繃婊�",
+        //   value: 0,
+        // },
         {
           name: "搴旈殢璁�",
           value: 0,
@@ -736,7 +839,7 @@
           value: 0,
         },
         {
-          name: "寰呮墽琛�",
+          name: "寰呭彂閫�",
           value: 0,
         },
         {
@@ -745,7 +848,7 @@
         },
 
         // {
-        //   name: "琛ㄥ崟宸插彂閫�",
+        //   name: "宸插彂閫佹湭棰嗗彇",
         //   value: 0,
         // },
       ],
@@ -763,8 +866,9 @@
       topqueryParams: {
         pageNum: 1,
         pageSize: 10,
-        serviceType: 9,
+        serviceType: 10,
         searchscope: 3,
+        sendstate:2,
         scopetype: [],
         leaveldeptcodes: [],
         leavehospitaldistrictcodes: [],
@@ -775,15 +879,15 @@
       topicoptions: [
         {
           value: 1,
-          label: "琛ㄥ崟宸查鍙�",
+          label: "琚鍙�",
         },
         {
           value: 2,
-          label: "寰呮墽琛�",
+          label: "寰呭彂閫�",
         },
         {
           value: 3,
-          label: "琛ㄥ崟宸插彂閫�",
+          label: "宸插彂閫佹湭棰嗗彇",
         },
         {
           value: 4,
@@ -848,7 +952,7 @@
     this.getList(1);
   },
   methods: {
-    /** 鏌ヨ闂ㄨ瘖闅忚鏈嶅姟鍒楄〃 */
+    /** 鏌ヨ褰卞儚闅忚鏈嶅姟鍒楄〃 */
     getList(refresh) {
       // 榛樿鍏ㄩ儴
       if (this.topqueryParams.searchscope == 3) {
@@ -877,12 +981,12 @@
         if (refresh) {
           this.cardlist[0].value =
             Number(response.rows[0].wzx) + Number(response.rows[0].ysf);
-          this.cardlist[1].value = response.rows[0].wzx;
-          this.cardlist[2].value = response.rows[0].ysf;
+          // this.cardlist[1].value = response.rows[0].wzx;
+          this.cardlist[1].value = response.rows[0].ysf;
           this.ycvalue = response.rows[0].yc;
-          this.cardlist[3].value = response.rows[0].fssb;
-          this.cardlist[4].value = response.rows[0].dfs;
-          this.cardlist[5].value = response.rows[0].yfs2;
+          this.cardlist[2].value = response.rows[0].fssb;
+          this.cardlist[3].value = response.rows[0].dsf;
+          this.cardlist[4].value = response.rows[0].yfs2;
           this.yfsvalue = response.rows[0].yfs;
         }
         this.loading = false;
@@ -893,8 +997,10 @@
           }
 
           if (item.preachform) {
+            if (item.endtime) {
               item.preachformson = item.preachform;
               idArray = item.preachform.split(",");
+            }
 
             item.preachform = idArray.map((value) => {
               // 鏌ユ壘id瀵瑰簲鐨勫璞�
@@ -909,7 +1015,23 @@
         this.total = response.total;
       });
     },
-    // 鏌ョ湅闂ㄨ瘖闅忚璇︽儏
+     //鎮h��360璺宠浆
+     gettoken360(sfzh,drcode,drname) {
+      this.postData.YeWuXX.BingRenXX.ZhengJianHM = sfzh;
+      if (this.postData.XiaoXiTou.ZuHuMC=='涓芥按甯備腑鍖婚櫌') {
+        this.postData.YeWuXX.YongHuXX.YongHuID = '1400398571877961728';
+        this.postData.YeWuXX.YongHuXX.YongHuXM = 'LSZYY';
+      }
+      query360PatInfo(this.postData).then((res) => {
+        if (res.data.url) {
+           window.open(res.data.url, '_blank');
+          // this.linkUrl = res.data.url;
+        }else{
+          this.$modal.msgWarning("360鏌ヨ鏃犵粨鏋�");
+        }
+      });
+    },
+    // 鏌ョ湅褰卞儚闅忚璇︽儏
     Referencequestion(row) {
       this.previewVisible = true;
     },
@@ -927,7 +1049,7 @@
         this.options = [];
       }
     },
-    // 闂ㄨ瘖闅忚鐘舵�佷慨鏀�
+    // 褰卞儚闅忚鐘舵�佷慨鏀�
     handleStatusChange(row) {
       let text = row.status === "0" ? "鍚敤" : "鍋滅敤";
       this.$modal
@@ -1005,8 +1127,9 @@
       this.topqueryParams = {
         pageNum: 1,
         pageSize: 10,
-        serviceType: 9,
+        serviceType: 10,
         searchscope: 2,
+        sendstate:2,
       };
       this.handleQuery(1);
     },
@@ -1042,7 +1165,7 @@
         path: "/followvisit/QuestionnaireTask",
         query: {
           type: 2,
-          serviceType: 9,
+          serviceType: 10,
         },
       });
     },
@@ -1161,6 +1284,41 @@
         },
       });
     },
+    // 鍐嶆闅忚
+    followupvisit() {
+      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) {
       if (too == 1) {
@@ -1176,7 +1334,7 @@
       this.topqueryParams.pageNum = null;
       this.topqueryParams.pageSize = null;
       this.download(
-        "smartor/serviceSubtask/export",
+        "smartor/serviceSubtask/patItemExport",
         {
           ...this.topqueryParams,
         },
@@ -1324,7 +1482,7 @@
 }
 .button-sc {
   font-weight: 500;
-  background-color: #dd302a;
+  background-color: #b3a21f;
   padding: 5px;
   border-radius: 1px;
   color: #ffffff;
diff --git a/src/views/patient/ycquestionnaire/index.vue b/src/views/followvisit/again/index.vue
similarity index 60%
copy from src/views/patient/ycquestionnaire/index.vue
copy to src/views/followvisit/again/index.vue
index 67c3af9..ba0cee9 100644
--- a/src/views/patient/ycquestionnaire/index.vue
+++ b/src/views/followvisit/again/index.vue
@@ -17,7 +17,7 @@
                   font-weight: 600;
                 "
               >
-                {{ item.value }}
+                {{ item.value ? item.value : 0 }}
               </div>
             </div>
           </el-card>
@@ -90,11 +90,28 @@
             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
             v-model="topqueryParams.sendname"
             placeholder="璇疯緭鍏ユ偅鑰呭鍚�"
+          ></el-input>
+        </el-form-item>
+        <el-form-item label="璇婃柇鍚嶇О" prop="leavediagname">
+          <el-input
+            v-model="topqueryParams.leavediagname"
+            placeholder="璇疯緭鍏ヨ瘖鏂悕绉�"
           ></el-input>
         </el-form-item>
 
@@ -119,6 +136,17 @@
             </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"
+            >
+            </el-option>
+          </el-select>
+        </el-form-item>
 
         <el-form-item>
           <el-button
@@ -136,6 +164,20 @@
       <el-divider></el-divider>
       <el-row :gutter="10" class="mb8">
         <el-col :span="1.5">
+          <div class="documentf">
+            <div class="document">
+              <el-button
+                type="warning"
+                plain
+                icon="el-icon-upload2"
+                size="medium"
+                @click="handleExport"
+                >瀵煎嚭</el-button
+              >
+            </div>
+          </div>
+        </el-col>
+        <el-col :span="1.5">
           <el-button
             type="primary"
             plain
@@ -145,21 +187,7 @@
             >鏂板</el-button
           >
         </el-col>
-        <el-col :span="1.5">
-          <div class="documentf">
-            <div class="document">
-              <el-button
-                type="warning"
-                plain
-                icon="el-icon-upload2"
-                size="medium"
-                @click="handleExport"
-                v-hasPermi="['system:user:export']"
-                >瀵煎嚭</el-button
-              >
-            </div>
-          </div>
-        </el-col>
+
         <el-col :span="1.5">
           <div class="documentf">
             <div class="document">
@@ -188,11 +216,45 @@
             </div>
           </div>
         </el-col>
+        <el-col :span="1.5">
+          <div class="documentf">
+            <div class="document">
+              <el-button
+                type="success"
+                plain
+                size="medium"
+                @click="buidegetTasklist()"
+                >寰呭姙鏈嶅姟</el-button
+              >
+            </div>
+          </div>
+        </el-col>
+        <el-col :span="1.5">
+          <div class="documentf">
+            <div class="document">
+              <el-button
+                type="primary"
+                plain
+                size="medium"
+                @click="affiliation()"
+                >鏈汉鎵�灞炴湇鍔�</el-button
+              >
+            </div>
+          </div>
+        </el-col>
+        <el-col :span="1.5">
+          <div class="documentf">
+            <div class="document">
+              <el-button type="success" size="medium" @click="onthatday()"
+                >褰撴棩鏈嶅姟</el-button
+              >
+            </div>
+          </div>
+        </el-col>
       </el-row>
       <el-table
         v-loading="loading"
         :data="userList"
-        height="660"
         :row-class-name="tableRowClassName"
         @selection-change="handleSelectionChange"
       >
@@ -200,19 +262,33 @@
         <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="
+                gettoken360(scope.row.sfzh, scope.row.drcode, scope.row.drname)
+              "
+              ><span class="button-textsc">{{
+                scope.row.sendname
+              }}</span></el-button
+            >
+          </template>
+        </el-table-column>
         <el-table-column
           label="浠诲姟鐘舵��"
           align="center"
@@ -221,32 +297,41 @@
           width="120"
         >
           <template slot-scope="scope">
-            <div v-if="scope.row.sendstate == 1">
-              <el-tag type="primary" :disable-transitions="false"
-                >琛ㄥ崟宸查鍙�</el-tag
-              >
-            </div>
-            <div v-if="scope.row.sendstate == 2">
-              <el-tag type="primary" :disable-transitions="false"
-                >寰呮墽琛�</el-tag
-              >
-            </div>
-            <div v-if="scope.row.sendstate == 3">
-              <el-tag type="success" :disable-transitions="false"
-                >琛ㄥ崟宸插彂閫�</el-tag
-              >
-            </div>
-            <div v-if="scope.row.sendstate == 4">
-              <el-tag type="info" :disable-transitions="false">涓嶆墽琛�</el-tag>
-            </div>
-            <div v-if="scope.row.sendstate == 5">
-              <el-tag type="danger" :disable-transitions="false"
-                >鍙戦�佸け璐�</el-tag
-              >
-            </div>
-            <div v-if="scope.row.sendstate == 6">
-              <el-tag type="danger" :disable-transitions="false">宸插畬鎴�</el-tag>
-            </div>
+            <el-tooltip
+              class="item"
+              effect="dark"
+              :content="scope.row.remark"
+              placement="top-start"
+            >
+              <div v-if="scope.row.sendstate == 1">
+                <el-tag type="primary" :disable-transitions="false"
+                  >琛ㄥ崟宸查鍙�</el-tag
+                >
+              </div>
+              <div v-if="scope.row.sendstate == 2">
+                <el-tag type="primary" :disable-transitions="false"
+                  >寰呴殢璁�</el-tag
+                >
+              </div>
+              <div v-if="scope.row.sendstate == 3">
+                <el-tag type="success" :disable-transitions="false"
+                  >琛ㄥ崟宸插彂閫�</el-tag
+                >
+              </div>
+              <div v-if="scope.row.sendstate == 4">
+                <el-tag type="info" :disable-transitions="false">涓嶆墽琛�</el-tag>
+              </div>
+              <div v-if="scope.row.sendstate == 5">
+                <el-tag type="danger" :disable-transitions="false"
+                  >鍙戦�佸け璐�</el-tag
+                >
+              </div>
+              <div v-if="scope.row.sendstate == 6">
+                <el-tag type="success" :disable-transitions="false"
+                  >宸插畬鎴�</el-tag
+                >
+              </div>
+            </el-tooltip>
           </template>
         </el-table-column>
         <!-- <el-table-column
@@ -258,7 +343,7 @@
         />
 
         <el-table-column
-          label="浜哄伐澶勭悊鎰忚"
+          label="澶勭悊鎰忚"
           align="center"
           key="suggest"
           prop="suggest"
@@ -271,15 +356,9 @@
             />
           </template>
         </el-table-column>
+
         <el-table-column
-          label="闅忚浜哄憳"
-          align="center"
-          key="createBy"
-          prop="createBy"
-          width="120"
-        />
-        <el-table-column
-          label="闅忚鏃堕棿"
+          label="闅忚瀹屾垚鏃堕棿"
           sortable
           align="center"
           prop="finishtime"
@@ -312,6 +391,20 @@
           </template></el-table-column
         >
         <el-table-column
+          label="涓绘不鍖荤敓"
+          width="120"
+          align="center"
+          key="drname"
+          prop="drname"
+        />
+        <el-table-column
+          label="闅忚浜哄憳"
+          align="center"
+          key="updateBy"
+          prop="updateBy"
+          width="120"
+        />
+        <el-table-column
           label="鍑洪櫌澶╂暟"
           width="120"
           align="center"
@@ -343,13 +436,6 @@
           key="nurseName"
           prop="nurseName"
         />
-        <el-table-column
-          label="涓绘不鍖荤敓"
-          width="120"
-          align="center"
-          key="drname"
-          prop="drname"
-        />
 
         <!-- <el-table-column
           label="鐥呭巻鍙�"
@@ -361,13 +447,21 @@
         /> -->
 
         <!-- <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="绉戝"
+          label="棣栨闅忚绉戝"
           align="center"
           key="deptname"
           prop="deptname"
+          width="120"
+        >
+        </el-table-column>
+        <el-table-column
+          label="鏈绉戝"
+          align="center"
+          key="visitDeptName"
+          prop="visitDeptName"
           width="120"
         >
         </el-table-column>
@@ -380,15 +474,15 @@
         >
         </el-table-column>
 
-        <!-- <el-table-column
-          label="鐤剧梾鍚嶇О"
+        <el-table-column
+          label="璇婃柇鍚嶇О"
           align="center"
-          key="icdName"
-          prop="icdName"
+          key="leavediagname"
+          prop="leavediagname"
           width="120"
           :show-overflow-tooltip="true"
         >
-        </el-table-column> -->
+        </el-table-column>
 
         <el-table-column
           label="鍑洪櫌闅忚妯℃澘鍚嶇О"
@@ -425,47 +519,55 @@
         </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
+            <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
               class="item"
               effect="dark"
-              content="閲嶆柊闅忚"
+              content="鍐嶆闅忚"
               placement="top"
             >
               <el-button
                 size="medium"
                 type="text"
+                v-if="scope.row.isVisitAgain!=2"
                 @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
@@ -473,12 +575,22 @@
                 type="text"
                 @click="handlestop(scope.row)"
                 v-hasPermi="['system:user:edit']"
-                ><span class="button-sc"><i class="el-icon-delete"></i></span
-              ></el-button>
+                ><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
+              ></el-button
+            >
+            <el-button
+              size="medium"
+              type="text"
+              @click="handleUpdate(scope.row)"
+              ><span class="button-textxga"
+                ><i class="el-icon-edit"></i>鎮h�呰繃婊�</span
               ></el-button
             >
           </template>
@@ -493,58 +605,61 @@
         @pagination="getList"
       />
     </el-row>
-    <!-- 娣诲姞鎴栦慨鏀归棬璇婇殢璁垮璇濇 -->
+    <!-- 娣诲姞鎴栦慨鏀瑰奖鍍忛殢璁垮璇濇 -->
     <el-dialog
-      :title="title"
-      :visible.sync="addalteropen"
-      width="700px"
-      append-to-body
+      :title="amendtag ? '淇敼鎮h�呬俊鎭�' : '鏂板鎮h��'"
+      :visible.sync="Labelchange"
+      width="900px"
     >
-      <el-form ref="form" :model="form" label-width="100px">
-        <el-row :gutter="20">
-          <el-col :span="12"
-            ><el-form-item label="浠诲姟鍚嶇О">
-              <el-input v-model="form.name"></el-input> </el-form-item
-          ></el-col>
-        </el-row>
-        <el-row :gutter="20">
-          <el-col :span="24"
-            ><el-form-item label="鎵�灞炵瀹�">
-              <el-select v-model="form.region" placeholder="璇烽�夋嫨绉戝">
-                <el-option label="鍖哄煙涓�" value="shanghai"></el-option>
-                <el-option label="鍖哄煙浜�" value="beijing"></el-option>
-              </el-select> </el-form-item></el-col
-        ></el-row>
-        <el-row :gutter="20">
-          <el-col :span="24"
-            ><el-form-item label="闅忚绫诲瀷">
-              <el-select v-model="form.region" placeholder="璇烽�夋嫨闅忚绫诲瀷">
-                <el-option label="鍖哄煙涓�" value="shanghai"></el-option>
-                <el-option label="鍖哄煙浜�" value="beijing"></el-option>
-              </el-select> </el-form-item
-          ></el-col>
-        </el-row>
-        <el-row :gutter="20">
-          <el-col :span="24">
-            <el-form-item label="鏈嶅姟妯″潡">
-              <el-select v-model="form.region" placeholder="璇烽�夋嫨妯″潡">
-                <el-option label="鍖哄煙涓�" value="shanghai"></el-option>
-                <el-option label="鍖哄煙浜�" value="beijing"></el-option>
+      <el-form ref="form" :model="form" :rules="rules" label-width="100px">
+        <el-row>
+          <el-col :span="8">
+            <el-form-item label="濮撳悕" width="100" prop="name">
+              <el-input
+                v-model="form.name"
+                placeholder="璇疯緭鍏ュ鍚�"
+                maxlength="30"
+              />
+            </el-form-item>
+          </el-col>
+          <el-col :span="8">
+            <el-form-item label="鎬у埆" width="100" prop="sex">
+              <el-select v-model="form.sex" placeholder="璇烽�夋嫨鎬у埆">
+                <el-option
+                  v-for="dict in sextype"
+                  :key="dict.value"
+                  :label="dict.label"
+                  :value="dict.value"
+                ></el-option>
               </el-select>
             </el-form-item>
           </el-col>
+          <el-col :span="8">
+            <el-form-item label="骞撮緞" prop="age">
+              <el-input
+                v-model="form.age"
+                placeholder="璇疯緭鍏ュ勾榫�"
+                maxlength="30"
+              />
+            </el-form-item>
+          </el-col>
         </el-row>
-        <el-row :gutter="20">
+
+        <el-row>
           <el-col :span="24">
-            <el-form-item label="闂ㄨ瘖闅忚瑕佹眰">
-              <el-input type="textarea" v-model="form.desc"></el-input>
+            <el-form-item label="杩囨护鍘熷洜">
+              <el-input
+                v-model="form.notrequiredreason"
+                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>
+        <el-button type="primary" @click="submitForm">纭� 瀹�</el-button>
+        <el-button @click="cancel">鍙� 娑�</el-button>
       </div>
     </el-dialog>
     <!-- 淇敼鍙戦�佹椂闂村璇濇 -->
@@ -622,20 +737,96 @@
         >
       </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="鍑洪櫌鏃堕棿">
+          <el-input
+            style="width: 400px"
+            disabled
+            v-model="zcform.endtime"
+          ></el-input>
+        </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 } from "@/api/AiCentre/index";
+import {
+  getTaskservelist,
+  buidegetTasklist,
+  addserviceSubtask,
+  query360PatInfo,
+} from "@/api/AiCentre/index";
+import { alterpatient, particularpatient } from "@/api/patient/homepage";
 import Treeselect from "@riophae/vue-treeselect";
 import store from "@/store";
 import "@riophae/vue-treeselect/dist/vue-treeselect.css";
@@ -656,12 +847,13 @@
       multiple: true,
       // 鏄剧ず鎼滅储鏉′欢
       showSearch: true,
+      dialogFormVisible: false,
       // 鎬绘潯鏁�
       total: 0,
       // 鐢ㄦ埛琛ㄦ牸鏁版嵁
       userList: null,
       // 寮瑰嚭灞傛爣棰�
-      title: "鏂板闂ㄨ瘖闅忚",
+      title: "鏂板褰卞儚闅忚",
       // 鏄惁鏄剧ず淇敼銆佹坊鍔犲脊鍑哄眰
       addalteropen: false,
       // 淇敼鍙戦�佹椂闂村璇濇
@@ -672,24 +864,27 @@
       initPassword: undefined,
       // 鏃ユ湡鑼冨洿
       dateRange: [],
+      dateRangefs: [],
       // 宀椾綅閫夐」
       postOptions: [],
       ruleForm: {
         type: [],
       },
+      zcform: {},
       dynamicTags: ["閫夐」涓�", "閫夐」浜�", "閫夐」涓�"], //閫夐」
       inputVisible: false,
+      Labelchange: false,
       ycvalue: "",
       yfsvalue: "",
       inputValue: "",
       preachform: "",
-      previewVisible: false, //闂ㄨ瘖闅忚棰勮寮规
+      previewVisible: false, //褰卞儚闅忚棰勮寮规
       radio: "",
       radios: [],
-      previewtype: 2, //棰勮闂ㄨ瘖闅忚绫诲瀷
+      previewtype: 2, //棰勮褰卞儚闅忚绫诲瀷
       total: 0, // 鎬绘潯鏁�
-      ImportQuantity: 999, //瀵奸棬璇婇殢璁挎暟閲�
-      //棰勮闂ㄨ瘖闅忚淇℃伅
+      ImportQuantity: 999, //瀵煎奖鍍忛殢璁挎暟閲�
+      //棰勮褰卞儚闅忚淇℃伅
       previewvalue: {
         username: "杩欎釜鍖荤敓瀵逛綘鎬庝箞鏍�",
       },
@@ -718,25 +913,20 @@
           name: "鍑洪櫌鏈嶅姟鎬婚噺",
           value: 0,
         },
-        {
-          name: "鎮h�呰繃婊�",
-          value: 0,
-        },
+        // {
+        //   name: "鎮h�呰繃婊�",
+        //   value: 0,
+        // },
         {
           name: "搴旈殢璁�",
           value: 0,
         },
-
-        // {
-        //   name: "寮傚父",
-        //   value: 0,
-        // },
         {
           name: "鍙戦�佸け璐�",
           value: 0,
         },
         {
-          name: "寰呮墽琛�",
+          name: "寰呴殢璁�",
           value: 0,
         },
         {
@@ -749,7 +939,14 @@
         //   value: 0,
         // },
       ],
-
+      zcrules: {
+        date1: [
+          { required: true, message: "璇烽�夋嫨闅忚鏂瑰紡", trigger: "change" },
+        ],
+        resource: [
+          { required: true, message: "璇烽�夋嫨闅忚鏃堕棿", trigger: "blur" },
+        ],
+      },
       // 琛ㄥ崟鍙傛暟
       form: {
         phonenumber: "",
@@ -759,14 +956,36 @@
         qystatus: "",
         btstatus: "",
       },
+      topicoptionssort: [
+        {
+          value: 0,
+          label: "鍑洪櫌鏃堕棿(姝e簭)",
+        },
+        {
+          value: 1,
+          label: "鍑洪櫌鏃堕棿(鍊掑簭)",
+        },
+        {
+          value: 2,
+          label: "鍙戦�佹椂闂�(姝e簭)",
+        },
+        {
+          value: 3,
+          label: "鍙戦�佹椂闂�(鍊掑簭)",
+        },
+      ],
       // 鏌ヨ鍙傛暟
       topqueryParams: {
         pageNum: 1,
         pageSize: 10,
-        serviceType: 9,
+        sendstate: 2,
+        sort: 2, //0 鍑洪櫌鏃堕棿(姝e簭)    1 鍑洪櫌鏃堕棿(鍊掑簭)   2 鍙戦�佹椂闂�(姝e簭)    3 鍙戦�佹椂闂�(鍊掑簭)
+        serviceType: 2,
         searchscope: 3,
+        visitCount: 2,
         scopetype: [],
-        leaveldeptcodes: [],
+        visitDeptCodes: [],
+        leaveldeptcodes:[],
         leavehospitaldistrictcodes: [],
       },
       propss: { multiple: true },
@@ -774,12 +993,16 @@
 
       topicoptions: [
         {
+          value: null,
+          label: "鍏ㄩ儴",
+        },
+        {
           value: 1,
           label: "琛ㄥ崟宸查鍙�",
         },
         {
           value: 2,
-          label: "寰呮墽琛�",
+          label: "寰呴殢璁�",
         },
         {
           value: 3,
@@ -798,6 +1021,16 @@
           label: "宸插畬鎴�",
         },
       ],
+      sextype: [
+        {
+          value: 1,
+          label: "鐢�",
+        },
+        {
+          value: 2,
+          label: "濂�",
+        },
+      ],
       topicoptionsyj: [
         {
           value: 1,
@@ -808,6 +1041,41 @@
           label: "姝e父",
         },
       ],
+      url: "http://9.208.2.190:8090/smartor/serviceExternal/query360PatInfo",
+      postData: {
+        XiaoXiTou: {
+          FaSongFCSJC: "ZJHES",
+          FaSongJGID: localStorage.getItem("orgid"),
+          FaSongJGMC: localStorage.getItem("orgname"),
+          FaSongSJ: "2025-01-09聽17:29:36",
+          FaSongXTJC: "SUIFANGXT",
+          FaSongXTMC: "闅忚绯荤粺",
+          XiaoXiID: "5FA92AFB-9833-4608-87C7-F56A654AC171",
+          XiaoXiLX: "SC_LC_360STCX",
+          XiaoXiMC: "360聽瑙嗗浘鏌ヨ",
+          ZuHuID: localStorage.getItem("ZuHuID"),
+          ZuHuMC: localStorage.getItem("orgname"),
+        },
+        YeWuXX: {
+          BingRenXX: {
+            ZhengJianHM: "",
+            ZhengJianLXDM: "01",
+            ZhengJianLXMC: "灞呮皯韬唤璇�",
+            ZuZhiJGID: localStorage.getItem("orgid"),
+            ZuZhiJGMC: localStorage.getItem("orgname"),
+          },
+          YongHuXX: {
+            XiTongID: "SUIFANGXT",
+            XiTongMC: "闅忚绯荤粺",
+            YongHuID: "1400466972205912064",
+            YongHuXM: "JNRMYY",
+            ZuZhiJGID: localStorage.getItem("orgid"),
+            ZuZhiJGMC: localStorage.getItem("orgname"),
+            idp: "lyra",
+          },
+        },
+      },
+      amendtag: false,
       errtype: "",
       leavehospitaldistrictcode: "",
       serviceState: [],
@@ -848,10 +1116,14 @@
     this.getList(1);
   },
   methods: {
-    /** 鏌ヨ闂ㄨ瘖闅忚鏈嶅姟鍒楄〃 */
+    /** 鏌ヨ闅忚鏈嶅姟鍒楄〃 */
     getList(refresh) {
       // 榛樿鍏ㄩ儴
+
       if (this.topqueryParams.searchscope == 3) {
+        this.topqueryParams.visitDeptCodes = store.getters.belongDepts.map(
+          (obj) => obj.deptCode
+        );
         this.topqueryParams.leaveldeptcodes = store.getters.belongDepts.map(
           (obj) => obj.deptCode
         );
@@ -866,12 +1138,95 @@
         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.visitDeptCodes[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;
+        this.total = response.total;
+        if (refresh) {
+          this.cardlist[0].value =
+            Number(response.rows[0].wzx) + Number(response.rows[0].ysf);
+          // this.cardlist[1].value = response.rows[0].wzx;
+          this.cardlist[1].value = response.rows[0].ysf;
+          this.ycvalue = response.rows[0].yc;
+          this.cardlist[2].value = response.rows[0].fssb;
+          this.cardlist[3].value = response.rows[0].dsf;
+          this.cardlist[4].value = response.rows[0].yfs2;
+          this.yfsvalue = response.rows[0].yfs;
+        }
+        this.loading = false;
+        this.userList.forEach((item) => {
+          let idArray = null;
+          if (item.endtime) {
+            item.endDay = this.daysBetween(item.endtime);
+          }
+
+          if (item.preachform) {
+            if (item.endtime) {
+              item.preachformson = item.preachform;
+              idArray = item.preachform.split(",");
+            }
+
+            item.preachform = idArray.map((value) => {
+              // 鏌ユ壘id瀵瑰簲鐨勫璞�
+              const item = this.checkboxlist.find(
+                (item) => item.value == value
+              );
+              // 濡傛灉鎵惧埌瀵瑰簲鐨刬d锛岃繑鍥瀕abel鍊硷紝鍚﹀垯杩斿洖null
+              return item ? item.label : null;
+            });
+          }
+        });
+        this.total = response.total;
+      });
+    },
+    affiliation() {
+      this.topqueryParams.drcode = store.getters.hisUserId;
+      this.topqueryParams.nurseId = store.getters.hisUserId;
+      this.getList(1);
+    },
+    onthatday() {
+      this.topqueryParams.startSendDateTime = this.getCurrentDate();
+      this.topqueryParams.endSendDateTime = this.getCurrentDate();
+      this.getList(1);
+    },
+    getCurrentDate() {
+      const now = new Date();
+      return now.toISOString().slice(0, 10); // 鎴彇鍓�10涓瓧绗︼紝鍗� YYYY-MM-DD
+    },
+    buidegetTasklist(type) {
+      if (this.topqueryParams.searchscope == 3) {
+        this.topqueryParams.visitDeptCodes = store.getters.belongDepts.map(
+          (obj) => obj.deptCode
+        );
+          this.topqueryParams.leaveldeptcodes = store.getters.belongDepts.map(
+          (obj) => obj.deptCode
+        );
+        this.topqueryParams.leavehospitaldistrictcodes =
+          store.getters.belongWards.map((obj) => obj.districtCode);
+      }
+      // 鎺ュ彈寮傚父璺宠浆
+      if (this.errtype) {
+        this.topqueryParams.leavehospitaldistrictcodes.push(
+          this.leavehospitaldistrictcode
+        );
+      }
+      let obj = {
+        pageNum: 1,
+        pageSize: 10,
+        leavehospitaldistrictcodes:
+          this.topqueryParams.leavehospitaldistrictcodes,
+        sendstates: [2, 3],
+        visitDeptCodes: this.topqueryParams.visitDeptCodes,
+        leaveldeptcodes: this.topqueryParams.leaveldeptcodes,
+      };
+      buidegetTasklist(obj).then((response) => {
         this.userList = response.rows[0].serviceSubtaskList;
         this.total = response.total;
         if (refresh) {
@@ -881,7 +1236,7 @@
           this.cardlist[2].value = response.rows[0].ysf;
           this.ycvalue = response.rows[0].yc;
           this.cardlist[3].value = response.rows[0].fssb;
-          this.cardlist[4].value = response.rows[0].dfs;
+          this.cardlist[4].value = response.rows[0].dsf;
           this.cardlist[5].value = response.rows[0].yfs2;
           this.yfsvalue = response.rows[0].yfs;
         }
@@ -893,8 +1248,10 @@
           }
 
           if (item.preachform) {
+            if (item.endtime) {
               item.preachformson = item.preachform;
               idArray = item.preachform.split(",");
+            }
 
             item.preachform = idArray.map((value) => {
               // 鏌ユ壘id瀵瑰簲鐨勫璞�
@@ -927,7 +1284,7 @@
         this.options = [];
       }
     },
-    // 闂ㄨ瘖闅忚鐘舵�佷慨鏀�
+    // 褰卞儚闅忚鐘舵�佷慨鏀�
     handleStatusChange(row) {
       let text = row.status === "0" ? "鍚敤" : "鍋滅敤";
       this.$modal
@@ -942,11 +1299,7 @@
           row.status = row.status === "0" ? "1" : "0";
         });
     },
-    // 鍙栨秷鎸夐挳
-    cancel() {
-      this.addalteropen = false;
-      this.reset();
-    },
+
     // 琛ㄥ崟閲嶇疆
     reset() {
       this.form = {
@@ -968,6 +1321,9 @@
     /** 鎼滅储鎸夐挳鎿嶄綔 */
     handleQuery(refresh) {
       if (this.topqueryParams.searchscope == 3) {
+        this.topqueryParams.visitDeptCodes = store.getters.belongDepts.map(
+          (obj) => obj.deptCode
+        );
         this.topqueryParams.leaveldeptcodes = store.getters.belongDepts.map(
           (obj) => obj.deptCode
         );
@@ -977,7 +1333,9 @@
       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];
+      console.log("2");
       this.getList(refresh);
     },
     // 鎮h�呰寖鍥村鐞�
@@ -985,14 +1343,16 @@
       let type = value[0];
       let code = value.slice(-1)[0];
       this.topqueryParams.leavehospitaldistrictcodes = [];
+      this.topqueryParams.visitDeptCodes = [];
       this.topqueryParams.leaveldeptcodes = [];
-
       if (type == 1) {
+        this.topqueryParams.visitDeptCodes.push(code);
         this.topqueryParams.leaveldeptcodes.push(code);
         this.topqueryParams.leavehospitaldistrictcodes = [];
         this.topqueryParams.searchscope = 1;
       } else if (type == 2) {
         this.topqueryParams.leavehospitaldistrictcodes.push(code);
+        this.topqueryParams.visitDeptCodes = [];
         this.topqueryParams.leaveldeptcodes = [];
         this.topqueryParams.searchscope = 2;
       } else {
@@ -1002,11 +1362,19 @@
     /** 閲嶇疆鎸夐挳鎿嶄綔 */
     resetQuery() {
       this.dateRange = [];
+      this.dateRangefs = [];
       this.topqueryParams = {
         pageNum: 1,
         pageSize: 10,
-        serviceType: 9,
-        searchscope: 2,
+        sendstate: 2,
+        sort: 2, //0 鍑洪櫌鏃堕棿(姝e簭)    1 鍑洪櫌鏃堕棿(鍊掑簭)   2 鍙戦�佹椂闂�(姝e簭)    3 鍙戦�佹椂闂�(鍊掑簭)
+        serviceType: 2,
+        searchscope: 3,
+        visitCount: 2,
+        scopetype: [],
+        visitDeptCodes: [],
+        leaveldeptcodes:[],
+        leavehospitaldistrictcodes: [],
       };
       this.handleQuery(1);
     },
@@ -1042,8 +1410,24 @@
         path: "/followvisit/QuestionnaireTask",
         query: {
           type: 2,
-          serviceType: 9,
+          serviceType: 2,
         },
+      });
+    },
+    //鎮h��360璺宠浆
+    gettoken360(sfzh, drcode, drname) {
+      this.postData.YeWuXX.BingRenXX.ZhengJianHM = sfzh;
+      if (this.postData.XiaoXiTou.ZuHuMC == "涓芥按甯備腑鍖婚櫌") {
+        this.postData.YeWuXX.YongHuXX.YongHuID = "1400398571877961728";
+        this.postData.YeWuXX.YongHuXX.YongHuXM = "LSZYY";
+      }
+      query360PatInfo(this.postData).then((res) => {
+        if (res.data.url) {
+          window.open(res.data.url, "_blank");
+          // this.linkUrl = res.data.url;
+        } else {
+          this.$modal.msgWarning("360鏌ヨ鏃犵粨鏋�");
+        }
       });
     },
 
@@ -1063,24 +1447,28 @@
         })
         .catch(() => {});
     },
-
+    // 鍙栨秷鎸夐挳
+    cancel() {
+      this.Labelchange = false;
+      this.reset();
+    },
     /** 鎻愪氦鎸夐挳 */
     submitForm: function () {
       this.$refs["form"].validate((valid) => {
         if (valid) {
-          if (this.form.userId != undefined) {
-            updateUser(this.form).then((response) => {
-              this.$modal.msgSuccess("淇敼鎴愬姛");
-              this.open = false;
+          this.form.isoperation = 2;
+          this.form.notrequiredFlag = 1;
+          alterpatient(this.form)
+            .then((response) => {
+              console.log(response);
+            })
+            .then(() => {
               this.getList(1);
+              this.$modal.msgSuccess("鎮h�呰繃婊ゆ垚鍔�");
             });
-          } else {
-            addUser(this.form).then((response) => {
-              this.$modal.msgSuccess("鏂板鎴愬姛");
-              this.open = false;
-              this.getList(1);
-            });
-          }
+
+          this.reset();
+          this.Labelchange = false;
         }
       });
     },
@@ -1148,7 +1536,6 @@
       if (row.preachformson) {
         if (row.preachformson.includes("3")) {
           type = 1;
-          console.log(type, "rwo");
         }
       }
       this.$router.push({
@@ -1158,8 +1545,54 @@
           patid: row.patid,
           id: row.id,
           Voicetype: type,
+          visitCount: this.topqueryParams.visitCount,
         },
       });
+    },
+    // 鍐嶆闅忚
+    followupvisit(row) {
+      this.zcform = row;
+      this.zcform.endtime = this.formatTime(this.zcform.endtime);
+      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(() => {});
+    },
+    // 鎮h�呰繃婊よЕ鍙�
+    handleUpdate(row) {
+      particularpatient(row.patid).then((response) => {
+        this.form = response.data;
+      });
+      this.amendtag = true;
+      this.Labelchange = true;
     },
     // 渚挎嵎鎸夐挳
     toleadExport(too) {
@@ -1176,7 +1609,7 @@
       this.topqueryParams.pageNum = null;
       this.topqueryParams.pageSize = null;
       this.download(
-        "smartor/serviceSubtask/export",
+        "smartor/serviceSubtask/patItemExport",
         {
           ...this.topqueryParams,
         },
@@ -1189,6 +1622,48 @@
         return "warning-row";
       }
       return "";
+    },
+    // 鍒涘缓鍐嶆闅忚鏈嶅姟
+    setupsubtask() {
+      this.$refs["zcform"].validate((valid) => {
+        if (valid) {
+          this.zcform.remark =
+            this.zcform.remark + "銆�" + this.getCurrentTime() + "銆�";
+          let form = structuredClone(this.zcform);
+          form.longSendTime = this.formatTime(form.date1);
+          form.finishtime = "";
+          if (form.resource) {
+            if (form.resource == 2) {
+              form.serviceType = 13;
+            }
+          } else {
+            this.$modal.msgError("鏈�夋嫨闅忚鏂瑰紡");
+          }
+          form.id = null;
+          form.sendstate = 2;
+          form.preachform = form.preachformson;
+          form.longTask = 0;
+          addserviceSubtask(form).then((res) => {
+            if (res.code == 200) {
+              this.$modal.msgSuccess("鍒涘缓鎴愬姛");
+            } else {
+              this.$modal.msgError("鍒涘缓澶辫触");
+            }
+            this.dialogFormVisible = false;
+          });
+        }
+      });
+    },
+    getCurrentTime() {
+      const now = new Date();
+      const year = now.getFullYear();
+      const month = String(now.getMonth() + 1).padStart(2, "0");
+      const day = String(now.getDate()).padStart(2, "0");
+      const hours = String(now.getHours()).padStart(2, "0");
+      const minutes = String(now.getMinutes()).padStart(2, "0");
+      const seconds = String(now.getSeconds()).padStart(2, "0");
+
+      return `${year}-${month}-${day} ${hours}:${minutes}:${seconds}`;
     },
   },
 };
@@ -1324,7 +1799,7 @@
 }
 .button-sc {
   font-weight: 500;
-  background-color: #dd302a;
+  background-color: #b3a21f;
   padding: 5px;
   border-radius: 1px;
   color: #ffffff;
diff --git a/src/views/followvisit/discharge/index.vue b/src/views/followvisit/discharge/index.vue
index d09ca41..93b08e8 100644
--- a/src/views/followvisit/discharge/index.vue
+++ b/src/views/followvisit/discharge/index.vue
@@ -108,6 +108,18 @@
             placeholder="璇疯緭鍏ユ偅鑰呭鍚�"
           ></el-input>
         </el-form-item>
+        <el-form-item label="璇婃柇鍚嶇О" prop="leavediagname">
+          <el-input
+            v-model="topqueryParams.leavediagname"
+            placeholder="璇疯緭鍏ヨ瘖鏂悕绉�"
+          ></el-input>
+        </el-form-item>
+        <el-form-item label="闅忚浜哄憳" prop="updateBy">
+          <el-input
+            v-model="topqueryParams.updateBy"
+            placeholder="璇疯緭鍏ラ殢璁夸汉鍛�"
+          ></el-input>
+        </el-form-item>
 
         <el-form-item label="鎮h�呰寖鍥�" prop="status">
           <el-cascader
@@ -158,6 +170,20 @@
       <el-divider></el-divider>
       <el-row :gutter="10" class="mb8">
         <el-col :span="1.5">
+          <div class="documentf">
+            <div class="document">
+              <el-button
+                type="warning"
+                plain
+                icon="el-icon-upload2"
+                size="medium"
+                @click="handleExport"
+                >瀵煎嚭</el-button
+              >
+            </div>
+          </div>
+        </el-col>
+        <el-col :span="1.5">
           <el-button
             type="primary"
             plain
@@ -167,21 +193,7 @@
             >鏂板</el-button
           >
         </el-col>
-        <el-col :span="1.5">
-          <div class="documentf">
-            <div class="document">
-              <el-button
-                type="warning"
-                plain
-                icon="el-icon-upload2"
-                size="medium"
-                @click="handleExport"
-                v-hasPermi="['system:user:export']"
-                >瀵煎嚭</el-button
-              >
-            </div>
-          </div>
-        </el-col>
+
         <el-col :span="1.5">
           <div class="documentf">
             <div class="document">
@@ -223,11 +235,32 @@
             </div>
           </div>
         </el-col>
+        <el-col :span="1.5">
+          <div class="documentf">
+            <div class="document">
+              <el-button
+                type="primary"
+                plain
+                size="medium"
+                @click="affiliation()"
+                >鏈汉鎵�灞炴湇鍔�</el-button
+              >
+            </div>
+          </div>
+        </el-col>
+        <el-col :span="1.5">
+          <div class="documentf">
+            <div class="document">
+              <el-button type="success" size="medium" @click="onthatday()"
+                >褰撴棩鏈嶅姟</el-button
+              >
+            </div>
+          </div>
+        </el-col>
       </el-row>
       <el-table
         v-loading="loading"
         :data="userList"
-        height="660"
         :row-class-name="tableRowClassName"
         @selection-change="handleSelectionChange"
       >
@@ -248,23 +281,7 @@
           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"
@@ -303,7 +320,7 @@
                 >
               </div>
               <div v-if="scope.row.sendstate == 6">
-                <el-tag type="danger" :disable-transitions="false"
+                <el-tag type="success" :disable-transitions="false"
                   >宸插畬鎴�</el-tag
                 >
               </div>
@@ -325,6 +342,7 @@
           prop="suggest"
           width="120"
         >
+
           <template slot-scope="scope">
             <dict-tag
               :options="dict.type.sys_suggest"
@@ -332,15 +350,9 @@
             />
           </template>
         </el-table-column>
+
         <el-table-column
-          label="闅忚浜哄憳"
-          align="center"
-          key="createBy"
-          prop="createBy"
-          width="120"
-        />
-        <el-table-column
-          label="闅忚鏃堕棿"
+          label="闅忚瀹屾垚鏃堕棿"
           sortable
           align="center"
           prop="finishtime"
@@ -373,6 +385,20 @@
           </template></el-table-column
         >
         <el-table-column
+          label="涓绘不鍖荤敓"
+          width="120"
+          align="center"
+          key="drname"
+          prop="drname"
+        />
+        <el-table-column
+          label="闅忚浜哄憳"
+          align="center"
+          key="updateBy"
+          prop="updateBy"
+          width="120"
+        />
+        <el-table-column
           label="鍑洪櫌澶╂暟"
           width="120"
           align="center"
@@ -404,13 +430,6 @@
           key="nurseName"
           prop="nurseName"
         />
-        <el-table-column
-          label="涓绘不鍖荤敓"
-          width="120"
-          align="center"
-          key="drname"
-          prop="drname"
-        />
 
         <!-- <el-table-column
           label="鐥呭巻鍙�"
@@ -441,15 +460,15 @@
         >
         </el-table-column>
 
-        <!-- <el-table-column
-          label="鐤剧梾鍚嶇О"
+        <el-table-column
+          label="璇婃柇鍚嶇О"
           align="center"
-          key="icdName"
-          prop="icdName"
+          key="leavediagname"
+          prop="leavediagname"
           width="120"
           :show-overflow-tooltip="true"
         >
-        </el-table-column> -->
+        </el-table-column>
 
         <el-table-column
           label="鍑洪櫌闅忚妯℃澘鍚嶇О"
@@ -491,19 +510,13 @@
           key="remark"
           prop="remark"
         >
-          <template  slot-scope="scope" v-if="scope.row.remark">
-            <el-tooltip
-              :content="scope.row.remark"
-              placement="top"
-              effect="dark"
+          <template slot-scope="scope" v-if="scope.row.remark">
+            <el-tag
+              type="warning"
+              v-if="scope.row.sendstate != 5 && scope.row.sendstate != 4"
+              >{{ scope.row.remark }}</el-tag
             >
-              <el-tag
-                type="warning"
-                v-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>
+            <el-tag type="warning" v-else>{{ scope.row.remark }}</el-tag>
           </template>
         </el-table-column>
         <el-table-column
@@ -523,15 +536,13 @@
               <el-button
                 size="medium"
                 type="text"
+                v-if="scope.row.isVisitAgain!=2"
                 @click="followupvisit(scope.row)"
-                v-hasPermi="['system:user:edit']"
                 ><span class="button-bb"
-                  ><i class="el-icon-s-promotion"></i>鍐嶆闅忚</span
-                ></el-button
-              >
+                  ><i class="el-icon-s-promotion"></i></span
+              ></el-button>
             </el-tooltip> -->
-            <el-tooltip
-              v-if="scope.row.sendstate == 1 || scope.row.sendstate == 2"
+            <!-- <el-tooltip
               class="item"
               effect="dark"
               content="鏆傚仠鏈嶅姟"
@@ -542,14 +553,20 @@
                 type="text"
                 @click="handlestop(scope.row)"
                 v-hasPermi="['system:user:edit']"
-                ><span class="button-sc"
-                  ><i class="el-icon-remove-outline"></i>鏆傚仠鏈嶅姟</span
-                ></el-button
-              >
-            </el-tooltip>
+                ><span class="button-sc"><i class="el-icon-delete"></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
+              ></el-button
+            >
+            <el-button
+              size="medium"
+              type="text"
+              @click="handleUpdate(scope.row)"
+              ><span class="button-textxga"
+                ><i class="el-icon-edit"></i>鎮h�呰繃婊�</span
               ></el-button
             >
           </template>
@@ -566,56 +583,55 @@
     </el-row>
     <!-- 娣诲姞鎴栦慨鏀瑰奖鍍忛殢璁垮璇濇 -->
     <el-dialog
-      :title="title"
-      :visible.sync="addalteropen"
-      width="700px"
-      append-to-body
+      :title="amendtag ? '淇敼鎮h�呬俊鎭�' : '鏂板鎮h��'"
+      :visible.sync="Labelchange"
+      width="900px"
     >
-      <el-form ref="form" :model="form" label-width="100px">
-        <el-row :gutter="20">
-          <el-col :span="12"
-            ><el-form-item label="浠诲姟鍚嶇О">
-              <el-input v-model="form.name"></el-input> </el-form-item
-          ></el-col>
-        </el-row>
-        <el-row :gutter="20">
-          <el-col :span="24"
-            ><el-form-item label="鎵�灞炵瀹�">
-              <el-select v-model="form.region" placeholder="璇烽�夋嫨绉戝">
-                <el-option label="鍖哄煙涓�" value="shanghai"></el-option>
-                <el-option label="鍖哄煙浜�" value="beijing"></el-option>
-              </el-select> </el-form-item></el-col
-        ></el-row>
-        <el-row :gutter="20">
-          <el-col :span="24"
-            ><el-form-item label="闅忚绫诲瀷">
-              <el-select v-model="form.region" placeholder="璇烽�夋嫨闅忚绫诲瀷">
-                <el-option label="鍖哄煙涓�" value="shanghai"></el-option>
-                <el-option label="鍖哄煙浜�" value="beijing"></el-option>
-              </el-select> </el-form-item
-          ></el-col>
-        </el-row>
-        <el-row :gutter="20">
-          <el-col :span="24">
-            <el-form-item label="鏈嶅姟妯″潡">
-              <el-select v-model="form.region" placeholder="璇烽�夋嫨妯″潡">
-                <el-option label="鍖哄煙涓�" value="shanghai"></el-option>
-                <el-option label="鍖哄煙浜�" value="beijing"></el-option>
+      <el-form ref="form" :model="form" :rules="rules" label-width="100px">
+        <el-row>
+          <el-col :span="8">
+            <el-form-item label="濮撳悕" width="100" prop="name">
+              <el-input
+                v-model="form.name"
+                placeholder="璇疯緭鍏ュ鍚�"
+                maxlength="30"
+              />
+            </el-form-item>
+          </el-col>
+          <el-col :span="8">
+            <el-form-item label="鎬у埆" width="100" prop="sex">
+              <el-select v-model="form.sex" placeholder="璇烽�夋嫨鎬у埆">
+                <el-option
+                  v-for="dict in sextype"
+                  :key="dict.value"
+                  :label="dict.label"
+                  :value="dict.value"
+                ></el-option>
               </el-select>
             </el-form-item>
           </el-col>
+          <el-col :span="8">
+            <el-form-item label="骞撮緞" prop="age">
+              <el-input
+                v-model="form.age"
+                placeholder="璇疯緭鍏ュ勾榫�"
+                maxlength="30"
+              />
+            </el-form-item>
+          </el-col>
         </el-row>
-        <el-row :gutter="20">
+
+        <el-row>
           <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>
         </el-row>
       </el-form>
       <div slot="footer" class="dialog-footer">
-        <el-button type="primary" @click="submitForm">鎻� 浜�</el-button>
-        <el-button @click="cancel">杩� 鍥�</el-button>
+        <el-button type="primary" @click="submitForm">纭� 瀹�</el-button>
+        <el-button @click="cancel">鍙� 娑�</el-button>
       </div>
     </el-dialog>
     <!-- 淇敼鍙戦�佹椂闂村璇濇 -->
@@ -693,71 +709,6 @@
         >
       </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>
 
@@ -769,11 +720,7 @@
   resetUserPwd,
   changeUserStatus,
 } from "@/api/system/user";
-import {
-  getTaskservelist,
-  buidegetTasklist,
-  addserviceSubtask,
-} from "@/api/AiCentre/index";
+import { getTaskservelist, buidegetTasklist } from "@/api/AiCentre/index";
 import Treeselect from "@riophae/vue-treeselect";
 import store from "@/store";
 import "@riophae/vue-treeselect/dist/vue-treeselect.css";
@@ -820,6 +767,7 @@
       zcform: {},
       dynamicTags: ["閫夐」涓�", "閫夐」浜�", "閫夐」涓�"], //閫夐」
       inputVisible: false,
+      Labelchange: false,
       ycvalue: "",
       yfsvalue: "",
       inputValue: "",
@@ -859,19 +807,14 @@
           name: "鍑洪櫌鏈嶅姟鎬婚噺",
           value: 0,
         },
-        {
-          name: "鎮h�呰繃婊�",
-          value: 0,
-        },
+        // {
+        //   name: "鎮h�呰繃婊�",
+        //   value: 0,
+        // },
         {
           name: "搴旈殢璁�",
           value: 0,
         },
-
-        // {
-        //   name: "寮傚父",
-        //   value: 0,
-        // },
         {
           name: "鍙戦�佸け璐�",
           value: 0,
@@ -907,32 +850,12 @@
         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,
+        searchscope: 3,visitCount: 1,
         scopetype: [],
         leaveldeptcodes: [],
         leavehospitaldistrictcodes: [],
@@ -941,6 +864,10 @@
       options: [],
 
       topicoptions: [
+        {
+          value: null,
+          label: "鍏ㄩ儴",
+        },
         {
           value: 1,
           label: "琛ㄥ崟宸查鍙�",
@@ -966,6 +893,16 @@
           label: "宸插畬鎴�",
         },
       ],
+      sextype: [
+        {
+          value: 1,
+          label: "鐢�",
+        },
+        {
+          value: 2,
+          label: "濂�",
+        },
+      ],
       topicoptionsyj: [
         {
           value: 1,
@@ -976,6 +913,41 @@
           label: "姝e父",
         },
       ],
+      url: "http://9.208.2.190:8090/smartor/serviceExternal/query360PatInfo",
+      postData: {
+        XiaoXiTou: {
+          FaSongFCSJC: "ZJHES",
+          FaSongJGID: localStorage.getItem("orgid"),
+          FaSongJGMC: localStorage.getItem("orgname"),
+          FaSongSJ: "2025-01-09聽17:29:36",
+          FaSongXTJC: "SUIFANGXT",
+          FaSongXTMC: "闅忚绯荤粺",
+          XiaoXiID: "5FA92AFB-9833-4608-87C7-F56A654AC171",
+          XiaoXiLX: "SC_LC_360STCX",
+          XiaoXiMC: "360聽瑙嗗浘鏌ヨ",
+          ZuHuID: localStorage.getItem("ZuHuID"),
+          ZuHuMC: localStorage.getItem("orgname"),
+        },
+        YeWuXX: {
+          BingRenXX: {
+            ZhengJianHM: "",
+            ZhengJianLXDM: "01",
+            ZhengJianLXMC: "灞呮皯韬唤璇�",
+            ZuZhiJGID: localStorage.getItem("orgid"),
+            ZuZhiJGMC: localStorage.getItem("orgname"),
+          },
+          YongHuXX: {
+            XiTongID: "SUIFANGXT",
+            XiTongMC: "闅忚绯荤粺",
+            YongHuID: "1400466972205912064",
+            YongHuXM: "JNRMYY",
+            ZuZhiJGID: localStorage.getItem("orgid"),
+            ZuZhiJGMC: localStorage.getItem("orgname"),
+            idp: "lyra",
+          },
+        },
+      },
+      amendtag: false,
       errtype: "",
       leavehospitaldistrictcode: "",
       serviceState: [],
@@ -1016,9 +988,10 @@
     this.getList(1);
   },
   methods: {
-    /** 鏌ヨ褰卞儚闅忚鏈嶅姟鍒楄〃 */
+    /** 鏌ヨ闂ㄨ瘖闅忚鏈嶅姟鍒楄〃 */
     getList(refresh) {
       // 榛樿鍏ㄩ儴
+
       if (this.topqueryParams.searchscope == 3) {
         this.topqueryParams.leaveldeptcodes = store.getters.belongDepts.map(
           (obj) => obj.deptCode
@@ -1048,12 +1021,12 @@
         if (refresh) {
           this.cardlist[0].value =
             Number(response.rows[0].wzx) + Number(response.rows[0].ysf);
-          this.cardlist[1].value = response.rows[0].wzx;
-          this.cardlist[2].value = response.rows[0].ysf;
+          // this.cardlist[1].value = response.rows[0].wzx;
+          this.cardlist[1].value = response.rows[0].ysf;
           this.ycvalue = response.rows[0].yc;
-          this.cardlist[3].value = response.rows[0].fssb;
-          this.cardlist[4].value = response.rows[0].dfs;
-          this.cardlist[5].value = response.rows[0].yfs2;
+          this.cardlist[2].value = response.rows[0].fssb;
+          this.cardlist[3].value = response.rows[0].dsf;
+          this.cardlist[4].value = response.rows[0].yfs2;
           this.yfsvalue = response.rows[0].yfs;
         }
         this.loading = false;
@@ -1081,6 +1054,20 @@
         });
         this.total = response.total;
       });
+    },
+    affiliation() {
+      this.topqueryParams.drcode = store.getters.hisUserId;
+      this.topqueryParams.nurseId = store.getters.hisUserId;
+      this.getList(1);
+    },
+    onthatday() {
+      this.topqueryParams.startSendDateTime = this.getCurrentDate();
+      this.topqueryParams.endSendDateTime = this.getCurrentDate();
+      this.getList(1);
+    },
+    getCurrentDate() {
+      const now = new Date();
+      return now.toISOString().slice(0, 10); // 鎴彇鍓�10涓瓧绗︼紝鍗� YYYY-MM-DD
     },
     buidegetTasklist(type) {
       if (this.topqueryParams.searchscope == 3) {
@@ -1114,7 +1101,7 @@
           this.cardlist[2].value = response.rows[0].ysf;
           this.ycvalue = response.rows[0].yc;
           this.cardlist[3].value = response.rows[0].fssb;
-          this.cardlist[4].value = response.rows[0].dfs;
+          this.cardlist[4].value = response.rows[0].dsf;
           this.cardlist[5].value = response.rows[0].yfs2;
           this.yfsvalue = response.rows[0].yfs;
         }
@@ -1177,11 +1164,7 @@
           row.status = row.status === "0" ? "1" : "0";
         });
     },
-    // 鍙栨秷鎸夐挳
-    cancel() {
-      this.addalteropen = false;
-      this.reset();
-    },
+
     // 琛ㄥ崟閲嶇疆
     reset() {
       this.form = {
@@ -1222,7 +1205,6 @@
       let code = value.slice(-1)[0];
       this.topqueryParams.leavehospitaldistrictcodes = [];
       this.topqueryParams.leaveldeptcodes = [];
-
       if (type == 1) {
         this.topqueryParams.leaveldeptcodes.push(code);
         this.topqueryParams.leavehospitaldistrictcodes = [];
@@ -1242,10 +1224,10 @@
       this.topqueryParams = {
         pageNum: 1,
         pageSize: 10,
-        serviceType: 2,
         sendstate: 2,
+        sort: 2, //0 鍑洪櫌鏃堕棿(姝e簭)    1 鍑洪櫌鏃堕棿(鍊掑簭)   2 鍙戦�佹椂闂�(姝e簭)    3 鍙戦�佹椂闂�(鍊掑簭)
+        serviceType: 2,
         searchscope: 2,
-        sort: 3,
       };
       this.handleQuery(1);
     },
@@ -1285,6 +1267,22 @@
         },
       });
     },
+    //鎮h��360璺宠浆
+    gettoken360(sfzh, drcode, drname) {
+      this.postData.YeWuXX.BingRenXX.ZhengJianHM = sfzh;
+      if (this.postData.XiaoXiTou.ZuHuMC == "涓芥按甯備腑鍖婚櫌") {
+        this.postData.YeWuXX.YongHuXX.YongHuID = "1400398571877961728";
+        this.postData.YeWuXX.YongHuXX.YongHuXM = "LSZYY";
+      }
+      query360PatInfo(this.postData).then((res) => {
+        if (res.data.url) {
+          window.open(res.data.url, "_blank");
+          // this.linkUrl = res.data.url;
+        } else {
+          this.$modal.msgWarning("360鏌ヨ鏃犵粨鏋�");
+        }
+      });
+    },
 
     /** 閲嶇疆瀵嗙爜鎸夐挳鎿嶄綔 */
     handleResetPwd(row) {
@@ -1302,24 +1300,28 @@
         })
         .catch(() => {});
     },
-
+    // 鍙栨秷鎸夐挳
+    cancel() {
+      this.Labelchange = false;
+      this.reset();
+    },
     /** 鎻愪氦鎸夐挳 */
     submitForm: function () {
       this.$refs["form"].validate((valid) => {
         if (valid) {
-          if (this.form.userId != undefined) {
-            updateUser(this.form).then((response) => {
-              this.$modal.msgSuccess("淇敼鎴愬姛");
-              this.open = false;
+          this.form.isoperation = 2;
+          this.form.notrequiredFlag = 1;
+          alterpatient(this.form)
+            .then((response) => {
+              console.log(response);
+            })
+            .then(() => {
               this.getList(1);
+              this.$modal.msgSuccess("鎮h�呰繃婊ゆ垚鍔�");
             });
-          } else {
-            addUser(this.form).then((response) => {
-              this.$modal.msgSuccess("鏂板鎴愬姛");
-              this.open = false;
-              this.getList(1);
-            });
-          }
+
+          this.reset();
+          this.Labelchange = false;
         }
       });
     },
@@ -1396,44 +1398,9 @@
           patid: row.patid,
           id: row.id,
           Voicetype: type,
+          visitCount: this.topqueryParams.visitCount,
         },
       });
-    },
-    // 鍐嶆闅忚
-    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) {
@@ -1450,7 +1417,7 @@
       this.topqueryParams.pageNum = null;
       this.topqueryParams.pageSize = null;
       this.download(
-        "smartor/serviceSubtask/export",
+        "smartor/serviceSubtask/patItemExport",
         {
           ...this.topqueryParams,
         },
@@ -1463,33 +1430,6 @@
         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;
-          });
-        }
-      });
     },
   },
 };
diff --git a/src/views/followvisit/linem/index.vue b/src/views/followvisit/linem/index.vue
index a73719a..aec5093 100644
--- a/src/views/followvisit/linem/index.vue
+++ b/src/views/followvisit/linem/index.vue
@@ -51,6 +51,7 @@
           label="浠诲姟鍚嶇О"
           align="center"
           sortable
+          width="150"
           key="userName"
           prop="userName"
           :show-overflow-tooltip="true"
@@ -68,7 +69,7 @@
           prop="nickName"
         />
         <el-table-column
-          label="寰呮墽琛�/鎬绘暟"
+          label="寰呴殢璁�/鎬绘暟"
           align="center"
           key="phonenumber"
           prop="phonenumber"
@@ -178,7 +179,7 @@
         @pagination="getList"
       />
     </el-row>
-    <!-- 娣诲姞鎴栦慨鏀归棬璇婇殢璁垮璇濇 -->
+    <!-- 娣诲姞鎴栦慨鏀瑰奖鍍忛殢璁垮璇濇 -->
     <el-dialog
       :title="title"
       :visible.sync="addalteropen"
@@ -221,7 +222,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>
@@ -269,7 +270,7 @@
       // 鐢ㄦ埛琛ㄦ牸鏁版嵁
       userList: null,
       // 寮瑰嚭灞傛爣棰�
-      title: "鏂板闂ㄨ瘖闅忚",
+      title: "鏂板褰卞儚闅忚",
       // 鏄惁鏄剧ず淇敼銆佹坊鍔犲脊鍑哄眰
       addalteropen: false,
       // 閮ㄩ棬鍚嶇О
@@ -285,13 +286,13 @@
       dynamicTags: ["閫夐」涓�", "閫夐」浜�", "閫夐」涓�"], //閫夐」
       inputVisible: false,
       inputValue: "",
-      previewVisible: false, //闂ㄨ瘖闅忚棰勮寮规
+      previewVisible: false, //褰卞儚闅忚棰勮寮规
       radio: "",
       radios: [],
-      previewtype: 2, //棰勮闂ㄨ瘖闅忚绫诲瀷
+      previewtype: 2, //棰勮褰卞儚闅忚绫诲瀷
       total: 0, // 鎬绘潯鏁�
-      ImportQuantity: 999, //瀵奸棬璇婇殢璁挎暟閲�
-      //棰勮闂ㄨ瘖闅忚淇℃伅
+      ImportQuantity: 999, //瀵煎奖鍍忛殢璁挎暟閲�
+      //棰勮褰卞儚闅忚淇℃伅
       previewvalue: {
         username: "杩欎釜鍖荤敓瀵逛綘鎬庝箞鏍�",
       },
@@ -479,7 +480,7 @@
     });
   },
   methods: {
-    /** 鏌ヨ闂ㄨ瘖闅忚鍒楄〃 */
+    /** 鏌ヨ褰卞儚闅忚鍒楄〃 */
     getList() {
       this.loading = true;
       listUser(this.addDateRange(this.topqueryParams, this.dateRange)).then(
@@ -490,7 +491,7 @@
         }
       );
     },
-    // 鏌ョ湅闂ㄨ瘖闅忚璇︽儏
+    // 鏌ョ湅褰卞儚闅忚璇︽儏
     Referencequestion(row) {
       this.previewVisible = true;
     },
@@ -508,7 +509,7 @@
         this.options = [];
       }
     },
-    // 闂ㄨ瘖闅忚鐘舵�佷慨鏀�
+    // 褰卞儚闅忚鐘舵�佷慨鏀�
     handleStatusChange(row) {
       let text = row.status === "0" ? "鍚敤" : "鍋滅敤";
       this.$modal
@@ -592,7 +593,7 @@
       // getUser().then((response) => {
       //   this.postOptions = response.posts;
       //   this.roleOptions = response.roles;
-      //   this.title = "鏂板闂ㄨ瘖闅忚";
+      //   this.title = "鏂板褰卞儚闅忚";
       //   this.form.password = this.initPassword;
       // });
     },
diff --git a/src/views/followvisit/outpatient/index.vue b/src/views/followvisit/outpatient/index.vue
index 957c7bf..ab2f5de 100644
--- a/src/views/followvisit/outpatient/index.vue
+++ b/src/views/followvisit/outpatient/index.vue
@@ -1,8 +1,69 @@
 <template>
   <div class="app-container">
+    <div class="leftvlue" style="margin-bottom: 20px">
+      <el-row :gutter="10">
+        <el-col :span="2.5" v-for="(item, index) in cardlist" :key="index">
+          <el-card
+            shadow="hover"
+            :body-style="item.router ? ' cursor: pointer' : 'cursor: default'"
+          >
+            <div style="padding: 8px" @click="$router.push(item.router)">
+              <span>{{ item.name }}</span>
+              <div
+                style="
+                  text-align: center;
+                  font-size: 18px;
+                  margin-top: 10px;
+                  font-weight: 600;
+                "
+              >
+              {{ item.value ? item.value : 0 }}
+              </div>
+            </div>
+          </el-card>
+        </el-col>
+        <!-- <el-col :span="2.5">
+          <div class="ysfleftvlue">
+            <el-card shadow="hover">
+              <div style="padding: 8px">
+                <span>琛ㄥ崟宸插彂閫�</span>
+                <div
+                  style="
+                    text-align: center;
+                    font-size: 18px;
+                    margin-top: 10px;
+                    font-weight: 600;
+                  "
+                >
+                  {{ yfsvalue }}
+                </div>
+              </div>
+            </el-card>
+          </div>
+        </el-col> -->
+        <el-col :span="2.5">
+          <div class="errleftvlue">
+            <el-card shadow="hover">
+              <div style="padding: 8px">
+                <span>寮傚父</span>
+                <div
+                  style="
+                    text-align: center;
+                    font-size: 18px;
+                    margin-top: 10px;
+                    font-weight: 600;
+                  "
+                >
+                  {{ ycvalue }}
+                </div>
+              </div>
+            </el-card>
+          </div>
+        </el-col>
+      </el-row>
+    </div>
     <el-row :gutter="20">
       <!--鐢ㄦ埛鏁版嵁-->
-
       <el-form
         :model="topqueryParams"
         ref="queryForm"
@@ -12,12 +73,13 @@
         label-width="98px"
       >
         <el-form-item label="浠诲姟鍚嶇О">
-          <el-input v-model="topqueryParams.taskName"></el-input>
+          <el-input
+            v-model="topqueryParams.taskName"
+            placeholder="璇烽�夋嫨浠诲姟鍚嶇О"
+          ></el-input>
         </el-form-item>
-        <el-form-item label="鍙戣捣浜�">
-          <el-input v-model="topqueryParams.createBy"></el-input>
-        </el-form-item>
-        <!-- <el-form-item label="瀹℃牳鏃堕棿">
+
+        <el-form-item label="闂ㄨ瘖鏃堕棿">
           <el-date-picker
             v-model="dateRange"
             style="width: 240px"
@@ -27,13 +89,26 @@
             start-placeholder="寮�濮嬫棩鏈�"
             end-placeholder="缁撴潫鏃ユ湡"
           ></el-date-picker>
-        </el-form-item> -->
-
-        <el-form-item label="妯℃澘鍚嶇О" prop="status">
-          <el-input v-model="topqueryParams.templatename"></el-input>
-
         </el-form-item>
-        <el-form-item label="闂ㄨ瘖闅忚鐘舵��" prop="status">
+
+        <el-form-item label="鎮h�呭鍚�" prop="sendname">
+          <el-input
+            v-model="topqueryParams.sendname"
+            placeholder="璇疯緭鍏ユ偅鑰呭鍚�"
+          ></el-input>
+        </el-form-item>
+
+        <el-form-item label="鎮h�呰寖鍥�" prop="status">
+          <el-cascader
+            v-model="topqueryParams.scopetype"
+            placeholder="榛樿鍏ㄩ儴"
+            :options="sourcetype"
+            :props="{ expandTrigger: 'hover' }"
+            @change="handleChange"
+          ></el-cascader>
+        </el-form-item>
+
+        <el-form-item label="浠诲姟鐘舵��" prop="status">
           <el-select v-model="topqueryParams.sendstate" placeholder="璇烽�夋嫨">
             <el-option
               v-for="item in topicoptions"
@@ -44,12 +119,13 @@
             </el-option>
           </el-select>
         </el-form-item>
+
         <el-form-item>
           <el-button
             type="primary"
             icon="el-icon-search"
             size="medium"
-            @click="handleQuery"
+            @click="handleQuery(1)"
             >鎼滅储</el-button
           >
           <el-button icon="el-icon-refresh" size="medium" @click="resetQuery"
@@ -66,11 +142,10 @@
             icon="el-icon-plus"
             size="medium"
             @click="handleAdd"
-            v-hasPermi="['system:user:add']"
             >鏂板</el-button
           >
         </el-col>
-        <!-- <el-col :span="1.5">
+        <el-col :span="1.5">
           <div class="documentf">
             <div class="document">
               <el-button
@@ -79,51 +154,7 @@
                 icon="el-icon-upload2"
                 size="medium"
                 @click="handleExport"
-                v-hasPermi="['system:user:export']"
                 >瀵煎嚭</el-button
-              >
-            </div>
-          </div>
-        </el-col> -->
-        <!-- <el-col :span="1.5">
-          <div class="documentf">
-            <div class="document">
-              <el-button
-                type="success"
-                plain
-                icon="el-icon-download"
-                size="medium"
-                @click="toleadExport"
-                v-hasPermi="['system:user:export']"
-                >瀵煎叆</el-button
-              >
-            </div>
-          </div>
-        </el-col>
-        <el-col :span="1.5">
-          <div class="documentf">
-            <div class="document">
-              <el-button
-                type="info"
-                icon="el-icon-refresh"
-                size="medium"
-                @click="TaskReset"
-                v-hasPermi="['system:user:export']"
-                >浠诲姟閲嶇疆</el-button
-              >
-            </div>
-          </div>
-        </el-col>
-        <el-col :span="1.5">
-          <div class="documentf">
-            <div class="document">
-              <el-button
-                type="success"
-                icon="el-icon-position"
-                size="medium"
-                @click="AllStarted"
-                v-hasPermi="['system:user:export']"
-                >鍏ㄩ儴寮�濮�</el-button
               >
             </div>
           </div>
@@ -133,11 +164,11 @@
             <div class="document">
               <el-button
                 type="warning"
-                icon="el-icon-remove"
+                plain
+                icon="el-icon-warning-outline"
                 size="medium"
-                @click="AllStop"
-                v-hasPermi="['system:user:export']"
-                >鍏ㄩ儴鍋滄</el-button
+                @click="toleadExport(1)"
+                >鎵ц澶辫触</el-button
               >
             </div>
           </div>
@@ -146,54 +177,223 @@
           <div class="documentf">
             <div class="document">
               <el-button
-                type="primary"
-                icon="el-icon-remove"
+                type="danger"
+                plain
+                icon="el-icon-warning"
                 size="medium"
-                @click="Sendtimesetting"
-                v-hasPermi="['system:user:export']"
-                >鍙戦�佹椂闂磋缃�</el-button
+                @click="toleadExport(2)"
+                >缁撴灉寮傚父</el-button
               >
             </div>
           </div>
-        </el-col> -->
-
-        <!-- <el-col :span="1.5"> </el-col> -->
+        </el-col>
       </el-row>
       <el-table
         v-loading="loading"
         :data="userList"
+        height="808"
+        :row-class-name="tableRowClassName"
         @selection-change="handleSelectionChange"
       >
         <el-table-column type="selection" width="50" align="center" />
         <el-table-column
-          label="搴忓彿"
+          label="浠诲姟鍚嶇О"
           fixed
           align="center"
-          key="id"
-          prop="id"
+          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.idcardno },
+                  })
+              "
+              ><span class="button-textsc">{{
+                scope.row.sendname
+              }}</span></el-button
+            >
+          </template>
+        </el-table-column>
+        <el-table-column
+          label="浠诲姟鐘舵��"
+          align="center"
+          key="sendstate"
+          prop="sendstate"
+          width="120"
+        >
+          <template slot-scope="scope">
+            <div v-if="scope.row.sendstate == 1">
+              <el-tag type="primary" :disable-transitions="false"
+                >琛ㄥ崟宸查鍙�</el-tag
+              >
+            </div>
+            <div v-if="scope.row.sendstate == 2">
+              <el-tag type="primary" :disable-transitions="false"
+                >寰呴殢璁�</el-tag
+              >
+            </div>
+            <div v-if="scope.row.sendstate == 3">
+              <el-tag type="success" :disable-transitions="false"
+                >琛ㄥ崟宸插彂閫�</el-tag
+              >
+            </div>
+            <div v-if="scope.row.sendstate == 4">
+              <el-tag type="info" :disable-transitions="false">涓嶆墽琛�</el-tag>
+            </div>
+            <div v-if="scope.row.sendstate == 5">
+              <el-tag type="danger" :disable-transitions="false"
+                >鍙戦�佸け璐�</el-tag
+              >
+            </div>
+            <div v-if="scope.row.sendstate == 6">
+              <el-tag type="danger" :disable-transitions="false">宸插畬鎴�</el-tag>
+            </div>
+          </template>
+        </el-table-column>
+        <!-- <el-table-column
+          label="浠诲姟寮傚父璇存槑"
+          width="120"
+          align="center"
+          key="remark"
+          prop="remark" -->
         />
 
         <el-table-column
+          label="澶勭悊鎰忚"
+          align="center"
+          key="suggest"
+          prop="suggest"
+          width="120"
+        >
+          <template slot-scope="scope">
+            <dict-tag
+              :options="dict.type.sys_suggest"
+              :value="scope.row.suggest"
+            />
+          </template>
+        </el-table-column>
+        <el-table-column
+          label="闅忚浜哄憳"
+          align="center"
+          key="updateBy"
+          prop="updateBy"
+          width="120"
+        />
+        <el-table-column
+          label="闅忚瀹屾垚鏃堕棿"
+          sortable
+          align="center"
+          prop="finishtime"
+          width="160"
+        >
+          <template slot-scope="scope">
+            <span>{{ parseTime(scope.row.finishtime) }}</span>
+          </template>
+        </el-table-column>
+        <el-table-column
+          label="闅忚缁撴灉"
+          width="200"
+          align="center"
+          key="remark"
+          prop="remark"
+        >
+          <template slot-scope="scope" v-if="scope.row.remark">
+            <el-tag
+              type="warning"
+              v-if="scope.row.sendstate != 5 && scope.row.sendstate != 4"
+              >{{ scope.row.remark }}</el-tag
+            >
+            <el-tag type="warning" v-else>{{ scope.row.remark }}</el-tag>
+          </template>
+        </el-table-column>
+        <el-table-column
+          label="妫�鏌ユ棩鏈�"
+          width="200"
+          align="center"
+          key="endtime"
+          prop="endtime"
+        >
+          <template slot-scope="scope">
+            <span>{{ formatTime(scope.row.endtime) }}</span>
+          </template></el-table-column
+        >
+        <el-table-column
+          label="搴旈殢璁挎棩鏈�"
+          width="200"
+          align="center"
+          key="longSendTime"
+          prop="longSendTime"
+        >
+          <template slot-scope="scope">
+            <span>{{ formatTime(scope.row.longSendTime) }}</span>
+          </template></el-table-column
+        >
+        <el-table-column
+          label="宸叉鏌ュぉ鏁�"
+          width="120"
+          align="center"
+          key="endDay"
+          prop="endDay"
+        >
+          <template slot-scope="scope">
+            <span>{{ scope.row.endDay ? scope.row.endDay + "澶�" : "" }}</span>
+          </template>
+        </el-table-column>
+        <el-table-column
+          label="韬唤璇佸彿鐮�"
+          width="200"
+          align="center"
+          key="sfzh"
+          prop="sfzh"
+        />
+        <el-table-column
+          label="鑱旂郴鐢佃瘽"
+          width="200"
+          align="center"
+          key="phone"
+          prop="phone"
+        />
+        <!-- <el-table-column
+          label="璐d换鎶ゅ+"
+          width="120"
+          align="center"
+          key="nurseName"
+          prop="nurseName"
+        /> -->
+        <el-table-column
+          label="妫�鏌ュ尰鐢�"
+          width="120"
+          align="center"
+          key="drname"
+          prop="drname"
+        />
+
+        <!-- <el-table-column
           label="鐥呭巻鍙�"
           align="center"
           sortable
           key="medicalRecordNo"
           prop="medicalRecordNo"
           width="120"
-        />
-        <el-table-column
-          label="骞撮緞"
-          align="center"
-          key="age"
-          prop="age"
-        />
+        /> -->
+
+        <!-- <el-table-column label="骞撮緞" align="center" key="age" prop="age" /> -->
+        <!-- <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="绉戝"
           align="center"
@@ -202,8 +402,16 @@
           width="120"
         >
         </el-table-column>
-
         <el-table-column
+          label="鐥呭尯"
+          align="center"
+          key="leavehospitaldistrictname"
+          prop="leavehospitaldistrictname"
+          width="120"
+        >
+        </el-table-column>
+
+        <!-- <el-table-column
           label="鐤剧梾鍚嶇О"
           align="center"
           key="icdName"
@@ -211,100 +419,80 @@
           width="120"
           :show-overflow-tooltip="true"
         >
+        </el-table-column> -->
 
-        </el-table-column>
-
-        <el-table-column
-          label="浠诲姟鍚嶇О"
+        <!-- <el-table-column
+          label="闂ㄨ瘖闅忚妯℃澘鍚嶇О"
           align="center"
-          key="taskName"
-          prop="taskName"
-          width="120"
-        />
-
-        <el-table-column
-          label="闅忚鏂瑰紡"
-          align="center"
-          key="serviceform"
-          prop="serviceform"
-          width="120"
+          key="templatename"
+          prop="templatename"
+          width="200"
         />
         <el-table-column
-          label="闅忚浜哄憳"
+          label="浠诲姟鎵ц鏂瑰紡"
           align="center"
-          key="operator"
-          prop="operator"
-          width="120"
-        />
-
-        <el-table-column
-          label="灏辫瘖鏃堕棿"
-          sortable
-          align="center"
-          prop="admindate"
+          key="preachform"
+          prop="preachform"
           width="160"
-        >
-          <template slot-scope="scope">
-            <span>{{ formatTime(scope.row.admindate) }}</span>
-          </template>
-        </el-table-column>
-        <el-table-column
-          label="闅忚鏃堕棿"
-          sortable
-          align="center"
-          prop="finishtime"
-          width="160"
-        >
-          <template slot-scope="scope">
-            <span>{{ formatTime(scope.row.finishtime) }}</span>
-          </template>
-        </el-table-column>
-
-
-        <el-table-column
-          label="闅忚鐘舵��"
-          fixed="right"
-          align="center"
-          key="sendstate"
-          prop="sendstate"
-          width="120"
           :show-overflow-tooltip="true"
         >
-        <template slot-scope="scope">
-            <dict-tag :options="serviceState" :value="scope.row.sendstate" />
+          <template slot-scope="scope">
+            <span v-for="item in scope.row.preachform">{{ item }}銆� </span>
           </template>
-        </el-table-column>
+        </el-table-column> -->
+        <!-- <el-table-column
+          label="浠诲姟鍙戦�佹祦绋�"
+          align="center"
+          key="serviceSubtaskRecordList"
+          prop="serviceSubtaskRecordList"
+          width="160"
+          :show-overflow-tooltip="true"
+        >
+          <template slot-scope="scope">
+            <span v-for="item in scope.row.serviceSubtaskRecordList"
+              >{{ item.remark }}銆�
+            </span>
+          </template>
+        </el-table-column> -->
+
         <el-table-column
           label="鎿嶄綔"
-          fixed="right"
           align="center"
+          fixed="right"
           width="200"
           class-name="small-padding fixed-width"
         >
           <template slot-scope="scope">
-            <!-- <el-button
-              size="medium"
-              type="text"
-              @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
+              class="item"
+              effect="dark"
+              content="閲嶆柊闅忚"
+              placement="top"
             >
-            <el-button
-              size="medium"
-              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-button
-              size="medium"
-              type="text"
-              @click="Seedetails(scope.row)"
-              v-hasPermi="['system:user:edit']"
+              <el-button
+                size="medium"
+                type="text"
+                @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
+              class="item"
+              effect="dark"
+              content="鍋滄"
+              placement="top"
+            >
+              <el-button
+                size="medium"
+                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> -->
+            <el-button size="medium" type="text" @click="Seedetails(scope.row)"
               ><span class="button-zx"
                 ><i class="el-icon-s-order"></i>鏌ョ湅璇︽儏</span
               ></el-button
@@ -456,22 +644,21 @@
 <script>
 import {
   listUser,
+  getUser,
   delUser,
   addUser,
   updateUser,
   resetUserPwd,
   changeUserStatus,
 } from "@/api/system/user";
-import {
-  getTaskservelist
-} from "@/api/AiCentre/index";
-import store from "@/store";
+import { getTaskservelist } from "@/api/AiCentre/index";
 import Treeselect from "@riophae/vue-treeselect";
+import store from "@/store";
 import "@riophae/vue-treeselect/dist/vue-treeselect.css";
 
 export default {
-  name: "User",
-  dicts: ["sys_normal_disable", "sys_user_sex"],
+  name: "Discharge",
+  dicts: ["sys_normal_disable", "sys_user_sex", "sys_yujing", "sys_suggest"],
   components: { Treeselect },
   data() {
     return {
@@ -508,7 +695,10 @@
       },
       dynamicTags: ["閫夐」涓�", "閫夐」浜�", "閫夐」涓�"], //閫夐」
       inputVisible: false,
+      ycvalue: "",
+      yfsvalue: "",
       inputValue: "",
+      preachform: "",
       previewVisible: false, //闂ㄨ瘖闅忚棰勮寮规
       radio: "",
       radios: [],
@@ -521,88 +711,61 @@
       },
       value: [],
       list: [],
-      loading: false,
-      states: [
-        "Alabama",
-        "Alaska",
-        "Arizona",
-        "Arkansas",
-        "California",
-        "Colorado",
-        "Connecticut",
-        "Delaware",
-        "Florida",
-        "Georgia",
-        "Hawaii",
-        "Idaho",
-        "Illinois",
-        "Indiana",
-        "Iowa",
-        "Kansas",
-        "Kentucky",
-        "Louisiana",
-        "Maine",
-        "Maryland",
-        "Massachusetts",
-        "Michigan",
-        "Minnesota",
-        "Mississippi",
-        "Missouri",
-        "Montana",
-        "Nebraska",
-        "Nevada",
-        "New Hampshire",
-        "New Jersey",
-        "New Mexico",
-        "New York",
-        "North Carolina",
-        "North Dakota",
-        "Ohio",
-        "Oklahoma",
-        "Oregon",
-        "Pennsylvania",
-        "Rhode Island",
-        "South Carolina",
-        "South Dakota",
-        "Tennessee",
-        "Texas",
-        "Utah",
-        "Vermont",
-        "Virginia",
-        "Washington",
-        "West Virginia",
-        "Wisconsin",
-        "Wyoming",
-      ],
-      pickerOptions: {
-        disabledDate(time) {
-          return time.getTime() > Date.now();
+
+      sourcetype: [
+        {
+          value: 1,
+          label: "绉戝",
+          children: [],
         },
-        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);
-            },
-          },
-        ],
-      },
+        {
+          value: 2,
+          label: "鐥呭尯",
+          children: [],
+        },
+        {
+          value: 3,
+          label: "鍏ㄩ儴",
+        },
+      ],
+      loading: false,
+      cardlist: [
+        {
+          name: "闂ㄨ瘖鏈嶅姟鎬婚噺",
+          value: 0,
+        },
+        // {
+        //   name: "鎮h�呰繃婊�",
+        //   value: 0,
+        // },
+        {
+          name: "搴旈殢璁�",
+          value: 0,
+        },
+
+        // {
+        //   name: "寮傚父",
+        //   value: 0,
+        // },
+        // {
+        //   name: "鍙戦�佸け璐�",
+        //   value: 0,
+        // },
+        {
+          name: "寰呴殢璁�",
+          value: 0,
+        },
+        {
+          name: "宸查殢璁�",
+          value: 0,
+        },
+
+        // {
+        //   name: "琛ㄥ崟宸插彂閫�",
+        //   value: 0,
+        // },
+      ],
+
       // 琛ㄥ崟鍙傛暟
       form: {
         phonenumber: "",
@@ -616,62 +779,138 @@
       topqueryParams: {
         pageNum: 1,
         pageSize: 10,
-        serviceType:3,
+        serviceType: 11,
+        sendstate:2,
+        scopetype: [],
+
       },
       propss: { multiple: true },
       options: [],
 
       topicoptions: [
-      {
+        {
           value: 1,
           label: "琛ㄥ崟宸查鍙�",
         },
         {
           value: 2,
-          label: "寰呮墽琛�",
+          label: "寰呴殢璁�",
         },
         {
           value: 3,
           label: "琛ㄥ崟宸插彂閫�",
         },
+        {
+          value: 4,
+          label: "涓嶆墽琛�",
+        },
+        {
+          value: 5,
+          label: "鍙戦�佸け璐�",
+        },
+        {
+          value: 6,
+          label: "宸插畬鎴�",
+        },
       ],
-      serviceState:[],
+      topicoptionsyj: [
+        {
+          value: 1,
+          label: "寮傚父",
+        },
+        {
+          value: 0,
+          label: "姝e父",
+        },
+      ],
+      errtype: "",
+      leavehospitaldistrictcode: "",
+      serviceState: [],
+      checkboxlist: [],
       // 琛ㄥ崟鏍¢獙
-      rules: {
-
-      },
+      rules: {},
     };
   },
   watch: {},
   created() {
     this.serviceState = store.getters.serviceState;
-    this.getList();
+    this.checkboxlist = store.getters.checkboxlist;
+    this.errtype = this.$route.query.errtype;
+    this.leavehospitaldistrictcode =
+      this.$route.query.leavehospitaldistrictcode;
+    this.sourcetype[0].children = store.getters.belongDepts.map((dept) => {
+      return {
+        label: dept.deptName,
+        value: dept.deptCode,
+      };
+    });
+    this.sourcetype[1].children = store.getters.belongWards.map((dept) => {
+      return {
+        label: dept.districtName,
+        value: dept.districtCode,
+      };
+    });
+    if (this.errtype) {
+      this.toleadExport(2);
+    } else {
+      this.getList(1);
+    }
     this.getConfigKey("sys.user.initPassword").then((response) => {
       this.initPassword = response.msg;
     });
   },
-  // 鎼滅储
-  mounted() {
-    this.list = this.states.map((item) => {
-      return { value: `value:${item}`, label: `label:${item}` };
-    });
+  activated() {
+    this.getList(1);
   },
   methods: {
-    /** 鏌ヨ闂ㄨ瘖闅忚鍒楄〃 */
-    getList() {
+    /** 鏌ヨ闂ㄨ瘖闅忚鏈嶅姟鍒楄〃 */
+    getList(refresh) {
+      // 榛樿鍏ㄩ儴
+
+      // 鎺ュ彈寮傚父璺宠浆
+
       this.loading = true;
-      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;
-          this.total = response.total;
-          this.loading = false;
+
+
+      getTaskservelist(this.topqueryParams).then((response) => {
+        this.userList = response.rows[0].serviceSubtaskList;
+        this.total = response.total;
+        if (refresh) {
+          this.cardlist[0].value =
+            Number(response.rows[0].wzx) + Number(response.rows[0].ysf);
+          // this.cardlist[1].value = response.rows[0].wzx;
+          // this.cardlist[2].value = response.rows[0].ysf;
+          this.ycvalue = response.rows[0].yc;
+          // this.cardlist[3].value = response.rows[0].fssb;
+          // this.cardlist[4].value = response.rows[0].dsf;
+          // this.cardlist[5].value = response.rows[0].yfs2;
+          this.yfsvalue = response.rows[0].yfs;
         }
-      );
+        this.loading = false;
+        this.userList.forEach((item) => {
+          let idArray = null;
+          if (item.endtime) {
+            item.endDay = this.daysBetween(item.endtime);
+          }
+
+          if (item.preachform) {
+            if (item.endtime) {
+              item.preachformson = item.preachform;
+              idArray = item.preachform.split(",");
+            }
+
+            item.preachform = idArray.map((value) => {
+              // 鏌ユ壘id瀵瑰簲鐨勫璞�
+              const item = this.checkboxlist.find(
+                (item) => item.value == value
+              );
+              // 濡傛灉鎵惧埌瀵瑰簲鐨刬d锛岃繑鍥瀕abel鍊硷紝鍚﹀垯杩斿洖null
+              return item ? item.label : null;
+            });
+          }
+        });
+        this.total = response.total;
+      });
     },
     // 鏌ョ湅闂ㄨ瘖闅忚璇︽儏
     Referencequestion(row) {
@@ -730,17 +969,32 @@
       this.resetForm("form");
     },
     /** 鎼滅储鎸夐挳鎿嶄綔 */
-    handleQuery() {
+    handleQuery(refresh) {
+
       this.topqueryParams.pageNum = 1;
-      this.getList();
+      this.topqueryParams.startOutHospTime = this.dateRange[0];
+      this.topqueryParams.endOutHospTime = this.dateRange[1];
+
+      this.getList(refresh);
+    },
+    // 鎮h�呰寖鍥村鐞�
+    handleChange(value) {
+      let type = value[0];
+      let code = value.slice(-1)[0];
+
+
+
     },
     /** 閲嶇疆鎸夐挳鎿嶄綔 */
     resetQuery() {
       this.dateRange = [];
-      this.resetForm("queryForm");
-      this.topqueryParams.deptId = undefined;
-      this.$refs.tree.setCurrentKey(null);
-      this.handleQuery();
+      this.topqueryParams = {
+        pageNum: 1,
+        pageSize: 10,
+        serviceType: 11,
+        sendstate:2,
+      };
+      this.handleQuery(1);
     },
     // 澶氶�夋閫変腑鏁版嵁
     handleSelectionChange(selection) {
@@ -774,7 +1028,7 @@
         path: "/followvisit/QuestionnaireTask",
         query: {
           type: 2,
-          serviceType: 3,
+          serviceType: 11,
         },
       });
     },
@@ -804,13 +1058,13 @@
             updateUser(this.form).then((response) => {
               this.$modal.msgSuccess("淇敼鎴愬姛");
               this.open = false;
-              this.getList();
+              this.getList(1);
             });
           } else {
             addUser(this.form).then((response) => {
               this.$modal.msgSuccess("鏂板鎴愬姛");
               this.open = false;
-              this.getList();
+              this.getList(1);
             });
           }
         }
@@ -825,7 +1079,7 @@
           return delUser(userIds);
         })
         .then(() => {
-          this.getList();
+          this.getList(1);
           this.$modal.msgSuccess("鍒犻櫎鎴愬姛");
         })
         .catch(() => {});
@@ -838,7 +1092,7 @@
           return console.log("鍋滄鎴愬姛");
         })
         .then(() => {
-          this.getList();
+          this.getList(1);
           this.$modal.msgWarning("鍋滄鎴愬姛");
         })
         .catch(() => {});
@@ -851,7 +1105,7 @@
           return console.log("寮�鍚垚鍔�");
         })
         .then(() => {
-          this.getList();
+          this.getList(1);
           this.$modal.msgSuccess("寮�鍚垚鍔�");
         })
         .catch(() => {});
@@ -864,7 +1118,7 @@
           return console.log("閫変腑鎴愬姛");
         })
         .then(() => {
-          this.getList();
+          this.getList(1);
           this.$modal.msgSuccess("閲嶇疆鎴愬姛");
         })
         .catch(() => {});
@@ -875,22 +1129,52 @@
     },
     // 璺宠浆璇︽儏椤�
     Seedetails(row) {
+      let type = "";
+      console.log(row, "rwo");
+      if (row.preachformson) {
+        if (row.preachformson.includes("3")) {
+          type = 1;
+          console.log(type, "rwo");
+        }
+      }
       this.$router.push({
         path: "/followvisit/record/detailpage/",
-        query: { taskid: row.taskid, patid: row.patid },
+        query: {
+          taskid: row.taskid,
+          patid: row.patid,
+          id: row.id,
+          Voicetype: type,
+        },
       });
     },
-    // 瀵煎叆鎸夐挳
-    toleadExport() {},
+    // 渚挎嵎鎸夐挳
+    toleadExport(too) {
+      if (too == 1) {
+        this.topqueryParams.sendstate = 4;
+        this.topqueryParams.excep = null;
+      } else if (too == 2) {
+        this.topqueryParams.excep = 1;
+      }
+      this.handleQuery();
+    },
     /** 瀵煎嚭鎸夐挳鎿嶄綔 */
     handleExport() {
+      this.topqueryParams.pageNum = null;
+      this.topqueryParams.pageSize = null;
       this.download(
-        "system/user/export",
+        "smartor/serviceSubtask/patItemExport",
         {
           ...this.topqueryParams,
         },
         `user_${new Date().getTime()}.xlsx`
       );
+    },
+    // 寮傚父鍒楁覆鏌�
+    tableRowClassName({ row, rowIndex }) {
+      if (row.excep == 1) {
+        return "warning-row";
+      }
+      return "";
     },
   },
 };
@@ -906,6 +1190,9 @@
 .document {
   // width: 100px;
   height: 50px;
+}
+::v-deep.el-table .warning-row {
+  background: #eec4c4;
 }
 
 .documentf {
@@ -985,6 +1272,28 @@
     }
   }
 }
+::v-deep.leftvlue .el-card__body {
+  background: #d0e9fd;
+}
+::v-deep.leftvlue .el-card__body:hover {
+  background: #8dc8f8;
+  cursor: pointer; /* 榧犳爣鎮诞鏃跺彉涓烘墜褰� */
+}
+::v-deep.errleftvlue .el-card__body {
+  background: #fdd0d7;
+}
+::v-deep.errleftvlue .el-card__body:hover {
+  background: #f88d96;
+  cursor: pointer; /* 榧犳爣鎮诞鏃跺彉涓烘墜褰� */
+}
+
+::v-deep.ysfleftvlue .el-card__body {
+  background: #d0fdd8;
+}
+::v-deep.ysfleftvlue .el-card__body:hover {
+  background: #8df8a4;
+  cursor: pointer; /* 榧犳爣鎮诞鏃跺彉涓烘墜褰� */
+}
 .button-bb {
   font-weight: 500;
   background-color: #2ba05c;
diff --git a/src/views/followvisit/record/detailpage/index.vue b/src/views/followvisit/record/detailpage/index.vue
index 4092ff5..ba36907 100644
--- a/src/views/followvisit/record/detailpage/index.vue
+++ b/src/views/followvisit/record/detailpage/index.vue
@@ -1,6 +1,6 @@
 <template>
   <!-- 鑱婅繛椤甸潰璁板綍 -->
-  <div class="Followupdetailspage">
+  <div class="Followupdetailspage" id="app-container">
     <div class="Followuserinfo">
       <div>
         <div class="userinfo-text">
@@ -15,30 +15,41 @@
                 >鏌ョ湅鎮h�呭叏閮ㄦ湇鍔�</el-button
               >
               <el-button v-else type="success" @click="getTaskservelist(id)"
-                >鏌ョ湅鎮h�呮湰娆℃湇鍔′俊鎭�</el-button
+                >鍙睍绀烘湰娆℃湇鍔′俊鎭�</el-button
               >
-            </div>
-            <div style="margin-left: 20px; color: #59a0f0">
-              <el-link
-                href="https://9.208.2.207:6060/search-homepage"
-                target="_blank"
-                :underline="true"
-              >
-                鍓嶅線CDSS鏌ヨ
-              </el-link>
             </div>
           </div>
           <!-- <el-button type="success">闅忚鍚庣煭淇�</el-button> -->
         </div>
       </div>
       <div>
-        <el-table :data="logsheetlist" style="width: 100%">
+        <el-table
+          :data="logsheetlist"
+          :row-class-name="tableRowClassName"
+          style="width: 100%"
+        >
           <el-table-column
             prop="sendname"
             align="center"
             label="濮撳悕"
             width="100"
           >
+            <template slot-scope="scope">
+              <el-button
+                size="medium"
+                type="text"
+                @click="
+                  gettoken360(
+                    scope.row.sfzh,
+                    scope.row.drcode,
+                    scope.row.drname
+                  )
+                "
+                ><span class="button-textsc">{{
+                  scope.row.sendname
+                }}</span></el-button
+              >
+            </template>
           </el-table-column>
           <el-table-column
             prop="taskName"
@@ -88,7 +99,7 @@
           <el-table-column
             prop="finishtime"
             align="center"
-            label="瀹屾垚鏃堕棿"
+            label="闅忚瀹屾垚鏃堕棿"
             width="200"
             show-overflow-tooltip
           >
@@ -184,7 +195,6 @@
                 size="medium"
                 type="text"
                 @click="Seedetails(scope.row)"
-                v-hasPermi="['system:user:edit']"
                 ><span class="button-zx"
                   ><i class="el-icon-s-order"></i>鏌ョ湅</span
                 ></el-button
@@ -200,18 +210,25 @@
           <div class="headline">
             <div>浜哄伐澶勭悊</div>
             <el-row :gutter="20">
-              <el-col :span="12"
+              <el-col :span="8"
                 ><el-form-item label="鑱旂郴鐢佃瘽">
                   <el-input
                     placeholder="鑱旂郴鐢佃瘽缂哄け"
                     v-model="userform.telcode"
                   ></el-input> </el-form-item
               ></el-col>
-              <el-col :span="12"
+              <el-col :span="8"
                 ><el-form-item label="鑱旂郴浜虹數璇�">
                   <el-input
                     placeholder="鑱旂郴浜虹數璇濈己澶�"
                     v-model="userform.relativetelcode"
+                  ></el-input> </el-form-item
+              ></el-col>
+              <el-col :span="8"
+                ><el-form-item label="鑱旂郴浜哄叧绯�">
+                  <el-input
+                    placeholder="鑱旂郴浜哄叧绯荤己澶�"
+                    v-model="userform.relation"
                   ></el-input> </el-form-item
               ></el-col>
             </el-row>
@@ -243,9 +260,13 @@
               <el-button plain type="info" @click="Editsingletaskson('5')"
                 >涓績闅忚</el-button
               >
-              <!-- <el-button type="primary" round @click="sendAgain()"
+              <el-button
+                type="primary"
+                round
+                v-if="this.form.isVisitAgain != 2"
+                @click="sendAgain()"
                 >鍐嶆闅忚</el-button
-              > -->
+              >
             </div>
           </el-form-item>
         </el-form>
@@ -262,13 +283,23 @@
                         maxlength="30"
                       ></el-input> </el-form-item
                   ></el-col>
+                </el-row>
+                <el-row :gutter="20">
                   <el-col :span="12"
                     ><el-form-item label="鑱旂郴鏂瑰紡" prop="telcode">
                       <el-input
                         v-model="userform.telcode"
                         placeholder="璇疯緭鍏ヨ仈绯绘柟寮�"
-                        maxlength="30"
+                        maxlength="20"
                       /> </el-form-item
+                  ></el-col>
+                  <el-col :span="12">
+                    <el-form-item label="浜插睘鑱旂郴鏂瑰紡" prop="name">
+                      <el-input
+                        v-model="userform.relativetelcode"
+                        placeholder="璇疯緭鍏ュ鍚�"
+                        maxlength="20"
+                      ></el-input> </el-form-item
                   ></el-col>
                 </el-row>
                 <el-row :gutter="20">
@@ -323,12 +354,12 @@
             <div class="title">{{ taskname ? taskname : "闂嵎" }}</div>
 
             <div class="preview-left" v-if="!Voicetype">
-              <!-- 鍗曢�� -->
               <div
                 class="topic-dev"
                 v-for="(item, index) in tableDatatop"
                 :key="item.id"
               >
+                <!-- 鍗曢�� -->
                 <div
                   :class="
                     item.isabnormal
@@ -336,7 +367,7 @@
                       : 'scriptTopic-dev'
                   "
                   :key="index"
-                  v-if="item.scriptType == 1"
+                  v-if="item.scriptType == 1 && !item.astrict"
                 >
                   <div class="dev-text">
                     {{ index + 1 }}銆乕鍗曢�塢<span>{{ item.scriptContent }}</span>
@@ -344,14 +375,20 @@
                   <div class="dev-xx">
                     <el-radio-group
                       v-model="item.scriptResult"
-                      @change="handleOptionChange($event, index, item)"
+                      @change="
+                        handleOptionChange(
+                          $event,
+                          index,
+                          item.svyLibTemplateTargetoptions
+                        )
+                      "
                     >
                       <el-radio
                         v-for="(
-                          items, index
+                          items, indexs
                         ) in item.svyLibTemplateTargetoptions"
                         :class="items.isabnormal ? 'red-star' : ''"
-                        :key="index"
+                        :key="indexs"
                         :label="items.optioncontent"
                         >{{ items.optioncontent }}</el-radio
                       >
@@ -369,7 +406,7 @@
                       : 'scriptTopic-dev'
                   "
                   :key="index"
-                  v-if="item.scriptType == 2"
+                  v-if="item.scriptType == 2 && !item.astrict"
                 >
                   <div class="dev-text">
                     {{ index + 1 }}銆乕澶氶�塢<span>{{ item.scriptContent }}</span>
@@ -400,7 +437,7 @@
                 <div
                   class="scriptTopic-dev"
                   :key="index"
-                  v-if="item.scriptType == 4"
+                  v-if="item.scriptType == 4 && !item.astrict"
                 >
                   <div class="dev-text">
                     {{ index + 1 }}銆乕闂瓟]<span>{{ item.scriptContent }}</span>
@@ -532,7 +569,11 @@
         </el-tab-pane>
       </el-tabs>
     </div>
-    <el-dialog title="鎮h�呭啀娆¢殢璁�" :visible.sync="dialogFormVisible">
+    <el-dialog
+      title="鎮h�呭啀娆¢殢璁�"
+      v-dialogDrags
+      :visible.sync="dialogFormVisible"
+    >
       <el-form ref="zcform" :rules="zcrules" :model="form" label-width="80px">
         <el-form-item label="浠诲姟鍚嶇О">
           <el-input
@@ -565,30 +606,110 @@
             v-model="form.leavehospitaldistrictname"
           ></el-input>
         </el-form-item>
+        <el-form-item label="鍑洪櫌鏃堕棿">
+          <el-input
+            style="width: 400px"
+            disabled
+            v-model="form.endtime"
+          ></el-input>
+        </el-form-item>
+        <div class="headline">涓婃闅忚</div>
+        <el-divider></el-divider>
+        <el-row>
+          <el-col :span="12">
+            <el-form-item label="闅忚鏂瑰紡">
+              <el-select
+                v-model="form.visitType2"
+                filterable
+                allow-create
+                default-first-option
+                disabled
+                placeholder="璇烽�夋嫨闅忚鏂瑰紡"
+                class="custom-disabled"
+              >
+                <el-option
+                  v-for="item in options"
+                  :key="item.value"
+                  :label="item.label"
+                  :value="item.value"
+                >
+                </el-option>
+              </el-select>
+            </el-form-item>
+          </el-col>
+          <el-col :span="12">
+            <el-form-item label="闅忚鏃堕棿">
+              <el-date-picker
+                type="date"
+                disabled
+                placeholder="閫夋嫨鏃ユ湡"
+                :picker-options="pickerOptions"
+                align="right"
+                v-model="form.date2"
+                class="custom-disabled"
+              ></el-date-picker>
+            </el-form-item>
+          </el-col>
+        </el-row>
 
+        <el-form-item label="闅忚璁板綍">
+          <el-input
+            class="custom-disabled"
+            type="textarea"
+            disabled
+            v-model="form.remark2"
+          ></el-input>
+        </el-form-item>
+        <div class="headline">涓嬫闅忚</div>
+        <el-divider></el-divider>
+        <el-row>
+          <el-col :span="12">
+            <el-form-item label="闅忚鏂瑰紡" prop="date1">
+              <el-select
+                v-model="form.visitType"
+                filterable
+                allow-create
+                default-first-option
+                @change="visitChange"
+                placeholder="璇烽�夋嫨闅忚鏂瑰紡"
+              >
+                <el-option
+                  v-for="item in options"
+                  :key="item.value"
+                  :label="item.label"
+                  :value="item.value"
+                >
+                </el-option>
+              </el-select>
+            </el-form-item>
+          </el-col>
+          <el-col :span="12">
+            <el-form-item label="闅忚鏃堕棿" prop="date1">
+              <el-date-picker
+                type="date"
+                placeholder="閫夋嫨鏃ユ湡"
+                :picker-options="pickerOptions"
+                align="right"
+                v-model="form.date1"
+              ></el-date-picker>
+            </el-form-item>
+          </el-col>
+        </el-row>
         <el-form-item label="闅忚鏂瑰紡" prop="resource">
           <el-radio-group v-model="form.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="form.date1"
-            style="width: 100%"
-          ></el-date-picker>
-        </el-form-item>
+
         <el-form-item label="闅忚璁板綍">
           <el-input type="textarea" v-model="form.remark"></el-input>
         </el-form-item>
       </el-form>
       <div slot="footer" class="dialog-footer">
-        <el-button @click="dialogFormVisible = false">鍙� 娑�</el-button>
+        <el-button type="warning" @click="dialogFormVisible = false"
+          >鍙� 娑�</el-button
+        >
         <el-button type="primary" @click="setupsubtask">纭鍒涘缓鏈嶅姟</el-button>
       </div>
     </el-dialog>
@@ -607,8 +728,13 @@
   serviceSubtaskDetailadd,
   updatePersonVoices,
   addPersonVoices,
+  query360PatInfo,
 } from "@/api/AiCentre/index";
-import { messagelistpatient, alterpatient } from "@/api/patient/homepage";
+import {
+  messagelistpatient,
+  alterpatient,
+  listcontactinformation,
+} from "@/api/patient/homepage";
 export default {
   dicts: ["sys_normal_disable", "sys_user_sex", "sys_yujing", "sys_suggest"],
   data() {
@@ -620,23 +746,135 @@
       activeName: "wj",
       voice: "",
       templateid: "",
+      again: "",
       zcform: {},
       form: {},
       tableDatatop: [], //棰樼洰琛�
       voiceDatatop: [], //棰樼洰琛�
       dynamicTags: [],
       zcrules: {
-        date1: [
+        resource: [
           { required: true, message: "璇烽�夋嫨闅忚鏂瑰紡", trigger: "change" },
         ],
-        resource: [
-          { required: true, message: "璇烽�夋嫨闅忚鏃堕棿", trigger: "blur" },
+        date1: [{ required: true, message: "璇烽�夋嫨闅忚鏃堕棿", trigger: "blur" }],
+      },
+      url: "http://9.208.2.190:8090/smartor/serviceExternal/query360PatInfo",
+      postData: {
+        XiaoXiTou: {
+          FaSongFCSJC: "ZJHES",
+          FaSongJGID: localStorage.getItem("orgid"),
+          FaSongJGMC: localStorage.getItem("orgname"),
+          FaSongSJ: "2025-01-09聽17:29:36",
+          FaSongXTJC: "SUIFANGXT",
+          FaSongXTMC: "闅忚绯荤粺",
+          XiaoXiID: "5FA92AFB-9833-4608-87C7-F56A654AC171",
+          XiaoXiLX: "SC_LC_360STCX",
+          XiaoXiMC: "360聽瑙嗗浘鏌ヨ",
+          ZuHuID: localStorage.getItem("ZuHuID"),
+          ZuHuMC: localStorage.getItem("orgname"),
+        },
+        YeWuXX: {
+          BingRenXX: {
+            ZhengJianHM: "",
+            ZhengJianLXDM: "01",
+            ZhengJianLXMC: "灞呮皯韬唤璇�",
+            ZuZhiJGID: localStorage.getItem("orgid"),
+            ZuZhiJGMC: localStorage.getItem("orgname"),
+          },
+          YongHuXX: {
+            XiTongID: "SUIFANGXT",
+            XiTongMC: "闅忚绯荤粺",
+            YongHuID: "1400466972205912064",
+            YongHuXM: "JNRMYY",
+            ZuZhiJGID: localStorage.getItem("orgid"),
+            ZuZhiJGMC: localStorage.getItem("orgname"),
+            idp: "lyra",
+          },
+        },
+      },
+      pickerOptions: {
+        shortcuts: [
+          {
+            text: "涓冨ぉ鍚�",
+            onClick(picker) {
+              const date = new Date();
+              date.setTime(date.getTime() + 3600 * 1000 * 24 * 7);
+              picker.$emit("pick", date);
+            },
+          },
+          {
+            text: "15澶╁悗",
+            onClick(picker) {
+              const date = new Date();
+              date.setTime(date.getTime() + 3600 * 1000 * 24 * 15);
+              picker.$emit("pick", date);
+            },
+          },
+          {
+            text: "涓�涓湀鍚�",
+            onClick(picker) {
+              const date = new Date();
+              date.setTime(date.getTime() + 3600 * 1000 * 24 * 30);
+              picker.$emit("pick", date);
+            },
+          },
+          {
+            text: "涓変釜鏈堝悗",
+            onClick(picker) {
+              const date = new Date();
+              date.setTime(date.getTime() + 3600 * 1000 * 24 * 90);
+              picker.$emit("pick", date);
+            },
+          },
+          {
+            text: "鍏釜鏈堝悗",
+            onClick(picker) {
+              const date = new Date();
+              date.setTime(date.getTime() + 3600 * 1000 * 24 * 180);
+              picker.$emit("pick", date);
+            },
+          },
+          {
+            text: "涓�骞村悗",
+            onClick(picker) {
+              const date = new Date();
+              date.setTime(date.getTime() + 3600 * 1000 * 24 * 365);
+              picker.$emit("pick", date);
+            },
+          },
         ],
       },
+      options: [
+        {
+          value: "涓冨ぉ鍚�",
+          label: "涓冨ぉ鍚�",
+        },
+        {
+          value: "15澶╁悗",
+          label: "15澶╁悗",
+        },
+        {
+          value: "涓�涓湀鍚�",
+          label: "涓�涓湀鍚�",
+        },
+        {
+          value: "涓変釜鏈堝悗",
+          label: "涓変釜鏈堝悗",
+        },
+        {
+          value: "鍏釜鏈堝悗",
+          label: "鍏釜鏈堝悗",
+        },
+        {
+          value: "涓�骞村悗",
+          label: "涓�骞村悗",
+        },
+      ],
       userform: {},
-      Whetherall: false, //鏄惁鍏ㄩ儴璁板綍灞曠ず
+      Whetherall: true, //鏄惁鍏ㄩ儴璁板綍灞曠ず
       dialogFormVisible: false,
       Voicetype: 0, //鏄惁涓鸿闊虫湇鍔�
+      visitCount: null,
       logsheetlist: [],
       topicobj: {},
       sendname: null,
@@ -652,10 +890,12 @@
     this.id = this.$route.query.id;
     this.sendname = this.$route.query.sendname;
     this.patid = this.$route.query.patid;
+    this.again = this.$route.query.again;
     this.Voicetype = this.$route.query.Voicetype;
+    this.visitCount = this.$route.query.visitCount;
     this.serviceType = this.$route.query.serviceType;
 
-    this.getTaskservelist(this.id);
+    this.getTaskservelist();
   },
 
   methods: {
@@ -668,10 +908,21 @@
         isFinish: false,
       }).then((res) => {
         if (res.code === 200) {
-          this.tableDatatop = res.data.scriptResult.script;
-          this.tableDatatop.forEach((item) => {
-            console.log(item.scriptResultId, "scriptResultId");
+          // 閽堝鍐嶆闅忚鏈嶅姟杩涜鍒犻櫎缁撴灉璧嬪��
+          if (this.again && res.data.upScriptResult) {
+            res.data.upScriptResult.forEach((itemA) => {
+              const itemB = res.data.scriptResult.find(
+                (item) => item.scriptContent === itemA.scriptContent
+              );
+              if (itemB) {
+                itemB.scriptResult = itemA.scriptResult;
+              }
+            });
+          }
+          this.tableDatatop = res.data.scriptResult;
 
+          this.tableDatatop.forEach((item) => {
+            if (item.scriptType == 2) item.scriptResult = [];
             if (item.scriptResultId && item.scriptType != 2) {
               item.isoption = 3;
               item.scriptResult = item.scriptResult;
@@ -682,6 +933,22 @@
           });
           this.taskname = res.data.taskName;
           this.overdata();
+        }
+      });
+    },
+    //鎮h��360璺宠浆
+    gettoken360(sfzh, drcode, drname) {
+      this.postData.YeWuXX.BingRenXX.ZhengJianHM = sfzh;
+      if (this.postData.XiaoXiTou.ZuHuMC == "涓芥按甯備腑鍖婚櫌") {
+        this.postData.YeWuXX.YongHuXX.YongHuID = "1400398571877961728";
+        this.postData.YeWuXX.YongHuXX.YongHuXM = "LSZYY";
+      }
+      query360PatInfo(this.postData).then((res) => {
+        if (res.data.url) {
+          window.open(res.data.url, "_blank");
+          // this.linkUrl = res.data.url;
+        } else {
+          this.$modal.msgWarning("360鏌ヨ鏃犵粨鏋�");
         }
       });
     },
@@ -699,7 +966,33 @@
           // this.dynamicTags = response.rows[0].tagList.map(this.processElement);
         }
       });
+      listcontactinformation({ patid: this.patid }).then((response) => {
+        this.tableData = response.rows;
+        if (this.tableData.length) {
+          this.userform.relativetelcode = this.tableData[0].contactway;
+          this.userform.relation = this.tableData[0].relation;
+        }
+      });
     },
+    // 鍐嶆闅忚鏃堕棿閫夊彇
+    visitChange(value) {
+      // 鏍规嵁閫夋嫨鐨勯殢璁挎柟寮忚缃椂闂�
+      const now = new Date();
+      if (value.includes("涓冨ぉ鍚�")) {
+        this.form.date1 = new Date(now.getTime() + 3600 * 1000 * 24 * 7);
+      } else if (value.includes("15澶╁悗")) {
+        this.form.date1 = new Date(now.getTime() + 3600 * 1000 * 24 * 15);
+      } else if (value.includes("涓�涓湀鍚�")) {
+        this.form.date1 = new Date(now.getTime() + 3600 * 1000 * 24 * 30);
+      } else if (value.includes("涓変釜鏈堝悗")) {
+        this.form.date1 = new Date(now.getTime() + 3600 * 1000 * 24 * 90);
+      } else if (value.includes("鍏釜鏈堝悗")) {
+        this.form.date1 = new Date(now.getTime() + 3600 * 1000 * 24 * 180);
+      } else if (value.includes("涓�骞村悗")) {
+        this.form.date1 = new Date(now.getTime() + 3600 * 1000 * 24 * 365);
+      }
+    },
+
     // 鑾峰彇璇煶鏁版嵁
     getPersonVoices(id) {
       let obj = {
@@ -707,10 +1000,8 @@
         patid: this.patid,
         subId: id ? id : this.id,
       };
-      console.log(this.voiceDatatop, "111");
 
       getPersonVoices(obj).then((res) => {
-        console.log("222");
         if (res.code == 200) {
           this.voiceDatatop = res.data.serviceSubtaskDetails;
           this.voice = res.data.voice;
@@ -725,6 +1016,7 @@
               item.scriptResult = [];
             }
           });
+
           if (!this.tableDatatop.length) {
             this.puttaskid(this.templateid);
           }
@@ -752,7 +1044,6 @@
               item.scriptResult = [];
             }
           });
-          console.log(this.tableDatatop, "this.tableDatatop");
         }
       });
     },
@@ -800,14 +1091,50 @@
             }
           });
           this.Editsingletasksonyic(6);
+
           this.$modal
             .confirm(
-              '浠诲姟淇濆瓨鎴愬姛鏄惁閽堝鎮h�咃細"' + this.userform.name + '"鍐嶆闅忚锛�'
+              '浠诲姟淇濆瓨鎴愬姛鏄惁閽堝鎮h�咃細"' +
+                this.logsheetlist[0].sendname +
+                '"鍐嶆闅忚锛�',
+              "纭",
+              {
+                confirmButtonText: "纭畾",
+                cancelButtonText: "鍙栨秷",
+                showCancelButton: true,
+                dangerouslyUseHTMLString: true,
+                confirmButtonClass: "custom-confirm-button", // 鑷畾涔夌‘璁ゆ寜閽殑绫诲悕
+                cancelButtonClass: "custom-cancel-button", // 鑷畾涔夊彇娑堟寜閽殑绫诲悕
+              }
             )
             .then(() => {
+              document.querySelector("#app").scrollTo(0, 0);
+              this.formtidy();
               this.dialogFormVisible = true;
             })
-            .catch(() => {});
+            .catch(() => {
+              if (this.form.serviceType == 13) {
+                if (this.visitCount) {
+                  this.$router.push({
+                    path: "/logisticsservice/zbAgain",
+                  });
+                } else {
+                  this.$router.push({
+                    path: "/logisticsservice/record",
+                  });
+                }
+              } else if (form.serviceType == 2) {
+                if (this.visitCount) {
+                  this.$router.push({
+                    path: "/followvisit/again",
+                  });
+                } else {
+                  this.$router.push({
+                    path: "/followvisit/discharge",
+                  });
+                }
+              }
+            });
         })
         .catch((error) => {
           // 濡傛灉鏈変换浣曚竴涓紓姝ユ搷浣滃け璐ワ紝浼氳繘鍏ヨ繖閲�
@@ -816,7 +1143,6 @@
     },
     yuyingetdetail() {
       this.tableDatatop.forEach((item, index) => {
-        console.log(item.scriptResult, "scriptResult");
         item.scriptResult = item.scriptResult.join("&");
         item.templatequestionnum = index + 1;
         item.subId = this.id;
@@ -840,19 +1166,58 @@
           this.$modal.msgSuccess("鏈嶅姟淇濆瓨鎴愬姛");
           this.$modal
             .confirm(
-              '浠诲姟淇濆瓨鎴愬姛鏄惁閽堝鎮h�咃細"' + this.userform.name + '"鍐嶆闅忚锛�'
+              '浠诲姟淇濆瓨鎴愬姛鏄惁閽堝鎮h�咃細"' +
+                this.userform.name +
+                '"鍐嶆闅忚锛�',
+              "纭",
+              {
+                confirmButtonText: "纭畾",
+                cancelButtonText: "鍙栨秷",
+                showCancelButton: true,
+                dangerouslyUseHTMLString: true,
+                confirmButtonClass: "custom-confirm-button", // 鑷畾涔夌‘璁ゆ寜閽殑绫诲悕
+                cancelButtonClass: "custom-cancel-button", // 鑷畾涔夊彇娑堟寜閽殑绫诲悕
+              }
             )
             .then(() => {
+              document.querySelector("#app").scrollTo(0, 0);
+              this.formtidy();
               this.dialogFormVisible = true;
             })
-            .catch(() => {});
+            .catch(() => {
+              if (this.form.serviceType == 13) {
+                if (this.visitCount) {
+                  this.$router.push({
+                    path: "/logisticsservice/zbAgain",
+                  });
+                } else {
+                  this.$router.push({
+                    path: "/logisticsservice/record",
+                  });
+                }
+              } else if (form.serviceType == 2) {
+                if (this.visitCount) {
+                  this.$router.push({
+                    path: "/followvisit/again",
+                  });
+                } else {
+                  this.$router.push({
+                    path: "/followvisit/discharge",
+                  });
+                }
+              }
+            });
         }
       });
     },
-
+    // 鍐嶆闅忚鏁版嵁鏇存浛
+    formtidy() {
+      this.form.visitType2 = this.form.visitType;
+      this.form.date2 = this.form.longSendTime;
+      this.form.remark2 = this.form.remark;
+    },
     // 鑾峰彇鎮h�呰褰�
     getTaskservelist(id) {
-      this.id = id;
       if (id) {
         this.Whetherall = false;
       } else {
@@ -864,13 +1229,14 @@
         subId: id,
       }).then((res) => {
         if (res.code == 200) {
-          this.form = res.rows[0].serviceSubtaskList[0];
-          console.log(this.form, "this.form");
+          this.form = res.rows[0].serviceSubtaskList.find(
+            (item) => item.id == this.id
+          );
           this.logsheetlist = res.rows[0].serviceSubtaskList;
           this.templateid = this.logsheetlist[0].templateid;
           const targetDate = new Date(this.form.longSendTime); // 鐩爣鏃ユ湡
           const now = new Date(); // 褰撳墠鏃堕棿
-
+          this.form.endtime = this.formatTime(this.form.endtime);
           if (now < targetDate && this.form.sendstate == 2) {
             this.$confirm("褰撳墠鏈嶅姟鏈埌鍙戦�佹椂闂磋璋ㄦ厧淇敼", "鎻愮ず", {
               confirmButtonText: "纭畾",
@@ -901,22 +1267,22 @@
           Editsingletaskson(objson).then((res) => {
             if (res.code) {
               this.$modal.msgSuccess("鏈嶅姟璁板綍鎴愬姛");
-              this.getTaskservelist(this.id);
+              this.getTaskservelist();
             }
           });
         }
       });
     },
     Editsingletasksonyic(sendstate) {
-      console.log(sendstate,'sendstate');
-
       let objson = {};
       getTaskservelist({
         patid: this.patid,
         subId: this.id,
       }).then((res) => {
         if (res.code == 200) {
-          objson = res.rows[0].serviceSubtaskList[0];
+          objson = res.rows[0].serviceSubtaskList.find(
+            (item) => item.id == this.id
+          );
           objson.remark = this.form.remark;
           if (sendstate) objson.sendstate = sendstate;
           Editsingletaskson(objson).then((res) => {
@@ -929,14 +1295,24 @@
                   this.$modal.msgError("鍩虹淇℃伅淇敼澶辫触");
                 }
               });
-              this.getTaskservelist(this.id);
+              this.getTaskservelist();
             }
           });
         }
       });
     },
+    // 寮傚父鍒楁覆鏌�
+    tableRowClassName({ row, rowIndex }) {
+      if (row.id == this.id) {
+        return "warning-row";
+      }
+      return "";
+    },
     // 璋冭捣鍐嶆鍙戦��
     sendAgain() {
+      document.querySelector("#app").scrollTo(0, 0);
+      // scrollTo(0, 0)
+      this.formtidy();
       this.dialogFormVisible = true;
     },
     // 鏌ョ湅璇︽儏
@@ -949,19 +1325,27 @@
               this.Voicetype = 1;
             }
           }
-          console.log(this.Voicetype, "this.Voicetype");
-
           this.taskid = row.taskid;
           this.id = row.id;
           this.patid = row.patid;
           this.serviceType = row.serviceType;
-          this.getTaskservelist(this.id);
+          this.getTaskservelist();
         })
         .catch(() => {});
     },
     handleOptionChange(a, b, c) {
-      console.log(this.tableDatatop[b], "this.tableDatatop[b]");
-
+      const result = c.find((item) => item.optioncontent == a);
+      if (result.nextQuestion == 0) {
+        this.tableDatatop = this.tableDatatop.reduce((acc, item, i) => {
+          acc.push(i > b ? { ...item, astrict: 1 } : item);
+          return acc;
+        }, []);
+      } else {
+        this.tableDatatop = this.tableDatatop.reduce((acc, item, i) => {
+          acc.push(i > b ? { ...item, astrict: 0 } : item);
+          return acc;
+        }, []);
+      }
       if (this.Voicetype) {
         var obj = this.tableDatatop[b].ivrTaskScriptTargetoptionList.find(
           (item) => item.optioncontent == a
@@ -980,8 +1364,6 @@
     },
     overdata() {
       this.tableDatatop.forEach((item, index) => {
-        console.log(item.svyLibTemplateTargetoptions);
-
         var obj = item.svyLibTemplateTargetoptions.find(
           (items) => items.optioncontent == item.scriptResult
         );
@@ -999,38 +1381,64 @@
     setupsubtask() {
       this.$refs["zcform"].validate((valid) => {
         if (valid) {
+          this.form.remark =
+            this.form.remark + "銆�" + this.getCurrentTime() + "銆�";
           let form = structuredClone(this.form);
           form.longSendTime = this.formatTime(form.date1);
+          form.finishtime = "";
           if (form.resource) {
             if (form.resource == 2) {
-              form.serviceType = 10;
+              form.serviceType = 13;
+              form.visitDeptCode = localStorage.getItem("deptCode");
+              form.visitDeptName = "闅忚涓績";
+            } else {
+              form.visitDeptCode = form.deptcode;
+              form.visitDeptName = form.deptname;
             }
           } else {
             this.$modal.msgError("鏈�夋嫨闅忚鏂瑰紡");
+            return;
           }
-          form.id = null;
+          // form.id = null;
           form.sendstate = 2;
           addserviceSubtask(form).then((res) => {
             if (res.code == 200) {
               this.$modal.msgSuccess("鍒涘缓鎴愬姛");
+              if (form.serviceType == 13) {
+                this.$router.push({
+                  path: "/logisticsservice/again",
+                });
+              } else if (form.serviceType == 2) {
+                this.$router.push({
+                  path: "/logisticsservice/zbAgain",
+                });
+              }
             } else {
               this.$modal.msgError("鍒涘缓澶辫触");
             }
+            document.querySelector("#app").scrollTo(0, 0);
             this.dialogFormVisible = false;
           });
         }
       });
     },
-    updateScore(a, b, c) {
-      console.log(a);
-      console.log(b);
-      console.log(c);
+    getCurrentTime() {
+      const now = new Date();
+      const year = now.getFullYear();
+      const month = String(now.getMonth() + 1).padStart(2, "0");
+      const day = String(now.getDate()).padStart(2, "0");
+      const hours = String(now.getHours()).padStart(2, "0");
+      const minutes = String(now.getMinutes()).padStart(2, "0");
+      const seconds = String(now.getSeconds()).padStart(2, "0");
+
+      return `${year}-${month}-${day} ${hours}:${minutes}:${seconds}`;
     },
+    updateScore(a, b, c) {},
   },
 };
 </script>
 
-<style lang="scss" scoped>
+<style lang="scss">
 .Followupdetailspage {
   margin: 10px;
 }
@@ -1053,6 +1461,9 @@
       margin-right: 20px;
     }
   }
+}
+::v-deep.el-table .warning-row {
+  background: #c4e2ee;
 }
 .Followuserinfos {
   margin: 20px 10px;
@@ -1198,8 +1609,25 @@
 ::v-deep.el-link.el-link--default {
   color: #02a7f0 !important;
 }
+.el-message-box__btns button:nth-child(2) {
+  margin-left: 10px;
+  background-color: #f57676;
+  border-color: #f57676;
+}
 .mulsz {
   font-size: 25px;
   margin-top: 20px;
 }
+.el-input.is-disabled .el-input__inner {
+  background-color: #fff; /* 鑳屾櫙棰滆壊 */
+  border-color: #dcdfe6; /* 杈规棰滆壊 */
+  color: #080808 !important; /* 鏂囧瓧棰滆壊 */
+  cursor: not-allowed; /* 榧犳爣鏍峰紡 */
+}
+.el-textarea.is-disabled .el-textarea__inner {
+  background-color: #fff; /* 鑳屾櫙棰滆壊 */
+  border-color: #dcdfe6; /* 杈规棰滆壊 */
+  color: #080808 !important; /* 鏂囧瓧棰滆壊 */
+  cursor: not-allowed; /* 榧犳爣鏍峰紡 */
+}
 </style>
diff --git a/src/views/patient/ycquestionnaire/index.vue b/src/views/followvisit/record/index.vue
similarity index 73%
copy from src/views/patient/ycquestionnaire/index.vue
copy to src/views/followvisit/record/index.vue
index 67c3af9..1063d26 100644
--- a/src/views/patient/ycquestionnaire/index.vue
+++ b/src/views/followvisit/record/index.vue
@@ -17,7 +17,7 @@
                   font-weight: 600;
                 "
               >
-                {{ item.value }}
+                {{ item.value ? item.value : 0 }}
               </div>
             </div>
           </el-card>
@@ -119,6 +119,17 @@
             </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"
+            >
+            </el-option>
+          </el-select>
+        </el-form-item>
 
         <el-form-item>
           <el-button
@@ -154,7 +165,6 @@
                 icon="el-icon-upload2"
                 size="medium"
                 @click="handleExport"
-                v-hasPermi="['system:user:export']"
                 >瀵煎嚭</el-button
               >
             </div>
@@ -188,11 +198,32 @@
             </div>
           </div>
         </el-col>
+        <el-col :span="1.5">
+          <div class="documentf">
+            <div class="document">
+              <el-button
+                type="success"
+                plain
+                size="medium"
+                @click="buidegetTasklist()"
+                >寰呭姙鏈嶅姟</el-button
+              >
+            </div>
+          </div>
+        </el-col>
+        <el-col :span="1.5">
+          <div class="documentf">
+            <div class="document">
+              <el-button type="success" size="medium" @click="onthatday()"
+                >褰撴棩鏈嶅姟</el-button
+              >
+            </div>
+          </div>
+        </el-col>
       </el-row>
       <el-table
         v-loading="loading"
         :data="userList"
-        height="660"
         :row-class-name="tableRowClassName"
         @selection-change="handleSelectionChange"
       >
@@ -208,11 +239,24 @@
         <!-- <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="
+                gettoken360(scope.row.sfzh, scope.row.drcode, scope.row.drname)
+              "
+              ><span class="button-textsc">{{
+                scope.row.sendname
+              }}</span></el-button
+            >
+          </template>
+        </el-table-column>
         <el-table-column
           label="浠诲姟鐘舵��"
           align="center"
@@ -221,32 +265,41 @@
           width="120"
         >
           <template slot-scope="scope">
-            <div v-if="scope.row.sendstate == 1">
-              <el-tag type="primary" :disable-transitions="false"
-                >琛ㄥ崟宸查鍙�</el-tag
-              >
-            </div>
-            <div v-if="scope.row.sendstate == 2">
-              <el-tag type="primary" :disable-transitions="false"
-                >寰呮墽琛�</el-tag
-              >
-            </div>
-            <div v-if="scope.row.sendstate == 3">
-              <el-tag type="success" :disable-transitions="false"
-                >琛ㄥ崟宸插彂閫�</el-tag
-              >
-            </div>
-            <div v-if="scope.row.sendstate == 4">
-              <el-tag type="info" :disable-transitions="false">涓嶆墽琛�</el-tag>
-            </div>
-            <div v-if="scope.row.sendstate == 5">
-              <el-tag type="danger" :disable-transitions="false"
-                >鍙戦�佸け璐�</el-tag
-              >
-            </div>
-            <div v-if="scope.row.sendstate == 6">
-              <el-tag type="danger" :disable-transitions="false">宸插畬鎴�</el-tag>
-            </div>
+            <el-tooltip
+              class="item"
+              effect="dark"
+              :content="scope.row.remark"
+              placement="top-start"
+            >
+              <div v-if="scope.row.sendstate == 1">
+                <el-tag type="primary" :disable-transitions="false"
+                  >琛ㄥ崟宸查鍙�</el-tag
+                >
+              </div>
+              <div v-if="scope.row.sendstate == 2">
+                <el-tag type="primary" :disable-transitions="false"
+                  >寰呴殢璁�</el-tag
+                >
+              </div>
+              <div v-if="scope.row.sendstate == 3">
+                <el-tag type="success" :disable-transitions="false"
+                  >琛ㄥ崟宸插彂閫�</el-tag
+                >
+              </div>
+              <div v-if="scope.row.sendstate == 4">
+                <el-tag type="info" :disable-transitions="false">涓嶆墽琛�</el-tag>
+              </div>
+              <div v-if="scope.row.sendstate == 5">
+                <el-tag type="danger" :disable-transitions="false"
+                  >鍙戦�佸け璐�</el-tag
+                >
+              </div>
+              <div v-if="scope.row.sendstate == 6">
+                <el-tag type="danger" :disable-transitions="false"
+                  >宸插畬鎴�</el-tag
+                >
+              </div>
+            </el-tooltip>
           </template>
         </el-table-column>
         <!-- <el-table-column
@@ -258,7 +311,7 @@
         />
 
         <el-table-column
-          label="浜哄伐澶勭悊鎰忚"
+          label="澶勭悊鎰忚"
           align="center"
           key="suggest"
           prop="suggest"
@@ -274,12 +327,12 @@
         <el-table-column
           label="闅忚浜哄憳"
           align="center"
-          key="createBy"
-          prop="createBy"
+          key="updateBy"
+          prop="updateBy"
           width="120"
         />
         <el-table-column
-          label="闅忚鏃堕棿"
+          label="闅忚瀹屾垚鏃堕棿"
           sortable
           align="center"
           prop="finishtime"
@@ -361,7 +414,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="绉戝"
@@ -450,7 +503,7 @@
             <!-- <el-tooltip
               class="item"
               effect="dark"
-              content="閲嶆柊闅忚"
+              content="鍐嶆闅忚"
               placement="top"
             >
               <el-button
@@ -459,13 +512,15 @@
                 @click="followupvisit(scope.row)"
                 v-hasPermi="['system:user:edit']"
                 ><span class="button-bb"
-                  ><i class="el-icon-s-promotion"></i></span
-              ></el-button>
+                  ><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
@@ -473,8 +528,10 @@
                 type="text"
                 @click="handlestop(scope.row)"
                 v-hasPermi="['system:user:edit']"
-                ><span class="button-sc"><i class="el-icon-delete"></i></span
-              ></el-button>
+                ><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"
@@ -493,7 +550,7 @@
         @pagination="getList"
       />
     </el-row>
-    <!-- 娣诲姞鎴栦慨鏀归棬璇婇殢璁垮璇濇 -->
+    <!-- 娣诲姞鎴栦慨鏀瑰奖鍍忛殢璁垮璇濇 -->
     <el-dialog
       :title="title"
       :visible.sync="addalteropen"
@@ -536,7 +593,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>
@@ -622,6 +679,50 @@
         >
       </span>
     </el-dialog>
+    <!-- 鍐嶆闅忚 -->
+    <el-dialog title="鎮h�呭啀娆¢殢璁�" :visible.sync="dialogFormVisible">
+      <el-form ref="form" :model="zcform" label-width="80px">
+        <el-form-item label="鎮h�呭悕绉�">
+          <el-input style="width: 400px" v-model="zcform.name"></el-input>
+        </el-form-item>
+        <el-form-item label="浠诲姟鍚嶇О">
+          <el-input style="width: 400px" v-model="zcform.name"></el-input>
+        </el-form-item>
+        <el-form-item label="闅忚鏂瑰紡">
+          <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="闅忚鏃堕棿" v-if="!zcform.delivery">
+          <el-col :span="11">
+            <el-date-picker
+              type="date"
+              placeholder="閫夋嫨鏃ユ湡"
+              v-model="zcform.date1"
+              style="width: 100%"
+            ></el-date-picker>
+          </el-col>
+          <el-col class="line" :span="2">-</el-col>
+          <el-col :span="11">
+            <el-time-picker
+              placeholder="閫夋嫨鏃堕棿"
+              v-model="zcform.date2"
+              style="width: 100%"
+            ></el-time-picker>
+          </el-col>
+        </el-form-item>
+      </el-form>
+      <div slot="footer" class="dialog-footer">
+        <el-button @click="dialogFormVisible = false">鍙� 娑�</el-button>
+        <el-button type="primary" @click="dialogFormVisible = false"
+          >纭� 瀹�</el-button
+        >
+      </div>
+    </el-dialog>
   </div>
 </template>
 
@@ -635,7 +736,11 @@
   resetUserPwd,
   changeUserStatus,
 } from "@/api/system/user";
-import { getTaskservelist } from "@/api/AiCentre/index";
+import {
+  getTaskservelist,
+  buidegetTasklist,
+  query360PatInfo,
+} from "@/api/AiCentre/index";
 import Treeselect from "@riophae/vue-treeselect";
 import store from "@/store";
 import "@riophae/vue-treeselect/dist/vue-treeselect.css";
@@ -656,12 +761,13 @@
       multiple: true,
       // 鏄剧ず鎼滅储鏉′欢
       showSearch: true,
+      dialogFormVisible: false,
       // 鎬绘潯鏁�
       total: 0,
       // 鐢ㄦ埛琛ㄦ牸鏁版嵁
       userList: null,
       // 寮瑰嚭灞傛爣棰�
-      title: "鏂板闂ㄨ瘖闅忚",
+      title: "鏂板褰卞儚闅忚",
       // 鏄惁鏄剧ず淇敼銆佹坊鍔犲脊鍑哄眰
       addalteropen: false,
       // 淇敼鍙戦�佹椂闂村璇濇
@@ -677,19 +783,53 @@
       ruleForm: {
         type: [],
       },
+      postData: {
+        XiaoXiTou: {
+          FaSongFCSJC: "ZJHES",
+          FaSongJGID: localStorage.getItem("orgid"),
+          FaSongJGMC: localStorage.getItem("orgname"),
+          FaSongSJ: "2025-01-09聽17:29:36",
+          FaSongXTJC: "SUIFANGXT",
+          FaSongXTMC: "闅忚绯荤粺",
+          XiaoXiID: "5FA92AFB-9833-4608-87C7-F56A654AC171",
+          XiaoXiLX: "SC_LC_360STCX",
+          XiaoXiMC: "360聽瑙嗗浘鏌ヨ",
+          ZuHuID: localStorage.getItem("ZuHuID"),
+          ZuHuMC: localStorage.getItem("orgname"),
+        },
+        YeWuXX: {
+          BingRenXX: {
+            ZhengJianHM: "",
+            ZhengJianLXDM: "01",
+            ZhengJianLXMC: "灞呮皯韬唤璇�",
+            ZuZhiJGID: localStorage.getItem("orgid"),
+            ZuZhiJGMC: localStorage.getItem("orgname"),
+          },
+          YongHuXX: {
+            XiTongID: "SUIFANGXT",
+            XiTongMC: "闅忚绯荤粺",
+            YongHuID: "1400466972205912064",
+            YongHuXM: "JNRMYY",
+            ZuZhiJGID: localStorage.getItem("orgid"),
+            ZuZhiJGMC: localStorage.getItem("orgname"),
+            idp: "lyra",
+          },
+        },
+      },
+      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: "杩欎釜鍖荤敓瀵逛綘鎬庝箞鏍�",
       },
@@ -718,10 +858,10 @@
           name: "鍑洪櫌鏈嶅姟鎬婚噺",
           value: 0,
         },
-        {
-          name: "鎮h�呰繃婊�",
-          value: 0,
-        },
+        // {
+        //   name: "鎮h�呰繃婊�",
+        //   value: 0,
+        // },
         {
           name: "搴旈殢璁�",
           value: 0,
@@ -736,7 +876,7 @@
           value: 0,
         },
         {
-          name: "寰呮墽琛�",
+          name: "寰呴殢璁�",
           value: 0,
         },
         {
@@ -763,8 +903,10 @@
       topqueryParams: {
         pageNum: 1,
         pageSize: 10,
-        serviceType: 9,
+        serviceType: 13,
         searchscope: 3,
+        sendstate: 2,
+        sort: 2,
         scopetype: [],
         leaveldeptcodes: [],
         leavehospitaldistrictcodes: [],
@@ -774,12 +916,16 @@
 
       topicoptions: [
         {
+          value: null,
+          label: "鍏ㄩ儴",
+        },
+        {
           value: 1,
           label: "琛ㄥ崟宸查鍙�",
         },
         {
           value: 2,
-          label: "寰呮墽琛�",
+          label: "寰呴殢璁�",
         },
         {
           value: 3,
@@ -806,6 +952,24 @@
         {
           value: 0,
           label: "姝e父",
+        },
+      ],
+      topicoptionssort: [
+        {
+          value: 0,
+          label: "鍑洪櫌鏃堕棿(姝e簭)",
+        },
+        {
+          value: 1,
+          label: "鍑洪櫌鏃堕棿(鍊掑簭)",
+        },
+        {
+          value: 2,
+          label: "鍙戦�佹椂闂�(姝e簭)",
+        },
+        {
+          value: 3,
+          label: "鍙戦�佹椂闂�(鍊掑簭)",
         },
       ],
       errtype: "",
@@ -848,7 +1012,7 @@
     this.getList(1);
   },
   methods: {
-    /** 鏌ヨ闂ㄨ瘖闅忚鏈嶅姟鍒楄〃 */
+    /** 鏌ヨ褰卞儚闅忚鏈嶅姟鍒楄〃 */
     getList(refresh) {
       // 榛樿鍏ㄩ儴
       if (this.topqueryParams.searchscope == 3) {
@@ -866,12 +1030,93 @@
         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;
+        this.total = response.total;
+        if (refresh) {
+          this.cardlist[0].value =
+            Number(response.rows[0].wzx) + Number(response.rows[0].ysf);
+          // this.cardlist[1].value = response.rows[0].wzx;
+          this.cardlist[1].value = response.rows[0].ysf;
+          this.ycvalue = response.rows[0].yc;
+          this.cardlist[2].value = response.rows[0].fssb;
+          this.cardlist[3].value = response.rows[0].dsf;
+          this.cardlist[4].value = response.rows[0].yfs2;
+          this.yfsvalue = response.rows[0].yfs;
+        }
+        this.loading = false;
+        this.userList.forEach((item) => {
+          let idArray = null;
+          if (item.endtime) {
+            item.endDay = this.daysBetween(item.endtime);
+          }
+
+          if (item.preachform) {
+            if (item.endtime) {
+              item.preachformson = item.preachform;
+              idArray = item.preachform.split(",");
+            }
+
+            item.preachform = idArray.map((value) => {
+              // 鏌ユ壘id瀵瑰簲鐨勫璞�
+              const item = this.checkboxlist.find(
+                (item) => item.value == value
+              );
+              // 濡傛灉鎵惧埌瀵瑰簲鐨刬d锛岃繑鍥瀕abel鍊硷紝鍚﹀垯杩斿洖null
+              return item ? item.label : null;
+            });
+          }
+        });
+        this.total = response.total;
+      });
+    },
+    //鎮h��360璺宠浆
+    gettoken360(sfzh, drcode, drname) {
+      this.postData.YeWuXX.BingRenXX.ZhengJianHM = sfzh;
+      if (this.postData.XiaoXiTou.ZuHuMC == "涓芥按甯備腑鍖婚櫌") {
+        this.postData.YeWuXX.YongHuXX.YongHuID = "1400398571877961728";
+        this.postData.YeWuXX.YongHuXX.YongHuXM = "LSZYY";
+      }
+      query360PatInfo(this.postData).then((res) => {
+        if (res.data.url) {
+          window.open(res.data.url, "_blank");
+          // this.linkUrl = res.data.url;
+        } else {
+          this.$modal.msgWarning("360鏌ヨ鏃犵粨鏋�");
+        }
+      });
+    },
+    buidegetTasklist(type) {
+      if (this.topqueryParams.searchscope == 3) {
+        this.topqueryParams.leaveldeptcodes = store.getters.belongDepts.map(
+          (obj) => obj.deptCode
+        );
+        this.topqueryParams.leavehospitaldistrictcodes =
+          store.getters.belongWards.map((obj) => obj.districtCode);
+      }
+      // 鎺ュ彈寮傚父璺宠浆
+      if (this.errtype) {
+        this.topqueryParams.leavehospitaldistrictcodes.push(
+          this.leavehospitaldistrictcode
+        );
+      }
+      let obj = {
+        pageNum: 1,
+        pageSize: 10,
+        leavehospitaldistrictcodes:
+          this.topqueryParams.leavehospitaldistrictcodes,
+        sendstates: [2, 3],
+        leaveldeptcodes: this.topqueryParams.leaveldeptcodes,
+      };
+      buidegetTasklist(obj).then((response) => {
         this.userList = response.rows[0].serviceSubtaskList;
         this.total = response.total;
         if (refresh) {
@@ -881,7 +1126,7 @@
           this.cardlist[2].value = response.rows[0].ysf;
           this.ycvalue = response.rows[0].yc;
           this.cardlist[3].value = response.rows[0].fssb;
-          this.cardlist[4].value = response.rows[0].dfs;
+          this.cardlist[4].value = response.rows[0].dsf;
           this.cardlist[5].value = response.rows[0].yfs2;
           this.yfsvalue = response.rows[0].yfs;
         }
@@ -893,8 +1138,10 @@
           }
 
           if (item.preachform) {
+            if (item.endtime) {
               item.preachformson = item.preachform;
               idArray = item.preachform.split(",");
+            }
 
             item.preachform = idArray.map((value) => {
               // 鏌ユ壘id瀵瑰簲鐨勫璞�
@@ -927,7 +1174,7 @@
         this.options = [];
       }
     },
-    // 闂ㄨ瘖闅忚鐘舵�佷慨鏀�
+    // 褰卞儚闅忚鐘舵�佷慨鏀�
     handleStatusChange(row) {
       let text = row.status === "0" ? "鍚敤" : "鍋滅敤";
       this.$modal
@@ -1005,8 +1252,13 @@
       this.topqueryParams = {
         pageNum: 1,
         pageSize: 10,
-        serviceType: 9,
+        serviceType: 13,
+        sort: 2,
         searchscope: 2,
+        sendstate: 2,
+        scopetype: [],
+        leaveldeptcodes: [],
+        leavehospitaldistrictcodes: [],
       };
       this.handleQuery(1);
     },
@@ -1027,6 +1279,15 @@
         this.$refs.saveTagInput.$refs.input.focus();
       });
     },
+    onthatday() {
+      this.topqueryParams.startSendDateTime = this.getCurrentDate();
+      this.topqueryParams.endSendDateTime = this.getCurrentDate();
+      this.getList(1);
+    },
+    getCurrentDate() {
+      const now = new Date();
+      return now.toISOString().slice(0, 10); // 鎴彇鍓�10涓瓧绗︼紝鍗� YYYY-MM-DD
+    },
     //鑾峰彇澶卞幓鐒︾偣瑙﹀彂
     handleInputConfirm() {
       let inputValue = this.inputValue;
@@ -1042,7 +1303,7 @@
         path: "/followvisit/QuestionnaireTask",
         query: {
           type: 2,
-          serviceType: 9,
+          serviceType: 13,
         },
       });
     },
@@ -1158,8 +1419,44 @@
           patid: row.patid,
           id: row.id,
           Voicetype: type,
+          again: 1,
         },
       });
+    },
+    // 鍐嶆闅忚
+    followupvisit() {
+      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) {
@@ -1176,7 +1473,8 @@
       this.topqueryParams.pageNum = null;
       this.topqueryParams.pageSize = null;
       this.download(
-        "smartor/serviceSubtask/export",
+        // "smartor/serviceSubtask/export",
+        "smartor/serviceSubtask/patItemExport",
         {
           ...this.topqueryParams,
         },
@@ -1324,7 +1622,7 @@
 }
 .button-sc {
   font-weight: 500;
-  background-color: #dd302a;
+  background-color: #b3a21f;
   padding: 5px;
   border-radius: 1px;
   color: #ffffff;
diff --git a/src/views/followvisit/satisfaction/index.vue b/src/views/followvisit/satisfaction/index.vue
index 73901fb..1a45f3c 100644
--- a/src/views/followvisit/satisfaction/index.vue
+++ b/src/views/followvisit/satisfaction/index.vue
@@ -155,6 +155,7 @@
         />
         <el-table-column
           label="濮撳悕"
+          width="100"
           align="center"
           sortable
           key="userName"
@@ -290,7 +291,7 @@
         @pagination="getList"
       />
     </el-row>
-    <!-- 娣诲姞鎴栦慨鏀归棬璇婇殢璁垮璇濇 -->
+    <!-- 娣诲姞鎴栦慨鏀瑰奖鍍忛殢璁垮璇濇 -->
     <el-dialog
       :title="title"
       :visible.sync="addalteropen"
@@ -333,7 +334,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>
@@ -381,7 +382,7 @@
       // 鐢ㄦ埛琛ㄦ牸鏁版嵁
       userList: null,
       // 寮瑰嚭灞傛爣棰�
-      title: "鏂板闂ㄨ瘖闅忚",
+      title: "鏂板褰卞儚闅忚",
       // 鏄惁鏄剧ず淇敼銆佹坊鍔犲脊鍑哄眰
       addalteropen: false,
       // 閮ㄩ棬鍚嶇О
@@ -412,13 +413,13 @@
       dynamicTags: ["閫夐」涓�", "閫夐」浜�", "閫夐」涓�"], //閫夐」
       inputVisible: false,
       inputValue: "",
-      previewVisible: false, //闂ㄨ瘖闅忚棰勮寮规
+      previewVisible: false, //褰卞儚闅忚棰勮寮规
       radio: "",
       radios: [],
-      previewtype: 2, //棰勮闂ㄨ瘖闅忚绫诲瀷
+      previewtype: 2, //棰勮褰卞儚闅忚绫诲瀷
       total: 0, // 鎬绘潯鏁�
-      ImportQuantity: 999, //瀵奸棬璇婇殢璁挎暟閲�
-      //棰勮闂ㄨ瘖闅忚淇℃伅
+      ImportQuantity: 999, //瀵煎奖鍍忛殢璁挎暟閲�
+      //棰勮褰卞儚闅忚淇℃伅
       previewvalue: {
         username: "杩欎釜鍖荤敓瀵逛綘鎬庝箞鏍�",
       },
@@ -606,7 +607,7 @@
     });
   },
   methods: {
-    /** 鏌ヨ闂ㄨ瘖闅忚鍒楄〃 */
+    /** 鏌ヨ褰卞儚闅忚鍒楄〃 */
     getList() {
       this.loading = true;
       listUser(this.addDateRange(this.topqueryParams, this.dateRange)).then(
@@ -617,7 +618,7 @@
         }
       );
     },
-    // 鏌ョ湅闂ㄨ瘖闅忚璇︽儏
+    // 鏌ョ湅褰卞儚闅忚璇︽儏
     Referencequestion(row) {
       this.previewVisible = true;
     },
@@ -635,7 +636,7 @@
         this.options = [];
       }
     },
-    // 闂ㄨ瘖闅忚鐘舵�佷慨鏀�
+    // 褰卞儚闅忚鐘舵�佷慨鏀�
     handleStatusChange(row) {
       let text = row.status === "0" ? "鍚敤" : "鍋滅敤";
       this.$modal
@@ -723,7 +724,7 @@
       // getUser().then((response) => {
       //   this.postOptions = response.posts;
       //   this.roleOptions = response.roles;
-      //   this.title = "鏂板闂ㄨ瘖闅忚";
+      //   this.title = "鏂板褰卞儚闅忚";
       //   this.form.password = this.initPassword;
       // });
     },
diff --git a/src/views/followvisit/tasklist/index.vue b/src/views/followvisit/tasklist/index.vue
index 6776497..60564ca 100644
--- a/src/views/followvisit/tasklist/index.vue
+++ b/src/views/followvisit/tasklist/index.vue
@@ -23,7 +23,7 @@
             @keyup.enter.native="handleQuery"
           ></el-input>
         </el-form-item>
-        <el-form-item label="鍒涘彂閫佹椂闂�">
+        <el-form-item label="鍙戦�佹椂闂�">
           <el-date-picker
             v-model="dateRange"
             style="width: 240px"
@@ -142,7 +142,6 @@
         <el-table-column
           label="浠诲姟鍚嶇О"
           fixed
-          width="120"
           align="center"
           key="taskName"
           prop="taskName"
@@ -150,7 +149,6 @@
         />
         <el-table-column
           label="浠诲姟鎻忚堪"
-          width="280"
           align="center"
           key="taskDesc"
           prop="taskDesc"
@@ -158,20 +156,26 @@
         />
         <el-table-column
           label="鏈嶅姟椤圭洰"
-          width="120"
           align="center"
           key="templatename"
           prop="templatename"
           :show-overflow-tooltip="true"
         />
         <el-table-column
-          label="寰呮墽琛�/鎬讳换鍔�"
+          label="鎬讳换鍔�/宸查殢璁�"
           align="center"
           key="nickName"
+          width="120"
           prop="nickName"
         >
           <template slot-scope="scope">
-            <span>{{ scope.row.wfs }}/{{ scope.row.yfs }}</span>
+            <span
+              >{{
+                scope.row.wfs || scope.row.wfs == 0
+                  ? scope.row.wfs + scope.row.yfs
+                  : ""
+              }}/{{ scope.row.yfs }}</span
+            >
           </template>
         </el-table-column>
         <el-table-column
@@ -179,7 +183,6 @@
           align="center"
           key="longTask"
           prop="longTask"
-          width="120"
         >
           <template slot-scope="scope">
             <span>{{ scope.row.longTask ? "闀挎湡浠诲姟" : "闈為暱鏈�" }}</span>
@@ -191,7 +194,6 @@
           align="center"
           key="sendState"
           prop="sendState"
-          width="120"
         >
           <template slot-scope="scope">
             <dict-tag
@@ -206,7 +208,6 @@
           align="center"
           key="createBy"
           prop="createBy"
-          width="120"
           :show-overflow-tooltip="true"
         />
         <el-table-column
@@ -214,7 +215,6 @@
           sortable
           align="center"
           prop="createTime"
-          width="160"
         >
           <template slot-scope="scope">
             <span>{{ formatTime(scope.row.createTime) }}</span>
@@ -225,7 +225,7 @@
           label="鎿嶄綔"
           fixed="right"
           align="center"
-          width="180"
+          width="240"
           class-name="small-padding fixed-width"
         >
           <template slot-scope="scope">
@@ -269,7 +269,7 @@
           label="浠诲姟璇︽儏"
           fixed="right"
           align="center"
-          width="200"
+          width="240"
           class-name="small-padding fixed-width"
         >
           <template slot-scope="scope">
@@ -421,7 +421,7 @@
       // 鐢ㄦ埛琛ㄦ牸鏁版嵁
       userList: null,
       // 寮瑰嚭灞傛爣棰�
-      title: "鏂板闂ㄨ瘖闅忚",
+      title: "鏂板褰卞儚闅忚",
       // 鏄惁鏄剧ず淇敼銆佹坊鍔犲脊鍑哄眰
       addalteropen: false,
       // 閮ㄩ棬鍚嶇О
@@ -445,14 +445,14 @@
       dynamicTags: ["閫夐」涓�", "閫夐」浜�", "閫夐」涓�"], //閫夐」
       inputVisible: false,
       inputValue: "",
-      previewVisible: false, //闂ㄨ瘖闅忚棰勮寮规
+      previewVisible: false, //褰卞儚闅忚棰勮寮规
       TaskOperation: {},
       radio: "",
       radios: [],
-      previewtype: 2, //棰勮闂ㄨ瘖闅忚绫诲瀷
+      previewtype: 2, //棰勮褰卞儚闅忚绫诲瀷
       total: 0, // 鎬绘潯鏁�
-      ImportQuantity: 999, //瀵奸棬璇婇殢璁挎暟閲�
-      //棰勮闂ㄨ瘖闅忚淇℃伅
+      ImportQuantity: 999, //瀵煎奖鍍忛殢璁挎暟閲�
+      //棰勮褰卞儚闅忚淇℃伅
       previewvalue: {
         username: "杩欎釜鍖荤敓瀵逛綘鎬庝箞鏍�",
       },
@@ -468,6 +468,10 @@
         {
           value: 3,
           label: "瀹f暀鍏虫��",
+        },
+        {
+          value: 4,
+          label: "娑堟伅閫氱煡",
         },
       ],
       taskoptions: [
@@ -491,21 +495,37 @@
           value: "5",
           label: "澶嶈瘖绠$悊",
         },
-        {
-          value: "6",
-          label: "婊℃剰搴﹁皟鏌�",
-        },
+        // {
+        //   value: "5",
+        //   label: "婊℃剰搴﹁皟鏌�",
+        // },
         {
           value: "7",
-          label: "鎮h�呮棩甯告姤鍛�",
+          label: "鎮h�呮姤鍛�",
         },
+        // {
+        //   value: "8",
+        //   label: "鍏朵粬閫氱煡",
+        // },
         {
           value: "9",
-          label: "鎮h�呭紓甯告姤鍛�",
+          label: "浣撴闅忚",
+        },
+        // {
+        //   value: "10",
+        //   label: "鍖绘妧闅忚",
+        // },
+        {
+          value: "11",
+          label: "褰卞儚闅忚",
         },
         {
-          value: "8",
-          label: "鍏朵粬閫氱煡",
+          value: "12",
+          label: "蹇冪數闅忚",
+        },
+        {
+          value: "13",
+          label: "涓撶梾闅忚",
         },
       ],
       tasktopic: "2", //鏂板绫诲瀷
@@ -665,11 +685,11 @@
   },
   watch: {},
   created() {
-    this.topqueryParams.leaveldeptcodes = store.getters.belongDepts.map(
-      (obj) => obj.deptCode
-    );
-    this.topqueryParams.leavehospitaldistrictcodes =
-      store.getters.belongWards.map((obj) => obj.districtCode);
+    // this.topqueryParams.leaveldeptcodes = store.getters.belongDepts.map(
+    //   (obj) => obj.deptCode
+    // );
+    // this.topqueryParams.leavehospitaldistrictcodes =
+    //   store.getters.belongWards.map((obj) => obj.districtCode);
     this.tasktopic = this.$route.query.tasktopic
       ? this.$route.query.tasktopic
       : this.tasktopic;
@@ -692,7 +712,6 @@
     /** 鏌ヨ浠诲姟鍒楄〃 */
     getList() {
       this.loading = true;
-      console.log(this.topqueryParams.type);
 
       this.topqueryParams.serviceType = Number(this.tasktopic);
       if (
@@ -702,7 +721,7 @@
         this.tasktopic == 7 ||
         this.tasktopic == 6
       ) {
-        if (!this.topqueryParams.type) this.topqueryParams.type = '2';
+        if (!this.topqueryParams.type) this.topqueryParams.type = "2";
         this.longtermlist = [
           {
             value: 1,
@@ -714,7 +733,7 @@
           },
         ];
       } else if (this.tasktopic == 4 || this.tasktopic == 8) {
-        if (!this.topqueryParams.type) this.topqueryParams.type = '3';
+        if (!this.topqueryParams.type) this.topqueryParams.type = "3";
         this.longtermlist = [
           {
             value: 3,
@@ -722,7 +741,7 @@
           },
         ];
       } else if (this.tasktopic == 5) {
-        if (!this.topqueryParams.type) this.topqueryParams.type = '1';
+        if (!this.topqueryParams.type) this.topqueryParams.type = "1";
         this.longtermlist = [
           {
             value: 1,
@@ -738,8 +757,8 @@
       //   this.taskoptions,
       //   this.tasktopic
       // );
-      this.topqueryParams.startOutHospTime = this.dateRange[0];
-      this.topqueryParams.endOutHospTime = this.dateRange[1];
+      this.topqueryParams.beginTime = this.dateRange[0];
+      this.topqueryParams.endTime = this.dateRange[1];
       getTasklist(this.topqueryParams).then((response) => {
         this.userList = response.rows;
         this.total = response.total;
@@ -747,7 +766,7 @@
         this.loading = false;
       });
     },
-    // 鏌ョ湅闂ㄨ瘖闅忚璇︽儏
+    // 鏌ョ湅褰卞儚闅忚璇︽儏
     Referencequestion(row) {
       this.previewVisible = true;
     },
@@ -798,8 +817,15 @@
     resetQuery() {
       this.dateRange = [];
       this.resetForm("queryForm");
-      this.topqueryParams.deptId = undefined;
-      this.$refs.tree.setCurrentKey(null);
+      this.topqueryParams = {
+        pageNum: 1,
+        pageSize: 10,
+        type: 2,
+        userName: undefined,
+        tagid: undefined,
+        topic: undefined,
+      };
+      // this.$refs.tree.setCurrentKey(null);
       this.handleQuery();
     },
     // 澶氶�夋閫変腑鏁版嵁
diff --git a/src/views/patient/ycquestionnaire/index.vue b/src/views/followvisit/technology/index.vue
similarity index 76%
copy from src/views/patient/ycquestionnaire/index.vue
copy to src/views/followvisit/technology/index.vue
index 67c3af9..5697c8b 100644
--- a/src/views/patient/ycquestionnaire/index.vue
+++ b/src/views/followvisit/technology/index.vue
@@ -17,7 +17,7 @@
                   font-weight: 600;
                 "
               >
-                {{ item.value }}
+                {{ item.value ? item.value : 0 }}
               </div>
             </div>
           </el-card>
@@ -154,7 +154,6 @@
                 icon="el-icon-upload2"
                 size="medium"
                 @click="handleExport"
-                v-hasPermi="['system:user:export']"
                 >瀵煎嚭</el-button
               >
             </div>
@@ -188,11 +187,24 @@
             </div>
           </div>
         </el-col>
+        <el-col :span="1.5">
+          <div class="documentf">
+            <div class="document">
+              <el-button
+                type="success"
+                plain
+                size="medium"
+                @click="buidegetTasklist()"
+                >寰呭姙鏈嶅姟</el-button
+              >
+            </div>
+          </div>
+        </el-col>
       </el-row>
       <el-table
         v-loading="loading"
         :data="userList"
-        height="660"
+        height="808"
         :row-class-name="tableRowClassName"
         @selection-change="handleSelectionChange"
       >
@@ -208,11 +220,24 @@
         <!-- <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="
+                gettoken360(scope.row.sfzh,scope.row.drcode,scope.row.drname)
+              "
+              ><span class="button-textsc">{{
+                scope.row.sendname
+              }}</span></el-button
+            >
+          </template>
+        </el-table-column>
         <el-table-column
           label="浠诲姟鐘舵��"
           align="center"
@@ -221,32 +246,41 @@
           width="120"
         >
           <template slot-scope="scope">
-            <div v-if="scope.row.sendstate == 1">
-              <el-tag type="primary" :disable-transitions="false"
-                >琛ㄥ崟宸查鍙�</el-tag
-              >
-            </div>
-            <div v-if="scope.row.sendstate == 2">
-              <el-tag type="primary" :disable-transitions="false"
-                >寰呮墽琛�</el-tag
-              >
-            </div>
-            <div v-if="scope.row.sendstate == 3">
-              <el-tag type="success" :disable-transitions="false"
-                >琛ㄥ崟宸插彂閫�</el-tag
-              >
-            </div>
-            <div v-if="scope.row.sendstate == 4">
-              <el-tag type="info" :disable-transitions="false">涓嶆墽琛�</el-tag>
-            </div>
-            <div v-if="scope.row.sendstate == 5">
-              <el-tag type="danger" :disable-transitions="false"
-                >鍙戦�佸け璐�</el-tag
-              >
-            </div>
-            <div v-if="scope.row.sendstate == 6">
-              <el-tag type="danger" :disable-transitions="false">宸插畬鎴�</el-tag>
-            </div>
+            <el-tooltip
+              class="item"
+              effect="dark"
+              :content="scope.row.remark"
+              placement="top-start"
+            >
+              <div v-if="scope.row.sendstate == 1">
+                <el-tag type="primary" :disable-transitions="false"
+                  >琛ㄥ崟宸查鍙�</el-tag
+                >
+              </div>
+              <div v-if="scope.row.sendstate == 2">
+                <el-tag type="primary" :disable-transitions="false"
+                  >寰呴殢璁�</el-tag
+                >
+              </div>
+              <div v-if="scope.row.sendstate == 3">
+                <el-tag type="success" :disable-transitions="false"
+                  >琛ㄥ崟宸插彂閫�</el-tag
+                >
+              </div>
+              <div v-if="scope.row.sendstate == 4">
+                <el-tag type="info" :disable-transitions="false">涓嶆墽琛�</el-tag>
+              </div>
+              <div v-if="scope.row.sendstate == 5">
+                <el-tag type="danger" :disable-transitions="false"
+                  >鍙戦�佸け璐�</el-tag
+                >
+              </div>
+              <div v-if="scope.row.sendstate == 6">
+                <el-tag type="danger" :disable-transitions="false"
+                  >宸插畬鎴�</el-tag
+                >
+              </div>
+            </el-tooltip>
           </template>
         </el-table-column>
         <!-- <el-table-column
@@ -258,7 +292,7 @@
         />
 
         <el-table-column
-          label="浜哄伐澶勭悊鎰忚"
+          label="澶勭悊鎰忚"
           align="center"
           key="suggest"
           prop="suggest"
@@ -274,12 +308,12 @@
         <el-table-column
           label="闅忚浜哄憳"
           align="center"
-          key="createBy"
-          prop="createBy"
+          key="updateBy"
+          prop="updateBy"
           width="120"
         />
         <el-table-column
-          label="闅忚鏃堕棿"
+          label="闅忚瀹屾垚鏃堕棿"
           sortable
           align="center"
           prop="finishtime"
@@ -361,7 +395,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="绉戝"
@@ -450,7 +484,7 @@
             <!-- <el-tooltip
               class="item"
               effect="dark"
-              content="閲嶆柊闅忚"
+              content="鍐嶆闅忚"
               placement="top"
             >
               <el-button
@@ -459,13 +493,15 @@
                 @click="followupvisit(scope.row)"
                 v-hasPermi="['system:user:edit']"
                 ><span class="button-bb"
-                  ><i class="el-icon-s-promotion"></i></span
-              ></el-button>
+                  ><i class="el-icon-s-promotion"></i>鍐嶆闅忚</span
+                ></el-button
+              >
             </el-tooltip> -->
-            <!-- <el-tooltip
+            <el-tooltip
+              v-if="scope.row.sendstate == 1 || scope.row.sendstate == 2"
               class="item"
               effect="dark"
-              content="鍋滄"
+              content="鏆傚仠鏈嶅姟"
               placement="top"
             >
               <el-button
@@ -473,9 +509,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
@@ -493,7 +531,7 @@
         @pagination="getList"
       />
     </el-row>
-    <!-- 娣诲姞鎴栦慨鏀归棬璇婇殢璁垮璇濇 -->
+    <!-- 娣诲姞鎴栦慨鏀瑰奖鍍忛殢璁垮璇濇 -->
     <el-dialog
       :title="title"
       :visible.sync="addalteropen"
@@ -536,7 +574,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>
@@ -622,6 +660,50 @@
         >
       </span>
     </el-dialog>
+    <!-- 鍐嶆闅忚 -->
+    <el-dialog title="鎮h�呭啀娆¢殢璁�" :visible.sync="dialogFormVisible">
+      <el-form ref="form" :model="zcform" label-width="80px">
+        <el-form-item label="鎮h�呭悕绉�">
+          <el-input style="width: 400px" v-model="zcform.name"></el-input>
+        </el-form-item>
+        <el-form-item label="浠诲姟鍚嶇О">
+          <el-input style="width: 400px" v-model="zcform.name"></el-input>
+        </el-form-item>
+        <el-form-item label="闅忚鏂瑰紡">
+          <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="闅忚鏃堕棿" v-if="!zcform.delivery">
+          <el-col :span="11">
+            <el-date-picker
+              type="date"
+              placeholder="閫夋嫨鏃ユ湡"
+              v-model="zcform.date1"
+              style="width: 100%"
+            ></el-date-picker>
+          </el-col>
+          <el-col class="line" :span="2">-</el-col>
+          <el-col :span="11">
+            <el-time-picker
+              placeholder="閫夋嫨鏃堕棿"
+              v-model="zcform.date2"
+              style="width: 100%"
+            ></el-time-picker>
+          </el-col>
+        </el-form-item>
+      </el-form>
+      <div slot="footer" class="dialog-footer">
+        <el-button @click="dialogFormVisible = false">鍙� 娑�</el-button>
+        <el-button type="primary" @click="dialogFormVisible = false"
+          >纭� 瀹�</el-button
+        >
+      </div>
+    </el-dialog>
   </div>
 </template>
 
@@ -635,7 +717,7 @@
   resetUserPwd,
   changeUserStatus,
 } from "@/api/system/user";
-import { getTaskservelist } from "@/api/AiCentre/index";
+import { getTaskservelist, buidegetTasklist,query360PatInfo } from "@/api/AiCentre/index";
 import Treeselect from "@riophae/vue-treeselect";
 import store from "@/store";
 import "@riophae/vue-treeselect/dist/vue-treeselect.css";
@@ -656,12 +738,13 @@
       multiple: true,
       // 鏄剧ず鎼滅储鏉′欢
       showSearch: true,
+      dialogFormVisible: false,
       // 鎬绘潯鏁�
       total: 0,
       // 鐢ㄦ埛琛ㄦ牸鏁版嵁
       userList: null,
       // 寮瑰嚭灞傛爣棰�
-      title: "鏂板闂ㄨ瘖闅忚",
+      title: "鏂板褰卞儚闅忚",
       // 鏄惁鏄剧ず淇敼銆佹坊鍔犲脊鍑哄眰
       addalteropen: false,
       // 淇敼鍙戦�佹椂闂村璇濇
@@ -677,19 +760,20 @@
       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: "杩欎釜鍖荤敓瀵逛綘鎬庝箞鏍�",
       },
@@ -718,10 +802,10 @@
           name: "鍑洪櫌鏈嶅姟鎬婚噺",
           value: 0,
         },
-        {
-          name: "鎮h�呰繃婊�",
-          value: 0,
-        },
+        // {
+        //   name: "鎮h�呰繃婊�",
+        //   value: 0,
+        // },
         {
           name: "搴旈殢璁�",
           value: 0,
@@ -736,7 +820,7 @@
           value: 0,
         },
         {
-          name: "寰呮墽琛�",
+          name: "寰呴殢璁�",
           value: 0,
         },
         {
@@ -749,7 +833,39 @@
         //   value: 0,
         // },
       ],
-
+      postData: {
+        XiaoXiTou: {
+          FaSongFCSJC: "ZJHES",
+          FaSongJGID: localStorage.getItem("orgid"),
+          FaSongJGMC: localStorage.getItem("orgname"),
+          FaSongSJ: "2025-01-09聽17:29:36",
+          FaSongXTJC: "SUIFANGXT",
+          FaSongXTMC: "闅忚绯荤粺",
+          XiaoXiID: "5FA92AFB-9833-4608-87C7-F56A654AC171",
+          XiaoXiLX: "SC_LC_360STCX",
+          XiaoXiMC: "360聽瑙嗗浘鏌ヨ",
+          ZuHuID: localStorage.getItem("ZuHuID"),
+          ZuHuMC: localStorage.getItem("orgname"),
+        },
+        YeWuXX: {
+          BingRenXX: {
+            ZhengJianHM: '',
+            ZhengJianLXDM: "01",
+            ZhengJianLXMC: "灞呮皯韬唤璇�",
+            ZuZhiJGID: localStorage.getItem("orgid"),
+            ZuZhiJGMC: localStorage.getItem("orgname"),
+          },
+          YongHuXX: {
+            XiTongID: "SUIFANGXT",
+            XiTongMC: "闅忚绯荤粺",
+            YongHuID: "1400466972205912064",
+            YongHuXM: "JNRMYY",
+            ZuZhiJGID: localStorage.getItem("orgid"),
+            ZuZhiJGMC: localStorage.getItem("orgname"),
+            idp: "lyra",
+          },
+        },
+      },
       // 琛ㄥ崟鍙傛暟
       form: {
         phonenumber: "",
@@ -763,8 +879,9 @@
       topqueryParams: {
         pageNum: 1,
         pageSize: 10,
-        serviceType: 9,
+        serviceType: 10,
         searchscope: 3,
+        sendstate:2,
         scopetype: [],
         leaveldeptcodes: [],
         leavehospitaldistrictcodes: [],
@@ -779,7 +896,7 @@
         },
         {
           value: 2,
-          label: "寰呮墽琛�",
+          label: "寰呴殢璁�",
         },
         {
           value: 3,
@@ -848,7 +965,7 @@
     this.getList(1);
   },
   methods: {
-    /** 鏌ヨ闂ㄨ瘖闅忚鏈嶅姟鍒楄〃 */
+    /** 鏌ヨ褰卞儚闅忚鏈嶅姟鍒楄〃 */
     getList(refresh) {
       // 榛樿鍏ㄩ儴
       if (this.topqueryParams.searchscope == 3) {
@@ -877,12 +994,12 @@
         if (refresh) {
           this.cardlist[0].value =
             Number(response.rows[0].wzx) + Number(response.rows[0].ysf);
-          this.cardlist[1].value = response.rows[0].wzx;
-          this.cardlist[2].value = response.rows[0].ysf;
+          // this.cardlist[1].value = response.rows[0].wzx;
+          this.cardlist[1].value = response.rows[0].ysf;
           this.ycvalue = response.rows[0].yc;
-          this.cardlist[3].value = response.rows[0].fssb;
-          this.cardlist[4].value = response.rows[0].dfs;
-          this.cardlist[5].value = response.rows[0].yfs2;
+          this.cardlist[2].value = response.rows[0].fssb;
+          this.cardlist[3].value = response.rows[0].dsf;
+          this.cardlist[4].value = response.rows[0].yfs2;
           this.yfsvalue = response.rows[0].yfs;
         }
         this.loading = false;
@@ -893,8 +1010,10 @@
           }
 
           if (item.preachform) {
+            if (item.endtime) {
               item.preachformson = item.preachform;
               idArray = item.preachform.split(",");
+            }
 
             item.preachform = idArray.map((value) => {
               // 鏌ユ壘id瀵瑰簲鐨勫璞�
@@ -908,6 +1027,85 @@
         });
         this.total = response.total;
       });
+    },
+    buidegetTasklist(type) {
+      if (this.topqueryParams.searchscope == 3) {
+        this.topqueryParams.leaveldeptcodes = store.getters.belongDepts.map(
+          (obj) => obj.deptCode
+        );
+        this.topqueryParams.leavehospitaldistrictcodes =
+          store.getters.belongWards.map((obj) => obj.districtCode);
+      }
+      // 鎺ュ彈寮傚父璺宠浆
+      if (this.errtype) {
+        this.topqueryParams.leavehospitaldistrictcodes.push(
+          this.leavehospitaldistrictcode
+        );
+      }
+      let obj = {
+        pageNum: 1,
+        pageSize: 10,
+        leavehospitaldistrictcodes:
+          this.topqueryParams.leavehospitaldistrictcodes,
+        sendstates: [2, 3],
+        leaveldeptcodes: this.topqueryParams.leaveldeptcodes,
+      };
+      buidegetTasklist(obj).then((response) => {
+        this.userList = response.rows[0].serviceSubtaskList;
+        this.total = response.total;
+        if (refresh) {
+          this.cardlist[0].value =
+            Number(response.rows[0].wzx) + Number(response.rows[0].ysf);
+          this.cardlist[1].value = response.rows[0].wzx;
+          this.cardlist[2].value = response.rows[0].ysf;
+          this.ycvalue = response.rows[0].yc;
+          this.cardlist[3].value = response.rows[0].fssb;
+          this.cardlist[4].value = response.rows[0].dsf;
+          this.cardlist[5].value = response.rows[0].yfs2;
+          this.yfsvalue = response.rows[0].yfs;
+        }
+        this.loading = false;
+        this.userList.forEach((item) => {
+          let idArray = null;
+          if (item.endtime) {
+            item.endDay = this.daysBetween(item.endtime);
+          }
+
+          if (item.preachform) {
+            if (item.endtime) {
+              item.preachformson = item.preachform;
+              idArray = item.preachform.split(",");
+            }
+
+            item.preachform = idArray.map((value) => {
+              // 鏌ユ壘id瀵瑰簲鐨勫璞�
+              const item = this.checkboxlist.find(
+                (item) => item.value == value
+              );
+              // 濡傛灉鎵惧埌瀵瑰簲鐨刬d锛岃繑鍥瀕abel鍊硷紝鍚﹀垯杩斿洖null
+              return item ? item.label : null;
+            });
+          }
+        });
+        this.total = response.total;
+      });
+    },
+    //鎮h��360璺宠浆
+    gettoken360(sfzh,drcode,drname) {
+      this.postData.YeWuXX.BingRenXX.ZhengJianHM = sfzh;
+      if (this.postData.XiaoXiTou.ZuHuMC=='涓芥按甯備腑鍖婚櫌') {
+        this.postData.YeWuXX.YongHuXX.YongHuID = '1400398571877961728';
+        this.postData.YeWuXX.YongHuXX.YongHuXM = 'LSZYY';
+      }
+      query360PatInfo(this.postData).then((res) => {
+        if (res.data.url) {
+           window.open(res.data.url, '_blank');
+          // this.linkUrl = res.data.url;
+        }else{
+          this.$modal.msgWarning("360鏌ヨ鏃犵粨鏋�");
+        }
+      });
+
     },
     // 鏌ョ湅闂ㄨ瘖闅忚璇︽儏
     Referencequestion(row) {
@@ -927,7 +1125,7 @@
         this.options = [];
       }
     },
-    // 闂ㄨ瘖闅忚鐘舵�佷慨鏀�
+    // 褰卞儚闅忚鐘舵�佷慨鏀�
     handleStatusChange(row) {
       let text = row.status === "0" ? "鍚敤" : "鍋滅敤";
       this.$modal
@@ -1005,8 +1203,9 @@
       this.topqueryParams = {
         pageNum: 1,
         pageSize: 10,
-        serviceType: 9,
+        serviceType: 10,
         searchscope: 2,
+        sendstate:2,
       };
       this.handleQuery(1);
     },
@@ -1042,7 +1241,7 @@
         path: "/followvisit/QuestionnaireTask",
         query: {
           type: 2,
-          serviceType: 9,
+          serviceType: 10,
         },
       });
     },
@@ -1161,6 +1360,41 @@
         },
       });
     },
+    // 鍐嶆闅忚
+    followupvisit() {
+      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) {
       if (too == 1) {
@@ -1176,7 +1410,7 @@
       this.topqueryParams.pageNum = null;
       this.topqueryParams.pageSize = null;
       this.download(
-        "smartor/serviceSubtask/export",
+        "smartor/serviceSubtask/patItemExport",
         {
           ...this.topqueryParams,
         },
@@ -1324,7 +1558,7 @@
 }
 .button-sc {
   font-weight: 500;
-  background-color: #dd302a;
+  background-color: #b3a21f;
   padding: 5px;
   border-radius: 1px;
   color: #ffffff;
diff --git a/src/views/patient/ycquestionnaire/index.vue b/src/views/followvisit/zbAgain/index.vue
similarity index 60%
copy from src/views/patient/ycquestionnaire/index.vue
copy to src/views/followvisit/zbAgain/index.vue
index 67c3af9..624a23d 100644
--- a/src/views/patient/ycquestionnaire/index.vue
+++ b/src/views/followvisit/zbAgain/index.vue
@@ -17,7 +17,7 @@
                   font-weight: 600;
                 "
               >
-                {{ item.value }}
+                {{ item.value ? item.value : 0 }}
               </div>
             </div>
           </el-card>
@@ -90,11 +90,28 @@
             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
             v-model="topqueryParams.sendname"
             placeholder="璇疯緭鍏ユ偅鑰呭鍚�"
+          ></el-input>
+        </el-form-item>
+        <el-form-item label="璇婃柇鍚嶇О" prop="leavediagname">
+          <el-input
+            v-model="topqueryParams.leavediagname"
+            placeholder="璇疯緭鍏ヨ瘖鏂悕绉�"
           ></el-input>
         </el-form-item>
 
@@ -119,6 +136,17 @@
             </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"
+            >
+            </el-option>
+          </el-select>
+        </el-form-item>
 
         <el-form-item>
           <el-button
@@ -136,6 +164,20 @@
       <el-divider></el-divider>
       <el-row :gutter="10" class="mb8">
         <el-col :span="1.5">
+          <div class="documentf">
+            <div class="document">
+              <el-button
+                type="warning"
+                plain
+                icon="el-icon-upload2"
+                size="medium"
+                @click="handleExport"
+                >瀵煎嚭</el-button
+              >
+            </div>
+          </div>
+        </el-col>
+        <el-col :span="1.5">
           <el-button
             type="primary"
             plain
@@ -145,21 +187,7 @@
             >鏂板</el-button
           >
         </el-col>
-        <el-col :span="1.5">
-          <div class="documentf">
-            <div class="document">
-              <el-button
-                type="warning"
-                plain
-                icon="el-icon-upload2"
-                size="medium"
-                @click="handleExport"
-                v-hasPermi="['system:user:export']"
-                >瀵煎嚭</el-button
-              >
-            </div>
-          </div>
-        </el-col>
+
         <el-col :span="1.5">
           <div class="documentf">
             <div class="document">
@@ -188,11 +216,45 @@
             </div>
           </div>
         </el-col>
+        <el-col :span="1.5">
+          <div class="documentf">
+            <div class="document">
+              <el-button
+                type="success"
+                plain
+                size="medium"
+                @click="buidegetTasklist()"
+                >寰呭姙鏈嶅姟</el-button
+              >
+            </div>
+          </div>
+        </el-col>
+        <el-col :span="1.5">
+          <div class="documentf">
+            <div class="document">
+              <el-button
+                type="primary"
+                plain
+                size="medium"
+                @click="affiliation()"
+                >鏈汉鎵�灞炴湇鍔�</el-button
+              >
+            </div>
+          </div>
+        </el-col>
+        <el-col :span="1.5">
+          <div class="documentf">
+            <div class="document">
+              <el-button type="success" size="medium" @click="onthatday()"
+                >褰撴棩鏈嶅姟</el-button
+              >
+            </div>
+          </div>
+        </el-col>
       </el-row>
       <el-table
         v-loading="loading"
         :data="userList"
-        height="660"
         :row-class-name="tableRowClassName"
         @selection-change="handleSelectionChange"
       >
@@ -200,19 +262,33 @@
         <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="
+                gettoken360(scope.row.sfzh, scope.row.drcode, scope.row.drname)
+              "
+              ><span class="button-textsc">{{
+                scope.row.sendname
+              }}</span></el-button
+            >
+          </template>
+        </el-table-column>
         <el-table-column
           label="浠诲姟鐘舵��"
           align="center"
@@ -221,32 +297,41 @@
           width="120"
         >
           <template slot-scope="scope">
-            <div v-if="scope.row.sendstate == 1">
-              <el-tag type="primary" :disable-transitions="false"
-                >琛ㄥ崟宸查鍙�</el-tag
-              >
-            </div>
-            <div v-if="scope.row.sendstate == 2">
-              <el-tag type="primary" :disable-transitions="false"
-                >寰呮墽琛�</el-tag
-              >
-            </div>
-            <div v-if="scope.row.sendstate == 3">
-              <el-tag type="success" :disable-transitions="false"
-                >琛ㄥ崟宸插彂閫�</el-tag
-              >
-            </div>
-            <div v-if="scope.row.sendstate == 4">
-              <el-tag type="info" :disable-transitions="false">涓嶆墽琛�</el-tag>
-            </div>
-            <div v-if="scope.row.sendstate == 5">
-              <el-tag type="danger" :disable-transitions="false"
-                >鍙戦�佸け璐�</el-tag
-              >
-            </div>
-            <div v-if="scope.row.sendstate == 6">
-              <el-tag type="danger" :disable-transitions="false">宸插畬鎴�</el-tag>
-            </div>
+            <el-tooltip
+              class="item"
+              effect="dark"
+              :content="scope.row.remark"
+              placement="top-start"
+            >
+              <div v-if="scope.row.sendstate == 1">
+                <el-tag type="primary" :disable-transitions="false"
+                  >琛ㄥ崟宸查鍙�</el-tag
+                >
+              </div>
+              <div v-if="scope.row.sendstate == 2">
+                <el-tag type="primary" :disable-transitions="false"
+                  >寰呴殢璁�</el-tag
+                >
+              </div>
+              <div v-if="scope.row.sendstate == 3">
+                <el-tag type="success" :disable-transitions="false"
+                  >琛ㄥ崟宸插彂閫�</el-tag
+                >
+              </div>
+              <div v-if="scope.row.sendstate == 4">
+                <el-tag type="info" :disable-transitions="false">涓嶆墽琛�</el-tag>
+              </div>
+              <div v-if="scope.row.sendstate == 5">
+                <el-tag type="danger" :disable-transitions="false"
+                  >鍙戦�佸け璐�</el-tag
+                >
+              </div>
+              <div v-if="scope.row.sendstate == 6">
+                <el-tag type="success" :disable-transitions="false"
+                  >宸插畬鎴�</el-tag
+                >
+              </div>
+            </el-tooltip>
           </template>
         </el-table-column>
         <!-- <el-table-column
@@ -258,7 +343,7 @@
         />
 
         <el-table-column
-          label="浜哄伐澶勭悊鎰忚"
+          label="澶勭悊鎰忚"
           align="center"
           key="suggest"
           prop="suggest"
@@ -271,15 +356,9 @@
             />
           </template>
         </el-table-column>
+
         <el-table-column
-          label="闅忚浜哄憳"
-          align="center"
-          key="createBy"
-          prop="createBy"
-          width="120"
-        />
-        <el-table-column
-          label="闅忚鏃堕棿"
+          label="闅忚瀹屾垚鏃堕棿"
           sortable
           align="center"
           prop="finishtime"
@@ -312,6 +391,20 @@
           </template></el-table-column
         >
         <el-table-column
+          label="涓绘不鍖荤敓"
+          width="120"
+          align="center"
+          key="drname"
+          prop="drname"
+        />
+        <el-table-column
+          label="闅忚浜哄憳"
+          align="center"
+          key="updateBy"
+          prop="updateBy"
+          width="120"
+        />
+        <el-table-column
           label="鍑洪櫌澶╂暟"
           width="120"
           align="center"
@@ -343,13 +436,6 @@
           key="nurseName"
           prop="nurseName"
         />
-        <el-table-column
-          label="涓绘不鍖荤敓"
-          width="120"
-          align="center"
-          key="drname"
-          prop="drname"
-        />
 
         <!-- <el-table-column
           label="鐥呭巻鍙�"
@@ -361,13 +447,21 @@
         /> -->
 
         <!-- <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="绉戝"
+          label="棣栨闅忚绉戝"
           align="center"
           key="deptname"
           prop="deptname"
+          width="120"
+        >
+        </el-table-column>
+        <el-table-column
+          label="鏈绉戝"
+          align="center"
+          key="visitDeptName"
+          prop="visitDeptName"
           width="120"
         >
         </el-table-column>
@@ -380,15 +474,15 @@
         >
         </el-table-column>
 
-        <!-- <el-table-column
-          label="鐤剧梾鍚嶇О"
+        <el-table-column
+          label="璇婃柇鍚嶇О"
           align="center"
-          key="icdName"
-          prop="icdName"
+          key="leavediagname"
+          prop="leavediagname"
           width="120"
           :show-overflow-tooltip="true"
         >
-        </el-table-column> -->
+        </el-table-column>
 
         <el-table-column
           label="鍑洪櫌闅忚妯℃澘鍚嶇О"
@@ -425,47 +519,55 @@
         </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
+            <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
               class="item"
               effect="dark"
-              content="閲嶆柊闅忚"
+              content="鍐嶆闅忚"
               placement="top"
             >
               <el-button
                 size="medium"
                 type="text"
+                v-if="scope.row.isVisitAgain!=2"
                 @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
@@ -473,12 +575,22 @@
                 type="text"
                 @click="handlestop(scope.row)"
                 v-hasPermi="['system:user:edit']"
-                ><span class="button-sc"><i class="el-icon-delete"></i></span
-              ></el-button>
+                ><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
+              ></el-button
+            >
+            <el-button
+              size="medium"
+              type="text"
+              @click="handleUpdate(scope.row)"
+              ><span class="button-textxga"
+                ><i class="el-icon-edit"></i>鎮h�呰繃婊�</span
               ></el-button
             >
           </template>
@@ -493,58 +605,61 @@
         @pagination="getList"
       />
     </el-row>
-    <!-- 娣诲姞鎴栦慨鏀归棬璇婇殢璁垮璇濇 -->
+    <!-- 娣诲姞鎴栦慨鏀瑰奖鍍忛殢璁垮璇濇 -->
     <el-dialog
-      :title="title"
-      :visible.sync="addalteropen"
-      width="700px"
-      append-to-body
+      :title="amendtag ? '淇敼鎮h�呬俊鎭�' : '鏂板鎮h��'"
+      :visible.sync="Labelchange"
+      width="900px"
     >
-      <el-form ref="form" :model="form" label-width="100px">
-        <el-row :gutter="20">
-          <el-col :span="12"
-            ><el-form-item label="浠诲姟鍚嶇О">
-              <el-input v-model="form.name"></el-input> </el-form-item
-          ></el-col>
-        </el-row>
-        <el-row :gutter="20">
-          <el-col :span="24"
-            ><el-form-item label="鎵�灞炵瀹�">
-              <el-select v-model="form.region" placeholder="璇烽�夋嫨绉戝">
-                <el-option label="鍖哄煙涓�" value="shanghai"></el-option>
-                <el-option label="鍖哄煙浜�" value="beijing"></el-option>
-              </el-select> </el-form-item></el-col
-        ></el-row>
-        <el-row :gutter="20">
-          <el-col :span="24"
-            ><el-form-item label="闅忚绫诲瀷">
-              <el-select v-model="form.region" placeholder="璇烽�夋嫨闅忚绫诲瀷">
-                <el-option label="鍖哄煙涓�" value="shanghai"></el-option>
-                <el-option label="鍖哄煙浜�" value="beijing"></el-option>
-              </el-select> </el-form-item
-          ></el-col>
-        </el-row>
-        <el-row :gutter="20">
-          <el-col :span="24">
-            <el-form-item label="鏈嶅姟妯″潡">
-              <el-select v-model="form.region" placeholder="璇烽�夋嫨妯″潡">
-                <el-option label="鍖哄煙涓�" value="shanghai"></el-option>
-                <el-option label="鍖哄煙浜�" value="beijing"></el-option>
+      <el-form ref="form" :model="form" :rules="rules" label-width="100px">
+        <el-row>
+          <el-col :span="8">
+            <el-form-item label="濮撳悕" width="100" prop="name">
+              <el-input
+                v-model="form.name"
+                placeholder="璇疯緭鍏ュ鍚�"
+                maxlength="30"
+              />
+            </el-form-item>
+          </el-col>
+          <el-col :span="8">
+            <el-form-item label="鎬у埆" width="100" prop="sex">
+              <el-select v-model="form.sex" placeholder="璇烽�夋嫨鎬у埆">
+                <el-option
+                  v-for="dict in sextype"
+                  :key="dict.value"
+                  :label="dict.label"
+                  :value="dict.value"
+                ></el-option>
               </el-select>
             </el-form-item>
           </el-col>
+          <el-col :span="8">
+            <el-form-item label="骞撮緞" prop="age">
+              <el-input
+                v-model="form.age"
+                placeholder="璇疯緭鍏ュ勾榫�"
+                maxlength="30"
+              />
+            </el-form-item>
+          </el-col>
         </el-row>
-        <el-row :gutter="20">
+
+        <el-row>
           <el-col :span="24">
-            <el-form-item label="闂ㄨ瘖闅忚瑕佹眰">
-              <el-input type="textarea" v-model="form.desc"></el-input>
+            <el-form-item label="杩囨护鍘熷洜">
+              <el-input
+                v-model="form.notrequiredreason"
+                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>
+        <el-button type="primary" @click="submitForm">纭� 瀹�</el-button>
+        <el-button @click="cancel">鍙� 娑�</el-button>
       </div>
     </el-dialog>
     <!-- 淇敼鍙戦�佹椂闂村璇濇 -->
@@ -622,20 +737,96 @@
         >
       </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="鍑洪櫌鏃堕棿">
+          <el-input
+            style="width: 400px"
+            disabled
+            v-model="zcform.endtime"
+          ></el-input>
+        </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 } from "@/api/AiCentre/index";
+import {
+  getTaskservelist,
+  buidegetTasklist,
+  addserviceSubtask,
+  query360PatInfo,
+} from "@/api/AiCentre/index";
+import { alterpatient, particularpatient } from "@/api/patient/homepage";
 import Treeselect from "@riophae/vue-treeselect";
 import store from "@/store";
 import "@riophae/vue-treeselect/dist/vue-treeselect.css";
@@ -656,12 +847,13 @@
       multiple: true,
       // 鏄剧ず鎼滅储鏉′欢
       showSearch: true,
+      dialogFormVisible: false,
       // 鎬绘潯鏁�
       total: 0,
       // 鐢ㄦ埛琛ㄦ牸鏁版嵁
       userList: null,
       // 寮瑰嚭灞傛爣棰�
-      title: "鏂板闂ㄨ瘖闅忚",
+      title: "鏂板褰卞儚闅忚",
       // 鏄惁鏄剧ず淇敼銆佹坊鍔犲脊鍑哄眰
       addalteropen: false,
       // 淇敼鍙戦�佹椂闂村璇濇
@@ -672,24 +864,27 @@
       initPassword: undefined,
       // 鏃ユ湡鑼冨洿
       dateRange: [],
+      dateRangefs: [],
       // 宀椾綅閫夐」
       postOptions: [],
       ruleForm: {
         type: [],
       },
+      zcform: {},
       dynamicTags: ["閫夐」涓�", "閫夐」浜�", "閫夐」涓�"], //閫夐」
       inputVisible: false,
+      Labelchange: false,
       ycvalue: "",
       yfsvalue: "",
       inputValue: "",
       preachform: "",
-      previewVisible: false, //闂ㄨ瘖闅忚棰勮寮规
+      previewVisible: false, //褰卞儚闅忚棰勮寮规
       radio: "",
       radios: [],
-      previewtype: 2, //棰勮闂ㄨ瘖闅忚绫诲瀷
+      previewtype: 2, //棰勮褰卞儚闅忚绫诲瀷
       total: 0, // 鎬绘潯鏁�
-      ImportQuantity: 999, //瀵奸棬璇婇殢璁挎暟閲�
-      //棰勮闂ㄨ瘖闅忚淇℃伅
+      ImportQuantity: 999, //瀵煎奖鍍忛殢璁挎暟閲�
+      //棰勮褰卞儚闅忚淇℃伅
       previewvalue: {
         username: "杩欎釜鍖荤敓瀵逛綘鎬庝箞鏍�",
       },
@@ -718,25 +913,20 @@
           name: "鍑洪櫌鏈嶅姟鎬婚噺",
           value: 0,
         },
-        {
-          name: "鎮h�呰繃婊�",
-          value: 0,
-        },
+        // {
+        //   name: "鎮h�呰繃婊�",
+        //   value: 0,
+        // },
         {
           name: "搴旈殢璁�",
           value: 0,
         },
-
-        // {
-        //   name: "寮傚父",
-        //   value: 0,
-        // },
         {
           name: "鍙戦�佸け璐�",
           value: 0,
         },
         {
-          name: "寰呮墽琛�",
+          name: "寰呴殢璁�",
           value: 0,
         },
         {
@@ -749,7 +939,14 @@
         //   value: 0,
         // },
       ],
-
+      zcrules: {
+        date1: [
+          { required: true, message: "璇烽�夋嫨闅忚鏂瑰紡", trigger: "change" },
+        ],
+        resource: [
+          { required: true, message: "璇烽�夋嫨闅忚鏃堕棿", trigger: "blur" },
+        ],
+      },
       // 琛ㄥ崟鍙傛暟
       form: {
         phonenumber: "",
@@ -759,14 +956,36 @@
         qystatus: "",
         btstatus: "",
       },
+      topicoptionssort: [
+        {
+          value: 0,
+          label: "鍑洪櫌鏃堕棿(姝e簭)",
+        },
+        {
+          value: 1,
+          label: "鍑洪櫌鏃堕棿(鍊掑簭)",
+        },
+        {
+          value: 2,
+          label: "鍙戦�佹椂闂�(姝e簭)",
+        },
+        {
+          value: 3,
+          label: "鍙戦�佹椂闂�(鍊掑簭)",
+        },
+      ],
       // 鏌ヨ鍙傛暟
       topqueryParams: {
         pageNum: 1,
         pageSize: 10,
-        serviceType: 9,
+        sendstate: 2,
+        sort: 2, //0 鍑洪櫌鏃堕棿(姝e簭)    1 鍑洪櫌鏃堕棿(鍊掑簭)   2 鍙戦�佹椂闂�(姝e簭)    3 鍙戦�佹椂闂�(鍊掑簭)
+        serviceType: 13,
         searchscope: 3,
+        visitCount: 2,
         scopetype: [],
-        leaveldeptcodes: [],
+        visitDeptCodes: [],
+        leaveldeptcodes:[],
         leavehospitaldistrictcodes: [],
       },
       propss: { multiple: true },
@@ -774,12 +993,16 @@
 
       topicoptions: [
         {
+          value: null,
+          label: "鍏ㄩ儴",
+        },
+        {
           value: 1,
           label: "琛ㄥ崟宸查鍙�",
         },
         {
           value: 2,
-          label: "寰呮墽琛�",
+          label: "寰呴殢璁�",
         },
         {
           value: 3,
@@ -798,6 +1021,16 @@
           label: "宸插畬鎴�",
         },
       ],
+      sextype: [
+        {
+          value: 1,
+          label: "鐢�",
+        },
+        {
+          value: 2,
+          label: "濂�",
+        },
+      ],
       topicoptionsyj: [
         {
           value: 1,
@@ -808,6 +1041,41 @@
           label: "姝e父",
         },
       ],
+      url: "http://9.208.2.190:8090/smartor/serviceExternal/query360PatInfo",
+      postData: {
+        XiaoXiTou: {
+          FaSongFCSJC: "ZJHES",
+          FaSongJGID: localStorage.getItem("orgid"),
+          FaSongJGMC: localStorage.getItem("orgname"),
+          FaSongSJ: "2025-01-09聽17:29:36",
+          FaSongXTJC: "SUIFANGXT",
+          FaSongXTMC: "闅忚绯荤粺",
+          XiaoXiID: "5FA92AFB-9833-4608-87C7-F56A654AC171",
+          XiaoXiLX: "SC_LC_360STCX",
+          XiaoXiMC: "360聽瑙嗗浘鏌ヨ",
+          ZuHuID: localStorage.getItem("ZuHuID"),
+          ZuHuMC: localStorage.getItem("orgname"),
+        },
+        YeWuXX: {
+          BingRenXX: {
+            ZhengJianHM: "",
+            ZhengJianLXDM: "01",
+            ZhengJianLXMC: "灞呮皯韬唤璇�",
+            ZuZhiJGID: localStorage.getItem("orgid"),
+            ZuZhiJGMC: localStorage.getItem("orgname"),
+          },
+          YongHuXX: {
+            XiTongID: "SUIFANGXT",
+            XiTongMC: "闅忚绯荤粺",
+            YongHuID: "1400466972205912064",
+            YongHuXM: "JNRMYY",
+            ZuZhiJGID: localStorage.getItem("orgid"),
+            ZuZhiJGMC: localStorage.getItem("orgname"),
+            idp: "lyra",
+          },
+        },
+      },
+      amendtag: false,
       errtype: "",
       leavehospitaldistrictcode: "",
       serviceState: [],
@@ -848,10 +1116,14 @@
     this.getList(1);
   },
   methods: {
-    /** 鏌ヨ闂ㄨ瘖闅忚鏈嶅姟鍒楄〃 */
+    /** 鏌ヨ闅忚鏈嶅姟鍒楄〃 */
     getList(refresh) {
       // 榛樿鍏ㄩ儴
+
       if (this.topqueryParams.searchscope == 3) {
+        this.topqueryParams.visitDeptCodes = store.getters.belongDepts.map(
+          (obj) => obj.deptCode
+        );
         this.topqueryParams.leaveldeptcodes = store.getters.belongDepts.map(
           (obj) => obj.deptCode
         );
@@ -866,12 +1138,95 @@
         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.visitDeptCodes[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;
+        this.total = response.total;
+        if (refresh) {
+          this.cardlist[0].value =
+            Number(response.rows[0].wzx) + Number(response.rows[0].ysf);
+          // this.cardlist[1].value = response.rows[0].wzx;
+          this.cardlist[1].value = response.rows[0].ysf;
+          this.ycvalue = response.rows[0].yc;
+          this.cardlist[2].value = response.rows[0].fssb;
+          this.cardlist[3].value = response.rows[0].dsf;
+          this.cardlist[4].value = response.rows[0].yfs2;
+          this.yfsvalue = response.rows[0].yfs;
+        }
+        this.loading = false;
+        this.userList.forEach((item) => {
+          let idArray = null;
+          if (item.endtime) {
+            item.endDay = this.daysBetween(item.endtime);
+          }
+
+          if (item.preachform) {
+            if (item.endtime) {
+              item.preachformson = item.preachform;
+              idArray = item.preachform.split(",");
+            }
+
+            item.preachform = idArray.map((value) => {
+              // 鏌ユ壘id瀵瑰簲鐨勫璞�
+              const item = this.checkboxlist.find(
+                (item) => item.value == value
+              );
+              // 濡傛灉鎵惧埌瀵瑰簲鐨刬d锛岃繑鍥瀕abel鍊硷紝鍚﹀垯杩斿洖null
+              return item ? item.label : null;
+            });
+          }
+        });
+        this.total = response.total;
+      });
+    },
+    affiliation() {
+      this.topqueryParams.drcode = store.getters.hisUserId;
+      this.topqueryParams.nurseId = store.getters.hisUserId;
+      this.getList(1);
+    },
+    onthatday() {
+      this.topqueryParams.startSendDateTime = this.getCurrentDate();
+      this.topqueryParams.endSendDateTime = this.getCurrentDate();
+      this.getList(1);
+    },
+    getCurrentDate() {
+      const now = new Date();
+      return now.toISOString().slice(0, 10); // 鎴彇鍓�10涓瓧绗︼紝鍗� YYYY-MM-DD
+    },
+    buidegetTasklist(type) {
+      if (this.topqueryParams.searchscope == 3) {
+        this.topqueryParams.visitDeptCodes = store.getters.belongDepts.map(
+          (obj) => obj.deptCode
+        );
+          this.topqueryParams.leaveldeptcodes = store.getters.belongDepts.map(
+          (obj) => obj.deptCode
+        );
+        this.topqueryParams.leavehospitaldistrictcodes =
+          store.getters.belongWards.map((obj) => obj.districtCode);
+      }
+      // 鎺ュ彈寮傚父璺宠浆
+      if (this.errtype) {
+        this.topqueryParams.leavehospitaldistrictcodes.push(
+          this.leavehospitaldistrictcode
+        );
+      }
+      let obj = {
+        pageNum: 1,
+        pageSize: 10,
+        leavehospitaldistrictcodes:
+          this.topqueryParams.leavehospitaldistrictcodes,
+        sendstates: [2, 3],
+        visitDeptCodes: this.topqueryParams.visitDeptCodes,
+        leaveldeptcodes: this.topqueryParams.leaveldeptcodes,
+      };
+      buidegetTasklist(obj).then((response) => {
         this.userList = response.rows[0].serviceSubtaskList;
         this.total = response.total;
         if (refresh) {
@@ -881,7 +1236,7 @@
           this.cardlist[2].value = response.rows[0].ysf;
           this.ycvalue = response.rows[0].yc;
           this.cardlist[3].value = response.rows[0].fssb;
-          this.cardlist[4].value = response.rows[0].dfs;
+          this.cardlist[4].value = response.rows[0].dsf;
           this.cardlist[5].value = response.rows[0].yfs2;
           this.yfsvalue = response.rows[0].yfs;
         }
@@ -893,8 +1248,10 @@
           }
 
           if (item.preachform) {
+            if (item.endtime) {
               item.preachformson = item.preachform;
               idArray = item.preachform.split(",");
+            }
 
             item.preachform = idArray.map((value) => {
               // 鏌ユ壘id瀵瑰簲鐨勫璞�
@@ -927,7 +1284,7 @@
         this.options = [];
       }
     },
-    // 闂ㄨ瘖闅忚鐘舵�佷慨鏀�
+    // 褰卞儚闅忚鐘舵�佷慨鏀�
     handleStatusChange(row) {
       let text = row.status === "0" ? "鍚敤" : "鍋滅敤";
       this.$modal
@@ -942,11 +1299,7 @@
           row.status = row.status === "0" ? "1" : "0";
         });
     },
-    // 鍙栨秷鎸夐挳
-    cancel() {
-      this.addalteropen = false;
-      this.reset();
-    },
+
     // 琛ㄥ崟閲嶇疆
     reset() {
       this.form = {
@@ -968,6 +1321,9 @@
     /** 鎼滅储鎸夐挳鎿嶄綔 */
     handleQuery(refresh) {
       if (this.topqueryParams.searchscope == 3) {
+        this.topqueryParams.visitDeptCodes = store.getters.belongDepts.map(
+          (obj) => obj.deptCode
+        );
         this.topqueryParams.leaveldeptcodes = store.getters.belongDepts.map(
           (obj) => obj.deptCode
         );
@@ -977,7 +1333,9 @@
       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];
+      console.log("2");
       this.getList(refresh);
     },
     // 鎮h�呰寖鍥村鐞�
@@ -985,14 +1343,16 @@
       let type = value[0];
       let code = value.slice(-1)[0];
       this.topqueryParams.leavehospitaldistrictcodes = [];
+      this.topqueryParams.visitDeptCodes = [];
       this.topqueryParams.leaveldeptcodes = [];
-
       if (type == 1) {
+        this.topqueryParams.visitDeptCodes.push(code);
         this.topqueryParams.leaveldeptcodes.push(code);
         this.topqueryParams.leavehospitaldistrictcodes = [];
         this.topqueryParams.searchscope = 1;
       } else if (type == 2) {
         this.topqueryParams.leavehospitaldistrictcodes.push(code);
+        this.topqueryParams.visitDeptCodes = [];
         this.topqueryParams.leaveldeptcodes = [];
         this.topqueryParams.searchscope = 2;
       } else {
@@ -1002,11 +1362,19 @@
     /** 閲嶇疆鎸夐挳鎿嶄綔 */
     resetQuery() {
       this.dateRange = [];
+      this.dateRangefs = [];
       this.topqueryParams = {
         pageNum: 1,
         pageSize: 10,
-        serviceType: 9,
-        searchscope: 2,
+        sendstate: 2,
+        sort: 2, //0 鍑洪櫌鏃堕棿(姝e簭)    1 鍑洪櫌鏃堕棿(鍊掑簭)   2 鍙戦�佹椂闂�(姝e簭)    3 鍙戦�佹椂闂�(鍊掑簭)
+        serviceType: 13,
+        searchscope: 3,
+        visitCount: 2,
+        scopetype: [],
+        visitDeptCodes: [],
+        leaveldeptcodes:[],
+        leavehospitaldistrictcodes: [],
       };
       this.handleQuery(1);
     },
@@ -1042,8 +1410,24 @@
         path: "/followvisit/QuestionnaireTask",
         query: {
           type: 2,
-          serviceType: 9,
+          serviceType: 13,
         },
+      });
+    },
+    //鎮h��360璺宠浆
+    gettoken360(sfzh, drcode, drname) {
+      this.postData.YeWuXX.BingRenXX.ZhengJianHM = sfzh;
+      if (this.postData.XiaoXiTou.ZuHuMC == "涓芥按甯備腑鍖婚櫌") {
+        this.postData.YeWuXX.YongHuXX.YongHuID = "1400398571877961728";
+        this.postData.YeWuXX.YongHuXX.YongHuXM = "LSZYY";
+      }
+      query360PatInfo(this.postData).then((res) => {
+        if (res.data.url) {
+          window.open(res.data.url, "_blank");
+          // this.linkUrl = res.data.url;
+        } else {
+          this.$modal.msgWarning("360鏌ヨ鏃犵粨鏋�");
+        }
       });
     },
 
@@ -1063,24 +1447,28 @@
         })
         .catch(() => {});
     },
-
+    // 鍙栨秷鎸夐挳
+    cancel() {
+      this.Labelchange = false;
+      this.reset();
+    },
     /** 鎻愪氦鎸夐挳 */
     submitForm: function () {
       this.$refs["form"].validate((valid) => {
         if (valid) {
-          if (this.form.userId != undefined) {
-            updateUser(this.form).then((response) => {
-              this.$modal.msgSuccess("淇敼鎴愬姛");
-              this.open = false;
+          this.form.isoperation = 2;
+          this.form.notrequiredFlag = 1;
+          alterpatient(this.form)
+            .then((response) => {
+              console.log(response);
+            })
+            .then(() => {
               this.getList(1);
+              this.$modal.msgSuccess("鎮h�呰繃婊ゆ垚鍔�");
             });
-          } else {
-            addUser(this.form).then((response) => {
-              this.$modal.msgSuccess("鏂板鎴愬姛");
-              this.open = false;
-              this.getList(1);
-            });
-          }
+
+          this.reset();
+          this.Labelchange = false;
         }
       });
     },
@@ -1148,7 +1536,6 @@
       if (row.preachformson) {
         if (row.preachformson.includes("3")) {
           type = 1;
-          console.log(type, "rwo");
         }
       }
       this.$router.push({
@@ -1158,8 +1545,54 @@
           patid: row.patid,
           id: row.id,
           Voicetype: type,
+          visitCount: this.topqueryParams.visitCount,
         },
       });
+    },
+    // 鍐嶆闅忚
+    followupvisit(row) {
+      this.zcform = row;
+      this.zcform.endtime = this.formatTime(this.zcform.endtime);
+      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(() => {});
+    },
+    // 鎮h�呰繃婊よЕ鍙�
+    handleUpdate(row) {
+      particularpatient(row.patid).then((response) => {
+        this.form = response.data;
+      });
+      this.amendtag = true;
+      this.Labelchange = true;
     },
     // 渚挎嵎鎸夐挳
     toleadExport(too) {
@@ -1176,7 +1609,7 @@
       this.topqueryParams.pageNum = null;
       this.topqueryParams.pageSize = null;
       this.download(
-        "smartor/serviceSubtask/export",
+        "smartor/serviceSubtask/patItemExport",
         {
           ...this.topqueryParams,
         },
@@ -1189,6 +1622,48 @@
         return "warning-row";
       }
       return "";
+    },
+    // 鍒涘缓鍐嶆闅忚鏈嶅姟
+    setupsubtask() {
+      this.$refs["zcform"].validate((valid) => {
+        if (valid) {
+          this.zcform.remark =
+            this.zcform.remark + "銆�" + this.getCurrentTime() + "銆�";
+          let form = structuredClone(this.zcform);
+          form.longSendTime = this.formatTime(form.date1);
+          form.finishtime = "";
+          if (form.resource) {
+            if (form.resource == 2) {
+              form.serviceType = 13;
+            }
+          } else {
+            this.$modal.msgError("鏈�夋嫨闅忚鏂瑰紡");
+          }
+          form.id = null;
+          form.sendstate = 2;
+          form.preachform = form.preachformson;
+          form.longTask = 0;
+          addserviceSubtask(form).then((res) => {
+            if (res.code == 200) {
+              this.$modal.msgSuccess("鍒涘缓鎴愬姛");
+            } else {
+              this.$modal.msgError("鍒涘缓澶辫触");
+            }
+            this.dialogFormVisible = false;
+          });
+        }
+      });
+    },
+    getCurrentTime() {
+      const now = new Date();
+      const year = now.getFullYear();
+      const month = String(now.getMonth() + 1).padStart(2, "0");
+      const day = String(now.getDate()).padStart(2, "0");
+      const hours = String(now.getHours()).padStart(2, "0");
+      const minutes = String(now.getMinutes()).padStart(2, "0");
+      const seconds = String(now.getSeconds()).padStart(2, "0");
+
+      return `${year}-${month}-${day} ${hours}:${minutes}:${seconds}`;
     },
   },
 };
@@ -1324,7 +1799,7 @@
 }
 .button-sc {
   font-weight: 500;
-  background-color: #dd302a;
+  background-color: #b3a21f;
   padding: 5px;
   border-radius: 1px;
   color: #ffffff;
diff --git a/src/views/index.vue b/src/views/index.vue
index 439d775..984673c 100644
--- a/src/views/index.vue
+++ b/src/views/index.vue
@@ -7,49 +7,48 @@
           <!-- 灏辫瘖缁熻鐩掑瓙 -->
           <div class="grid-content bg-purple headerBox bgc1">
             <div class="title">
-              鎮h�呯粺璁�<span
+              闂ㄨ瘖鏈嶅姟<span
                 style="
                   font-size: 25px;
                   font-weight: 600;
                   text-shadow: 2px 4px 7px rgb(85 132 255 / 50%);
                   color: black;
                 "
-                >12322 (浜�)</span
-              >
+              ></span>
               <span>{{ endatd }} ~ {{ statd }}</span>
             </div>
             <el-row :gutter="20">
-              <el-col :span="8">
+              <el-col :span="10">
                 <div class="home-user-task-stats">
-                  <p>{{ 11231 }}</p>
+                  <p>{{ OutpatientData.rs }}</p>
                   <div class="text-color2">
-                    <p>闂ㄨ瘖鎬绘暟锛堜汉锛�</p>
+                    <p>闂ㄨ瘖灏辫瘖閲忥紙浜烘锛�</p>
                   </div>
                 </div>
               </el-col>
-              <el-col :span="7">
+              <el-col :span="10">
                 <div class="home-user-task-stats">
-                  <p>{{ 9207 }}</p>
+                  <p>{{ OutpatientData.rc }}</p>
                   <div class="text-color2">
-                    <p>浣忛櫌鎬绘暟锛堜汉锛�</p>
+                    <p>闂ㄨ瘖鏈嶅姟閲忥紙浜烘锛�</p>
                   </div>
                 </div>
               </el-col>
-              <el-col :span="7">
+              <!-- <el-col :span="7">
                 <div class="home-user-task-stats">
                   <p>{{ 1209 }}</p>
                   <div class="text-color2">
                     <p>浣撴鎬绘暟锛堜汉锛�</p>
                   </div>
                 </div>
-              </el-col>
+              </el-col> -->
             </el-row>
           </div>
         </el-col>
         <el-col :span="9">
           <div class="grid-content bg-purple headerBox bgc2">
             <div class="title">
-              闂ㄨ瘖鏈嶅姟鎬绘暟
+              鍑洪櫌鏈嶅姟
               <span
                 style="
                   font-size: 25px;
@@ -57,24 +56,23 @@
                   font-weight: 600;
                   color: red;
                 "
-                >12322 (浜�)</span
-              >
+              ></span>
               <span>{{ endatd }} ~ {{ statd }}</span>
             </div>
             <el-row :gutter="20">
-              <el-col :span="12">
+              <el-col :span="10">
                 <div class="home-user-task-stats">
-                  <p style="color: red">{{ 3453 }}</p>
+                  <p style="color: red">{{ DischargeData.rs }}</p>
                 </div>
                 <div class="text-color2">
-                  <p>浣忛櫌鏈嶅姟浜烘暟</p>
+                  <p>鍑洪櫌灏辫瘖閲忥紙浜烘锛�</p>
                 </div>
               </el-col>
-              <el-col :span="12">
+              <el-col :span="10">
                 <div class="home-user-task-stats">
-                  <p style="color: red">{{ 4213 }}</p>
+                  <p style="color: red">{{ DischargeData.rc }}</p>
                   <div class="text-color2">
-                    <p>浣撴鏈嶅姟浜烘暟</p>
+                    <p>鍑洪櫌鏈嶅姟閲忥紙浜烘锛�</p>
                   </div>
                 </div>
               </el-col>
@@ -88,7 +86,7 @@
           <!-- echars鏁版嵁鍙鍖� -->
           <div class="grid-content bg-purple" style="min-height: 365px">
             <div class="title">
-              灏辫瘖缁熻
+              鏈嶅姟缁熻
               <span>{{ endatd }} ~ {{ statd }}</span>
               <el-radio-group
                 v-model="radio1"
@@ -117,7 +115,7 @@
         <el-col :span="4" class="aside">
           <div class="grid-content bg-purple" style="margin-top: -180px">
             <div class="title">
-              鍋ュ悍瀹f暀
+              绉戝鏈嶅姟閲�
               <span>{{ endatd }} ~ {{ statd }}</span>
             </div>
             <div style="max-height: 690px; width: 100%; overflow: auto">
@@ -130,13 +128,14 @@
                   type="index"
                 ></el-table-column>
                 <el-table-column
-                  prop="skuName"
+                  prop="deptname"
                   width="88"
                   class-name="name"
                 ></el-table-column>
-                <el-table-column prop="count" class-name="count">
+
+                <el-table-column prop="rc" class-name="rc">
                   <template slot-scope="scope">
-                    {{ scope.row.count }}娆�
+                    {{ scope.row.rc }}娆�
                   </template>
                 </el-table-column>
               </el-table>
@@ -146,7 +145,7 @@
       </el-row>
       <!-- 搴曢儴涓�涓� -->
       <el-row :gutter="20" style="margin-bottom: 20px">
-        <el-col :span="15">
+        <el-col :span="24">
           <div class="grid-content bg-purple" style="min-height: 300px">
             <div class="title">
               瀹f暀缁熻
@@ -158,7 +157,7 @@
             </div>
           </div>
         </el-col>
-        <el-col :span="9">
+        <!-- <el-col :span="9">
           <div class="grid-content bg-purple" style="min-height: 300px">
             <div class="title">
               鍚勯」鏈嶅姟缁熻
@@ -220,7 +219,7 @@
                 >
                 <el-col :span="7">
                   <div style="display: flex">
-                    <div class="subtitle">闂ㄨ瘖闅忚</div>
+                    <div class="subtitle">褰卞儚闅忚</div>
                     <div class="grid-contents bg-purple-light">0娆�</div>
                   </div>
                 </el-col>
@@ -281,7 +280,7 @@
               </el-row>
             </div>
           </div>
-        </el-col>
+        </el-col> -->
       </el-row>
     </div>
   </div>
@@ -289,10 +288,12 @@
 
 <script>
 import {
-  getoutpatientamount,
-  getInhospital,
-  getBarchart,
-  getQtemplateobj,
+  getEChartsPatMedOuthospCount,
+  getechartsListCountdata,
+  getechartsMedOuthospList,
+  getechartsMedInhospList,
+  getechartsandData,
+  getDeptRanking,
 } from "@/api/AiCentre/index";
 import dayjs from "dayjs";
 
@@ -309,6 +310,14 @@
       lastHeight: window.innerHeight,
       radio1: "鍛�",
       ticketStatistics: {},
+      DischargeData: {
+        rs: "",
+        rc: "",
+      },
+      OutpatientData: {
+        rs: "",
+        rc: "",
+      },
       order: "",
       Count: "",
       datatni: [],
@@ -339,9 +348,9 @@
     },
   },
   created() {
-    // this.getoutpatientamount();
-    // this.getInhospital();
-    // this.getBarchart();
+    this.getTopdata();
+    this.getgraphdata();
+    this.getranking();
     this.$nextTick(function () {
       this.getregionAmountCollect();
       this.getnodeCollect();
@@ -367,10 +376,10 @@
       } else {
         this.dyat = 360;
       }
+      this.getgraphdata();
+      this.getranking();
+      this.getTopdata();
       this.getregionAmountCollect();
-      // this.getoutpatientamount();
-      // this.getInhospital();
-      // this.getBarchart();
       this.getnodeCollect();
       this.getSkuTop();
     },
@@ -380,43 +389,86 @@
       // const res = await getnodeCollect();
       // this.nodeCollect = res.data;
       this.nodeCollect = [
-        { name: "闂ㄨ瘖闅忚", value: 1232 },
+        { name: "褰卞儚闅忚", value: 1232 },
         { name: "鍑洪櫌闅忚", value: 342 },
       ];
       this.myPieChart();
     },
     // top鎺掕
     async getSkuTop() {
-      // const res = await getSkuTop(10, this.endatd, this.statd);
-      // this.SkuTop = res.data;
-      this.SkuTop = [
-        { amount: 0, count: 123, skuId: "0", skuName: "蹇冭偤绉�" },
-        { amount: 0, count: 122, skuId: "0", skuName: "鑲捐剰绉�" },
-        { amount: 0, count: 112, skuId: "0", skuName: "娉屽翱绉�" },
-        { amount: 0, count: 111, skuId: "0", skuName: "鐢风" },
-        { amount: 0, count: 102, skuId: "0", skuName: "濡囦骇绉�" },
-        { amount: 0, count: 98, skuId: "0", skuName: "澶栫" },
-        { amount: 0, count: 89, skuId: "0", skuName: "鎬ヨ瘖" },
-        { amount: 0, count: 88, skuId: "0", skuName: "鍣ㄦ绉�" },
-        { amount: 0, count: 87, skuId: "0", skuName: "楠ㄧ" },
-        { amount: 0, count: 67, skuId: "0", skuName: "鏀惧皠绉�" },
-        { amount: 0, count: 89, skuId: "0", skuName: "鎬ヨ瘖" },
-        { amount: 0, count: 88, skuId: "0", skuName: "鍣ㄦ绉�" },
-        { amount: 0, count: 87, skuId: "0", skuName: "楠ㄧ" },
-        { amount: 0, count: 67, skuId: "0", skuName: "鏀惧皠绉�" },
-      ];
+       let Rankingdata = {
+        startDate: this.endatd,
+        endDate: this.statd,
+        cy: 1,
+      };
+      await getDeptRanking(Rankingdata).then((res) => {
+        if (res.code == 200) {
+          this.SkuTop=res.rows.sort((a, b) => b.rc - a.rc);
+          console.log(this.SkuTop,'this.SkuTop');
+        }
+      });
+
+      // this.SkuTop = [
+      //   { amount: 0, count: 123, skuId: "0", skuName: "蹇冭偤绉�" },
+      //   { amount: 0, count: 122, skuId: "0", skuName: "鑲捐剰绉�" },
+      //   { amount: 0, count: 112, skuId: "0", skuName: "娉屽翱绉�" },
+      //   { amount: 0, count: 111, skuId: "0", skuName: "鐢风" },
+      //   { amount: 0, count: 102, skuId: "0", skuName: "濡囦骇绉�" },
+      //   { amount: 0, count: 98, skuId: "0", skuName: "澶栫" },
+      //   { amount: 0, count: 89, skuId: "0", skuName: "鎬ヨ瘖" },
+      //   { amount: 0, count: 88, skuId: "0", skuName: "鍣ㄦ绉�" },
+      //   { amount: 0, count: 87, skuId: "0", skuName: "楠ㄧ" },
+      //   { amount: 0, count: 67, skuId: "0", skuName: "鏀惧皠绉�" },
+      //   { amount: 0, count: 89, skuId: "0", skuName: "鎬ヨ瘖" },
+      //   { amount: 0, count: 88, skuId: "0", skuName: "鍣ㄦ绉�" },
+      //   { amount: 0, count: 87, skuId: "0", skuName: "楠ㄧ" },
+      //   { amount: 0, count: 67, skuId: "0", skuName: "鏀惧皠绉�1" },
+      //   { amount: 0, count: 67, skuId: "0", skuName: "鏀惧皠绉�2" },
+      // ];
     },
-    // 鑾峰彇闂ㄨ瘖鍩虹鏁版嵁
-    getoutpatientamount() {
-      getoutpatientamount().then((res) => {});
+    // 鑾峰彇澶撮儴鏁版嵁
+    getTopdata() {
+      let hospCountdata = {
+        startDate: this.endatd,
+        endDate: this.statd,
+        cy: 1,
+      };
+      let Countdata = {
+        startDate: this.endatd,
+        endDate: this.statd,
+        cy: 1,
+      };
+      // 鏌ヨ闂ㄨ瘖鐪嬬梾浜烘鍜屼汉鏁�
+      getEChartsPatMedOuthospCount(hospCountdata).then((res) => {
+        if (res.code == 200) {
+          this.OutpatientData = res.data;
+        }
+      });
+      // 鏌ヨ鍑恒�佸叆闄㈢湅鐥呬汉娆″拰浜烘暟
+      getechartsListCountdata(Countdata).then((res) => {
+        if (res.code == 200) {
+          this.DischargeData = res.data;
+        }
+      });
     },
     // 鑾峰彇灏辫瘖鏁伴噺
-    getBarchart() {
-      getBarchart().then((res) => {});
+    getranking() {
+
     },
-    // 鑾峰彇鎬婚噺鏁伴噺
-    getInhospital() {
-      getInhospital().then((res) => {});
+    // 鑾峰彇涓儴绾挎煴鍥炬暟鎹�
+    getgraphdata() {
+      let Outhospdata = {
+        startDate: this.endatd,
+        endDate: this.statd,
+        cy: 1,
+      };
+      let Inhospdata = {
+        startDate: this.endatd,
+        endDate: this.statd,
+        cy: 1,
+      };
+      getechartsMedOuthospList(Outhospdata).then((res) => {});
+      getechartsMedInhospList(Inhospdata).then((res) => {});
     },
 
     // 鑾峰彇绾跨姸鍥炬椂闂�
@@ -455,10 +507,10 @@
           data: [
             "鍑洪櫌闅忚閲�",
             "闂ㄨ瘖闅忚閲�",
-            "鍦ㄩ櫌闅忚閲�",
-            "闂ㄨ瘖澶嶈瘖閫氱煡",
-            "鍑洪櫌澶嶈瘖閫氱煡",
-            "鍦ㄩ櫌璇勪及閲�",
+            // "鍦ㄩ櫌闅忚閲�",
+            // "闂ㄨ瘖澶嶈瘖閫氱煡",
+            "鍑洪櫌鏈嶅姟浜烘",
+            "闂ㄨ瘖鏈嶅姟浜烘",
           ],
         },
         xAxis: [
@@ -515,18 +567,18 @@
             },
             data: [120, 150, 165, 90, 140, 200, 130, 85, 175, 95, 110, 160],
           },
+          // {
+          //   name: "褰卞儚闅忚閲�",
+          //   type: "bar",
+          //   tooltip: {
+          //     valueFormatter: function (value) {
+          //       return value + " 浜�";
+          //     },
+          //   },
+          //   data: [102, 190, 135, 88, 175, 160, 83, 145, 200, 110, 97, 180],
+          // },
           {
             name: "闂ㄨ瘖闅忚閲�",
-            type: "bar",
-            tooltip: {
-              valueFormatter: function (value) {
-                return value + " 浜�";
-              },
-            },
-            data: [102, 190, 135, 88, 175, 160, 83, 145, 200, 110, 97, 180],
-          },
-          {
-            name: "鍦ㄩ櫌闅忚閲�",
             type: "bar",
             tooltip: {
               valueFormatter: function (value) {
@@ -536,20 +588,20 @@
             data: [145, 92, 178, 134, 167, 85, 199, 112, 156, 88, 120, 145],
           },
 
+          // {
+          //   name: "鍑洪櫌澶嶈瘖閫氱煡",
+          //   type: "line",
+          //   smooth: 0.3,
+          //   yAxisIndex: 1,
+          //   tooltip: {
+          //     valueFormatter: function (value) {
+          //       return value + " 娆�";
+          //     },
+          //   },
+          //   data: [45, 123, 78, 156, 89, 34, 199, 112, 67, 145, 88, 175],
+          // },
           {
-            name: "鍑洪櫌澶嶈瘖閫氱煡",
-            type: "line",
-            smooth: 0.3,
-            yAxisIndex: 1,
-            tooltip: {
-              valueFormatter: function (value) {
-                return value + " 娆�";
-              },
-            },
-            data: [45, 123, 78, 156, 89, 34, 199, 112, 67, 145, 88, 175],
-          },
-          {
-            name: "闂ㄨ瘖澶嶈瘖閫氱煡",
+            name: "鍑洪櫌鏈嶅姟浜烘",
             type: "line",
             smooth: 0.3,
             yAxisIndex: 1,
@@ -561,7 +613,7 @@
             data: [102, 190, 135, 88, 175, 160, 83, 145, 200, 110, 97, 180],
           },
           {
-            name: "鍦ㄩ櫌璇勪及閲�",
+            name: "闂ㄨ瘖鏈嶅姟浜烘",
             type: "line",
             smooth: 0.3,
             yAxisIndex: 1,
@@ -980,7 +1032,9 @@
   min-height: 36px;
   border-radius: 20px;
   padding: 0 10px;
+  text-align: center;
 }
+
 .grid-contents {
   min-height: 36px;
   border-radius: 20px;
diff --git a/src/views/knowledge/education/compilequer/index.vue b/src/views/knowledge/education/compilequer/index.vue
index be12c5b..1060bfa 100644
--- a/src/views/knowledge/education/compilequer/index.vue
+++ b/src/views/knowledge/education/compilequer/index.vue
@@ -24,6 +24,7 @@
       <!-- 鍩烘湰淇℃伅 -->
       <div v-if="Editprogress == 1">
         <div class="leftvlue-jbxx">鍩烘湰淇℃伅</div>
+        <el-divider></el-divider>
         <el-form
           :model="ruleForm"
           :rules="rules"
@@ -258,6 +259,18 @@
           <el-col :span="4">
             <div class="leftvlue-jbxx">瀹f暀鍐呭</div>
           </el-col>
+          <el-col :offset="16" :span="4">
+            <el-upload
+              class="upload-demo"
+              :action="uploadImgUrlword"
+              :on-success="uploadEditorSuccessword"
+              :on-error="uploadEditorErrorword"
+              :before-upload="beforeEditorUploadword"
+              :headers="headers"
+            >
+              <el-button size="small" type="primary">word鏂囦欢涓婁紶</el-button>
+            </el-upload>
+          </el-col>
         </el-row>
 
         <div>
@@ -268,7 +281,7 @@
             label-width="100px"
             class="demo-ruleForm"
           >
-            <el-row :gutter="20">
+            <!-- <el-row :gutter="20">
               <el-col :span="12">
                 <el-form-item label="璧勬枡褰㈠紡" prop="region">
                   <el-select
@@ -285,40 +298,14 @@
                   </el-select>
                 </el-form-item>
               </el-col>
-              <el-col :span="12">
-                <div>
-                  <el-button @click="laststep('ruleForm')">涓婁竴姝�</el-button>
-                  <el-button
-                    type="success"
-                    @click="Departmenttreatment('ruleForm')"
-                    >淇濆瓨</el-button
-                  >
-                  <el-button
-                    type="warning"
-                    @click="Departmenttreatment('ruleForm')"
-                    >鍙﹀瓨鏂扮増鏈�</el-button
-                  >
-                  <el-button type="info" @click="closeFm('ruleForm')"
-                    >鍏抽棴</el-button
-                  >
-                </div>
-              </el-col>
-            </el-row>
+              <el-col :span="12"> -->
+
+            <!-- </el-col>
+            </el-row> -->
           </el-form>
         </div>
-        <div>
-          <el-upload
-            class="upload-demo"
-            :action="uploadImgUrlword"
-            :on-success="uploadEditorSuccessword"
-            :on-error="uploadEditorErrorword"
-            :before-upload="beforeEditorUploadword"
-            :headers="headers"
-          >
-            <el-button size="small" type="primary">word鏂囦欢涓婁紶</el-button>
-          </el-upload>
+        <!-- <div>
           <div id="quillEditorQiniu">
-            <!-- 鍩轰簬elementUi鐨勪笂浼犵粍浠� el-upload begin-->
             <el-upload
               class="avatar-uploader"
               :action="uploadImgUrl"
@@ -330,7 +317,6 @@
               :headers="headers"
             >
             </el-upload>
-            <!-- 鍩轰簬elementUi鐨勪笂浼犵粍浠� el-upload end-->
             <quill-editor
               class="editor"
               v-model="content"
@@ -342,6 +328,32 @@
             >
             </quill-editor>
           </div>
+        </div> -->
+        <!-- 鏂扮粍浠� -->
+        <div style="border: 1px solid #ccc; margin: 10px">
+          <Toolbar
+            style="border-bottom: 1px solid #ccc"
+            :editor="editor"
+            :defaultConfig="toolbarConfig"
+            :mode="modes"
+          />
+          <Editor
+            style="height: 500px; overflow-y: hidden"
+            v-model="content"
+            :defaultConfig="editorConfig"
+            :mode="modes"
+            @onCreated="onCreated"
+          />
+        </div>
+        <div>
+          <el-button @click="laststep('ruleForm')">涓婁竴姝�</el-button>
+          <el-button type="success" @click="Departmenttreatment('ruleForm')"
+            >淇濆瓨</el-button
+          >
+          <el-button type="warning" @click="Departmenttreatment('ruleForm')"
+            >鍙﹀瓨鏂扮増鏈�</el-button
+          >
+          <el-button type="info" @click="closeFm('ruleForm')">鍏抽棴</el-button>
         </div>
       </div>
     </div>
@@ -358,6 +370,7 @@
 
 <script>
 import { quillEditor } from "vue-quill-editor";
+import { Editor, Toolbar } from "@wangeditor/editor-for-vue";
 import axios from "axios";
 
 import {
@@ -411,9 +424,80 @@
 
 export default {
   name: "aEducationinfo",
-  components: { OptionalForm },
+  components: { OptionalForm, Editor, Toolbar },
   data() {
     return {
+      editor: null,
+      content: "<p>hello</p>",
+      toolbarConfig: {},
+      editorConfig: {
+        placeholder: "璇疯緭鍏ュ唴瀹�...",
+        menus: [
+          "head",
+          "bold",
+          "italic",
+          "underline",
+          "image",
+          "link",
+          "list",
+          "undo",
+          "redo",
+          "file", // 娣诲姞鑷畾涔夋枃浠朵笂浼犺彍鍗�
+        ],
+        uploadImgServer: process.env.VUE_APP_BASE_API + "/common/uploadSort", // 鍥剧墖涓婁紶鎺ュ彛
+        uploadImgHeaders: {
+          Authorization: "Bearer " + getToken(),
+        }, // 鑷畾涔変笂浼犵殑 headers
+        uploadImgParams: { key: "value" }, // 鑷畾涔変笂浼犵殑鍙傛暟
+        uploadImgMaxSize: 2 * 1024 * 1024, // 鍥剧墖鏈�澶уぇ灏忥紝鍗曚綅 Byte
+        uploadImgMaxLength: 1, // 涓�娆℃渶澶氫笂浼犲浘鐗囨暟閲�
+        uploadImgTimeout: 3 * 60 * 1000, // 瓒呮椂鏃堕棿锛屽崟浣� ms
+        uploadImgHooks: {
+          customInsert: (insertImgFn, result) => {
+            const url = result.url; // 鑾峰彇鍥剧墖鍦板潃
+            insertImgFn(url); // 鎻掑叆鍥剧墖
+          },
+        },
+        customMenus: {
+          file: {
+            tip: "涓婁紶鏂囦欢",
+            click: (editor) => {
+              const input = document.createElement("input");
+              input.type = "file";
+              input.accept =
+                "application/pdf,application/msword,application/vnd.openxmlformats-officedocument.wordprocessingml.document"; // 鏀寔鐨勬枃浠剁被鍨�
+              input.onchange = (e) => {
+                const file = e.target.files[0];
+                if (!file) return;
+                const formData = new FormData();
+                formData.append("file", file);
+
+                // 纭繚 process.env.VUE_APP_BASE_API 鏄纭殑
+                const uploadUrl =
+                  process.env.VUE_APP_BASE_API + "/common/uploadSort";
+                axios
+                  .post(uploadUrl, formData, {
+                    headers: {
+                      Authorization: "Bearer " + getToken(),
+                    },
+                  })
+                  .then((res) => {
+                    const url = res.data.url; // 鑾峰彇鏂囦欢鍦板潃
+                    // 鎻掑叆鏂囦欢閾炬帴浣滀负鏅�氭枃鏈�
+                    editor.txt.append(url + " ");
+                    // 鎴栬�呮彃鍏ユ枃浠堕摼鎺ヤ綔涓鸿秴閾炬帴
+                    // editor.cmd.do('insertLink', { name: '鏂囦欢閾炬帴', url: url });
+                  })
+                  .catch((err) => {
+                    console.error("鏂囦欢涓婁紶澶辫触", err);
+                  });
+              };
+              input.click();
+            },
+          },
+        },
+      },
+      modes: "default", // or 'simple'
       headers: {
         Authorization: "Bearer " + getToken(),
       },
@@ -577,8 +661,17 @@
       console.log(oldVal, "B");
     },
   },
-
+  beforeDestroy() {
+    const editor = this.editor;
+    if (editor == null) return;
+    editor.destroy(); // 缁勪欢閿�姣佹椂锛屽強鏃堕攢姣佺紪杈戝櫒
+  },
   methods: {
+    onCreated(editor) {
+      this.editor = Object.seal(editor); // 涓�瀹氳鐢� Object.seal()锛屽惁鍒欎細鎶ラ敊
+    },
+
+    // ---------------------------------
     processElement(element) {
       return { ...element, isoperation: null };
     },
@@ -943,7 +1036,7 @@
       // 鑾峰彇鍏夋爣鎵�鍦ㄤ綅缃�
       let length = quill.getSelection().index;
       // 鎻掑叆鍥剧墖||瑙嗛  res.info涓烘湇鍔″櫒杩斿洖鐨勫浘鐗囧湴鍧�
-      if (type == "mp4" || type == "MP4"|| type == "avi"|| type == "AVI") {
+      if (type == "mp4" || type == "MP4" || type == "avi" || type == "AVI") {
         window.jsValue = imgUrl;
         quill.insertEmbed(length, "video", imgUrl);
       } else {
@@ -1034,12 +1127,9 @@
   },
 };
 </script>
-
+<style src="@wangeditor/editor/dist/css/style.css"></style>
+<style src="@/assets/styles/global.css"></style>
 <style lang="scss" scoped>
-.Questionnairemanagement {
-  // display: flex;
-}
-
 .sidecolumn {
   // width: 300px;
   // min-height: 100vh;
@@ -1070,8 +1160,10 @@
   }
 
   .leftvlue-jbxx {
-    margin-bottom: 50px;
-    font-size: 20px;
+    font-size: 24px;
+    height: 30px;
+    border-left: 3px solid #41a1be;
+    padding-left: 3px;
 
     span {
       position: absolute;
@@ -1225,95 +1317,5 @@
   span {
     font-size: 24px;
   }
-}
-
-.editor {
-  line-height: normal !important;
-  height: 600px;
-  margin-bottom: 80px;
-}
-
-.ql-snow .ql-tooltip[data-mode="link"]::before {
-  content: "璇疯緭鍏ラ摼鎺ュ湴鍧�:";
-}
-
-.ql-snow .ql-tooltip.ql-editing a.ql-action::after {
-  border-right: 0px;
-  content: "淇濆瓨";
-  padding-right: 0px;
-}
-
-.ql-snow .ql-tooltip[data-mode="video"]::before {
-  content: "璇疯緭鍏ヨ棰戝湴鍧�:";
-}
-
-.ql-snow .ql-picker.ql-size .ql-picker-label::before,
-.ql-snow .ql-picker.ql-size .ql-picker-item::before {
-  content: "14px";
-}
-
-.ql-snow .ql-picker.ql-size .ql-picker-label[data-value="small"]::before,
-.ql-snow .ql-picker.ql-size .ql-picker-item[data-value="small"]::before {
-  content: "10px";
-}
-
-.ql-snow .ql-picker.ql-size .ql-picker-label[data-value="large"]::before,
-.ql-snow .ql-picker.ql-size .ql-picker-item[data-value="large"]::before {
-  content: "18px";
-}
-
-.ql-snow .ql-picker.ql-size .ql-picker-label[data-value="huge"]::before,
-.ql-snow .ql-picker.ql-size .ql-picker-item[data-value="huge"]::before {
-  content: "32px";
-}
-
-.ql-snow .ql-picker.ql-header .ql-picker-label::before,
-.ql-snow .ql-picker.ql-header .ql-picker-item::before {
-  content: "鏂囨湰";
-}
-
-.ql-snow .ql-picker.ql-header .ql-picker-label[data-value="1"]::before,
-.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="1"]::before {
-  content: "鏍囬1";
-}
-
-.ql-snow .ql-picker.ql-header .ql-picker-label[data-value="2"]::before,
-.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="2"]::before {
-  content: "鏍囬2";
-}
-
-.ql-snow .ql-picker.ql-header .ql-picker-label[data-value="3"]::before,
-.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="3"]::before {
-  content: "鏍囬3";
-}
-
-.ql-snow .ql-picker.ql-header .ql-picker-label[data-value="4"]::before,
-.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="4"]::before {
-  content: "鏍囬4";
-}
-
-.ql-snow .ql-picker.ql-header .ql-picker-label[data-value="5"]::before,
-.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="5"]::before {
-  content: "鏍囬5";
-}
-
-.ql-snow .ql-picker.ql-header .ql-picker-label[data-value="6"]::before,
-.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="6"]::before {
-  content: "鏍囬6";
-}
-
-.ql-snow .ql-picker.ql-font .ql-picker-label::before,
-.ql-snow .ql-picker.ql-font .ql-picker-item::before {
-  content: "鏍囧噯瀛椾綋";
-}
-
-.ql-snow .ql-picker.ql-font .ql-picker-label[data-value="serif"]::before,
-.ql-snow .ql-picker.ql-font .ql-picker-item[data-value="serif"]::before {
-  content: "琛嚎瀛椾綋";
-}
-
-.ql-snow .ql-picker.ql-font .ql-picker-label[data-value="monospace"]::before,
-.ql-snow .ql-picker.ql-font .ql-picker-item[data-value="monospace"]::before {
-  content: "绛夊瀛椾綋";
 }
 </style>
diff --git a/src/views/knowledge/education/index.vue b/src/views/knowledge/education/index.vue
index 3168622..12d16fd 100644
--- a/src/views/knowledge/education/index.vue
+++ b/src/views/knowledge/education/index.vue
@@ -1,5 +1,6 @@
 <template>
   <div class="educationmanagement">
+
     <!-- 宸︿晶鏍� -->
     <div class="sidecolumn">
       <div class="sidecolumn-top">
@@ -365,7 +366,7 @@
       </div>
     </div>
     <!-- 娣诲姞绫诲埆寮规 -->
-    <el-dialog title="鏂板绫诲埆" width="30%" :visible.sync="dialogFormVisible">
+    <el-dialog title="绫诲埆缂栬緫" width="30%" :visible.sync="dialogFormVisible">
       <div style="text-align: center; margin-bottom: 20px">
         <el-radio-group v-model="radio">
           <el-radio-button label="涓诲垎绫�"></el-radio-button>
@@ -644,7 +645,7 @@
       // const res = await getnodeCollect();
       // this.nodeCollect = res.data;
       // this.nodeCollect = [
-      //   { name: "闂ㄨ瘖闅忚", value: 1232 },
+      //   { name: "褰卞儚闅忚", value: 1232 },
       //   { name: "鍑洪櫌闅忚", value: 342 },
       // ];
       this.myPieChart();
diff --git a/src/views/knowledge/questionbank/index.vue b/src/views/knowledge/questionbank/index.vue
index 7d64b9a..7402482 100644
--- a/src/views/knowledge/questionbank/index.vue
+++ b/src/views/knowledge/questionbank/index.vue
@@ -20,6 +20,7 @@
           :data="deptOptions"
           :props="defaultProps"
           :expand-on-click-node="false"
+          :check-strictly="true"
           :filter-node-method="filterNode"
           ref="tree"
           node-key="id"
@@ -210,7 +211,6 @@
                 :show-overflow-tooltip="true"
               />
 
-
               /><el-table-column
                 label="閫傜敤鏂瑰紡"
                 align="center"
@@ -289,7 +289,6 @@
                     size="medium"
                     type="text"
                     @click="compileUpdate(scope.row)"
-
                     ><span class="button-bji"
                       ><i class="el-icon-edit"></i>缂栬緫</span
                     ></el-button
@@ -298,7 +297,6 @@
                     size="medium"
                     type="text"
                     @click="handleDelete(scope.row)"
-
                     ><span class="button-textsc"
                       ><i class="el-icon-delete-solid"></i>鍒犻櫎</span
                     ></el-button
@@ -307,7 +305,6 @@
                     size="medium"
                     type="text"
                     @click="topicpreview(scope.row)"
-
                     ><span class="button-text"
                       ><i class="el-icon-view"></i>棰勮</span
                     ></el-button
@@ -328,7 +325,7 @@
       </div>
     </div>
     <!-- 娣诲姞绫诲埆寮规 -->
-    <el-dialog title="鏂板绫诲埆" width="30%" :visible.sync="dialogFormVisible">
+    <el-dialog title="绫诲埆缂栬緫" width="30%" :visible.sync="dialogFormVisible">
       <div style="text-align: center; margin-bottom: 20px">
         <el-radio-group v-model="radio">
           <el-radio-button label="涓诲垎绫�"></el-radio-button>
@@ -495,7 +492,7 @@
       userList: [],
       // 寮瑰嚭灞傛爣棰�
       tag: "",
-      title: "鏂板绫诲埆",
+      title: "绫诲埆缂栬緫",
       // 鏄惁鏄剧ず寮瑰嚭灞�
       open: false,
       // 鏃ユ湡鑼冨洿
@@ -734,11 +731,11 @@
       this.classifyform = b;
       this.dialogFormVisible = true;
     },
-    Newcategory(){
-      this.classifyform= {}, //绫诲埆琛ㄥ崟
-      this.radio = "涓诲垎绫�";
-     this.dialogFormVisible = true
-     this.zifon = true;
+    Newcategory() {
+      (this.classifyform = {}), //绫诲埆琛ㄥ崟
+        (this.radio = "涓诲垎绫�");
+      this.dialogFormVisible = true;
+      this.zifon = true;
       this.zufon = true;
     },
 
@@ -748,6 +745,7 @@
       return data.name.indexOf(value) !== -1;
     },
     handleNodeClick(data) {
+      if (data.svyLibScriptCategoryList) return;
       this.queryParams.categoryid = data.id;
       this.getList();
     },
@@ -825,7 +823,7 @@
   display: flex;
 }
 .sidecolumn {
-  width: 300px;
+  width: 400px;
   min-height: 100vh;
   text-align: center;
   //   display: flex;
diff --git a/src/views/knowledge/questionbank/particulars/index.vue b/src/views/knowledge/questionbank/particulars/index.vue
index b64788a..6e1f7e2 100644
--- a/src/views/knowledge/questionbank/particulars/index.vue
+++ b/src/views/knowledge/questionbank/particulars/index.vue
@@ -454,9 +454,9 @@
                         label="ABC绛夌骇"
                       >
                         <el-radio-group v-model="item.score">
-                          <el-radio label="A">A</el-radio>
-                          <el-radio label="B">B</el-radio>
-                          <el-radio label="C">C</el-radio>
+                          <el-radio :label="1">A</el-radio>
+                          <el-radio :label="2">B</el-radio>
+                          <el-radio :label="3">C</el-radio>
                         </el-radio-group>
                       </el-form-item>
                       <el-form-item
@@ -872,13 +872,14 @@
     // 鑾峰彇鏁版嵁
     getissueinfo() {
       this.id = this.$route.query.id;
-      if (this.$route.query.categoryid) {
-        this.topicobj.categoryid = Number(this.$route.query.categoryid);
-      }
+
 
       // 鍒嗙被
       getissueclassify({}).then((res) => {
         this.classifylist = res.rows;
+        if (this.$route.query.categoryid) {
+        this.topicobj.categoryid = Number(this.$route.query.categoryid);
+      }
       });
       if (!this.id) {
         return;
diff --git a/src/views/knowledge/questionnaire/compilequer/index.vue b/src/views/knowledge/questionnaire/compilequer/index.vue
index a0b408c..139dba5 100644
--- a/src/views/knowledge/questionnaire/compilequer/index.vue
+++ b/src/views/knowledge/questionnaire/compilequer/index.vue
@@ -310,7 +310,7 @@
               >涓嬩竴姝�</el-button
             >
             <el-button type="info" @click="closeFm('ruleForm')">鍏抽棴</el-button>
-            <el-button @click="Departmenttreatment('ruleForm')"
+            <el-button @click="toExamine('ruleForm')"
               >淇濆瓨闂嵎鍩虹淇℃伅</el-button
             >
           </el-form-item>
@@ -634,9 +634,9 @@
                           label="ABC绛夌骇"
                         >
                           <el-radio-group v-model="item.score">
-                            <el-radio label="A">A</el-radio>
-                            <el-radio label="B">B</el-radio>
-                            <el-radio label="C">C</el-radio>
+                            <el-radio :label="1">A</el-radio>
+                            <el-radio :label="2">B</el-radio>
+                            <el-radio :label="3">C</el-radio>
                           </el-radio-group>
                         </el-form-item>
                         <el-form-item
@@ -749,7 +749,7 @@
         >
         <el-button type="primary" @click="laststep()">涓婁竴姝�</el-button>
         <el-button type="info" @click="closeFm('ruleForm')">鍏抽棴</el-button>
-        <el-button @click="Departmenttreatment('ruleForm')"
+        <el-button @click="toExamine('ruleForm')"
           >淇濆瓨闂鏁版嵁</el-button
         >
       </div>
@@ -1148,9 +1148,9 @@
                           label="ABC绛夌骇"
                         >
                           <el-radio-group v-model="item.score">
-                            <el-radio label="A">A</el-radio>
-                            <el-radio label="B">B</el-radio>
-                            <el-radio label="C">C</el-radio>
+                            <el-radio :label="1">A</el-radio>
+                            <el-radio :label="2">B</el-radio>
+                            <el-radio :label="3">C</el-radio>
                           </el-radio-group>
                         </el-form-item>
                         <el-form-item
@@ -1640,6 +1640,44 @@
         });
       }
     },
+    // 棰樼洰鏍¢獙
+    toExamine() {
+      // 閬嶅巻棰樼洰闆嗗悎
+      for (let i = 0; i <  this.ruleForm.svyTemplateLibScripts.length; i++) {
+        const question =  this.ruleForm.svyTemplateLibScripts[i];
+
+        // 濡傛灉 scriptType 涓� 4锛屽垯璺宠繃褰撳墠棰樼洰
+        if (question.scriptType === 4) {
+          continue;
+        }
+        // 鑾峰彇褰撳墠棰樼洰鐨勯�夐」闆嗗悎
+        const options = question.svyLibTemplateTargetoptions;
+
+        // 鍒涘缓涓�涓� Set 鏉ュ瓨鍌ㄩ�夐」鍚嶇О锛岀敤浜庢娴嬮噸澶�
+        const optionNames = new Set();
+
+        // 閬嶅巻閫夐」闆嗗悎
+        for (let j = 0; j < options.length; j++) {
+          const option = options[j];
+          const optionContent = option.optioncontent;
+
+          // 濡傛灉閫夐」鍚嶇О宸茬粡瀛樺湪浜� Set 涓紝璇存槑閲嶅
+          if (optionNames.has(optionContent)) {
+            this.$message.error(
+              `棰樼洰 ${question.id} 鐨勯�夐」鍚嶇О "${optionContent}" 閲嶅`
+            );
+            return false; // 杩斿洖 false 琛ㄧず鏍¢獙澶辫触
+          }
+          // 灏嗛�夐」鍚嶇О娣诲姞鍒� Set 涓�
+          optionNames.add(optionContent);
+        }
+      }
+
+      // 濡傛灉鎵�鏈夐鐩兘鏍¢獙閫氳繃锛岃繑鍥� true
+      console.log("鎵�鏈夐鐩牎楠岄�氳繃锛岄�夐」鍚嶇О鏃犻噸澶�");
+       this.Departmenttreatment();
+    },
+
     // 绉戝/闄㈠尯澶勭悊
     Departmenttreatment() {
       this.tempDetpRelevanceslist.forEach((item) => {
diff --git a/src/views/knowledge/questionnaire/index.vue b/src/views/knowledge/questionnaire/index.vue
index dea53d9..45a95e3 100644
--- a/src/views/knowledge/questionnaire/index.vue
+++ b/src/views/knowledge/questionnaire/index.vue
@@ -297,7 +297,7 @@
       </div>
     </div>
     <!-- 娣诲姞绫诲埆寮规 -->
-    <el-dialog title="鏂板绫诲埆" width="30%" :visible.sync="dialogFormVisible">
+    <el-dialog title="绫诲埆缂栬緫" width="30%" :visible.sync="dialogFormVisible">
       <div style="text-align: center; margin-bottom: 20px">
         <el-radio-group v-model="radio">
           <el-radio-button label="涓诲垎绫�"></el-radio-button>
@@ -512,7 +512,7 @@
       roleOptions: [],
       // 琛ㄥ崟鍙傛暟
       form: {},
-      title: "鏂板绫诲埆",
+      title: "绫诲埆缂栬緫",
       sidecolumnform: {}, //娣诲姞绫诲埆琛ㄥ崟
       goQRCodeVisible: false, //浜岀淮鐮佸脊妗�
       sidecolumnval: "", //绫诲埆鎼滅储
@@ -830,6 +830,7 @@
       return data.name.indexOf(value) !== -1;
     },
     handleNodeClick(data) {
+      if (data.svyLibTemplateCategoryList) return;
       this.queryParams.categoryid = data.id;
       this.getList();
     },
@@ -895,7 +896,7 @@
   display: flex;
 }
 .sidecolumn {
-  width: 300px;
+  width: 400px;
   min-height: 100vh;
   text-align: center;
   //   display: flex;
diff --git a/src/views/login.vue b/src/views/login.vue
index 3b58d3a..da63f30 100644
--- a/src/views/login.vue
+++ b/src/views/login.vue
@@ -6,7 +6,7 @@
       :rules="loginRules"
       class="login-form"
     >
-      <h3 class="title">娴欎腑鍖诲ぇ浜岄櫌鏅烘収闅忚骞冲彴</h3>
+      <h3 class="title">鏅烘収闅忚绯荤粺</h3>
       <el-form-item prop="username">
         <el-input
           v-model="loginForm.username"
@@ -37,7 +37,7 @@
         </el-input>
       </el-form-item>
       <!-- 涓�===================姘� -->
-      <!-- <el-form-item prop="orgid">
+      <el-form-item prop="orgid">
         <el-select style="width: 100%;" v-model="loginForm.orgid"  placeholder="璇烽�夋嫨闄㈠尯">
           <el-option
             v-for="item in options"
@@ -48,7 +48,7 @@
           </el-option>
           <i slot="prefix" class="el-icon-mobile"></i>
         </el-select>
-      </el-form-item> -->
+      </el-form-item>
       <!-- <el-form-item prop="code" v-if="captchaEnabled">
         <el-input
           v-model="loginForm.code"
@@ -112,11 +112,13 @@
         password: "",
         rememberMe: false,
         code: "",
-        orgid:'1',
+        orgid:'47255004333112711A1001',
       },
       options: [
-        { value: "1", label: "鏅畞鐣叉棌鑷不鍘夸汉姘戝尰闄�" },
-        { value: "2", label: "涓芥按甯備腑鍖婚櫌" },
+        { value: "47255004333112711A1001", label: "鏅畞鐣叉棌鑷不鍘夸汉姘戝尰闄�" },
+        { value: "47231022633110211A2101", label: "涓芥按甯備腑鍖婚櫌" },
+        { value: "47246102433112211A2101", label: "缂欎簯鍘夸腑鍖诲尰闄� " },
+        { value: "47240018433118111A2101", label: "榫欐硥甯備腑鍖诲尰闄� " },
        ],
       loginRules: {
         username: [
@@ -125,7 +127,7 @@
         password: [
           { required: true, trigger: "blur", message: "璇疯緭鍏ユ偍鐨勫瘑鐮�" },
         ],
-        // orgid: [{ required: true, trigger: "blur", message: "璇烽�夋嫨闄㈠尯" }],
+        orgid: [{ required: true, trigger: "blur", message: "璇烽�夋嫨闄㈠尯" }],
       },
       loading: false,
       // 楠岃瘉鐮佸紑鍏�
@@ -190,12 +192,12 @@
             Cookies.remove("password");
             Cookies.remove("rememberMe");
           }
-          this.loginForm.orgid = '1',
+          // this.loginForm.orgid = '1',
           this.$store
             .dispatch("Login", this.loginForm)
             .then(() => {
               // this.$router.push({ path: this.redirect || "/" }).catch(() => {});
-              this.$router.push({ path:"/patient/patient" }).catch(() => {});
+              this.$router.push({ path:"/followvisit/discharge" }).catch(() => {});
             })
             .catch(() => {
               this.loading = false;
diff --git a/src/views/outsideChainnew.vue b/src/views/outsideChainnew.vue
index 347ad7d..f8738ed 100644
--- a/src/views/outsideChainnew.vue
+++ b/src/views/outsideChainnew.vue
@@ -8,7 +8,7 @@
             {{
               kcb
                 ? kcb
-                : "浜茬埍鐨勬偅鑰�-瀹跺睘锛屾偍濂斤紒鎴戜滑鏄禉涓尰澶т簩闄㈢殑鍖绘姢浜哄憳锛屼负浜嗘洿濂藉湴浜嗚В鎮ㄧ殑搴峰鎯呭喌锛岃鎮ㄦ娊涓�鐐瑰疂璐垫椂闂达紝瀹屾垚杩欎唤闅忚闂嵎銆�"
+                : "浜茬埍鐨勬偅鑰�-瀹跺睘锛屾垜浠槸"+localStorage.getItem("orgname")+"鐨勫尰鎶や汉鍛橈紝涓轰簡鏇村ソ鍦颁簡瑙f偍鐨勫悍澶嶆儏鍐碉紝璇锋偍鎶戒竴鐐瑰疂璐垫椂闂达紝瀹屾垚杩欎唤闅忚闂嵎銆�"
             }}
             <!-- 浜茬埍鐨勬偅鑰�/瀹跺睘鎮ㄥソ锛屼负浜嗘洿濂界殑浜嗚В鎮ㄥ嚭闄㈠悗鐨勫悍澶嶆儏鍐碉紝缁欐偍閫傚綋鍙婃椂鐨勫仴搴锋寚瀵硷紝璇锋偍鎶戒竴鐐瑰疂璐垫椂闂达紝瀹屾垚杩欎唤鍑洪櫌闅忚闂嵎璋冩煡銆� -->
           </div>
diff --git a/src/views/outsideChainwt.vue b/src/views/outsideChainwt.vue
index ce5773a..a8da2c1 100644
--- a/src/views/outsideChainwt.vue
+++ b/src/views/outsideChainwt.vue
@@ -8,7 +8,7 @@
             {{
               kcb
                 ? kcb
-                : "浜茬埍鐨勬偅鑰�-瀹跺睘锛屾偍濂斤紒鎴戜滑鏄禉涓尰澶т簩闄㈢殑鍖绘姢浜哄憳锛屼负浜嗘洿濂藉湴浜嗚В鎮ㄧ殑搴峰鎯呭喌锛岃鎮ㄦ娊涓�鐐瑰疂璐垫椂闂达紝瀹屾垚杩欎唤闅忚闂嵎銆�"
+                : "浜茬埍鐨勬偅鑰�-瀹跺睘锛屾垜浠槸"+localStorage.getItem("orgname")+"鐨勫尰鎶や汉鍛橈紝涓轰簡鏇村ソ鍦颁簡瑙f偍鐨勫悍澶嶆儏鍐碉紝璇锋偍鎶戒竴鐐瑰疂璐垫椂闂达紝瀹屾垚杩欎唤闅忚闂嵎銆�"
             }}
             <!-- 浜茬埍鐨勬偅鑰�/瀹跺睘鎮ㄥソ锛屼负浜嗘洿濂界殑浜嗚В鎮ㄥ嚭闄㈠悗鐨勫悍澶嶆儏鍐碉紝缁欐偍閫傚綋鍙婃椂鐨勫仴搴锋寚瀵硷紝璇锋偍鎶戒竴鐐瑰疂璐垫椂闂达紝瀹屾垚杩欎唤鍑洪櫌闅忚闂嵎璋冩煡銆� -->
           </div>
diff --git a/src/views/outsideChainwtnew.vue b/src/views/outsideChainwtnew.vue
index 302c3dc..37858aa 100644
--- a/src/views/outsideChainwtnew.vue
+++ b/src/views/outsideChainwtnew.vue
@@ -8,7 +8,7 @@
             {{
               kcb
                 ? kcb
-                : "浜茬埍鐨勬偅鑰�-瀹跺睘锛屾偍濂斤紒鎴戜滑鏄禉涓尰澶т簩闄㈢殑鍖绘姢浜哄憳锛屼负浜嗘洿濂藉湴浜嗚В鎮ㄧ殑搴峰鎯呭喌锛岃鎮ㄦ娊涓�鐐瑰疂璐垫椂闂达紝瀹屾垚杩欎唤闅忚闂嵎銆�"
+                : "浜茬埍鐨勬偅鑰�-瀹跺睘锛屾垜浠槸"+localStorage.getItem("orgname")+"鐨勫尰鎶や汉鍛橈紝涓轰簡鏇村ソ鍦颁簡瑙f偍鐨勫悍澶嶆儏鍐碉紝璇锋偍鎶戒竴鐐瑰疂璐垫椂闂达紝瀹屾垚杩欎唤闅忚闂嵎銆�"
             }}
             <!-- 浜茬埍鐨勬偅鑰�/瀹跺睘鎮ㄥソ锛屼负浜嗘洿濂界殑浜嗚В鎮ㄥ嚭闄㈠悗鐨勫悍澶嶆儏鍐碉紝缁欐偍閫傚綋鍙婃椂鐨勫仴搴锋寚瀵硷紝璇锋偍鎶戒竴鐐瑰疂璐垫椂闂达紝瀹屾垚杩欎唤鍑洪櫌闅忚闂嵎璋冩煡銆� -->
           </div>
diff --git a/src/views/outsideChainxj.vue b/src/views/outsideChainxj.vue
index 41b35b4..33d82ba 100644
--- a/src/views/outsideChainxj.vue
+++ b/src/views/outsideChainxj.vue
@@ -1,7 +1,7 @@
 <template>
   <div class="questionnaire">
     <!-- <div class="CONTENT">
-      <div class="title">娴欎腑鍖诲ぇ浜岄櫌鍖绘姢鐭ヨ瘑瀹f暀</div>
+      <div class="title">鏅畞浜烘皯鍖婚櫌鍖绘姢鐭ヨ瘑瀹f暀</div>
       <div class="preview-left">
         <div v-html="richText"></div>
       </div>
@@ -10,12 +10,12 @@
     <div class="CONTENT" >
       <div class="preview-left">
         <div class="toptitle">
-          <div class="title">{{ taskname ? taskname : "娴欎腑鍖诲ぇ浜岄櫌鍖绘姢鐭ヨ瘑瀹f暀" }}</div>
+          <div class="title">{{ taskname ? taskname : ""+localStorage.getItem("orgname")+"鍖绘姢鐭ヨ瘑瀹f暀" }}</div>
           <div style="font-size: 22px; margin-bottom: 20px; line-height: 1.5">
             {{
               kcb
                 ? kcb
-                : "浜茬埍鐨勬偅鑰�-瀹跺睘锛屾偍濂斤紒鎴戜滑鏄禉涓尰澶т簩闄㈢殑鍖绘姢浜哄憳锛屼负浜嗘洿濂藉湴浜嗚В鎮ㄧ殑搴峰鎯呭喌锛岃鎮ㄦ娊涓�鐐瑰疂璐垫椂闂达紝瑙傜湅杩欎唤瀹f暀璧勮銆�"
+                : "浜茬埍鐨勬偅鑰�-瀹跺睘锛屾垜浠槸"+localStorage.getItem("orgname")+"鐨勫尰鎶や汉鍛橈紝涓轰簡鏇村ソ鍦颁簡瑙f偍鐨勫悍澶嶆儏鍐碉紝璇锋偍鎶戒竴鐐瑰疂璐垫椂闂达紝瑙傜湅杩欎唤瀹f暀璧勮銆�"
             }}
             <!-- 浜茬埍鐨勬偅鑰�/瀹跺睘鎮ㄥソ锛屼负浜嗘洿濂界殑浜嗚В鎮ㄥ嚭闄㈠悗鐨勫悍澶嶆儏鍐碉紝缁欐偍閫傚綋鍙婃椂鐨勫仴搴锋寚瀵硷紝璇锋偍鎶戒竴鐐瑰疂璐垫椂闂达紝瀹屾垚杩欎唤鍑洪櫌闅忚闂嵎璋冩煡銆� -->
           </div>
diff --git a/src/views/outsideChainxjnew.vue b/src/views/outsideChainxjnew.vue
index 7a3e97b..d61c135 100644
--- a/src/views/outsideChainxjnew.vue
+++ b/src/views/outsideChainxjnew.vue
@@ -1,7 +1,7 @@
 <template>
   <div class="questionnaire">
     <!-- <div class="CONTENT">
-      <div class="title">娴欎腑鍖诲ぇ浜岄櫌鍖绘姢鐭ヨ瘑瀹f暀</div>
+      <div class="title">鏅畞浜烘皯鍖婚櫌鍖绘姢鐭ヨ瘑瀹f暀</div>
       <div class="preview-left">
         <div v-html="richText"></div>
       </div>
@@ -10,12 +10,12 @@
     <div class="CONTENT" >
       <div class="preview-left">
         <div class="toptitle">
-          <div class="title">{{ taskname ? taskname : "娴欎腑鍖诲ぇ浜岄櫌鍖绘姢鐭ヨ瘑瀹f暀" }}</div>
+          <div class="title">{{ taskname ? taskname : ""+localStorage.getItem("orgname")+"鍖绘姢鐭ヨ瘑瀹f暀" }}</div>
           <div style="font-size: 22px; margin-bottom: 20px; line-height: 1.5">
             {{
               kcb
                 ? kcb
-                : "浜茬埍鐨勬偅鑰�-瀹跺睘锛屾偍濂斤紒鎴戜滑鏄禉涓尰澶т簩闄㈢殑鍖绘姢浜哄憳锛屼负浜嗘洿濂藉湴浜嗚В鎮ㄧ殑搴峰鎯呭喌锛岃鎮ㄦ娊涓�鐐瑰疂璐垫椂闂达紝瑙傜湅杩欎唤瀹f暀璧勮銆�"
+                : "浜茬埍鐨勬偅鑰�-瀹跺睘锛屾垜浠槸"+localStorage.getItem("orgname")+"鐨勫尰鎶や汉鍛橈紝涓轰簡鏇村ソ鍦颁簡瑙f偍鐨勫悍澶嶆儏鍐碉紝璇锋偍鎶戒竴鐐瑰疂璐垫椂闂达紝瑙傜湅杩欎唤瀹f暀璧勮銆�"
             }}
             <!-- 浜茬埍鐨勬偅鑰�/瀹跺睘鎮ㄥソ锛屼负浜嗘洿濂界殑浜嗚В鎮ㄥ嚭闄㈠悗鐨勫悍澶嶆儏鍐碉紝缁欐偍閫傚綋鍙婃椂鐨勫仴搴锋寚瀵硷紝璇锋偍鎶戒竴鐐瑰疂璐垫椂闂达紝瀹屾垚杩欎唤鍑洪櫌闅忚闂嵎璋冩煡銆� -->
           </div>
diff --git a/src/views/patient/follow/index.vue b/src/views/patient/follow/index.vue
index e6276e5..6c7d903 100644
--- a/src/views/patient/follow/index.vue
+++ b/src/views/patient/follow/index.vue
@@ -11,7 +11,8 @@
           v-show="showSearch"
           label-width="98px"
         >
-          <el-form-item label="濮撳悕" prop="name">
+          <el-form-item label="濮撳悕"
+          width="100" prop="name">
             <el-input
               v-model="queryParams.name"
               placeholder="璇疯緭鍏ュ鍚�"
@@ -73,11 +74,12 @@
           <el-table-column
             fixed
             label="濮撳悕"
+          width="100"
             align="center"
             key="name"
             prop="name"
           />
-          <el-table-column label="鎬у埆" align="center" key="sex" prop="sex">
+          <el-table-column label="鎬у埆"width="100" align="center" key="sex" prop="sex">
             <template slot-scope="scope">
               <span>{{ scope.row.sex == 1 ? "鐢�" : "濂�" }}</span>
             </template>
@@ -219,7 +221,7 @@
 import { delUser } from "@/api/system/user";
 
 import {
-  messagelistpatient,
+  patarchivelist,
   alterpatient,
   addfiltration,
   particularpatient,
@@ -367,8 +369,7 @@
     /** 鏌ヨ鎮h�呭垪琛� */
     getList() {
       this.loading = true;
-
-      messagelistpatient(this.queryParams).then((response) => {
+      patarchivelist(this.queryParams).then((response) => {
         console.log(response);
         this.userList = response.rows;
         this.total = response.total;
@@ -436,9 +437,12 @@
     },
     /** 閲嶇疆鎸夐挳鎿嶄綔 */
     resetQuery() {
-      this.dateRange = [];
-      this.resetForm("queryForm");
-      this.$refs.tree.setCurrentKey(null);
+      this.queryParams={
+        pageNum: 1,
+        pageSize: 10,
+        allhosp: "1",
+        notrequiredFlag: 1,
+      },
       this.handleQuery();
     },
     // 澶氶�夋閫変腑鏁版嵁
diff --git a/src/views/patient/medtechnician/Compositeeditdetails.vue b/src/views/patient/medtechnician/Compositeeditdetails.vue
index 73c2c07..cca2e90 100644
--- a/src/views/patient/medtechnician/Compositeeditdetails.vue
+++ b/src/views/patient/medtechnician/Compositeeditdetails.vue
@@ -26,6 +26,7 @@
             align="center"
             key="sendname"
             label="濮撳悕"
+          width="100"
           >
           </el-table-column>
           <el-table-column prop="sfz" align="center" key="sfz" label="韬唤璇佸彿">
@@ -358,15 +359,20 @@
             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>
+          label="鎬讳换鍔�/宸查殢璁�"
+          align="center"
+          key="nickName"
+          width="120"
+          prop="nickName"
+        >
+          <template slot-scope="scope">
+            <span
+              >{{ scope.row.wfs ? scope.row.wfs + scope.row.yfs : "" }}/{{
+                scope.row.yfs
+              }}</span
+            >
+          </template>
+        </el-table-column>
           <el-table-column
             label="鍒涘缓浜�"
             align="center"
@@ -505,8 +511,9 @@
 
         <el-table :data="uploadingData" style="width: 100%">
           <el-table-column prop="serial" label="鎮h�卛d"> </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="name" label="濮撳悕"
+          width="100"> </el-table-column>
+          <el-table-column prop="sex" label="鎬у埆"width="100"> </el-table-column>
           <el-table-column prop="idcardno" width="300" label="璇佷欢鍙风爜">
           </el-table-column>
           <el-table-column prop="goday" label="鍑虹敓鏃ユ湡"> </el-table-column>
diff --git a/src/views/patient/medtechnician/PatientChart.vue b/src/views/patient/medtechnician/PatientChart.vue
index b458d95..a513703 100644
--- a/src/views/patient/medtechnician/PatientChart.vue
+++ b/src/views/patient/medtechnician/PatientChart.vue
@@ -23,7 +23,7 @@
             @keyup.enter.native="handleQuery"
           ></el-input>
         </el-form-item>
-        <el-form-item label="鍒涘彂閫佹椂闂�">
+        <el-form-item label="鍙戦�佹椂闂�">
           <el-date-picker
             v-model="dateRange"
             style="width: 240px"
@@ -158,13 +158,18 @@
           :show-overflow-tooltip="true"
         />
         <el-table-column
-          label="寰呮墽琛�/鎬讳换鍔$粍"
+          label="鎬讳换鍔�/宸查殢璁�"
           align="center"
           key="nickName"
+          width="120"
           prop="nickName"
         >
           <template slot-scope="scope">
-            <span>{{ scope.row.wfs }}/{{ scope.row.yfs }}</span>
+            <span
+              >{{ scope.row.wfs ? scope.row.wfs + scope.row.yfs : "" }}/{{
+                scope.row.yfs
+              }}</span
+            >
           </template>
         </el-table-column>
         <el-table-column
@@ -414,7 +419,7 @@
       // 鐢ㄦ埛琛ㄦ牸鏁版嵁
       userList: null,
       // 寮瑰嚭灞傛爣棰�
-      title: "鏂板闂ㄨ瘖闅忚",
+      title: "鏂板褰卞儚闅忚",
       // 鏄惁鏄剧ず淇敼銆佹坊鍔犲脊鍑哄眰
       addalteropen: false,
       // 閮ㄩ棬鍚嶇О
@@ -438,14 +443,14 @@
       dynamicTags: ["閫夐」涓�", "閫夐」浜�", "閫夐」涓�"], //閫夐」
       inputVisible: false,
       inputValue: "",
-      previewVisible: false, //闂ㄨ瘖闅忚棰勮寮规
+      previewVisible: false, //褰卞儚闅忚棰勮寮规
       TaskOperation: {},
       radio: "",
       radios: [],
-      previewtype: 2, //棰勮闂ㄨ瘖闅忚绫诲瀷
+      previewtype: 2, //棰勮褰卞儚闅忚绫诲瀷
       total: 0, // 鎬绘潯鏁�
-      ImportQuantity: 999, //瀵奸棬璇婇殢璁挎暟閲�
-      //棰勮闂ㄨ瘖闅忚淇℃伅
+      ImportQuantity: 999, //瀵煎奖鍍忛殢璁挎暟閲�
+      //棰勮褰卞儚闅忚淇℃伅
       previewvalue: {
         username: "杩欎釜鍖荤敓瀵逛綘鎬庝箞鏍�",
       },
@@ -461,6 +466,10 @@
         {
           value: 3,
           label: "瀹f暀鍏虫��",
+        },
+        {
+          value: 4,
+          label: "娑堟伅閫氱煡",
         },
       ],
       taskoptions: [
@@ -484,19 +493,38 @@
           value: "5",
           label: "澶嶈瘖绠$悊",
         },
-        {
-          value: "6",
-          label: "婊℃剰搴﹁皟鏌�",
-        },
+        // {
+        //   value: "5",
+        //   label: "婊℃剰搴﹁皟鏌�",
+        // },
         {
           value: "7",
           label: "鎮h�呮姤鍛�",
         },
-
+        // {
+        //   value: "8",
+        //   label: "鍏朵粬閫氱煡",
+        // },
         {
-          value: "8",
-          label: "鍏朵粬閫氱煡",
+          value: "9",
+          label: "浣撴闅忚",
         },
+        // {
+        //   value: "10",
+        //   label: "鍖绘妧闅忚",
+        // },
+        {
+          value: "11",
+          label: "褰卞儚闅忚",
+        },
+        {
+          value: "12",
+          label: "蹇冪數闅忚",
+        },
+        // {
+        //   value: "13",
+        //   label: "涓撶梾闅忚",
+        // },
       ],
       tasktopic: "2", //鏂板绫诲瀷
       activname: "",
@@ -739,7 +767,7 @@
         this.loading = false;
       });
     },
-    // 鏌ョ湅闂ㄨ瘖闅忚璇︽儏
+    // 鏌ョ湅褰卞儚闅忚璇︽儏
     Referencequestion(row) {
       this.previewVisible = true;
     },
@@ -785,8 +813,14 @@
     resetQuery() {
       this.dateRange = [];
       this.resetForm("queryForm");
-      this.topqueryParams.deptId = undefined;
-      this.$refs.tree.setCurrentKey(null);
+      this.topqueryParams= {
+        pageNum: 1,
+        pageSize: 10,
+        type: 3,
+        userName: undefined,
+        tagid: undefined,
+        topic: undefined,
+      },
       this.handleQuery();
     },
     // 澶氶�夋閫変腑鏁版嵁
diff --git a/src/views/patient/medtechnician/SpecializedService.vue b/src/views/patient/medtechnician/SpecializedService.vue
index 7b465dd..a5a9493 100644
--- a/src/views/patient/medtechnician/SpecializedService.vue
+++ b/src/views/patient/medtechnician/SpecializedService.vue
@@ -17,7 +17,7 @@
                   font-weight: 600;
                 "
               >
-                {{ item.value }}
+              {{ item.value ? item.value : 0 }}
               </div>
             </div>
           </el-card>
@@ -60,18 +60,13 @@
           ></el-input>
         </el-form-item>
         <el-form-item label="鎮h�呰寖鍥�" prop="status">
-          <el-select
-            v-model="topqueryParams.searchscope"
-            placeholder="璇烽�夋嫨鎮h�呰寖鍥�"
-          >
-            <el-option
-              v-for="item in source"
-              :key="item.value"
-              :label="item.label"
-              :value="item.value"
-            >
-            </el-option>
-          </el-select>
+          <el-cascader
+            v-model="topqueryParams.scopetype"
+            placeholder="榛樿鍏ㄩ儴"
+            :options="sourcetype"
+            :props="{ expandTrigger: 'hover' }"
+            @change="handleChange"
+          ></el-cascader>
         </el-form-item>
 
         <el-form-item label="浠诲姟缁勭姸鎬�" prop="status">
@@ -120,7 +115,6 @@
                 icon="el-icon-upload2"
                 size="medium"
                 @click="handleExport"
-                v-hasPermi="['system:user:export']"
                 >瀵煎嚭</el-button
               >
             </div>
@@ -158,7 +152,7 @@
       <el-table
         v-loading="loading"
         :data="userList"
-        height="660"
+        height="808"
         :row-class-name="tableRowClassName"
         @selection-change="handleSelectionChange"
       >
@@ -174,6 +168,7 @@
         <!-- <el-table-column label="搴忓彿" fixed align="center" key="id" prop="id" /> -->
         <el-table-column
           label="濮撳悕"
+          width="100"
           fixed
           align="center"
           key="sendname"
@@ -194,7 +189,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">
@@ -224,7 +219,7 @@
         />
 
         <el-table-column
-          label="浜哄伐澶勭悊鎰忚"
+          label="澶勭悊鎰忚"
           align="center"
           key="suggest"
           prop="suggest"
@@ -240,12 +235,12 @@
         <el-table-column
           label="闅忚浜哄憳"
           align="center"
-          key="createBy"
-          prop="createBy"
+          key="updateBy"
+          prop="updateBy"
           width="120"
         />
         <el-table-column
-          label="闅忚鏃堕棿"
+          label="闅忚瀹屾垚鏃堕棿"
           sortable
           align="center"
           prop="finishtime"
@@ -329,7 +324,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="绉戝"
@@ -467,7 +462,7 @@
         @pagination="getList"
       />
     </el-row>
-    <!-- 娣诲姞鎴栦慨鏀归棬璇婇殢璁垮璇濇 -->
+    <!-- 娣诲姞鎴栦慨鏀瑰奖鍍忛殢璁垮璇濇 -->
     <el-dialog
       :title="title"
       :visible.sync="addalteropen"
@@ -510,7 +505,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>
@@ -635,7 +630,7 @@
       // 鐢ㄦ埛琛ㄦ牸鏁版嵁
       userList: null,
       // 寮瑰嚭灞傛爣棰�
-      title: "鏂板闂ㄨ瘖闅忚",
+      title: "鏂板褰卞儚闅忚",
       // 鏄惁鏄剧ず淇敼銆佹坊鍔犲脊鍑哄眰
       addalteropen: false,
       // 淇敼鍙戦�佹椂闂村璇濇
@@ -651,16 +646,32 @@
       ruleForm: {
         type: [],
       },
+      sourcetype: [
+        {
+          value: 1,
+          label: "绉戝",
+          children: [],
+        },
+        {
+          value: 2,
+          label: "鐥呭尯",
+          children: [],
+        },
+        {
+          value: 3,
+          label: "鍏ㄩ儴",
+        },
+      ],
       dynamicTags: ["閫夐」涓�", "閫夐」浜�", "閫夐」涓�"], //閫夐」
       inputVisible: false,
       inputValue: "",
-      previewVisible: false, //闂ㄨ瘖闅忚棰勮寮规
+      previewVisible: false, //褰卞儚闅忚棰勮寮规
       radio: "",
       radios: [],
-      previewtype: 2, //棰勮闂ㄨ瘖闅忚绫诲瀷
+      previewtype: 2, //棰勮褰卞儚闅忚绫诲瀷
       total: 0, // 鎬绘潯鏁�
-      ImportQuantity: 999, //瀵奸棬璇婇殢璁挎暟閲�
-      //棰勮闂ㄨ瘖闅忚淇℃伅
+      ImportQuantity: 999, //瀵煎奖鍍忛殢璁挎暟閲�
+      //棰勮褰卞儚闅忚淇℃伅
       previewvalue: {
         username: "杩欎釜鍖荤敓瀵逛綘鎬庝箞鏍�",
       },
@@ -754,7 +765,11 @@
         pageNum: 1,
         pageSize: 10,
         serviceType: 2,
+        sendstate:2,
         searchscope: 2,
+        scopetype: [],
+        leaveldeptcodes: [],
+        leavehospitaldistrictcodes: [],
       },
       propss: { multiple: true },
       options: [],
@@ -766,7 +781,7 @@
         },
         {
           value: 2,
-          label: "寰呮墽琛�",
+          label: "寰呴殢璁�",
         },
         {
           value: 3,
@@ -805,7 +820,18 @@
   created() {
     this.serviceState = store.getters.serviceState;
     this.checkboxlist = store.getters.checkboxlist;
-
+    this.sourcetype[0].children = store.getters.belongDepts.map((dept) => {
+      return {
+        label: dept.deptName,
+        value: dept.deptCode,
+      };
+    });
+    this.sourcetype[1].children = store.getters.belongWards.map((dept) => {
+      return {
+        label: dept.districtName,
+        value: dept.districtCode,
+      };
+    });
     this.getList();
     this.getConfigKey("sys.user.initPassword").then((response) => {
       this.initPassword = response.msg;
@@ -815,7 +841,7 @@
     this.getList();
   },
   methods: {
-    /** 鏌ヨ闂ㄨ瘖闅忚鏈嶅姟鍒楄〃 */
+    /** 鏌ヨ褰卞儚闅忚鏈嶅姟鍒楄〃 */
     getList() {
       if (this.topqueryParams.searchscope == 1) {
         this.topqueryParams.leaveldeptcodes = store.getters.belongDepts.map(
@@ -834,7 +860,11 @@
           store.getters.belongWards.map((obj) => obj.districtCode);
       }
       this.loading = true;
-      this.topqueryParams.deptOrDistrict=2;
+      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;
         this.cardlist[0].value =
@@ -861,7 +891,7 @@
         this.loading = false;
       });
     },
-    // 鏌ョ湅闂ㄨ瘖闅忚璇︽儏
+    // 鏌ョ湅褰卞儚闅忚璇︽儏
     Referencequestion(row) {
       this.previewVisible = true;
     },
@@ -879,7 +909,7 @@
         this.options = [];
       }
     },
-    // 闂ㄨ瘖闅忚鐘舵�佷慨鏀�
+    // 褰卞儚闅忚鐘舵�佷慨鏀�
     handleStatusChange(row) {
       let text = row.status === "0" ? "鍚敤" : "鍋滅敤";
       this.$modal
@@ -898,6 +928,25 @@
     cancel() {
       this.addalteropen = false;
       this.reset();
+    },
+      // 鎮h�呰寖鍥村鐞�
+      handleChange(value) {
+      let type = value[0];
+      let code = value.slice(-1)[0];
+      this.topqueryParams.leavehospitaldistrictcodes = [];
+      this.topqueryParams.leaveldeptcodes = [];
+
+      if (type == 1) {
+        this.topqueryParams.leaveldeptcodes.push(code);
+        this.topqueryParams.leavehospitaldistrictcodes = [];
+        this.topqueryParams.searchscope = 1;
+      } else if (type == 2) {
+        this.topqueryParams.leavehospitaldistrictcodes.push(code);
+        this.topqueryParams.leaveldeptcodes = [];
+        this.topqueryParams.searchscope = 2;
+      } else {
+        this.topqueryParams.searchscope = 3;
+      }
     },
     // 琛ㄥ崟閲嶇疆
     reset() {
@@ -949,6 +998,7 @@
         pageSize: 10,
         serviceType: 2,
         searchscope: 2,
+        sendstate:2,
       };
       this.handleQuery();
     },
@@ -1102,8 +1152,10 @@
     },
     /** 瀵煎嚭鎸夐挳鎿嶄綔 */
     handleExport() {
+         this.topqueryParams.pageNum = null;
+      this.topqueryParams.pageSize = null;
       this.download(
-        "system/user/export",
+        "smartor/serviceSubtask/patItemExport",
         {
           ...this.topqueryParams,
         },
diff --git a/src/views/patient/patient/ExternalPatient.vue b/src/views/patient/patient/ExternalPatient.vue
index 91eee25..5f20aaa 100644
--- a/src/views/patient/patient/ExternalPatient.vue
+++ b/src/views/patient/patient/ExternalPatient.vue
@@ -108,7 +108,7 @@
             <el-table
               v-loading="loading"
               :data="userList"
-              height="660"
+              height="808"
               @selection-change="handleSelectionChange"
             >
               <el-table-column type="selection" width="50" align="center" />
@@ -122,11 +122,12 @@
               <el-table-column
                 fixed
                 label="濮撳悕"
+          width="100"
                 align="center"
                 key="name"
                 prop="name"
               />
-              <el-table-column label="鎬у埆" align="center" key="sex" prop="sex">
+              <el-table-column label="鎬у埆"width="100" align="center" key="sex" prop="sex">
                 <template slot-scope="scope">
                   <span>{{ scope.row.sex == 1 ? "鐢�" : "濂�" }}</span>
                 </template>
@@ -262,15 +263,20 @@
             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>
+          label="鎬讳换鍔�/宸查殢璁�"
+          align="center"
+          key="nickName"
+          width="120"
+          prop="nickName"
+        >
+          <template slot-scope="scope">
+            <span
+              >{{ scope.row.wfs ? scope.row.wfs + scope.row.yfs : "" }}/{{
+                scope.row.yfs
+              }}</span
+            >
+          </template>
+        </el-table-column>
           <el-table-column
             label="鍒涘缓浜�"
             align="center"
@@ -345,7 +351,8 @@
       <el-form ref="form" :model="form" :rules="rules" label-width="100px">
         <el-row>
           <el-col :span="8">
-            <el-form-item label="濮撳悕" prop="name">
+            <el-form-item label="濮撳悕"
+          width="100" prop="name">
               <el-input
                 v-model="form.name"
                 placeholder="璇疯緭鍏ュ鍚�"
@@ -354,7 +361,7 @@
             </el-form-item>
           </el-col>
           <el-col :span="8">
-            <el-form-item label="鎬у埆" prop="sex">
+            <el-form-item label="鎬у埆"width="100" prop="sex">
               <el-select v-model="form.sex" placeholder="璇烽�夋嫨鎬у埆">
                 <el-option
                   v-for="dict in sextype"
@@ -537,8 +544,9 @@
       <div class="uploading" v-else-if="dractive == 2">
         <el-table :data="uploadingData" style="width: 100%">
           <el-table-column prop="serial" label="鎮h�卛d"> </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="name" label="濮撳悕"
+          width="100"> </el-table-column>
+          <el-table-column prop="sex" label="鎬у埆"width="100"> </el-table-column>
           <el-table-column prop="idcardno" width="300" label="璇佷欢鍙风爜"> </el-table-column>
           <el-table-column prop="goday" label="鍑虹敓鏃ユ湡"> </el-table-column>
           <el-table-column prop="telcode" width="200" label="鑱旂郴鏂瑰紡"> </el-table-column>
@@ -572,8 +580,9 @@
       <div v-if="dractive == 3">
         <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="name" label="濮撳悕"
+          width="100"> </el-table-column>
+          <el-table-column prop="sex" label="鎬у埆"width="100"> </el-table-column>
           <el-table-column prop="certificatenum" label="璇佷欢鍙风爜">
           </el-table-column>
           <el-table-column prop="goday" label="鍑虹敓鏃ユ湡"> </el-table-column>
diff --git a/src/views/patient/patient/authRole.vue b/src/views/patient/patient/authRole.vue
index 7efe5ad..10f0647 100644
--- a/src/views/patient/patient/authRole.vue
+++ b/src/views/patient/patient/authRole.vue
@@ -101,8 +101,8 @@
     /** 鎻愪氦鎸夐挳 */
     submitForm() {
       const userId = this.form.userId;
-      const roleIds = this.roleIds.join(",");
-      updateAuthRole({ userId: userId, roleIds: roleIds }).then((response) => {
+      // const roleIds = this.roleIds.join(",");
+      updateAuthRole({ userId: userId, roleIds: this.roleIds }).then((response) => {
         this.$modal.msgSuccess("鎺堟潈鎴愬姛");
         this.close();
       });
diff --git a/src/views/patient/patient/behospitalized.vue b/src/views/patient/patient/behospitalized.vue
index 8c6cfe7..1395d88 100644
--- a/src/views/patient/patient/behospitalized.vue
+++ b/src/views/patient/patient/behospitalized.vue
@@ -19,39 +19,50 @@
               @keyup.enter.native="handleQuery"
             />
           </el-form-item>
-          <el-form-item label="浣忛櫌鍙�" prop="patid">
+          <el-form-item label="涓绘不鍖荤敓" prop="name">
             <el-input
-              v-model="queryParams.patid"
+              v-model="queryParams.drname"
+              placeholder="璇疯緭鍏ュ鍚�"
+              clearable
+              @keyup.enter.native="handleQuery"
+            />
+          </el-form-item>
+          <el-form-item label="璐d换鎶ゅ+" prop="name">
+            <el-input
+              v-model="queryParams.nurseName"
+              placeholder="璇疯緭鍏ュ鍚�"
+              clearable
+              @keyup.enter.native="handleQuery"
+            />
+          </el-form-item>
+          <el-form-item label="浣忛櫌鍙�" prop="inhospno">
+            <el-input
+              v-model="queryParams.inhospno"
               placeholder="璇疯緭鍏ユ偅鑰呯紪鍙�"
               clearable
               @keyup.enter.native="handleQuery"
             />
           </el-form-item>
 
-          <el-form-item label="鎮h�呰寖鍥�" prop="tagId">
-            <el-select
-                v-model="queryParams.searchscope"
-                placeholder="璇烽�夋嫨鎮h�呰寖鍥�"
-              >
-                <el-option
-                  v-for="item in source"
-                  :key="item.value"
-                  :label="item.label"
-                  :value="item.value"
-                >
-                </el-option>
-              </el-select>
+          <el-form-item label="鎮h�呰寖鍥�" prop="status">
+            <el-cascader
+              v-model="queryParams.scopetype"
+              placeholder="榛樿鍏ㄩ儴绉戝"
+              :options="sourcetype"
+              :props="{ expandTrigger: 'hover' }"
+              @change="handleChange"
+            ></el-cascader>
           </el-form-item>
           <el-form-item label=" 鍏ラ櫌鏃ユ湡 " prop="createTime">
             <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>
+              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-row>
@@ -115,7 +126,7 @@
         <el-table
           v-loading="loading"
           :data="userList"
-           height="660"
+          height="808"
           @selection-change="handleSelectionChange"
         >
           <el-table-column type="selection" width="50" align="center" />
@@ -141,17 +152,42 @@
           <el-table-column
             label="浣忛櫌鍙�"
             align="center"
-            key="patno"
-            prop="patno"
-          width="120"
+            key="inhospno"
+            prop="inhospno"
+            width="120"
           />
+
           <el-table-column
             label="濮撳悕"
+            width="100"
             align="center"
             key="patname"
             prop="patname"
-          />
-          <el-table-column label="鎬у埆" align="center" key="sex" prop="sex">
+          >
+            <template slot-scope="scope">
+              <el-button
+                size="medium"
+                type="text"
+                @click="
+                  gettoken360(
+                    scope.row.idcardno,
+                    scope.row.drcode,
+                    scope.row.drname
+                  )
+                "
+                ><span class="button-textsc">{{
+                  scope.row.patname
+                }}</span></el-button
+              >
+            </template>
+          </el-table-column>
+          <el-table-column
+            label="鎬у埆"
+            width="100"
+            align="center"
+            key="sex"
+            prop="sex"
+          >
             <template slot-scope="scope">
               <span>{{ scope.row.sex == 1 ? "鐢�" : "濂�" }}</span>
             </template>
@@ -171,7 +207,6 @@
             width="120"
           />
 
-
           <el-table-column
             label="鍏ラ櫌璇婃柇"
             align="center"
@@ -180,20 +215,19 @@
             width="190"
           />
 
-
           <el-table-column
             label="绉戝"
             align="center"
             key="deptname"
             prop="deptname"
-            width="120"
+            width="180"
           />
           <el-table-column
             label="鐥呭尯"
             align="center"
             key="leavehospitaldistrictname"
             prop="leavehospitaldistrictname"
-            width="120"
+            width="180"
           />
           <el-table-column
             label="搴婁綅鍙�"
@@ -221,7 +255,6 @@
             label="鎿嶄綔"
             fixed="right"
             align="center"
-            width="160"
             class-name="small-padding fixed-width"
           >
             <template slot-scope="scope">
@@ -301,8 +334,10 @@
       <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="name" label="濮撳悕" width="100">
+          </el-table-column>
+          <el-table-column prop="sex" label="鎬у埆" width="100">
+          </el-table-column>
           <el-table-column prop="certificate" label="璇佷欢绫诲瀷">
           </el-table-column>
           <el-table-column prop="certificatenum" label="璇佷欢鍙风爜">
@@ -347,19 +382,24 @@
 import { delUser } from "@/api/system/user";
 import formatTime from "@/filters/index";
 
+import { listpatient } from "@/api/patient/record";
 import {
-  listpatient,
-  particularpatient,
+  messagelistpatient,
+  alterpatient,
   addpatient,
+  particularpatient,
   deletepatient,
   Exporterrorpatient,
   toleadpatient,
-} from "@/api/patient/record";
+} from "@/api/patient/homepage";
+
 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";
+import { query360PatInfo } from "@/api/AiCentre/index";
+
 import store from "@/store";
 
 export default {
@@ -413,6 +453,59 @@
         {
           value: 2,
           label: "鐥呭尯鎮h��",
+        },
+      ],
+      postData: {
+        XiaoXiTou: {
+          FaSongFCSJC: "ZJHES",
+          FaSongJGID: localStorage.getItem("orgid"),
+          FaSongJGMC: localStorage.getItem("orgname"),
+          FaSongSJ: "2025-01-09聽17:29:36",
+          FaSongXTJC: "SUIFANGXT",
+          FaSongXTMC: "闅忚绯荤粺",
+          XiaoXiID: "5FA92AFB-9833-4608-87C7-F56A654AC171",
+          XiaoXiLX: "SC_LC_360STCX",
+          XiaoXiMC: "360聽瑙嗗浘鏌ヨ",
+          ZuHuID: localStorage.getItem("ZuHuID"),
+          ZuHuMC: localStorage.getItem("orgname"),
+        },
+        YeWuXX: {
+          BingRenXX: {
+            ZhengJianHM: "",
+            ZhengJianLXDM: "01",
+            ZhengJianLXMC: "灞呮皯韬唤璇�",
+            ZuZhiJGID: localStorage.getItem("orgid"),
+            ZuZhiJGMC: localStorage.getItem("orgname"),
+          },
+          YongHuXX: {
+            XiTongID: "SUIFANGXT",
+            XiTongMC: "闅忚绯荤粺",
+            YongHuID: "1400466972205912064",
+            YongHuXM: "JNRMYY",
+            ZuZhiJGID: localStorage.getItem("orgid"),
+            ZuZhiJGMC: localStorage.getItem("orgname"),
+            idp: "lyra",
+          },
+        },
+      },
+      sourcetype: [
+        {
+          value: 1,
+          label: "绉戝",
+          children: [],
+        },
+        {
+          value: 2,
+          label: "鐥呭尯",
+          children: [],
+        },
+        {
+          value: 3,
+          label: "鍏ㄩ儴绉戝",
+        },
+        {
+          value: 4,
+          label: "鍏ㄩ儴鐥呭尯",
         },
       ],
       // 琛ㄥ崟鍙傛暟
@@ -469,12 +562,10 @@
         pageNum: 1,
         pageSize: 10,
         cry: 0,
-        searchscope:2,
-        idcardno: undefined,
-        name: undefined,
-        status: undefined,
-        tagIds: undefined,
-        telcode: undefined,
+        searchscope: 3,
+        scopetype: [],
+        leaveldeptcodes: [],
+        leavehospitaldistrictcodes: [],
       },
       // 琛ㄥ崟鏍¢獙
       rules: {
@@ -531,7 +622,21 @@
     },
   },
   created() {
-
+    this.sourcetype[0].children = store.getters.belongDepts.map((dept) => {
+      return {
+        label: dept.deptName,
+        value: dept.deptCode,
+      };
+    });
+    this.sourcetype[1].children = store.getters.belongWards.map((dept) => {
+      return {
+        label: dept.districtName,
+        value: dept.districtCode,
+      };
+    });
+    this.queryParams.leaveldeptcodes = store.getters.belongDepts.map(
+      (obj) => obj.deptCode
+    );
     this.getList();
     this.listDept();
     this.gettabList();
@@ -540,22 +645,6 @@
     /** 鏌ヨ鎮h�呭垪琛� */
     getList() {
       this.loading = true;
-      if (this.queryParams.searchscope == 1) {
-        this.queryParams.leaveldeptcodes = store.getters.belongDepts.map(
-          (obj) => obj.deptCode
-        );
-        this.queryParams.leavehospitaldistrictcodes=null;
-      } else if (this.queryParams.searchscope == 2) {
-        this.queryParams.leavehospitaldistrictcodes =
-          store.getters.belongWards.map((obj) => obj.districtCode);
-          this.queryParams.leaveldeptcodes=null;
-      } else {
-        this.queryParams.leaveldeptcodes = store.getters.belongDepts.map(
-          (obj) => obj.deptCode
-        );
-        this.queryParams.leavehospitaldistrictcodes =
-          store.getters.belongWards.map((obj) => obj.districtCode);
-      }
       listpatient(this.queryParams).then((response) => {
         console.log(response);
         this.userList = response.rows;
@@ -568,6 +657,30 @@
         this.deptList = res.data;
         console.log(this.deptList, "this.deptList");
       });
+    },
+    // 鎮h�呰寖鍥村鐞�
+    handleChange(value) {
+      let type = value[0];
+      let code = value.slice(-1)[0];
+      this.queryParams.leavehospitaldistrictcodes = [];
+      this.queryParams.leaveldeptcodes = [];
+
+      if (type == 1) {
+        this.queryParams.leaveldeptcodes.push(code);
+        this.queryParams.leavehospitaldistrictcodes = [];
+        this.queryParams.searchscope = 1;
+      } else if (type == 3) {
+        this.queryParams.leaveldeptcodes = store.getters.belongDepts.map(
+          (obj) => obj.deptCode
+        );
+        this.queryParams.searchscope = 3;
+        this.queryParams.leavehospitaldistrictcodes = [];
+      } else if (type == 4) {
+        this.queryParams.leaveldeptcodes = [];
+        this.queryParams.leavehospitaldistrictcodes =
+          store.getters.belongWards.map((obj) => obj.districtCode);
+        this.queryParams.searchscope = 4;
+      }
     },
     /** 鏌ヨ鏍囩鍒楄〃 */
     gettabList() {
@@ -603,7 +716,22 @@
       this.queryParams.deptId = data.id;
       this.handleQuery();
     },
-
+    //鎮h��360璺宠浆
+    gettoken360(sfzh, drcode, drname) {
+      this.postData.YeWuXX.BingRenXX.ZhengJianHM = sfzh;
+      if (this.postData.XiaoXiTou.ZuHuMC == "涓芥按甯備腑鍖婚櫌") {
+        this.postData.YeWuXX.YongHuXX.YongHuID = "1400398571877961728";
+        this.postData.YeWuXX.YongHuXX.YongHuXM = "LSZYY";
+      }
+      query360PatInfo(this.postData).then((res) => {
+        if (res.data.url) {
+          window.open(res.data.url, "_blank");
+          // this.linkUrl = res.data.url;
+        } else {
+          this.$modal.msgWarning("360鏌ヨ鏃犵粨鏋�");
+        }
+      });
+    },
     // 鍙栨秷鎸夐挳
     cancel() {
       this.Labelchange = false;
@@ -625,8 +753,13 @@
     },
     /** 鎼滅储鎸夐挳鎿嶄綔 */
     handleQuery() {
-      this.queryParams.startInHospTime = this.dateRange[0];
-      this.queryParams.endInHospTime = this.dateRange[1];
+      if (this.dateRange) {
+        this.queryParams.startInHospTime = this.dateRange[0];
+        this.queryParams.endInHospTime = this.dateRange[1];
+      } else {
+        this.queryParams.startInHospTime = "";
+        this.queryParams.endInHospTime = "";
+      }
       this.queryParams.pageNum = 1;
       this.getList();
     },
@@ -634,7 +767,18 @@
     resetQuery() {
       this.dateRange = [];
       this.resetForm("queryForm");
-      this.$refs.tree.setCurrentKey(null);
+      this.queryParams = {
+        pageNum: 1,
+        pageSize: 10,
+        cry: 0,
+        searchscope: 3,
+        scopetype: [],
+        leaveldeptcodes: [],
+        leavehospitaldistrictcodes: [],
+      };
+      this.queryParams.leaveldeptcodes = store.getters.belongDepts.map(
+      (obj) => obj.deptCode
+    );
       this.handleQuery();
     },
     // 澶氶�夋閫変腑鏁版嵁
diff --git a/src/views/patient/patient/hospital.vue b/src/views/patient/patient/hospital.vue
index ebd51cc..09d0dde 100644
--- a/src/views/patient/patient/hospital.vue
+++ b/src/views/patient/patient/hospital.vue
@@ -20,9 +20,25 @@
               @keyup.enter.native="handleQuery"
             />
           </el-form-item>
-          <el-form-item label="浣忛櫌鍙�" prop="patid">
+          <el-form-item label="涓绘不鍖荤敓" prop="name">
             <el-input
-              v-model="queryParams.patid"
+              v-model="queryParams.drname"
+              placeholder="璇疯緭鍏ュ鍚�"
+              clearable
+              @keyup.enter.native="handleQuery"
+            />
+          </el-form-item>
+          <el-form-item label="璐d换鎶ゅ+" prop="name">
+            <el-input
+              v-model="queryParams.nurseName"
+              placeholder="璇疯緭鍏ュ鍚�"
+              clearable
+              @keyup.enter.native="handleQuery"
+            />
+          </el-form-item>
+          <el-form-item label="浣忛櫌鍙�" prop="inhospno">
+            <el-input
+              v-model="queryParams.inhospno"
               placeholder="璇疯緭鍏ユ偅鑰呯紪鍙�"
               clearable
               style="width: 250px"
@@ -30,31 +46,25 @@
             />
           </el-form-item>
 
-
-          <el-form-item label="鎮h�呰寖鍥�" prop="tagId">
-            <el-select
-                v-model="queryParams.searchscope"
-                placeholder="璇烽�夋嫨鎮h�呰寖鍥�"
-              >
-                <el-option
-                  v-for="item in source"
-                  :key="item.value"
-                  :label="item.label"
-                  :value="item.value"
-                >
-                </el-option>
-              </el-select>
+          <el-form-item label="鎮h�呰寖鍥�" prop="status">
+            <el-cascader
+              v-model="queryParams.scopetype"
+              placeholder="榛樿鍏ㄩ儴绉戝"
+              :options="sourcetype"
+              :props="{ expandTrigger: 'hover' }"
+              @change="handleChange"
+            ></el-cascader>
           </el-form-item>
           <el-form-item label=" 鍑洪櫌鏃ユ湡 " prop="createTime">
             <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>
+              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-row>
@@ -118,7 +128,7 @@
         <el-table
           v-loading="loading"
           :data="userList"
-           height="660"
+          height="808"
           @selection-change="handleSelectionChange"
         >
           <el-table-column type="selection" width="50" align="center" />
@@ -144,17 +154,49 @@
           <el-table-column
             label="浣忛櫌鍙�"
             align="center"
-            key="patno"
-            prop="patno"
-          width="120"
+            key="inhospno"
+            prop="inhospno"
+            width="120"
           />
-          <el-table-column
+          <!-- <el-table-column
             label="濮撳悕"
+          width="100"
             align="center"
             key="patname"
             prop="patname"
-          />
-          <el-table-column label="鎬у埆" align="center" key="sex" prop="sex">
+          /> -->
+          <el-table-column
+            fixed
+            label="濮撳悕"
+            width="100"
+            align="center"
+            key="patname"
+            prop="patname"
+          >
+            <template slot-scope="scope">
+              <el-button
+                size="medium"
+                type="text"
+                @click="
+                  gettoken360(
+                    scope.row.idcardno,
+                    scope.row.drcode,
+                    scope.row.drname
+                  )
+                "
+                ><span class="button-textsc">{{
+                  scope.row.patname
+                }}</span></el-button
+              >
+            </template>
+          </el-table-column>
+          <el-table-column
+            label="鎬у埆"
+            width="100"
+            align="center"
+            key="sex"
+            prop="sex"
+          >
             <template slot-scope="scope">
               <span>{{ scope.row.sex == 1 ? "鐢�" : "濂�" }}</span>
             </template>
@@ -248,7 +290,6 @@
                     query: { id: scope.row.patid },
                   })
                 "
-
                 ><span class="button-textsc"
                   ><i class="el-icon-zoom-in"></i>鏌ョ湅</span
                 ></el-button
@@ -316,8 +357,10 @@
       <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="name" label="濮撳悕" width="100">
+          </el-table-column>
+          <el-table-column prop="sex" label="鎬у埆" width="100">
+          </el-table-column>
           <el-table-column prop="certificate" label="璇佷欢绫诲瀷">
           </el-table-column>
           <el-table-column prop="certificatenum" label="璇佷欢鍙风爜">
@@ -361,19 +404,23 @@
 <script>
 import { delUser } from "@/api/system/user";
 
+import { listpatient } from "@/api/patient/record";
 import {
-  listpatient,
-  particularpatient,
+  messagelistpatient,
+  alterpatient,
   addpatient,
+  particularpatient,
   deletepatient,
   Exporterrorpatient,
   toleadpatient,
-} from "@/api/patient/record";
+} from "@/api/patient/homepage";
 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";
+import { query360PatInfo } from "@/api/AiCentre/index";
+
 import store from "@/store";
 
 export default {
@@ -423,6 +470,39 @@
           label: "鐥呭尯鎮h��",
         },
       ],
+      postData: {
+        XiaoXiTou: {
+          FaSongFCSJC: "ZJHES",
+          FaSongJGID: localStorage.getItem("orgid"),
+          FaSongJGMC: localStorage.getItem("orgname"),
+          FaSongSJ: "2025-01-09聽17:29:36",
+          FaSongXTJC: "SUIFANGXT",
+          FaSongXTMC: "闅忚绯荤粺",
+          XiaoXiID: "5FA92AFB-9833-4608-87C7-F56A654AC171",
+          XiaoXiLX: "SC_LC_360STCX",
+          XiaoXiMC: "360聽瑙嗗浘鏌ヨ",
+          ZuHuID: localStorage.getItem("ZuHuID"),
+          ZuHuMC: localStorage.getItem("orgname"),
+        },
+        YeWuXX: {
+          BingRenXX: {
+            ZhengJianHM: "",
+            ZhengJianLXDM: "01",
+            ZhengJianLXMC: "灞呮皯韬唤璇�",
+            ZuZhiJGID: localStorage.getItem("orgid"),
+            ZuZhiJGMC: localStorage.getItem("orgname"),
+          },
+          YongHuXX: {
+            XiTongID: "SUIFANGXT",
+            XiTongMC: "闅忚绯荤粺",
+            YongHuID: "1400466972205912064",
+            YongHuXM: "JNRMYY",
+            ZuZhiJGID: localStorage.getItem("orgid"),
+            ZuZhiJGMC: localStorage.getItem("orgname"),
+            idp: "lyra",
+          },
+        },
+      },
       paperstypes: [
         { papersname: "韬唤璇�" },
         { papersname: "鎶ょ収" },
@@ -440,6 +520,26 @@
         idcardtype: "",
         relativetelcode: "",
       },
+      sourcetype: [
+        {
+          value: 1,
+          label: "绉戝",
+          children: [],
+        },
+        {
+          value: 2,
+          label: "鐥呭尯",
+          children: [],
+        },
+        {
+          value: 3,
+          label: "鍏ㄩ儴绉戝",
+        },
+        {
+          value: 4,
+          label: "鍏ㄩ儴鐥呭尯",
+        },
+      ],
       //瀵煎叆杩涘害
       dractive: 1,
       // 瀵煎叆灞曠ず琛ㄥ崟
@@ -483,17 +583,13 @@
         pageNum: 1,
         pageSize: 10,
         cry: 1,
-        searchscope:2,
-        idcardno: undefined,
-        name: undefined,
-        status: undefined,
-        tagIds: undefined,
-        telcode: undefined,
+        searchscope: 3,
+        scopetype: [],
+        leaveldeptcodes: [],
+        leavehospitaldistrictcodes: [],
       },
       // 琛ㄥ崟鏍¢獙
-      rules: {
-
-      },
+      rules: {},
     };
   },
   watch: {
@@ -503,7 +599,21 @@
     },
   },
   created() {
-
+    this.sourcetype[0].children = store.getters.belongDepts.map((dept) => {
+      return {
+        label: dept.deptName,
+        value: dept.deptCode,
+      };
+    });
+    this.sourcetype[1].children = store.getters.belongWards.map((dept) => {
+      return {
+        label: dept.districtName,
+        value: dept.districtCode,
+      };
+    });
+    this.queryParams.leaveldeptcodes = store.getters.belongDepts.map(
+      (obj) => obj.deptCode
+    );
     this.getList();
     this.listDept();
     this.gettabList();
@@ -511,22 +621,6 @@
   methods: {
     /** 鏌ヨ鎮h�呭垪琛� */
     getList() {
-      if (this.queryParams.searchscope == 1) {
-        this.queryParams.leaveldeptcodes = store.getters.belongDepts.map(
-          (obj) => obj.deptCode
-        );
-        this.queryParams.leavehospitaldistrictcodes=null;
-      } else if (this.queryParams.searchscope == 2) {
-        this.queryParams.leavehospitaldistrictcodes =
-          store.getters.belongWards.map((obj) => obj.districtCode);
-          this.queryParams.leaveldeptcodes=null;
-      } else {
-        this.queryParams.leaveldeptcodes = store.getters.belongDepts.map(
-          (obj) => obj.deptCode
-        );
-        this.queryParams.leavehospitaldistrictcodes =
-          store.getters.belongWards.map((obj) => obj.districtCode);
-      }
       this.loading = true;
       listpatient(this.queryParams).then((response) => {
         console.log(response);
@@ -539,6 +633,22 @@
       listDept(this.queryParams).then((res) => {
         this.deptList = res.data;
         console.log(this.deptList, "this.deptList");
+      });
+    },
+    //鎮h��360璺宠浆
+    gettoken360(sfzh, drcode, drname) {
+      this.postData.YeWuXX.BingRenXX.ZhengJianHM = sfzh;
+      if (this.postData.XiaoXiTou.ZuHuMC == "涓芥按甯備腑鍖婚櫌") {
+        this.postData.YeWuXX.YongHuXX.YongHuID = "1400398571877961728";
+        this.postData.YeWuXX.YongHuXX.YongHuXM = "LSZYY";
+      }
+      query360PatInfo(this.postData).then((res) => {
+        if (res.data.url) {
+          window.open(res.data.url, "_blank");
+          // this.linkUrl = res.data.url;
+        } else {
+          this.$modal.msgWarning("360鏌ヨ鏃犵粨鏋�");
+        }
       });
     },
     /** 鏌ヨ鏍囩鍒楄〃 */
@@ -554,6 +664,34 @@
         console.log(response);
         this.optionstag = response.rows;
       });
+    },
+    // 鎮h�呰寖鍥村鐞�
+    handleChange(value) {
+      let type = value[0];
+      let code = value.slice(-1)[0];
+      this.queryParams.leavehospitaldistrictcodes = [];
+      this.queryParams.leaveldeptcodes = [];
+
+      if (type == 1) {
+        this.queryParams.leaveldeptcodes.push(code);
+        this.queryParams.leavehospitaldistrictcodes = [];
+        this.queryParams.searchscope = 1;
+      } else if (type == 2) {
+        this.queryParams.leavehospitaldistrictcodes.push(code);
+        this.queryParams.leaveldeptcodes = [];
+        this.queryParams.searchscope = 2;
+      } else if (type == 3) {
+        this.queryParams.leaveldeptcodes = store.getters.belongDepts.map(
+          (obj) => obj.deptCode
+        );
+        this.queryParams.searchscope = 3;
+        this.queryParams.leavehospitaldistrictcodes = [];
+      } else if (type == 4) {
+        this.queryParams.leaveldeptcodes = [];
+        this.queryParams.leavehospitaldistrictcodes =
+          store.getters.belongWards.map((obj) => obj.districtCode);
+        this.queryParams.searchscope = 4;
+      }
     },
     // 鏌ヨ瀵煎叆灞曠ず鍒楄〃
     geterryList() {
@@ -597,8 +735,13 @@
     },
     /** 鎼滅储鎸夐挳鎿嶄綔 */
     handleQuery() {
-      this.queryParams.startOutHospTime = this.dateRange[0];
-      this.queryParams.endOutHospTime = this.dateRange[1];
+      if (this.dateRange) {
+        this.queryParams.startOutHospTime = this.dateRange[0];
+        this.queryParams.endOutHospTime = this.dateRange[1];
+      } else {
+        this.queryParams.startOutHospTime = "";
+        this.queryParams.endOutHospTime = "";
+      }
       this.queryParams.pageNum = 1;
       this.getList();
     },
@@ -606,7 +749,18 @@
     resetQuery() {
       this.dateRange = [];
       this.resetForm("queryForm");
-      this.$refs.tree.setCurrentKey(null);
+      this.queryParams = {
+        pageNum: 1,
+        pageSize: 10,
+        cry: 1,
+        searchscope: 3,
+        scopetype: [],
+        leaveldeptcodes: [],
+        leavehospitaldistrictcodes: [],
+      };
+      this.queryParams.leaveldeptcodes = store.getters.belongDepts.map(
+      (obj) => obj.deptCode
+    );
       this.handleQuery();
     },
     // 澶氶�夋閫変腑鏁版嵁
diff --git a/src/views/patient/patient/index.vue b/src/views/patient/patient/index.vue
index bc2a4eb..b4d407a 100644
--- a/src/views/patient/patient/index.vue
+++ b/src/views/patient/patient/index.vue
@@ -1,7 +1,7 @@
 <template>
   <div class="Questionnairemanagement">
     <!-- 宸︿晶鏍� -->
-    <div class="sidecolumn">
+    <!-- <div class="sidecolumn">
       <div class="sidecolumn-top">
         <div class="top-wj">鍖婚櫌鎮h��</div>
       </div>
@@ -12,13 +12,12 @@
           v-model="queryParams.allhosp"
           @tab-click="handleClick"
         >
-          <!-- <el-tab-pane label="鎮h�呭垪琛�" name="0"></el-tab-pane> -->
           <el-tab-pane label="鍑哄叆闄㈡偅鑰�" name="1"></el-tab-pane>
           <el-tab-pane label="闂ㄨ瘖鎮h��" name="2"></el-tab-pane>
           <el-tab-pane label="浣撴鎮h��" name="3"></el-tab-pane>
         </el-tabs>
       </div>
-    </div>
+    </div> -->
     <!-- 鍙充晶鏁版嵁 -->
 
     <div class="leftvlue">
@@ -93,7 +92,7 @@
                 />
               </el-form-item>
 
-              <el-form-item label="闂ㄨ瘖缂栧彿" prop="visitno">
+              <el-form-item label="鎮h�呮。妗堝彿" prop="visitno">
                 <el-input
                   v-model="queryParams.visitno"
                   placeholder="璇疯緭鍏ョ紪鍙�"
@@ -109,7 +108,7 @@
                   @keyup.enter.native="handleQuery"
                 />
               </el-form-item>
-              <el-form-item label="鎮h�呰寖鍥�" prop="tagId">
+              <!-- <el-form-item label="鎮h�呰寖鍥�" prop="tagId">
                 <el-select
                   v-model="queryParams.searchscope"
                   placeholder="璇烽�夋嫨鎮h�呰寖鍥�"
@@ -122,7 +121,16 @@
                   >
                   </el-option>
                 </el-select>
-              </el-form-item>
+              </el-form-item> -->
+              <!-- <el-form-item label="鎮h�呰寖鍥�" prop="status">
+                <el-cascader
+                  v-model="queryParams.scopetype"
+                  placeholder="榛樿鍏ㄩ儴"
+                  :options="sourcetype"
+                  :props="{ expandTrigger: 'hover' }"
+                  @change="handleChange"
+                ></el-cascader>
+              </el-form-item> -->
               <el-form-item label="鑱旂郴鐢佃瘽" prop="telcode">
                 <el-input
                   v-model="queryParams.telcode"
@@ -215,7 +223,7 @@
             <el-table
               v-loading="loading"
               :data="userList"
-              height="660"
+              height="808"
               @selection-change="handleSelectionChange"
             >
               <el-table-column type="selection" width="50" align="center" />
@@ -227,8 +235,10 @@
                 prop="id"
               /> -->
               <!-- <el-table-column
+              <!-- <el-table-column
                 fixed
                 label="濮撳悕"
+          width="100"
           width="100"
                 align="center"
                 key="name"
@@ -426,13 +436,18 @@
             prop="templatename"
           />
           <el-table-column
-            label="寰呴殢璁�/鎬讳换鍔�"
+            label="鎬讳换鍔�/宸查殢璁�"
             align="center"
             key="nickName"
+            width="120"
             prop="nickName"
           >
             <template slot-scope="scope">
-              <span>{{ scope.row.wfs }}/{{ scope.row.yfs }}</span>
+              <span
+                >{{ scope.row.wfs ? scope.row.wfs + scope.row.yfs : "" }}/{{
+                  scope.row.yfs
+                }}</span
+              >
             </template>
           </el-table-column>
           <el-table-column
@@ -509,8 +524,7 @@
       <el-form ref="form" :model="form" :rules="rules" label-width="100px">
         <el-row>
           <el-col :span="8">
-            <el-form-item label="濮撳悕"
-          width="100" prop="name">
+            <el-form-item label="濮撳悕" width="100" prop="name">
               <el-input
                 v-model="form.name"
                 placeholder="璇疯緭鍏ュ鍚�"
@@ -519,7 +533,7 @@
             </el-form-item>
           </el-col>
           <el-col :span="8">
-            <el-form-item label="鎬у埆"width="100" prop="sex">
+            <el-form-item label="鎬у埆" width="100" prop="sex">
               <el-select v-model="form.sex" placeholder="璇烽�夋嫨鎬у埆">
                 <el-option
                   v-for="dict in sextype"
@@ -702,9 +716,10 @@
       <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="濮撳悕"
-          width="100"> </el-table-column>
-          <el-table-column prop="sex" label="鎬у埆"width="100"> </el-table-column>
+          <el-table-column prop="name" label="濮撳悕" width="100">
+          </el-table-column>
+          <el-table-column prop="sex" label="鎬у埆" width="100">
+          </el-table-column>
 
           <el-table-column prop="certificatenum" label="璇佷欢鍙风爜">
           </el-table-column>
@@ -742,9 +757,10 @@
       <div v-if="dractive == 3">
         <el-table :data="uploadingData" style="width: 100%">
           <el-table-column prop="serial" label="搴忓彿"> </el-table-column>
-          <el-table-column prop="name" label="濮撳悕"
-          width="100"> </el-table-column>
-          <el-table-column prop="sex" label="鎬у埆"width="100"> </el-table-column>
+          <el-table-column prop="name" label="濮撳悕" width="100">
+          </el-table-column>
+          <el-table-column prop="sex" label="鎬у埆" width="100">
+          </el-table-column>
           <el-table-column prop="certificatenum" label="璇佷欢鍙风爜">
           </el-table-column>
           <el-table-column prop="goday" label="鍑虹敓鏃ユ湡"> </el-table-column>
@@ -832,11 +848,12 @@
   Exporterrorpatient,
   toleadpatient,
 } from "@/api/patient/homepage";
-import { getTasklist } from "@/api/AiCentre/index";
+import { getTasklist,query360PatInfo } 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 {
@@ -974,6 +991,39 @@
         idcardtype: "",
         relativetelcode: "",
       },
+      postData: {
+        XiaoXiTou: {
+          FaSongFCSJC: "ZJHES",
+          FaSongJGID: localStorage.getItem("orgid"),
+          FaSongJGMC: localStorage.getItem("orgname"),
+          FaSongSJ: "2025-01-09聽17:29:36",
+          FaSongXTJC: "SUIFANGXT",
+          FaSongXTMC: "闅忚绯荤粺",
+          XiaoXiID: "5FA92AFB-9833-4608-87C7-F56A654AC171",
+          XiaoXiLX: "SC_LC_360STCX",
+          XiaoXiMC: "360聽瑙嗗浘鏌ヨ",
+          ZuHuID: localStorage.getItem("ZuHuID"),
+          ZuHuMC: localStorage.getItem("orgname"),
+        },
+        YeWuXX: {
+          BingRenXX: {
+            ZhengJianHM: "",
+            ZhengJianLXDM: "01",
+            ZhengJianLXMC: "灞呮皯韬唤璇�",
+            ZuZhiJGID: localStorage.getItem("orgid"),
+            ZuZhiJGMC: localStorage.getItem("orgname"),
+          },
+          YongHuXX: {
+            XiTongID: "SUIFANGXT",
+            XiTongMC: "闅忚绯荤粺",
+            YongHuID: "1400466972205912064",
+            YongHuXM: "JNRMYY",
+            ZuZhiJGID: localStorage.getItem("orgid"),
+            ZuZhiJGMC: localStorage.getItem("orgname"),
+            idp: "lyra",
+          },
+        },
+      },
       activeName: "first", //渚ц竟閫夋嫨
       //瀵煎叆杩涘害
       dractive: 1,
@@ -1006,16 +1056,30 @@
       // 鏌ヨ鍙傛暟
       queryParams: {
         pageNum: 1,
-        allhosp: "1",
+        allhosp: "0",
         pageSize: 10,
-        notrequiredFlag:0,
+        notrequiredFlag: 0,
         searchscope: 2,
-        idcardno: undefined,
-        name: undefined,
-        status: undefined,
-        tagIds: undefined,
-        telcode: undefined,
+        scopetype: [],
+        leaveldeptcodes: [],
+        leavehospitaldistrictcodes: [],
       },
+      sourcetype: [
+        {
+          value: 1,
+          label: "绉戝",
+          children: [],
+        },
+        {
+          value: 2,
+          label: "鐥呭尯",
+          children: [],
+        },
+        {
+          value: 3,
+          label: "鍏ㄩ儴",
+        },
+      ],
       // 琛ㄥ崟鏍¢獙
       rules: {
         name: [
@@ -1067,21 +1131,24 @@
     this.getList();
     this.gettabList();
     //鑾峰彇宸茬瓫閫夊悗鐨勫彲閫変换鍔$被鍨�
+    this.sourcetype[0].children = store.getters.belongDepts.map((dept) => {
+      return {
+        label: dept.deptName,
+        value: dept.deptCode,
+      };
+    });
+    this.sourcetype[1].children = store.getters.belongWards.map((dept) => {
+      return {
+        label: dept.districtName,
+        value: dept.districtCode,
+      };
+    });
     this.taskoptions = store.getters.Serviceauthority;
   },
   methods: {
     /** 鏌ヨ鎮h�呭垪琛� */
     getList() {
-      if (this.queryParams.searchscope == 1) {
-        this.queryParams.leaveldeptcodes = store.getters.belongDepts.map(
-          (obj) => obj.deptCode
-        );
-        this.queryParams.leavehospitaldistrictcodes = null;
-      } else if (this.queryParams.searchscope == 2) {
-        this.queryParams.leavehospitaldistrictcodes =
-          store.getters.belongWards.map((obj) => obj.districtCode);
-        this.queryParams.leaveldeptcodes = null;
-      } else {
+      if (this.queryParams.searchscope == 3) {
         this.queryParams.leaveldeptcodes = store.getters.belongDepts.map(
           (obj) => obj.deptCode
         );
@@ -1116,6 +1183,22 @@
         this.optionstag = response.rows;
       });
     },
+    //鎮h��360璺宠浆
+    gettoken360(sfzh,drcode,drname) {
+      this.postData.YeWuXX.BingRenXX.ZhengJianHM = sfzh;
+      if (this.postData.XiaoXiTou.ZuHuMC=='涓芥按甯備腑鍖婚櫌') {
+        this.postData.YeWuXX.YongHuXX.YongHuID = '1400398571877961728';
+        this.postData.YeWuXX.YongHuXX.YongHuXM = 'LSZYY';
+      }
+      query360PatInfo(this.postData).then((res) => {
+        if (res.data.url) {
+          window.open(res.data.url, "_blank");
+          // this.linkUrl = res.data.url;
+        } else {
+          this.$modal.msgWarning("360鏌ヨ鏃犵粨鏋�");
+        }
+      });
+    },
     // 鏌ヨ瀵煎叆灞曠ず鍒楄〃
     geterryList() {
       this.loading = true;
@@ -1130,7 +1213,7 @@
     },
     RiskMarker(row) {
       this.RiskVisible = true;
-      this.RiskObj=row;
+      this.RiskObj = row;
     },
 
     // 鍙栨秷鎸夐挳
@@ -1160,19 +1243,17 @@
     /** 閲嶇疆鎸夐挳鎿嶄綔 */
     resetQuery() {
       this.dateRange = [];
-      this.queryParams= {
+      this.queryParams = {
         pageNum: 1,
-        allhosp: "1",
+        allhosp: "0",
         pageSize: 10,
-        notrequiredFlag:0,
+        notrequiredFlag: 0,
         searchscope: 2,
-        idcardno: undefined,
-        name: undefined,
-        status: undefined,
-        tagIds: undefined,
-        telcode: undefined,
-      },
-      this.handleQuery();
+        scopetype: [],
+        leaveldeptcodes: [],
+        leavehospitaldistrictcodes: [],
+      };
+        this.handleQuery();
     },
     // 澶氶�夋閫変腑鏁版嵁
     handleSelectionChange(selection) {
@@ -1229,7 +1310,25 @@
         }
       });
     },
+    // 鎮h�呰寖鍥村鐞�
+    handleChange(value) {
+      let type = value[0];
+      let code = value.slice(-1)[0];
+      this.queryParams.leavehospitaldistrictcodes = [];
+      this.queryParams.leaveldeptcodes = [];
 
+      if (type == 1) {
+        this.queryParams.leaveldeptcodes.push(code);
+        this.queryParams.leavehospitaldistrictcodes = [];
+        this.queryParams.searchscope = 1;
+      } else if (type == 2) {
+        this.queryParams.leavehospitaldistrictcodes.push(code);
+        this.queryParams.leaveldeptcodes = [];
+        this.queryParams.searchscope = 2;
+      } else {
+        this.queryParams.searchscope = 3;
+      }
+    },
     /** 鍒犻櫎鎸夐挳鎿嶄綔 */
     handleDelete(row) {
       const userIds = row.userId || this.ids;
@@ -1252,14 +1351,13 @@
       });
     },
     RiskService() {
-
       this.RiskObj.visitFlag = this.Risklist.join(", ");
       this.RiskObj.visitType = this.Riskradio;
       alterpatient(this.RiskObj).then((res) => {
-        if (res.code==200) {
+        if (res.code == 200) {
           this.getList();
-          this.Risklist=[];
-          this.Riskradio=1;
+          this.Risklist = [];
+          this.Riskradio = 1;
           this.$modal.msgSuccess("寮傚父璁板綍鎴愬姛");
         }
       });
@@ -1350,11 +1448,12 @@
 
 <style lang="scss" scoped>
 .Questionnairemanagement {
-  display: flex;
+  // display: flex;
 }
 .sidecolumn {
   width: 180px;
-  min-height: 100vh;
+  min-height: 80vh;
+  position: fixed;
   text-align: center;
   //   display: flex;
   margin-top: 20px;
@@ -1431,7 +1530,8 @@
   cursor: pointer; /* 榧犳爣鎮诞鏃跺彉涓烘墜褰� */
 }
 .leftvlue {
-  width: 80%;
+  // width: 100%;
+  // margin-left: 220px;
   margin-top: 10px;
 }
 .leftvlue-bg {
diff --git a/src/views/patient/patient/indexls.vue b/src/views/patient/patient/indexls.vue
new file mode 100644
index 0000000..d3db66c
--- /dev/null
+++ b/src/views/patient/patient/indexls.vue
@@ -0,0 +1,349 @@
+<template>
+  <div class="iframe-container"><iframe :src="linkUrl" frameborder="0"></iframe></div>
+</template>
+
+<script>
+import { gitzerotoken,query360PatInfo } from "@/api/AiCentre/index";
+import Treeselect from "@riophae/vue-treeselect";
+import store from "@/store";
+import "@riophae/vue-treeselect/dist/vue-treeselect.css";
+import axios from "axios";
+
+export default {
+  dicts: ["sys_normal_disable", "sys_user_sex", "sys_yujing", "sys_suggest"],
+  components: { Treeselect },
+  data() {
+    return {
+      // 閬僵灞�
+      loading: true,
+      // 閫変腑鏁扮粍
+      ids: [],
+      // 闈炲崟涓鐢�
+      single: true,
+      // 闈炲涓鐢�
+      multiple: true,
+      // 鏄剧ず鎼滅储鏉′欢
+      showSearch: true,
+      // 鎬绘潯鏁�
+      total: 0,
+      linkUrl:'https://www.google.com/blank.html',
+      // 鐢ㄦ埛琛ㄦ牸鏁版嵁
+      userList: null,
+      // 寮瑰嚭灞傛爣棰�
+      title: "鏂板闂ㄨ瘖瀹f暀",
+      // 鏄惁鏄剧ず淇敼銆佹坊鍔犲脊鍑哄眰
+      addalteropen: false,
+      // 淇敼鍙戦�佹椂闂村璇濇
+      modificationVisible: false,
+      // 閮ㄩ棬鍚嶇О
+      deptName: undefined,
+      // 榛樿瀵嗙爜
+      initPassword: undefined,
+      // 鏃ユ湡鑼冨洿
+      dateRange: [],
+      // 宀椾綅閫夐」
+      postOptions: [],
+      ruleForm: {
+        type: [],
+      },
+      dynamicTags: ["閫夐」涓�", "閫夐」浜�", "閫夐」涓�"], //閫夐」
+      inputVisible: false,
+      inputValue: "",
+      previewVisible: false, //闂ㄨ瘖瀹f暀棰勮寮规
+      radio: "",
+      radios: [],
+      previewtype: 2, //棰勮闂ㄨ瘖瀹f暀绫诲瀷
+      total: 0, // 鎬绘潯鏁�
+      ImportQuantity: 999, //瀵奸棬璇婂鏁欐暟閲�
+      //棰勮闂ㄨ瘖瀹f暀淇℃伅
+      previewvalue: {
+        username: "杩欎釜鍖荤敓瀵逛綘鎬庝箞鏍�",
+      },
+      value: [],
+      list: [],
+      source: [
+        {
+          value: 0,
+          label: "鎵�灞炴偅鑰�",
+        },
+        {
+          value: 1,
+          label: "绉戝鎮h��",
+        },
+        {
+          value: 2,
+          label: "鐥呭尯鎮h��",
+        },
+      ],
+      loading: false,
+
+      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,
+        serviceType: 4,
+        searchscope: 2,
+        sendstate:2,
+      },
+      propss: { multiple: true },
+      options: [],
+
+      topicoptions: [
+        {
+          value: 1,
+          label: "琚鍙�",
+        },
+        {
+          value: 2,
+          label: "寰呭彂閫�",
+        },
+        {
+          value: 3,
+          label: "宸插彂閫佹湭棰嗗彇",
+        },
+        {
+          value: 4,
+          label: "涓嶆墽琛�",
+        },
+        {
+          value: 5,
+          label: "鍙戦�佸け璐�",
+        },
+        {
+          value: 6,
+          label: "宸插畬鎴�",
+        },
+      ],
+      topicoptionsyj: [
+        {
+          value: 1,
+          label: "寮傚父",
+        },
+        {
+          value: 0,
+          label: "姝e父",
+        },
+      ],
+      url: "http://9.208.2.190:8090/smartor/serviceExternal/query360PatInfo",
+      postData: {
+        XiaoXiTou: {
+          FaSongFCSJC: "ZJHES",
+          FaSongJGID: localStorage.getItem("orgid"),
+          FaSongJGMC: localStorage.getItem("orgname"),
+          FaSongSJ: "2025-01-09聽17:29:36",
+          FaSongXTJC: "SUIFANGXT",
+          FaSongXTMC: "闅忚绯荤粺",
+          XiaoXiID: "5FA92AFB-9833-4608-87C7-F56A654AC171",
+          XiaoXiLX: "SC_LC_360STCX",
+          XiaoXiMC: "360聽瑙嗗浘鏌ヨ",
+          ZuHuID: localStorage.getItem("ZuHuID"),
+          ZuHuMC: localStorage.getItem("orgname"),
+        },
+        YeWuXX: {
+          BingRenXX: {
+            ZhengJianHM: '',
+            ZhengJianLXDM: "01",
+            ZhengJianLXMC: "灞呮皯韬唤璇�",
+            ZuZhiJGID: localStorage.getItem("orgid"),
+            ZuZhiJGMC: localStorage.getItem("orgname"),
+          },
+          YongHuXX: {
+            XiTongID: "SUIFANGXT",
+            XiTongMC: "闅忚绯荤粺",
+            YongHuID: "1400466972205912064",
+            YongHuXM: "JNRMYY",
+            ZuZhiJGID: localStorage.getItem("orgid"),
+            ZuZhiJGMC: localStorage.getItem("orgname"),
+            idp: "lyra",
+          },
+        },
+      },
+      serviceState: [],
+      // 琛ㄥ崟鏍¢獙
+      rules: {},
+    };
+  },
+  watch: {},
+  created() {
+    // this.gettoken();
+  },
+  mounted() {
+    this.gettoken();
+  },
+  activated() {},
+
+  methods: {
+    gettoken() {
+      query360PatInfo(this.postData).then((res) => {
+        if (res.data.url) {
+          this.linkUrl = res.data.url;
+        }else{
+          this.linkUrl='https://www.google.com/blank.html';
+        }
+      });
+      // axios
+      //   .post(this.url, this.postData)
+      //   .then((response) => {
+      //     // 璇锋眰鎴愬姛
+      //     this.linkUrl = response.data.data.url;
+      //   })
+      //   .catch((error) => {
+      //     // 璇锋眰澶辫触
+      //     this.linkUrl='https://www.google.com/blank.html';
+      //     if (error.response) {
+      //       // 鏈嶅姟鍣ㄨ繑鍥炰簡閿欒鍝嶅簲
+      //       console.error("Status Code:", error.response.status);
+      //       console.error("Response Data:", error.response.data);
+      //     } else if (error.request) {
+      //       // 璇锋眰宸插彂鍑猴紝浣嗘湭鏀跺埌鍝嶅簲
+      //       console.error("No response received");
+      //     } else {
+      //       // 鍦ㄨ缃姹傛椂鍙戠敓浜嗕竴浜涗簨鎯咃紝瑙﹀彂浜嗕竴涓敊璇�
+      //       console.error("Error Message:", error.message);
+      //     }
+      //   });
+    },
+  },
+};
+</script>
+
+<style lang="scss" scoped>
+.el-tag + .el-tag {
+  margin-left: 10px;
+}
+
+.button-new-tag {
+  margin-left: 10px;
+  height: 32px;
+  line-height: 30px;
+  padding-top: 0;
+  padding-bottom: 0;
+}
+.iframe-container {
+  width: 100vw; /* 瑙嗗彛瀹藉害 */
+  height: 100vh; /* 瑙嗗彛楂樺害 */
+  overflow: hidden; /* 闅愯棌瓒呭嚭閮ㄥ垎 */
+}
+
+iframe {
+  width: 100%;
+  height: 100%;
+  border: none; /* 绉婚櫎杈规 */
+}
+.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;
+  background-color: #2ba05c;
+  padding: 5px;
+  border-radius: 1px;
+  color: #ffffff;
+}
+.button-xq {
+  font-weight: 500;
+  background-color: #409eff;
+  padding: 5px;
+  border-radius: 1px;
+  color: #ffffff;
+}
+.button-sc {
+  font-weight: 500;
+  background-color: #dd302a;
+  padding: 5px;
+  border-radius: 1px;
+  color: #ffffff;
+}
+.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/patient/operation.vue b/src/views/patient/patient/operation.vue
new file mode 100644
index 0000000..d6df8aa
--- /dev/null
+++ b/src/views/patient/patient/operation.vue
@@ -0,0 +1,748 @@
+<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="鎮h�呭鍚�" prop="name">
+            <el-input
+              v-model="queryParams.paname"
+              placeholder="璇疯緭鍏ュ鍚�"
+              clearable
+              style="width: 200px"
+              @keyup.enter.native="handleQuery"
+            />
+          </el-form-item>
+
+          <el-form-item label=" 鎵嬫湳鏃ユ湡 " prop="createTime">
+            <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-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-col> -->
+        </el-row>
+        <el-table
+          v-loading="loading"
+          :data="userList"
+           height="808"
+          @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="operatortime"
+            prop="operatortime"
+
+          >
+            <template slot-scope="scope">
+              <span>{{ formatTime(scope.row.operatortime) }}</span>
+            </template>
+          </el-table-column>
+
+          <el-table-column
+            label="鎵嬫湳鍗曞彿"
+            align="center"
+            key="opreqcode"
+            prop="opreqcode"
+
+          />
+          <!-- <el-table-column
+            label="濮撳悕"
+          width="100"
+            align="center"
+            key="paname"
+            prop="paname"
+          /> -->
+          <el-table-column
+              fixed
+                label="濮撳悕"
+
+                align="center"
+                key="paname"
+                prop="paname"
+              >
+                <template slot-scope="scope">
+                  <el-button
+                    size="medium"
+                    type="text"
+                    @click="
+                       $router.push({
+                    path: '/patient/indexls/',
+                    query: { sfzh: scope.row.idcardno },
+                  })
+                    "
+                    ><span class="button-textsc"
+                      >{{scope.row.paname}}</span
+                    ></el-button
+                  >
+
+                </template>
+              </el-table-column>
+          <el-table-column label="鎬у埆"width="100" 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="80"
+          />
+          <el-table-column
+            label="鑱旂郴鐢佃瘽"
+            align="center"
+            key="telcode"
+            prop="telcode"
+            width="160"
+          />
+
+          <!-- <el-table-column
+            label="鍏ラ櫌璇婃柇"
+            align="center"
+            key="diagname"
+            prop="diagname"
+            width="190"
+          /> -->
+          <el-table-column
+            label="鎵嬫湳绫诲埆"
+            align="center"
+            key="optypename"
+            prop="optypename"
+            width="190"
+          />
+          <!-- <el-table-column
+            label="涓昏堪"
+            align="center"
+            key="mainsuit"
+            prop="mainsuit"
+            width="120"
+          /> -->
+          <el-table-column
+            label="绉戝"
+            align="center"
+            key="regdeptname"
+            prop="regdeptname"
+            width="150"
+          />
+
+          <el-table-column
+            label="涓诲垁鍖荤敓"
+            align="center"
+            key="surgeonname"
+            prop="surgeonname"
+
+          />
+          <el-table-column
+            label="涓�鍔╁尰鐢�"
+            align="center"
+            key="firassname"
+            prop="firassname"
+
+          />
+          <el-table-column
+            label="浜屽姪鍖荤敓"
+            align="center"
+            key="secassname"
+            prop="secassname"
+
+          />
+          <el-table-column
+            label="涓夊姪鍖荤敓"
+            align="center"
+            key="thrassname"
+            prop="thrassname"
+
+          />
+          <el-table-column
+            label="澶囨敞"
+            align="center"
+            key="remark"
+            prop="remark"
+
+          />
+          <!-- <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 },
+                  })
+                "
+
+                ><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="濮撳悕"
+          width="100"> </el-table-column>
+          <el-table-column prop="sex" label="鎬у埆"width="100"> </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 {
+  listoperation,
+
+} from "@/api/patient/record";
+import {
+  messagelistpatient,
+  alterpatient,
+  addpatient,
+  particularpatient,
+  deletepatient,
+  Exporterrorpatient,
+  toleadpatient,
+} from "@/api/patient/homepage";
+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";
+import store from "@/store";
+
+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: [],
+      source: [
+        {
+          value: 0,
+          label: "鎵�灞炴偅鑰�",
+        },
+        {
+          value: 1,
+          label: "绉戝鎮h��",
+        },
+        {
+          value: 2,
+          label: "鐥呭尯鎮h��",
+        },
+      ],
+      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,
+        searchscope:2,
+        idcardno: undefined,
+        name: undefined,
+        status: undefined,
+        tagIds: undefined,
+        telcode: undefined,
+      },
+      // 琛ㄥ崟鏍¢獙
+      rules: {
+
+      },
+    };
+  },
+  watch: {
+    // 鏍规嵁鍚嶇О绛涢�夐儴闂ㄦ爲
+    deptName(val) {
+      this.$refs.tree.filter(val);
+    },
+  },
+  created() {
+
+    this.getList();
+    this.listDept();
+    this.gettabList();
+  },
+  methods: {
+    /** 鏌ヨ鎮h�呭垪琛� */
+    getList() {
+      if (this.queryParams.searchscope == 1) {
+        this.queryParams.leaveldeptcodes = store.getters.belongDepts.map(
+          (obj) => obj.deptCode
+        );
+        this.queryParams.leavehospitaldistrictcodes=null;
+      } else if (this.queryParams.searchscope == 2) {
+        this.queryParams.leavehospitaldistrictcodes =
+          store.getters.belongWards.map((obj) => obj.districtCode);
+          this.queryParams.leaveldeptcodes=null;
+      } else {
+        this.queryParams.leaveldeptcodes = store.getters.belongDepts.map(
+          (obj) => obj.deptCode
+        );
+        this.queryParams.leavehospitaldistrictcodes =
+          store.getters.belongWards.map((obj) => obj.districtCode);
+      }
+      this.loading = true;
+      listoperation(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.beginTime = this.dateRange[0];
+      this.queryParams.endTime = this.dateRange[1];
+      this.queryParams.pageNum = 1;
+      this.getList();
+    },
+    /** 閲嶇疆鎸夐挳鎿嶄綔 */
+    resetQuery() {
+      this.dateRange = [];
+      this.resetForm("queryForm");
+      this.queryParams= {
+        pageNum: 1,
+        pageSize: 10,
+      },
+      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;
+    },
+
+
+    /** 瀵煎嚭鎸夐挳鎿嶄綔 */
+    handleExport() {
+      this.download(
+        "smartor/patarchive/export",
+        {
+          ...this.queryParams,
+        },
+        `user_${new Date().getTime()}.xlsx`
+      );
+    },
+    /** 瀵煎叆鎸夐挳鎿嶄綔 */
+    handleImport() {
+      this.upload.title = "鐢ㄦ埛瀵煎叆";
+      this.upload.open = true;
+    },
+    /** 涓嬭浇妯℃澘鎿嶄綔 */
+    importTemplate() {
+      this.download(
+        "smartor/import/getImportPatTemplate",
+        {},
+        `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/outpatient.vue b/src/views/patient/patient/outpatient.vue
index 8f7b3ac..d317a51 100644
--- a/src/views/patient/patient/outpatient.vue
+++ b/src/views/patient/patient/outpatient.vue
@@ -11,7 +11,7 @@
           v-show="showSearch"
           label-width="98px"
         >
-          <el-form-item label="濮撳悕" prop="name">
+          <el-form-item label="濮撳悕" width="100" prop="name">
             <el-input
               v-model="queryParams.patname"
               placeholder="璇疯緭鍏ュ鍚�"
@@ -20,37 +20,55 @@
               @keyup.enter.native="handleQuery"
             />
           </el-form-item>
-          <el-form-item label="鎮h�呯紪鍙�" prop="patid">
+          <el-form-item label="鐥呮鍙�" prop="outhospno">
             <el-input
-              v-model="queryParams.patid"
-              placeholder="璇疯緭鍏ユ偅鑰呯紪鍙�"
+              v-model="queryParams.outhospno"
+              placeholder="璇疯緭鍏ョ梾妗堝彿"
               clearable
               style="width: 250px"
               @keyup.enter.native="handleQuery"
             />
           </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 label="鎮h�呰寖鍥�" prop="status">
+            <el-cascader
+              v-model="queryParams.scopetype"
+              placeholder="榛樿鍏ㄩ儴"
+              :options="sourcetype"
+              :props="{ expandTrigger: 'hover' }"
+              @change="handleChange"
+            ></el-cascader>
           </el-form-item>
           <el-row>
-            <el-form-item label=" 灏辫瘖鏃ユ湡 " prop="createTime">
+            <!-- <el-form-item label=" 灏辫瘖鏃ユ湡 " prop="admitdate">
               <el-date-picker
                 clearable
-                v-model="queryParams.createTime"
+                v-model="queryParams.admitdate"
                 type="date"
                 value-format="yyyy-MM-dd"
                 placeholder="璇烽�夋嫨 灏辫瘖鏃ユ湡 "
               >
               </el-date-picker>
+            </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-date-picker
+                v-model="dateRange"
+                type="datetimerange"
+                value-format="yyyy-MM-dd HH:mm:ss"
+                start-placeholder="寮�濮嬫棩鏈�"
+                end-placeholder="缁撴潫鏃ユ湡"
+                :default-time="['12:00:00']"
+              >
+              </el-date-picker> -->
             </el-form-item>
             <el-form-item>
               <el-button
@@ -151,28 +169,51 @@
           <el-table-column
             label="灏辫瘖鏃堕棿"
             align="center"
-            key="createTime"
-            prop="createTime"
+            key="admitdate"
+            prop="admitdate"
             width="160"
           >
             <template slot-scope="scope">
-              <span>{{ formatTime(scope.row.createTime) }}</span>
+              <span>{{ formatTime(scope.row.admitdate) }}</span>
             </template>
           </el-table-column>
-
-          <el-table-column
-            label="闂ㄨ瘖鍙�"
+          <!-- <el-table-column
+            label="鐥呮鍙�"
             align="center"
-            key="patid"
-            prop="patid"
+            key="patno"
+            prop="patno"
+          /> -->
+          <el-table-column
+            label="鐥呮鍙�"
+            align="center"
+            key="outhospno"
+            prop="outhospno"
           />
           <el-table-column
             label="濮撳悕"
+            width="100"
             align="center"
             key="patname"
             prop="patname"
-          />
-          <el-table-column label="鎬у埆" align="center" key="sex" prop="sex">
+          >
+            <template slot-scope="scope">
+              <el-button
+                size="medium"
+                type="text"
+                @click="gettoken360(scope.row.idcardno,scope.row.drcode,scope.row.drname)"
+                ><span class="button-textsc">{{
+                  scope.row.patname
+                }}</span></el-button
+              >
+            </template>
+          </el-table-column>
+          <el-table-column
+            label="鎬у埆"
+            width="100"
+            align="center"
+            key="sex"
+            prop="sex"
+          >
             <template slot-scope="scope">
               <span>{{ scope.row.sex == 1 ? "鐢�" : "濂�" }}</span>
             </template>
@@ -318,8 +359,10 @@
       <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="name" label="濮撳悕" width="100">
+          </el-table-column>
+          <el-table-column prop="sex" label="鎬у埆" width="100">
+          </el-table-column>
           <el-table-column prop="certificate" label="璇佷欢绫诲瀷">
           </el-table-column>
           <el-table-column prop="certificatenum" label="璇佷欢鍙风爜">
@@ -370,10 +413,14 @@
   updatePatouthosp,
   delPatouthosp,
 } from "@/api/smartor/patouthosp";
+import { particularpatient } from "@/api/patient/homepage";
 import { listtag } from "@/api/system/label";
 import { getToken } from "@/utils/auth";
 import Treeselect from "@riophae/vue-treeselect";
 import "@riophae/vue-treeselect/dist/vue-treeselect.css";
+import { query360PatInfo } from "@/api/AiCentre/index";
+
+import store from "@/store";
 
 export default {
   name: "Userhuanze",
@@ -444,10 +491,59 @@
           id: 1,
         },
       ],
+      postData: {
+        XiaoXiTou: {
+          FaSongFCSJC: "ZJHES",
+          FaSongJGID: localStorage.getItem("orgid"),
+          FaSongJGMC: localStorage.getItem("orgname"),
+          FaSongSJ: "2025-01-09聽17:29:36",
+          FaSongXTJC: "SUIFANGXT",
+          FaSongXTMC: "闅忚绯荤粺",
+          XiaoXiID: "5FA92AFB-9833-4608-87C7-F56A654AC171",
+          XiaoXiLX: "SC_LC_360STCX",
+          XiaoXiMC: "360聽瑙嗗浘鏌ヨ",
+          ZuHuID: localStorage.getItem("ZuHuID"),
+          ZuHuMC: localStorage.getItem("orgname"),
+        },
+        YeWuXX: {
+          BingRenXX: {
+            ZhengJianHM: "",
+            ZhengJianLXDM: "01",
+            ZhengJianLXMC: "灞呮皯韬唤璇�",
+            ZuZhiJGID: localStorage.getItem("orgid"),
+            ZuZhiJGMC: localStorage.getItem("orgname"),
+          },
+          YongHuXX: {
+            XiTongID: "SUIFANGXT",
+            XiTongMC: "闅忚绯荤粺",
+            YongHuID: "1400466972205912064",
+            YongHuXM: "JNRMYY",
+            ZuZhiJGID: localStorage.getItem("orgid"),
+            ZuZhiJGMC: localStorage.getItem("orgname"),
+            idp: "lyra",
+          },
+        },
+      },
       defaultProps: {
         children: "children",
         label: "label",
       },
+      sourcetype: [
+        {
+          value: 1,
+          label: "绉戝",
+          children: [],
+        },
+        {
+          value: 2,
+          label: "鐥呭尯",
+          children: [],
+        },
+        {
+          value: 3,
+          label: "鍏ㄩ儴",
+        },
+      ],
       // 鐢ㄦ埛瀵煎叆鍙傛暟
       upload: {
         // 鏄惁鏄剧ず寮瑰嚭灞傦紙鐢ㄦ埛瀵煎叆锛�
@@ -467,6 +563,10 @@
       queryParams: {
         pageNum: 1,
         pageSize: 10,
+        searchscope: 3,
+        scopetype: [],
+        leaveldeptcodes: [],
+        leavehospitaldistrictcodes: [],
       },
       // 琛ㄥ崟鏍¢獙
       rules: {
@@ -523,6 +623,18 @@
     },
   },
   created() {
+    this.sourcetype[0].children = store.getters.belongDepts.map((dept) => {
+      return {
+        label: dept.deptName,
+        value: dept.deptCode,
+      };
+    });
+    this.sourcetype[1].children = store.getters.belongWards.map((dept) => {
+      return {
+        label: dept.districtName,
+        value: dept.districtCode,
+      };
+    });
     this.getList();
     this.gettabList();
   },
@@ -530,8 +642,21 @@
     /** 鏌ヨ鎮h�呭垪琛� */
     getList() {
       this.loading = true;
+      if (this.queryParams.searchscope == 3) {
+        this.queryParams.leaveldeptcodes = store.getters.belongDepts.map(
+          (obj) => obj.deptCode
+        );
+        this.queryParams.leavehospitaldistrictcodes =
+          store.getters.belongWards.map((obj) => obj.districtCode);
+      }
+      if (this.dateRange) {
+        this.queryParams.beginTime = this.dateRange[0];
+        this.queryParams.endTime = this.dateRange[1];
+      }else{
+        this.queryParams.beginTime = '';
+        this.queryParams.endTime = '';
+      }
       listPatouthosp(this.queryParams).then((response) => {
-        console.log(response);
         this.userList = response.rows;
         this.total = response.total;
         this.loading = false;
@@ -551,6 +676,25 @@
         this.optionstag = response.rows;
       });
     },
+    // 鎮h�呰寖鍥村鐞�
+    handleChange(value) {
+      let type = value[0];
+      let code = value.slice(-1)[0];
+      this.queryParams.leavehospitaldistrictcodes = [];
+      this.queryParams.leaveldeptcodes = [];
+
+      if (type == 1) {
+        this.queryParams.leaveldeptcodes.push(code);
+        this.queryParams.leavehospitaldistrictcodes = [];
+        this.queryParams.searchscope = 1;
+      } else if (type == 2) {
+        this.queryParams.leavehospitaldistrictcodes.push(code);
+        this.queryParams.leaveldeptcodes = [];
+        this.queryParams.searchscope = 2;
+      } else {
+        this.queryParams.searchscope = 3;
+      }
+    },
     // 鏌ヨ瀵煎叆灞曠ず鍒楄〃
     geterryList() {
       this.loading = true;
@@ -560,7 +704,23 @@
         this.loading = false;
       });
     },
+    //鎮h��360璺宠浆
+    gettoken360(sfzh,drcode,drname) {
+      this.postData.YeWuXX.BingRenXX.ZhengJianHM = sfzh;
+      if (this.postData.XiaoXiTou.ZuHuMC=='涓芥按甯備腑鍖婚櫌') {
+        this.postData.YeWuXX.YongHuXX.YongHuID = '1400398571877961728';
+        this.postData.YeWuXX.YongHuXX.YongHuXM = 'LSZYY';
+      }
 
+      query360PatInfo(this.postData).then((res) => {
+        if (res.data.url) {
+          window.open(res.data.url, "_blank");
+          // this.linkUrl = res.data.url;
+        } else {
+          this.$modal.msgWarning("360鏌ヨ鏃犵粨鏋�");
+        }
+      });
+    },
     // 绛涢�夎妭鐐�
     filterNode(value, data) {
       if (!value) return true;
@@ -600,8 +760,15 @@
     resetQuery() {
       this.dateRange = [];
       this.resetForm("queryForm");
-      this.$refs.tree.setCurrentKey(null);
-      this.handleQuery();
+      this.queryParams = {
+        pageNum: 1,
+        pageSize: 10,
+        searchscope: 3,
+        scopetype: [],
+        leaveldeptcodes: [],
+        leavehospitaldistrictcodes: [],
+      };
+        this.handleQuery();
     },
     // 澶氶�夋閫変腑鏁版嵁
     handleSelectionChange(selection) {
diff --git a/src/views/patient/patient/physical.vue b/src/views/patient/patient/physical.vue
index a7b31d6..30228ec 100644
--- a/src/views/patient/patient/physical.vue
+++ b/src/views/patient/patient/physical.vue
@@ -11,7 +11,8 @@
           v-show="showSearch"
           label-width="98px"
         >
-          <el-form-item label="濮撳悕" prop="name">
+          <el-form-item label="濮撳悕"
+          width="100" prop="name">
             <el-input
               v-model="queryParams.name"
               placeholder="璇疯緭鍏ュ鍚�"
@@ -167,14 +168,15 @@
             key="id"
             prop="id"
           />
-          <el-table-column label="濮撳悕" fixed align="center" key="patname" prop="patname" />
+          <el-table-column label="濮撳悕"
+          width="100" fixed align="center" key="patname" prop="patname" />
           <el-table-column
             label="浣撴缂栧彿"
             align="center"
             key="projectcode"
             prop="projectcode"
           />
-          <el-table-column label="鎬у埆" align="center" key="sex" prop="sex">
+          <el-table-column label="鎬у埆"width="100" align="center" key="sex" prop="sex">
             <template slot-scope="scope">
               <span>{{ scope.row.sex == 1 ? "鐢�" : "濂�" }}</span>
             </template>
@@ -252,12 +254,12 @@
           <el-table-column
             label="灏辫瘖鏃堕棿"
             align="center"
-            key="createTime"
-            prop="createTime"
+            key="admitdate"
+            prop="admitdate"
             width="160"
           >
             <template slot-scope="scope">
-              <span>{{ formatTime(scope.row.createTime) }}</span>
+              <span>{{ formatTime(scope.row.admitdate) }}</span>
             </template>
           </el-table-column>
           <el-table-column
@@ -267,7 +269,7 @@
             width="160"
           >
             <template slot-scope="scope">
-              <span>{{ formatTime(scope.row.createTime) }}</span>
+              <span>{{ formatTime(scope.row.updateTime) }}</span>
             </template>
           </el-table-column>
           <el-table-column
@@ -324,7 +326,8 @@
       <el-form ref="form" :model="form" :rules="rules" label-width="100px">
         <el-row>
           <el-col :span="12">
-            <el-form-item label="濮撳悕" prop="name">
+            <el-form-item label="濮撳悕"
+          width="100" prop="name">
               <el-input
                 v-model="form.name"
                 placeholder="璇疯緭鍏ュ鍚�"
@@ -333,7 +336,7 @@
             </el-form-item>
           </el-col>
           <el-col :span="12">
-            <el-form-item label="鎬у埆" prop="sex">
+            <el-form-item label="鎬у埆"width="100" prop="sex">
               <el-select v-model="form.sex" placeholder="璇烽�夋嫨鎬у埆">
                 <el-option
                   v-for="dict in dict.type.sys_user_sex"
@@ -483,8 +486,9 @@
       <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="name" label="濮撳悕"
+          width="100"> </el-table-column>
+          <el-table-column prop="sex" label="鎬у埆"width="100"> </el-table-column>
           <el-table-column prop="certificate" label="璇佷欢绫诲瀷">
           </el-table-column>
           <el-table-column prop="certificatenum" label="璇佷欢鍙风爜">
@@ -537,6 +541,9 @@
   Exporterrorpatient,
   toleadpatient,
 } from "@/api/smartor/patphysical";
+import {
+  particularpatient,
+} from "@/api/patient/homepage";
 import { listtag } from "@/api/system/label";
 import { getToken } from "@/utils/auth";
 import Treeselect from "@riophae/vue-treeselect";
@@ -772,7 +779,10 @@
     resetQuery() {
       this.dateRange = [];
       this.resetForm("queryForm");
-      this.$refs.tree.setCurrentKey(null);
+      this.queryParams= {
+        pageNum: 1,
+        pageSize: 10,
+      },
       this.handleQuery();
     },
     // 澶氶�夋閫変腑鏁版嵁
diff --git a/src/views/patient/patient/profile/index.vue b/src/views/patient/patient/profile/index.vue
index f45d906..3f7d6eb 100644
--- a/src/views/patient/patient/profile/index.vue
+++ b/src/views/patient/patient/profile/index.vue
@@ -111,7 +111,7 @@
             ref="userform"
             :model="userform"
             :rules="rules"
-            label-width="100px"
+            label-width="150px"
           >
             <el-row :gutter="20">
               <el-col :span="12">
@@ -122,6 +122,8 @@
                     maxlength="30"
                   ></el-input> </el-form-item
               ></el-col>
+            </el-row>
+            <el-row >
               <el-col :span="12"
                 ><el-form-item label="鑱旂郴鏂瑰紡" prop="telcode">
                   <el-input
@@ -129,6 +131,14 @@
                     placeholder="璇疯緭鍏ヨ仈绯绘柟寮�"
                     maxlength="30"
                   /> </el-form-item
+              ></el-col>
+              <el-col :span="12">
+                <el-form-item label="浜插睘鑱旂郴鏂瑰紡"  prop="name">
+                  <el-input
+                    v-model="userform.telcodewx"
+                    placeholder="璇疯緭鍏ュ鍚�"
+                    maxlength="30"
+                  ></el-input> </el-form-item
               ></el-col>
             </el-row>
             <el-row :gutter="20">
@@ -198,7 +208,7 @@
           </el-form>
         </div>
       </div>
-      <div class="top-message">
+      <!-- <div class="top-message">
         <div class="headline">鐥呭彶</div>
         <div class="detailed">
           <el-form :model="form" label-width="100px">
@@ -306,7 +316,7 @@
             </el-row>
           </el-form>
         </div>
-      </div>
+      </div> -->
       <!-- 鑱旂郴鐢佃瘽 -->
       <div class="bottom-message">
         <div class="headline">
@@ -321,7 +331,7 @@
           >
             <el-table-column prop="id" label="搴忓彿" width="180">
             </el-table-column>
-            <el-table-column prop="contactname" label="濮撳悕" width="180">
+            <el-table-column prop="contactname" label="濮撳悕" width="100">
             </el-table-column>
             <el-table-column prop="contactway" label="鑱旂郴鏂瑰紡" width="180">
             </el-table-column>
@@ -363,23 +373,24 @@
           <el-table-column
             label="灏辫瘖鏃堕棿"
             align="center"
-            key="createTime"
-            prop="createTime"
+            key="admitdate"
+            prop="admitdate"
             width="160"
           >
             <template slot-scope="scope">
-              <span>{{ formatTime(scope.row.createTime) }}</span>
+              <span>{{ formatTime(scope.row.admitdate) }}</span>
             </template>
           </el-table-column>
 
           <el-table-column
-            label="闂ㄨ瘖鍙�"
+            label="鐥呮鍙�"
             align="center"
-            key="patid"
-            prop="patid"
+            key="outhospno"
+            prop="outhospno"
           />
           <el-table-column
             label="濮撳悕"
+            width="100"
             align="center"
             key="patname"
             prop="patname"
@@ -451,12 +462,13 @@
           <el-table-column
             label="浣忛櫌鍙�"
             align="center"
-            key="patno"
-            prop="patno"
+            key="inhospno"
+            prop="inhospno"
             width="180"
           />
           <el-table-column
             label="濮撳悕"
+            width="100"
             align="center"
             key="patname"
             prop="patname"
@@ -519,7 +531,6 @@
             prop="bedNo"
             width="120"
           />
-
         </el-table>
       </div>
       <!-- 鍑洪櫌 -->
@@ -528,12 +539,13 @@
           <el-table-column
             label="浣忛櫌鍙�"
             align="center"
-            key="patno"
-            prop="patno"
+            key="inhospno"
+            prop="inhospno"
             width="120"
           />
           <el-table-column
             label="濮撳悕"
+            width="100"
             align="center"
             key="patname"
             prop="patname"
@@ -597,7 +609,6 @@
             prop="bedNo"
             width="120"
           />
-
         </el-table>
       </div>
     </div>
@@ -618,26 +629,22 @@
               border-left: 4px solid rgb(190, 65, 134);
             "
           >
-          <span v-if="item.serviceType==2">鍑洪櫌闅忚</span>
-          <span v-if="item.serviceType==1">鐩戞祴璇勪及</span>
-          <span v-if="item.serviceType==3">闂ㄨ瘖闅忚</span>
-          <span v-if="item.serviceType==4">瀹f暀鍏虫��</span>
+            <span v-if="item.serviceType == 2">鍑洪櫌闅忚</span>
+            <span v-if="item.serviceType == 1">蹇冪數闅忚</span>
+            <span v-if="item.serviceType == 3">褰卞儚闅忚</span>
+            <span v-if="item.serviceType == 4">瀹f暀鍏虫��</span>
           </div>
           <el-divider></el-divider>
           <div style="margin-top: 10px">
-            鏈嶅姟鍚嶇О锛�<span style="color: #2775b6"
-              >{{ item.templatename }}</span
-            >
+            鏈嶅姟鍚嶇О锛�<span style="color: #2775b6">{{
+              item.templatename
+            }}</span>
           </div>
           <div style="margin-top: 10px">
-            鍒涘缓鏃堕棿锛�<span style="color: #2775b6"
-              >{{item.createTime}}</span
-            >
+            鍒涘缓鏃堕棿锛�<span style="color: #2775b6">{{ item.createTime }}</span>
           </div>
           <div style="margin-top: 10px">
-            瀹屾垚鏃堕棿锛�<span style="color: #2775b6"
-              >{{ item.finishtime }}</span
-            >
+            瀹屾垚鏃堕棿锛�<span style="color: #2775b6">{{ item.finishtime }}</span>
           </div>
           <div style="margin-top: 10px">
             <el-row :gutter="20">
@@ -647,9 +654,10 @@
               >
               <el-col :span="12"
                 >鐥呭尯锛�
-                <span style="color: #2775b6">{{ item.leavehospitaldistrictname }}</span></el-col
+                <span style="color: #2775b6">{{
+                  item.leavehospitaldistrictname
+                }}</span></el-col
               >
-
             </el-row>
           </div>
 
@@ -674,15 +682,15 @@
                 <span style="color: #2775b6">{{ item.drname }}</span></el-col
               >
               <el-col :span="6"
-                >璐d换鎶ゅ+ <span style="color: #2775b6">{{ item.nurseName }}</span></el-col
+                >璐d换鎶ゅ+
+                <span style="color: #2775b6">{{ item.nurseName }}</span></el-col
               >
             </el-row>
           </div>
           <div style="margin-top: 10px">
             缁撴灉鐘舵�侊細
-            <span style="color: #2775b6" v-if="item.excep==0">鏈嶅姟姝e父</span>
-            <span style="color: #B55E54" v-if="item.excep==1">寮傚父</span>
-
+            <span style="color: #2775b6" v-if="item.excep == 0">鏈嶅姟姝e父</span>
+            <span style="color: #b55e54" v-if="item.excep == 1">寮傚父</span>
           </div>
           <!-- <div style="margin-top: 10px">
             澶囨敞锛�
@@ -799,7 +807,7 @@
 
     <el-dialog :title="titletb" :visible.sync="AddanumberVisible">
       <el-form :model="numberform" label-width="100px">
-        <el-form-item label="濮撳悕">
+        <el-form-item label="濮撳悕" width="100">
           <el-input v-model="numberform.contactname"></el-input>
         </el-form-item>
         <el-form-item label="鑱旂郴鐢佃瘽">
@@ -838,10 +846,7 @@
   Patientclinic,
 } from "@/api/patient/homepage";
 
-import {
-  getsearchrResults,
-  getTaskservelist,
-} from "@/api/AiCentre/index";
+import { getsearchrResults, getTaskservelist } from "@/api/AiCentre/index";
 import { listPatouthosp } from "@/api/smartor/patouthosp";
 import { listpatient } from "@/api/patient/record";
 
@@ -872,29 +877,29 @@
       record: [
         {
           name: "瀹f暀浠诲姟",
-          serviceType:'4',
-          templatename:'绠¢ゲ瀹f暀涓�鏈�',
-          createTime:'2024-11-10',
-          finishtime:'2024-11-12',
-          createBy:'鐜嬫斂',
-          drname:'鍒樻槑',
-          nurseName:'寮犳窇鐞�',
-          excep:'0',
-          deptname:'鍛煎惛绉�',
-          leavehospitaldistrictname:'浜旂梾鍖�',
+          serviceType: "4",
+          templatename: "绠¢ゲ瀹f暀涓�鏈�",
+          createTime: "2024-11-10",
+          finishtime: "2024-11-12",
+          createBy: "鐜嬫斂",
+          drname: "鍒樻槑",
+          nurseName: "寮犳窇鐞�",
+          excep: "0",
+          deptname: "鍛煎惛绉�",
+          leavehospitaldistrictname: "浜旂梾鍖�",
         },
         {
           name: "闅忚浠诲姟",
-          serviceType:'2',
-          templatename:'蹇冭绠¢殢璁夸竴鏈�',
-          createTime:'2024-11-11',
-          finishtime:'2024-11-14',
-          createBy:'绔犵▼',
-          drname:'鍒樻槑',
-          nurseName:'鏉庝附',
-          excep:'0',
-          deptname:'鍛煎惛绉�',
-          leavehospitaldistrictname:'浜旂梾鍖�',
+          serviceType: "2",
+          templatename: "蹇冭绠¢殢璁夸竴鏈�",
+          createTime: "2024-11-11",
+          finishtime: "2024-11-14",
+          createBy: "绔犵▼",
+          drname: "鍒樻槑",
+          nurseName: "鏉庝附",
+          excep: "0",
+          deptname: "鍛煎惛绉�",
+          leavehospitaldistrictname: "浜旂梾鍖�",
         },
         // {
         //   name: "闂嵎璋冩煡",
@@ -1049,8 +1054,8 @@
         // 闂ㄨ瘖璁板綍
         listPatouthosp({ patid: this.id }).then((response) => {
           if (response.code == 200) {
-            // this.serviceData = response.rows;
-            this.serviceData = [];
+            this.serviceData = response.rows;
+            // this.serviceData = [];
           }
         });
       } else if (type == 1) {
@@ -1064,7 +1069,7 @@
           if (response.code == 200) {
             this.serviceDatacy = response.rows;
             console.log(this.serviceDatacy);
-            this.$forceUpdate()
+            this.$forceUpdate();
           }
         });
       }
@@ -1072,6 +1077,9 @@
     getcontactlist() {
       listcontactinformation({ patid: this.id }).then((response) => {
         this.tableData = response.rows;
+        if (this.tableData.length) {
+          this.userform.telcodewx = this.tableData[0].contactway;
+        }
       });
     },
     processElement(element) {
@@ -1089,7 +1097,7 @@
         this.userform = response.rows[0];
         // this.dynamicTags = response.rows[0].tagList;
         this.dynamicTags = response.rows[0].tagList.map(this.processElement);
-        console.log(this.dynamicTags);
+        this.getcontactlist();
       });
       // 鐥呭彶淇℃伅
       getmedicalhistory({ pid: this.id }).then((res) => {
@@ -1098,7 +1106,6 @@
         }
       });
       // 鑱旂郴淇℃伅
-      this.getcontactlist();
     },
     // 淇濆瓨鎮h�呮。妗�
     savefile() {
@@ -1226,8 +1233,8 @@
     handleClick(tab, event) {
       if (tab.index == "1") {
         this.getList(1);
-      }else if (tab.index == "2") {
-this.handleClickfw();
+      } else if (tab.index == "2") {
+        this.handleClickfw();
       }
     },
     handleClickson(tab, event) {
@@ -1235,7 +1242,7 @@
       this.getList(tab.index);
     },
     // 鏌ヨ鏈嶅姟璁板綍
-    handleClickfw(){
+    handleClickfw() {
       getTaskservelist({
         patid: this.id,
         deptOrDistrict:2,
diff --git a/src/views/patient/patient/profile/userInfo.vue b/src/views/patient/patient/profile/userInfo.vue
index c09a20b..2514f1f 100644
--- a/src/views/patient/patient/profile/userInfo.vue
+++ b/src/views/patient/patient/profile/userInfo.vue
@@ -2,14 +2,14 @@
   <el-form ref="form" :model="user" :rules="rules" label-width="80px">
     <el-form-item label="鐢ㄦ埛鏄电О" prop="nickName">
       <el-input v-model="user.nickName" maxlength="30" />
-    </el-form-item> 
+    </el-form-item>
     <el-form-item label="鎵嬫満鍙风爜" prop="phonenumber">
       <el-input v-model="user.phonenumber" maxlength="11" />
     </el-form-item>
     <el-form-item label="閭" prop="email">
       <el-input v-model="user.email" maxlength="50" />
     </el-form-item>
-    <el-form-item label="鎬у埆">
+    <el-form-item label="鎬у埆"width="100">
       <el-radio-group v-model="user.sex">
         <el-radio label="0">鐢�</el-radio>
         <el-radio label="1">濂�</el-radio>
diff --git a/src/views/patient/physical/index.vue b/src/views/patient/physical/index.vue
index 50f4422..3381d58 100644
--- a/src/views/patient/physical/index.vue
+++ b/src/views/patient/physical/index.vue
@@ -17,12 +17,12 @@
                   font-weight: 600;
                 "
               >
-                {{ item.value }}
+              {{ item.value ? item.value : 0 }}
               </div>
             </div>
           </el-card>
         </el-col>
-        <el-col :span="2.5">
+        <!-- <el-col :span="2.5">
           <div class="ysfleftvlue">
             <el-card shadow="hover">
               <div style="padding: 8px">
@@ -40,7 +40,7 @@
               </div>
             </el-card>
           </div>
-        </el-col>
+        </el-col> -->
         <el-col :span="2.5">
           <div class="errleftvlue">
             <el-card shadow="hover">
@@ -79,7 +79,7 @@
           ></el-input>
         </el-form-item>
 
-        <el-form-item label="鍑洪櫌鏃堕棿">
+        <el-form-item label="蹇冪數鏃堕棿">
           <el-date-picker
             v-model="dateRange"
             style="width: 240px"
@@ -154,7 +154,6 @@
                 icon="el-icon-upload2"
                 size="medium"
                 @click="handleExport"
-                v-hasPermi="['system:user:export']"
                 >瀵煎嚭</el-button
               >
             </div>
@@ -205,7 +204,7 @@
       <el-table
         v-loading="loading"
         :data="userList"
-        height="660"
+        height="808"
         :row-class-name="tableRowClassName"
         @selection-change="handleSelectionChange"
       >
@@ -221,11 +220,27 @@
         <!-- <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.idcardno },
+                  })
+              "
+              ><span class="button-textsc">{{
+                scope.row.sendname
+              }}</span></el-button
+            >
+          </template>
+        </el-table-column>
         <el-table-column
           label="浠诲姟鐘舵��"
           align="center"
@@ -234,6 +249,32 @@
           width="120"
         >
           <template slot-scope="scope">
+            <div v-if="scope.row.sendstate == 1">
+              <el-tag type="primary" :disable-transitions="false"
+                >琛ㄥ崟宸查鍙�</el-tag
+              >
+            </div>
+            <div v-if="scope.row.sendstate == 2">
+              <el-tag type="primary" :disable-transitions="false"
+                >寰呴殢璁�</el-tag
+              >
+            </div>
+            <div v-if="scope.row.sendstate == 3">
+              <el-tag type="success" :disable-transitions="false"
+                >琛ㄥ崟宸插彂閫�</el-tag
+              >
+            </div>
+            <div v-if="scope.row.sendstate == 4">
+              <el-tag type="info" :disable-transitions="false">涓嶆墽琛�</el-tag>
+            </div>
+            <div v-if="scope.row.sendstate == 5">
+              <el-tag type="danger" :disable-transitions="false"
+                >鍙戦�佸け璐�</el-tag
+              >
+            </div>
+            <div v-if="scope.row.sendstate == 6">
+              <el-tag type="danger" :disable-transitions="false">宸插畬鎴�</el-tag>
+            </div>
             <el-tooltip
               class="item"
               effect="dark"
@@ -280,7 +321,7 @@
         />
 
         <el-table-column
-          label="浜哄伐澶勭悊鎰忚"
+          label="澶勭悊鎰忚"
           align="center"
           key="suggest"
           prop="suggest"
@@ -296,12 +337,12 @@
         <el-table-column
           label="闅忚浜哄憳"
           align="center"
-          key="createBy"
-          prop="createBy"
+          key="updateBy"
+          prop="updateBy"
           width="120"
         />
         <el-table-column
-          label="闅忚鏃堕棿"
+          label="闅忚瀹屾垚鏃堕棿"
           sortable
           align="center"
           prop="finishtime"
@@ -323,7 +364,7 @@
           </template></el-table-column
         >
         <el-table-column
-          label="鍑洪櫌澶╂暟"
+          label="宸叉鏌ュぉ鏁�"
           width="120"
           align="center"
           key="endDay"
@@ -347,15 +388,15 @@
           key="phone"
           prop="phone"
         />
-        <el-table-column
+        <!-- <el-table-column
           label="璐d换鎶ゅ+"
           width="120"
           align="center"
           key="nurseName"
           prop="nurseName"
-        />
+        /> -->
         <el-table-column
-          label="涓绘不鍖荤敓"
+          label="妫�鏌ュ尰鐢�"
           width="120"
           align="center"
           key="drname"
@@ -372,7 +413,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="绉戝"
@@ -401,8 +442,8 @@
         >
         </el-table-column> -->
 
-        <el-table-column
-          label="鍑洪櫌闅忚妯℃澘鍚嶇О"
+        <!-- <el-table-column
+          label="蹇冪數闅忚妯℃澘鍚嶇О"
           align="center"
           key="templatename"
           prop="templatename"
@@ -419,7 +460,7 @@
           <template slot-scope="scope">
             <span v-for="item in scope.row.preachform">{{ item }}銆� </span>
           </template>
-        </el-table-column>
+        </el-table-column> -->
         <!-- <el-table-column
           label="浠诲姟鍙戦�佹祦绋�"
           align="center"
@@ -434,22 +475,7 @@
             </span>
           </template>
         </el-table-column> -->
-        <el-table-column
-          label="浠诲姟缁撴灉璇存槑"
-          width="200"
-          align="center"
-          key="remark"
-          prop="remark"
-        >
-          <template slot-scope="scope" v-if="scope.row.remark">
-            <el-tag
-              type="warning"
-              v-if="scope.row.sendstate != 5 && scope.row.sendstate != 4"
-              >{{ scope.row.remark }}</el-tag
-            >
-            <el-tag type="warning" v-else>{{ scope.row.remark }}</el-tag>
-          </template>
-        </el-table-column>
+
         <el-table-column
           label="鎿嶄綔"
           align="center"
@@ -504,7 +530,7 @@
         @pagination="getList"
       />
     </el-row>
-    <!-- 娣诲姞鎴栦慨鏀归棬璇婇殢璁垮璇濇 -->
+    <!-- 娣诲姞鎴栦慨鏀瑰奖鍍忛殢璁垮璇濇 -->
     <el-dialog
       :title="title"
       :visible.sync="addalteropen"
@@ -547,7 +573,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>
@@ -672,7 +698,7 @@
       // 鐢ㄦ埛琛ㄦ牸鏁版嵁
       userList: null,
       // 寮瑰嚭灞傛爣棰�
-      title: "鏂板闂ㄨ瘖闅忚",
+      title: "鏂板褰卞儚闅忚",
       // 鏄惁鏄剧ず淇敼銆佹坊鍔犲脊鍑哄眰
       addalteropen: false,
       // 淇敼鍙戦�佹椂闂村璇濇
@@ -694,13 +720,13 @@
       yfsvalue: "",
       inputValue: "",
       preachform: "",
-      previewVisible: false, //闂ㄨ瘖闅忚棰勮寮规
+      previewVisible: false, //褰卞儚闅忚棰勮寮规
       radio: "",
       radios: [],
-      previewtype: 2, //棰勮闂ㄨ瘖闅忚绫诲瀷
+      previewtype: 2, //棰勮褰卞儚闅忚绫诲瀷
       total: 0, // 鎬绘潯鏁�
-      ImportQuantity: 999, //瀵奸棬璇婇殢璁挎暟閲�
-      //棰勮闂ㄨ瘖闅忚淇℃伅
+      ImportQuantity: 999, //瀵煎奖鍍忛殢璁挎暟閲�
+      //棰勮褰卞儚闅忚淇℃伅
       previewvalue: {
         username: "杩欎釜鍖荤敓瀵逛綘鎬庝箞鏍�",
       },
@@ -726,13 +752,13 @@
       loading: false,
       cardlist: [
         {
-          name: "鍑洪櫌鏈嶅姟鎬婚噺",
+          name: "蹇冪數鏈嶅姟鎬婚噺",
           value: 0,
         },
-        {
-          name: "鎮h�呰繃婊�",
-          value: 0,
-        },
+        // {
+        //   name: "鎮h�呰繃婊�",
+        //   value: 0,
+        // },
         {
           name: "搴旈殢璁�",
           value: 0,
@@ -742,16 +768,16 @@
         //   name: "寮傚父",
         //   value: 0,
         // },
+        // {
+        //   name: "鍙戦�佸け璐�",
+        //   value: 0,
+        // },
         {
-          name: "鍙戦�佸け璐�",
+          name: "寰呴殢璁�",
           value: 0,
         },
         {
-          name: "寰呮墽琛�",
-          value: 0,
-        },
-        {
-          name: "宸插彂閫�",
+          name: "宸查殢璁�",
           value: 0,
         },
 
@@ -774,11 +800,10 @@
       topqueryParams: {
         pageNum: 1,
         pageSize: 10,
-        serviceType: 1,
-        searchscope: 3,
+        serviceType: 12,
+        sendstate:2,
         scopetype: [],
-        leaveldeptcodes: [],
-        leavehospitaldistrictcodes: [],
+
       },
       propss: { multiple: true },
       options: [],
@@ -790,7 +815,7 @@
         },
         {
           value: 2,
-          label: "寰呮墽琛�",
+          label: "寰呴殢璁�",
         },
         {
           value: 3,
@@ -859,9 +884,51 @@
     this.getList(1);
   },
   methods: {
-    /** 鏌ヨ闂ㄨ瘖闅忚鏈嶅姟鍒楄〃 */
+    /** 鏌ヨ褰卞儚闅忚鏈嶅姟鍒楄〃 */
     getList(refresh) {
       // 榛樿鍏ㄩ儴
+
+      // 鎺ュ彈寮傚父璺宠浆
+
+      this.loading = true;
+      getTaskservelist(this.topqueryParams).then((response) => {
+        this.userList = response.rows[0].serviceSubtaskList;
+        this.total = response.total;
+        if (refresh) {
+          this.cardlist[0].value =
+            Number(response.rows[0].wzx) + Number(response.rows[0].ysf);
+          this.cardlist[1].value = response.rows[0].wzx;
+          this.cardlist[2].value = response.rows[0].ysf;
+          this.ycvalue = response.rows[0].yc;
+          this.cardlist[3].value = response.rows[0].fssb;
+          this.cardlist[4].value = response.rows[0].dfs;
+          this.cardlist[5].value = response.rows[0].yfs2;
+          this.yfsvalue = response.rows[0].yfs;
+        }
+        this.loading = false;
+        this.userList.forEach((item) => {
+          let idArray = null;
+
+
+          if (item.preachform) {
+
+              item.preachformson = item.preachform;
+              idArray = item.preachform.split(",");
+
+            item.preachform = idArray.map((value) => {
+              // 鏌ユ壘id瀵瑰簲鐨勫璞�
+              const item = this.checkboxlist.find(
+                (item) => item.value == value
+              );
+              // 濡傛灉鎵惧埌瀵瑰簲鐨刬d锛岃繑鍥瀕abel鍊硷紝鍚﹀垯杩斿洖null
+              return item ? item.label : null;
+            });
+          }
+        });
+        this.total = response.total;
+      });
+    },
+    buidegetTasklist(type) {
       if (this.topqueryParams.searchscope == 3) {
         this.topqueryParams.leaveldeptcodes = store.getters.belongDepts.map(
           (obj) => obj.deptCode
@@ -882,6 +949,8 @@
       }else{
         this.topqueryParams.deptOrDistrict=1;
       }
+
+
       getTaskservelist(this.topqueryParams).then((response) => {
         this.userList = response.rows[0].serviceSubtaskList;
         this.total = response.total;
@@ -946,12 +1015,12 @@
         if (refresh) {
           this.cardlist[0].value =
             Number(response.rows[0].wzx) + Number(response.rows[0].ysf);
-          this.cardlist[1].value = response.rows[0].wzx;
-          this.cardlist[2].value = response.rows[0].ysf;
+          // this.cardlist[1].value = response.rows[0].wzx;
+          // this.cardlist[2].value = response.rows[0].ysf;
           this.ycvalue = response.rows[0].yc;
-          this.cardlist[3].value = response.rows[0].fssb;
-          this.cardlist[4].value = response.rows[0].dfs;
-          this.cardlist[5].value = response.rows[0].yfs2;
+          // this.cardlist[3].value = response.rows[0].fssb;
+          // this.cardlist[4].value = response.rows[0].dsf;
+          // this.cardlist[5].value = response.rows[0].yfs2;
           this.yfsvalue = response.rows[0].yfs;
         }
         this.loading = false;
@@ -980,7 +1049,7 @@
         this.total = response.total;
       });
     },
-    // 鏌ョ湅闂ㄨ瘖闅忚璇︽儏
+    // 鏌ョ湅褰卞儚闅忚璇︽儏
     Referencequestion(row) {
       this.previewVisible = true;
     },
@@ -998,7 +1067,7 @@
         this.options = [];
       }
     },
-    // 闂ㄨ瘖闅忚鐘舵�佷慨鏀�
+    // 褰卞儚闅忚鐘舵�佷慨鏀�
     handleStatusChange(row) {
       let text = row.status === "0" ? "鍚敤" : "鍋滅敤";
       this.$modal
@@ -1038,13 +1107,7 @@
     },
     /** 鎼滅储鎸夐挳鎿嶄綔 */
     handleQuery(refresh) {
-      if (this.topqueryParams.searchscope == 3) {
-        this.topqueryParams.leaveldeptcodes = store.getters.belongDepts.map(
-          (obj) => obj.deptCode
-        );
-        this.topqueryParams.leavehospitaldistrictcodes =
-          store.getters.belongWards.map((obj) => obj.districtCode);
-      }
+
       this.topqueryParams.pageNum = 1;
       this.topqueryParams.startOutHospTime = this.dateRange[0];
       this.topqueryParams.endOutHospTime = this.dateRange[1];
@@ -1055,20 +1118,9 @@
     handleChange(value) {
       let type = value[0];
       let code = value.slice(-1)[0];
-      this.topqueryParams.leavehospitaldistrictcodes = [];
-      this.topqueryParams.leaveldeptcodes = [];
 
-      if (type == 1) {
-        this.topqueryParams.leaveldeptcodes.push(code);
-        this.topqueryParams.leavehospitaldistrictcodes = [];
-        this.topqueryParams.searchscope = 1;
-      } else if (type == 2) {
-        this.topqueryParams.leavehospitaldistrictcodes.push(code);
-        this.topqueryParams.leaveldeptcodes = [];
-        this.topqueryParams.searchscope = 2;
-      } else {
-        this.topqueryParams.searchscope = 3;
-      }
+
+
     },
     /** 閲嶇疆鎸夐挳鎿嶄綔 */
     resetQuery() {
@@ -1113,7 +1165,7 @@
         path: "/followvisit/QuestionnaireTask",
         query: {
           type: 2,
-          serviceType: 1,
+          serviceType: 12,
         },
       });
     },
@@ -1247,7 +1299,7 @@
       this.topqueryParams.pageNum = null;
       this.topqueryParams.pageSize = null;
       this.download(
-        "smartor/serviceSubtask/export",
+        "smartor/serviceSubtask/patItemExport",
         {
           ...this.topqueryParams,
         },
diff --git a/src/views/patient/propaganda/Missioncreation.vue b/src/views/patient/propaganda/Missioncreation.vue
index 876fb54..2c5ed42 100644
--- a/src/views/patient/propaganda/Missioncreation.vue
+++ b/src/views/patient/propaganda/Missioncreation.vue
@@ -590,8 +590,9 @@
 
         <el-table :data="uploadingData" style="width: 100%">
           <el-table-column prop="serial" label="鎮h�卛d"> </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="name" label="濮撳悕"
+          width="100"> </el-table-column>
+          <el-table-column prop="sex" label="鎬у埆"width="100"> </el-table-column>
           <el-table-column prop="idcardno" width="300" label="璇佷欢鍙风爜"> </el-table-column>
           <el-table-column prop="goday" label="鍑虹敓鏃ユ湡"> </el-table-column>
           <el-table-column prop="telcode" width="200" label="鑱旂郴鏂瑰紡"> </el-table-column>
@@ -921,7 +922,7 @@
         templatename: "",
         templateid: null,
         libtemplateid: null,
-        kcb: "浜茬埍鐨勬偅鑰�-瀹跺睘锛屾偍濂斤紒鎴戜滑鏄禉涓尰澶т簩闄㈢殑鍖绘姢浜哄憳锛屼负浜嗘洿濂藉湴浜嗚В鎮ㄧ殑搴峰鎯呭喌锛岃鎮ㄦ娊涓�鐐瑰疂璐垫椂闂达紝瑙傜湅杩欎唤瀹f暀璧勮銆�",
+        kcb: "浜茬埍鐨勬偅鑰�-瀹跺睘锛屾垜浠槸"+localStorage.getItem("orgname")+"鐨勫尰鎶や汉鍛橈紝涓轰簡鏇村ソ鍦颁簡瑙f偍鐨勫悍澶嶆儏鍐碉紝璇锋偍鎶戒竴鐐瑰疂璐垫椂闂达紝瑙傜湅杩欎唤瀹f暀璧勮銆�",
         jsy: "鐢熸椿涓婅鍔抽�哥粨鍚堬紝娉ㄦ剰浼戞伅鍜岃惀鍏伙紝閫傚綋閿荤偧锛屾垝鐑熼檺閰掞紝淇濇寔蹇冩儏鑸掔晠锛屽畾鏈熷璇娿�傞偅鏈瀹f暀鍐呭灏卞埌杩欓噷锛岀鎮ㄨ韩浣撳仴搴凤紒",
       },
       taskoptions: [
@@ -1350,7 +1351,7 @@
         templateid: null,
         libtemplateid: null,
         serviceType: Number(this.$route.query.serviceType),
-        kcb: "浜茬埍鐨勬偅鑰�-瀹跺睘锛屾偍濂斤紒鎴戜滑鏄禉涓尰澶т簩闄㈢殑鍖绘姢浜哄憳锛屼负浜嗘洿濂藉湴浜嗚В鎮ㄧ殑搴峰鎯呭喌锛岃鎮ㄦ娊涓�鐐瑰疂璐垫椂闂达紝瀹屾垚杩欎唤闅忚闂嵎銆�",
+        kcb: "浜茬埍鐨勬偅鑰�-瀹跺睘锛屾垜浠槸"+localStorage.getItem("orgname")+"鐨勫尰鎶や汉鍛橈紝涓轰簡鏇村ソ鍦颁簡瑙f偍鐨勫悍澶嶆儏鍐碉紝璇锋偍鎶戒竴鐐瑰疂璐垫椂闂达紝瀹屾垚杩欎唤闅忚闂嵎銆�",
         jsy: "鐢熸椿涓婅鍔抽�哥粨鍚堬紝娉ㄦ剰浼戞伅鍜岃惀鍏伙紝閫傚綋閿荤偧锛屾垝鐑熼檺閰掞紝淇濇寔蹇冩儏鑸掔晠锛屽畾鏈熷璇娿�傞偅鏈鍥炶灏卞埌杩欓噷锛岀鎮ㄨ韩浣撳仴搴凤紒",
       };
 
diff --git a/src/views/patient/propaganda/Missionotice.vue b/src/views/patient/propaganda/Missionotice.vue
index 60a681c..a870188 100644
--- a/src/views/patient/propaganda/Missionotice.vue
+++ b/src/views/patient/propaganda/Missionotice.vue
@@ -136,6 +136,7 @@
         <el-table-column fixed label="搴忓彿" align="center" key="id" prop="id" />
         <el-table-column
           label="濮撳悕"
+          width="100"
           fixed
           align="center"
           key="sendname"
@@ -198,8 +199,8 @@
         <el-table-column
           label="灏辫瘖鏃堕棿"
           align="center"
-          key="visitTime"
-          prop="visitTime"
+          key="admitdate"
+          prop="admitdate"
           width="160"
         >
         </el-table-column>
@@ -452,6 +453,12 @@
     /** 鏌ヨ闂ㄨ瘖閫氱煡鍒楄〃 */
     getList() {
       this.loading = true;
+      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;
         this.total = response.total;
diff --git a/src/views/patient/propaganda/QuestionnaireTask.vue b/src/views/patient/propaganda/QuestionnaireTask.vue
index 7e6015b..651b294 100644
--- a/src/views/patient/propaganda/QuestionnaireTask.vue
+++ b/src/views/patient/propaganda/QuestionnaireTask.vue
@@ -196,7 +196,15 @@
                     </div>
                   </div>
                 </el-form-item>
-                <el-row>
+                <el-form-item label="浠诲姟鍏宠仈" prop="longTask">
+                  <el-radio-group v-model="form.appltype">
+                    <el-radio label="1">绉戝鍏宠仈</el-radio>
+                    <el-radio label="2">鐥呭尯鍏宠仈</el-radio>
+                    <el-radio label="3">鐤剧梾鍏宠仈</el-radio>
+                    <el-radio label="4">鎵嬫湳鍏宠仈</el-radio>
+                  </el-radio-group>
+                </el-form-item>
+                <el-row v-if="form.appltype == 1">
                   <el-col :span="20"
                     ><el-form-item label="閫傜敤绉戝" prop="region">
                       <el-select
@@ -211,7 +219,6 @@
                         <el-option
                           class="ruleFormaa"
                           v-for="item in belongDepts"
-                          :key="item.deptCode"
                           :label="item.deptName"
                           :value="item.deptCode"
                         >
@@ -219,7 +226,7 @@
                       </el-select> </el-form-item
                   ></el-col>
                 </el-row>
-                <el-row>
+                <el-row v-if="form.appltype == 2">
                   <el-col :span="20"
                     ><el-form-item label="閫傜敤鐥呭尯" prop="region">
                       <el-select
@@ -234,9 +241,88 @@
                         <el-option
                           class="ruleFormaa"
                           v-for="item in belongWards"
-                          :key="item.districtCode"
                           :label="item.districtName"
                           :value="item.districtCode"
+                        >
+                        </el-option>
+                      </el-select> </el-form-item
+                  ></el-col>
+                </el-row>
+                <el-row v-if="form.appltype == 3">
+                  <!-- <el-col :span="20"
+                    ><el-form-item label="閫傜敤鐤剧梾" prop="region">
+                      <el-select
+                        v-model="illnesscodes"
+                        style="width: 400px"
+                        @remove-tag="removediagg"
+                        size="medium"
+                        :remote-method="remotedonor"
+                        multiple
+                        filterable
+                        remote
+                        placeholder="璇烽�夋嫨鐥呭尯"
+                      >
+                        <el-option
+                          class="ruleFormaa"
+                          v-for="item in donorchargeList"
+                          :key="item.icdcode"
+                          :label="item.icdname"
+                          :value="item.icdcode"
+                        >
+                        </el-option>
+                      </el-select> </el-form-item
+                  ></el-col> -->
+                  <div class="xinz-infs">
+                    <el-form-item>
+                      <template #label>
+                        <el-tooltip
+                          class="item"
+                          effect="light"
+                          content="閫夋嫨濂介�傜敤鐤剧梾鍚庯紝鍙互鏂逛究鎮ㄩ�氳繃鐤剧梾璇婃柇鏌ユ壘鍒板搴旂殑鐥呬汉!"
+                          placement="top-start"
+                        >
+                          <i class="el-icon-warning-outline"></i>
+                        </el-tooltip>
+                      </template>
+                      <div style="margin-bottom: 10px">
+                        <el-button
+                          type="warning"
+                          @click="$refs.child.handleAddpatient()"
+                          >娣诲姞鐤剧梾璇婃柇</el-button
+                        >
+                      </div>
+                      <el-tag
+                        v-for="tag in diagglist"
+                        @close="removediagg(tag.icd10code)"
+                        type="warning"
+                        closable
+                        :disable-transitions="false"
+                      >
+                        {{ tag.icdname }}
+                      </el-tag>
+                      <!-- <el-tag v-if="hasMore" type="info">+{{ remaining }} more</el-tag> -->
+                    </el-form-item>
+                  </div>
+                </el-row>
+                <el-row v-if="form.appltype == 4">
+                  <el-col :span="20"
+                    ><el-form-item label="閫傜敤鎵嬫湳" prop="region">
+                      <el-select
+                        v-model="operationcodes"
+                        style="width: 400px"
+                        @remove-tag="removeopera"
+                        size="medium"
+                        :remote-method="remoteopcode"
+                        multiple
+                        filterable
+                        remote
+                        placeholder="璇烽�夋嫨鎵嬫湳"
+                      >
+                        <el-option
+                          class="ruleFormaa"
+                          v-for="item in baseoperaList"
+                          :label="item.opdesc"
+                          :value="item.opcode"
                         >
                         </el-option>
                       </el-select> </el-form-item
@@ -278,6 +364,10 @@
                       placeholder="璇风偣鍑诲彸渚ч�夋嫨"
                     />
                     <el-button
+                      v-if="
+                        (form.templateid && form.sendState == 1) ||
+                        !form.templateid
+                      "
                       style="margin-left: 10px"
                       type="primary"
                       icon="el-icon-edit"
@@ -286,7 +376,7 @@
                     ></el-button>
 
                     <el-button
-                      v-if="form.templatename"
+                      v-if="form.templateid"
                       type="success"
                       icon="el-icon-search"
                       @click="previewfnmb"
@@ -457,6 +547,12 @@
                   @keyup.enter.native="handleQuery"
                 ></el-input>
               </el-form-item>
+              <el-form-item label="鎮h�呰瘖鏂細">
+                <el-input
+                  v-model="patientqueryParams.leavediagname"
+                  @keyup.enter.native="handleQuery"
+                ></el-input>
+              </el-form-item>
               <el-select
                 v-model="patientqueryParams.searchscope"
                 placeholder="璇烽�夋嫨鎮h�呰寖鍥�"
@@ -489,7 +585,6 @@
             <!-- 閫夋嫨鎮h�呭垪琛� -->
             <SFtable
               ref="multipleTable"
-
               @handleSelectionChange="handleSelectionChange"
               :currentList="patientuserList"
               :tableLabel="tableLabelhz"
@@ -502,6 +597,8 @@
           <pagination
             v-show="patienttotal > 0 && this.patientqueryParams.allhosp != 6"
             :total="patienttotal"
+            :page.sync="patientqueryParams.pageNum"
+            :limit.sync="patientqueryParams.pageSize"
             @pagination="handleAddpatient"
           />
         </div>
@@ -588,31 +685,6 @@
                 </div>
               </el-form-item>
 
-              <div class="xinz-infs">
-                <el-form-item>
-                  <template #label>
-                    閫傜敤鐤剧梾
-                    <el-tooltip
-                      class="item"
-                      effect="light"
-                      content="閫夋嫨濂介�傜敤鐤剧梾鍚庯紝鍙互鏂逛究鎮ㄩ�氳繃鐤剧梾璇婃柇鏌ユ壘鍒板搴旂殑鐥呬汉!"
-                      placement="top-start"
-                    >
-                      <i class="el-icon-warning-outline"></i>
-                    </el-tooltip>
-                  </template>
-
-                  <el-tag
-                    v-for="tag in illnesslist"
-                    :key="tag.icdid"
-                    type="warning"
-                    :disable-transitions="false"
-                  >
-                    {{ tag.icdname }}
-                  </el-tag>
-                  <!-- <el-tag v-if="hasMore" type="info">+{{ remaining }} more</el-tag> -->
-                </el-form-item>
-              </div>
               <el-form-item label="闂嵎鎻忚堪" prop="description">
                 <el-input
                   type="textarea"
@@ -667,7 +739,7 @@
                   {{ item.sort }}銆乕澶氶�塢<span>{{ item.scriptContent }}</span>
                 </div>
                 <div class="dev-xx">
-                  <el-checkbox-group v-model="qremark">
+                  <el-checkbox-group v-model="item.qremark">
                     <el-checkbox
                       v-for="(items, index) in item.svyLibTemplateTargetoptions"
                       :key="index"
@@ -701,11 +773,26 @@
       </el-tabs>
 
       <span slot="footer" class="dialog-footer">
-        <!-- <el-button @click="previewGo">淇濆瓨妯℃澘璇︽儏淇敼</el-button> -->
+        <el-button @click="previewGo">淇濆瓨妯℃澘璇︽儏淇敼</el-button>
         <el-button type="primary" @click="Departmenttreatment"
           >淇濆瓨浣跨敤</el-button
         >
       </span>
+      <!-- <span slot="footer" class="dialog-footer">
+        <el-button
+          v-if="(form.templateid && form.sendState == 1) || !form.templateid"
+          type="primary"
+          @click="Departmenttreatment"
+          >{{ form.templateid ? "鏇挎崲浣跨敤" : "閫夋嫨浣跨敤" }}</el-button
+        >
+        <el-button
+          :type="previewtftype ? 'success' : 'warning'"
+          @click="previewGo"
+          >{{
+            previewtftype ? "鍓嶅線淇敼宸查�夋嫨妯℃澘" : "鏂板淇濆瓨骞跺墠寰�淇敼"
+          }}</el-button
+        >
+      </span> -->
     </el-dialog>
     <el-drawer
       title="闂嵎鍐呭鍒楄〃"
@@ -728,7 +815,10 @@
               label-width="98px"
             >
               <el-form-item label="闂嵎鍚嶇О">
-                <el-input v-model="topqueryParams.svyname"></el-input>
+                <el-input
+                  v-model="topqueryParams.svyname"
+                  @keyup.enter.native="handleQuerymb"
+                ></el-input>
               </el-form-item>
               <!-- <el-form-item label="閫傜敤褰㈠紡" prop="status">
                 <el-select v-model="topqueryParams.topica" placeholder="璇烽�夋嫨">
@@ -752,7 +842,7 @@
                 <el-button
                   icon="el-icon-refresh"
                   size="medium"
-                  @click="resetQuery"
+                  @click="resetQuerymb"
                   >閲嶇疆</el-button
                 >
               </el-form-item>
@@ -779,6 +869,13 @@
         </div>
       </div>
     </el-drawer>
+    <Optional-Form
+      ref="child"
+      :dialogVisiblepatient="dialogVisiblepatientjb"
+      :overallCase="diagglist"
+      @addoption="dialogVisiblepatientjb = false"
+      @kkoption="dialogVisiblepatientjb = true"
+    />
   </div>
 </template>
 
@@ -787,7 +884,10 @@
 import store from "@/store";
 import {
   getTaskpatientQC,
-  getlibrarylist,
+  taskoperhospgetsondel,
+  taskdiaghospgetsondel,
+  getillnesslist,
+  getbaseopera,
   Externallist,
   getQtemplatelist,
   getQtemplateobj,
@@ -799,13 +899,14 @@
   getillness,
   Editsingletask,
   getQtemplateclassify,
-  depthospgetsonlist,
   taskdepthospgetsondel,
   taskdepthospgetsonlist,
+  taskdiaggetlist,
+  taskopergetlist,
 } from "@/api/AiCentre/index";
-
+import OptionalForm from "@/components/OptionalForm"; //姝e垯缁勪欢
 import SFtable from "@/components/SFtable"; //琛ㄦ牸缁勪欢
-import {  MessageBox,  } from "element-ui";
+import { MessageBox } from "element-ui";
 
 export default {
   name: "ServiceDetails",
@@ -830,13 +931,19 @@
       previewtf: false, //棰勮
       loading: false, // 閬僵灞�
       patientloading: false, // 閬僵灞�
+      previewtftype: 0, //棰勮鎯呭喌0鏂版ā鏉块瑙�1宸查�夋嫨妯℃澘淇敼
       dialogVisiblepatient: false, //娣诲姞鎮h�呭脊妗�
+      dialogVisiblepatientjb: false, //娣诲姞鐤剧梾寮规
       deptcodesWards: [], //绉戝鏁版嵁
       leavehospitaldistrictcodes: [], //鐥呭尯鏁版嵁
+      operationcodes: [], //鎵嬫湳鏁版嵁
+      illnesscodes: [], //鐤剧梾鏁版嵁
       radio: 1,
       checkboxlist: [],
       tableLabel: [],
       questionList: [],
+      donorchargeList: [],
+      baseoperaList: [],
       usable: [
         { value: "0", label: "鍙敤" },
         { value: "1", label: "鍋滅敤" },
@@ -851,6 +958,7 @@
       tableLabelhz: [
         { label: "鍑洪櫌鏃ユ湡", width: "150", prop: "inhosptime" },
         { label: "鎮h��", width: "", prop: "name" },
+        { label: "鎮h�呰瘖鏂�", width: "", prop: "leavediagname" },
         { label: "韬唤璇�", width: "200", prop: "idcardno" },
         { label: "鎬у埆", width: "", prop: "sex" },
         { label: "骞撮緞", width: "", prop: "age" },
@@ -863,6 +971,7 @@
       tableLabelhzwb: [
         { label: "鍑洪櫌鏃ユ湡", width: "150", prop: "endtime" },
         { label: "鎮h��", width: "", prop: "name" },
+        { label: "鎮h�呰瘖鏂�", width: "", prop: "diagname" },
         { label: "韬唤璇�", width: "200", prop: "sfzh" },
         { label: "鎬у埆", width: "", prop: "sex" },
         { label: "骞撮緞", width: "", prop: "age" },
@@ -992,7 +1101,10 @@
         templatename: "",
         templateid: null,
         libtemplateid: null,
-        kcb: "浜茬埍鐨勬偅鑰�/瀹跺睘锛屾偍濂斤紒鎴戜滑鏄禉涓尰澶т簩闄㈢殑鍖绘姢浜哄憳锛屼负浜嗘洿濂藉湴浜嗚В鎮ㄧ殑搴峰鎯呭喌锛岃鎮ㄦ娊涓�鐐瑰疂璐垫椂闂达紝瑙傜湅杩欎唤瀹f暀璧勮銆�",
+        kcb:
+          "浜茬埍鐨勬偅鑰�/瀹跺睘锛屾垜浠槸" +
+          localStorage.getItem("orgname") +
+          "鐨勫尰鎶や汉鍛橈紝涓轰簡鏇村ソ鍦颁簡瑙f偍鐨勫悍澶嶆儏鍐碉紝璇锋偍鎶戒竴鐐瑰疂璐垫椂闂达紝瑙傜湅杩欎唤瀹f暀璧勮銆�",
         jsy: "璇锋偍娉ㄦ剰浼戞伅鍜岃惀鍏伙紝鐢熸椿涓婅鍔抽�哥粨鍚堬紝閫傚綋閿荤偧锛屾垝鐑熼檺閰掞紝淇濇寔蹇冩儏鑸掔晠锛屽畾鏈熷璇娿�傞偅鏈瀹f暀鍐呭灏卞埌杩欓噷锛岀鎮ㄨ韩浣撳仴搴凤紒",
       },
       taskoptions: [
@@ -1015,6 +1127,10 @@
         {
           value: "6",
           label: "闄㈠鎮h��",
+        },
+        {
+          value: "5",
+          label: "鎵嬫湳鐥呬汉",
         },
       ],
       source: [
@@ -1053,28 +1169,45 @@
           value: 5,
           label: "澶嶈瘖绠$悊",
         },
-        {
-          value: 6,
-          label: "婊℃剰搴﹁皟鏌�",
-        },
+        // {
+        //   value: 5,
+        //   label: "婊℃剰搴﹁皟鏌�",
+        // },
         {
           value: 7,
-          label: "鎮h�呮棩甯告姤鍛�",
+          label: "鎮h�呮姤鍛�",
         },
+        // {
+        //   value: 8,
+        //   label: "鍏朵粬閫氱煡",
+        // },
         {
           value: 9,
-          label: "鎮h�呭紓甯告姤鍛�",
+          label: "浣撴闅忚",
         },
-
+        // {
+        //   value: 1",
+        //   label: "鍖绘妧闅忚",
+        // },
         {
-          value: 8,
-          label: "鍏朵粬閫氱煡",
+          value: 11,
+          label: "褰卞儚闅忚",
         },
+        {
+          value: 12,
+          label: "蹇冪數闅忚",
+        },
+        // {
+        //   value: "13",
+        //   label: "涓撶梾闅忚",
+        // },
       ],
       // 绉戝/鐥呭尯
       belongWards: [],
       deptlist: [],
       hosplist: [],
+      diagglist: [],
+      operlist: [],
       tempDetpRelevanceslist: [], //绉戝鏁版嵁
       tempDetpRelevanceslistform: [], //绉戝鏁版嵁
       tempbelongWards: [], //鐥呭尯鏁版嵁
@@ -1099,14 +1232,14 @@
         //   { required: true, message: "閫傜敤鐥呭尯涓嶈兘涓虹┖", trigger: "blur" },
         // ],
       },
-      belongDepts:[],
+      belongDepts: [],
       // 绉戝闄㈠尯鏌ヨ鍏ュ弬
       queryParamsdept: {},
       quote: false,
       serviceType: null,
     };
   },
-  components: { SFtable },
+  components: { SFtable, OptionalForm },
 
   created() {
     this.appraiselist = store.getters.appraiselist;
@@ -1120,6 +1253,7 @@
     this.serviceType = Number(this.$route.query.serviceType);
     this.form.serviceType = Number(this.$route.query.serviceType);
     this.Acquisitiontype();
+    this.getillnesslist();
     this.Getdetails();
     this.getQtemplateclassify();
   },
@@ -1130,13 +1264,21 @@
       this.getQtemplateclassify();
     }
   },
-
+  computed: {
+    displayedTags() {
+      // 杩斿洖鍓�10涓猼ag
+      return this.illnesslist.slice(0, 10);
+    },
+    hasMore() {
+      // 鍒ゆ柇鏄惁鏈夋洿澶氱殑tag
+      return this.illnesslist.length > 10;
+    },
+    remaining() {
+      // 璁$畻鍓╀綑鐨則ag鏁伴噺
+      return this.illnesslist.length - 10;
+    },
+  },
   methods: {
-    // {
-    //   濮撳悕: { "${name}": "榫欏偛澶�" },
-    //   鍦板潃: { "${dzz}": "榫欏" },
-    //   鐢佃瘽: { "${dhh}": "鍏釜鍏�" },
-    // }
     // 鍙橀噺杞崲瀵硅薄杞暟缁�
     convertFormat1ToFormat2(data) {
       let result = [];
@@ -1215,7 +1357,15 @@
           //   label: "鏅鸿兘鏈哄櫒浜�",
           // },
         ];
-      } else if (this.form.serviceType == 7 || this.form.serviceType == 9) {
+      } else if (
+        this.form.serviceType == 7 ||
+        this.form.serviceType == 10 ||
+        this.form.serviceType == 11 ||
+        this.form.serviceType == 8 ||
+        this.form.serviceType == 12 ||
+        this.form.serviceType == 13 ||
+        this.form.serviceType == 9
+      ) {
         this.checkboxlist = [
           {
             value: "1",
@@ -1240,6 +1390,10 @@
           {
             value: "6",
             label: "寰俊灏忕▼搴�",
+          },
+          {
+            value: "7",
+            label: "鏈悗闅忚",
           },
         ];
       } else if (
@@ -1303,15 +1457,40 @@
           xh: 1,
         },
       ];
+      if (this.form.appltype == 1) {
+        this.leavehospitaldistrictcodes = [];
+        this.operationcodes = [];
+        this.illnesscodes = [];
+      } else if (this.form.appltype == 2) {
+        this.deptcodesWards = [];
+        this.operationcodes = [];
+        this.illnesscodes = [];
+      } else if (this.form.appltype == 3) {
+        this.deptcodesWards = [];
+        this.leavehospitaldistrictcodes = [];
+        this.operationcodes = [];
+      } else if (this.form.appltype == 4) {
+        this.deptcodesWards = [];
+        this.illnesscodes = [];
+        this.leavehospitaldistrictcodes = [];
+      }
       if (this.checkList) {
         this.form.preachform = this.checkList;
       } else {
         this.$modal.msgError("璇烽�夋嫨鏈嶅姟绫诲瀷");
         return;
       }
-      if (this.deptcodesWards[0]||this.leavehospitaldistrictcodes[0]) {
+      console.log(this.operationcodes[0]);
+      console.log(this.operationcodes);
+
+      if (
+        this.deptcodesWards[0] ||
+        this.leavehospitaldistrictcodes[0] ||
+        this.diagglist[0] ||
+        this.operationcodes[0]
+      ) {
       } else {
-        this.$modal.msgError("璇烽�夋嫨绉戝鎴栫梾鍖�");
+        this.$modal.msgError("璇烽�夋嫨浠诲姟鍏宠仈鏉′欢");
         return;
       }
 
@@ -1350,7 +1529,10 @@
       this.form.deptcode = this.deptcodesWards.join(",");
       this.form.leavehospitaldistrictcode =
         this.leavehospitaldistrictcodes.join(",");
-
+      this.form.opcode = this.operationcodes.join(",");
+      this.form.icd10code = this.diagglist
+        .map((item) => item.icdcode)
+        .join(",");
       Editsingletask(this.form).then((res) => {
         if (res.code == 200) {
           if (this.form.taskid) {
@@ -1385,11 +1567,13 @@
             this.tempbelongWards = [];
             this.objyl.suitway = this.objyl.suitway.split(",");
             this.questionList = res.rows[0].svyTemplateLibScripts;
+            this.questionList.forEach((item) => {
+              item.qremark = [];
+            });
             this.getillness(row.svyid);
             this.previewtf = true;
           }
         });
-        console.log(row.svyTemplateLibScripts);
         this.previewid = row.svyid;
         this.Variablehandling(row.svyTemplateLibScripts, 1);
       } else if (type == 2) {
@@ -1411,6 +1595,10 @@
           getQtemplateobj({ svyid: this.form.libtemplateid }).then((res) => {
             if (res.code == 200) {
               this.questionList = res.rows[0].svyTemplateLibScripts;
+              this.questionList.forEach((item) => {
+                item.qremark = [];
+              });
+              this.previewtftype = 1;
               this.objyl.svyTemplateLibScripts =
                 res.rows[0].svyTemplateLibScripts;
             }
@@ -1425,6 +1613,44 @@
           this.illnesslist.forEach((item) => {
             item.icdname = item.icd10name;
           });
+        });
+      }
+    },
+    getillnesslist() {
+      getillnesslist({
+        pageNum: 1,
+        pageSize: 1000,
+      }).then((res) => {
+        this.donorchargeList = res.rows;
+      });
+      getbaseopera({
+        pageNum: 1,
+        pageSize: 1000,
+      }).then((res) => {
+        this.baseoperaList = res.rows;
+      });
+    },
+    // 鎵嬫湳鏌ヨ
+    remoteopcode(name) {
+      if (name) {
+        getbaseopera({
+          pageNum: 1,
+          pageSize: 1000,
+          opdesc: name,
+        }).then((res) => {
+          this.baseoperaList = res.rows;
+        });
+      }
+    },
+    // 鐤剧梾鏌ヨ
+    remotedonor(name) {
+      if (name) {
+        getbaseopera({
+          pageNum: 1,
+          pageSize: 1000,
+          opdesc: name,
+        }).then((res) => {
+          this.baseoperaList = res.rows;
         });
       }
     },
@@ -1470,6 +1696,7 @@
           // { label: "鍏ラ櫌鏃ユ湡", width: "170", prop: "starttime" },
           { label: "鍑洪櫌鏃ユ湡", width: "150", prop: "endtime" },
           { label: "鎮h��", width: "", prop: "name" },
+          { label: "鎮h�呰瘖鏂�", width: "", prop: "leavediagname" },
           { label: "韬唤璇�", width: "200", prop: "idcardno" },
           { label: "鎬у埆", width: "", prop: "sex" },
           { label: "骞撮緞", width: "", prop: "age" },
@@ -1483,6 +1710,7 @@
         this.tableLabelhz = [
           { label: "鍏ラ櫌鏃ユ湡", width: "150", prop: "starttime" },
           { label: "鎮h��", width: "", prop: "name" },
+          { label: "鎮h�呰瘖鏂�", width: "", prop: "leavediagname" },
           { label: "韬唤璇�", width: "200", prop: "idcardno" },
           { label: "鎬у埆", width: "", prop: "sex" },
           { label: "骞撮緞", width: "", prop: "age" },
@@ -1555,9 +1783,10 @@
           item.deptCode = item.deptcode;
           item.deptName = item.dept;
           item.admindate = item.inhosptime;
+          item.diagname = item.leavediagname;
           item.sfzh = item.idcardno;
-          if (this.patientqueryParams.allhosp==6) {
-          item.patfrom = 1;
+          if (this.patientqueryParams.allhosp == 6) {
+            item.patfrom = 1;
           }
           this.overallCase.push(item);
           this.form.patTaskRelevances.push(item);
@@ -1664,7 +1893,20 @@
       });
     },
 
-    resetQuery() {},
+    resetQuerymb() {
+      this.topqueryParams = { svyname: "" };
+      this.handleQuerymb();
+    },
+    resetQuery() {
+      this.patientqueryParams = {
+        pageNum: 1, //
+        pageSize: 10,
+        topica: 1, //0鍏ㄩ儴1绉戝2鐥呭尯
+        leavehospitaldistrictcodes: [],
+        leaveldeptcodes: [],
+      };
+      this.handleQuery();
+    },
     handleQuerymb() {
       getQtemplatelist(this.topqueryParams).then((response) => {
         this.userList = response.rows;
@@ -1696,7 +1938,10 @@
         templatename: "",
         templateid: null,
         libtemplateid: null,
-        kcb: "浜茬埍鐨勬偅鑰�/瀹跺睘锛屾偍濂斤紒鎴戜滑鏄禉涓尰澶т簩闄㈢殑鍖绘姢浜哄憳锛屼负浜嗘洿濂藉湴浜嗚В鎮ㄧ殑搴峰鎯呭喌锛岃鎮ㄦ娊涓�鐐瑰疂璐垫椂闂达紝瀹屾垚杩欎唤闅忚闂嵎銆�",
+        kcb:
+          "浜茬埍鐨勬偅鑰�/瀹跺睘锛屾垜浠槸" +
+          localStorage.getItem("orgname") +
+          "鐨勫尰鎶や汉鍛橈紝涓轰簡鏇村ソ鍦颁簡瑙f偍鐨勫悍澶嶆儏鍐碉紝璇锋偍鎶戒竴鐐瑰疂璐垫椂闂达紝瀹屾垚杩欎唤闅忚闂嵎銆�",
         jsy: "璇锋偍娉ㄦ剰浼戞伅鍜岃惀鍏伙紝鐢熸椿涓婅鍔抽�哥粨鍚堬紝閫傚綋閿荤偧锛屾垝鐑熼檺閰掞紝淇濇寔蹇冩儏鑸掔晠锛屽畾鏈熷璇娿�傞偅鏈鍥炶灏卞埌杩欓噷锛岀鎮ㄨ韩浣撳仴搴凤紒",
       };
 
@@ -1761,7 +2006,7 @@
       this.time3 = ""; //鏅氫笂鏃堕棿娈�
       this.time4 = ""; //鏅氫笂鏃堕棿娈�
     },
-    // 鑾峰彇浠诲姟绉戝鍒楄〃
+    // 鑾峰彇鍚勭被
     listDept() {
       this.leavehospitaldistrictcodes = [];
       this.deptcodesWards = [];
@@ -1780,6 +2025,29 @@
           });
         }
       });
+      taskdiaggetlist(this.queryParamsdept).then((res) => {
+        if (res.code == 200) {
+          let arr = res.rows;
+          arr.forEach((item) => {
+            getillnesslist({
+              icdcode: item.icd10code,
+            }).then((res) => {
+              item.icdname = res.rows[0].icdname;
+              this.diagglist.push(item);
+            });
+            this.illnesscodes.push(item.icd10code);
+          });
+        }
+      });
+      taskopergetlist(this.queryParamsdept).then((res) => {
+        if (res.code == 200) {
+          let arr = res.rows;
+          arr.forEach((item) => {
+            this.operlist.push(item);
+            this.operationcodes.push(item.opcode);
+          });
+        }
+      });
     },
     // 浠诲姟绉戝鍒犻櫎瑙﹀彂
     removetag(row) {
@@ -1790,6 +2058,7 @@
       if (result.length) {
         taskdepthospgetsondel(result).then((res) => {
           if (res.code) {
+            this.$modal.msgSuccess("鍒犻櫎鎴愬姛");
           }
         });
       }
@@ -1802,10 +2071,41 @@
       if (result.length) {
         taskdepthospgetsondel(result).then((res) => {
           if (res.code) {
+            this.$modal.msgSuccess("鍒犻櫎鎴愬姛");
           }
         });
       }
     },
+    // 鎵嬫湳鍒犻櫎瑙﹀彂
+    removeopera(row) {
+      let result = this.operlist
+        .filter((item) => item.opcode == row)
+        .map((item) => item.id);
+      if (result.length) {
+        taskoperhospgetsondel(result).then((res) => {
+          if (res.code) {
+            this.$modal.msgSuccess("鍒犻櫎鎴愬姛");
+          }
+        });
+      }
+    },
+    // 鐤剧梾鍒犻櫎瑙﹀彂
+    removediagg(row) {
+      let result = this.diagglist
+        .filter((item) => item.icd10code == row)
+        .map((item) => item.id);
+      if (result.length) {
+        taskdiaghospgetsondel(result).then((res) => {
+          if (res.code) {
+            this.diagglist = this.diagglist.filter(
+              (item) => item.icd10code != row
+            );
+            this.$modal.msgSuccess("鍒犻櫎鎴愬姛");
+          }
+        });
+      }
+    },
+
     getQtemplateclassify() {
       getQtemplateclassify({}).then((res) => {
         this.optionsclass = res.rows;
@@ -1897,9 +2197,13 @@
     },
     // 鏌ョ湅妯℃澘
     previewGo() {
-      this.$router.push({
-        path: "/knowledge/tpuconfigurat/",
-        query: { id: this.previewid, task: true, data: this.form },
+      this.$modal.confirm("鏄惁鍓嶅線淇敼浠诲姟妯℃澘璇︾粏鍐呭锛�").then(() => {
+        this.drawermb = false; //閫夋嫨妯℃澘寮圭獥
+        this.previewtf = false; //棰勮
+        this.$router.push({
+          path: "/knowledge/tpuconfigurat/",
+          query: { id: this.previewid, task: true, data: this.form },
+        });
       });
     },
     // 淇濆瓨/鏇存柊浠诲姟妯℃澘
@@ -1962,10 +2266,10 @@
       if (!this.form.taskid) {
         this.templateor = true;
         MessageBox.confirm(
-          "褰撳墠涓烘柊澧炰换鍔℃湭淇濆瓨涓嶅彲鍏宠仈妯℃澘锛屾槸鍚﹀厛淇濆瓨浠诲姟锛�",
+          "褰撳墠涓烘柊澧炰换鍔℃湭淇濆瓨涓嶅彲鍏宠仈妯℃澘锛屾槸鍚﹀厛鏆傚瓨妯℃澘淇濆瓨浠诲姟鍚庣敓鏁堬紵",
           "鍔熻兘鎻愮ず",
           {
-            confirmButtonText: "淇濆瓨浠诲姟",
+            confirmButtonText: "鏆傚瓨妯℃澘",
             cancelButtonText: "鍙栨秷",
             type: "warning",
           }
@@ -1977,11 +2281,18 @@
             this.objyl.templateid = this.objyl.svyid;
             this.form.libtemplateid = this.objyl.svyid;
             this.objyl.isoperation = 1;
-            this.objyl.svyTaskTemplateScriptVOS = this.objyl.svyTemplateLibScripts;
-            this.form.svyTaskTemplateVO=this.objyl;
-            this.submitForm();
+            this.objyl.svyTaskTemplateScriptVOS =
+              this.objyl.svyTemplateLibScripts;
+            this.form.svyTaskTemplateVO = this.objyl;
+            this.form.templatename = this.objyl.svyname;
+            this.$modal.msgSuccess("鏆傚瓨鎴愬姛淇濆瓨浠诲姟鍚庢ā鏉垮け鏁�");
+            this.drawermb = false;
+            this.previewtf = false;
           })
-          .catch(() => {});
+          .catch(() => {
+            this.drawermb = false;
+            this.previewtf = false;
+          });
       } else {
         setTimeout(() => {
           this.previewFn();
diff --git a/src/views/patient/propaganda/index.vue b/src/views/patient/propaganda/index.vue
index 51964e9..0c3b321 100644
--- a/src/views/patient/propaganda/index.vue
+++ b/src/views/patient/propaganda/index.vue
@@ -51,6 +51,15 @@
             </el-option>
           </el-select>
         </el-form-item>
+        <el-form-item label="鎮h�呰寖鍥�" prop="status">
+          <el-cascader
+            v-model="topqueryParams.scopetype"
+            placeholder="榛樿鍏ㄩ儴"
+            :options="sourcetype"
+            :props="{ expandTrigger: 'hover' }"
+            @change="handleChange"
+          ></el-cascader>
+        </el-form-item>
 
         <el-form-item label="瀹f暀鐘舵��" prop="status">
           <el-select v-model="topqueryParams.sendstate" placeholder="璇烽�夋嫨">
@@ -108,7 +117,6 @@
                 icon="el-icon-upload2"
                 size="medium"
                 @click="handleExport"
-                v-hasPermi="['system:user:export']"
                 >瀵煎嚭</el-button
               >
             </div>
@@ -149,7 +157,6 @@
         height="560"
         @selection-change="handleSelectionChange"
       >
-        <el-table-column type="selection" width="50" align="center" />
         <el-table-column
           label="浠诲姟鍚嶇О"
           fixed
@@ -161,6 +168,7 @@
         <!-- <el-table-column label="搴忓彿" fixed align="center" key="id" prop="id" /> -->
         <el-table-column
           label="濮撳悕"
+          width="100"
           fixed
           align="center"
           key="sendname"
@@ -181,7 +189,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">
@@ -267,9 +275,7 @@
           prop="endDay"
         >
           <template slot-scope="scope">
-            <span>{{
-              scope.row.endDay ? scope.row.endDay + "澶�" : ""
-            }}</span>
+            <span>{{ scope.row.endDay ? scope.row.endDay + "澶�" : "" }}</span>
           </template>
         </el-table-column>
         <el-table-column
@@ -294,7 +300,6 @@
           prop="drname"
         />
 
-
         <!-- <el-table-column
           label="鐥呭巻鍙�"
           align="center"
@@ -305,7 +310,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="绉戝"
@@ -367,20 +372,28 @@
           </template>
         </el-table-column> -->
         <el-table-column
-        fixed="right"
+          fixed="right"
           label="浠诲姟缁撴灉璁板綍"
           width="120"
           align="center"
           key="remark"
           prop="remark"
         >
-        <template slot-scope="scope" v-if="scope.row.remark">
-          <el-tag type="success" v-if="scope.row.sendstate!=5&&scope.row.sendstate!=4&&scope.row.remark">{{ scope.row.remark }}</el-tag>
-          <el-tag type="warning" v-else>{{ scope.row.remark }}</el-tag>
-        </template>
-      </el-table-column>
+          <template slot-scope="scope" v-if="scope.row.remark">
+            <el-tag
+              type="success"
+              v-if="
+                scope.row.sendstate != 5 &&
+                scope.row.sendstate != 4 &&
+                scope.row.remark
+              "
+              >{{ scope.row.remark }}</el-tag
+            >
+            <el-tag type="warning" v-else>{{ scope.row.remark }}</el-tag>
+          </template>
+        </el-table-column>
         <el-table-column
-        fixed="right"
+          fixed="right"
           label="瀹f暀鏃堕棿"
           sortable
           align="center"
@@ -598,6 +611,22 @@
       ruleForm: {
         type: [],
       },
+      sourcetype: [
+        {
+          value: 1,
+          label: "绉戝",
+          children: [],
+        },
+        {
+          value: 2,
+          label: "鐥呭尯",
+          children: [],
+        },
+        {
+          value: 3,
+          label: "鍏ㄩ儴",
+        },
+      ],
       dynamicTags: ["閫夐」涓�", "閫夐」浜�", "閫夐」涓�"], //閫夐」
       inputVisible: false,
       inputValue: "",
@@ -724,6 +753,7 @@
         pageSize: 10,
         serviceType: 4,
         searchscope: 2,
+        sendstate: 2,
       },
       propss: { multiple: true },
       options: [],
@@ -735,7 +765,7 @@
         },
         {
           value: 2,
-          label: "寰呮墽琛�",
+          label: "寰呴殢璁�",
         },
         {
           value: 3,
@@ -772,6 +802,19 @@
   watch: {},
   created() {
     this.serviceState = store.getters.serviceState;
+    this.sourcetype[0].children = store.getters.belongDepts.map((dept) => {
+      return {
+        label: dept.deptName,
+        value: dept.deptCode,
+      };
+    });
+    this.sourcetype[1].children = store.getters.belongWards.map((dept) => {
+      return {
+        label: dept.districtName,
+        value: dept.districtCode,
+      };
+    });
+
     this.getList();
     this.getConfigKey("sys.user.initPassword").then((response) => {
       this.initPassword = response.msg;
@@ -789,16 +832,7 @@
   methods: {
     /** 鏌ヨ闂ㄨ瘖瀹f暀鏈嶅姟鍒楄〃 */
     getList() {
-      if (this.topqueryParams.searchscope == 1) {
-        this.topqueryParams.leaveldeptcodes = store.getters.belongDepts.map(
-          (obj) => obj.deptCode
-        );
-        this.topqueryParams.leavehospitaldistrictcodes = null;
-      } else if (this.topqueryParams.searchscope == 2) {
-        this.topqueryParams.leavehospitaldistrictcodes =
-          store.getters.belongWards.map((obj) => obj.districtCode);
-        this.topqueryParams.leaveldeptcodes = null;
-      } else {
+       if (this.topqueryParams.searchscope == 3) {
         this.topqueryParams.leaveldeptcodes = store.getters.belongDepts.map(
           (obj) => obj.deptCode
         );
@@ -839,6 +873,24 @@
         }, 200);
       } else {
         this.options = [];
+      }
+    },
+    // 鎮h�呰寖鍥村鐞�
+    handleChange(value) {
+      let type = value[0];
+      let code = value.slice(-1)[0];
+      this.topqueryParams.leavehospitaldistrictcodes = [];
+      this.topqueryParams.leaveldeptcodes = [];
+      if (type == 1) {
+        this.topqueryParams.leaveldeptcodes.push(code);
+        this.topqueryParams.leavehospitaldistrictcodes = [];
+        this.topqueryParams.searchscope = 1;
+      } else if (type == 2) {
+        this.topqueryParams.leavehospitaldistrictcodes.push(code);
+        this.topqueryParams.leaveldeptcodes = [];
+        this.topqueryParams.searchscope = 2;
+      } else {
+        this.topqueryParams.searchscope = 3;
       }
     },
     // 闂ㄨ瘖瀹f暀鐘舵�佷慨鏀�
@@ -910,6 +962,7 @@
         pageNum: 1,
         pageSize: 10,
         serviceType: 4,
+        sendstate: 2,
       };
       this.handleQuery();
     },
@@ -1016,7 +1069,7 @@
     /** 瀵煎嚭鎸夐挳鎿嶄綔 */
     handleExport() {
       this.download(
-        "system/user/export",
+        "smartor/serviceSubtask/patItemExport",
         {
           ...this.topqueryParams,
         },
diff --git a/src/views/patient/propaganda/particty.vue b/src/views/patient/propaganda/particty.vue
index fc43508..69c24a5 100644
--- a/src/views/patient/propaganda/particty.vue
+++ b/src/views/patient/propaganda/particty.vue
@@ -214,7 +214,15 @@
                     </div>
                   </div>
                 </el-form-item>
-                <el-row>
+                <el-form-item label="浠诲姟鍏宠仈" prop="longTask">
+                  <el-radio-group v-model="form.appltype">
+                    <el-radio label="1">绉戝鍏宠仈</el-radio>
+                    <el-radio label="2">鐥呭尯鍏宠仈</el-radio>
+                    <el-radio label="3">鐤剧梾鍏宠仈</el-radio>
+                    <el-radio label="4">鎵嬫湳鍏宠仈</el-radio>
+                  </el-radio-group>
+                </el-form-item>
+                <el-row v-if="form.appltype == 1">
                   <el-col :span="20"
                     ><el-form-item label="閫傜敤绉戝" prop="region">
                       <el-select
@@ -222,8 +230,8 @@
                         @remove-tag="removetag"
                         style="width: 400px"
                         size="medium"
-                        filterable
                         multiple
+                        filterable
                         placeholder="璇烽�夋嫨绉戝"
                       >
                         <el-option
@@ -237,7 +245,7 @@
                       </el-select> </el-form-item
                   ></el-col>
                 </el-row>
-                <el-row>
+                <el-row v-if="form.appltype == 2">
                   <el-col :span="20"
                     ><el-form-item label="閫傜敤鐥呭尯" prop="region">
                       <el-select
@@ -245,8 +253,8 @@
                         style="width: 400px"
                         @remove-tag="removehpsp"
                         size="medium"
-                        filterable
                         multiple
+                        filterable
                         placeholder="璇烽�夋嫨鐥呭尯"
                       >
                         <el-option
@@ -255,6 +263,65 @@
                           :key="item.districtCode"
                           :label="item.districtName"
                           :value="item.districtCode"
+                        >
+                        </el-option>
+                      </el-select> </el-form-item
+                  ></el-col>
+                </el-row>
+                <el-row v-if="form.appltype == 3">
+                  <div class="xinz-infs">
+                    <el-form-item>
+                      <template #label>
+                        <el-tooltip
+                          class="item"
+                          effect="light"
+                          content="閫夋嫨濂介�傜敤鐤剧梾鍚庯紝鍙互鏂逛究鎮ㄩ�氳繃鐤剧梾璇婃柇鏌ユ壘鍒板搴旂殑鐥呬汉!"
+                          placement="top-start"
+                        >
+                          <i class="el-icon-warning-outline"></i>
+                        </el-tooltip>
+                      </template>
+                      <div style="margin-bottom: 10px">
+                        <el-button
+                          type="warning"
+                          @click="$refs.child.handleAddpatient()"
+                          >娣诲姞鐤剧梾璇婃柇</el-button
+                        >
+                      </div>
+                      <el-tag
+                        v-for="tag in diagglist"
+                        :key="tag.icdcode"
+                        @close="removediagg(tag.icd10code)"
+                        type="warning"
+                        closable
+                        :disable-transitions="false"
+                      >
+                        {{ tag.icdname }}
+                      </el-tag>
+                      <!-- <el-tag v-if="hasMore" type="info">+{{ remaining }} more</el-tag> -->
+                    </el-form-item>
+                  </div>
+                </el-row>
+                <el-row v-if="form.appltype == 4">
+                  <el-col :span="20"
+                    ><el-form-item label="閫傜敤鎵嬫湳" prop="region">
+                      <el-select
+                        v-model="operationcodes"
+                        style="width: 400px"
+                        @remove-tag="removeopera"
+                        :remote-method="remoteopcode"
+                        size="medium"
+                        multiple
+                        filterable
+                        remote
+                        placeholder="璇烽�夋嫨鎵嬫湳"
+                      >
+                        <el-option
+                          class="ruleFormaa"
+                          v-for="item in baseoperaList"
+                          :key="item.icdcode"
+                          :label="item.icdname"
+                          :value="item.icdcode"
                         >
                         </el-option>
                       </el-select> </el-form-item
@@ -308,7 +375,7 @@
                     ></el-button>
 
                     <el-button
-                      v-if="form.templatename"
+                      v-if="form.templateid"
                       type="success"
                       icon="el-icon-search"
                       @click="previewfnmb()"
@@ -473,6 +540,12 @@
               v-show="showSearch"
               label-width="98px"
             >
+              <el-form-item label="涓绘不鍖荤敓锛�">
+                <el-input
+                  v-model="patientqueryParams.drname"
+                  @keyup.enter.native="handleQuery"
+                ></el-input>
+              </el-form-item>
               <el-form-item label="鎮h�咃細">
                 <el-input
                   v-model="patientqueryParams.name"
@@ -719,13 +792,13 @@
           @click="Departmenttreatment"
           >{{ form.templateid ? "鏇挎崲浣跨敤" : "閫夋嫨浣跨敤" }}</el-button
         >
-        <!-- <el-button
+        <el-button
           :type="previewtftype ? 'success' : 'warning'"
           @click="Modifytemplate"
           >{{
             previewtftype ? "鍓嶅線淇敼宸查�夋嫨妯℃澘" : "鏂板淇濆瓨骞跺墠寰�淇敼"
           }}</el-button
-        > -->
+        >
       </span>
     </el-dialog>
     <el-drawer
@@ -800,6 +873,13 @@
         </div>
       </div>
     </el-drawer>
+    <Optional-Form
+      ref="child"
+      :dialogVisiblepatient="dialogVisiblepatientjb"
+      :overallCase="diagglist"
+      @addoption="dialogVisiblepatientjb = false"
+      @kkoption="dialogVisiblepatientjb = true"
+    />
   </div>
 </template>
 
@@ -808,7 +888,8 @@
 import store from "@/store";
 import {
   getTaskpatient,
-  getlibrarylist,
+  getillnesslist,
+  getbaseopera,
   getFollowuplist,
   getvFollowup,
   Taskparticty,
@@ -821,9 +902,13 @@
   getFollowupclassify,
   taskdepthospgetsonlist,
   taskdepthospgetsondel,
-  depthospgetsonlist,
+  taskoperhospgetsondel,
+  taskdiaghospgetsondel,
+  taskdiaggetlist,
+  taskopergetlist,
 } from "@/api/AiCentre/index";
 import { deptTreeSelect } from "@/api/system/user";
+import OptionalForm from "@/components/OptionalForm";
 import { MessageBox } from "element-ui";
 
 import SFtable from "@/components/SFtable"; //琛ㄦ牸缁勪欢
@@ -854,13 +939,18 @@
       loading: false, // 閬僵灞�
       patientloading: false, // 閬僵灞�
       dialogVisiblepatient: false, //娣诲姞鎮h�呭脊妗�
+      dialogVisiblepatientjb: false,
       deptcodesWards: [], //绉戝鏁版嵁
       leavehospitaldistrictcodes: [], //鐥呭尯鏁版嵁
+      operationcodes: [], //鎵嬫湳鏁版嵁
+      illnesscodes: [], //鐤剧梾鏁版嵁
       radio: 1,
       checkboxlist: [],
       tableLabel: [],
       questionList: [],
       skip: false,
+      donorchargeList: [],
+      baseoperaList: [],
       usable: [
         { value: "0", label: "鍙敤" },
         { value: "1", label: "鍋滅敤" },
@@ -1024,7 +1114,10 @@
         templatename: "",
         templateid: null,
         libtemplateid: null,
-        kcb: "浜茬埍鐨勬偅鑰�/瀹跺睘锛屾偍濂斤紒鎴戜滑鏄禉涓尰澶т簩闄㈢殑鍖绘姢浜哄憳锛屼负浜嗘洿濂藉湴浜嗚В鎮ㄧ殑搴峰鎯呭喌锛岃鎮ㄦ娊涓�鐐瑰疂璐垫椂闂达紝杩涜鏈鍥炶鏈嶅姟銆�",
+        kcb:
+          "浜茬埍鐨勬偅鑰�/瀹跺睘锛屾偍濂斤紒鎴戜滑鏄�" +
+          localStorage.getItem("orgname") +
+          "鐨勫尰鎶や汉鍛橈紝涓轰簡鏇村ソ鍦颁簡瑙f偍鐨勫悍澶嶆儏鍐碉紝璇锋偍鎶戒竴鐐瑰疂璐垫椂闂达紝杩涜鏈鍥炶鏈嶅姟銆�",
         jsy: "璇锋偍娉ㄦ剰浼戞伅鍜岃惀鍏伙紝鐢熸椿涓婅鍔抽�哥粨鍚堬紝閫傚綋閿荤偧锛屾垝鐑熼檺閰掞紝淇濇寔蹇冩儏鑸掔晠锛屽畾鏈熷璇娿�傞偅鏈鍥炶鍐呭灏卞埌杩欓噷锛岀鎮ㄨ韩浣撳仴搴凤紒",
       },
       taskoptions: [
@@ -1044,6 +1137,10 @@
           value: "3",
           label: "浣撴鐥呬汉",
         },
+        {
+          value: "5",
+          label: "鎵嬫湳鐥呬汉",
+        },
       ],
       source: [
         {
@@ -1062,43 +1159,64 @@
 
       tasktypes: [
         {
-          value: 1,
+          value: "1",
           label: "鐩戞祴璇勪及",
         },
         {
-          value: 2,
+          value: "2",
           label: "鍑洪櫌闅忚",
         },
         {
-          value: 3,
+          value: "3",
           label: "闂ㄨ瘖闅忚",
         },
         {
-          value: 4,
+          value: "4",
           label: "瀹f暀鍏虫��",
         },
         {
-          value: 5,
+          value: "5",
           label: "澶嶈瘖绠$悊",
         },
+        // {
+        //   value: "5",
+        //   label: "婊℃剰搴﹁皟鏌�",
+        // },
         {
-          value: 6,
-          label: "婊℃剰搴﹁皟鏌�",
-        },
-        {
-          value: 7,
+          value: "7",
           label: "鎮h�呮姤鍛�",
         },
-
+        // {
+        //   value: "8",
+        //   label: "鍏朵粬閫氱煡",
+        // },
         {
-          value: 8,
-          label: "鍏朵粬閫氱煡",
+          value: "9",
+          label: "浣撴闅忚",
         },
+        // {
+        //   value: "10",
+        //   label: "鍖绘妧闅忚",
+        // },
+        {
+          value: "11",
+          label: "褰卞儚闅忚",
+        },
+        {
+          value: "12",
+          label: "蹇冪數闅忚",
+        },
+        // {
+        //   value: "13",
+        //   label: "涓撶梾闅忚",
+        // },
       ],
       // 绉戝/鐥呭尯
       belongWards: [],
       deptlist: [],
       hosplist: [],
+      diagglist: [],
+      operlist: [],
       tempDetpRelevanceslist: [], //绉戝鏁版嵁
       tempDetpRelevanceslistform: [], //绉戝鏁版嵁
       tempbelongWards: [], //鐥呭尯鏁版嵁
@@ -1133,7 +1251,7 @@
       serviceType: null,
     };
   },
-  components: { SFtable },
+  components: { SFtable, OptionalForm },
 
   created() {
     this.appraiselist = store.getters.appraiselist;
@@ -1147,7 +1265,10 @@
     this.form.typename = this.$route.query.typename;
     this.serviceType = Number(this.$route.query.serviceType);
     this.form.serviceType = Number(this.$route.query.serviceType);
+    console.log(localStorage.getItem("orgid"), "orgid");
+
     this.Acquisitiontype();
+    this.getillnesslist();
     this.Getdetails();
     this.getFollowupclassify();
   },
@@ -1264,7 +1385,15 @@
           //   label: "鏅鸿兘鏈哄櫒浜�",
           // },
         ];
-      } else if (this.form.serviceType == 7 || this.form.serviceType == 5) {
+      } else if (
+        this.form.serviceType == 7 ||
+        this.form.serviceType == 5 ||
+        this.form.serviceType == 8 ||
+        this.form.serviceType == 9 ||
+        this.form.serviceType == 11 ||
+        this.form.serviceType == 12 ||
+        this.form.serviceType == 10
+      ) {
         this.checkboxlist = [
           {
             value: "1",
@@ -1290,8 +1419,16 @@
             value: "6",
             label: "寰俊灏忕▼搴�",
           },
+          {
+            value: "7",
+            label: "鏈悗闅忚",
+          },
         ];
-      } else if (this.form.serviceType == 2 || this.form.serviceType == 3) {
+      } else if (
+        this.form.serviceType == 2 ||
+        this.form.serviceType == 3 ||
+        this.form.serviceType == 4
+      ) {
         this.checkboxlist = [
           {
             value: "1",
@@ -1348,7 +1485,23 @@
           xh: 1,
         },
       ];
-
+      if (this.form.appltype == 1) {
+        this.leavehospitaldistrictcodes = [];
+        this.operationcodes = [];
+        this.illnesscodes = [];
+      } else if (this.form.appltype == 2) {
+        this.deptcodesWards = [];
+        this.operationcodes = [];
+        this.illnesscodes = [];
+      } else if (this.form.appltype == 3) {
+        this.deptcodesWards = [];
+        this.leavehospitaldistrictcodes = [];
+        this.operationcodes = [];
+      } else if (this.form.appltype == 4) {
+        this.deptcodesWards = [];
+        this.illnesscodes = [];
+        this.leavehospitaldistrictcodes = [];
+      }
       if (this.checkList) {
         this.form.preachform = this.checkList;
       } else {
@@ -1356,9 +1509,14 @@
         return;
       }
 
-      if (this.deptcodesWards[0] || this.leavehospitaldistrictcodes[0]) {
+      if (
+        this.deptcodesWards[0] ||
+        this.leavehospitaldistrictcodes[0] ||
+        this.diagglist[0] ||
+        this.operationcodes[0]
+      ) {
       } else {
-        this.$modal.msgError("璇烽�夋嫨绉戝鎴栫梾鍖�");
+        this.$modal.msgError("璇烽�夋嫨浠诲姟鍏宠仈鏉′欢");
         return;
       }
       if (!this.form.patTaskRelevances[0] && !this.form.longTask) {
@@ -1396,6 +1554,10 @@
       this.form.deptcode = this.deptcodesWards.join(",");
       this.form.leavehospitaldistrictcode =
         this.leavehospitaldistrictcodes.join(",");
+      this.form.opcode = this.operationcodes.join(",");
+      this.form.icd10code = this.diagglist
+        .map((item) => item.icdcode)
+        .join(",");
       Editsingletask(this.form).then((res) => {
         if (res.code == 200) {
           if (this.form.taskid) {
@@ -1604,8 +1766,8 @@
           item.deptName = item.dept;
           item.admindate = item.inhosptime;
           item.sfzh = item.idcardno;
-          if (this.patientqueryParams.allhosp==6) {
-          item.patfrom = 1;
+          if (this.patientqueryParams.allhosp == 6) {
+            item.patfrom = 1;
           }
           this.overallCase.push(item);
           this.form.patTaskRelevances.push(item);
@@ -1678,7 +1840,20 @@
         this.patientqueryParams.leaveldeptcodes = null;
       this.handleAddpatient();
     },
-    resetQuery() {},
+    resetQuerymb() {
+      this.topqueryParams = { svyname: "" };
+      this.handleQuerymb();
+    },
+    resetQuery() {
+      this.patientqueryParams = {
+        pageNum: 1, //
+        pageSize: 10,
+        topica: 1, //0鍏ㄩ儴1绉戝2鐥呭尯
+        leaveldeptcodes: [],
+        leavehospitaldistrictcodes: [],
+      };
+      this.handleQuery();
+    },
     handleQuerymb() {
       getFollowuplist(this.topqueryParams).then((response) => {
         this.userList = response.rows;
@@ -1710,7 +1885,10 @@
         templatename: "",
         templateid: null,
         libtemplateid: null,
-        kcb: "浜茬埍鐨勬偅鑰�/瀹跺睘锛屾偍濂斤紒鎴戜滑鏄禉涓尰澶т簩闄㈢殑鍖绘姢浜哄憳锛屼负浜嗘洿濂藉湴浜嗚В鎮ㄧ殑搴峰鎯呭喌锛岃鎮ㄦ娊涓�鐐瑰疂璐垫椂闂达紝瀹屾垚杩欎唤闅忚銆�",
+        kcb:
+          "浜茬埍鐨勬偅鑰�/瀹跺睘锛屾偍濂斤紒鎴戜滑鏄�" +
+          localStorage.getItem("orgname") +
+          "鐨勫尰鎶や汉鍛橈紝涓轰簡鏇村ソ鍦颁簡瑙f偍鐨勫悍澶嶆儏鍐碉紝璇锋偍鎶戒竴鐐瑰疂璐垫椂闂达紝杩涜鏈鍥炶鏈嶅姟銆�",
         jsy: "璇锋偍娉ㄦ剰浼戞伅鍜岃惀鍏伙紝鐢熸椿涓婅鍔抽�哥粨鍚堬紝閫傚綋閿荤偧锛屾垝鐑熼檺閰掞紝淇濇寔蹇冩儏鑸掔晠锛屽畾鏈熷璇娿�傞偅鏈鍥炶灏卞埌杩欓噷锛岀鎮ㄨ韩浣撳仴搴凤紒",
       };
 
@@ -1753,7 +1931,6 @@
           } else {
             this.$modal.msgError(res.code);
           }
-
           if (this.newadd) {
             this.neWaddfn();
           }
@@ -1794,7 +1971,57 @@
           });
         }
       });
+      taskdiaggetlist(this.queryParamsdept).then((res) => {
+        if (res.code == 200) {
+          let arr = res.rows;
+          arr.forEach((item) => {
+            getillnesslist({
+              icdcode: item.icd10code,
+            }).then((res) => {
+              item.icdname = res.rows[0].icdname;
+              this.diagglist.push(item);
+            });
+            this.illnesscodes.push(item.icd10code);
+          });
+        }
+      });
+      taskopergetlist(this.queryParamsdept).then((res) => {
+        if (res.code == 200) {
+          let arr = res.rows;
+          arr.forEach((item) => {
+            this.operlist.push(item);
+            this.operationcodes.push(item.opcode);
+          });
+        }
+      });
     },
+    getillnesslist() {
+      getillnesslist({
+        pageNum: 1,
+        pageSize: 1000,
+      }).then((row) => {
+        this.donorchargeList = res.rows;
+      });
+      getbaseopera({
+        pageNum: 1,
+        pageSize: 1000,
+      }).then((row) => {
+        this.baseoperaList = res.rows;
+      });
+    },
+    // 鎵嬫湳鏌ヨ
+    remoteopcode(name) {
+      if (name) {
+        getbaseopera({
+          pageNum: 1,
+          pageSize: 1000,
+          opdesc: name,
+        }).then((res) => {
+          this.baseoperaList = res.rows;
+        });
+      }
+    },
+
     // 浠诲姟绉戝鍒犻櫎瑙﹀彂
     removetag(row) {
       let result = this.deptlist
@@ -1804,6 +2031,7 @@
       if (result.length) {
         taskdepthospgetsondel(result).then((res) => {
           if (res.code) {
+            this.$modal.msgSuccess("鍒犻櫎鎴愬姛");
           }
         });
       }
@@ -1816,6 +2044,36 @@
       if (result.length) {
         taskdepthospgetsondel(result).then((res) => {
           if (res.code) {
+            this.$modal.msgSuccess("鍒犻櫎鎴愬姛");
+          }
+        });
+      }
+    },
+    // 鎵嬫湳鍒犻櫎瑙﹀彂
+    removeopera(row) {
+      let result = this.operlist
+        .filter((item) => item.opcode == row)
+        .map((item) => item.id);
+      if (result.length) {
+        taskoperhospgetsondel(result).then((res) => {
+          if (res.code) {
+            this.$modal.msgSuccess("鍒犻櫎鎴愬姛");
+          }
+        });
+      }
+    },
+    // 鐤剧梾鍒犻櫎瑙﹀彂
+    removediagg(row) {
+      let result = this.diagglist
+        .filter((item) => item.icd10code == row)
+        .map((item) => item.id);
+      if (result.length) {
+        taskdiaghospgetsondel(result).then((res) => {
+          if (res.code) {
+            this.diagglist = this.diagglist.filter(
+              (item) => item.icd10code != row
+            );
+            this.$modal.msgSuccess("鍒犻櫎鎴愬姛");
           }
         });
       }
@@ -2011,10 +2269,10 @@
       if (!this.form.taskid) {
         this.templateor = true;
         MessageBox.confirm(
-          "褰撳墠涓烘柊澧炰换鍔℃湭淇濆瓨涓嶅彲鍏宠仈妯℃澘锛屾槸鍚﹀厛淇濆瓨浠诲姟锛�",
+          "褰撳墠涓烘柊澧炰换鍔℃湭淇濆瓨涓嶅彲鍏宠仈妯℃澘锛屾槸鍚﹀厛鏆傚瓨妯℃澘淇濆瓨浠诲姟鍚庣敓鏁堬紵",
           "鍔熻兘鎻愮ず",
           {
-            confirmButtonText: "淇濆瓨浠诲姟",
+            confirmButtonText: "鏆傚瓨妯℃澘",
             cancelButtonText: "鍙栨秷",
             type: "warning",
           }
@@ -2032,10 +2290,15 @@
             this.objyl.ivrTaskTemplateScriptVOList =
               this.objyl.ivrLibaTemplateScriptVOList;
             this.form.ivrTaskTemplateVO = this.objyl;
-
-            this.submitForm();
+            this.form.templatename = this.objyl.templateName;
+            this.$modal.msgSuccess("鏆傚瓨鎴愬姛淇濆瓨浠诲姟鍚庢ā鏉垮け鏁�");
+            this.drawermb = false;
+            this.previewtf = false;
           })
-          .catch(() => {});
+          .catch(() => {
+            this.drawermb = false;
+            this.previewtf = false;
+          });
       } else {
         setTimeout(() => {
           this.previewFn();
diff --git a/src/views/patient/questionnaire/index.vue b/src/views/patient/questionnaire/index.vue
index d7807b9..ba76b66 100644
--- a/src/views/patient/questionnaire/index.vue
+++ b/src/views/patient/questionnaire/index.vue
@@ -17,7 +17,7 @@
                   font-weight: 600;
                 "
               >
-                {{ item.value }}
+              {{ item.value ? item.value : 0 }}
               </div>
             </div>
           </el-card>
@@ -154,7 +154,6 @@
                 icon="el-icon-upload2"
                 size="medium"
                 @click="handleExport"
-                v-hasPermi="['system:user:export']"
                 >瀵煎嚭</el-button
               >
             </div>
@@ -192,7 +191,7 @@
       <el-table
         v-loading="loading"
         :data="userList"
-        height="660"
+        height="808"
         :row-class-name="tableRowClassName"
         @selection-change="handleSelectionChange"
       >
@@ -208,6 +207,7 @@
         <!-- <el-table-column label="搴忓彿" fixed align="center" key="id" prop="id" /> -->
         <el-table-column
           label="濮撳悕"
+          width="100"
           fixed
           align="center"
           key="sendname"
@@ -228,7 +228,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">
@@ -258,7 +258,7 @@
         />
 
         <el-table-column
-          label="浜哄伐澶勭悊鎰忚"
+          label="澶勭悊鎰忚"
           align="center"
           key="suggest"
           prop="suggest"
@@ -274,12 +274,12 @@
         <el-table-column
           label="闅忚浜哄憳"
           align="center"
-          key="createBy"
-          prop="createBy"
+          key="updateBy"
+          prop="updateBy"
           width="120"
         />
         <el-table-column
-          label="闅忚鏃堕棿"
+          label="闅忚瀹屾垚鏃堕棿"
           sortable
           align="center"
           prop="finishtime"
@@ -361,7 +361,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="绉戝"
@@ -493,7 +493,7 @@
         @pagination="getList"
       />
     </el-row>
-    <!-- 娣诲姞鎴栦慨鏀归棬璇婇殢璁垮璇濇 -->
+    <!-- 娣诲姞鎴栦慨鏀瑰奖鍍忛殢璁垮璇濇 -->
     <el-dialog
       :title="title"
       :visible.sync="addalteropen"
@@ -536,7 +536,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>
@@ -661,7 +661,7 @@
       // 鐢ㄦ埛琛ㄦ牸鏁版嵁
       userList: null,
       // 寮瑰嚭灞傛爣棰�
-      title: "鏂板闂ㄨ瘖闅忚",
+      title: "鏂板褰卞儚闅忚",
       // 鏄惁鏄剧ず淇敼銆佹坊鍔犲脊鍑哄眰
       addalteropen: false,
       // 淇敼鍙戦�佹椂闂村璇濇
@@ -686,10 +686,10 @@
       previewVisible: false, //闂ㄨ瘖闅忚棰勮寮规
       radio: "",
       radios: [],
-      previewtype: 2, //棰勮闂ㄨ瘖闅忚绫诲瀷
+      previewtype: 2, //棰勮褰卞儚闅忚绫诲瀷
       total: 0, // 鎬绘潯鏁�
-      ImportQuantity: 999, //瀵奸棬璇婇殢璁挎暟閲�
-      //棰勮闂ㄨ瘖闅忚淇℃伅
+      ImportQuantity: 999, //瀵煎奖鍍忛殢璁挎暟閲�
+      //棰勮褰卞儚闅忚淇℃伅
       previewvalue: {
         username: "杩欎釜鍖荤敓瀵逛綘鎬庝箞鏍�",
       },
@@ -718,10 +718,10 @@
           name: "鍑洪櫌鏈嶅姟鎬婚噺",
           value: 0,
         },
-        {
-          name: "鎮h�呰繃婊�",
-          value: 0,
-        },
+        // {
+        //   name: "鎮h�呰繃婊�",
+        //   value: 0,
+        // },
         {
           name: "搴旈殢璁�",
           value: 0,
@@ -736,7 +736,7 @@
           value: 0,
         },
         {
-          name: "寰呮墽琛�",
+          name: "寰呴殢璁�",
           value: 0,
         },
         {
@@ -765,6 +765,7 @@
         pageSize: 10,
         serviceType: 7,
         searchscope: 3,
+        sendstate:2,
         scopetype: [],
         leaveldeptcodes: [],
         leavehospitaldistrictcodes: [],
@@ -779,7 +780,7 @@
         },
         {
           value: 2,
-          label: "寰呮墽琛�",
+          label: "寰呴殢璁�",
         },
         {
           value: 3,
@@ -877,12 +878,12 @@
         if (refresh) {
           this.cardlist[0].value =
             Number(response.rows[0].wzx) + Number(response.rows[0].ysf);
-          this.cardlist[1].value = response.rows[0].wzx;
-          this.cardlist[2].value = response.rows[0].ysf;
+          // this.cardlist[1].value = response.rows[0].wzx;
+          this.cardlist[1].value = response.rows[0].ysf;
           this.ycvalue = response.rows[0].yc;
-          this.cardlist[3].value = response.rows[0].fssb;
-          this.cardlist[4].value = response.rows[0].dfs;
-          this.cardlist[5].value = response.rows[0].yfs2;
+          this.cardlist[2].value = response.rows[0].fssb;
+          this.cardlist[3].value = response.rows[0].dsf;
+          this.cardlist[4].value = response.rows[0].yfs2;
           this.yfsvalue = response.rows[0].yfs;
         }
         this.loading = false;
@@ -909,7 +910,7 @@
         this.total = response.total;
       });
     },
-    // 鏌ョ湅闂ㄨ瘖闅忚璇︽儏
+    // 鏌ョ湅褰卞儚闅忚璇︽儏
     Referencequestion(row) {
       this.previewVisible = true;
     },
@@ -927,7 +928,7 @@
         this.options = [];
       }
     },
-    // 闂ㄨ瘖闅忚鐘舵�佷慨鏀�
+    // 褰卞儚闅忚鐘舵�佷慨鏀�
     handleStatusChange(row) {
       let text = row.status === "0" ? "鍚敤" : "鍋滅敤";
       this.$modal
@@ -1007,6 +1008,7 @@
         pageSize: 10,
         serviceType: 7,
         searchscope: 2,
+        sendstate:2,
       };
       this.handleQuery(1);
     },
@@ -1176,7 +1178,7 @@
       this.topqueryParams.pageNum = null;
       this.topqueryParams.pageSize = null;
       this.download(
-        "smartor/serviceSubtask/export",
+        "smartor/serviceSubtask/patItemExport",
         {
           ...this.topqueryParams,
         },
diff --git a/src/views/patient/ycquestionnaire/index.vue b/src/views/patient/shadow/index.vue
similarity index 95%
rename from src/views/patient/ycquestionnaire/index.vue
rename to src/views/patient/shadow/index.vue
index 67c3af9..62b7cd5 100644
--- a/src/views/patient/ycquestionnaire/index.vue
+++ b/src/views/patient/shadow/index.vue
@@ -17,7 +17,7 @@
                   font-weight: 600;
                 "
               >
-                {{ item.value }}
+              {{ item.value ? item.value : 0 }}
               </div>
             </div>
           </el-card>
@@ -154,7 +154,6 @@
                 icon="el-icon-upload2"
                 size="medium"
                 @click="handleExport"
-                v-hasPermi="['system:user:export']"
                 >瀵煎嚭</el-button
               >
             </div>
@@ -192,7 +191,7 @@
       <el-table
         v-loading="loading"
         :data="userList"
-        height="660"
+        height="808"
         :row-class-name="tableRowClassName"
         @selection-change="handleSelectionChange"
       >
@@ -208,6 +207,7 @@
         <!-- <el-table-column label="搴忓彿" fixed align="center" key="id" prop="id" /> -->
         <el-table-column
           label="濮撳悕"
+          width="100"
           fixed
           align="center"
           key="sendname"
@@ -228,7 +228,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">
@@ -258,7 +258,7 @@
         />
 
         <el-table-column
-          label="浜哄伐澶勭悊鎰忚"
+          label="澶勭悊鎰忚"
           align="center"
           key="suggest"
           prop="suggest"
@@ -274,12 +274,12 @@
         <el-table-column
           label="闅忚浜哄憳"
           align="center"
-          key="createBy"
-          prop="createBy"
+          key="updateBy"
+          prop="updateBy"
           width="120"
         />
         <el-table-column
-          label="闅忚鏃堕棿"
+          label="闅忚瀹屾垚鏃堕棿"
           sortable
           align="center"
           prop="finishtime"
@@ -361,7 +361,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="绉戝"
@@ -493,7 +493,7 @@
         @pagination="getList"
       />
     </el-row>
-    <!-- 娣诲姞鎴栦慨鏀归棬璇婇殢璁垮璇濇 -->
+    <!-- 娣诲姞鎴栦慨鏀瑰奖鍍忛殢璁垮璇濇 -->
     <el-dialog
       :title="title"
       :visible.sync="addalteropen"
@@ -536,7 +536,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>
@@ -661,7 +661,7 @@
       // 鐢ㄦ埛琛ㄦ牸鏁版嵁
       userList: null,
       // 寮瑰嚭灞傛爣棰�
-      title: "鏂板闂ㄨ瘖闅忚",
+      title: "鏂板褰卞儚闅忚",
       // 鏄惁鏄剧ず淇敼銆佹坊鍔犲脊鍑哄眰
       addalteropen: false,
       // 淇敼鍙戦�佹椂闂村璇濇
@@ -683,13 +683,13 @@
       yfsvalue: "",
       inputValue: "",
       preachform: "",
-      previewVisible: false, //闂ㄨ瘖闅忚棰勮寮规
+      previewVisible: false, //褰卞儚闅忚棰勮寮规
       radio: "",
       radios: [],
-      previewtype: 2, //棰勮闂ㄨ瘖闅忚绫诲瀷
+      previewtype: 2, //棰勮褰卞儚闅忚绫诲瀷
       total: 0, // 鎬绘潯鏁�
-      ImportQuantity: 999, //瀵奸棬璇婇殢璁挎暟閲�
-      //棰勮闂ㄨ瘖闅忚淇℃伅
+      ImportQuantity: 999, //瀵煎奖鍍忛殢璁挎暟閲�
+      //棰勮褰卞儚闅忚淇℃伅
       previewvalue: {
         username: "杩欎釜鍖荤敓瀵逛綘鎬庝箞鏍�",
       },
@@ -718,10 +718,10 @@
           name: "鍑洪櫌鏈嶅姟鎬婚噺",
           value: 0,
         },
-        {
-          name: "鎮h�呰繃婊�",
-          value: 0,
-        },
+        // {
+        //   name: "鎮h�呰繃婊�",
+        //   value: 0,
+        // },
         {
           name: "搴旈殢璁�",
           value: 0,
@@ -736,7 +736,7 @@
           value: 0,
         },
         {
-          name: "寰呮墽琛�",
+          name: "寰呴殢璁�",
           value: 0,
         },
         {
@@ -763,8 +763,9 @@
       topqueryParams: {
         pageNum: 1,
         pageSize: 10,
-        serviceType: 9,
+        serviceType: 11,
         searchscope: 3,
+        sendstate:2,
         scopetype: [],
         leaveldeptcodes: [],
         leavehospitaldistrictcodes: [],
@@ -779,7 +780,7 @@
         },
         {
           value: 2,
-          label: "寰呮墽琛�",
+          label: "寰呴殢璁�",
         },
         {
           value: 3,
@@ -848,7 +849,7 @@
     this.getList(1);
   },
   methods: {
-    /** 鏌ヨ闂ㄨ瘖闅忚鏈嶅姟鍒楄〃 */
+    /** 鏌ヨ褰卞儚闅忚鏈嶅姟鍒楄〃 */
     getList(refresh) {
       // 榛樿鍏ㄩ儴
       if (this.topqueryParams.searchscope == 3) {
@@ -877,12 +878,12 @@
         if (refresh) {
           this.cardlist[0].value =
             Number(response.rows[0].wzx) + Number(response.rows[0].ysf);
-          this.cardlist[1].value = response.rows[0].wzx;
-          this.cardlist[2].value = response.rows[0].ysf;
+          // this.cardlist[1].value = response.rows[0].wzx;
+          this.cardlist[1].value = response.rows[0].ysf;
           this.ycvalue = response.rows[0].yc;
-          this.cardlist[3].value = response.rows[0].fssb;
-          this.cardlist[4].value = response.rows[0].dfs;
-          this.cardlist[5].value = response.rows[0].yfs2;
+          this.cardlist[2].value = response.rows[0].fssb;
+          this.cardlist[3].value = response.rows[0].dsf;
+          this.cardlist[4].value = response.rows[0].yfs2;
           this.yfsvalue = response.rows[0].yfs;
         }
         this.loading = false;
@@ -909,7 +910,7 @@
         this.total = response.total;
       });
     },
-    // 鏌ョ湅闂ㄨ瘖闅忚璇︽儏
+    // 鏌ョ湅褰卞儚闅忚璇︽儏
     Referencequestion(row) {
       this.previewVisible = true;
     },
@@ -927,7 +928,7 @@
         this.options = [];
       }
     },
-    // 闂ㄨ瘖闅忚鐘舵�佷慨鏀�
+    // 褰卞儚闅忚鐘舵�佷慨鏀�
     handleStatusChange(row) {
       let text = row.status === "0" ? "鍚敤" : "鍋滅敤";
       this.$modal
@@ -1005,8 +1006,9 @@
       this.topqueryParams = {
         pageNum: 1,
         pageSize: 10,
-        serviceType: 9,
+        serviceType: 11,
         searchscope: 2,
+        sendstate:2,
       };
       this.handleQuery(1);
     },
@@ -1042,7 +1044,7 @@
         path: "/followvisit/QuestionnaireTask",
         query: {
           type: 2,
-          serviceType: 9,
+          serviceType: 11,
         },
       });
     },
@@ -1176,7 +1178,7 @@
       this.topqueryParams.pageNum = null;
       this.topqueryParams.pageSize = null;
       this.download(
-        "smartor/serviceSubtask/export",
+        "smartor/serviceSubtask/patItemExport",
         {
           ...this.topqueryParams,
         },
diff --git a/src/views/patient/subsequent/index.vue b/src/views/patient/subsequent/index.vue
index b8e9133..641797b 100644
--- a/src/views/patient/subsequent/index.vue
+++ b/src/views/patient/subsequent/index.vue
@@ -1,8 +1,69 @@
 <template>
   <div class="app-container">
+    <div class="leftvlue" style="margin-bottom: 20px">
+      <el-row :gutter="10">
+        <el-col :span="2.5" v-for="(item, index) in cardlist" :key="index">
+          <el-card
+            shadow="hover"
+            :body-style="item.router ? ' cursor: pointer' : 'cursor: default'"
+          >
+            <div style="padding: 8px" @click="$router.push(item.router)">
+              <span>{{ item.name }}</span>
+              <div
+                style="
+                  text-align: center;
+                  font-size: 18px;
+                  margin-top: 10px;
+                  font-weight: 600;
+                "
+              >
+              {{ item.value ? item.value : 0 }}
+              </div>
+            </div>
+          </el-card>
+        </el-col>
+        <!-- <el-col :span="2.5">
+          <div class="ysfleftvlue">
+            <el-card shadow="hover">
+              <div style="padding: 8px">
+                <span>琛ㄥ崟宸插彂閫�</span>
+                <div
+                  style="
+                    text-align: center;
+                    font-size: 18px;
+                    margin-top: 10px;
+                    font-weight: 600;
+                  "
+                >
+                  {{ yfsvalue }}
+                </div>
+              </div>
+            </el-card>
+          </div>
+        </el-col> -->
+        <el-col :span="2.5">
+          <div class="errleftvlue">
+            <el-card shadow="hover">
+              <div style="padding: 8px">
+                <span>寮傚父</span>
+                <div
+                  style="
+                    text-align: center;
+                    font-size: 18px;
+                    margin-top: 10px;
+                    font-weight: 600;
+                  "
+                >
+                  {{ ycvalue }}
+                </div>
+              </div>
+            </el-card>
+          </div>
+        </el-col>
+      </el-row>
+    </div>
     <el-row :gutter="20">
       <!--鐢ㄦ埛鏁版嵁-->
-
       <el-form
         :model="topqueryParams"
         ref="queryForm"
@@ -12,12 +73,13 @@
         label-width="98px"
       >
         <el-form-item label="浠诲姟鍚嶇О">
-          <el-input v-model="topqueryParams.name"></el-input>
+          <el-input
+            v-model="topqueryParams.taskName"
+            placeholder="璇烽�夋嫨浠诲姟鍚嶇О"
+          ></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-form-item label="浣撴鏃堕棿">
           <el-date-picker
             v-model="dateRange"
             style="width: 240px"
@@ -28,8 +90,26 @@
             end-placeholder="缁撴潫鏃ユ湡"
           ></el-date-picker>
         </el-form-item>
-        <el-form-item label="澶嶈瘖绫诲瀷" prop="status">
-          <el-select v-model="topqueryParams.topic" placeholder="璇烽�夋嫨">
+
+        <el-form-item label="鎮h�呭鍚�" prop="sendname">
+          <el-input
+            v-model="topqueryParams.sendname"
+            placeholder="璇疯緭鍏ユ偅鑰呭鍚�"
+          ></el-input>
+        </el-form-item>
+
+        <el-form-item label="鎮h�呰寖鍥�" prop="status">
+          <el-cascader
+            v-model="topqueryParams.scopetype"
+            placeholder="榛樿鍏ㄩ儴"
+            :options="sourcetype"
+            :props="{ expandTrigger: 'hover' }"
+            @change="handleChange"
+          ></el-cascader>
+        </el-form-item>
+
+        <el-form-item label="浠诲姟鐘舵��" prop="status">
+          <el-select v-model="topqueryParams.sendstate" placeholder="璇烽�夋嫨">
             <el-option
               v-for="item in topicoptions"
               :key="item.value"
@@ -39,34 +119,13 @@
             </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"
+            @click="handleQuery(1)"
             >鎼滅储</el-button
           >
           <el-button icon="el-icon-refresh" size="medium" @click="resetQuery"
@@ -83,7 +142,6 @@
             icon="el-icon-plus"
             size="medium"
             @click="handleAdd"
-            v-hasPermi="['system:user:add']"
             >鏂板</el-button
           >
         </el-col>
@@ -96,7 +154,6 @@
                 icon="el-icon-upload2"
                 size="medium"
                 @click="handleExport"
-                v-hasPermi="['system:user:export']"
                 >瀵煎嚭</el-button
               >
             </div>
@@ -106,40 +163,12 @@
           <div class="documentf">
             <div class="document">
               <el-button
-                type="info"
-                icon="el-icon-refresh"
-                size="medium"
-                @click="TaskReset"
-                v-hasPermi="['system:user:export']"
-                >浠诲姟閲嶇疆</el-button
-              >
-            </div>
-          </div>
-        </el-col>
-        <el-col :span="1.5">
-          <div class="documentf">
-            <div class="document">
-              <el-button
-                type="success"
-                icon="el-icon-position"
-                size="medium"
-                @click="AllStarted"
-                v-hasPermi="['system:user:export']"
-                >鍏ㄩ儴寮�濮�</el-button
-              >
-            </div>
-          </div>
-        </el-col>
-        <el-col :span="1.5">
-          <div class="documentf">
-            <div class="document">
-              <el-button
                 type="warning"
-                icon="el-icon-remove"
+                plain
+                icon="el-icon-warning-outline"
                 size="medium"
-                @click="AllStop"
-                v-hasPermi="['system:user:export']"
-                >鍏ㄩ儴鍋滄</el-button
+                @click="toleadExport(1)"
+                >鎵ц澶辫触</el-button
               >
             </div>
           </div>
@@ -148,149 +177,296 @@
           <div class="documentf">
             <div class="document">
               <el-button
-                type="primary"
-                icon="el-icon-remove"
+                type="danger"
+                plain
+                icon="el-icon-warning"
                 size="medium"
-                @click="Sendtimesetting"
-                v-hasPermi="['system:user:export']"
-                >鍙戦�佹椂闂磋缃�</el-button
+                @click="toleadExport(2)"
+                >缁撴灉寮傚父</el-button
               >
             </div>
           </div>
         </el-col>
-
-        <!-- <el-col :span="1.5"> </el-col> -->
       </el-row>
       <el-table
         v-loading="loading"
         :data="userList"
+        height="808"
+        :row-class-name="tableRowClassName"
         @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="浠诲姟鍚嶇О"
+          fixed
+          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.idcardno },
+                  })
+              "
+              ><span class="button-textsc">{{
+                scope.row.sendname
+              }}</span></el-button
+            >
+          </template>
+        </el-table-column>
         <el-table-column
-          label="灏辫瘖鍙�"
+          label="浠诲姟鐘舵��"
           align="center"
-          sortable
-          key="hospno"
-          prop="hospno"
-          width="120"
-        />
-        <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"
-          key="phonenumber"
-          prop="phonenumber"
+          key="sendstate"
+          prop="sendstate"
           width="120"
         >
           <template slot-scope="scope">
-            <div>澶栫闂ㄨ瘖</div>
+            <div v-if="scope.row.sendstate == 1">
+              <el-tag type="primary" :disable-transitions="false"
+                >琛ㄥ崟宸查鍙�</el-tag
+              >
+            </div>
+            <div v-if="scope.row.sendstate == 2">
+              <el-tag type="primary" :disable-transitions="false"
+                >寰呴殢璁�</el-tag
+              >
+            </div>
+            <div v-if="scope.row.sendstate == 3">
+              <el-tag type="success" :disable-transitions="false"
+                >琛ㄥ崟宸插彂閫�</el-tag
+              >
+            </div>
+            <div v-if="scope.row.sendstate == 4">
+              <el-tag type="info" :disable-transitions="false">涓嶆墽琛�</el-tag>
+            </div>
+            <div v-if="scope.row.sendstate == 5">
+              <el-tag type="danger" :disable-transitions="false"
+                >鍙戦�佸け璐�</el-tag
+              >
+            </div>
+            <div v-if="scope.row.sendstate == 6">
+              <el-tag type="danger" :disable-transitions="false">宸插畬鎴�</el-tag>
+            </div>
           </template>
         </el-table-column>
+        <!-- <el-table-column
+          label="浠诲姟寮傚父璇存槑"
+          width="120"
+          align="center"
+          key="remark"
+          prop="remark" -->
+        />
 
         <el-table-column
+          label="澶勭悊鎰忚"
+          align="center"
+          key="suggest"
+          prop="suggest"
+          width="120"
+        >
+          <template slot-scope="scope">
+            <dict-tag
+              :options="dict.type.sys_suggest"
+              :value="scope.row.suggest"
+            />
+          </template>
+        </el-table-column>
+        <el-table-column
+          label="闅忚浜哄憳"
+          align="center"
+          key="updateBy"
+          prop="updateBy"
+          width="120"
+        />
+        <el-table-column
+          label="闅忚瀹屾垚鏃堕棿"
+          sortable
+          align="center"
+          prop="finishtime"
+          width="160"
+        >
+          <template slot-scope="scope">
+            <span>{{ parseTime(scope.row.finishtime) }}</span>
+          </template>
+        </el-table-column>
+        <el-table-column
+          label="闅忚缁撴灉"
+          width="200"
+          align="center"
+          key="remark"
+          prop="remark"
+        >
+          <template slot-scope="scope" v-if="scope.row.remark">
+            <el-tag
+              type="warning"
+              v-if="scope.row.sendstate != 5 && scope.row.sendstate != 4"
+              >{{ scope.row.remark }}</el-tag
+            >
+            <el-tag type="warning" v-else>{{ scope.row.remark }}</el-tag>
+          </template>
+        </el-table-column>
+        <el-table-column
+          label="妫�鏌ユ棩鏈�"
+          width="200"
+          align="center"
+          key="endtime"
+          prop="endtime"
+        >
+          <template slot-scope="scope">
+            <span>{{ formatTime(scope.row.endtime) }}</span>
+          </template></el-table-column
+        >
+        <el-table-column
+          label="搴旈殢璁挎棩鏈�"
+          width="200"
+          align="center"
+          key="longSendTime"
+          prop="longSendTime"
+        >
+          <template slot-scope="scope">
+            <span>{{ formatTime(scope.row.longSendTime) }}</span>
+          </template></el-table-column
+        >
+        <el-table-column
+          label="宸叉鏌ュぉ鏁�"
+          width="120"
+          align="center"
+          key="endDay"
+          prop="endDay"
+        >
+          <template slot-scope="scope">
+            <span>{{ scope.row.endDay ? scope.row.endDay + "澶�" : "" }}</span>
+          </template>
+        </el-table-column>
+        <el-table-column
+          label="韬唤璇佸彿鐮�"
+          width="200"
+          align="center"
+          key="sfzh"
+          prop="sfzh"
+        />
+        <el-table-column
+          label="鑱旂郴鐢佃瘽"
+          width="200"
+          align="center"
+          key="phone"
+          prop="phone"
+        />
+        <!-- <el-table-column
+          label="璐d换鎶ゅ+"
+          width="120"
+          align="center"
+          key="nurseName"
+          prop="nurseName"
+        /> -->
+        <el-table-column
+          label="妫�鏌ュ尰鐢�"
+          width="120"
+          align="center"
+          key="drname"
+          prop="drname"
+        />
+
+        <!-- <el-table-column
+          label="鐥呭巻鍙�"
+          align="center"
+          sortable
+          key="medicalRecordNo"
+          prop="medicalRecordNo"
+          width="120"
+        /> -->
+
+        <!-- <el-table-column label="骞撮緞" align="center" key="age" prop="age" /> -->
+        <!-- <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="绉戝"
+          align="center"
+          key="deptname"
+          prop="deptname"
+          width="120"
+        >
+        </el-table-column>
+        <el-table-column
+          label="鐥呭尯"
+          align="center"
+          key="leavehospitaldistrictname"
+          prop="leavehospitaldistrictname"
+          width="120"
+        >
+        </el-table-column>
+
+        <!-- <el-table-column
           label="鐤剧梾鍚嶇О"
           align="center"
-          key="topicnumber"
-          prop="topicnumber"
+          key="icdName"
+          prop="icdName"
           width="120"
           :show-overflow-tooltip="true"
         >
-          <template slot-scope="scope">
-            <div>杞诲害楠ㄨ</div>
-          </template>
-        </el-table-column>
-        <el-table-column
-          label="閫氱煡鍐呭"
-          align="center"
-          key="topicnumberaa"
-          prop="topicnumberaa"
-          width="120"
-        />
-        <el-table-column
-          label="閫氱煡鏂瑰紡"
-          align="center"
-          key="topicnumberaa"
-          prop="topicnumberaa"
-          width="120"
-        />
-        <el-table-column
-          label="閫氱煡浜哄憳"
-          align="center"
-          key="topicnumberaa"
-          prop="topicnumberaa"
-          width="120"
-        />
+        </el-table-column> -->
 
-        <el-table-column
-          label="灏辫瘖鏃堕棿"
-          sortable
+        <!-- <el-table-column
+          label="浣撴闅忚妯℃澘鍚嶇О"
           align="center"
-          prop="createTime"
+          key="templatename"
+          prop="templatename"
+          width="200"
+        />
+        <el-table-column
+          label="浠诲姟鎵ц鏂瑰紡"
+          align="center"
+          key="preachform"
+          prop="preachform"
           width="160"
-        >
-          <template slot-scope="scope">
-            <span>{{ formatTime(scope.row.createTime) }}</span>
-          </template>
-        </el-table-column>
-        <el-table-column
-          label="閫氱煡鏃堕棿"
-          sortable
-          align="center"
-          prop="createTime"
-          width="160"
-        >
-          <template slot-scope="scope">
-            <span>{{ formatTime(scope.row.createTime) }}</span>
-          </template>
-        </el-table-column>
-        <el-table-column
-          label="鍥炲鏃堕棿"
-          sortable
-          align="center"
-          prop="createTime"
-          width="160"
-        >
-          <template slot-scope="scope">
-            <span>{{ formatTime(scope.row.createTime) }}</span>
-          </template>
-        </el-table-column>
-
-        <el-table-column
-          label="闅忚鐘舵��"
-          fixed="right"
-          align="center"
-          key="topicnumber"
-          prop="topicnumber"
-          width="120"
           :show-overflow-tooltip="true"
         >
           <template slot-scope="scope">
-            <div>鏈畬鎴�</div>
+            <span v-for="item in scope.row.preachform">{{ item }}銆� </span>
           </template>
-        </el-table-column>
+        </el-table-column> -->
+        <!-- <el-table-column
+          label="浠诲姟鍙戦�佹祦绋�"
+          align="center"
+          key="serviceSubtaskRecordList"
+          prop="serviceSubtaskRecordList"
+          width="160"
+          :show-overflow-tooltip="true"
+        >
+          <template slot-scope="scope">
+            <span v-for="item in scope.row.serviceSubtaskRecordList"
+              >{{ item.remark }}銆�
+            </span>
+          </template>
+        </el-table-column> -->
+
         <el-table-column
           label="鎿嶄綔"
-          fixed="right"
           align="center"
+          fixed="right"
           width="200"
           class-name="small-padding fixed-width"
         >
           <template slot-scope="scope">
-            <el-tooltip
+            <!-- <el-tooltip
               class="item"
               effect="dark"
-              content="閲嶆柊閫氱煡"
+              content="閲嶆柊闅忚"
               placement="top"
             >
               <el-button
@@ -300,10 +476,9 @@
                 v-hasPermi="['system:user:edit']"
                 ><span class="button-bb"
                   ><i class="el-icon-s-promotion"></i></span
-                ></el-button
-              >
-            </el-tooltip>
-            <el-tooltip
+              ></el-button>
+            </el-tooltip> -->
+            <!-- <el-tooltip
               class="item"
               effect="dark"
               content="鍋滄"
@@ -316,21 +491,12 @@
                 v-hasPermi="['system:user:edit']"
                 ><span class="button-sc"><i class="el-icon-delete"></i></span
               ></el-button>
-            </el-tooltip>
-            <el-tooltip
-              class="item"
-              effect="dark"
-              content="鏌ョ湅浠诲姟璇︽儏"
-              placement="top"
+            </el-tooltip> -->
+            <el-button size="medium" type="text" @click="Seedetails(scope.row)"
+              ><span class="button-zx"
+                ><i class="el-icon-s-order"></i>鏌ョ湅璇︽儏</span
+              ></el-button
             >
-              <el-button
-                size="medium"
-                type="text"
-                @click="Seedetails(scope.row)"
-                v-hasPermi="['system:user:edit']"
-                ><span class="button-zx"><i class="el-icon-s-order"></i></span
-              ></el-button>
-            </el-tooltip>
           </template>
         </el-table-column>
       </el-table>
@@ -343,7 +509,7 @@
         @pagination="getList"
       />
     </el-row>
-    <!-- 娣诲姞鎴栦慨鏀归棬璇婇殢璁垮璇濇 -->
+    <!-- 娣诲姞鎴栦慨鏀瑰奖鍍忛殢璁垮璇濇 -->
     <el-dialog
       :title="title"
       :visible.sync="addalteropen"
@@ -386,7 +552,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>
@@ -485,14 +651,14 @@
   resetUserPwd,
   changeUserStatus,
 } from "@/api/system/user";
-import Treeselect from "@riophae/vue-treeselect";
 import { getTaskservelist } from "@/api/AiCentre/index";
-
+import Treeselect from "@riophae/vue-treeselect";
+import store from "@/store";
 import "@riophae/vue-treeselect/dist/vue-treeselect.css";
 
 export default {
-  name: "User",
-  dicts: ["sys_normal_disable", "sys_user_sex"],
+  name: "Discharge",
+  dicts: ["sys_normal_disable", "sys_user_sex", "sys_yujing", "sys_suggest"],
   components: { Treeselect },
   data() {
     return {
@@ -511,7 +677,7 @@
       // 鐢ㄦ埛琛ㄦ牸鏁版嵁
       userList: null,
       // 寮瑰嚭灞傛爣棰�
-      title: "鏂板闂ㄨ瘖闅忚",
+      title: "鏂板褰卞儚闅忚",
       // 鏄惁鏄剧ず淇敼銆佹坊鍔犲脊鍑哄眰
       addalteropen: false,
       // 淇敼鍙戦�佹椂闂村璇濇
@@ -529,76 +695,77 @@
       },
       dynamicTags: ["閫夐」涓�", "閫夐」浜�", "閫夐」涓�"], //閫夐」
       inputVisible: false,
+      ycvalue: "",
+      yfsvalue: "",
       inputValue: "",
-      previewVisible: false, //闂ㄨ瘖闅忚棰勮寮规
+      preachform: "",
+      previewVisible: false, //褰卞儚闅忚棰勮寮规
       radio: "",
       radios: [],
-      previewtype: 2, //棰勮闂ㄨ瘖闅忚绫诲瀷
+      previewtype: 2, //棰勮褰卞儚闅忚绫诲瀷
       total: 0, // 鎬绘潯鏁�
-      ImportQuantity: 999, //瀵奸棬璇婇殢璁挎暟閲�
-      //棰勮闂ㄨ瘖闅忚淇℃伅
+      ImportQuantity: 999, //瀵煎奖鍍忛殢璁挎暟閲�
+      //棰勮褰卞儚闅忚淇℃伅
       previewvalue: {
         username: "杩欎釜鍖荤敓瀵逛綘鎬庝箞鏍�",
       },
       value: [],
       list: [],
-      loading: false,
-      states: [
-        "Alabama",
-        "Nebraska",
-        "Nevada",
-        "New Hampshire",
-        "New Jersey",
-        "New Mexico",
-        "New York",
-        "North Carolina",
-        "North Dakota",
-        "Ohio",
-        "Oklahoma",
-        "Oregon",
-        "Pennsylvania",
-        "Rhode Island",
-        "South Carolina",
-        "South Dakota",
-        "Tennessee",
-        "Texas",
-        "Utah",
-        "Vermont",
-        "Virginia",
-        "Washington",
-        "West Virginia",
-        "Wisconsin",
-        "Wyoming",
-      ],
-      pickerOptions: {
-        disabledDate(time) {
-          return time.getTime() > Date.now();
+
+      sourcetype: [
+        {
+          value: 1,
+          label: "绉戝",
+          children: [],
         },
-        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);
-            },
-          },
-        ],
-      },
+        {
+          value: 2,
+          label: "鐥呭尯",
+          children: [],
+        },
+        {
+          value: 3,
+          label: "鍏ㄩ儴",
+        },
+      ],
+      loading: false,
+      cardlist: [
+        {
+          name: "浣撴鏈嶅姟鎬婚噺",
+          value: 0,
+        },
+        // {
+        //   name: "鎮h�呰繃婊�",
+        //   value: 0,
+        // },
+        {
+          name: "搴旈殢璁�",
+          value: 0,
+        },
+
+        // {
+        //   name: "寮傚父",
+        //   value: 0,
+        // },
+        // {
+        //   name: "鍙戦�佸け璐�",
+        //   value: 0,
+        // },
+        {
+          name: "寰呴殢璁�",
+          value: 0,
+        },
+        {
+          name: "宸查殢璁�",
+          value: 0,
+        },
+
+        // {
+        //   name: "琛ㄥ崟宸插彂閫�",
+        //   value: 0,
+        // },
+      ],
+
       // 琛ㄥ崟鍙傛暟
       form: {
         phonenumber: "",
@@ -612,9 +779,10 @@
       topqueryParams: {
         pageNum: 1,
         pageSize: 10,
-        userName: undefined,
-        tagid: undefined,
-        topic: undefined,
+        serviceType: 9,
+        sendstate:2,
+        scopetype: [],
+
       },
       propss: { multiple: true },
       options: [],
@@ -622,85 +790,85 @@
       topicoptions: [
         {
           value: 1,
-          label: "寰呭鏍�",
+          label: "琛ㄥ崟宸查鍙�",
         },
         {
           value: 2,
-          label: "鎵ц涓�",
+          label: "寰呴殢璁�",
         },
         {
           value: 3,
-          label: "鎵ц瀹屾垚",
+          label: "琛ㄥ崟宸插彂閫�",
         },
         {
           value: 4,
-          label: "宸插仠姝�",
+          label: "涓嶆墽琛�",
+        },
+        {
+          value: 5,
+          label: "鍙戦�佸け璐�",
+        },
+        {
+          value: 6,
+          label: "宸插畬鎴�",
         },
       ],
+      topicoptionsyj: [
+        {
+          value: 1,
+          label: "寮傚父",
+        },
+        {
+          value: 0,
+          label: "姝e父",
+        },
+      ],
+      errtype: "",
+      leavehospitaldistrictcode: "",
+      serviceState: [],
+      checkboxlist: [],
       // 琛ㄥ崟鏍¢獙
-      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",
-          },
-        ],
-      },
+      rules: {},
     };
   },
   watch: {},
   created() {
-    this.getList();
+    this.serviceState = store.getters.serviceState;
+    this.checkboxlist = store.getters.checkboxlist;
+    this.errtype = this.$route.query.errtype;
+    this.leavehospitaldistrictcode =
+      this.$route.query.leavehospitaldistrictcode;
+    this.sourcetype[0].children = store.getters.belongDepts.map((dept) => {
+      return {
+        label: dept.deptName,
+        value: dept.deptCode,
+      };
+    });
+    this.sourcetype[1].children = store.getters.belongWards.map((dept) => {
+      return {
+        label: dept.districtName,
+        value: dept.districtCode,
+      };
+    });
+    if (this.errtype) {
+      this.toleadExport(2);
+    } else {
+      this.getList(1);
+    }
     this.getConfigKey("sys.user.initPassword").then((response) => {
       this.initPassword = response.msg;
     });
   },
-  // 鎼滅储
-  mounted() {
-    this.list = this.states.map((item) => {
-      return { value: `value:${item}`, label: `label:${item}` };
-    });
+  activated() {
+    this.getList(1);
   },
   methods: {
-    /** 鏌ヨ闂ㄨ瘖闅忚鍒楄〃 */
-    getList() {
+    /** 鏌ヨ褰卞儚闅忚鏈嶅姟鍒楄〃 */
+    getList(refresh) {
+      // 榛樿鍏ㄩ儴
+
+      // 鎺ュ彈寮傚父璺宠浆
+
       this.loading = true;
       if (this.topqueryParams.leavehospitaldistrictcodes[0]&&this.topqueryParams.leaveldeptcodes[0]) {
         this.topqueryParams.deptOrDistrict=2;
@@ -708,12 +876,46 @@
         this.topqueryParams.deptOrDistrict=1;
       }
       getTaskservelist(this.topqueryParams).then((response) => {
-        this.userList = response.rows;
+        this.userList = response.rows[0].serviceSubtaskList;
         this.total = response.total;
+        if (refresh) {
+          this.cardlist[0].value =
+            Number(response.rows[0].wzx) + Number(response.rows[0].ysf);
+          // this.cardlist[1].value = response.rows[0].wzx;
+          // this.cardlist[2].value = response.rows[0].ysf;
+          this.ycvalue = response.rows[0].yc;
+          // this.cardlist[3].value = response.rows[0].fssb;
+          // this.cardlist[4].value = response.rows[0].dsf;
+          // this.cardlist[5].value = response.rows[0].yfs2;
+          this.yfsvalue = response.rows[0].yfs;
+        }
         this.loading = false;
+        this.userList.forEach((item) => {
+          let idArray = null;
+          if (item.endtime) {
+            item.endDay = this.daysBetween(item.endtime);
+          }
+
+          if (item.preachform) {
+            if (item.endtime) {
+              item.preachformson = item.preachform;
+              idArray = item.preachform.split(",");
+            }
+
+            item.preachform = idArray.map((value) => {
+              // 鏌ユ壘id瀵瑰簲鐨勫璞�
+              const item = this.checkboxlist.find(
+                (item) => item.value == value
+              );
+              // 濡傛灉鎵惧埌瀵瑰簲鐨刬d锛岃繑鍥瀕abel鍊硷紝鍚﹀垯杩斿洖null
+              return item ? item.label : null;
+            });
+          }
+        });
+        this.total = response.total;
       });
     },
-    // 鏌ョ湅闂ㄨ瘖闅忚璇︽儏
+    // 鏌ョ湅褰卞儚闅忚璇︽儏
     Referencequestion(row) {
       this.previewVisible = true;
     },
@@ -731,7 +933,7 @@
         this.options = [];
       }
     },
-    // 闂ㄨ瘖闅忚鐘舵�佷慨鏀�
+    // 褰卞儚闅忚鐘舵�佷慨鏀�
     handleStatusChange(row) {
       let text = row.status === "0" ? "鍚敤" : "鍋滅敤";
       this.$modal
@@ -770,17 +972,32 @@
       this.resetForm("form");
     },
     /** 鎼滅储鎸夐挳鎿嶄綔 */
-    handleQuery() {
+    handleQuery(refresh) {
+
       this.topqueryParams.pageNum = 1;
-      this.getList();
+      this.topqueryParams.startOutHospTime = this.dateRange[0];
+      this.topqueryParams.endOutHospTime = this.dateRange[1];
+
+      this.getList(refresh);
+    },
+    // 鎮h�呰寖鍥村鐞�
+    handleChange(value) {
+      let type = value[0];
+      let code = value.slice(-1)[0];
+
+
+
     },
     /** 閲嶇疆鎸夐挳鎿嶄綔 */
     resetQuery() {
       this.dateRange = [];
-      this.resetForm("queryForm");
-      this.topqueryParams.deptId = undefined;
-      this.$refs.tree.setCurrentKey(null);
-      this.handleQuery();
+      this.topqueryParams = {
+        pageNum: 1,
+        pageSize: 10,
+        serviceType: 9,
+        sendstate:2,
+      };
+      this.handleQuery(1);
     },
     // 澶氶�夋閫変腑鏁版嵁
     handleSelectionChange(selection) {
@@ -811,10 +1028,10 @@
     /** 鏂板鎸夐挳鎿嶄綔 */
     handleAdd() {
       this.$router.push({
-        path: "/followvisit/particty",
+        path: "/followvisit/QuestionnaireTask",
         query: {
-          type: 3,
-          serviceType: 5,
+          type: 2,
+          serviceType: 9,
         },
       });
     },
@@ -844,13 +1061,13 @@
             updateUser(this.form).then((response) => {
               this.$modal.msgSuccess("淇敼鎴愬姛");
               this.open = false;
-              this.getList();
+              this.getList(1);
             });
           } else {
             addUser(this.form).then((response) => {
               this.$modal.msgSuccess("鏂板鎴愬姛");
               this.open = false;
-              this.getList();
+              this.getList(1);
             });
           }
         }
@@ -865,7 +1082,7 @@
           return delUser(userIds);
         })
         .then(() => {
-          this.getList();
+          this.getList(1);
           this.$modal.msgSuccess("鍒犻櫎鎴愬姛");
         })
         .catch(() => {});
@@ -878,7 +1095,7 @@
           return console.log("鍋滄鎴愬姛");
         })
         .then(() => {
-          this.getList();
+          this.getList(1);
           this.$modal.msgWarning("鍋滄鎴愬姛");
         })
         .catch(() => {});
@@ -891,7 +1108,7 @@
           return console.log("寮�鍚垚鍔�");
         })
         .then(() => {
-          this.getList();
+          this.getList(1);
           this.$modal.msgSuccess("寮�鍚垚鍔�");
         })
         .catch(() => {});
@@ -904,7 +1121,7 @@
           return console.log("閫変腑鎴愬姛");
         })
         .then(() => {
-          this.getList();
+          this.getList(1);
           this.$modal.msgSuccess("閲嶇疆鎴愬姛");
         })
         .catch(() => {});
@@ -914,23 +1131,53 @@
       this.modificationVisible = true;
     },
     // 璺宠浆璇︽儏椤�
-    Seedetails() {
+    Seedetails(row) {
+      let type = "";
+      console.log(row, "rwo");
+      if (row.preachformson) {
+        if (row.preachformson.includes("3")) {
+          type = 1;
+          console.log(type, "rwo");
+        }
+      }
       this.$router.push({
         path: "/followvisit/record/detailpage/",
-        query: { id: "1" },
+        query: {
+          taskid: row.taskid,
+          patid: row.patid,
+          id: row.id,
+          Voicetype: type,
+        },
       });
     },
-    // 瀵煎叆鎸夐挳
-    toleadExport() {},
+    // 渚挎嵎鎸夐挳
+    toleadExport(too) {
+      if (too == 1) {
+        this.topqueryParams.sendstate = 4;
+        this.topqueryParams.excep = null;
+      } else if (too == 2) {
+        this.topqueryParams.excep = 1;
+      }
+      this.handleQuery();
+    },
     /** 瀵煎嚭鎸夐挳鎿嶄綔 */
     handleExport() {
+      this.topqueryParams.pageNum = null;
+      this.topqueryParams.pageSize = null;
       this.download(
-        "system/user/export",
+        "smartor/serviceSubtask/patItemExport",
         {
           ...this.topqueryParams,
         },
         `user_${new Date().getTime()}.xlsx`
       );
+    },
+    // 寮傚父鍒楁覆鏌�
+    tableRowClassName({ row, rowIndex }) {
+      if (row.excep == 1) {
+        return "warning-row";
+      }
+      return "";
     },
   },
 };
@@ -946,6 +1193,9 @@
 .document {
   // width: 100px;
   height: 50px;
+}
+::v-deep.el-table .warning-row {
+  background: #eec4c4;
 }
 
 .documentf {
@@ -1025,6 +1275,28 @@
     }
   }
 }
+::v-deep.leftvlue .el-card__body {
+  background: #d0e9fd;
+}
+::v-deep.leftvlue .el-card__body:hover {
+  background: #8dc8f8;
+  cursor: pointer; /* 榧犳爣鎮诞鏃跺彉涓烘墜褰� */
+}
+::v-deep.errleftvlue .el-card__body {
+  background: #fdd0d7;
+}
+::v-deep.errleftvlue .el-card__body:hover {
+  background: #f88d96;
+  cursor: pointer; /* 榧犳爣鎮诞鏃跺彉涓烘墜褰� */
+}
+
+::v-deep.ysfleftvlue .el-card__body {
+  background: #d0fdd8;
+}
+::v-deep.ysfleftvlue .el-card__body:hover {
+  background: #8df8a4;
+  cursor: pointer; /* 榧犳爣鎮诞鏃跺彉涓烘墜褰� */
+}
 .button-bb {
   font-weight: 500;
   background-color: #2ba05c;
diff --git a/src/views/register.vue b/src/views/register.vue
index 5e735ee..b826bd1 100644
--- a/src/views/register.vue
+++ b/src/views/register.vue
@@ -6,7 +6,7 @@
       :rules="registerRules"
       class="register-form"
     >
-      <h3 class="title">娴欎腑鍖诲ぇ浜岄櫌鏅烘収闅忚骞冲彴</h3>
+      <h3 class="title">鏅烘収闅忚绯荤粺</h3>
       <el-form-item prop="username">
         <el-input
           v-model="registerForm.username"
diff --git a/src/views/repositoryai/general/index.vue b/src/views/repositoryai/general/index.vue
index 5e63317..8a5dddc 100644
--- a/src/views/repositoryai/general/index.vue
+++ b/src/views/repositoryai/general/index.vue
@@ -251,7 +251,7 @@
     </div>
 
     <!-- 娣诲姞绫诲埆寮规 -->
-    <el-dialog title="鏂板绫诲埆" width="30%" :visible.sync="dialogFormVisible">
+    <el-dialog title="绫诲埆缂栬緫" width="30%" :visible.sync="dialogFormVisible">
       <!-- <div style="text-align: center; margin-bottom: 20px">
         <el-radio-group v-model="radio">
           <el-radio-button label="涓诲垎绫�"></el-radio-button>
diff --git a/src/views/repositoryai/intention/index.vue b/src/views/repositoryai/intention/index.vue
index d88f11f..8e7a41d 100644
--- a/src/views/repositoryai/intention/index.vue
+++ b/src/views/repositoryai/intention/index.vue
@@ -655,7 +655,7 @@
       </span>
     </el-dialog>
     <!-- 娣诲姞绫诲埆寮规 -->
-    <el-dialog title="鏂板绫诲埆" width="30%" :visible.sync="dialogFormVisible">
+    <el-dialog title="绫诲埆缂栬緫" width="30%" :visible.sync="dialogFormVisible">
       <div style="text-align: center; margin-bottom: 20px">
         <el-radio-group v-model="radio">
           <el-radio-button label="涓诲垎绫�"></el-radio-button>
diff --git a/src/views/repositoryai/matching/index.vue b/src/views/repositoryai/matching/index.vue
index 7f17e17..ef25c03 100644
--- a/src/views/repositoryai/matching/index.vue
+++ b/src/views/repositoryai/matching/index.vue
@@ -137,6 +137,7 @@
 
           <el-table-column
             label="濮撳悕"
+          width="100"
             align="center"
             key="userName"
             prop="userName"
diff --git a/src/views/repositoryai/templateku/configurat/index.vue b/src/views/repositoryai/templateku/configurat/index.vue
index 291ccc4..3ecd00e 100644
--- a/src/views/repositoryai/templateku/configurat/index.vue
+++ b/src/views/repositoryai/templateku/configurat/index.vue
@@ -1510,7 +1510,7 @@
       ruleForm: {
         templateName: "",
         revisitBefore:
-          "浜茬埍鐨勬偅鑰�/瀹跺睘锛屾偍濂斤紒鎴戜滑鏄禉涓尰澶т簩闄㈢殑鍖绘姢浜哄憳锛屼负浜嗘洿濂藉湴浜嗚В鎮ㄧ殑搴峰鎯呭喌锛岃鎮ㄦ娊涓�鐐瑰疂璐垫椂闂达紝瀹屾垚杩欎唤闅忚銆�",
+          "浜茬埍鐨勬偅鑰�/瀹跺睘锛屾垜浠槸"+localStorage.getItem("orgname")+"鐨勫尰鎶や汉鍛橈紝涓轰簡鏇村ソ鍦颁簡瑙f偍鐨勫悍澶嶆儏鍐碉紝璇锋偍鎶戒竴鐐瑰疂璐垫椂闂达紝瀹屾垚杩欎唤闅忚銆�",
         revisitAfter:
           "璇锋偍娉ㄦ剰浼戞伅鍜岃惀鍏伙紝鐢熸椿涓婅鍔抽�哥粨鍚堬紝閫傚綋閿荤偧锛屾垝鐑熼檺閰掞紝淇濇寔蹇冩儏鑸掔晠锛屽畾鏈熷璇娿�傞偅鏈鍥炶灏卞埌杩欓噷锛岀鎮ㄨ韩浣撳仴搴凤紒",
         ivrLibaTemplateTagList: [],
diff --git a/src/views/repositoryai/templateku/configurat/taskub.vue b/src/views/repositoryai/templateku/configurat/taskub.vue
index d3807f1..7ad9d52 100644
--- a/src/views/repositoryai/templateku/configurat/taskub.vue
+++ b/src/views/repositoryai/templateku/configurat/taskub.vue
@@ -1508,7 +1508,7 @@
       ruleForm: {
         templateName: "",
         revisitBefore:
-          "浜茬埍鐨勬偅鑰�/瀹跺睘锛屾偍濂斤紒鎴戜滑鏄禉涓尰澶т簩闄㈢殑鍖绘姢浜哄憳锛屼负浜嗘洿濂藉湴浜嗚В鎮ㄧ殑搴峰鎯呭喌锛岃鎮ㄦ娊涓�鐐瑰疂璐垫椂闂达紝瀹屾垚杩欎唤闅忚銆�",
+          "浜茬埍鐨勬偅鑰�/瀹跺睘锛屾垜浠槸"+localStorage.getItem("orgname")+"鐨勫尰鎶や汉鍛橈紝涓轰簡鏇村ソ鍦颁簡瑙f偍鐨勫悍澶嶆儏鍐碉紝璇锋偍鎶戒竴鐐瑰疂璐垫椂闂达紝瀹屾垚杩欎唤闅忚銆�",
         revisitAfter:
           "璇锋偍娉ㄦ剰浼戞伅鍜岃惀鍏伙紝鐢熸椿涓婅鍔抽�哥粨鍚堬紝閫傚綋閿荤偧锛屾垝鐑熼檺閰掞紝淇濇寔蹇冩儏鑸掔晠锛屽畾鏈熷璇娿�傞偅鏈鍥炶灏卞埌杩欓噷锛岀鎮ㄨ韩浣撳仴搴凤紒",
         ivrLibaTemplateTagList: [],
diff --git a/src/views/repositoryai/templateku/index.vue b/src/views/repositoryai/templateku/index.vue
index 6e95827..bc38fb5 100644
--- a/src/views/repositoryai/templateku/index.vue
+++ b/src/views/repositoryai/templateku/index.vue
@@ -530,7 +530,7 @@
       // 琛ㄦ牸鏁版嵁
       userList: [],
       // 寮瑰嚭灞傛爣棰�
-      title: "鏂板绫诲埆",
+      title: "绫诲埆缂栬緫",
       // 鏄惁鏄剧ず寮瑰嚭灞�
       open: false,
       // 鏃ユ湡鑼冨洿
diff --git a/src/views/repositoryai/verbaltrick/index.vue b/src/views/repositoryai/verbaltrick/index.vue
index e3f02ae..29576cc 100644
--- a/src/views/repositoryai/verbaltrick/index.vue
+++ b/src/views/repositoryai/verbaltrick/index.vue
@@ -527,7 +527,7 @@
         },
       ],
       // 寮瑰嚭灞傛爣棰�
-      title: "鏂板绫诲埆",
+      title: "绫诲埆缂栬緫",
       // 鏄惁鏄剧ず寮瑰嚭灞�
       open: false,
       // 鏃ユ湡鑼冨洿
diff --git a/src/views/sfstatistics/percentage/index.vue b/src/views/sfstatistics/percentage/index.vue
index 2640598..d18b815 100644
--- a/src/views/sfstatistics/percentage/index.vue
+++ b/src/views/sfstatistics/percentage/index.vue
@@ -55,8 +55,27 @@
                   </el-option>
                 </el-select>
               </el-form-item> -->
-              <el-form-item label="鍑洪櫌鐥呭尯" prop="userName">
-                <!-- <el-select v-model="queryParams.leavehospitaldistrictcodes" placeholder="璇烽�夋嫨">
+              <el-form-item label="缁熻绫诲瀷" prop="userName">
+                <el-select
+                  v-model="queryParams.statisticaltype"
+                  placeholder="璇烽�夋嫨缁熻绫诲瀷"
+                >
+                  <el-option
+                    v-for="item in Statisticallist"
+                    :key="item.value"
+                    :label="item.label"
+                    :value="item.value"
+                  >
+                  </el-option>
+                </el-select>
+                <el-select
+                  v-if="queryParams.statisticaltype == 1"
+                  v-model="queryParams.leavehospitaldistrictCode"
+                  size="medium"
+                  multiple
+                  filterable
+                  placeholder="璇烽�夋嫨鐥呭尯"
+                >
                   <el-option
                     v-for="item in flatArray"
                     :key="item.deptCode"
@@ -64,16 +83,16 @@
                     :value="item.deptCode"
                   >
                   </el-option>
-                </el-select> -->
+                </el-select>
                 <el-select
-                  v-model="queryParams.leavehospitaldistrictcodes"
-
+                  v-else-if="queryParams.statisticaltype == 2"
+                  v-model="queryParams.deptCode"
                   size="medium"
                   multiple
                   filterable
-                  placeholder="璇烽�夋嫨鐥呭尯"
+                  placeholder="璇烽�夋嫨绉戝"
                 >
-                <el-option
+                  <el-option
                     v-for="item in flatArray"
                     :key="item.deptCode"
                     :label="item.label"
@@ -82,8 +101,13 @@
                   </el-option>
                 </el-select>
               </el-form-item>
-              <!-- <el-form-item label="绠$悊鏂规" prop="userName">
-                <el-select v-model="queryParams.value3" placeholder="璇烽�夋嫨">
+
+              <el-form-item label="缁熻绫诲瀷" prop="userName">
+                <el-select
+                  v-model="queryParams.serviceType"
+                  multiple
+                  placeholder="璇烽�夋嫨"
+                >
                   <el-option
                     v-for="item in options"
                     :key="item.value"
@@ -92,18 +116,12 @@
                   >
                   </el-option>
                 </el-select>
-              </el-form-item> -->
-              <!-- <el-form-item label="鍑洪櫌鏃ユ湡" prop="userName">
-                <el-date-picker
-                  v-model="queryParams.valuetime1"
-                  align="right"
-                  type="date"
-                  placeholder="閫夋嫨鏃ユ湡"
-                  :picker-options="pickerOptionsa"
-                >
-                </el-date-picker>
-              </el-form-item> -->
-              <el-form-item label="缁熻鏃ユ湡" prop="userName">
+              </el-form-item>
+              <el-form-item
+                label-width="200"
+                label="搴旈殢璁挎椂闂磋寖鍥�"
+                prop="userName"
+              >
                 <el-date-picker
                   v-model="queryParams.dateRange"
                   type="daterange"
@@ -185,254 +203,169 @@
               :border="true"
               @selection-change="handleSelectionChange"
             >
-              <el-table-column type="selection" width="50" align="center" />
-              <!-- <el-table-column
-                fixed
-                label="搴忓彿"
-                align="center"
-                key="tagid"
-                prop="tagid"
-                width="50"
-              /> -->
               <el-table-column
-                fixed
                 label="鍑洪櫌鐥呭尯"
                 align="center"
                 key="leavehospitaldistrictname"
                 prop="leavehospitaldistrictname"
-                width="100"
                 :show-overflow-tooltip="true"
               />
               <el-table-column
-                label="鏈嶅姟鎬婚噺"
+                label="鍑洪櫌浜烘"
                 align="center"
-                key="serviceCount"
-                prop="serviceCount"
+                key="dischargeCount"
+                prop="dischargeCount"
               >
-                <template slot-scope="scope">
-                  <span
-                    >{{ scope.row.updateBy }}
-                    <p>{{ scope.row.serviceCount }}</p></span
-                  >
-                </template>
               </el-table-column>
 
               <el-table-column
-                label="鎮h�呰繃婊ゆ暟閲�"
-                align="center"
-                width="120"
-                key="bzxCount"
-                prop="bzxCount"
-              >
-              </el-table-column>
-              <el-table-column
-                label="搴旈殢璁块噺"
-                align="center"
-                key="ysfCount"
-                prop="ysfCount"
-              >
-              </el-table-column
-              ><el-table-column
-                label="鍙戦�佸け璐�"
-                align="center"
-                key="fssbCount"
-                prop="fssbCount"
-              >
-              </el-table-column
-              ><el-table-column
-                label="寰呮墽琛�"
-                align="center"
-                key="dfsCount"
-                prop="dfsCount"
-              >
-              </el-table-column
-              ><el-table-column
-                label="宸插彂閫�"
-                align="center"
-                key="yfsCount"
-                prop="yfsCount"
-              >
-              </el-table-column>
-              <el-table-column
-                label="宸插畬鎴�"
-                align="center"
-                key="ywcCount"
-                prop="ywcCount"
-              >
-              </el-table-column>
-              <el-table-column
-                label="闅忚瀹屾垚鐜�"
-                align="center"
-                width="120"
-                key="sfwcl"
-                prop="sfwcl"
-              >
-              <template slot-scope="scope">
-                  <span>{{ (Number(scope.row.sfwcl)*100).toFixed(2) }}%</span>
-                </template>
-              </el-table-column>
-              <!-- <el-table-column
-                label="鍏紬鍙峰彂閫佹鏁�"
-                align="center"
-                key="tagdescription"
-                prop="tagdescription"
-              >
-              </el-table-column>
-              <el-table-column
-                label="鍏紬鍙烽殢璁垮畬鎴愭暟"
-                align="center"
-                key="tagdescription"
-                prop="tagdescription"
-              >
-              </el-table-column>
-              <el-table-column
-                label="鍏紬鍙烽殢璁垮畬鎴愮巼"
-                align="center"
-                key="tagdescription"
-                prop="tagdescription"
-              >
-              </el-table-column> -->
-              <!-- <el-table-column
-                label="鐭俊鍙戦�佹鏁�"
-                align="center"
-                width="120"
-                key="dxfscs"
-                prop="dxfscs"
-              >
-              </el-table-column>
-              <el-table-column
-                label="鐭俊闅忚瀹屾垚鏁�"
-                align="center"
-                width="120"
-                key="dxsfwccs"
-                prop="dxsfwccs"
-              >
-              </el-table-column>
-              <el-table-column
-                label="鐭俊闅忚瀹屾垚鐜�"
-                align="center"
-                width="120"
-                key="dxsfwcl"
-                prop="dxsfwcl"
-              >
-              </el-table-column> -->
-              <!-- <el-table-column
-                label="浜哄伐闅忚娆℃暟"
-                align="center"
-                key="tagdescription"
-                prop="tagdescription"
-              >
-              </el-table-column>
-              <el-table-column
-                label="浜哄伐闅忚瀹屾垚鏁�"
-                align="center"
-                key="tagdescription"
-                prop="tagdescription"
-              >
-              </el-table-column>
-              <el-table-column
-                label="浜哄伐闅忚瀹屾垚鐜�"
-                align="center"
-                key="tagdescription"
-                prop="tagdescription"
-              >
-              </el-table-column> -->
-              <!-- <el-table-column
-                label="澶辫鏁�"
-                align="center"
-                key="tagdescription"
-                prop="tagdescription"
-              >
-              </el-table-column>
-              <el-table-column
-                label="澶辫鐜�"
-                align="center"
-                key="tagdescription"
-                prop="tagdescription"
-              >
-              </el-table-column>
-              <el-table-column
-                label="澶辫鐜�"
-                align="center"
-                key="tagdescription"
-                prop="tagdescription"
-              > -->
-              <!-- </el-table-column> -->
-              <el-table-column
-                label="寮傚父鎬绘暟"
-                align="center"
-                key="yczs"
-                prop="yczs"
-              >
-                <template slot-scope="scope">
-                  <el-button
-                    size="medium"
-                    type="danger"
-                    plain
-                    @click="routerErr(scope.row)"
-                    ><span class="button-zx"
-                      >{{scope.row.yczs}}</span
-                    ></el-button
-                  >
-                </template>
-              </el-table-column>
-              <!-- <el-table-column
-                label="鎬诲紓甯哥巼"
-                align="center"
-                key="tagdescription"
-                prop="tagdescription"
-              >
-              </el-table-column> -->
-              <el-table-column
-                label="鍥炲寮傚父鏁�"
+                label="鏃犻渶闅忚浜烘"
                 align="center"
                 width="100"
-                key="hfycs"
-                prop="hfycs"
-              >
-              </el-table-column>
-              <!-- <el-table-column
-                label="鍥炲寮傚父鍙婃椂澶勭悊鏁�"
-                align="center"
-                key="tagdescription"
-                prop="tagdescription"
+                key="nonFollowUp"
+                prop="nonFollowUp"
               >
               </el-table-column>
               <el-table-column
-                label="鍥炲寮傚父鍙婃椂澶勭悊鐜�"
+                label="搴旈殢璁夸汉娆�"
                 align="center"
-                key="tagdescription"
-                prop="tagdescription"
+                width="100"
+                key="followUpNeeded"
+                prop="followUpNeeded"
               >
-              </el-table-column> -->
-
-              <!-- <el-table-column
-                label="鎿嶄綔"
-                align="center"
-                width="300"
-                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-textxg"
-                      ><i class="el-icon-edit"></i>淇敼</span
-                    ></el-button
-                  >
-                  <el-button
-                    size="medium"
-                    type="text"
-                    @click="handleDelete(scope.row)"
-                    v-hasPermi="['system:user:remove']"
-                    ><span class="button-textsc"
-                      ><i class="el-icon-delete"></i>鍒犻櫎</span
-                    ></el-button
-                  >
-                </template>
-              </el-table-column> -->
+              </el-table-column>
+              <el-table-column align="center" label="棣栨鍑洪櫌闅忚">
+                <el-table-column
+                  label="搴旈殢璁�"
+                  align="center"
+                  key="needFollowUp"
+                  prop="needFollowUp"
+                >
+                </el-table-column>
+                <el-table-column
+                  label="寰呴殢璁�"
+                  align="center"
+                  key="pendingFollowUp"
+                  prop="pendingFollowUp"
+                >
+                </el-table-column>
+                <el-table-column
+                  label="闅忚鎴愬姛"
+                  align="center"
+                  key="followUpSuccess"
+                  prop="followUpSuccess"
+                >
+                </el-table-column>
+                <el-table-column
+                  label="闅忚澶辫触"
+                  align="center"
+                  key="followUpFail"
+                  prop="followUpFail"
+                >
+                </el-table-column>
+                <el-table-column
+                  label="闅忚鐜�"
+                  align="center"
+                  width="120"
+                  key="followUpRate"
+                  prop="followUpRate"
+                >
+                  <!-- <template slot-scope="scope">
+                    <span
+                      >{{
+                        (Number(scope.row.followUpRate) * 100).toFixed(2)
+                      }}%</span
+                    >
+                  </template> -->
+                </el-table-column>
+                <el-table-column
+                  label="浜哄伐"
+                  align="center"
+                  key="manual"
+                  prop="manual"
+                >
+                </el-table-column>
+                <el-table-column
+                  label="鐭俊"
+                  align="center"
+                  key="sms"
+                  prop="sms"
+                >
+                </el-table-column>
+                <el-table-column
+                  label="寰俊"
+                  align="center"
+                  key="weChat"
+                  prop="weChat"
+                >
+                </el-table-column>
+              </el-table-column>
+              <el-table-column align="center" label="鍐嶆鍑洪櫌闅忚">
+                <el-table-column
+                  label="搴旈殢璁�"
+                  align="center"
+                  key="needFollowUpAgain"
+                  prop="needFollowUpAgain"
+                >
+                </el-table-column>
+                <el-table-column
+                  label="寰呴殢璁�"
+                  align="center"
+                  key="pendingFollowUpAgain"
+                  prop="pendingFollowUpAgain"
+                >
+                </el-table-column>
+                <el-table-column
+                  label="闅忚鎴愬姛"
+                  align="center"
+                  key="followUpSuccessAgain"
+                  prop="followUpSuccessAgain"
+                >
+                </el-table-column>
+                <el-table-column
+                  label="闅忚澶辫触"
+                  align="center"
+                  key="followUpFailAgain"
+                  prop="followUpFailAgain"
+                >
+                </el-table-column>
+                <el-table-column
+                  label="闅忚鐜�"
+                  align="center"
+                  width="120"
+                  key="followUpRateAgain"
+                  prop="followUpRateAgain"
+                >
+                  <!-- <template slot-scope="scope">
+                    <span
+                      >{{
+                        (Number(scope.row.FollowUpRateAgain) * 100).toFixed(2)
+                      }}%</span
+                    >
+                  </template> -->
+                </el-table-column>
+                <el-table-column
+                  label="浜哄伐"
+                  align="center"
+                  key="manualAgain"
+                  prop="manualAgain"
+                >
+                </el-table-column>
+                <el-table-column
+                  label="鐭俊"
+                  align="center"
+                  key="smsAgain"
+                  prop="smsAgain"
+                >
+                </el-table-column>
+                <el-table-column
+                  label="寰俊"
+                  align="center"
+                  key="weChatAgain"
+                  prop="weChatAgain"
+                >
+                </el-table-column>
+              </el-table-column>
             </el-table>
 
             <!-- <pagination
@@ -462,9 +395,7 @@
   listtag,
   tagclassifylist,
 } from "@/api/system/label";
-import {
-  getSfStatistics,deptTreeSelect
-} from "@/api/system/user";
+import { getSfStatistics, deptTreeSelect } from "@/api/system/user";
 
 import Treeselect from "@riophae/vue-treeselect";
 import "@riophae/vue-treeselect/dist/vue-treeselect.css";
@@ -513,7 +444,19 @@
       idds: "", //鍒嗙被id
       // 鎬绘潯鏁�
       total: 0,
-      flatArray:[],
+      flatArray: [],
+      deptflatArray: [],
+
+      Statisticallist: [
+        {
+          label: "鐥呭尯缁熻",
+          value: 1,
+        },
+        {
+          label: "绉戝缁熻",
+          value: 2,
+        },
+      ],
       amendtag: false, //鏄惁淇敼绫诲埆
       lstamendtag: false, //鏄惁淇敼鏍囩
       scavisible: false, //鍒犻櫎寮规
@@ -556,19 +499,46 @@
       options: [
         {
           value: 1,
-          label: "涓滃崡",
+          label: "鐩戞祴璇勪及",
         },
         {
           value: 2,
-          label: "瑗垮寳",
+          label: "鍑洪櫌闅忚",
         },
         {
           value: 3,
-          label: "浠ㄤ花浠�",
+          label: "闂ㄨ瘖闅忚",
         },
         {
           value: 4,
-          label: "鍏椋掗",
+          label: "瀹f暀鍏虫��",
+        },
+        {
+          value: 5,
+          label: "澶嶈瘖绠$悊",
+        },
+
+        {
+          value: 7,
+          label: "鎮h�呮姤鍛�",
+        },
+
+        {
+          value: 9,
+          label: "浣撴闅忚",
+        },
+
+        {
+          value: 11,
+          label: "褰卞儚闅忚",
+        },
+        {
+          value: 12,
+          label: "蹇冪數闅忚",
+        },
+        {
+          value: 13,
+          label: "涓撶梾闅忚",
         },
       ],
       pickerOptions: {
@@ -587,8 +557,9 @@
       queryParams: {
         pageNum: 1,
         pageSize: 10,
-        serviceType:[2],
+        serviceType: [2],
         dateRange: [],
+        statisticaltype: 1,
       },
       // 鍒椾俊鎭�
       columns: [
@@ -605,7 +576,7 @@
   watch: {},
   created() {
     this.getList();
-this.getDeptTree();
+    this.getDeptTree();
   },
 
   methods: {
@@ -635,10 +606,10 @@
       // 绉戝鍒楄〃
       deptTreeSelect().then((response) => {
         this.deptOptions = response.data;
-        console.log( this.deptOptions,' this.deptOptions');
+        console.log(this.deptOptions, " this.deptOptions");
 
         this.flatArray = this.flattenArray(response.data);
-        console.log(this.flatArray,'this.flatArray');
+        console.log(this.flatArray, "this.flatArray");
       });
     },
     flattenArray(multiArray) {
@@ -693,7 +664,7 @@
       };
     },
     routerErr(row) {
-      console.log(row,'璺宠浆寮傚父');
+      console.log(row, "璺宠浆寮傚父");
       this.$router.push({
         path: "/followvisit/discharge",
         query: {
@@ -741,14 +712,16 @@
     handleQuery() {
       this.queryParams.pageNum = 1;
       console.log();
-      this.queryParams.startTime = this.parseTime(this.queryParams.dateRange[0]);
+      this.queryParams.startTime = this.parseTime(
+        this.queryParams.dateRange[0]
+      );
       this.queryParams.endTime = this.parseTime(this.queryParams.dateRange[1]);
       this.getList();
     },
     /** 閲嶇疆鎸夐挳鎿嶄綔 */
     resetQuery() {
       this.queryParams.dateRange = [];
-      this.queryParams.leavehospitaldistrictcodes=[];
+      this.queryParams.leavehospitaldistrictcodes = [];
       this.handleQuery();
     },
     // 澶氶�夋閫変腑鏁版嵁
@@ -782,7 +755,7 @@
     /** 瀵煎嚭鎸夐挳鎿嶄綔 */
     handleExport() {
       this.download(
-        "base/tag/export",
+        "smartor/serviceSubtask/getSfStatisticsExport",
         {
           ...this.queryParams,
         },
diff --git a/src/views/sfstatistics/propaganda/index.vue b/src/views/sfstatistics/propaganda/index.vue
index 12167c2..05186ae 100644
--- a/src/views/sfstatistics/propaganda/index.vue
+++ b/src/views/sfstatistics/propaganda/index.vue
@@ -419,7 +419,7 @@
         <div>
           <el-table :data="tableData" style="width: 100%">
             <el-table-column prop="date" label="鎮h�呭鍚�"> </el-table-column>
-            <el-table-column prop="namea" label="鎬у埆"> </el-table-column>
+            <el-table-column prop="namea" label="鎬у埆"width="100"> </el-table-column>
             <el-table-column prop="namec" label="骞撮緞"> </el-table-column>
             <el-table-column prop="named" label="鑱旂郴鏂瑰紡"> </el-table-column>
             <el-table-column prop="namee" label="璁″垝鎵ц鏃堕棿" width="120">
diff --git a/src/views/sfstatistics/statement/index.vue b/src/views/sfstatistics/statement/index.vue
index 74e75db..551b975 100644
--- a/src/views/sfstatistics/statement/index.vue
+++ b/src/views/sfstatistics/statement/index.vue
@@ -420,7 +420,7 @@
         <div>
           <el-table :data="tableData" style="width: 100%">
             <el-table-column prop="date" label="鎮h�呭鍚�"> </el-table-column>
-            <el-table-column prop="namea" label="鎬у埆"> </el-table-column>
+            <el-table-column prop="namea" label="鎬у埆"width="100"> </el-table-column>
             <el-table-column prop="namec" label="骞撮緞"> </el-table-column>
             <el-table-column prop="named" label="鑱旂郴鏂瑰紡"> </el-table-column>
             <el-table-column prop="namee" label="璁″垝鎵ц鏃堕棿" width="120">
diff --git a/src/views/shortmessage/communication/index.vue b/src/views/shortmessage/communication/index.vue
index bbfa8a8..14407b5 100644
--- a/src/views/shortmessage/communication/index.vue
+++ b/src/views/shortmessage/communication/index.vue
@@ -702,9 +702,7 @@
     },
     // 鑾峰彇鑱旂郴浜轰俊鎭垨婊氬姩鍒伴《閮ㄨЕ鍙�
     handlePullMessages(contact, next, instance) {
-      console.log(contact, "鑾峰彇鑱旂郴浜轰俊鎭疉");
-      console.log(instance, "鑾峰彇鑱旂郴浜轰俊鎭疊");
-      console.log(next, "鑾峰彇鑱旂郴浜轰俊鎭疌");
+
       const otheruser = {
         id: contact.id,
         displayName: contact.displayName,
diff --git a/src/views/shortmessage/healthinformation/index.vue b/src/views/shortmessage/healthinformation/index.vue
index 1db7b88..ee7d665 100644
--- a/src/views/shortmessage/healthinformation/index.vue
+++ b/src/views/shortmessage/healthinformation/index.vue
@@ -350,7 +350,7 @@
       </div>
     </div>
     <!-- 娣诲姞绫诲埆寮规 -->
-    <el-dialog title="鏂板绫诲埆" width="30%" :visible.sync="dialogFormVisible">
+    <el-dialog title="绫诲埆缂栬緫" width="30%" :visible.sync="dialogFormVisible">
       <div style="text-align: center; margin-bottom: 20px">
         <el-radio-group v-model="radio">
           <el-radio-button label="涓诲垎绫�"></el-radio-button>
diff --git a/src/views/shortmessage/messagebank/index.vue b/src/views/shortmessage/messagebank/index.vue
index 6adb4cb..d35bf0f 100644
--- a/src/views/shortmessage/messagebank/index.vue
+++ b/src/views/shortmessage/messagebank/index.vue
@@ -37,7 +37,7 @@
           :class="classestag == 4 ? 'state-lines' : 'state-line'"
           @click="awaitfn"
         >
-          <div class="value-left"><i class="el-icon-s-help" />寰呮墽琛�</div>
+          <div class="value-left"><i class="el-icon-s-help" />寰呴殢璁�</div>
           <div class="quantityd">22</div>
         </div>
       </div>
@@ -770,7 +770,7 @@
     losefn() {
       this.classestag = 3;
     },
-    // 鍒囨崲寰呮墽琛岀被鍒�
+    // 鍒囨崲寰呴殢璁跨被鍒�
     awaitfn() {
       this.classestag = 4;
     },
diff --git a/src/views/system/user/authRole.vue b/src/views/system/user/authRole.vue
index 7efe5ad..10f0647 100644
--- a/src/views/system/user/authRole.vue
+++ b/src/views/system/user/authRole.vue
@@ -101,8 +101,8 @@
     /** 鎻愪氦鎸夐挳 */
     submitForm() {
       const userId = this.form.userId;
-      const roleIds = this.roleIds.join(",");
-      updateAuthRole({ userId: userId, roleIds: roleIds }).then((response) => {
+      // const roleIds = this.roleIds.join(",");
+      updateAuthRole({ userId: userId, roleIds: this.roleIds }).then((response) => {
         this.$modal.msgSuccess("鎺堟潈鎴愬姛");
         this.close();
       });
diff --git a/src/views/system/user/index.vue b/src/views/system/user/index.vue
index 6fb0d9f..4a0cfcc 100644
--- a/src/views/system/user/index.vue
+++ b/src/views/system/user/index.vue
@@ -2,7 +2,7 @@
   <div class="app-container">
     <el-row :gutter="20">
       <!--閮ㄩ棬鏁版嵁-->
-      <el-col :span="4" :xs="24">
+      <!-- <el-col :span="4" :xs="24">
         <div class="head-container">
           <el-input
             v-model="deptName"
@@ -26,9 +26,9 @@
             @node-click="handleNodeClick"
           />
         </div>
-      </el-col>
+      </el-col> -->
       <!--鐢ㄦ埛鏁版嵁-->
-      <el-col :span="20" :xs="24">
+      <el-col :span="24" :xs="24">
         <el-form
           :model="queryParams"
           ref="queryForm"
@@ -332,36 +332,36 @@
           </el-col>
         </el-row>
         <el-form-item label="閫傜敤绉戝" prop="region">
-          <el-cascader
-            style="width: 478px"
-            v-model="form.deptCodes"
-            @remove-tag="removehpsp"
-            :options="deptOptions"
-            :props="props"
-            :show-all-levels="false"
-            clearable
-          >
-            <template slot-scope="{ node, data }">
-              <span>{{ data.label }}</span>
-              <span v-if="!node.isLeaf"> ({{ data.children.length }}) </span>
-            </template>
-          </el-cascader>
+            <el-cascader
+              style="width: 478px"
+              v-model="form.deptCodes"
+              @remove-tag="removehpsp"
+              :options="deptOptionsks"
+              :props="props"
+              filterable
+              clearable
+            >
+              <template slot-scope="{ node, data }">
+                <span>{{ data.label }}</span>
+                <span v-if="!node.isLeaf"> ({{ data.children.length }}) </span>
+              </template>
+            </el-cascader>
         </el-form-item>
         <el-form-item label="閫傜敤鐥呭尯" prop="region">
-          <el-cascader
-            style="width: 478px"
-            @remove-tag="removehpsp"
-            v-model="form.wardCodes"
-            :options="deptOptions"
-            :props="props"
-            :show-all-levels="false"
-            clearable
-          >
-            <template slot-scope="{ node, data }">
-              <span>{{ data.label }}</span>
-              <span v-if="!node.isLeaf"> ({{ data.children.length }}) </span>
-            </template>
-          </el-cascader>
+            <el-cascader
+              style="width: 478px"
+              @remove-tag="removehpsp"
+              v-model="form.wardCodes"
+              :options="deptOptionsbq"
+              :props="props"
+              filterable
+              clearable
+            >
+              <template slot-scope="{ node, data }">
+                <span>{{ data.label }}</span>
+                <span v-if="!node.isLeaf"> ({{ data.children.length }}) </span>
+              </template>
+            </el-cascader>
         </el-form-item>
         <el-row>
           <el-col :span="12">
@@ -579,7 +579,8 @@
       // 寮瑰嚭灞傛爣棰�
       title: "",
       // 閮ㄩ棬鏍戦�夐」
-      deptOptions: undefined,
+      deptOptionsks: undefined,
+      deptOptionsbq: undefined,
       // 鏄惁鏄剧ず寮瑰嚭灞�
       open: false,
       // 閮ㄩ棬鍚嶇О
@@ -694,6 +695,14 @@
       this.initPassword = response.msg;
     });
   },
+  mounted() {
+    this.$nextTick(() => {
+      const menuWrap = document.querySelector('.el-cascader-menu__wrap');
+      if (menuWrap) {
+        menuWrap.style.height = '404px';
+      }
+    });
+  },
   methods: {
     /** 鏌ヨ鐢ㄦ埛鍒楄〃 */
     getList() {
@@ -710,8 +719,11 @@
     /** 鏌ヨ閮ㄩ棬涓嬫媺鏍戠粨鏋� */
     getDeptTree() {
       // 绉戝鍒楄〃
-      deptTreeSelect().then((response) => {
-        this.deptOptions = response.data;
+      deptTreeSelect(1).then((response) => {
+        this.deptOptionsks = response.data;
+      });
+      deptTreeSelect(2).then((response) => {
+        this.deptOptionsbq = response.data;
       });
       // 闄㈠尯鍒楄〃
       //  deptTreeSelect().then((response) => {
@@ -763,8 +775,8 @@
         remark: undefined,
         postIds: [],
         roleIds: [],
-        deptCodes:[],
-        wardCodes:[],
+        deptCodes: [],
+        wardCodes: [],
       };
       this.resetForm("form");
     },
@@ -822,14 +834,14 @@
         this.form = response.data;
         this.belongDepts = response.belongDepts;
         this.belongWards = response.belongWards;
-        if (this.form.hospInfo){
+        if (this.form.hospInfo) {
           this.form.deptCodes = JSON.parse(this.form.hospInfo);
-        }else{
+        } else {
           this.form.deptCodes = [];
         }
-        if (this.form.deptInfo){
+        if (this.form.deptInfo) {
           this.form.wardCodes = JSON.parse(this.form.deptInfo);
-        }else{
+        } else {
           this.form.wardCodes = [];
         }
         console.log(this.form.wardCodes, "wardCodes");
@@ -846,10 +858,10 @@
     },
     // 鍒犻櫎绉戝
     removehpsp(valueArray) {
-      console.log(valueArray,'鍒犻櫎绉戝');
-      console.log(this.form.userId,'鍒犻櫎');
-     let code=valueArray[valueArray.length-1];
-      removeusertd(this.form.userId,code).then((res) => {
+      console.log(valueArray, "鍒犻櫎绉戝");
+      console.log(this.form.userId, "鍒犻櫎");
+      let code = valueArray[valueArray.length - 1];
+      removeusertd(this.form.userId, code).then((res) => {
         if (res.code) {
         }
       });
@@ -880,13 +892,13 @@
       this.form.hospInfo = JSON.stringify(this.form.deptCodes);
       this.form.deptInfo = JSON.stringify(this.form.wardCodes);
       if (this.form.deptCodes.length)
-      this.form.deptCodes = this.form.deptCodes.map(
-        (subArr) => subArr[subArr.length - 1]
-      );
+        this.form.deptCodes = this.form.deptCodes.map(
+          (subArr) => subArr[subArr.length - 1]
+        );
       if (this.form.wardCodes.length)
-      this.form.wardCodes = this.form.wardCodes.map(
-        (subArr) => subArr[subArr.length - 1]
-      );
+        this.form.wardCodes = this.form.wardCodes.map(
+          (subArr) => subArr[subArr.length - 1]
+        );
       console.log(this.form.wardCodes, "wardCodes");
       console.log(this.form.deptCodes, "deptCodes");
 
@@ -1017,3 +1029,12 @@
   },
 };
 </script>
+<style lang="scss" >
+// ::v-deep .el-cascader-menu__wrap{
+//   min-height: 404px ;
+// }
+// ::v-deep.el-cascader-panel .el-cascader-menu__wrap {
+//   height: 404px !important;
+// }
+
+</style>
diff --git a/src/views/system/user/profile/userInfo.vue b/src/views/system/user/profile/userInfo.vue
index c09a20b..2514f1f 100644
--- a/src/views/system/user/profile/userInfo.vue
+++ b/src/views/system/user/profile/userInfo.vue
@@ -2,14 +2,14 @@
   <el-form ref="form" :model="user" :rules="rules" label-width="80px">
     <el-form-item label="鐢ㄦ埛鏄电О" prop="nickName">
       <el-input v-model="user.nickName" maxlength="30" />
-    </el-form-item> 
+    </el-form-item>
     <el-form-item label="鎵嬫満鍙风爜" prop="phonenumber">
       <el-input v-model="user.phonenumber" maxlength="11" />
     </el-form-item>
     <el-form-item label="閭" prop="email">
       <el-input v-model="user.email" maxlength="50" />
     </el-form-item>
-    <el-form-item label="鎬у埆">
+    <el-form-item label="鎬у埆"width="100">
       <el-radio-group v-model="user.sex">
         <el-radio label="0">鐢�</el-radio>
         <el-radio label="1">濂�</el-radio>
diff --git a/src/views/tool/build/index.vue b/src/views/tool/build/index.vue
index 2c8efa0..f472fbf 100644
--- a/src/views/tool/build/index.vue
+++ b/src/views/tool/build/index.vue
@@ -3,7 +3,7 @@
     <div class="left-board">
       <div class="logo-wrapper">
         <div class="logo">
-          <img :src="logo" alt="logo"> Form Generator
+          <!-- <img :src="logo" alt="logo"> Form Generator -->
         </div>
       </div>
       <el-scrollbar class="left-scrollbar">
diff --git a/vue.config.js b/vue.config.js
index 7e0400f..2658025 100644
--- a/vue.config.js
+++ b/vue.config.js
@@ -7,7 +7,7 @@
 
 const CompressionPlugin = require('compression-webpack-plugin')
 
-const name = process.env.VUE_APP_TITLE || '娴欎腑鍖诲ぇ浜岄櫌鏅烘収闅忚骞冲彴' // 缃戦〉鏍囬
+const name = process.env.VUE_APP_TITLE || '鏅畞浜烘皯鍖婚櫌鏅烘収闅忚骞冲彴' // 缃戦〉鏍囬
 
 const port = process.env.port || process.env.npm_config_port || 8093 // 绔彛
 
@@ -35,13 +35,13 @@
     proxy: {
       // detail: https://cli.vuejs.org/config/#devserver-proxy
       [process.env.VUE_APP_BASE_API]: {
-        // target: `http://192.168.168.60:8095`,
+        // target: `https://www.health-y.cn/lssf`,
         // target: `http://10.202.20.185:8095`,
         // target: `http://192.168.100.184:8095`,
         target:`http://localhost:8095`,
         // target: `http://192.168.101.135:8095`,
         // target: `http://192.168.101.166:8093`,
-        // target: `http://192.168.191.181:8095`,
+        target: `http://192.168.191.181:8095`,
         changeOrigin: true,
         pathRewrite: {
           ['^' + process.env.VUE_APP_BASE_API]: ''

--
Gitblit v1.9.3