From c87c46af739fe4b06d9b68c41f423f58817a4596 Mon Sep 17 00:00:00 2001 From: WXL <1785969728@qq.com> Date: 星期三, 08 一月 2025 15:08:30 +0800 Subject: [PATCH] 外链独立 --- src/api/AiCentre/index.js | 12 +----- /dev/null | 75 ------------------------------------- src/components/TopNav/index.vue | 2 src/store/modules/permission.js | 6 +- 4 files changed, 6 insertions(+), 89 deletions(-) diff --git a/src/api/AiCentre/Followup.js b/src/api/AiCentre/Followup.js deleted file mode 100644 index b20b35a..0000000 --- a/src/api/AiCentre/Followup.js +++ /dev/null @@ -1,101 +0,0 @@ -import request from "@/utils/request"; - -// 鏌ヨ闅忚妯℃澘鍒楄〃 -export function getFollowuplist(data) { - return request({ - url: "/smartor/template/list", - method: "post", - data: data, - }); -} -// 闅忚妯℃澘璇︽儏 -export function Followupinfo(Id) { - return request({ - url: "/smartor/template/" + Id, - method: "get", - }); -} -// 鍒犻櫎闅忚妯℃澘 -export function delFollowupinfo(Id) { - return request({ - url: "/smartor/template/remove/" + Id, - method: "get", - }); -} -// 鏂板鎴栦慨鏀归殢璁挎ā鏉� -export function compileFollowup(data) { - return request({ - url: "/smartor/template/saveOrUpdateScript", - method: "post", - data: data, - }); -} -// 鏌ヨ闅忚妯℃澘璇︽儏鍒楄〃 -export function getvFollowup(data) { - return request({ - url: "/smartor/template/selectInfoByCondition", - method: "post", - data: data, - }); -} -export function getTaskFollowup(id) { - return request({ - url: "/smartor/ivrTaskTemplate/getTemplateInfoByID/"+id, - method: "get", - // data: data, - }); -} - -// 鏂板闅忚妯℃澘鍒嗙被鏍� -export function addFollowupclassify(data) { - return request({ - url: "/smartor/templateassort/addtree", - method: "post", - data: data, - }); -} -// 鏂板闅忚妯℃澘鍒嗙被鏍� -export function editFollowupclassify(data) { - return request({ - url: "/smartor/templateassort/edit", - method: "post", - data: data, - }); -} -// 鍒犻櫎闅忚妯℃澘鍒嗙被 -export function delFollowupclassify(Id) { - return request({ - url: "/smartor/templateassort/remove/" + Id, - method: "get", - }); -} -// 鏌ヨ闅忚妯℃澘鍒嗙被鏍� -export function getFollowupclassify(data) { - return request({ - url: "/smartor/templateassort/selectIvrLibaTemplateAssortList", - method: "post", - data: data, - }); -} -// 闂嵎浠诲姟妯℃澘鏂板淇敼 -export function Taskparticty(data) { - return request({ - url: "/smartor/ivrTaskTemplate/saveOrUpdateTempScript", - method: "post", - data: data, - }); -} -// 鍒犻櫎浠诲姟妯℃澘 -export function deleteTaskparticty(svyid) { - return request({ - url: "/smartor/ivrTaskTemplate/remove/" + svyid, - method: "get", - }); -} - -export function getTaskparticty(svyid) { - return request({ - url: "/smartor/ivrTaskTemplate/getInfo/" + svyid, - method: "get", - }); -} 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/Problemspeaking.js b/src/api/AiCentre/Problemspeaking.js deleted file mode 100644 index 2ff7701..0000000 --- a/src/api/AiCentre/Problemspeaking.js +++ /dev/null @@ -1,71 +0,0 @@ -import request from "@/utils/request"; - -// 鏌ヨ闅忚闂鍒楄〃 -export function getverbaltricklist(data) { - return request({ - url: "/smartor/script/list", - method: "post", - data: data, - }); -} -// 闅忚闂璇︽儏 -export function verbaltrickinfo(Id) { - return request({ - url: "/smartor/script/getInfo/" + Id, - method: "get", - }); -} -// 鍒犻櫎闅忚闂 -export function delverbaltrickinfo(Id) { - return request({ - url: "/smartor/script/remove/" + Id, - method: "get", - }); - } -// 鏂板鎴栦慨鏀归殢璁块棶棰� -export function compileverbaltrick(data) { - return request({ - url: "/smartor/script/saveOrUpdateScript", - method: "post", - data: data, - }); - } - // 鏌ヨ闅忚闂璇︽儏鍒楄〃 -export function getverbaltrick(data) { - return request({ - url: "/smartor/script/selectInfoByCondition", - method: "post", - data: data, - }); - } - // 淇敼闅忚闂鍒嗙被 -export function compileverbaltrickclassify(data) { - return request({ - url: "/smartor/scriptassort/edit", - method: "post", - data: data, - }); -} - // 鏂板闅忚闂鍒嗙被 - export function addbaltrickclassify(data) { - return request({ - url: "/smartor/scriptassort/addtree", - method: "post", - data: data, - }); - } - // 鍒犻櫎闅忚闂鍒嗙被 -export function delbaltrickclassify(Id) { - return request({ - url: "/smartor/scriptassort/remove/" + Id, - method: "get", - }); -} - // 鏌ヨ闅忚闂鍒嗙被鏍� - export function getbaltrickclassify(data) { - return request({ - url: "/smartor/scriptassort/selectIvrLibaScriptAssortList", - method: "post", - data: data, - }); - } \ No newline at end of file diff --git a/src/api/AiCentre/Qtemplate.js b/src/api/AiCentre/Qtemplate.js deleted file mode 100644 index 55d9e46..0000000 --- a/src/api/AiCentre/Qtemplate.js +++ /dev/null @@ -1,183 +0,0 @@ -import request from "@/utils/request"; -import { param } from "jquery"; - -// 鏌ヨ闂嵎妯℃澘鍒楄〃 -export function getQtemplateobj(data) { - return request({ - url: "/smartor/svyLibTemplate/selectSvyLibTemplatelist", - method: "post", - data: data, - }); -} -// 闂嵎妯℃澘鍒楄〃 -export function getQtemplatelist(data) { - return request({ - url: "/smartor/svyLibTemplate/list", - method: "get", - params: data, - }); -} -// 闂嵎妯℃澘璇︽儏 -export function Qtemplateinfo(Id) { - return request({ - url: "/smartor/svyLibTemplate/" + Id, - method: "get", - }); -} -// 鍒犻櫎闂嵎妯℃澘 -export function delQtemplateinfo(Id) { - return request({ - url: "/smartor/svyLibTemplate/remove/" + Id, - method: "get", - }); - } -// 鏂板鎴栦慨鏀归棶鍗锋ā鏉胯鎯� -export function compileQtemplate(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 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 deleteTaskQuestioncomit(svyid) { - return request({ - url: "/smartor/svytemplateTask/remove/" + svyid, - method: "get", - }); -} - - 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) { - return request({ - url: "/smartor/td/list", - method: "get", - params: data, - }); -} - // 鍒犻櫎绉戝鐥呭尯妯℃澘鍒嗙被 - export function depthospgetsondel(id) { - return request({ - url: "/smartor/td/remove/" + id, - method: "get", - }); - } -// 鍖绘姢淇濆瓨鏁版嵁 - -export function serviceSubtaskDetailedit(data) { - return request({ - url: "/smartor/serviceSubtaskDetail/editByCondition", - method: "post", - data: data, - }); -} -export function serviceSubtaskDetailadd(data) { - return request({ - url: "/smartor/serviceSubtaskDetail/add", - method: "post", - data: data, - }); -} diff --git a/src/api/AiCentre/SingleTask.js b/src/api/AiCentre/SingleTask.js deleted file mode 100644 index 9480392..0000000 --- a/src/api/AiCentre/SingleTask.js +++ /dev/null @@ -1,131 +0,0 @@ -import request from "@/utils/request"; - -// 鏌ヨ瀹f暀浠诲姟鍒楄〃 -export function gethetasklist(data) { - return request({ - url: "/smartor/serviceSubtask/getPatHeTaskList", - method: "post", - data: data, - }); -} - -// 鍒犻櫎瀹f暀浠诲姟 -export function delhetaskinfo(Id) { - return request({ - url: "/smartor/serviceSubtask/remove/" + Id, - method: "get", - }); - } - // 鏌ヨ瀹f暀浠诲姟璇︽儏鍒楄〃 - export function gethetaskinfo(Id) { - return request({ - url: "/smartor/serviceSubtask/getInfo/" + Id, - method: "get", - }); - } -// 鏂板妯℃澘 -export function addhetask(data) { - return request({ - url: "/smartor/serviceSubtask/add", - method: "post", - data: data, - }); - } -// 淇敼瀹f暀浠诲姟 - export function edithetask(data) { - return request({ - url: "/smartor/serviceSubtask/edit", - method: "post", - data: data, - }); - } - // 鑾峰彇鎮h�呬俊鎭� - export function getTaskpatient(data) { - return request({ - url: "/smartor/patarchive/getPatientInfo", - method: "post", - data: data, - }); - } - // 鏂板鎴栦慨鏀逛换鍔� - export function Editsingletask(data) { - return request({ - url: "/smartor/serviceSubtask/insertOrUpdateTask", - method: "post", - data: data, - }); - } - // 鏂板鎴栦慨鏀瑰崟涓湇鍔� - export function Editsingletaskson(data) { - return request({ - url: "/smartor/serviceSubtask/update", - method: "post", - data: data, - }); - } - // 鍒犻櫎浠诲姟骞跺垹闄ゅ叧鑱旂殑鎮h�呮湇鍔� - export function delTaskInfo(taskid) { - return request({ - url: "/smartor/servicetask/remove/"+taskid, - method: "get", - }); - } - // 鏌ヨ浠诲姟鍒楄〃 - export function getTasklist(data) { - return request({ - url: "/smartor/servicetask/list", - method: "post", - data: data, - }); - } - // 鏌ヨ浠诲姟璇︽儏 - export function getTaskInfo(data) { - return request({ - url: "/smartor/serviceSubtask/queryTaskByCondition", - method: "post", - data: data, - }); - } - - // 鏌ヨ闂ㄨ瘖鍑洪櫌鏈嶅姟鍒楄〃 - export function getTaskservelist(data) { - return request({ - url: "/smartor/serviceSubtask/patItem", - method: "post", - data: data, - }); - } - // 浠诲姟绔嬪嵆鎵ц - export function GoheTaskSend(data) { - return request({ - url: "/smartor/serviceSubtask/heTaskSend", - method: "post", - data: data, - }); - } - - // 鑾峰彇浠诲姟妯℃澘璇︽儏 - export function TaskTemplategetinfo(id) { - return request({ - url: "/smartor/ivrTaskTemplate/getInfo/"+id, - method: "get", - }); - } - // 浠诲姟妯℃澘鏂板淇敼 - export function TaskTemplatecomit(data) { - return request({ - url: "/smartor/ivrTaskTemplate/saveOrUpdateTempScript", - method: "post", - data: data, - }); - } - // 浠诲姟鍙戦�侊紝鎵ц - export function TaskTemplateSendExecution(data) { - return request({ - url: "/smartor/commonTask/taskSend", - method: "post", - data: data, - }); - } - - diff --git a/src/api/AiCentre/general.js b/src/api/AiCentre/general.js deleted file mode 100644 index c5a6b90..0000000 --- a/src/api/AiCentre/general.js +++ /dev/null @@ -1,105 +0,0 @@ -import request from "@/utils/request"; - -// 鏌ヨ閫氱敤妯℃澘鍒楄〃 -export function getgenerallist(data) { - return request({ - url: "/smartor/extemplate/list", - method: "post", - data: data, - }); -} - -// 鍒犻櫎閫氱敤妯℃澘 -export function delgeneralinfo(Id) { - return request({ - url: "/smartor/extemplate/remove/" + Id, - method: "get", - }); - } - // 鏌ヨ閫氱敤妯℃澘璇︽儏鍒楄〃 - export function getgeneralinfo(Id) { - return request({ - url: "/smartor/extemplate/" + Id, - method: "get", - }); - } -// 鏂板妯℃澘 -export function addgeneral(data) { - return request({ - url: "/smartor/extemplate/add", - method: "post", - data: data, - }); - } -// 淇敼閫氱敤妯℃澘 - export function editgeneral(data) { - return request({ - url: "/smartor/extemplate/edit", - method: "post", - data: data, - }); - } - - - // 鏂板閫氱敤妯℃澘鍒嗙被鏍� - export function addgeneralclassify(data) { - return request({ - url: "/smartor/category/add", - method: "post", - data: data, - }); - } - // 鍒犻櫎閫氱敤妯℃澘鍒嗙被 -export function delgeneralclassify(Id) { - return request({ - url: "/smartor/category/remove/" + Id, - method: "get", - }); -} - // 鏌ヨ閫氱敤妯℃澘鍒嗙被鏍� - export function getgeneralclassify(data) { - return request({ - url: "/smartor/category/list", - method: "post", - data: data, - }); - } - // 鏌ヨ閫氱敤妯℃澘璇濇湳鍒楄〃 -export function getgeneravaluellist(data) { - return request({ - url: "/smartor/extemplatescript/list", - method: "post", - data: data, - }); - } - - // 鍒犻櫎閫氱敤妯℃澘璇濇湳 - export function delgeneravaluelinfo(Id) { - return request({ - url: "/smartor/extemplatescript/remove/" + Id, - method: "get", - }); - } - // 鏌ヨ閫氱敤妯℃澘璇濇湳璇︽儏 - export function getgeneravaluelinfo(Id) { - return request({ - url: "/smartor/extemplatescript/" + Id, - method: "get", - }); - } - // 鏂板妯℃澘璇濇湳 - export function addgeneravaluel(data) { - return request({ - url: "/smartor/extemplatescript/add", - method: "post", - data: data, - }); - } - // 淇敼閫氱敤妯℃澘璇濇湳 - export function editgeneravaluel(data) { - return request({ - url: "/smartor/extemplatescript/edit", - method: "post", - data: data, - }); - } diff --git a/src/api/AiCentre/index.js b/src/api/AiCentre/index.js index 1265370..8495f86 100644 --- a/src/api/AiCentre/index.js +++ b/src/api/AiCentre/index.js @@ -1,11 +1,3 @@ -export * from './indicator' -export * from './Problemspeaking' -export * from './Followup' -export * from './general' -export * from './publicity' -export * from './Qtemplate' -export * from './questionnaire' -export * from './SingleTask' + export * from './external' -export * from './Homeimage' -export * from './patientexternal' + diff --git a/src/api/AiCentre/indicator.js b/src/api/AiCentre/indicator.js deleted file mode 100644 index 695c223..0000000 --- a/src/api/AiCentre/indicator.js +++ /dev/null @@ -1,143 +0,0 @@ -import request from "@/utils/request"; - -// 鏌ヨ鎸囨爣鍙婂叾鍏宠仈閫夐」 -export function gettargetInfo(data) { - return request({ - url: "/smartor/target/targetInfo", - method: "post", - data: data, - }); -} -// 鏌ヨ鎸囨爣鍙婂叾鍏宠仈閫夐」 -export function gettargetInfolist(data) { - return request({ - url: "/smartor/target/list", - method: "post", - data: data, - }); -} -// 鎸囨爣璇︽儏 -export function particulartarget(Id) { - return request({ - url: "/smartor/target/getInfo/" + Id, - method: "get", - }); -} -// 淇敼鎸囨爣鍙婂叾鍏宠仈閫夐」 -export function gettargetInfoedit(data) { - return request({ - url: "/smartor/target/saveOrupdateIvrLibaTarget", - method: "post", - data: data, - }); -} - -// 鏂板鎸囨爣 -export function addtarget(data) { - return request({ - url: "/smartor/target/add", - method: "post", - data: data, - }); -} -// 鍒犻櫎鎸囨爣 -export function deletetarget(userId) { - return request({ - url: "/smartor/target/remove/" + userId, - method: "get", - }); -} -// 鏌ヨ鐤剧梾 -export function getillnesslist(data) { - return request({ - url: "/smartor/icd10/list", - method: "post", - data: data, - }); -} -// 鐤剧梾璇︽儏 -export function illnesslistget(Id) { - return request({ - url: "/smartor/icd10/getInfo/" + Id, - method: "get", - }); -} -// 鏌ヨ鎸囨爣鐤剧梾 -export function getillness(data) { - return request({ - url: "/smartor/outicd10/list", - method: "post", - data: data, - }); -} -// 鏂板鎸囨爣鐤剧梾 -export function addtargetillness(data) { - return request({ - url: "/smartor/outicd10/add", - method: "post", - data: data, - }); -} -// 鍒犻櫎鎸囨爣鐤剧梾 -export function deltargetillness(Id) { - return request({ - url: "/smartor/outicd10/remove/" + Id, - method: "get", - }); -} -// 鏌ヨ鎸囨爣鍒嗙被 -export function selectIvrLibaTargetAssortList(data) { - return request({ - url: "/smartor/assort/selectIvrLibaTargetAssortList", - method: "post", - data:data, - }); -} -// 鏂板鎸囨爣鍒嗙被 -export function addselectIvrLibaTargetAssort(data) { - return request({ - url: "/smartor/assort/add", - method: "post", - data:data, - }); -} -// 鍒犻櫎鎸囨爣鍒嗙被 -export function delselectIvrLibaTargetAssort(id) { - return request({ - url: "/smartor/assort/remove/" + id, - method: "get", - }); -} -// 鏂板鎸囨爣鍒嗙被鏍� -export function addtreeselectIvrLibaTargetAssort(data) { - return request({ - url: "/smartor/assort/addtree", - method: "post", - data:data, - }); -} -// 鏂板鎸囨爣鍒嗙被鏍� -export function edittreeselectIvrLibaTargetAssort(data) { - return request({ - url: "/smartor/assort/edit", - method: "post", - data:data, - }); -} -// 鏂板鎸囨爣鍒嗙被鏍� -export function gettagerlist(data) { - return request({ - url: "/smartor/target/list", - method: "post", - data:data, - }); -} -// 娴嬭瘯鎸囨爣 -export function testtagerlist(data) { - return request({ - url: "/smartor/target/targetQuesMate", - method: "post", - data:data, - }); -} - diff --git a/src/api/AiCentre/patientexternal.js b/src/api/AiCentre/patientexternal.js deleted file mode 100644 index 6a89b43..0000000 --- a/src/api/AiCentre/patientexternal.js +++ /dev/null @@ -1,33 +0,0 @@ -import request from "@/utils/request"; - - -// 鍒犻櫎澶栭儴鎮h�呰〃 -export function delExternal(Id) { - return request({ - url: "/smartor/import/remove/" + Id, - method: "get", - }); -} -// 鏌ヨ澶栭儴鎮h�呰〃 -export function Externallist(data) { - return request({ - url: "/smartor/import/list", - method: "post", - data: data, - }); -} -// 淇敼澶栭儴鎮h�呰〃 -export function Externaledit(data) { - return request({ - url: "/smartor/import/edit", - method: "post", - data: data, - }); -} -// 鎮h�呰鎯� -export function Externalpatient(userId) { - return request({ - url: '/smartor/import/getInfo/' + userId, - method: 'get', - }) -}; diff --git a/src/api/AiCentre/publicity.js b/src/api/AiCentre/publicity.js deleted file mode 100644 index 06097d8..0000000 --- a/src/api/AiCentre/publicity.js +++ /dev/null @@ -1,81 +0,0 @@ -import request from "@/utils/request"; - -// 鏌ヨ瀹f暀妯℃澘鍒楄〃 -export function getlibrarylist(data) { - return request({ - url: "/smartor/library/list", - method: "post", - data: data, - }); -} - -// 鍒犻櫎瀹f暀妯℃澘 -export function dellibraryinfo(Id) { - return request({ - url: "/smartor/library/remove/" + Id, - method: "get", - }); - } - // 鏌ヨ瀹f暀妯℃澘璇︽儏鍒楄〃 - export function getlibraryinfo(data) { - return request({ - url: "/smartor/library/selectInfoByCondition", - method: "post", - data: data, - }); - } -// 鏂板鎴栦慨鏀瑰鏁欐ā鏉� -export function compilelibrary(data) { - return request({ - url: "/smartor/library/saveOrUpdateHeLibrary", - method: "post", - data: data, - }); - } - // 鏂板鎴栦慨鏀瑰鏁欐ā鏉� -export function getcompiletask(data) { - return request({ - url: "/smartor/heTaskSingle/queryHeTaskByCondition", - method: "post", - data: data, - }); -} - export function addrichText(data) { - return request({ - url: "/common/htmlContent", - method: "post", - data: data, - }); - } - // 鏂板瀹f暀妯℃澘鍒嗙被鏍� - export function addheLibraryAssort(data) { - return request({ - url: "/smartor/heLibraryAssort/addtree", - method: "post", - data: data, - }); - } - // 鏂板瀹f暀妯℃澘鍒嗙被鏍� - export function editheLibraryAssort(data) { - return request({ - url: "/smartor/heLibraryAssort/edit", - method: "post", - data: data, - }); - } - // 鍒犻櫎瀹f暀妯℃澘鍒嗙被 -export function delheLibraryAssort(Id) { - return request({ - url: "/smartor/heLibraryAssort/remove/" + Id, - method: "get", - }); -} - // 鏌ヨ瀹f暀妯℃澘鍒嗙被鏍� - export function getheLibraryAssort(data) { - return request({ - url: "/smartor/heLibraryAssort/selectHeLibraryAssortList", - method: "post", - data: data, - }); - } - diff --git a/src/api/AiCentre/questionnaire.js b/src/api/AiCentre/questionnaire.js deleted file mode 100644 index 01520b7..0000000 --- a/src/api/AiCentre/questionnaire.js +++ /dev/null @@ -1,65 +0,0 @@ -import request from "@/utils/request"; - -// 鏌ヨ闂嵎闂鍒楄〃 -export function getissuelist(data) { - return request({ - url: "/smartor/svyscript/list", - method: "post", - data: data, - }); -} -// 闂嵎闂璇︽儏 -export function issueinfo(Id) { - return request({ - url: "/smartor/svyscript/getInfo/" + Id, - method: "get", - }); -} -// 鍒犻櫎闂嵎闂 -export function delissueinfo(Id) { - return request({ - url: "/smartor/svyscript/remove/" + Id, - method: "get", - }); - } -// 鏂板鎴栦慨鏀归棶鍗烽棶棰樿鎯� -export function compileissue(data) { - return request({ - url: "/smartor/svyscript/saveOrUpdateScript", - method: "post", - data: data, - }); - } - - - // 鏂板闂嵎闂鍒嗙被 - export function addissueclassify(data) { - return request({ - url: "/smartor/svyLibScriptCategory/addtree", - method: "post", - data: data, - }); - } - // 鏂板闂嵎闂鍒嗙被 - export function editissueclassify(data) { - return request({ - url: "/smartor/svyLibScriptCategory/edit", - method: "post", - data: data, - }); - } - // 鍒犻櫎闂嵎闂鍒嗙被 -export function delissueclassify(Id) { - return request({ - url: "/smartor/svyLibScriptCategory/remove/" + Id, - method: "get", - }); -} - // 鏌ヨ闂嵎闂鍒嗙被鏍� - export function getissueclassify(data) { - return request({ - url: "/smartor/svyLibScriptCategory/list", - method: "post", - data: data, - }); - } diff --git a/src/api/knowledge/education.js b/src/api/knowledge/education.js deleted file mode 100644 index 5def78d..0000000 --- a/src/api/knowledge/education.js +++ /dev/null @@ -1,62 +0,0 @@ -import request from '@/utils/request' -import { parseStrEmpty } from "@/utils/ruoyi";//澶勭悊瀛楃涓�,und,null杞崲涓�''; - -// 淇敼瀹f暀鍒嗙被 -export function amendtag(data) { - return request({ - url: '/smartor/hecategory/edit', - method: 'post', - data: data - }) -}; -// 鏂板瀹f暀鍒嗙被 -export function addapitag(data) { - return request({ - url: '/smartor/hecategory', - method: 'post', - data: data - }) - }; - -/** - * - * @param {鏍囩id} userId - * 鑾峰彇瀹f暀璇︽儏 - * @returns - */ -export function detailstag(userId) { - return request({ - url: '/smartor/hecategory/'+ userId, - method: 'get', - }) - }; - - - /** - * - * @param {鏍囩id} userId - * 鍒犻櫎鏍囩 - * @returns - */ -export function deletetag(userId) { - return request({ - url: '/smartor/hecategory/remove/' + userId, - method: 'get', - }) - }; - // 瀵煎嚭鏍囩鍒楄〃 -export function exporttag(data) { - return request({ - url: '/smartor/hecategory/export', - method: 'post', - data: data - }) - }; - // 鏌ヨ鏍囩鍒楄〃 -export function listtag(query) { - return request({ - url: '/smartor/hecategory/list', - method: 'get', - params: query - }) - }; \ No newline at end of file diff --git a/src/api/knowledge/questionbank.js b/src/api/knowledge/questionbank.js deleted file mode 100644 index 66c03f7..0000000 --- a/src/api/knowledge/questionbank.js +++ /dev/null @@ -1,11 +0,0 @@ -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/knowledge/questionnaire.js b/src/api/knowledge/questionnaire.js deleted file mode 100644 index 1edcc38..0000000 --- a/src/api/knowledge/questionnaire.js +++ /dev/null @@ -1,11 +0,0 @@ -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/components/TopNav/index.vue b/src/components/TopNav/index.vue index aec393d..307953e 100644 --- a/src/components/TopNav/index.vue +++ b/src/components/TopNav/index.vue @@ -93,7 +93,7 @@ childrenMenus.push(router.children[item]); } }); - return constantRoutes.concat(childrenMenus); + return constantRoutes; }, // 榛樿婵�娲荤殑鑿滃崟 activeMenu() { diff --git a/src/store/modules/permission.js b/src/store/modules/permission.js index 90e3782..cb0917f 100644 --- a/src/store/modules/permission.js +++ b/src/store/modules/permission.js @@ -18,10 +18,10 @@ mutations: { SET_ROUTES: (state, routes) => { state.addRoutes = routes - state.routes = constantRoutes.concat(routes) + state.routes = constantRoutes }, SET_DEFAULT_ROUTES: (state, routes) => { - state.defaultRoutes = constantRoutes.concat(routes) + state.defaultRoutes = constantRoutes }, SET_TOPBAR_ROUTES: (state, routes) => { state.topbarRouters = routes @@ -44,7 +44,7 @@ rewriteRoutes.push({ path: '*', redirect: '/404', hidden: true }) router.addRoutes(asyncRoutes); commit('SET_ROUTES', rewriteRoutes) - commit('SET_SIDEBAR_ROUTERS', constantRoutes.concat(sidebarRoutes)) + commit('SET_SIDEBAR_ROUTERS', constantRoutes) commit('SET_DEFAULT_ROUTES', sidebarRoutes) commit('SET_TOPBAR_ROUTES', sidebarRoutes) resolve(rewriteRoutes) diff --git a/src/views/followvisit/discharge/index.vue b/src/views/followvisit/discharge/index.vue deleted file mode 100644 index 624a9cb..0000000 --- a/src/views/followvisit/discharge/index.vue +++ /dev/null @@ -1,1348 +0,0 @@ -<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 }} - </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" - size="small" - :inline="true" - v-show="showSearch" - label-width="98px" - > - <el-form-item label="浠诲姟鍚嶇О"> - <el-input - v-model="topqueryParams.taskName" - placeholder="璇烽�夋嫨浠诲姟鍚嶇О" - ></el-input> - </el-form-item> - - <el-form-item label="鍑洪櫌鏃堕棿"> - <el-date-picker - v-model="dateRange" - style="width: 240px" - value-format="yyyy-MM-dd" - type="daterange" - range-separator="-" - start-placeholder="寮�濮嬫棩鏈�" - end-placeholder="缁撴潫鏃ユ湡" - ></el-date-picker> - </el-form-item> - - <el-form-item label="鎮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" - :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(1)" - >鎼滅储</el-button - > - <el-button icon="el-icon-refresh" size="medium" @click="resetQuery" - >閲嶇疆</el-button - > - </el-form-item> - </el-form> - <el-divider></el-divider> - <el-row :gutter="10" class="mb8"> - <el-col :span="1.5"> - <el-button - type="primary" - plain - icon="el-icon-plus" - size="medium" - @click="handleAdd" - >鏂板</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"> - <el-button - type="warning" - plain - icon="el-icon-warning-outline" - size="medium" - @click="toleadExport(1)" - >鎵ц澶辫触</el-button - > - </div> - </div> - </el-col> - <el-col :span="1.5"> - <div class="documentf"> - <div class="document"> - <el-button - type="danger" - plain - icon="el-icon-warning" - size="medium" - @click="toleadExport(2)" - >缁撴灉寮傚父</el-button - > - </div> - </div> - </el-col> - </el-row> - <el-table - v-loading="loading" - :data="userList" - height="660" - :row-class-name="tableRowClassName" - @selection-change="handleSelectionChange" - > - <el-table-column type="selection" width="50" align="center" /> - <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 - align="center" - key="sendname" - prop="sendname" - /> - <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="createBy" - prop="createBy" - 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="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="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="icdName" - prop="icdName" - width="120" - :show-overflow-tooltip="true" - > - </el-table-column> --> - - <el-table-column - label="鍑洪櫌闅忚妯℃澘鍚嶇О" - align="center" - key="templatename" - prop="templatename" - width="200" - /> - <el-table-column - label="浠诲姟鎵ц鏂瑰紡" - align="center" - key="preachform" - prop="preachform" - width="160" - :show-overflow-tooltip="true" - > - <template slot-scope="scope"> - <span v-for="item in scope.row.preachform">{{ item }}銆� </span> - </template> - </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="浠诲姟缁撴灉璇存槑" - 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" - fixed="right" - width="200" - class-name="small-padding fixed-width" - > - <template slot-scope="scope"> - <!-- <el-tooltip - class="item" - effect="dark" - content="閲嶆柊闅忚" - placement="top" - > - <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 - > - </template> - </el-table-column> - </el-table> - - <pagination - v-show="total > 0" - :total="total" - :page.sync="topqueryParams.pageNum" - :limit.sync="topqueryParams.pageSize" - @pagination="getList" - /> - </el-row> - <!-- 娣诲姞鎴栦慨鏀归棬璇婇殢璁垮璇濇 --> - <el-dialog - :title="title" - :visible.sync="addalteropen" - width="700px" - append-to-body - > - <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-select> - </el-form-item> - </el-col> - </el-row> - <el-row :gutter="20"> - <el-col :span="24"> - <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> - </div> - </el-dialog> - <!-- 淇敼鍙戦�佹椂闂村璇濇 --> - <el-dialog - title="鍙戦�佹椂闂磋缃�" - :visible.sync="modificationVisible" - width="45%" - > - <div style="margin-bottom: 20px; color: red"> - 缁熶竴淇敼褰撳ぉ鏈彂閫佺殑浠诲姟鏃堕棿 - </div> - - <el-form - :model="ruleForm" - :rules="rules" - ref="ruleForm" - label-width="120px" - class="demo-ruleForm" - > - <el-form-item label="鍙戦�佹棩鏈�"> - <el-date-picker - v-model="ruleForm.value1" - type="date" - placeholder="閫夋嫨鏃ユ湡" - > - </el-date-picker> - </el-form-item> - - <el-form-item label="鏃堕棿娈�" prop="type"> - <el-checkbox-group v-model="ruleForm.type"> - <el-checkbox label="涓婂崍" name="type"></el-checkbox> - <el-checkbox label="涓嬪崍" name="type"></el-checkbox> - <el-checkbox label="鏅氫笂" name="type"></el-checkbox> - </el-checkbox-group> - </el-form-item> - <el-form-item label="涓婂崍鏃堕棿鍖洪棿" required> - <el-time-picker - is-range - v-model="ruleForm.value2" - range-separator="鑷�" - start-placeholder="寮�濮嬫椂闂�" - end-placeholder="缁撴潫鏃堕棿" - placeholder="閫夋嫨鏃堕棿鑼冨洿" - > - </el-time-picker> - </el-form-item> - <el-form-item label="涓嬪崍鏃堕棿鍖洪棿" required> - <el-time-picker - is-range - v-model="ruleForm.value3" - range-separator="鑷�" - start-placeholder="寮�濮嬫椂闂�" - end-placeholder="缁撴潫鏃堕棿" - placeholder="閫夋嫨鏃堕棿鑼冨洿" - > - </el-time-picker> - </el-form-item> - <el-form-item label="鏅氫笂鏃堕棿鍖洪棿" required> - <el-time-picker - is-range - v-model="ruleForm.value4" - range-separator="鑷�" - start-placeholder="寮�濮嬫椂闂�" - end-placeholder="缁撴潫鏃堕棿" - placeholder="閫夋嫨鏃堕棿鑼冨洿" - > - </el-time-picker> - </el-form-item> - </el-form> - - <span slot="footer" class="dialog-footer"> - <el-button @click="modificationVisible = false">鍙� 娑�</el-button> - <el-button type="primary" @click="modificationVisible = false" - >纭� 瀹�</el-button - > - </span> - </el-dialog> - </div> -</template> - -<script> -import { - listUser, - getUser, - delUser, - addUser, - updateUser, - resetUserPwd, - changeUserStatus, -} from "@/api/system/user"; -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: "Discharge", - 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, - // 鐢ㄦ埛琛ㄦ牸鏁版嵁 - userList: null, - // 寮瑰嚭灞傛爣棰� - title: "鏂板闂ㄨ瘖闅忚", - // 鏄惁鏄剧ず淇敼銆佹坊鍔犲脊鍑哄眰 - addalteropen: false, - // 淇敼鍙戦�佹椂闂村璇濇 - modificationVisible: false, - // 閮ㄩ棬鍚嶇О - deptName: undefined, - // 榛樿瀵嗙爜 - initPassword: undefined, - // 鏃ユ湡鑼冨洿 - dateRange: [], - // 宀椾綅閫夐」 - postOptions: [], - ruleForm: { - type: [], - }, - dynamicTags: ["閫夐」涓�", "閫夐」浜�", "閫夐」涓�"], //閫夐」 - inputVisible: false, - ycvalue: "", - yfsvalue: "", - inputValue: "", - preachform: "", - previewVisible: false, //闂ㄨ瘖闅忚棰勮寮规 - radio: "", - radios: [], - previewtype: 2, //棰勮闂ㄨ瘖闅忚绫诲瀷 - total: 0, // 鎬绘潯鏁� - ImportQuantity: 999, //瀵奸棬璇婇殢璁挎暟閲� - //棰勮闂ㄨ瘖闅忚淇℃伅 - previewvalue: { - username: "杩欎釜鍖荤敓瀵逛綘鎬庝箞鏍�", - }, - value: [], - list: [], - - sourcetype: [ - { - value: 1, - label: "绉戝", - children: [], - }, - { - 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: "", - totagid: "", - types: "", - nickName: "", - qystatus: "", - btstatus: "", - }, - // 鏌ヨ鍙傛暟 - topqueryParams: { - pageNum: 1, - pageSize: 10, - serviceType: 2, - searchscope: 3, - scopetype: [], - leaveldeptcodes: [], - leavehospitaldistrictcodes: [], - }, - 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父", - }, - ], - errtype: "", - leavehospitaldistrictcode: "", - serviceState: [], - checkboxlist: [], - // 琛ㄥ崟鏍¢獙 - rules: {}, - }; - }, - watch: {}, - created() { - 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; - }); - }, - activated() { - this.getList(1); - }, - methods: { - /** 鏌ヨ闂ㄨ瘖闅忚鏈嶅姟鍒楄〃 */ - getList(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); - } - // 鎺ュ彈寮傚父璺宠浆 - if (this.errtype) { - this.topqueryParams.leavehospitaldistrictcodes.push( - this.leavehospitaldistrictcode - ); - console.log(this.topqueryParams.leavehospitaldistrictcodes, "11"); - } - 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.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; - }, - // 娣诲姞寮规鎼滅储 - remoteMethod(query) { - if (query !== "") { - this.loading = true; - setTimeout(() => { - this.loading = false; - this.options = this.list.filter((item) => { - return item.label.toLowerCase().indexOf(query.toLowerCase()) > -1; - }); - }, 200); - } else { - this.options = []; - } - }, - // 闂ㄨ瘖闅忚鐘舵�佷慨鏀� - handleStatusChange(row) { - let text = row.status === "0" ? "鍚敤" : "鍋滅敤"; - this.$modal - .confirm('纭瑕�"' + text + '""' + row.userName + '"鐢ㄦ埛鍚楋紵') - .then(function () { - return changeUserStatus(row.userId, row.status); - }) - .then(() => { - this.$modal.msgSuccess(text + "鎴愬姛"); - }) - .catch(function () { - row.status = row.status === "0" ? "1" : "0"; - }); - }, - // 鍙栨秷鎸夐挳 - cancel() { - this.addalteropen = false; - this.reset(); - }, - // 琛ㄥ崟閲嶇疆 - reset() { - this.form = { - userId: undefined, - deptId: undefined, - userName: undefined, - nickName: undefined, - password: undefined, - phonenumber: undefined, - email: undefined, - sex: undefined, - status: "0", - remark: undefined, - postIds: [], - roleIds: [], - }; - this.resetForm("form"); - }, - /** 鎼滅储鎸夐挳鎿嶄綔 */ - handleQuery(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]; - - this.getList(refresh); - }, - // 鎮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; - } - }, - /** 閲嶇疆鎸夐挳鎿嶄綔 */ - resetQuery() { - this.dateRange = []; - this.topqueryParams = { - pageNum: 1, - pageSize: 10, - serviceType: 2, - searchscope: 2, - }; - this.handleQuery(1); - }, - // 澶氶�夋閫変腑鏁版嵁 - handleSelectionChange(selection) { - this.ids = selection.map((item) => item.userId); - this.single = selection.length != 1; - this.multiple = !selection.length; - }, - //鍒犻櫎閫夐」 - handleClose(tag) { - this.dynamicTags.splice(this.dynamicTags.indexOf(tag), 1); - }, - //瑙﹀彂鏂板杈撳叆 - showInput() { - this.inputVisible = true; - this.$nextTick((_) => { - this.$refs.saveTagInput.$refs.input.focus(); - }); - }, - //鑾峰彇澶卞幓鐒︾偣瑙﹀彂 - handleInputConfirm() { - let inputValue = this.inputValue; - if (inputValue) { - this.dynamicTags.push(inputValue); - } - this.inputVisible = false; - this.inputValue = ""; - }, - /** 鏂板鎸夐挳鎿嶄綔 */ - handleAdd() { - this.$router.push({ - path: "/followvisit/QuestionnaireTask", - query: { - type: 2, - serviceType: 2, - }, - }); - }, - - /** 閲嶇疆瀵嗙爜鎸夐挳鎿嶄綔 */ - handleResetPwd(row) { - this.$prompt('璇疯緭鍏�"' + row.userName + '"鐨勬柊瀵嗙爜', "鎻愮ず", { - confirmButtonText: "纭畾", - cancelButtonText: "鍙栨秷", - closeOnClickModal: false, - inputPattern: /^.{5,20}$/, - inputErrorMessage: "鐢ㄦ埛瀵嗙爜闀垮害蹇呴』浠嬩簬 5 鍜� 20 涔嬮棿", - }) - .then(({ value }) => { - resetUserPwd(row.userId, value).then((response) => { - this.$modal.msgSuccess("淇敼鎴愬姛锛屾柊瀵嗙爜鏄細" + value); - }); - }) - .catch(() => {}); - }, - - /** 鎻愪氦鎸夐挳 */ - 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.getList(1); - }); - } else { - addUser(this.form).then((response) => { - this.$modal.msgSuccess("鏂板鎴愬姛"); - this.open = false; - this.getList(1); - }); - } - } - }); - }, - /** 鍒犻櫎鎸夐挳鎿嶄綔 */ - handleDelete(row) { - const userIds = row.userId || this.ids; - this.$modal - .confirm('鏄惁纭鍒犻櫎鐢ㄦ埛缂栧彿涓�"' + userIds + '"鐨勬暟鎹」锛�') - .then(function () { - return delUser(userIds); - }) - .then(() => { - this.getList(1); - this.$modal.msgSuccess("鍒犻櫎鎴愬姛"); - }) - .catch(() => {}); - }, - // 鍏ㄩ儴鍋滄 - AllStop() { - this.$modal - .confirm("鏄惁鍋滄鍏ㄩ儴浠诲姟锛�") - .then(function () { - return console.log("鍋滄鎴愬姛"); - }) - .then(() => { - this.getList(1); - this.$modal.msgWarning("鍋滄鎴愬姛"); - }) - .catch(() => {}); - }, - // 鍏ㄩ儴寮�濮� - AllStarted() { - this.$modal - .confirm("鏄惁寮�鍚叏閮ㄤ换鍔★紵") - .then(function () { - return console.log("寮�鍚垚鍔�"); - }) - .then(() => { - this.getList(1); - this.$modal.msgSuccess("寮�鍚垚鍔�"); - }) - .catch(() => {}); - }, - // 浠诲姟閲嶇疆 - TaskReset() { - this.$modal - .confirm("鏄惁閲嶇疆閫変腑鐨勪换鍔¢」锛�") - .then(function () { - return console.log("閫変腑鎴愬姛"); - }) - .then(() => { - this.getList(1); - this.$modal.msgSuccess("閲嶇疆鎴愬姛"); - }) - .catch(() => {}); - }, - // 璁剧疆鍙戦�佹椂闂� - Sendtimesetting() { - this.modificationVisible = true; - }, - // 璺宠浆璇︽儏椤� - 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, - id: row.id, - Voicetype: type, - }, - }); - }, - // 渚挎嵎鎸夐挳 - 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( - "smartor/serviceSubtask/export", - { - ...this.topqueryParams, - }, - `user_${new Date().getTime()}.xlsx` - ); - }, - // 寮傚父鍒楁覆鏌� - tableRowClassName({ row, rowIndex }) { - if (row.excep == 1) { - return "warning-row"; - } - return ""; - }, - }, -}; -</script> - -<style lang="scss" scoped> -.el-button--primary.is-plain { - color: #ffffff; - background: #409eff; - border-color: #4fabe9; -} - -.document { - // width: 100px; - height: 50px; -} -::v-deep.el-table .warning-row { - background: #eec4c4; -} - -.documentf { - display: flex; - justify-content: flex-end; -} - -.download { - text-align: center; - - .el-upload__tip { - font-size: 23px; - } - - .el-upload__text { - font-size: 23px; - } -} - -.uploading { - margin-top: 20px; - margin: 20px; - padding: 30px; - background: #ffffff; - border: 1px solid #dcdfe6; - -webkit-box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.12), - 0 0 6px 0 rgba(0, 0, 0, 0.04); -} - -.el-tag + .el-tag { - margin-left: 10px; -} - -.button-new-tag { - margin-left: 10px; - height: 32px; - line-height: 30px; - padding-top: 0; - padding-bottom: 0; -} - -.input-new-tag { - width: 90px; - margin-left: 10px; - vertical-align: bottom; -} - -.drexamine { - display: flex; - align-items: center; - justify-content: center; - padding: 30px; - background: #daeaf5; - - img { - width: 100px; - height: 100px; - } -} - -.qrcode-dialo { - // text-align: center; - // display: flex; - margin: 20px; - padding: 30px; - background: #edf1f7; - border: 1px solid #dcdfe6; - -webkit-box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.12), - 0 0 6px 0 rgba(0, 0, 0, 0.04); - - .topic-dev { - margin-bottom: 25px; - font-size: 20px !important; - - .dev-text { - margin-bottom: 10px; - } - } -} -::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; - 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/followvisit/linem/index.vue b/src/views/followvisit/linem/index.vue deleted file mode 100644 index a73719a..0000000 --- a/src/views/followvisit/linem/index.vue +++ /dev/null @@ -1,798 +0,0 @@ -<template> - <div class="app-container"> - <el-row :gutter="20"> - <!--鐢ㄦ埛鏁版嵁--> - <el-divider></el-divider> - <el-row :gutter="10" class="mb8"> - <el-col :span="1.5"> - <el-button - type="primary" - plain - icon="el-icon-plus" - size="medium" - @click="handleAdd" - v-hasPermi="['system:user:add']" - >鏂板</el-button - > - </el-col> - <el-col :span="1.5"> - <el-button - type="danger" - plain - icon="el-icon-delete" - size="medium" - :disabled="multiple" - @click="handleDelete" - v-hasPermi="['system:user:remove']" - >鍒犻櫎</el-button - > - </el-col> - <!-- <el-col :span="1.5"> </el-col> --> - </el-row> - <!-- <right-toolbar - :showSearch.sync="showSearch" - @queryTable="getList" - :columns="columns" - ></right-toolbar> --> - <el-table - v-loading="loading" - :data="userList" - @selection-change="handleSelectionChange" - > - <el-table-column type="selection" width="50" align="center" /> - <el-table-column - label="搴忓彿" - align="center" - key="userId" - prop="userId" - /> - - <el-table-column - label="浠诲姟鍚嶇О" - align="center" - sortable - key="userName" - prop="userName" - :show-overflow-tooltip="true" - /> - <el-table-column - label="鏈嶅姟妯℃澘" - align="center" - key="types" - prop="types" - /> - <el-table-column - label="鍒涘缓鏃ユ湡" - align="center" - key="nickName" - prop="nickName" - /> - <el-table-column - label="寰呮墽琛�/鎬绘暟" - align="center" - key="phonenumber" - prop="phonenumber" - width="120" - > - <template slot-scope="scope"> - <span style="margin-left: 10px" - >{{ scope.row.date }}/{{ scope.row.data }}</span - > - </template> - </el-table-column> - - <el-table-column - label="鎵ц鐘舵��" - align="center" - key="topicnumber" - prop="topicnumber" - 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" - sortable - width="120" - :show-overflow-tooltip="true" - /> - - <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="鎿嶄綔" - align="center" - width="120" - 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-zx" - ><i class="el-icon-s-promotion"></i>寮�濮嬫墽琛�</span - ></el-button - > - </template> - </el-table-column> - <el-table-column - label="浠诲姟璇︽儏" - align="center" - width="200" - class-name="small-padding fixed-width" - > - <template slot-scope="scope"> - <el-button - size="medium" - type="text" - @click="handleUpdate(scope.row)" - v-hasPermi="['system:user:edit']" - ><span class="button-xq" - ><i class="el-icon-s-data"></i>璇︽儏</span - ></el-button - > - <el-button - size="medium" - type="text" - @click="handleUpdate(scope.row)" - v-hasPermi="['system:user:edit']" - ><span class="button-bb" - ><i class="el-icon-s-order"></i>鎶ヨ〃</span - ></el-button - > - <el-button - size="medium" - type="text" - @click="handleUpdate(scope.row)" - v-hasPermi="['system:user:edit']" - ><span class="button-sc" - ><i class="el-icon-delete"></i>鍒犻櫎</span - ></el-button - > - </template> - </el-table-column> - </el-table> - - <pagination - v-show="total > 0" - :total="total" - :page.sync="topqueryParams.pageNum" - :limit.sync="topqueryParams.pageSize" - @pagination="getList" - /> - </el-row> - <!-- 娣诲姞鎴栦慨鏀归棬璇婇殢璁垮璇濇 --> - <el-dialog - :title="title" - :visible.sync="addalteropen" - width="700px" - append-to-body - > - <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-select> - </el-form-item> - </el-col> - </el-row> - <el-row :gutter="20"> - <el-col :span="24"> - <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> - </div> - </el-dialog> - </div> -</template> - -<script> -import { - listUser, - getUser, - delUser, - addUser, - updateUser, - resetUserPwd, - changeUserStatus, -} from "@/api/system/user"; -import Treeselect from "@riophae/vue-treeselect"; -import "@riophae/vue-treeselect/dist/vue-treeselect.css"; - -export default { - name: "User", - dicts: ["sys_normal_disable", "sys_user_sex"], - components: { Treeselect }, - data() { - return { - // 閬僵灞� - loading: true, - // 閫変腑鏁扮粍 - ids: [], - // 闈炲崟涓鐢� - single: true, - // 闈炲涓鐢� - multiple: true, - // 鏄剧ず鎼滅储鏉′欢 - showSearch: true, - // 鎬绘潯鏁� - total: 0, - // 鐢ㄦ埛琛ㄦ牸鏁版嵁 - userList: null, - // 寮瑰嚭灞傛爣棰� - title: "鏂板闂ㄨ瘖闅忚", - // 鏄惁鏄剧ず淇敼銆佹坊鍔犲脊鍑哄眰 - addalteropen: false, - // 閮ㄩ棬鍚嶇О - deptName: undefined, - // 榛樿瀵嗙爜 - initPassword: undefined, - // 鏃ユ湡鑼冨洿 - dateRange: [], - // 宀椾綅閫夐」 - postOptions: [], - // 瑙掕壊閫夐」 - roleOptions: [], - dynamicTags: ["閫夐」涓�", "閫夐」浜�", "閫夐」涓�"], //閫夐」 - inputVisible: false, - inputValue: "", - previewVisible: false, //闂ㄨ瘖闅忚棰勮寮规 - radio: "", - radios: [], - previewtype: 2, //棰勮闂ㄨ瘖闅忚绫诲瀷 - total: 0, // 鎬绘潯鏁� - ImportQuantity: 999, //瀵奸棬璇婇殢璁挎暟閲� - //棰勮闂ㄨ瘖闅忚淇℃伅 - previewvalue: { - username: "杩欎釜鍖荤敓瀵逛綘鎬庝箞鏍�", - }, - value: [], - list: [], - loading: false, - states: [ - "Alabama", - "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(); - }, - 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, - userName: undefined, - tagid: undefined, - topic: undefined, - }, - propss: { multiple: true }, - options: [], - - topicoptions: [ - { - value: 1, - label: "寰呭鏍�", - }, - { - value: 2, - label: "鎵ц涓�", - }, - { - value: 3, - label: "鎵ц瀹屾垚", - }, - { - value: 4, - label: "宸插仠姝�", - }, - ], - // 琛ㄥ崟鏍¢獙 - rules: { - userName: [ - { required: true, message: "鐢ㄦ埛鍚嶇О涓嶈兘涓虹┖", trigger: "blur" }, - { - min: 2, - max: 20, - message: "鐢ㄦ埛鍚嶇О闀垮害蹇呴』浠嬩簬 2 鍜� 20 涔嬮棿", - trigger: "blur", - }, - ], - nickName: [ - { required: true, message: "鐢ㄦ埛鏄电О涓嶈兘涓虹┖", trigger: "blur" }, - ], - password: [ - { required: true, message: "鐢ㄦ埛瀵嗙爜涓嶈兘涓虹┖", trigger: "blur" }, - { - min: 5, - max: 20, - message: "鐢ㄦ埛瀵嗙爜闀垮害蹇呴』浠嬩簬 5 鍜� 20 涔嬮棿", - trigger: "blur", - }, - ], - email: [ - { - type: "email", - message: "璇疯緭鍏ユ纭殑閭鍦板潃", - trigger: ["blur", "change"], - }, - ], - phonenumber: [ - { - pattern: /^1[3|4|5|6|7|8|9][0-9]\d{8}$/, - message: "璇疯緭鍏ユ纭殑鎵嬫満鍙风爜", - trigger: "blur", - }, - ], - IDnumber: [ - { - pattern: - /^\d{6}((((((19|20)\d{2})(0[13-9]|1[012])(0[1-9]|[12]\d|30))|(((19|20)\d{2})(0[13578]|1[02])31)|((19|20)\d{2})02(0[1-9]|1\d|2[0-8])|((((19|20)([13579][26]|[2468][048]|0[48]))|(2000))0229))\d{3})|((((\d{2})(0[13-9]|1[012])(0[1-9]|[12]\d|30))|((\d{2})(0[13578]|1[02])31)|((\d{2})02(0[1-9]|1\d|2[0-8]))|(([13579][26]|[2468][048]|0[048])0229))\d{2}))(\d|X|x)$/, - message: "璇疯緭鍏ユ纭殑韬唤璇佸彿鐮�", - trigger: "blur", - }, - ], - }, - }; - }, - watch: {}, - created() { - this.getList(); - this.getConfigKey("sys.user.initPassword").then((response) => { - this.initPassword = response.msg; - }); - }, - // 鎼滅储 - mounted() { - this.list = this.states.map((item) => { - return { value: `value:${item}`, label: `label:${item}` }; - }); - }, - methods: { - /** 鏌ヨ闂ㄨ瘖闅忚鍒楄〃 */ - getList() { - this.loading = true; - listUser(this.addDateRange(this.topqueryParams, this.dateRange)).then( - (response) => { - this.userList = response.rows; - this.total = response.total; - this.loading = false; - } - ); - }, - // 鏌ョ湅闂ㄨ瘖闅忚璇︽儏 - Referencequestion(row) { - this.previewVisible = true; - }, - // 娣诲姞寮规鎼滅储 - remoteMethod(query) { - if (query !== "") { - this.loading = true; - setTimeout(() => { - this.loading = false; - this.options = this.list.filter((item) => { - return item.label.toLowerCase().indexOf(query.toLowerCase()) > -1; - }); - }, 200); - } else { - this.options = []; - } - }, - // 闂ㄨ瘖闅忚鐘舵�佷慨鏀� - handleStatusChange(row) { - let text = row.status === "0" ? "鍚敤" : "鍋滅敤"; - this.$modal - .confirm('纭瑕�"' + text + '""' + row.userName + '"鐢ㄦ埛鍚楋紵') - .then(function () { - return changeUserStatus(row.userId, row.status); - }) - .then(() => { - this.$modal.msgSuccess(text + "鎴愬姛"); - }) - .catch(function () { - row.status = row.status === "0" ? "1" : "0"; - }); - }, - // 鍙栨秷鎸夐挳 - cancel() { - this.addalteropen = false; - this.reset(); - }, - // 琛ㄥ崟閲嶇疆 - reset() { - this.form = { - userId: undefined, - deptId: undefined, - userName: undefined, - nickName: undefined, - password: undefined, - phonenumber: undefined, - email: undefined, - sex: undefined, - status: "0", - remark: undefined, - postIds: [], - roleIds: [], - }; - this.resetForm("form"); - }, - /** 鎼滅储鎸夐挳鎿嶄綔 */ - handleQuery() { - this.topqueryParams.pageNum = 1; - this.getList(); - }, - /** 閲嶇疆鎸夐挳鎿嶄綔 */ - resetQuery() { - this.dateRange = []; - this.resetForm("queryForm"); - this.topqueryParams.deptId = undefined; - this.$refs.tree.setCurrentKey(null); - this.handleQuery(); - }, - // 澶氶�夋閫変腑鏁版嵁 - handleSelectionChange(selection) { - this.ids = selection.map((item) => item.userId); - this.single = selection.length != 1; - this.multiple = !selection.length; - }, - //鍒犻櫎閫夐」 - handleClose(tag) { - this.dynamicTags.splice(this.dynamicTags.indexOf(tag), 1); - }, - //瑙﹀彂鏂板杈撳叆 - showInput() { - this.inputVisible = true; - this.$nextTick((_) => { - this.$refs.saveTagInput.$refs.input.focus(); - }); - }, - //鑾峰彇澶卞幓鐒︾偣瑙﹀彂 - handleInputConfirm() { - let inputValue = this.inputValue; - if (inputValue) { - this.dynamicTags.push(inputValue); - } - this.inputVisible = false; - this.inputValue = ""; - }, - /** 鏂板鎸夐挳鎿嶄綔 */ - handleAdd() { - this.reset(); - this.addalteropen = true; - // getUser().then((response) => { - // this.postOptions = response.posts; - // this.roleOptions = response.roles; - // this.title = "鏂板闂ㄨ瘖闅忚"; - // this.form.password = this.initPassword; - // }); - }, - /** 淇敼鎸夐挳鎿嶄綔 */ - handleUpdate(row) { - this.reset(); - const userId = row.userId || this.ids; - getUser(userId).then((response) => { - this.form = response.data; - this.postOptions = response.posts; - this.roleOptions = response.roles; - this.$set(this.form, "postIds", response.postIds); - this.$set(this.form, "roleIds", response.roleIds); - this.addalteropen = true; - this.title = "淇敼鐢ㄦ埛"; - this.form.password = ""; - }); - }, - /** 閲嶇疆瀵嗙爜鎸夐挳鎿嶄綔 */ - handleResetPwd(row) { - this.$prompt('璇疯緭鍏�"' + row.userName + '"鐨勬柊瀵嗙爜', "鎻愮ず", { - confirmButtonText: "纭畾", - cancelButtonText: "鍙栨秷", - closeOnClickModal: false, - inputPattern: /^.{5,20}$/, - inputErrorMessage: "鐢ㄦ埛瀵嗙爜闀垮害蹇呴』浠嬩簬 5 鍜� 20 涔嬮棿", - }) - .then(({ value }) => { - resetUserPwd(row.userId, value).then((response) => { - this.$modal.msgSuccess("淇敼鎴愬姛锛屾柊瀵嗙爜鏄細" + value); - }); - }) - .catch(() => {}); - }, - - /** 鎻愪氦鎸夐挳 */ - 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.getList(); - }); - } else { - addUser(this.form).then((response) => { - this.$modal.msgSuccess("鏂板鎴愬姛"); - this.open = false; - this.getList(); - }); - } - } - }); - }, - /** 鍒犻櫎鎸夐挳鎿嶄綔 */ - handleDelete(row) { - const userIds = row.userId || this.ids; - this.$modal - .confirm('鏄惁纭鍒犻櫎鐢ㄦ埛缂栧彿涓�"' + userIds + '"鐨勬暟鎹」锛�') - .then(function () { - return delUser(userIds); - }) - .then(() => { - this.getList(); - this.$modal.msgSuccess("鍒犻櫎鎴愬姛"); - }) - .catch(() => {}); - }, - /** 瀵煎嚭鎸夐挳鎿嶄綔 */ - handleExport() { - this.download( - "system/user/export", - { - ...this.topqueryParams, - }, - `user_${new Date().getTime()}.xlsx` - ); - }, - }, -}; -</script> - -<style lang="scss" scoped> -.el-button--primary.is-plain { - color: #ffffff; - background: #409eff; - border-color: #4fabe9; -} - -.document { - width: 100px; - height: 50px; -} - -.documentf { - display: flex; - justify-content: flex-end; -} - -.download { - text-align: center; - - .el-upload__tip { - font-size: 23px; - } - - .el-upload__text { - font-size: 23px; - } -} - -.uploading { - margin-top: 20px; - margin: 20px; - padding: 30px; - background: #ffffff; - border: 1px solid #dcdfe6; - -webkit-box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.12), - 0 0 6px 0 rgba(0, 0, 0, 0.04); -} - -.el-tag + .el-tag { - margin-left: 10px; -} - -.button-new-tag { - margin-left: 10px; - height: 32px; - line-height: 30px; - padding-top: 0; - padding-bottom: 0; -} - -.input-new-tag { - width: 90px; - margin-left: 10px; - vertical-align: bottom; -} - -.drexamine { - display: flex; - align-items: center; - justify-content: center; - padding: 30px; - background: #daeaf5; - - img { - width: 100px; - height: 100px; - } -} - -.qrcode-dialo { - // text-align: center; - // display: flex; - margin: 20px; - padding: 30px; - background: #edf1f7; - border: 1px solid #dcdfe6; - -webkit-box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.12), - 0 0 6px 0 rgba(0, 0, 0, 0.04); - - .topic-dev { - margin-bottom: 25px; - font-size: 20px !important; - - .dev-text { - margin-bottom: 10px; - } - } -} -.button-bb { - font-weight: 500; - color: #2ba05c; -} -.button-xq { - font-weight: 500; - color: #409eff; -} -.button-sc { - font-weight: 500; - color: #dd302a; -} -.button-zx { - background: #4fabe9; - padding: 5px; - border-radius: 1px; - color: #ffffff; -} - -::v-deep.el-radio-group { - span { - font-size: 24px; - } -} - -::v-deep.el-checkbox-group { - span { - font-size: 24px; - } -} -</style> diff --git a/src/views/followvisit/outpatient/index.vue b/src/views/followvisit/outpatient/index.vue deleted file mode 100644 index ae3ac46..0000000 --- a/src/views/followvisit/outpatient/index.vue +++ /dev/null @@ -1,1023 +0,0 @@ -<template> - <div class="app-container"> - <el-row :gutter="20"> - <!--鐢ㄦ埛鏁版嵁--> - - <el-form - :model="topqueryParams" - ref="queryForm" - size="small" - :inline="true" - v-show="showSearch" - label-width="98px" - > - <el-form-item label="浠诲姟鍚嶇О"> - <el-input v-model="topqueryParams.taskName"></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-date-picker - v-model="dateRange" - style="width: 240px" - value-format="yyyy-MM-dd" - type="daterange" - range-separator="-" - start-placeholder="寮�濮嬫棩鏈�" - end-placeholder="缁撴潫鏃ユ湡" - ></el-date-picker> - </el-form-item> --> - - <el-form-item label="妯℃澘鍚嶇О" prop="status"> - <el-input v-model="topqueryParams.templatename"></el-input> - - </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" - :label="item.label" - :value="item.value" - > - </el-option> - </el-select> - </el-form-item> - <el-form-item> - <el-button - type="primary" - icon="el-icon-search" - size="medium" - @click="handleQuery" - >鎼滅储</el-button - > - <el-button icon="el-icon-refresh" size="medium" @click="resetQuery" - >閲嶇疆</el-button - > - </el-form-item> - </el-form> - <el-divider></el-divider> - <el-row :gutter="10" class="mb8"> - <el-col :span="1.5"> - <el-button - type="primary" - plain - icon="el-icon-plus" - size="medium" - @click="handleAdd" - v-hasPermi="['system:user:add']" - >鏂板</el-button - > - </el-col> - <!-- <el-col :span="1.5"> - <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"> - <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> - </el-col> - <el-col :span="1.5"> - <div class="documentf"> - <div class="document"> - <el-button - type="warning" - icon="el-icon-remove" - size="medium" - @click="AllStop" - 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="primary" - icon="el-icon-remove" - size="medium" - @click="Sendtimesetting" - v-hasPermi="['system:user:export']" - >鍙戦�佹椂闂磋缃�</el-button - > - </div> - </div> - </el-col> --> - - <!-- <el-col :span="1.5"> </el-col> --> - </el-row> - <el-table - v-loading="loading" - :data="userList" - @selection-change="handleSelectionChange" - > - <el-table-column type="selection" width="50" align="center" /> - <el-table-column - label="搴忓彿" - fixed - align="center" - key="id" - prop="id" - /> - <el-table-column - label="濮撳悕" - fixed - align="center" - key="sendname" - prop="sendname" - /> - - <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="deptname" - prop="deptname" - width="120" - > - </el-table-column> - - <el-table-column - label="鐤剧梾鍚嶇О" - align="center" - key="icdName" - prop="icdName" - width="120" - :show-overflow-tooltip="true" - > - - </el-table-column> - - <el-table-column - label="浠诲姟鍚嶇О" - align="center" - key="taskName" - prop="taskName" - width="120" - /> - - <el-table-column - label="闅忚鏂瑰紡" - align="center" - key="serviceform" - prop="serviceform" - width="120" - /> - <el-table-column - label="闅忚浜哄憳" - align="center" - key="operator" - prop="operator" - width="120" - /> - - <el-table-column - label="灏辫瘖鏃堕棿" - sortable - align="center" - prop="admindate" - 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> - </el-table-column> - <el-table-column - label="鎿嶄綔" - fixed="right" - align="center" - width="200" - class-name="small-padding fixed-width" - > - <template slot-scope="scope"> - <!-- <el-button - size="medium" - type="text" - @click="followupvisit(scope.row)" - v-hasPermi="['system:user:edit']" - ><span class="button-bb" - ><i class="el-icon-s-promotion"></i>閲嶆柊闅忚</span - ></el-button - > - <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']" - ><span class="button-zx" - ><i class="el-icon-s-order"></i>鏌ョ湅璇︽儏</span - ></el-button - > - </template> - </el-table-column> - </el-table> - - <pagination - v-show="total > 0" - :total="total" - :page.sync="topqueryParams.pageNum" - :limit.sync="topqueryParams.pageSize" - @pagination="getList" - /> - </el-row> - <!-- 娣诲姞鎴栦慨鏀归棬璇婇殢璁垮璇濇 --> - <el-dialog - :title="title" - :visible.sync="addalteropen" - width="700px" - append-to-body - > - <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-select> - </el-form-item> - </el-col> - </el-row> - <el-row :gutter="20"> - <el-col :span="24"> - <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> - </div> - </el-dialog> - <!-- 淇敼鍙戦�佹椂闂村璇濇 --> - <el-dialog - title="鍙戦�佹椂闂磋缃�" - :visible.sync="modificationVisible" - width="45%" - > - <div style="margin-bottom: 20px; color: red"> - 缁熶竴淇敼褰撳ぉ鏈彂閫佺殑浠诲姟鏃堕棿 - </div> - - <el-form - :model="ruleForm" - :rules="rules" - ref="ruleForm" - label-width="120px" - class="demo-ruleForm" - > - <el-form-item label="鍙戦�佹棩鏈�"> - <el-date-picker - v-model="ruleForm.value1" - type="date" - placeholder="閫夋嫨鏃ユ湡" - > - </el-date-picker> - </el-form-item> - - <el-form-item label="鏃堕棿娈�" prop="type"> - <el-checkbox-group v-model="ruleForm.type"> - <el-checkbox label="涓婂崍" name="type"></el-checkbox> - <el-checkbox label="涓嬪崍" name="type"></el-checkbox> - <el-checkbox label="鏅氫笂" name="type"></el-checkbox> - </el-checkbox-group> - </el-form-item> - <el-form-item label="涓婂崍鏃堕棿鍖洪棿" required> - <el-time-picker - is-range - v-model="ruleForm.value2" - range-separator="鑷�" - start-placeholder="寮�濮嬫椂闂�" - end-placeholder="缁撴潫鏃堕棿" - placeholder="閫夋嫨鏃堕棿鑼冨洿" - > - </el-time-picker> - </el-form-item> - <el-form-item label="涓嬪崍鏃堕棿鍖洪棿" required> - <el-time-picker - is-range - v-model="ruleForm.value3" - range-separator="鑷�" - start-placeholder="寮�濮嬫椂闂�" - end-placeholder="缁撴潫鏃堕棿" - placeholder="閫夋嫨鏃堕棿鑼冨洿" - > - </el-time-picker> - </el-form-item> - <el-form-item label="鏅氫笂鏃堕棿鍖洪棿" required> - <el-time-picker - is-range - v-model="ruleForm.value4" - range-separator="鑷�" - start-placeholder="寮�濮嬫椂闂�" - end-placeholder="缁撴潫鏃堕棿" - placeholder="閫夋嫨鏃堕棿鑼冨洿" - > - </el-time-picker> - </el-form-item> - </el-form> - - <span slot="footer" class="dialog-footer"> - <el-button @click="modificationVisible = false">鍙� 娑�</el-button> - <el-button type="primary" @click="modificationVisible = false" - >纭� 瀹�</el-button - > - </span> - </el-dialog> - </div> -</template> - -<script> -import { - listUser, - delUser, - addUser, - updateUser, - resetUserPwd, - changeUserStatus, -} from "@/api/system/user"; -import { - getTaskservelist -} from "@/api/AiCentre/index"; -import store from "@/store"; -import Treeselect from "@riophae/vue-treeselect"; -import "@riophae/vue-treeselect/dist/vue-treeselect.css"; - -export default { - name: "User", - dicts: ["sys_normal_disable", "sys_user_sex"], - components: { Treeselect }, - data() { - return { - // 閬僵灞� - loading: true, - // 閫変腑鏁扮粍 - ids: [], - // 闈炲崟涓鐢� - single: true, - // 闈炲涓鐢� - multiple: true, - // 鏄剧ず鎼滅储鏉′欢 - showSearch: true, - // 鎬绘潯鏁� - total: 0, - // 鐢ㄦ埛琛ㄦ牸鏁版嵁 - userList: null, - // 寮瑰嚭灞傛爣棰� - title: "鏂板闂ㄨ瘖闅忚", - // 鏄惁鏄剧ず淇敼銆佹坊鍔犲脊鍑哄眰 - addalteropen: false, - // 淇敼鍙戦�佹椂闂村璇濇 - modificationVisible: false, - // 閮ㄩ棬鍚嶇О - deptName: undefined, - // 榛樿瀵嗙爜 - initPassword: undefined, - // 鏃ユ湡鑼冨洿 - dateRange: [], - // 宀椾綅閫夐」 - postOptions: [], - ruleForm: { - type: [], - }, - dynamicTags: ["閫夐」涓�", "閫夐」浜�", "閫夐」涓�"], //閫夐」 - inputVisible: false, - inputValue: "", - previewVisible: false, //闂ㄨ瘖闅忚棰勮寮规 - radio: "", - radios: [], - previewtype: 2, //棰勮闂ㄨ瘖闅忚绫诲瀷 - total: 0, // 鎬绘潯鏁� - ImportQuantity: 999, //瀵奸棬璇婇殢璁挎暟閲� - //棰勮闂ㄨ瘖闅忚淇℃伅 - previewvalue: { - username: "杩欎釜鍖荤敓瀵逛綘鎬庝箞鏍�", - }, - 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(); - }, - 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:3, - }, - propss: { multiple: true }, - options: [], - - topicoptions: [ - { - value: 1, - label: "琚鍙�", - }, - { - value: 2, - label: "寰呭彂閫�", - }, - { - value: 3, - label: "宸插彂閫佹湭棰嗗彇", - }, - ], - serviceState:[], - // 琛ㄥ崟鏍¢獙 - rules: { - - }, - }; - }, - watch: {}, - created() { - this.serviceState = store.getters.serviceState; - this.getList(); - this.getConfigKey("sys.user.initPassword").then((response) => { - this.initPassword = response.msg; - }); - }, - // 鎼滅储 - mounted() { - this.list = this.states.map((item) => { - return { value: `value:${item}`, label: `label:${item}` }; - }); - }, - methods: { - /** 鏌ヨ闂ㄨ瘖闅忚鍒楄〃 */ - getList() { - this.loading = true; - getTaskservelist(this.topqueryParams).then( - (response) => { - this.userList = response.rows; - this.total = response.total; - this.loading = false; - } - ); - }, - // 鏌ョ湅闂ㄨ瘖闅忚璇︽儏 - Referencequestion(row) { - this.previewVisible = true; - }, - // 娣诲姞寮规鎼滅储 - remoteMethod(query) { - if (query !== "") { - this.loading = true; - setTimeout(() => { - this.loading = false; - this.options = this.list.filter((item) => { - return item.label.toLowerCase().indexOf(query.toLowerCase()) > -1; - }); - }, 200); - } else { - this.options = []; - } - }, - // 闂ㄨ瘖闅忚鐘舵�佷慨鏀� - handleStatusChange(row) { - let text = row.status === "0" ? "鍚敤" : "鍋滅敤"; - this.$modal - .confirm('纭瑕�"' + text + '""' + row.userName + '"鐢ㄦ埛鍚楋紵') - .then(function () { - return changeUserStatus(row.userId, row.status); - }) - .then(() => { - this.$modal.msgSuccess(text + "鎴愬姛"); - }) - .catch(function () { - row.status = row.status === "0" ? "1" : "0"; - }); - }, - // 鍙栨秷鎸夐挳 - cancel() { - this.addalteropen = false; - this.reset(); - }, - // 琛ㄥ崟閲嶇疆 - reset() { - this.form = { - userId: undefined, - deptId: undefined, - userName: undefined, - nickName: undefined, - password: undefined, - phonenumber: undefined, - email: undefined, - sex: undefined, - status: "0", - remark: undefined, - postIds: [], - roleIds: [], - }; - this.resetForm("form"); - }, - /** 鎼滅储鎸夐挳鎿嶄綔 */ - handleQuery() { - this.topqueryParams.pageNum = 1; - this.getList(); - }, - /** 閲嶇疆鎸夐挳鎿嶄綔 */ - resetQuery() { - this.dateRange = []; - this.resetForm("queryForm"); - this.topqueryParams.deptId = undefined; - this.$refs.tree.setCurrentKey(null); - this.handleQuery(); - }, - // 澶氶�夋閫変腑鏁版嵁 - handleSelectionChange(selection) { - this.ids = selection.map((item) => item.userId); - this.single = selection.length != 1; - this.multiple = !selection.length; - }, - //鍒犻櫎閫夐」 - handleClose(tag) { - this.dynamicTags.splice(this.dynamicTags.indexOf(tag), 1); - }, - //瑙﹀彂鏂板杈撳叆 - showInput() { - this.inputVisible = true; - this.$nextTick((_) => { - this.$refs.saveTagInput.$refs.input.focus(); - }); - }, - //鑾峰彇澶卞幓鐒︾偣瑙﹀彂 - handleInputConfirm() { - let inputValue = this.inputValue; - if (inputValue) { - this.dynamicTags.push(inputValue); - } - this.inputVisible = false; - this.inputValue = ""; - }, - /** 鏂板鎸夐挳鎿嶄綔 */ - handleAdd() { - this.$router.push({ - path: "/followvisit/QuestionnaireTask", - query: { - type: 2, - serviceType: 3, - }, - }); - }, - - /** 閲嶇疆瀵嗙爜鎸夐挳鎿嶄綔 */ - handleResetPwd(row) { - this.$prompt('璇疯緭鍏�"' + row.userName + '"鐨勬柊瀵嗙爜', "鎻愮ず", { - confirmButtonText: "纭畾", - cancelButtonText: "鍙栨秷", - closeOnClickModal: false, - inputPattern: /^.{5,20}$/, - inputErrorMessage: "鐢ㄦ埛瀵嗙爜闀垮害蹇呴』浠嬩簬 5 鍜� 20 涔嬮棿", - }) - .then(({ value }) => { - resetUserPwd(row.userId, value).then((response) => { - this.$modal.msgSuccess("淇敼鎴愬姛锛屾柊瀵嗙爜鏄細" + value); - }); - }) - .catch(() => {}); - }, - - /** 鎻愪氦鎸夐挳 */ - 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.getList(); - }); - } else { - addUser(this.form).then((response) => { - this.$modal.msgSuccess("鏂板鎴愬姛"); - this.open = false; - this.getList(); - }); - } - } - }); - }, - /** 鍒犻櫎鎸夐挳鎿嶄綔 */ - handleDelete(row) { - const userIds = row.userId || this.ids; - this.$modal - .confirm('鏄惁纭鍒犻櫎鐢ㄦ埛缂栧彿涓�"' + userIds + '"鐨勬暟鎹」锛�') - .then(function () { - return delUser(userIds); - }) - .then(() => { - this.getList(); - this.$modal.msgSuccess("鍒犻櫎鎴愬姛"); - }) - .catch(() => {}); - }, - // 鍏ㄩ儴鍋滄 - AllStop() { - this.$modal - .confirm("鏄惁鍋滄鍏ㄩ儴浠诲姟锛�") - .then(function () { - return console.log("鍋滄鎴愬姛"); - }) - .then(() => { - this.getList(); - this.$modal.msgWarning("鍋滄鎴愬姛"); - }) - .catch(() => {}); - }, - // 鍏ㄩ儴寮�濮� - AllStarted() { - this.$modal - .confirm("鏄惁寮�鍚叏閮ㄤ换鍔★紵") - .then(function () { - return console.log("寮�鍚垚鍔�"); - }) - .then(() => { - this.getList(); - this.$modal.msgSuccess("寮�鍚垚鍔�"); - }) - .catch(() => {}); - }, - // 浠诲姟閲嶇疆 - TaskReset() { - this.$modal - .confirm("鏄惁閲嶇疆閫変腑鐨勪换鍔¢」锛�") - .then(function () { - return console.log("閫変腑鎴愬姛"); - }) - .then(() => { - this.getList(); - this.$modal.msgSuccess("閲嶇疆鎴愬姛"); - }) - .catch(() => {}); - }, - // 璁剧疆鍙戦�佹椂闂� - Sendtimesetting() { - this.modificationVisible = true; - }, - // 璺宠浆璇︽儏椤� - Seedetails(row) { - this.$router.push({ - path: "/followvisit/record/detailpage/", - query: { taskid: row.taskid, patid: row.patid }, - }); - }, - // 瀵煎叆鎸夐挳 - toleadExport() {}, - /** 瀵煎嚭鎸夐挳鎿嶄綔 */ - handleExport() { - this.download( - "system/user/export", - { - ...this.topqueryParams, - }, - `user_${new Date().getTime()}.xlsx` - ); - }, - }, -}; -</script> - -<style lang="scss" scoped> -.el-button--primary.is-plain { - color: #ffffff; - background: #409eff; - border-color: #4fabe9; -} - -.document { - // width: 100px; - height: 50px; -} - -.documentf { - display: flex; - justify-content: flex-end; -} - -.download { - text-align: center; - - .el-upload__tip { - font-size: 23px; - } - - .el-upload__text { - font-size: 23px; - } -} - -.uploading { - margin-top: 20px; - margin: 20px; - padding: 30px; - background: #ffffff; - border: 1px solid #dcdfe6; - -webkit-box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.12), - 0 0 6px 0 rgba(0, 0, 0, 0.04); -} - -.el-tag + .el-tag { - margin-left: 10px; -} - -.button-new-tag { - margin-left: 10px; - height: 32px; - line-height: 30px; - padding-top: 0; - padding-bottom: 0; -} - -.input-new-tag { - width: 90px; - margin-left: 10px; - vertical-align: bottom; -} - -.drexamine { - display: flex; - align-items: center; - justify-content: center; - padding: 30px; - background: #daeaf5; - - img { - width: 100px; - height: 100px; - } -} - -.qrcode-dialo { - // text-align: center; - // display: flex; - margin: 20px; - padding: 30px; - background: #edf1f7; - border: 1px solid #dcdfe6; - -webkit-box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.12), - 0 0 6px 0 rgba(0, 0, 0, 0.04); - - .topic-dev { - margin-bottom: 25px; - font-size: 20px !important; - - .dev-text { - margin-bottom: 10px; - } - } -} -.button-bb { - font-weight: 500; - 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/followvisit/record/detailpage/index.vue b/src/views/followvisit/record/detailpage/index.vue deleted file mode 100644 index e0f68c0..0000000 --- a/src/views/followvisit/record/detailpage/index.vue +++ /dev/null @@ -1,872 +0,0 @@ -<template> - <!-- 鑱婅繛椤甸潰璁板綍 --> - <div class="Followupdetailspage"> - <div class="Followuserinfo"> - <div> - <div class="userinfo-text"> - <!-- <span>鎮h�呮湇鍔¤鎯�</span> --> - <div class="headline"> - <div>鎮h�呮湇鍔¤鎯�</div> - <div style="margin-left: 20px"> - <el-button - v-if="!Whetherall" - type="primary" - @click="getTaskservelist()" - >鏌ョ湅鎮h�呭叏閮ㄦ湇鍔�</el-button - > - <el-button v-else type="success" @click="getTaskservelist(taskid)" - >鏌ョ湅鎮h�呮湰娆℃湇鍔′俊鎭�</el-button - > - </div> - </div> - <!-- <el-button type="success">闅忚鍚庣煭淇�</el-button> --> - </div> - </div> - <div> - <el-table :data="logsheetlist" style="width: 100%"> - <el-table-column prop="sendname" align="center" label="濮撳悕"> - </el-table-column> - <el-table-column - prop="sendstate" - align="center" - width="200" - label="鏈嶅姟鐘舵��" - > - <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> - </template> - </el-table-column> - <el-table-column - prop="finishtime" - align="center" - label="瀹屾垚鏃堕棿" - width="200" - show-overflow-tooltip - > - </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="璐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" - key="excep" - prop="excep" - width="120" - > - <template slot-scope="scope"> - <dict-tag - :options="dict.type.sys_yujing" - :value="scope.row.excep" - /> - </template> - </el-table-column> - <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 - prop="taskName" - align="center" - width="200" - show-overflow-tooltip - label="浠诲姟鍚嶇О" - > - </el-table-column> - - <el-table-column - prop="templatename" - align="center" - label="鏈嶅姟妯℃澘" - width="200" - show-overflow-tooltip - > - </el-table-column> - - <el-table-column - prop="bankcardno" - align="center" - label="鍛煎彨鐘舵��" - width="210" - > - </el-table-column> - <!-- <el-table-column - label="鎿嶄綔" - fixed="right" - align="center" - width="200" - class-name="small-padding fixed-width" - > - <template slot-scope="scope"> - <el-button - size="medium" - type="text" - @click="Seedetails(scope.row)" - v-hasPermi="['system:user:edit']" - ><span class="button-zx" - ><i class="el-icon-s-order"></i>鏌ョ湅鏈嶅姟</span - ></el-button - > - </template> - </el-table-column> --> - </el-table> - </div> - </div> - <div class="Followuserinfo"> - <div> - <div class="headline"> - <div>浜哄伐澶勭悊鎰忚</div> - </div> - <div style="margin-left: 30px"> - <el-button type="warning" @click="Editsingletaskson('1')" - >鏆備笉澶勭悊</el-button - > - <el-button type="success" @click="Editsingletaskson('2')" - >鐥呮儏绋冲畾</el-button - > - <el-button type="primary" @click="Editsingletaskson('3')" - >閫氱煡灏辫瘖</el-button - > - <!-- <el-button type="danger" @click="Editsingletaskson('4')" - >澶辫</el-button - > --> - <el-button type="info" @click="Editsingletaskson('5')" - >浜哄伐闅忚</el-button - > - </div> - </div> - </div> - <div> - <el-tabs v-model="activeName" type="border-card"> - <el-tab-pane name="wj"> - <span class="mulsz" slot="label" - ><i class="el-icon-notebook-1"></i> 闂嵎闅忚缁撴灉</span - > - <div class="CONTENT"> - <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 - ? 'scriptTopic-isabnormal' - : 'scriptTopic-dev' - " - :key="index" - v-if="item.scriptType == 1" - > - <div class="dev-text"> - {{ index + 1 }}銆乕鍗曢�塢<span>{{ item.scriptContent }}</span> - </div> - <div class="dev-xx"> - <el-radio-group - v-model="item.scriptResult" - @change="handleOptionChange($event, index, item)" - > - <el-radio - v-for="( - items, index - ) in item.svyLibTemplateTargetoptions" - :class="items.isabnormal ? 'red-star' : ''" - :key="index" - :label="items.optioncontent" - >{{ items.optioncontent }}</el-radio - > - </el-radio-group> - </div> - <div v-show="item.prompt"> - <el-alert :title="item.prompt" type="warning"> </el-alert> - </div> - </div> - <!-- 澶氶�� --> - <div - :class=" - item.isabnormal - ? 'scriptTopic-isabnormal' - : 'scriptTopic-dev' - " - :key="index" - v-if="item.scriptType == 2" - > - <div class="dev-text"> - {{ index + 1 }}銆乕澶氶�塢<span>{{ item.scriptContent }}</span> - </div> - <div class="dev-xx"> - <el-checkbox-group - v-model="item.scriptResult" - @change="updateScore($event, index, item)" - > - <el-checkbox - :class="items.isabnormal ? 'red-star' : ''" - @change="$forceUpdate()" - v-for="( - items, indexs - ) in item.svyLibTemplateTargetoptions" - :key="indexs" - :label="items.optioncontent" - > - {{ items.optioncontent }} - </el-checkbox> - </el-checkbox-group> - </div> - <div v-show="item.prompt && item.scriptResult[0]"> - <el-alert :title="item.prompt" type="warning"> </el-alert> - </div> - </div> - <!-- 濉┖ --> - <div - class="scriptTopic-dev" - :key="index" - v-if="item.scriptType == 4" - > - <div class="dev-text"> - {{ index + 1 }}銆乕闂瓟]<span>{{ item.scriptContent }}</span> - </div> - <div class="dev-xx"> - <el-input - type="textarea" - :rows="2" - placeholder="璇疯緭鍏ョ瓟妗�" - v-model="item.scriptResult" - clearable - > - </el-input> - </div> - </div> - </div> - </div> - <!-- 璇煶闂嵎褰㈠紡灞曠ず --> - <div class="preview-left" v-else> - <!-- 鍗曢�� --> - <div - class="topic-dev" - v-for="(item, index) in tableDatatop" - :key="item.id" - > - <div v-if="item.targetvalue"> - <div class="dev-text"> - {{ index + 1 }}銆乕鍗曢�塢<span>{{ item.questiontext }}</span> - </div> - <div class="dev-xx"> - <el-radio-group - v-model="item.matchedtext" - @change="handleOptionChange($event, index, item)" - > - <el-radio - v-for="(items, index) in item.scriptResult" - :key="items" - :label="items" - >{{ items }}</el-radio - > - </el-radio-group> - </div> - <div v-show="item.prompt"> - <el-alert :title="item.prompt" type="warning"> </el-alert> - </div> - </div> - - <!-- 濉┖ --> - <div class="scriptTopic-dev" :key="index" v-else> - <div class="dev-text"> - {{ index + 1 }}銆乕闂瓟]<span>{{ item.questiontext }}</span> - </div> - <div class="dev-xx"> - <el-input - type="textarea" - :rows="2" - placeholder="璇疯緭鍏ョ瓟妗�" - v-model="item.matchedtext" - clearable - > - </el-input> - </div> - </div> - </div> - </div> - <el-button v-if="Voicetype" type="primary" @click="yuyingetdetail" - >淇濆瓨鏈嶅姟璇︽儏</el-button - > - <el-button v-else type="primary" @click="getdetail" - >淇濆瓨鏈嶅姟璇︽儏</el-button - > - </div> - </el-tab-pane> - <!-- 璇煶闅忚璇︽儏---------------------- --> - <el-tab-pane name="yy"> - <span class="mulsz" slot="label" - ><i class="el-icon-headset"></i> 璇煶闅忚璇︽儏</span - > - <div class="borderdiv"> - <div class="title">{{ taskname ? taskname : "闂嵎" }}</div> - <div - style=" - display: flex; - text-align: center; - align-items: center; - color: #59a0f0; - " - > - 瀹屾暣璇煶锛� - <mini-audio - :audio-source=" - voice ? voice : 'https://example.com/example.mp3' - " - ></mini-audio> - </div> - <div class="preview-left"> - <div v-for="item in voiceDatatop"> - <div class="leftside"> - <i class="el-icon-phone-outline"></i - ><span>{{ item.questiontext }}</span> - </div> - <div class="offside"> - <i class="el-icon-user"></i> - <div class="offside-value"> - <el-input - type="textarea" - :autosize="{ minRows: 1 }" - v-model="item.asrtext" - ></el-input> - <!-- <el-radio v-model="radio" label="1">寰堟</el-radio> - <el-radio v-model="radio" label="2">杩樺彲浠�</el-radio> - <el-radio v-model="radio" label="3">涓嶅お濂�</el-radio> - <el-radio v-model="radio" label="4">姣旇緝宸�</el-radio> --> - <div> - <mini-audio - :audio-source=" - item.questionvoice - ? item.questionvoice - : 'https://example.com/example.mp3' - " - ></mini-audio> - </div> - </div> - </div> - </div> - </div> - <el-button v-if="Voicetype" type="primary" @click="yuyingetdetail" - >淇濆瓨闅忚璇︽儏</el-button - > - <el-button v-else type="primary" @click="getdetail" - >淇濆瓨闅忚璇︽儏</el-button - > - </div> - </el-tab-pane> - </el-tabs> - </div> - </div> -</template> - -<script> -import { - getsearchrResults, - getPersonVoices, - getTaskservelist, - getTaskFollowup, - Editsingletaskson, - serviceSubtaskDetailedit, - serviceSubtaskDetailadd, - updatePersonVoices, - addPersonVoices, -} from "@/api/AiCentre/index"; -export default { - dicts: ["sys_normal_disable", "sys_user_sex", "sys_yujing", "sys_suggest"], - data() { - return { - userid: "", - input: "浠婂ぉ韬綋杩樹笉閿�", - radio: "2", - taskname: "", - activeName: "wj", - voice: "", - templateid: "", - tableDatatop: [], //棰樼洰琛� - voiceDatatop: [], //棰樼洰琛� - Whetherall: false, //鏄惁鍏ㄩ儴璁板綍灞曠ず - Voicetype: 0, //鏄惁涓鸿闊虫湇鍔� - logsheetlist: [], - topicobj: {}, - sendname: null, - serviceType: null, - id: null, - taskid: null, - patid: null, - }; - }, - - created() { - this.taskid = this.$route.query.taskid; - this.id = this.$route.query.id; - this.sendname = this.$route.query.sendname; - this.patid = this.$route.query.patid; - this.Voicetype = this.$route.query.Voicetype; - this.serviceType = this.$route.query.serviceType; - - this.getTaskservelist(this.taskid); - }, - - methods: { - // 鑾峰彇闂嵎鏁版嵁 - getsearchrResults() { - getsearchrResults({ - taskid: this.taskid, - patid: this.patid, - subId: this.id, - isFinish: false, - }).then((res) => { - if (res.code === 200) { - this.tableDatatop = res.data.scriptResult.script; - this.tableDatatop.forEach((item) => { - if (item.scriptResult && item.scriptType != 2) { - item.isoption = 3; - item.scriptResult = JSON.parse(item.scriptResult); - } else if (item.scriptResult && item.scriptType == 2) { - item.scriptResult = item.scriptResult.split("&"); - item.isoption = 3; - } - }); - this.taskname = res.data.taskName; - this.overdata(); - } - }); - }, - // 鑾峰彇璇煶鏁版嵁 - getPersonVoices() { - let obj = { - taskid: this.taskid, - patid: this.patid, - subId: 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; - this.activeName = "yy"; - this.taskname = res.data.taskName; - // 闂嵎灞曠ず鏁版嵁澶勭悊 - this.tableDatatop = res.data.filteredDetails; - this.tableDatatop.forEach((item) => { - if (item.targetvalue) { - item.scriptResult = item.targetvalue.split("&"); - } else { - item.scriptResult = []; - } - }); - if (!this.tableDatatop.length) { - this.puttaskid(this.templateid); - } - } - }); - }, - // 鑾峰彇闂嵎瀹屾暣鏁版嵁姣斿 - puttaskid(id) { - getTaskFollowup(id).then((res) => { - if (res.code == 200) { - this.tableDatatop = res.data.ivrTaskTemplateScriptVOList; - this.tableDatatop.forEach((item) => { - item.id = null; - // 绫诲瀷鍒ゆ柇璧嬪�� - if (item.ivrTaskScriptTargetoptionList) { - item.targetvalue = 1; - item.questiontext = item.scriptContent; - item.targetvalue = item.ivrTaskScriptTargetoptionList - .map((obj) => obj.targetvalue) - .join("&"); - } - if (item.targetvalue) { - item.scriptResult = item.targetvalue.split("&"); - } else { - item.scriptResult = []; - } - }); - console.log(this.tableDatatop, "this.tableDatatop"); - } - }); - }, - // 鍖绘姢浜哄憳瀛樺偍鏁版嵁 - getdetail() { - let excep = ""; - this.tableDatatop.forEach((item) => { - var objs = item.svyLibTemplateTargetoptions.find( - (items) => items.optioncontent == item.scriptResult - ); - - if (objs.isabnormal) { - excep = 1; - } - - let obj = { - asrtext: null, - patid: this.patid, - subId: this.id, - taskid: this.taskid, - scriptid: item.id, - questiontext: item.scriptContent, - }; - if (item.scriptType == 2 && item.scriptResult[0]) { - obj.asrtext = item.scriptResult.join("&"); - } else if (item.scriptType != 2 && item.scriptResult) { - obj.asrtext = JSON.stringify(item.scriptResult); - } - - if (item.isoption == 3) { - serviceSubtaskDetailedit(obj).then((res) => { - if (res.code == 200) { - } else { - this.$modal.error("淇敼澶辫触"); - } - }); - } else { - serviceSubtaskDetailadd(obj).then((res) => { - if (res.code == 200) { - console.log(res); - } else { - this.$modal.error("淇敼澶辫触"); - } - }); - } - }); - this.Editsingletasksonyic(excep); - }, - yuyingetdetail() { - this.tableDatatop.forEach((item,index) => { - console.log(item.scriptResult, "scriptResult"); - item.scriptResult = item.scriptResult.join("&"); - item.templatequestionnum=index+1; - item.subId = this.id; - item.taskid = this.taskid; - item.asrtext = item.matchedtext; - item.isoperation = 1; - item.patid = this.patid; - item.templateid = item.templateID; - }); - if (this.tableDatatop[0].id) { - updatePersonVoices(this.tableDatatop).then((res) => { - if (res.code == 200) { - this.$modal.msgSuccess("鏈嶅姟淇敼鎴愬姛"); - } - }); - } else { - addPersonVoices(this.tableDatatop).then((res) => { - if (res.code == 200) { - this.$modal.msgSuccess("鏈嶅姟淇濆瓨鎴愬姛"); - } - }); - } - }, - // 鑾峰彇鎮h�呰褰� - getTaskservelist(taskid) { - this.taskid = taskid; - if (taskid) { - this.Whetherall = false; - } else { - this.Whetherall = true; - } - getTaskservelist({ - patid: this.patid, - taskid: taskid, - }).then((res) => { - if (res.code == 200) { - this.logsheetlist = res.rows[0].serviceSubtaskList; - this.templateid = this.logsheetlist[0].templateid; - } - if (this.Voicetype) { - this.getPersonVoices(); - } else { - this.getsearchrResults(); - } - }); - }, - Editsingletaskson(son) { - let objson = {}; - getTaskservelist({ - patid: this.patid, - taskid: this.taskid, - }).then((res) => { - if (res.code == 200) { - objson = res.rows[0]; - objson.suggest = son; - Editsingletaskson(objson).then((res) => { - if (res.code) { - this.$modal.msgSuccess("璁板綍鎴愬姛"); - this.getTaskservelist(this.taskid); - } - }); - } - }); - }, - Editsingletasksonyic(excep) { - let objson = {}; - getTaskservelist({ - patid: this.patid, - taskid: this.taskid, - }).then((res) => { - if (res.code == 200) { - objson = res.rows[0].serviceSubtaskList[0]; - console.log(objson, "obj"); - - objson.excep = excep; - Editsingletaskson(objson).then((res) => { - if (res.code) { - this.$modal.msgSuccess("鏈嶅姟淇敼鎴愬姛"); - this.getTaskservelist(this.taskid); - } - }); - } - }); - }, - // 鏇存敼寮傚父鐘舵�� - Seedetails(row) { - this.$modal - .confirm('鏄惁鏌ョ湅浠诲姟涓�"' + optionids + '"鐨勬湇鍔¢」锛�') - .then(function () {}) - .then(() => { - this.getList(); - }) - .catch(() => {}); - }, - handleOptionChange(a, b, c) { - console.log(this.tableDatatop[b], "this.tableDatatop[b]"); - - if (this.Voicetype) { - var obj = this.tableDatatop[b].ivrTaskScriptTargetoptionList.find( - (item) => item.optioncontent == a - ); - } else { - var obj = this.tableDatatop[b].svyLibTemplateTargetoptions.find( - (item) => item.optioncontent == a - ); - } - if (obj.isabnormal) { - this.tableDatatop[b].isabnormal = true; - } else { - this.tableDatatop[b].isabnormal = false; - } - this.$forceUpdate(); - }, - overdata() { - this.tableDatatop.forEach((item, index) => { - console.log(item.svyLibTemplateTargetoptions); - - var obj = item.svyLibTemplateTargetoptions.find( - (items) => items.optioncontent == item.scriptResult - ); - if (obj) { - if (obj.isabnormal) { - this.tableDatatop[index].isabnormal = true; - } else { - this.tableDatatop[index].isabnormal = false; - } - this.$forceUpdate(); - } - }); - }, - - updateScore(a, b, c) { - console.log(a); - console.log(b); - console.log(c); - }, - }, -}; -</script> - -<style lang="scss" scoped> -.Followupdetailspage { - margin: 10px; -} -.Followuserinfo { - margin: 20px 10px; - align-items: center; - padding: 30px; - background: #ffff; - border: 1px solid #dcdfe6; - -webkit-box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.12), - 0 0 6px 0 rgba(0, 0, 0, 0.04); - .userinfo-text { - font-size: 20px; - margin-right: 20px; - margin-bottom: 10px; - } - .userinfo-value { - color: rgb(15, 139, 211); - span { - margin-right: 20px; - } - } -} -.borderdiv { - min-height: 60vh; - font-size: 20px; - padding: 30px; - .title { - font-size: 22px; - font-weight: bold; - margin-bottom: 20px; - text-align: center; - } - .leftside { - margin: 30px 0; - span { - width: 400px; - margin-left: 20px; - padding: 10px; - color: #fff; - background: rgb(110, 196, 247); - border-radius: 10px; - } - } - .offside { - display: flex; - flex-direction: row-reverse; - .offside-value { - padding: 10px; - background: rgb(217, 173, 253); - border-radius: 10px; - color: #fff; - margin-right: 20px; - } - } -} -.CONTENT { - padding: 10px; - .title { - font-size: 22px; - font-weight: bold; - margin-bottom: 20px; - text-align: center; - } -} -.preview-left { - margin: 20px; - // margin: 20px; - padding: 30px; - // background: #ffff; - border: 1px solid #dcdfe6; - -webkit-box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.12), - 0 0 6px 0 rgba(0, 0, 0, 0.04); - .topic-dev { - margin-bottom: 25px; - font-size: 20px !important; - .dev-text { - margin-bottom: 10px; - } - } -} -.scriptTopic-isabnormal { - color: red; -} -.headline { - font-size: 24px; - height: 40px; - border-left: 5px solid #41a1be; - padding-left: 5px; - margin-bottom: 10px; - display: flex; - // justify-content: space-between; - .Add-details { - font-size: 18px; - color: #02a7f0; - cursor: pointer; - } -} -.red-star { - ::v-deep.el-radio__label { - position: relative; - padding-right: 10px; /* 鏍规嵁闇�瑕佽皟鏁� */ - } - ::v-deep.el-radio__label::after { - content: "*"; - color: red; - position: absolute; - right: -5px; /* 鏍规嵁闇�瑕佽皟鏁� */ - top: 0; - } - ::v-deep.el-input-group__textarea { - white-space: pre-wrap; /* 淇濇寔绌虹櫧绗﹀簭鍒楀苟姝e父鎹㈣ */ - word-break: break-all; /* 鍦ㄩ暱鍗曡瘝鎴朥RL鍦板潃鍐呴儴杩涜鎹㈣ */ - } - ::v-deep.el-checkbox__label { - position: relative; - padding-right: 10px; /* 鏍规嵁闇�瑕佽皟鏁� */ - } - ::v-deep.el-checkbox__label::after { - content: "*"; - color: red; - position: absolute; - right: -5px; /* 鏍规嵁闇�瑕佽皟鏁� */ - top: 0; - } -} -::v-deep.offside-value .el-radio__label { - color: #fff; -} -.mulsz { - font-size: 25px; - margin-top: 20px; -} -</style> diff --git a/src/views/followvisit/satisfaction/index.vue b/src/views/followvisit/satisfaction/index.vue deleted file mode 100644 index 73901fb..0000000 --- a/src/views/followvisit/satisfaction/index.vue +++ /dev/null @@ -1,929 +0,0 @@ -<template> - <div class="app-container"> - <el-row :gutter="20"> - <!--鐢ㄦ埛鏁版嵁--> - - <el-form - :model="topqueryParams" - ref="queryForm" - size="small" - :inline="true" - v-show="showSearch" - label-width="98px" - > - <el-form-item label="浠诲姟鍚嶇О"> - <el-input v-model="topqueryParams.name"></el-input> - </el-form-item> - <el-form-item label="鍙戣捣浜�"> - <el-input v-model="topqueryParams.name"></el-input> - </el-form-item> - <el-form-item label="鍙戣捣鏃堕棿"> - <el-date-picker - v-model="dateRange" - style="width: 240px" - value-format="yyyy-MM-dd" - type="daterange" - range-separator="-" - start-placeholder="寮�濮嬫棩鏈�" - end-placeholder="缁撴潫鏃ユ湡" - ></el-date-picker> - </el-form-item> - <el-form-item label="璋冩煡绫诲瀷" prop="status"> - <el-select v-model="topqueryParams.topic" placeholder="璇烽�夋嫨"> - <el-option - v-for="item in topicoptions" - :key="item.value" - :label="item.label" - :value="item.value" - > - </el-option> - </el-select> - </el-form-item> - <el-form-item label="璋冩煡鐘舵��" prop="status"> - <el-select v-model="topqueryParams.topic" placeholder="璇烽�夋嫨"> - <el-option - v-for="item in topicoptions" - :key="item.value" - :label="item.label" - :value="item.value" - > - </el-option> - </el-select> - </el-form-item> - <el-form-item> - <el-button - type="primary" - icon="el-icon-search" - size="medium" - @click="handleQuery" - >鎼滅储</el-button - > - <el-button icon="el-icon-refresh" size="medium" @click="resetQuery" - >閲嶇疆</el-button - > - </el-form-item> - </el-form> - <el-divider></el-divider> - <el-row :gutter="10" class="mb8"> - <el-col :span="1.5"> - <el-select v-model="tasktopic" placeholder="璇烽�夋嫨鏂板绫诲瀷"> - <el-option - v-for="item in taskoptions" - :key="item.value" - :label="item.label" - :value="item.value" - > - </el-option> - </el-select> - </el-col> - <el-col :span="1.5"> - <el-button - type="primary" - icon="el-icon-plus" - size="medium" - :disabled="!tasktopic" - @click="handleAdd" - >鏂板</el-button - > - </el-col> - <el-col :span="1.5"> - <el-button - type="success" - plain - icon="el-icon-edit" - size="medium" - :disabled="single" - @click="handleUpdate" - v-hasPermi="['system:user:edit']" - >淇敼</el-button - > - </el-col> - <el-col :span="1.5"> - <el-button - type="danger" - plain - icon="el-icon-delete" - size="medium" - :disabled="multiple" - @click="handleDelete" - v-hasPermi="['system:user:remove']" - >鍒犻櫎</el-button - > - </el-col> - <el-col :span="1.5"> - <div class="documentf"> - <div class="document"> - <el-button - type="warning" - plain - icon="el-icon-download" - size="medium" - @click="handleExport" - v-hasPermi="['system:user:export']" - >瀵煎嚭</el-button - > - </div> - </div> - </el-col> - <!-- <el-col :span="1.5"> </el-col> --> - </el-row> - <!-- <right-toolbar - :showSearch.sync="showSearch" - @queryTable="getList" - :columns="columns" - ></right-toolbar> --> - <el-table - v-loading="loading" - :data="userList" - @selection-change="handleSelectionChange" - > - <el-table-column type="selection" width="50" align="center" /> - <el-table-column - label="搴忓彿" - align="center" - key="userId" - prop="userId" - /> - - <el-table-column - label="浣忛櫌缂栧彿" - align="center" - sortable - key="userName" - prop="userName" - :show-overflow-tooltip="true" - /> - <el-table-column - label="濮撳悕" - align="center" - sortable - key="userName" - prop="userName" - :show-overflow-tooltip="true" - /> - <el-table-column - label="骞撮緞" - align="center" - key="age" - prop="age" - width="120" - /> - <el-table-column - label="璋冩煡妯℃澘" - align="center" - key="types" - prop="types" - /> - <el-table-column - label="璋冩煡绫诲瀷" - align="center" - key="types" - prop="types" - /> - <el-table-column - label="璋冩煡鍐呭" - align="center" - key="nickName" - prop="nickName" - /> - <el-table-column - label="浣忛櫌鐥呭尯" - align="center" - key="nickName" - prop="nickName" - /> - <el-table-column - label="搴婂彿" - align="center" - key="nickName" - prop="nickName" - /> - <el-table-column - label="涓绘不鍖荤敓" - align="center" - key="nickName" - prop="nickName" - /> - <el-table-column - label="绠″簥鎶ゅ+" - align="center" - key="nickName" - prop="nickName" - /> - - <el-table-column - label="鎵ц鐘舵��" - align="center" - key="topicnumber" - prop="topicnumber" - 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" - sortable - width="120" - :show-overflow-tooltip="true" - /> - - <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="浠诲姟璇︽儏" - align="center" - width="200" - class-name="small-padding fixed-width" - > - <template slot-scope="scope"> - <el-button - size="medium" - type="text" - @click="handleUpdate(scope.row)" - v-hasPermi="['system:user:edit']" - ><span class="button-xq" - ><i class="el-icon-s-data"></i>璇︽儏</span - ></el-button - > - <el-button - size="medium" - type="text" - @click="handleUpdate(scope.row)" - v-hasPermi="['system:user:edit']" - ><span class="button-bb" - ><i class="el-icon-s-order"></i>鎶ヨ〃</span - ></el-button - > - <el-button - size="medium" - type="text" - @click="handleUpdate(scope.row)" - v-hasPermi="['system:user:edit']" - ><span class="button-sc" - ><i class="el-icon-delete"></i>鍒犻櫎</span - ></el-button - > - </template> - </el-table-column> - </el-table> - - <pagination - v-show="total > 0" - :total="total" - :page.sync="topqueryParams.pageNum" - :limit.sync="topqueryParams.pageSize" - @pagination="getList" - /> - </el-row> - <!-- 娣诲姞鎴栦慨鏀归棬璇婇殢璁垮璇濇 --> - <el-dialog - :title="title" - :visible.sync="addalteropen" - width="700px" - append-to-body - > - <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-select> - </el-form-item> - </el-col> - </el-row> - <el-row :gutter="20"> - <el-col :span="24"> - <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> - </div> - </el-dialog> - </div> -</template> - -<script> -import { - listUser, - getUser, - delUser, - addUser, - updateUser, - resetUserPwd, - changeUserStatus, -} from "@/api/system/user"; -import Treeselect from "@riophae/vue-treeselect"; -import "@riophae/vue-treeselect/dist/vue-treeselect.css"; - -export default { - name: "User", - dicts: ["sys_normal_disable", "sys_user_sex"], - components: { Treeselect }, - data() { - return { - // 閬僵灞� - loading: true, - // 閫変腑鏁扮粍 - ids: [], - // 闈炲崟涓鐢� - single: true, - // 闈炲涓鐢� - multiple: true, - // 鏄剧ず鎼滅储鏉′欢 - showSearch: true, - // 鎬绘潯鏁� - total: 0, - // 鐢ㄦ埛琛ㄦ牸鏁版嵁 - userList: null, - // 寮瑰嚭灞傛爣棰� - title: "鏂板闂ㄨ瘖闅忚", - // 鏄惁鏄剧ず淇敼銆佹坊鍔犲脊鍑哄眰 - addalteropen: false, - // 閮ㄩ棬鍚嶇О - deptName: undefined, - // 榛樿瀵嗙爜 - initPassword: undefined, - // 鏃ユ湡鑼冨洿 - dateRange: [], - // 宀椾綅閫夐」 - postOptions: [], - taskoptions: [ - { - value: "1", - label: "闂ㄨ瘖鐥呬汉", - }, - { - value: "2", - label: "鍑洪櫌鐥呬汉", - }, - { - value: "3", - label: "鍖绘姢浜哄憳", - }, - ], - tasktopic: null, //鏂板绫诲瀷 - // 瑙掕壊閫夐」 - roleOptions: [], - dynamicTags: ["閫夐」涓�", "閫夐」浜�", "閫夐」涓�"], //閫夐」 - inputVisible: false, - inputValue: "", - previewVisible: false, //闂ㄨ瘖闅忚棰勮寮规 - radio: "", - radios: [], - previewtype: 2, //棰勮闂ㄨ瘖闅忚绫诲瀷 - total: 0, // 鎬绘潯鏁� - ImportQuantity: 999, //瀵奸棬璇婇殢璁挎暟閲� - //棰勮闂ㄨ瘖闅忚淇℃伅 - previewvalue: { - username: "杩欎釜鍖荤敓瀵逛綘鎬庝箞鏍�", - }, - 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(); - }, - 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, - userName: undefined, - tagid: undefined, - topic: undefined, - }, - propss: { multiple: true }, - options: [], - - topicoptions: [ - { - value: 1, - label: "寰呭鏍�", - }, - { - value: 2, - label: "鎵ц涓�", - }, - { - value: 3, - label: "鎵ц瀹屾垚", - }, - { - value: 4, - label: "宸插仠姝�", - }, - ], - // 琛ㄥ崟鏍¢獙 - rules: { - userName: [ - { required: true, message: "鐢ㄦ埛鍚嶇О涓嶈兘涓虹┖", trigger: "blur" }, - { - min: 2, - max: 20, - message: "鐢ㄦ埛鍚嶇О闀垮害蹇呴』浠嬩簬 2 鍜� 20 涔嬮棿", - trigger: "blur", - }, - ], - nickName: [ - { required: true, message: "鐢ㄦ埛鏄电О涓嶈兘涓虹┖", trigger: "blur" }, - ], - password: [ - { required: true, message: "鐢ㄦ埛瀵嗙爜涓嶈兘涓虹┖", trigger: "blur" }, - { - min: 5, - max: 20, - message: "鐢ㄦ埛瀵嗙爜闀垮害蹇呴』浠嬩簬 5 鍜� 20 涔嬮棿", - trigger: "blur", - }, - ], - email: [ - { - type: "email", - message: "璇疯緭鍏ユ纭殑閭鍦板潃", - trigger: ["blur", "change"], - }, - ], - phonenumber: [ - { - pattern: /^1[3|4|5|6|7|8|9][0-9]\d{8}$/, - message: "璇疯緭鍏ユ纭殑鎵嬫満鍙风爜", - trigger: "blur", - }, - ], - IDnumber: [ - { - pattern: - /^\d{6}((((((19|20)\d{2})(0[13-9]|1[012])(0[1-9]|[12]\d|30))|(((19|20)\d{2})(0[13578]|1[02])31)|((19|20)\d{2})02(0[1-9]|1\d|2[0-8])|((((19|20)([13579][26]|[2468][048]|0[48]))|(2000))0229))\d{3})|((((\d{2})(0[13-9]|1[012])(0[1-9]|[12]\d|30))|((\d{2})(0[13578]|1[02])31)|((\d{2})02(0[1-9]|1\d|2[0-8]))|(([13579][26]|[2468][048]|0[048])0229))\d{2}))(\d|X|x)$/, - message: "璇疯緭鍏ユ纭殑韬唤璇佸彿鐮�", - trigger: "blur", - }, - ], - }, - }; - }, - watch: {}, - created() { - this.getList(); - this.getConfigKey("sys.user.initPassword").then((response) => { - this.initPassword = response.msg; - }); - }, - // 鎼滅储 - mounted() { - this.list = this.states.map((item) => { - return { value: `value:${item}`, label: `label:${item}` }; - }); - }, - methods: { - /** 鏌ヨ闂ㄨ瘖闅忚鍒楄〃 */ - getList() { - this.loading = true; - listUser(this.addDateRange(this.topqueryParams, this.dateRange)).then( - (response) => { - this.userList = response.rows; - this.total = response.total; - this.loading = false; - } - ); - }, - // 鏌ョ湅闂ㄨ瘖闅忚璇︽儏 - Referencequestion(row) { - this.previewVisible = true; - }, - // 娣诲姞寮规鎼滅储 - remoteMethod(query) { - if (query !== "") { - this.loading = true; - setTimeout(() => { - this.loading = false; - this.options = this.list.filter((item) => { - return item.label.toLowerCase().indexOf(query.toLowerCase()) > -1; - }); - }, 200); - } else { - this.options = []; - } - }, - // 闂ㄨ瘖闅忚鐘舵�佷慨鏀� - handleStatusChange(row) { - let text = row.status === "0" ? "鍚敤" : "鍋滅敤"; - this.$modal - .confirm('纭瑕�"' + text + '""' + row.userName + '"鐢ㄦ埛鍚楋紵') - .then(function () { - return changeUserStatus(row.userId, row.status); - }) - .then(() => { - this.$modal.msgSuccess(text + "鎴愬姛"); - }) - .catch(function () { - row.status = row.status === "0" ? "1" : "0"; - }); - }, - // 鍙栨秷鎸夐挳 - cancel() { - this.addalteropen = false; - this.reset(); - }, - // 琛ㄥ崟閲嶇疆 - reset() { - this.form = { - userId: undefined, - deptId: undefined, - userName: undefined, - nickName: undefined, - password: undefined, - phonenumber: undefined, - email: undefined, - sex: undefined, - status: "0", - remark: undefined, - postIds: [], - roleIds: [], - }; - this.resetForm("form"); - }, - /** 鎼滅储鎸夐挳鎿嶄綔 */ - handleQuery() { - this.topqueryParams.pageNum = 1; - this.getList(); - }, - /** 閲嶇疆鎸夐挳鎿嶄綔 */ - resetQuery() { - this.dateRange = []; - this.resetForm("queryForm"); - this.topqueryParams.deptId = undefined; - this.$refs.tree.setCurrentKey(null); - this.handleQuery(); - }, - // 澶氶�夋閫変腑鏁版嵁 - handleSelectionChange(selection) { - this.ids = selection.map((item) => item.userId); - this.single = selection.length != 1; - this.multiple = !selection.length; - }, - //鍒犻櫎閫夐」 - handleClose(tag) { - this.dynamicTags.splice(this.dynamicTags.indexOf(tag), 1); - }, - //瑙﹀彂鏂板杈撳叆 - showInput() { - this.inputVisible = true; - this.$nextTick((_) => { - this.$refs.saveTagInput.$refs.input.focus(); - }); - }, - //鑾峰彇澶卞幓鐒︾偣瑙﹀彂 - handleInputConfirm() { - let inputValue = this.inputValue; - if (inputValue) { - this.dynamicTags.push(inputValue); - } - this.inputVisible = false; - this.inputValue = ""; - }, - /** 鏂板鎸夐挳鎿嶄綔 */ - handleAdd() { - // this.reset(); - // this.addalteropen = true; - this.$router.push({ - path: "/Intelligentcenter/satisfaction/particulars", - query: { type: this.tasktopic }, - }); - // getUser().then((response) => { - // this.postOptions = response.posts; - // this.roleOptions = response.roles; - // this.title = "鏂板闂ㄨ瘖闅忚"; - // this.form.password = this.initPassword; - // }); - }, - /** 淇敼鎸夐挳鎿嶄綔 */ - handleUpdate(row) { - this.reset(); - const userId = row.userId || this.ids; - getUser(userId).then((response) => { - this.form = response.data; - this.postOptions = response.posts; - this.roleOptions = response.roles; - this.$set(this.form, "postIds", response.postIds); - this.$set(this.form, "roleIds", response.roleIds); - this.addalteropen = true; - this.title = "淇敼鐢ㄦ埛"; - this.form.password = ""; - }); - }, - /** 閲嶇疆瀵嗙爜鎸夐挳鎿嶄綔 */ - handleResetPwd(row) { - this.$prompt('璇疯緭鍏�"' + row.userName + '"鐨勬柊瀵嗙爜', "鎻愮ず", { - confirmButtonText: "纭畾", - cancelButtonText: "鍙栨秷", - closeOnClickModal: false, - inputPattern: /^.{5,20}$/, - inputErrorMessage: "鐢ㄦ埛瀵嗙爜闀垮害蹇呴』浠嬩簬 5 鍜� 20 涔嬮棿", - }) - .then(({ value }) => { - resetUserPwd(row.userId, value).then((response) => { - this.$modal.msgSuccess("淇敼鎴愬姛锛屾柊瀵嗙爜鏄細" + value); - }); - }) - .catch(() => {}); - }, - - /** 鎻愪氦鎸夐挳 */ - 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.getList(); - }); - } else { - addUser(this.form).then((response) => { - this.$modal.msgSuccess("鏂板鎴愬姛"); - this.open = false; - this.getList(); - }); - } - } - }); - }, - /** 鍒犻櫎鎸夐挳鎿嶄綔 */ - handleDelete(row) { - const userIds = row.userId || this.ids; - this.$modal - .confirm('鏄惁纭鍒犻櫎鐢ㄦ埛缂栧彿涓�"' + userIds + '"鐨勬暟鎹」锛�') - .then(function () { - return delUser(userIds); - }) - .then(() => { - this.getList(); - this.$modal.msgSuccess("鍒犻櫎鎴愬姛"); - }) - .catch(() => {}); - }, - /** 瀵煎嚭鎸夐挳鎿嶄綔 */ - handleExport() { - this.download( - "system/user/export", - { - ...this.topqueryParams, - }, - `user_${new Date().getTime()}.xlsx` - ); - }, - }, -}; -</script> - -<style lang="scss" scoped> -.el-button--primary.is-plain { - color: #ffffff; - background: #409eff; - border-color: #4fabe9; -} - -.document { - width: 100px; - height: 50px; -} - -.documentf { - display: flex; - justify-content: flex-end; -} - -.download { - text-align: center; - - .el-upload__tip { - font-size: 23px; - } - - .el-upload__text { - font-size: 23px; - } -} - -.uploading { - margin-top: 20px; - margin: 20px; - padding: 30px; - background: #ffffff; - border: 1px solid #dcdfe6; - -webkit-box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.12), - 0 0 6px 0 rgba(0, 0, 0, 0.04); -} - -.el-tag + .el-tag { - margin-left: 10px; -} - -.button-new-tag { - margin-left: 10px; - height: 32px; - line-height: 30px; - padding-top: 0; - padding-bottom: 0; -} - -.input-new-tag { - width: 90px; - margin-left: 10px; - vertical-align: bottom; -} - -.drexamine { - display: flex; - align-items: center; - justify-content: center; - padding: 30px; - background: #daeaf5; - - img { - width: 100px; - height: 100px; - } -} - -.qrcode-dialo { - // text-align: center; - // display: flex; - margin: 20px; - padding: 30px; - background: #edf1f7; - border: 1px solid #dcdfe6; - -webkit-box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.12), - 0 0 6px 0 rgba(0, 0, 0, 0.04); - - .topic-dev { - margin-bottom: 25px; - font-size: 20px !important; - - .dev-text { - margin-bottom: 10px; - } - } -} -.button-bb { - font-weight: 500; - color: #2ba05c; -} -.button-xq { - font-weight: 500; - color: #409eff; -} -.button-sc { - font-weight: 500; - color: #dd302a; -} -.button-zx { - background: #4fabe9; - padding: 5px; - border-radius: 1px; - color: #ffffff; -} - -::v-deep.el-radio-group { - span { - font-size: 24px; - } -} - -::v-deep.el-checkbox-group { - span { - font-size: 24px; - } -} -</style> diff --git a/src/views/followvisit/satisfaction/particulars/index.vue b/src/views/followvisit/satisfaction/particulars/index.vue deleted file mode 100644 index 6ef8d94..0000000 --- a/src/views/followvisit/satisfaction/particulars/index.vue +++ /dev/null @@ -1,889 +0,0 @@ -<template> - <div class="Questionnairemanagement"> - <!-- 涓婁晶鏍� --> - <div class="sidecolumn"> - <div> - <el-steps simple :active="Editprogress"> - <el-step - icon="el-icon-edit" - title="鍩虹淇℃伅" - description="閫夋嫨瀹f暀妯℃澘銆佸舰寮忕瓑鍩虹淇℃伅" - ></el-step> - <el-step - icon="el-icon-user" - title="瀹f暀瀵硅薄" - description="鍦ㄦ湰閮ㄩ�夋嫨瀹f暀鐥呬汉" - ></el-step> - </el-steps> - </div> - </div> - <!-- 涓嬩晶鏁版嵁 --> - <div class="leftvlue" style="margin: 0 20px"> - <!-- 鍩烘湰淇℃伅 --> - <div v-if="Editprogress == 1"> - <el-alert - title="閫夋嫨瀹f暀妯℃澘銆佸舰寮忕瓑鍩虹淇℃伅" - type="success" - effect="dark" - > - </el-alert> - <div class="leftvlue-jbxx"> - <!-- 鍩虹淇℃伅 --> - <div class="examine-jic"> - <div class="headline"> - <div>鍩虹淇℃伅</div> - </div> - <div class="jic-value"> - <el-form ref="form" :model="form" label-width="105px"> - <el-form-item label="鍙戦�佹椂闂达細" v-if="currenttype != 2"> - <el-date-picker - v-model="form.name" - type="date" - placeholder="閫夋嫨鏃ユ湡" - > - </el-date-picker> - </el-form-item> - <el-form-item label="鍙戦�佹椂闂存锛�" v-if="currenttype != 2"> - <el-checkbox-group v-model="checkList"> - <el-checkbox label="涓婂崍锛�8:30-11:30锛�"></el-checkbox> - <el-checkbox label="涓嬪崍锛�14:30-16:30锛�"></el-checkbox> - <el-checkbox label="澶滈棿锛�18:30-20:30锛�"></el-checkbox> - </el-checkbox-group> - </el-form-item> - <el-form-item label="鏈嶅姟褰㈠紡"> - <el-checkbox-group v-model="checkList"> - <el-checkbox - v-for="(item, index) in checkboxlist" - :key="index" - :label="item" - ></el-checkbox> - </el-checkbox-group> - </el-form-item> - <el-form-item label="缁勭粐褰㈠紡"> - <el-radio-group v-model="form.radio"> - <el-radio :label="3">鍗曚汉</el-radio> - <el-radio :label="6">澶氫汉</el-radio> - </el-radio-group> - </el-form-item> - <el-form-item label="璇煶妯℃澘" prop="region"> - <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-form> - </div> - </div> - <div class="examine-jic"> - <div class="headline"> - <div>{{ title }}</div> - </div> - <div class="examine-jic"> - <div class="jic-value"> - <el-row :gutter="20"> - <!--鐢ㄦ埛鏁版嵁--> - - <el-form - :model="topqueryParams" - ref="queryForm" - size="small" - :inline="true" - v-show="showSearch" - label-width="98px" - > - <el-form-item label="鎵ц鐘舵��" prop="status"> - <el-select - v-model="topqueryParams.topic" - placeholder="璇烽�夋嫨" - > - <el-option - v-for="item in taskoptions" - :key="item.value" - :label="item.label" - :value="item.value" - > - </el-option> - </el-select> - </el-form-item> - <el-form-item - label="绉戝鍚嶇О" - v-if="currenttype == 1 || currenttype == 3" - > - <el-input - v-model="topqueryParams.name" - ></el-input> </el-form-item - ><el-form-item label="鐥呭尯鍚嶇О" v-if="currenttype == 2"> - <el-input v-model="topqueryParams.name"></el-input> - </el-form-item> - <el-form-item - label="鎮h�呭鍚�" - v-if="currenttype == 1 || currenttype == 2" - > - <el-input v-model="topqueryParams.name"></el-input> - </el-form-item> - <el-form-item - label="涓绘不鍖荤敓" - v-if="currenttype == 1 || currenttype == 2" - > - <el-input v-model="topqueryParams.name"></el-input> - </el-form-item> - <el-form-item - label="绠″簥鎶ゅ+" - v-if="currenttype == 1 || currenttype == 2" - > - <el-input v-model="topqueryParams.name"></el-input> - </el-form-item> - - <el-form-item> - <el-button - type="primary" - icon="el-icon-search" - size="medium" - @click="handleQuery" - >鎼滅储</el-button - > - <el-button - icon="el-icon-refresh" - size="medium" - @click="resetQuery" - >閲嶇疆</el-button - > - </el-form-item> - </el-form> - <el-divider></el-divider> - <!-- 閫夋嫨浠诲姟鍒楄〃 --> - <SFtable - @handleUpdate="handleUpdate" - @handleSelectionChange="handleSelectionChange" - :currentList="userList" - :tableLabel="tableLabelxj" - :controlsc="false" - :multiplechoice="false" - /> - <pagination - v-show="total > 0" - :total="total" - :page.sync="topqueryParams.pageNum" - :limit.sync="topqueryParams.pageSize" - @pagination="getList" - /> - </el-row> - </div> - </div> - </div> - </div> - <el-button type="success" @click="submitForm('ruleForm')">{{ - quote ? "绔嬪嵆鍒涘缓" : "浠诲姟璇︽儏璁剧疆" - }}</el-button> - <el-button @click="resetForm('ruleForm')">閲嶇疆</el-button> - </div> - - <!-- 浠诲姟璇︽儏 --> - <div v-if="Editprogress == 2"> - <el-alert title="鍦ㄦ湰闃舵閫夋嫨鐥呬汉" type="success" effect="dark"> - </el-alert> - <div class="leftvlue-jbxx"> - <div class="examine-jic"> - <div class="headline"> - <div>鎮h�呭垪琛�</div> - </div> - <div class="examine-jic"> - <div class="jic-value"> - <el-row :gutter="20"> - <!--鐢ㄦ埛鏁版嵁--> - <el-form - :model="topqueryParams" - ref="queryForm" - size="small" - :inline="true" - v-show="showSearch" - label-width="98px" - > - <el-form-item label="鎮h�呭悕绉�"> - <el-input v-model="topqueryParams.name"></el-input> - </el-form-item> - - <el-form-item label="鎮h�呰寖鍥�" prop="status"> - <el-select - v-model="topqueryParams.searchscope" - placeholder="璇烽�夋嫨" - > - <el-option - v-for="item in source" - :key="item.value" - :label="item.label" - :value="item.value" - > - </el-option> - </el-select> - </el-form-item> - - <el-form-item label="鎮h�呯姸鎬�" prop="status"> - <el-select - v-model="topqueryParams.topic" - placeholder="璇烽�夋嫨" - > - <el-option - v-for="item in topicoptions" - :key="item.value" - :label="item.label" - :value="item.value" - > - </el-option> - </el-select> - </el-form-item> - <el-form-item label="闅忚缁撴灉" prop="status"> - <el-select - v-model="topqueryParams.topic" - placeholder="璇烽�夋嫨" - > - <el-option - v-for="item in topicoptions" - :key="item.value" - :label="item.label" - :value="item.value" - > - </el-option> - </el-select> - </el-form-item> - <el-form-item label="鎮h�呯數璇�"> - <el-input v-model="topqueryParams.name"></el-input> - </el-form-item> - <el-form-item> - <el-button - type="primary" - icon="el-icon-search" - size="medium" - @click="handleQuery" - >鎼滅储</el-button - > - <el-button - icon="el-icon-refresh" - size="medium" - @click="resetQuery" - >閲嶇疆</el-button - > - <el-button - icon="el-icon-upload2" - size="medium" - type="warning" - >褰撳墠鎮h�呬竴閿彂閫�</el-button - > - </el-form-item> - </el-form> - <el-divider></el-divider> - <el-row :gutter="10" class="mb8"> - <el-col :span="1.5"> - <el-select - v-model="tasktopic" - placeholder="璇烽�夋嫨鏂板绫诲瀷" - > - <el-option - v-for="item in taskoptions" - :key="item.value" - :label="item.label" - :value="item.value" - > - </el-option> - </el-select> - </el-col> - <el-col :span="1.5"> - <el-button - type="primary" - plain - icon="el-icon-plus" - size="medium" - :disabled="!tasktopic" - @click="handleAddpatient" - >鏂板</el-button - > - </el-col> - - <el-col :span="1.5"> - <el-button - type="danger" - plain - icon="el-icon-delete" - size="medium" - :disabled="multiple" - @click="handleDelete" - >鍒犻櫎</el-button - > - </el-col> - - <!-- <el-col :span="1.5"> </el-col> --> - </el-row> - <!-- 閫変腑鎮h�呭垪琛� --> - <SFtable - @handleUpdate="handleUpdate" - @handleSelectionChange="handleSelectionChange" - :currentList="sonuserList" - :tableLabel="tableLabelhz" - :controlxz="false" - /> - <pagination - v-show="total > 0" - :total="total" - :page.sync="topqueryParams.pageNum" - :limit.sync="topqueryParams.pageSize" - @pagination="getList" - /> - </el-row> - </div> - </div> - </div> - </div> - <el-button type="primary" @click="laststep()">涓婁竴姝�</el-button> - <el-button type="success" @click="submitForm('ruleForm')" - >绔嬪嵆鍒涘缓</el-button - > - <el-button @click="resetForm('ruleForm')">閲嶇疆</el-button> - </div> - </div> - <!-- 娣诲姞鎮h�� --> - <el-dialog - title="閫夋嫨鎮h��" - :visible.sync="dialogVisiblepatient" - width="70%" - :before-close="handleClosehz" - > - <div class="examine-jic"> - <div class="jic-value"> - <el-row :gutter="20"> - <!--鐢ㄦ埛鏁版嵁--> - <el-form - :model="patientqueryParams" - ref="queryForm" - size="small" - :inline="true" - v-show="showSearch" - label-width="98px" - > - <el-form-item label="鎮h�呭悕绉帮細"> - <el-input v-model="patientqueryParams.name"></el-input> - </el-form-item> - <el-form-item label="鎮h�呰寖鍥�" prop="status"> - <el-select - v-model="patientqueryParams.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="patientqueryParams.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="patientqueryParams.topic" - placeholder="璇烽�夋嫨" - > - <el-option - v-for="item in topicoptions" - :key="item.value" - :label="item.label" - :value="item.value" - > - </el-option> - </el-select> - </el-form-item> - <el-form-item> - <el-button - type="primary" - icon="el-icon-search" - size="medium" - @click="handleQuery" - >鎼滅储</el-button - > - <el-button - icon="el-icon-refresh" - size="medium" - @click="resetQuery" - >鍙栨秷鍒涘缓</el-button - > - </el-form-item> - </el-form> - <!-- 閫夋嫨鎮h�呭垪琛� --> - <SFtable - @handleUpdate="handleUpdate" - @handleSelectionChange="handleSelectionChange" - :currentList="patientuserList" - :tableLabel="tableLabelhz" - :controlsc="false" - /> - </el-row> - <pagination - v-show="patienttotal > 0" - :total="patienttotal" - :page.sync="patientqueryParams.pageNum" - :limit.sync="patientqueryParams.pageSize" - @pagination="handleAddpatient" - /> - </div> - </div> - <span slot="footer" class="dialog-footer"> - <el-button @click="dialogVisiblepatient = false">鍙� 娑�</el-button> - <el-button type="primary" @click="AddDispatchpatients" - >纭畾娣诲姞</el-button - > - </span> - </el-dialog> - </div> -</template> - -<script> -import { messagelistpatient } from "@/api/patient/homepage"; -import SFtable from "@/components/SFtable"; //琛ㄦ牸缁勪欢 - -export default { - name: "ServiceDetails", - data() { - return { - title: "瀹f暀鍐呭鍒楄〃", - currenttype: 1, //1瀹f暀2闂ㄨ瘖3鍑洪櫌4澶嶈瘖5浣撴6闂嵎 - Editprogress: 1, //缂栬緫杩涘害 - loading: false, // 閬僵灞� - patientloading: false, // 閬僵灞� - dialogVisiblepatient: false, //娣诲姞鎮h�呭脊妗� - checkboxlist: [], - tableLabel: [], - // 鎮h�呰〃鍗� - tableLabelhz: [ - { label: "鎮h�呭悕绉�", width: "", prop: "name" }, - { label: "鎬у埆", width: "", prop: "sex" }, - { label: "骞撮緞", width: "", prop: "age" }, - { label: "灏辫瘖绉戝", width: "", prop: "impTemplate" }, - { label: "鍏ラ櫌鏃ユ湡", width: "", prop: "create_time" }, - { label: "鍒涘缓浜�", width: "", prop: "update_by" }, - ], - tableLabelxj: [ - { label: "闂ㄨ瘖缂栧彿", width: "", prop: "name" }, - { label: "濮撳悕", width: "", prop: "name" }, - { label: "骞撮緞", width: "", prop: "age" }, - { label: "鑱旂郴鐢佃瘽", width: "", prop: "telcode" }, - { label: "灏辫瘖绉戝", width: "", prop: "impTemplate" }, - { label: "璇婃柇", width: "", prop: "name" }, - { label: "鍑洪櫌鏃堕棿", width: "", prop: "name" }, - { label: "鍙戣捣鏃堕棿", width: "", prop: "create_time" }, - { label: "鐘舵��", width: "", prop: "sex" }, - { label: "閲嶅娆℃暟", width: "", prop: "update_by" }, - { label: "浠诲姟鏉ユ簮", width: "", prop: "update_by" }, - { label: "鍒涘缓浜�", width: "", prop: "update_by" }, - ], - tableLabelmz: [ - { label: "闂ㄨ瘖缂栧彿", width: "", prop: "name" }, - { label: "濮撳悕", width: "", prop: "name" }, - { label: "骞撮緞", width: "", prop: "age" }, - { label: "鑱旂郴鐢佃瘽", width: "", prop: "telcode" }, - { label: "灏辫瘖绉戝", width: "", prop: "impTemplate" }, - { label: "璇婃柇", width: "", prop: "name" }, - { label: "鍑洪櫌鏃堕棿", width: "", prop: "name" }, - { label: "鍙戣捣鏃堕棿", width: "", prop: "create_time" }, - { label: "鐘舵��", width: "", prop: "sex" }, - { label: "閲嶅娆℃暟", width: "", prop: "update_by" }, - { label: "浠诲姟鏉ユ簮", width: "", prop: "update_by" }, - { label: "鍒涘缓浜�", width: "", prop: "update_by" }, - ], - tableLabelcy: [ - { label: "鍛樺伐缂栧彿", width: "", prop: "name" }, - { label: "濮撳悕", width: "", prop: "name" }, - { label: "骞撮緞", width: "", prop: "age" }, - { label: "鑱旂郴鐢佃瘽", width: "", prop: "telcode" }, - { label: "鎵�鍦ㄧ瀹�", width: "", prop: "impTemplate" }, - { label: "瀹屾垚鏃堕棿", width: "", prop: "finishtime" }, - { label: "鐘舵��", width: "", prop: "sex" }, - { label: "閲嶅娆℃暟", width: "", prop: "update_by" }, - { label: "浠诲姟鏉ユ簮", width: "", prop: "update_by" }, - { label: "鍒涘缓浜�", width: "", prop: "update_by" }, - ], - - topqueryParams: { - pageNum: 1, // - pageSize: 10, - searchscope:2, - }, - checkList: [], - deliverytopqueryParams: { - pageNum: 1, // - pageSize: 10, - }, - patientqueryParams: { - pageNum: 1, // - pageSize: 10, - }, - topicoptions: [], - showSearch: true, // - total: 0, // - sontotal: 0, // - patienttotal: 0, // - // 閫変腑鏁扮粍 - ids: [], - // 闈炲崟涓鐢� - single: true, - // 闈炲涓鐢� - multiple: true, - // 鐢ㄦ埛琛ㄦ牸鏁版嵁 - userList: [], //妯℃澘鍒楄〃 - patientuserList: [], //閫夋嫨鎮h�呭垪琛� - sonuserList: [], //閫変腑鎮h�呭垪琛� - tasktopic: null, //鏂板绫诲瀷 - form: { - name: "", - region: "", - date1: "", - date2: "", - delivery: false, - type: [], - resource: "", - desc: "", - }, - source: [ - { - value: 0, - label: "鎵�灞炴偅鑰�", - }, - { - value: 1, - label: "绉戝鎮h��", - }, - { - value: 2, - label: "鐥呭尯鎮h��", - }, - ], - options: [ - { - value: "閫夐」1", - label: "榛勯噾绯�", - }, - { - value: "閫夐」2", - label: "鍙岀毊濂�", - }, - { - value: "閫夐」5", - label: "鍖椾含鐑ら腑", - }, - ], - taskoptions: [ - { - value: "1", - label: "閫氱煡", - }, - { - value: "2", - label: "闅忚", - }, - { - value: "3", - label: "闂嵎", - }, - { - value: "4", - label: "瀹f暀", - }, - ], - quote: false, - }; - }, - components: { SFtable }, - - created() { - this.Addsubtask(); - this.Getsubtask(); - this.Acquisitiontype(); - }, - - methods: { - // 鑾峰彇褰撳墠绫诲瀷 - Acquisitiontype() { - this.currenttype = this.$route.query.type; - console.log(this.currenttype); - if (this.currenttype == 1) { - this.title = "闂ㄨ瘖鐥呬汉浠诲姟"; - this.tableLabel = this.tableLabelxj; - this.checkboxlist = [ - "褰撻潰", - "澶氬獟浣�", - "绾歌川", - "鐢佃瘽", - "鐭俊", - "寰俊鍏紬鍙�", - "寰俊灏忕▼搴�", - "閽夐拤", - ]; - } else if (this.currenttype == 2) { - this.title = "鍑洪櫌鐥呬汉浠诲姟"; - this.tableLabel = this.tableLabelmz; - this.checkboxlist = ["褰撻潰", "绾歌川", "鐢佃瘽", "鐭俊", "寰俊鍏紬鍙�"]; - } else if (this.currenttype == 3) { - this.title = "鍖诲姟浜哄憳浠诲姟"; - this.tableLabel = this.tableLabelcy; - this.checkboxlist = ["褰撻潰", "绾歌川", "鐢佃瘽", "鐭俊", "寰俊鍏紬鍙�"]; - } - }, - // 涓嬩竴姝� - submitForm(formName) { - if (this.Editprogress <= 3) { - return this.Editprogress++; - } - // 鎻愪氦 - // this.$refs[formName].validate((valid, object) => { - // if (valid) { - // alert("submit!"); - // } else { - // console.log("error submit!!", object); - // return false; - // } - // }); - }, - // 瀛愪换鍔′簩绾у脊妗� - handleAddpatient(row) { - console.log(row, "瀛愮粍浠舵暟鎹�"); - messagelistpatient(this.patientqueryParams).then((response) => { - console.log(response); - this.patientuserList = response.rows; - this.patienttotal = response.total; - this.loading = false; - }); - this.dialogVisiblepatient = true; - }, - handleUpdate() {}, - handleDelete() {}, - handleExport() {}, - // 澶氶�夋閫変腑鏁版嵁 - handleSelectionChange(selection) { - this.ids = null; - this.ids = selection.map((item) => item.patid).join(","); - // let result = this.ids.join(","); - this.multiple = !selection.length; - console.log(this.ids); - }, - getList() {}, - handleQuery() {}, - resetQuery() {}, - handleClosehz() { - this.dialogVisiblepatient = false; - }, - // 涓婁竴姝� - laststep() { - this.Editprogress--; - }, - // 鎻愪氦琛ㄥ崟 - resetForm(formName) { - this.$refs[formName].resetFields(); - }, - // 棰勮妯℃澘 - PreviewTemplate() {}, - Acknowledgereference() { - this.quote = true; - }, - // 鏂板瀛愪换鍔� - Addsubtask() { - this.topqueryParams.pguid = 2; - // addsvr_prjtask(this.topqueryParams).then((res) => { - // console.log(res); - // }); - }, - // 鏂板娲鹃�佹偅鑰� - AddDispatchpatients() { - let objictpint = {}; - objictpint.patientes = this.ids; - objictpint.pguid = 2; - // Addpatienttask(objictpint).then((res) => { - // console.log(res); - // }); - this.dialogVisiblepatient = false; - }, - - // 鏌ヨ瀛愪换鍔″垪琛� - Getsubtask() { - this.topqueryParams.pguid = 2; - console.log(this.topqueryParams); - messagelistpatient(this.topqueryParams).then((res) => { - this.userList = res.rows; - this.total = res.total; - console.log(this.userList); - }); - }, - /** 鏌ヨ鎮h�呭垪琛� */ - }, -}; -</script> - -<style lang="scss" scoped> -.Questionnairemanagement { -} -.leftvlue-jbxx { - margin-top: 10px; -} -.sidecolumn { - width: 100%; - // min-height: 12vh; - margin: 20px; - margin-bottom: 0; - padding: 20px; - 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); -} -.leftvlue { - // display: flex; - // flex: 1; - width: 100%; - margin-top: 20px; - // margin: 20px; - padding: 30px; - background: #ffff; - border: 1px solid #dcdfe6; - -webkit-box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.12), - 0 0 6px 0 rgba(0, 0, 0, 0.04); -} -.examine-jic { - .headline { - font-size: 24px; - border-left: 5px solid #41a1be; - padding-left: 5px; - margin-bottom: 10px; - display: flex; - justify-content: space-between; - .Add-details { - font-size: 18px; - color: #02a7f0; - cursor: pointer; - } - } - .jic-value { - font-size: 20px; - border-top: 1px solid #a7abac; - padding: 10px; - margin-bottom: 10px; - .details-jic { - padding: 10px 15px; - 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); - .details-title { - display: flex; - justify-content: space-between; - margin-bottom: 10px; - div:nth-child(2) { - color: #02a7f0; - cursor: pointer; - } - } - .details-renw { - background: #e4ebfc; - padding: 15px 5px; - border-radius: 5px; - margin-bottom: 20px; - } - } - } -} -// .leftvlue-jbxx { -// margin-bottom: 50px; -// font-size: 20px; -// span { -// position: absolute; -// right: 80px; -// } -// .demo-cascader { -// margin-right: 20px; -// } -// .PreviewTemplate { -// color: #02a7f0; -// cursor: pointer; -// font-size: 20px; -// margin: 0 20px; -// } -// } -.jic-value { - font-size: 20px; - border-top: 1px solid #a7abac; - padding: 10px; - margin-bottom: 10px; - .details-jic { - padding: 10px 15px; - 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); - .details-title { - display: flex; - justify-content: space-between; - margin-bottom: 10px; - div:nth-child(2) { - color: #02a7f0; - cursor: pointer; - } - } - .details-renw { - background: #e4ebfc; - padding: 15px 5px; - border-radius: 5px; - margin-bottom: 20px; - } - } -} -::v-deep .addtopic-input { - input { - background: #02a7f0; - color: #edf1f7; - width: 150px; - } -} -::v-deep.el-step.is-vertical .el-step__title { - font-size: 25px; -} -::v-deep.el-row { - margin-bottom: 10px; -} -// ::v-deep.el-input--medium { -// font-size: 24px !important; -// } -::v-deep.ruleFormaa.el-select { - display: inline-block; - position: relative; - width: 700px; -} -.el-select__tags { - font-size: 20px; - max-width: 888px !important; -} -::v-deep.el-radio__inner { - width: 22px; - height: 22px; -} -// ::v-deep.topic-dev.el-radio__label { -// font-size: 24px; -// } -::v-deep.el-radio-group { - span { - font-size: 24px; - } -} -::v-deep.el-checkbox-group { - span { - font-size: 24px; - } -} -</style> diff --git a/src/views/followvisit/tasklist/FollowupDetails/index.vue b/src/views/followvisit/tasklist/FollowupDetails/index.vue deleted file mode 100644 index 3fcbb81..0000000 --- a/src/views/followvisit/tasklist/FollowupDetails/index.vue +++ /dev/null @@ -1,1369 +0,0 @@ -<template> - <div class="Questionnairemanagement"> - <!-- 宸︿晶鏍� --> - <div class="sidecolumn"> - <div style="height: 300px"> - <el-steps direction="vertical" :active="Editprogress"> - <el-step title="鍩虹淇℃伅"></el-step> - <el-step title="浠诲姟璇︽儏璁剧疆"></el-step> - </el-steps> - </div> - </div> - <!-- 鍙充晶鏁版嵁 --> - <div class="leftvlue"> - <!-- 鍩烘湰淇℃伅 --> - <div v-if="Editprogress == 1"> - <div class="leftvlue-jbxx"> - <!-- 鍩虹淇℃伅 --> - <div class="examine-jic"> - <div class="headline"> - <div>鍩虹淇℃伅</div> - <div>褰撳墠鐗堟湰锛�1.2.0</div> - </div> - <div class="jic-value"> - <el-form ref="form" :model="form" label-width="105px"> - <el-form-item label="浠诲姟鍚嶇О锛�"> - <el-input v-model="form.name"></el-input> - </el-form-item> - <el-form-item label="浠诲姟鎻忚堪锛�"> - <el-input type="textarea" v-model="form.desc"></el-input> - </el-form-item> - <el-form-item label="閲嶅璁″垝澶勭悊:"> - <el-radio-group v-model="form.resource"> - <el-radio label="鏂拌鍒掕嚜鍔ㄧ粨妗�"></el-radio> - <el-radio label="鍘熻鍒掕嚜鍔ㄧ粨妗�"></el-radio> - </el-radio-group> - </el-form-item> - <el-form-item label="杩囨湡浠诲姟澶勭悊:"> - <el-radio-group v-model="form.resource"> - <el-radio label="鑷姩鍏抽棴"></el-radio> - <el-radio label="鑷姩鎵ц"></el-radio> - <el-radio label="浜哄伐澶勭悊"></el-radio> - </el-radio-group> - </el-form-item> - <el-form-item label="鎵�鏈変换鍔″畬鎴愯嚜鍔ㄧ粨妗�:" label-width="158px"> - <el-radio-group v-model="form.resource"> - <el-radio label="鏄�"></el-radio> - <el-radio label="鍚�"></el-radio> - </el-radio-group> - </el-form-item> - </el-form> - </div> - </div> - <!-- <div class="examine-jic"> - <div class="headline">浠诲姟璁剧疆</div> - <div class="jic-value"> - <el-form ref="form" :model="form" label-width="80px"> - <el-form-item label="寮曠敤妯℃澘" prop="desc"> - <el-cascader - class="demo-cascader" - v-model="form.templatevalue" - :options="options" - :props="{ expandTrigger: 'hover' }" - ></el-cascader> - <el-select v-model="form.data2" placeholder="鐗堟湰"> - <el-option - v-for="item in options" - :key="item.value" - :label="item.label" - :value="item.value" - > - </el-option> - </el-select> - <div style="display: flex; margin-top: 20px"> - <div class="PreviewTemplate" @click="PreviewTemplate()"> - 棰勮妯℃澘 - </div> - <el-button type="primary" @click="Acknowledgereference" - >纭寮曠敤</el-button - > - </div> - </el-form-item> - </el-form> - </div> - </div> --> - </div> - <el-button type="success" @click="submitForm('ruleForm')">{{ - quote ? "绔嬪嵆鍒涘缓" : "浠诲姟璇︽儏璁剧疆" - }}</el-button> - <el-button @click="resetForm('ruleForm')">閲嶇疆</el-button> - </div> - - <!-- 浠诲姟璇︽儏 --> - <div v-if="Editprogress == 2"> - <div class="leftvlue-jbxx"> - <div class="examine-jic"> - <div class="headline">涓昏矾寰�</div> - <div class="jic-value"> - <el-form ref="form" :model="form" label-width="80px"> - <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-form-item label="瑙﹀彂鏉′欢"> - <el-radio-group v-model="form.resource"> - <el-radio label="鏈�"></el-radio> - <el-radio label="鏃�"></el-radio> - </el-radio-group> - </el-form-item> - </el-form> - </div> - </div> - <div class="examine-jic"> - <div class="headline"> - <div>浠诲姟鍒楄〃</div> - </div> - <div class="examine-jic"> - <div class="jic-value"> - <el-row :gutter="20"> - <!--鐢ㄦ埛鏁版嵁--> - - <el-form - :model="topqueryParams" - ref="queryForm" - size="small" - :inline="true" - v-show="showSearch" - label-width="98px" - > - <el-form-item label="浠诲姟鍚嶇О"> - <el-input v-model="topqueryParams.name"></el-input> - </el-form-item> - - <el-form-item label="浠诲姟绫诲瀷" prop="status"> - <el-select - v-model="topqueryParams.topic" - placeholder="璇烽�夋嫨" - > - <el-option - v-for="item in taskoptions" - :key="item.value" - :label="item.label" - :value="item.value" - > - </el-option> - </el-select> - </el-form-item> - - <el-form-item label="浠诲姟鐘舵��" prop="status"> - <el-select - v-model="topqueryParams.topic" - placeholder="璇烽�夋嫨" - > - <el-option - v-for="item in topicoptions" - :key="item.value" - :label="item.label" - :value="item.value" - > - </el-option> - </el-select> - </el-form-item> - <el-form-item> - <el-button - type="primary" - icon="el-icon-search" - size="medium" - @click="handleQuery" - >鎼滅储</el-button - > - <el-button - icon="el-icon-refresh" - size="medium" - @click="resetQuery" - >閲嶇疆</el-button - > - </el-form-item> - </el-form> - <el-divider></el-divider> - <el-row :gutter="10" class="mb8"> - <el-col :span="1.5"> - <el-select - v-model="tasktopic" - placeholder="璇烽�夋嫨鏂板绫诲瀷" - > - <el-option - v-for="item in taskoptions" - :key="item.value" - :label="item.label" - :value="item.value" - > - </el-option> - </el-select> - </el-col> - <el-col :span="1.5"> - <el-button - type="primary" - plain - icon="el-icon-plus" - size="medium" - :disabled="!tasktopic" - @click="handleAdd" - v-hasPermi="['system:user:add']" - >鏂板</el-button - > - </el-col> - - <el-col :span="1.5"> - <el-button - type="danger" - plain - icon="el-icon-delete" - size="medium" - :disabled="multiple" - @click="handleDelete" - v-hasPermi="['system:user:remove']" - >鍒犻櫎</el-button - > - </el-col> - - <!-- <el-col :span="1.5"> </el-col> --> - </el-row> - <!-- <right-toolbar - :showSearch.sync="showSearch" - @queryTable="getList" - :columns="columns" - ></right-toolbar> --> - <el-table - v-loading="loading" - :data="userList" - @selection-change="handleSelectionChange" - > - <el-table-column - type="selection" - width="50" - align="center" - /> - <el-table-column - label="搴忓彿" - align="center" - key="id" - prop="id" - /> - - <el-table-column - label="浠诲姟鍚嶇О" - align="center" - sortable - key="name" - prop="name" - :show-overflow-tooltip="true" - /> - <el-table-column - label="鏈嶅姟妯℃澘" - align="center" - key="impTemplate" - prop="impTemplate" - /> - <el-table-column - label="鍒涘缓鏃ユ湡" - align="center" - key="create_time" - prop="create_time" - /> - <el-table-column - label="鎵ц鐘舵��" - align="center" - key="phonenumber" - prop="phonenumber" - width="120" - /> - - <el-table-column - label="鎵ц鐘舵��" - align="center" - key="topicnumber" - prop="topicnumber" - width="120" - :show-overflow-tooltip="true" - > - <template slot-scope="scope"> - <div>鎵ц瀹屾垚/鎵ц澶辫触</div> - </template> - </el-table-column> - <el-table-column - label="鏇存柊浜�" - align="center" - key="update_by" - prop="update_by" - sortable - width="120" - :show-overflow-tooltip="true" - /> - - <el-table-column - label="鏇存柊鏃堕棿" - sortable - align="center" - prop="update_time" - width="160" - > - <template slot-scope="scope"> - <span>{{ formatTime(scope.row.createTime) }}</span> - </template> - </el-table-column> - <el-table-column - label="鎿嶄綔" - align="center" - width="120" - 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-zx" - ><i class="el-icon-s-promotion"></i>寮�濮嬫墽琛�</span - ></el-button - > - </template> - </el-table-column> - <el-table-column - label="浠诲姟璇︽儏" - align="center" - width="200" - class-name="small-padding fixed-width" - > - <template slot-scope="scope"> - <el-button - size="medium" - type="text" - @click="handleUpdate(scope.row)" - v-hasPermi="['system:user:edit']" - ><span class="button-xq" - ><i class="el-icon-s-data"></i>璇︽儏</span - ></el-button - > - <el-button - size="medium" - type="text" - @click="handleUpdate(scope.row)" - v-hasPermi="['system:user:edit']" - ><span class="button-bb" - ><i class="el-icon-s-order"></i>鎶ヨ〃</span - ></el-button - > - <el-button - size="medium" - type="text" - @click="handleUpdate(scope.row)" - v-hasPermi="['system:user:edit']" - ><span class="button-sc" - ><i class="el-icon-delete"></i>鍒犻櫎</span - ></el-button - > - </template> - </el-table-column> - </el-table> - - <pagination - v-show="total > 0" - :total="total" - :page.sync="topqueryParams.pageNum" - :limit.sync="topqueryParams.pageSize" - @pagination="getList" - /> - </el-row> - </div> - </div> - </div> - </div> - <el-button type="primary" @click="laststep()">涓婁竴姝�</el-button> - <el-button type="success" @click="submitForm('ruleForm')" - >绔嬪嵆鍒涘缓</el-button - > - <el-button @click="resetForm('ruleForm')">閲嶇疆</el-button> - </div> - </div> - <!-- 浠诲姟璇︽儏 --> - <el-dialog - title="浠诲姟璇︽儏" - :visible.sync="dialogVisible" - width="60%" - :before-close="handleCloserw" - > - <div class="jic-value"> - <div class="details-jic"> - <div class="details-title">浠诲姟缂栬緫</div> - <el-form ref="form" :model="form" label-width="80px"> - <el-form-item label="璁″垝鏃堕棿:"> - <el-row :gutter="20"> - <el-col :span="3">鍑洪櫌鍚�</el-col> - <el-col :span="4"> - <el-input v-model="form.name"></el-input> - </el-col> - <el-col :span="4" - ><el-select v-model="form.region" placeholder="璇烽�夋嫨"> - <el-option label="鍖哄煙涓�" value="shanghai"></el-option> - <el-option - label="鍖哄煙浜�" - value="beijing" - ></el-option> </el-select - ></el-col> - <el-col :span="6"> - <el-time-picker - placeholder="閫夋嫨鏃堕棿" - v-model="form.date2" - style="width: 100%" - ></el-time-picker - ></el-col> - </el-row> - </el-form-item> - - <el-form-item label="鍑洪櫌鏃堕棿鏅氫簬鎸囧畾鏃堕棿鏃�:" label-width="180px"> - <el-radio-group v-model="form.resource"> - <el-radio label="褰撳ぉ鎵ц"></el-radio> - <el-radio label="绗簩澶╂寜鎸囧畾鏃堕棿鎵ц"></el-radio> - </el-radio-group> - </el-form-item> - <el-form-item label="鍛ㄦ湡浠诲姟:"> - <el-radio-group v-model="form.resource"> - <el-radio label="鏄�"></el-radio> - <el-radio label="鍚�"></el-radio> - </el-radio-group> - </el-form-item> - <el-form-item label="閫夋嫨闂嵎:"> - <el-row :gutter="20"> - <el-col :span="6" - ><el-select v-model="form.region" placeholder="璇烽�夋嫨妯℃澘"> - <el-option label="鍖哄煙涓�" value="shanghai"></el-option> - <el-option - label="鍖哄煙浜�" - value="beijing" - ></el-option> </el-select - ></el-col> - <el-col :span="4"> - <div style="color: #02a7f0; cursor: pointer">棰勮</div> - </el-col> - </el-row> - </el-form-item> - - <el-form-item label="棰戠巼:"> - <el-row :gutter="20"> - <el-col :span="5" - ><el-input v-model="form.name"></el-input - ></el-col> - <el-col :span="5" - ><el-select v-model="form.region" placeholder="#/娆�"> - <el-option label="澶�/娆�" value="shanghai"></el-option> - <el-option - label="鍛�/娆�" - value="beijing" - ></el-option> </el-select - ></el-col> - <el-col :span="2">鎬绘鏁�</el-col> - <el-col :span="5" - ><el-input v-model="form.name"></el-input - ></el-col> - </el-row> - </el-form-item> - <el-form-item label="闂嵎浠嬬粛:"> - <el-input type="textarea" v-model="form.desc"></el-input> - </el-form-item> - <el-form-item label="鎻愪氦鎻愮ず:"> - <el-input type="textarea" v-model="form.desc"></el-input> - </el-form-item> - <el-form-item label="鏈夐檺鏈熼檺:"> - <el-row :gutter="20"> - <el-col :span="4" - ><el-input v-model="form.name"></el-input - ></el-col> - <el-col :span="6">澶�</el-col> - </el-row> - </el-form-item> - <el-form-item label="閫炬湡鍒ゆ柇:"> - <el-row :gutter="20"> - <el-col :span="4" - ><el-input v-model="form.name"></el-input - ></el-col> - <el-col :span="4.5" - ><div style="color: red"> - 鏈畬鎴愬垯瑙嗕负"宸查�炬湡"锛岄�炬湡鍓� - </div></el-col - > - <el-col :span="4" - ><el-input v-model="form.name"></el-input - ></el-col> - <el-col :span="6">澶╄繘琛�"灏嗛�炬湡"鎻愰啋</el-col> - </el-row> - </el-form-item> - <el-form-item label="澶辫鍒ゆ柇:"> - <el-row :gutter="20"> - <el-col :span="6" - ><el-input v-model="form.name"></el-input - ></el-col> - <el-col :span="9">澶╅殢璁挎湭瀹屾垚鍒欒嚜鍔ㄥ彉鎴愨�滃け璁跨姸鎬佲��</el-col> - </el-row> - </el-form-item> - </el-form> - <div class="details-renw"> - <el-form ref="form" :model="form" label-width="105px"> - <el-form-item label="鎵ц鏂瑰紡"> - <el-radio-group v-model="form.resource"> - <el-radio label="寰俊/鐭俊"></el-radio> - <el-radio label="AI鐢佃瘽"></el-radio> - <el-radio label="浜哄伐"></el-radio> - </el-radio-group> - </el-form-item> - - <el-form-item label="鎵ц浜�"> - <el-row :gutter="20"> - <el-col :span="6" - ><el-select v-model="form.value" placeholder="璇烽�夋嫨绉戝"> - <el-option - v-for="item in options" - :key="item.value" - :label="item.label" - :value="item.value" - > - </el-option> </el-select - ></el-col> - <el-col :span="6" - ><el-select v-model="form.value" placeholder="璇烽�夋嫨浜哄憳"> - <el-option - v-for="item in options" - :key="item.value" - :label="item.label" - :value="item.value" - > - </el-option> </el-select - ></el-col> - </el-row> - </el-form-item> - <el-form-item label="Ai澶栧懠妯℃澘"> - <el-select v-model="form.value" 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-form-item label="閲嶅璁″垝澶勭悊:"> - <el-radio-group v-model="form.resource"> - <el-radio label="鏂拌鍒掕嚜鍔ㄧ粨妗�"></el-radio> - <el-radio label="鍘熻鍒掕嚜鍔ㄧ粨妗�"></el-radio> - </el-radio-group> - </el-form-item> - </el-form> - </div> - <div class="details-renw"> - <el-form ref="form" :model="form" label-width="105px"> - <el-form-item label="琛ュ伩閲嶅彂"> - <el-row :gutter="20"> - <el-col :span="2">鎵ц澶辫触</el-col> - <el-col :span="6" - ><el-input v-model="form.name"></el-input> - </el-col> - <el-col :span="6"> - <el-select v-model="form.value" placeholder="鏃堕棿鏍囧噯"> - <el-option - v-for="item in options" - :key="item.value" - :label="item.label" - :value="item.value" - > - </el-option> - </el-select> - </el-col> - </el-row> - </el-form-item> - - <el-form-item label="鍙戦�佹柟寮�"> - <el-radio-group v-model="form.resource"> - <el-radio label="寰俊/鐭俊"></el-radio> - <el-radio label="AI鐢佃瘽"></el-radio> - </el-radio-group> - </el-form-item> - <el-form-item label="鎺ㄩ�佹ā鏉�"> - <el-row :gutter="20"> - <el-col :span="6" - ><el-select - v-model="form.value" - placeholder="璇烽�夋嫨鐭俊妯℃澘" - > - <el-option - v-for="item in options" - :key="item.value" - :label="item.label" - :value="item.value" - > - </el-option> </el-select - ></el-col> - <el-col :span="6" - ><el-select - v-model="form.value" - placeholder="璇烽�夋嫨寰俊妯℃澘" - > - <el-option - v-for="item in options" - :key="item.value" - :label="item.label" - :value="item.value" - > - </el-option> </el-select - ></el-col> - </el-row> - </el-form-item> - <el-form-item label="浼樺厛椤哄簭:"> - <el-radio-group v-model="form.resource"> - <el-radio label="鏂拌鍒掕嚜鍔ㄧ粨妗�"></el-radio> - <el-radio label="鍘熻鍒掕嚜鍔ㄧ粨妗�"></el-radio> - </el-radio-group> - </el-form-item> - </el-form> - </div> - </div> - </div> - <div class="leftvlue-jbxx"> - <div class="examine-jic"> - <div class="headline"> - <div>娲鹃�佹偅鑰呭垪琛�</div> - <div class="Add-details">+娣诲姞</div> - </div> - <div class="examine-jic"> - <div class="jic-value"> - <el-row :gutter="20"> - <!--鐢ㄦ埛鏁版嵁--> - - <el-form - :model="deliverytopqueryParams" - ref="queryForm" - size="small" - :inline="true" - v-show="showSearch" - label-width="98px" - > - <el-form-item label="浠诲姟鍚嶇О"> - <el-input v-model="deliverytopqueryParams.name"></el-input> - </el-form-item> - - <el-form-item label="浠诲姟绫诲瀷" prop="status"> - <el-select - v-model="deliverytopqueryParams.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="deliverytopqueryParams.topic" - placeholder="璇烽�夋嫨" - > - <el-option - v-for="item in topicoptions" - :key="item.value" - :label="item.label" - :value="item.value" - > - </el-option> - </el-select> - </el-form-item> - <el-form-item> - <el-button - type="primary" - icon="el-icon-search" - size="medium" - @click="handleQuery" - >鎼滅储</el-button - > - <el-button - icon="el-icon-refresh" - size="medium" - @click="resetQuery" - >閲嶇疆</el-button - > - </el-form-item> - </el-form> - <el-row :gutter="10" class="mb8"> - <el-col :span="1.5"> - <el-button - type="primary" - plain - icon="el-icon-plus" - size="medium" - @click="handleAddpatient" - v-hasPermi="['system:user:add']" - >鏂板</el-button - > - </el-col> - - <el-col :span="1.5"> - <el-button - type="danger" - plain - icon="el-icon-delete" - size="medium" - :disabled="multiple" - @click="handleDelete" - v-hasPermi="['system:user:remove']" - >鍒犻櫎</el-button - > - </el-col> - <!-- <el-col :span="1.5"> </el-col> --> - </el-row> - - <el-table - v-loading="loading" - :data="sonuserList" - @selection-change="handleSelectionChange" - > - <el-table-column type="selection" width="50" align="center" /> - <el-table-column - label="搴忓彿" - align="center" - key="userId" - prop="userId" - /> - - <el-table-column - label="鎮h�呭悕绉�" - align="center" - sortable - key="userName" - prop="userName" - :show-overflow-tooltip="true" - /> - - <el-table-column - label="鍏ラ櫌鏃ユ湡" - align="center" - key="nickName" - prop="nickName" - /> - <el-table-column - label="鎵ц鐘舵��" - align="center" - key="topicnumber" - prop="topicnumber" - width="120" - :show-overflow-tooltip="true" - /> - <!-- <template slot-scope="scope"> - <div>鎵ц瀹屾垚/鎵ц澶辫触</div> - </template> - </el-table-column> --> - <el-table-column - label="鎿嶄綔" - align="center" - width="120" - 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-zx" - ><i class="el-icon-s-promotion"></i>寮�濮嬫墽琛�</span - ></el-button - > - </template> - </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-xq" - ><i class="el-icon-s-data"></i>璇︽儏</span - ></el-button - > - - <el-button - size="medium" - type="text" - @click="handleUpdate(scope.row)" - v-hasPermi="['system:user:edit']" - ><span class="button-sc" - ><i class="el-icon-delete"></i>鍒犻櫎</span - ></el-button - > - </template> - </el-table-column> - </el-table> - </el-row> - <pagination - v-show="sontotal > 0" - :total="sontotal" - :page.sync="deliverytopqueryParams.pageNum" - :limit.sync="deliverytopqueryParams.pageSize" - @pagination="handleAdd" - /> - </div> - </div> - </div> - </div> - <span slot="footer" class="dialog-footer"> - <el-button @click="dialogVisible = false">鍙� 娑�</el-button> - <el-button type="primary" @click="dialogVisible = false" - >纭� 瀹�</el-button - > - </span> - </el-dialog> - <!-- 娣诲姞鎮h�� --> - <el-dialog - title="閫夋嫨鎮h��" - :visible.sync="dialogVisiblepatient" - width="70%" - :before-close="handleClosehz" - > - <div class="examine-jic"> - <div class="jic-value"> - <el-row :gutter="20"> - <!--鐢ㄦ埛鏁版嵁--> - <el-form - :model="patientqueryParams" - ref="queryForm" - size="small" - :inline="true" - v-show="showSearch" - label-width="98px" - > - <el-form-item label="鎮h�呭悕绉帮細"> - <el-input v-model="patientqueryParams.name"></el-input> - </el-form-item> - <el-form-item label="鎮h�呰寖鍥�" prop="status"> - <el-select - v-model="patientqueryParams.searchscope" - placeholder="璇烽�夋嫨" - > - <el-option - v-for="item in source" - :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="patientqueryParams.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="patientqueryParams.topic" - placeholder="璇烽�夋嫨" - > - <el-option - v-for="item in topicoptions" - :key="item.value" - :label="item.label" - :value="item.value" - > - </el-option> - </el-select> - </el-form-item> - <el-form-item> - <el-button - type="primary" - icon="el-icon-search" - size="medium" - @click="handleQuery" - >鎼滅储</el-button - > - <el-button - icon="el-icon-refresh" - size="medium" - @click="resetQuery" - >鍙栨秷鍒涘缓</el-button - > - </el-form-item> - </el-form> - - <el-table - v-loading="patientloading" - :data="patientuserList" - @selection-change="handleSelectionChange" - > - <el-table-column type="selection" width="50" align="center" /> - <el-table-column - label="搴忓彿" - align="center" - key="patid" - prop="patid" - /> - - <el-table-column - label="鎮h�呭悕绉�" - align="center" - sortable - key="name" - prop="name" - :show-overflow-tooltip="true" - /> - - <el-table-column - label="鎮h�呰寖鍥�" - align="center" - key="sourcefrom" - prop="sourcefrom" - /> - <el-table-column - label="鎵嬫満鍙风爜" - align="center" - key="telcode" - prop="telcode" - width="120" - :show-overflow-tooltip="true" - /> - - <el-table-column - label="浠诲姟璇︽儏" - align="center" - width="200" - class-name="small-padding fixed-width" - > - <template slot-scope="scope"> - <el-button - size="medium" - type="text" - @click="handleUpdate(scope.row)" - v-hasPermi="['system:user:edit']" - ><span class="button-xq" - ><i class="el-icon-s-data"></i>璇︽儏</span - ></el-button - > - - <el-button - size="medium" - type="text" - @click="handleUpdate(scope.row)" - v-hasPermi="['system:user:edit']" - ><span class="button-sc" - ><i class="el-icon-delete"></i>鍒犻櫎</span - ></el-button - > - </template> - </el-table-column> - </el-table> - </el-row> - <pagination - v-show="patienttotal > 0" - :total="patienttotal" - :page.sync="patientqueryParams.pageNum" - :limit.sync="patientqueryParams.pageSize" - @pagination="handleAddpatient" - /> - </div> - </div> - <span slot="footer" class="dialog-footer"> - <el-button @click="dialogVisiblepatient = false">鍙� 娑�</el-button> - <el-button type="primary" @click="AddDispatchpatients" - >纭畾娣诲姞</el-button - > - </span> - </el-dialog> - </div> -</template> - -<script> -export default { - data() { - return { - Editprogress: 2, //缂栬緫杩涘害 - loading: false, // 閬僵灞� - patientloading: false, // 閬僵灞� - dialogVisible: false, //浠诲姟璇︽儏寮规 - dialogVisiblepatient: false, //娣诲姞鎮h�呭脊妗� - topqueryParams: { - pageNum: 1, // - pageSize: 10, - }, - deliverytopqueryParams: { - pageNum: 1, // - pageSize: 10, - }, - patientqueryParams: { - pageNum: 1, // - pageSize: 10, - searchscope:2, - }, - topicoptions: [], - showSearch: true, // - total: 0, // - sontotal: 0, // - patienttotal: 0, // - // 閫変腑鏁扮粍 - ids: [], - // 闈炲崟涓鐢� - single: true, - // 闈炲涓鐢� - multiple: true, - // 鐢ㄦ埛琛ㄦ牸鏁版嵁 - userList: null, - patientuserList: null, - sonuserList: null, - tasktopic: null, //鏂板绫诲瀷 - form: { - name: "", - region: "", - date1: "", - date2: "", - delivery: false, - type: [], - resource: "", - desc: "", - }, - source: [ - { - value: 0, - label: "鎵�灞炴偅鑰�", - }, - { - value: 1, - label: "绉戝鎮h��", - }, - { - value: 2, - label: "鐥呭尯鎮h��", - }, - ], - options: [ - { - value: "閫夐」1", - label: "榛勯噾绯�", - }, - { - value: "閫夐」2", - label: "鍙岀毊濂�", - }, - { - value: "閫夐」3", - label: "铓典粩鐓�", - }, - { - value: "閫夐」4", - label: "榫欓』闈�", - }, - { - value: "閫夐」5", - label: "鍖椾含鐑ら腑", - }, - ], - taskoptions: [ - { - value: "1", - label: "閫氱煡", - }, - { - value: "2", - label: "闅忚", - }, - { - value: "3", - label: "闂嵎", - }, - { - value: "4", - label: "瀹f暀", - }, - ], - quote: false, - }; - }, - - created() { - this.Addsubtask(); - this.Getsubtask(); - }, - - methods: { - // 涓嬩竴姝� - submitForm(formName) { - if (this.Editprogress <= 3) { - return this.Editprogress++; - } - // 鎻愪氦 - // this.$refs[formName].validate((valid, object) => { - // if (valid) { - // alert("submit!"); - // } else { - // console.log("error submit!!", object); - // return false; - // } - // }); - }, - // 瀛愪换鍔′竴绾у脊妗� - handleAdd() { - this.multiple = true; - // listsvr_prjtaskline(this.deliverytopqueryParams).then((response) => { - // console.log(response); - // this.sonuserList = response.rows; - // this.sontotal = response.total; - // this.loading = false; - // }); - this.dialogVisible = true; - }, - // 瀛愪换鍔′簩绾у脊妗� - handleAddpatient() { - console.log(this.multiple); - // listpat_archive(this.patientqueryParams).then((response) => { - // console.log(response); - // this.patientuserList = response.rows; - // this.patienttotal = response.total; - // this.loading = false; - // }); - this.dialogVisiblepatient = true; - }, - handleUpdate() {}, - handleDelete() {}, - handleExport() {}, - // 澶氶�夋閫変腑鏁版嵁 - handleSelectionChange(selection) { - this.ids = null; - this.ids = selection.map((item) => item.patid).join(","); - // let result = this.ids.join(","); - this.multiple = !selection.length; - console.log(this.ids); - }, - getList() {}, - handleQuery() {}, - resetQuery() {}, - handleCloserw() { - this.dialogVisible = false; - }, - handleClosehz() { - this.dialogVisiblepatient = false; - }, - // 涓婁竴姝� - laststep() { - this.Editprogress--; - }, - // 鎻愪氦琛ㄥ崟 - resetForm(formName) { - this.$refs[formName].resetFields(); - }, - // 棰勮妯℃澘 - PreviewTemplate() {}, - Acknowledgereference() { - this.quote = true; - }, - // 鏂板瀛愪换鍔� - Addsubtask() { - this.topqueryParams.pguid = 2; - // addsvr_prjtask(this.topqueryParams).then((res) => { - // console.log(res); - // }); - }, - // 鏂板娲鹃�佹偅鑰� - AddDispatchpatients() { - let objictpint = {}; - objictpint.patientes = this.ids; - objictpint.pguid = 2; - // Addpatienttask(objictpint).then((res) => { - // console.log(res); - // }); - this.dialogVisiblepatient = false; - }, - - // 鏌ヨ瀛愪换鍔″垪琛� - Getsubtask() { - this.topqueryParams.pguid = 2; - console.log(this.topqueryParams); - // this.topqueryParams.pid = this.$route.query.id; - // console.log(this.topqueryParams.pid); - // listsvr_prjtask(this.topqueryParams).then((res) => { - // this.userList = res.rows; - // this.total = res.total; - // console.log(this.userList); - // }); - }, - /** 鏌ヨ鎮h�呭垪琛� */ - }, -}; -</script> - -<style lang="scss" scoped> -.Questionnairemanagement { - display: flex; -} -.sidecolumn { - width: 300px; - min-height: 100vh; - text-align: center; - // display: flex; - // margin-top: 20px; - margin: 20px; - margin-bottom: 0; - padding: 20px; - 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); -} -.leftvlue { - // display: flex; - // flex: 1; - width: 80%; - margin-top: 20px; - // margin: 20px; - padding: 30px; - background: #ffff; - border: 1px solid #dcdfe6; - -webkit-box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.12), - 0 0 6px 0 rgba(0, 0, 0, 0.04); -} -.examine-jic { - .headline { - font-size: 24px; - border-left: 5px solid #41a1be; - padding-left: 5px; - margin-bottom: 10px; - display: flex; - justify-content: space-between; - .Add-details { - font-size: 18px; - color: #02a7f0; - cursor: pointer; - } - } - .jic-value { - font-size: 20px; - border-top: 1px solid #a7abac; - padding: 10px; - margin-bottom: 10px; - .details-jic { - padding: 10px 15px; - 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); - .details-title { - display: flex; - justify-content: space-between; - margin-bottom: 10px; - div:nth-child(2) { - color: #02a7f0; - cursor: pointer; - } - } - .details-renw { - background: #e4ebfc; - padding: 15px 5px; - border-radius: 5px; - margin-bottom: 20px; - } - } - } -} -// .leftvlue-jbxx { -// margin-bottom: 50px; -// font-size: 20px; -// span { -// position: absolute; -// right: 80px; -// } -// .demo-cascader { -// margin-right: 20px; -// } -// .PreviewTemplate { -// color: #02a7f0; -// cursor: pointer; -// font-size: 20px; -// margin: 0 20px; -// } -// } -.jic-value { - font-size: 20px; - border-top: 1px solid #a7abac; - padding: 10px; - margin-bottom: 10px; - .details-jic { - padding: 10px 15px; - 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); - .details-title { - display: flex; - justify-content: space-between; - margin-bottom: 10px; - div:nth-child(2) { - color: #02a7f0; - cursor: pointer; - } - } - .details-renw { - background: #e4ebfc; - padding: 15px 5px; - border-radius: 5px; - margin-bottom: 20px; - } - } -} -::v-deep .addtopic-input { - input { - background: #02a7f0; - color: #edf1f7; - width: 150px; - } -} -::v-deep.el-step.is-vertical .el-step__title { - font-size: 25px; -} -::v-deep.el-row { - margin-bottom: 10px; -} -// ::v-deep.el-input--medium { -// font-size: 24px !important; -// } -::v-deep.ruleFormaa.el-select { - display: inline-block; - position: relative; - width: 700px; -} -.el-select__tags { - font-size: 20px; - max-width: 888px !important; -} -::v-deep.el-radio__inner { - width: 22px; - height: 22px; -} -// ::v-deep.topic-dev.el-radio__label { -// font-size: 24px; -// } -::v-deep.el-radio-group { - span { - font-size: 24px; - } -} -::v-deep.el-checkbox-group { - span { - font-size: 24px; - } -} -</style> diff --git a/src/views/followvisit/tasklist/index.vue b/src/views/followvisit/tasklist/index.vue deleted file mode 100644 index e466c64..0000000 --- a/src/views/followvisit/tasklist/index.vue +++ /dev/null @@ -1,1208 +0,0 @@ -<template> - <div class="app-container"> - <el-row :gutter="20"> - <!--鐢ㄦ埛鏁版嵁--> - - <el-form - :model="topqueryParams" - ref="queryForm" - size="small" - :inline="true" - v-show="showSearch" - label-width="98px" - > - <el-form-item label="浠诲姟鍚嶇О"> - <el-input - v-model="topqueryParams.taskName" - @keyup.enter.native="handleQuery" - ></el-input> - </el-form-item> - <el-form-item label="鍒涘缓浜�"> - <el-input - v-model="topqueryParams.createBy" - @keyup.enter.native="handleQuery" - ></el-input> - </el-form-item> - <el-form-item label="鍒涘彂閫佹椂闂�"> - <el-date-picker - v-model="dateRange" - style="width: 240px" - value-format="yyyy-MM-dd" - type="daterange" - range-separator="-" - start-placeholder="寮�濮嬫棩鏈�" - end-placeholder="缁撴潫鏃ユ湡" - ></el-date-picker> - </el-form-item> - - <el-form-item label="浠诲姟妯℃澘" prop="status"> - <el-input - v-model="topqueryParams.templatename" - @keyup.enter.native="handleQuery" - ></el-input> - </el-form-item> - <el-form-item label="浠诲姟鐘舵��" prop="status"> - <el-select v-model="topqueryParams.sendState" placeholder="璇烽�夋嫨"> - <el-option - v-for="item in dict.type.task_status" - :key="item.value" - :label="item.label" - :value="item.value" - > - </el-option> - </el-select> - </el-form-item> - <el-form-item> - <el-button - type="primary" - icon="el-icon-search" - size="medium" - @click="handleQuery" - >鎼滅储</el-button - > - <el-button icon="el-icon-refresh" size="medium" @click="resetQuery" - >閲嶇疆</el-button - > - </el-form-item> - </el-form> - <el-divider></el-divider> - <el-row :gutter="10" class="mb8"> - <el-col :span="1.5"> - <el-select - @change="handleQuerytask" - v-model="tasktopic" - placeholder="璇烽�夋嫨鏈嶅姟绫诲瀷" - > - <el-option - v-for="item in taskoptions" - :key="item.value" - :label="item.label" - :value="item.value" - > - </el-option> - </el-select> - </el-col> - <el-col :span="1.5"> - <el-select - @change="handleQuery" - v-model="topqueryParams.type" - placeholder="璇烽�夋嫨鎵ц绫诲瀷" - > - <el-option - v-for="item in longtermlist" - :key="item.value" - :label="item.label" - :value="item.value" - > - </el-option> - </el-select> - </el-col> - <el-col :span="1.5"> - <el-button - type="primary" - icon="el-icon-plus" - size="medium" - @click="handleAdd" - :disabled="!tasktopic" - >鏂板缓浠诲姟</el-button - > - </el-col> - - <!-- <el-col :span="19"> - <div class="documentf"> - <div class="document"> - <el-button - type="warning" - plain - icon="el-icon-download" - size="medium" - @click="handleExport" - v-hasPermi="['system:user:export']" - >瀵煎嚭</el-button - > - </div> - </div> - </el-col> --> - <!-- <el-col :span="1.5"> </el-col> --> - </el-row> - <!-- <right-toolbar - :showSearch.sync="showSearch" - @queryTable="getList" - :columns="columns" - ></right-toolbar> --> - <el-table v-loading="loading" :data="userList"> - <!-- <el-table-column - label="搴忓彿" - fixed - align="center" - key="taskid" - prop="taskid" - /> --> - - <el-table-column - label="浠诲姟鍚嶇О" - fixed - width="120" - align="center" - key="taskName" - prop="taskName" - :show-overflow-tooltip="true" - /> - <el-table-column - label="浠诲姟鎻忚堪" - width="280" - align="center" - key="taskDesc" - prop="taskDesc" - :show-overflow-tooltip="true" - /> - <el-table-column - label="鏈嶅姟椤圭洰" - width="120" - align="center" - key="templatename" - prop="templatename" - :show-overflow-tooltip="true" - /> - <el-table-column - label="寰呮墽琛�/鎬讳换鍔�" - align="center" - key="nickName" - prop="nickName" - > - <template slot-scope="scope"> - <span>{{ scope.row.wfs }}/{{ scope.row.yfs }}</span> - </template> - </el-table-column> - <el-table-column - label="鏄惁闀挎湡浠诲姟" - align="center" - key="longTask" - prop="longTask" - width="120" - > - <template slot-scope="scope"> - <span>{{ scope.row.longTask ? "闀挎湡浠诲姟" : "闈為暱鏈�" }}</span> - </template> - </el-table-column> - - <el-table-column - label="鐘舵��" - align="center" - key="sendState" - prop="sendState" - width="120" - > - <template slot-scope="scope"> - <dict-tag - :options="dict.type.task_status" - :value="scope.row.sendState" - /> - </template> - </el-table-column> - - <el-table-column - label="鍒涘缓浜�" - align="center" - key="createBy" - prop="createBy" - width="120" - :show-overflow-tooltip="true" - /> - <el-table-column - label="鍒涘缓鏃堕棿" - sortable - align="center" - prop="createTime" - width="160" - > - <template slot-scope="scope"> - <span>{{ formatTime(scope.row.createTime) }}</span> - </template> - </el-table-column> - - <el-table-column - label="鎿嶄綔" - fixed="right" - align="center" - width="180" - class-name="small-padding fixed-width" - > - <template slot-scope="scope"> - <el-button - v-if=" - (scope.row.sendState == 1 || scope.row.sendState == 3) && - !scope.row.longTask - " - size="medium" - type="text" - @click="sponsor(scope.row)" - ><span class="button-zx" - ><i class="el-icon-s-promotion"></i>鍙戣捣</span - ></el-button - > - <!-- <el-button size="medium" type="text" @click="newAdd(scope.row)" - ><span class="button-xj" - ><i class="el-icon-circle-plus-outline"></i>缁堟</span - ></el-button - > --> - <el-button - size="medium" - type="text" - @click="handleUpdate(scope.row, 1)" - ><span class="button-xj" - ><i class="el-icon-circle-plus-outline"></i>渚濈収鏂板</span - ></el-button - > - <el-button - v-if="scope.row.sendState == 2" - size="medium" - type="text" - @click="stop(scope.row)" - ><span class="button-zt" - ><i class="el-icon-circle-plus-outline"></i>鏆傚仠</span - ></el-button - > - </template> - </el-table-column> - <el-table-column - label="浠诲姟璇︽儏" - fixed="right" - align="center" - width="200" - class-name="small-padding fixed-width" - > - <template slot-scope="scope"> - <el-button - size="medium" - type="text" - @click="handleUpdate(scope.row)" - ><span class="button-xq" - ><i class="el-icon-s-data"></i>璇︽儏</span - ></el-button - > - - <el-button size="medium" type="text" @click="deletefn(scope.row)" - ><span class="button-sc" - ><i class="el-icon-delete"></i>鍒犻櫎</span - ></el-button - > - </template> - </el-table-column> - </el-table> - - <pagination - v-show="total > 0" - :total="total" - :page.sync="topqueryParams.pageNum" - :limit.sync="topqueryParams.pageSize" - @pagination="getList" - /> - </el-row> - <!-- 纭鍙戣捣瀵硅瘽妗� --> - <el-dialog - title="浠诲姟鍙戣捣纭" - :visible.sync="taskformVisible" - width="50%" - :before-close="handleClose" - > - <el-tabs type="border-card" v-model="activname"> - <el-tab-pane> - <span slot="label"><i class="el-icon-date"></i> 姝e父鍙戣捣</span> - <div style="font-size: 20px; color: red; margin-bottom: 20px"> - 璇风‘璁や换鍔�"{{ taskform.taskName }}"鐨勬墽琛屾椂闂� - </div> - <div - style="font-size: 18px; margin-bottom: 20px" - v-if="taskform.showDate" - > - 鎵ц鏃ユ湡锛�<span - style="font-size: 18px; color: #2376b7; margin-bottom: 20px" - >{{ taskform.showDate[0] }} 鑷� {{ taskform.showDate[1] }}</span - > - </div> - <div - style="font-size: 18px; margin-bottom: 20px" - v-if="taskform.showTimeMorn[0]" - > - 绗竴鏃堕棿娈碉細<span - style="font-size: 18px; color: #2376b7; margin-bottom: 20px" - >{{ taskform.showTimeMorn[0] }} 鑷� - {{ taskform.showTimeMorn[1] }}</span - > - </div> - <div - style="font-size: 18px; margin-bottom: 20px" - v-if="taskform.showTimeNight[0]" - > - 绗簩鏃堕棿娈碉細<span - style="font-size: 18px; color: #2376b7; margin-bottom: 20px" - >{{ taskform.showTimeNight[0] }} 鑷� - {{ taskform.showTimeNight[1] }}</span - > - </div> - <div - style="font-size: 18px; margin-bottom: 20px" - v-if="taskform.showTimeNoon[0]" - > - 绗笁鏃堕棿娈碉細<span - style="font-size: 18px; color: #2376b7; margin-bottom: 20px" - >{{ taskform.showTimeNoon[0] }} 鑷� - {{ taskform.showTimeNoon[1] }}</span - > - </div> - </el-tab-pane> - <el-tab-pane label="绔嬪嵆鎵ц"> - <div style="font-size: 20px; color: red; margin-bottom: 20px"> - 姝ゆ搷浣滃皢绔嬪嵆鍙戣捣骞舵墽琛屼换鍔�:{{ taskform.taskName }}锛岃璋ㄦ厧鎿嶄綔锛� - </div> - </el-tab-pane> - </el-tabs> - <div style="text-align: right; margin: 20px 0"> - <el-button style="margin-right: 20px" @click="taskformVisible = false" - >鍙� 娑�</el-button - > - <el-button - style="margin-right: 20px" - type="success" - @click="confirmSponsor(taskform)" - >纭鎵ц</el-button - > - <el-button type="primary" @click="handleUpdate(taskform)" - >鍓嶅線淇敼</el-button - > - </div> - </el-dialog> - </div> -</template> - -<script> -import { - getUser, - delUser, - addUser, - updateUser, - resetUserPwd, - changeUserStatus, -} from "@/api/system/user"; -import { - getTasklist, - getTaskInfo, - Editsingletask, - delTaskInfo, - Questionnairetasklist, - Questionnairetaskget, - Questionnairetasksponsor, - TaskTemplateSendExecution, -} from "@/api/AiCentre/index"; -import store from "@/store"; - -import Treeselect from "@riophae/vue-treeselect"; -import "@riophae/vue-treeselect/dist/vue-treeselect.css"; - -export default { - name: "Tasklist", - dicts: ["sys_normal_disable", "sys_user_sex", "task_status"], - components: { Treeselect }, - data() { - return { - // 閬僵灞� - loading: true, - // 閫変腑鏁扮粍 - ids: [], - // 闈炲崟涓鐢� - single: true, - // 闈炲涓鐢� - multiple: true, - // 鏄剧ず鎼滅储鏉′欢 - showSearch: true, - // 鎬绘潯鏁� - total: 0, - // 鐢ㄦ埛琛ㄦ牸鏁版嵁 - userList: null, - // 寮瑰嚭灞傛爣棰� - title: "鏂板闂ㄨ瘖闅忚", - // 鏄惁鏄剧ず淇敼銆佹坊鍔犲脊鍑哄眰 - addalteropen: false, - // 閮ㄩ棬鍚嶇О - deptName: undefined, - // 榛樿瀵嗙爜 - initPassword: undefined, - // 鏃ユ湡鑼冨洿 - dateRange: [], - // 宀椾綅閫夐」 - postOptions: [], - // 瑙掕壊閫夐」 - roleOptions: [], - longTask: 0, - taskform: { - showDate: [], - showTimeMorn: [], - showTimeNight: [], - showTimeNoon: [], - }, - taskformVisible: false, - dynamicTags: ["閫夐」涓�", "閫夐」浜�", "閫夐」涓�"], //閫夐」 - inputVisible: false, - inputValue: "", - previewVisible: false, //闂ㄨ瘖闅忚棰勮寮规 - TaskOperation: {}, - radio: "", - radios: [], - previewtype: 2, //棰勮闂ㄨ瘖闅忚绫诲瀷 - total: 0, // 鎬绘潯鏁� - ImportQuantity: 999, //瀵奸棬璇婇殢璁挎暟閲� - //棰勮闂ㄨ瘖闅忚淇℃伅 - previewvalue: { - username: "杩欎釜鍖荤敓瀵逛綘鎬庝箞鏍�", - }, - longtermlist: [ - { - value: 1, - label: "璇煶闅忚", - }, - { - value: 2, - label: "闂嵎闅忚", - }, - { - value: 3, - label: "瀹f暀鍏虫��", - }, - ], - taskoptions: [ - { - value: "1", - label: "鐩戞祴璇勪及", - }, - { - value: "2", - label: "鍑洪櫌闅忚", - }, - { - value: "3", - label: "闂ㄨ瘖闅忚", - }, - { - value: "4", - label: "瀹f暀鍏虫��", - }, - { - value: "5", - label: "澶嶈瘖绠$悊", - }, - { - value: "6", - label: "婊℃剰搴﹁皟鏌�", - }, - { - value: "7", - label: "鎮h�呮姤鍛�", - }, - - { - value: "8", - label: "鍏朵粬閫氱煡", - }, - ], - tasktopic: "2", //鏂板绫诲瀷 - activname: "", - 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(); - }, - shortcuts: [ - { - text: "浠婂ぉ", - onClick(picker) { - picker.$emit("pick", new Date()); - }, - }, - { - text: "鏄ㄥぉ", - onClick(picker) { - const date = new Date(); - date.setTime(date.getTime() - 3600 * 1000 * 24); - picker.$emit("pick", date); - }, - }, - { - text: "涓�鍛ㄥ墠", - onClick(picker) { - const date = new Date(); - date.setTime(date.getTime() - 3600 * 1000 * 24 * 7); - picker.$emit("pick", date); - }, - }, - ], - }, - // 琛ㄥ崟鍙傛暟 - form: { - phonenumber: "", - totagid: "", - types: "", - nickName: "", - qystatus: "", - btstatus: "", - }, - // 鏌ヨ鍙傛暟 - topqueryParams: { - pageNum: 1, - pageSize: 10, - type: 1, - userName: undefined, - tagid: undefined, - topic: undefined, - }, - propss: { multiple: true }, - options: [], - 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", - }, - ], - }, - }; - }, - watch: {}, - created() { - 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; - this.getList(); - this.getConfigKey("sys.user.initPassword").then((response) => { - this.initPassword = response.msg; - }); - this.checkboxlist = store.getters.checkboxlist; - }, - activated() { - this.getList(); - }, - // 鎼滅储 - mounted() { - this.list = this.states.map((item) => { - return { value: `value:${item}`, label: `label:${item}` }; - }); - }, - methods: { - /** 鏌ヨ浠诲姟鍒楄〃 */ - getList() { - this.loading = true; - console.log(this.topqueryParams.type); - - this.topqueryParams.serviceType = Number(this.tasktopic); - if ( - this.tasktopic == 2 || - this.tasktopic == 3 || - this.tasktopic == 1 || - this.tasktopic == 7 || - this.tasktopic == 6 - ) { - if (!this.topqueryParams.type) this.topqueryParams.type = '2'; - this.longtermlist = [ - { - value: 1, - label: "璇煶闅忚", - }, - { - value: 2, - label: "闂嵎闅忚", - }, - ]; - } else if (this.tasktopic == 4 || this.tasktopic == 8) { - if (!this.topqueryParams.type) this.topqueryParams.type = '3'; - this.longtermlist = [ - { - value: 3, - label: "瀹f暀鍏虫��", - }, - ]; - } else if (this.tasktopic == 5) { - if (!this.topqueryParams.type) this.topqueryParams.type = '1'; - this.longtermlist = [ - { - value: 1, - label: "璇煶闅忚", - }, - { - value: 2, - label: "闂嵎闅忚", - }, - ]; - } - // this.topqueryParams.typename = this.findLabelByValue( - // this.taskoptions, - // this.tasktopic - // ); - this.topqueryParams.startOutHospTime = this.dateRange[0]; - this.topqueryParams.endOutHospTime = this.dateRange[1]; - getTasklist(this.topqueryParams).then((response) => { - this.userList = response.rows; - this.total = response.total; - this.$forceUpdate(); - this.loading = false; - }); - }, - // 鏌ョ湅闂ㄨ瘖闅忚璇︽儏 - Referencequestion(row) { - this.previewVisible = true; - }, - // 娣诲姞寮规鎼滅储 - remoteMethod(query) { - if (query !== "") { - this.loading = true; - setTimeout(() => { - this.loading = false; - this.options = this.list.filter((item) => { - return item.label.toLowerCase().indexOf(query.toLowerCase()) > -1; - }); - }, 200); - } else { - this.options = []; - } - }, - - // 琛ㄥ崟閲嶇疆 - reset() { - this.form = { - userId: undefined, - deptId: undefined, - userName: undefined, - nickName: undefined, - password: undefined, - phonenumber: undefined, - email: undefined, - sex: undefined, - status: "0", - remark: undefined, - postIds: [], - roleIds: [], - }; - this.resetForm("form"); - }, - /** 鎼滅储鎸夐挳鎿嶄綔 */ - handleQuerytask() { - this.topqueryParams.pageNum = 1; - // this.topqueryParams.type = ''; - this.getList(); - }, - handleQuery() { - this.topqueryParams.pageNum = 1; - this.getList(); - }, - /** 閲嶇疆鎸夐挳鎿嶄綔 */ - resetQuery() { - this.dateRange = []; - this.resetForm("queryForm"); - this.topqueryParams.deptId = undefined; - this.$refs.tree.setCurrentKey(null); - this.handleQuery(); - }, - // 澶氶�夋閫変腑鏁版嵁 - handleSelectionChange(selection) { - this.ids = selection.map((item) => item.userId); - this.single = selection.length != 1; - this.multiple = !selection.length; - }, - //鍒犻櫎閫夐」 - handleClose(tag) { - this.dynamicTags.splice(this.dynamicTags.indexOf(tag), 1); - }, - //瑙﹀彂鏂板杈撳叆 - showInput() { - this.inputVisible = true; - this.$nextTick((_) => { - this.$refs.saveTagInput.$refs.input.focus(); - }); - }, - //鑾峰彇澶卞幓鐒︾偣瑙﹀彂 - handleInputConfirm() { - let inputValue = this.inputValue; - if (inputValue) { - this.dynamicTags.push(inputValue); - } - this.inputVisible = false; - this.inputValue = ""; - }, - /** 鏂板鎸夐挳鎿嶄綔 */ - handleAdd() { - if (this.topqueryParams.type == 1) { - this.$router.push({ - path: "/followvisit/particty", - query: { - type: this.topqueryParams.type, - serviceType: this.tasktopic, - }, - }); - } else if (this.topqueryParams.type == 2) { - this.$router.push({ - path: "/followvisit/QuestionnaireTask", - query: { - type: this.topqueryParams.type, - serviceType: this.tasktopic, - }, - }); - } else if (this.topqueryParams.type == 3) { - this.$router.push({ - path: "/followvisit/Missioncreation", - query: { - type: this.topqueryParams.type, - serviceType: this.tasktopic, - }, - }); - } - }, - /** 淇敼鎸夐挳鎿嶄綔 */ - handleUpdate(row, newadd) { - if (this.topqueryParams.type == 1) { - this.$router.push({ - path: "/followvisit/particty", - query: { - id: row.taskid, - type: this.topqueryParams.type, - serviceType: this.tasktopic, - newadd: newadd, //鏄惁渚濈収鏂板缓 - }, - }); - } else if (this.topqueryParams.type == 2) { - this.$router.push({ - path: "/followvisit/QuestionnaireTask", - query: { - id: row.taskid, - type: this.topqueryParams.type, - serviceType: this.tasktopic, - newadd: newadd, - }, - }); - } else if (this.topqueryParams.type == 3) { - this.$router.push({ - path: "/followvisit/Missioncreation", - query: { - id: row.taskid, - type: this.topqueryParams.type, - serviceType: this.tasktopic, - newadd: newadd, - }, - }); - } - }, - // 鍒犻櫎浠诲姟 - deletefn(row) { - this.$modal - .confirm( - '鏄惁鍒犻櫎浠诲姟鍚嶇О涓�"' + - row.taskName + - '"鐨勬暟鎹」锛屽垹闄ゅ悗涓嶅彲鎾ゅ洖锛佹槸鍚︾户缁�' - ) - .then(() => { - delTaskInfo(row.taskid).then((res) => { - if (res.code == 200) { - this.getList(); - this.$modal.msgSuccess("鍒犻櫎鎴愬姛"); - } - }); - }) - .catch(() => {}); - }, - // 浠诲姟鍙戣捣 - sponsor(row) { - console.log(row, "浠诲姟淇℃伅"); - this.taskform = row; - if (this.taskform.showDate && this.taskform.sendType != 2) { - this.taskform.showDate = this.taskform.showDate.split(","); - } - if (this.taskform.showTimeMorn && this.taskform.sendType != 2) { - this.taskform.showTimeMorn = this.taskform.showTimeMorn.split(","); - } else { - this.taskform.showTimeMorn = []; - } - if (this.taskform.showTimeNight && this.taskform.sendType != 2) { - this.taskform.showTimeNight = this.taskform.showTimeNight.split(","); - } else { - this.taskform.showTimeNight = []; - } - if (this.taskform.showTimeNoon && this.taskform.sendType != 2) { - this.taskform.showTimeNoon = this.taskform.showTimeNoon.split(","); - } else { - this.taskform.showTimeNoon = []; - } - if (this.taskform.sendState != 2 && this.taskform.sendType != 2) { - this.taskformVisible = true; - } else if (this.taskform.sendState != 2 && this.taskform.sendType == 2) { - this.TaskOperation.taskId = row.taskid; - this.TaskOperation.taskType = this.topqueryParams.type; - this.TaskOperation.sendState = 2; - this.TaskOperation.sendType = 2; - this.$modal - .confirm( - '褰撳墠閫変腑浠诲姟鍚嶇О涓�"' + - row.taskName + - '"鐨勬暟鎹」涓虹珛鍗虫墽琛屼换鍔★紝鍙戣捣鎵ц鍚庝笉鍙挙鍥烇紒鏄惁缁х画' - ) - .then(() => { - TaskTemplateSendExecution(this.TaskOperation).then((res) => { - if (res.code == 200) { - this.getList(); - this.$modal.msgSuccess("浠诲姟宸茬珛鍗虫墽琛�"); - } - }); - }) - .catch(() => {}); - } else { - this.$modal.msgError("浠诲姟宸插彂璧凤紝涓嶅彲鍐嶆鍙戣捣"); - } - }, - // 纭鍙戣捣 - confirmSponsor(row) { - if (this.activname == 0) { - this.TaskOperation.taskId = row.taskid; - this.TaskOperation.taskType = this.topqueryParams.type; - this.TaskOperation.sendState = 2; - TaskTemplateSendExecution(this.TaskOperation).then((res) => { - if (res.code == 200) { - this.$modal.msgSuccess("浠诲姟宸叉垚鍔熷姞鍏ユ墽琛岄槦鍒�"); - this.taskformVisible = false; - this.getList(); - } - }); - } else if (this.activname == 1) { - this.immediateExecution(row); - } - }, - - // 绔嬪嵆鎵ц - immediateExecution(row) { - console.log(row, "浠诲姟淇℃伅"); - if (row.sendState != 2) { - this.TaskOperation.taskType = this.topqueryParams.type; - this.TaskOperation.taskId = row.taskid; - this.TaskOperation.sendState = 2; - this.TaskOperation.sendType = 2; - this.$modal - .confirm( - '鏄惁绔嬪嵆鎵ц浠诲姟鍚嶇О涓轰负"' + - row.taskName + - '"鐨勬暟鎹」锛熷彂璧锋墽琛屽悗涓嶅彲鎾ゅ洖锛�' - ) - .then(() => { - TaskTemplateSendExecution(this.TaskOperation).then((res) => { - if (res.code == 200) { - this.getList(); - this.$modal.msgSuccess("浠诲姟宸茬珛鍗虫墽琛�"); - } - }); - }) - .then(() => {}) - .catch(() => {}); - } - }, - - // 鏆傚仠 - stop(row) { - console.log(row); - if (row.sendState == 2) { - this.TaskOperation.taskId = row.taskid; - this.TaskOperation.sendState = 3; - this.TaskOperation.sendType = ""; - this.TaskOperation.taskType = row.type; - TaskTemplateSendExecution(this.TaskOperation).then((res) => { - this.$modal.msgSuccess("浠诲姟宸叉殏鍋�"); - this.getList(); - }); - } - }, - - /** 鎻愪氦鎸夐挳 */ - 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.getList(); - }); - } else { - addUser(this.form).then((response) => { - this.$modal.msgSuccess("鏂板鎴愬姛"); - this.open = false; - this.getList(); - }); - } - } - }); - }, - /** 鍒犻櫎鎸夐挳鎿嶄綔 */ - handleDelete(row) { - const userIds = row.userId || this.ids; - this.$modal - .confirm('鏄惁纭鍒犻櫎鐢ㄦ埛缂栧彿涓�"' + userIds + '"鐨勬暟鎹」锛�') - .then(function () { - return delUser(userIds); - }) - .then(() => { - this.getList(); - this.$modal.msgSuccess("鍒犻櫎鎴愬姛"); - }) - .catch(() => {}); - }, - /** 瀵煎嚭鎸夐挳鎿嶄綔 */ - handleExport() { - this.download( - "system/user/export", - { - ...this.topqueryParams, - }, - `user_${new Date().getTime()}.xlsx` - ); - }, - findLabelByValue(data, value) { - const item = data.find((item) => item.value === value); - return item ? item.label : null; - }, - }, -}; -</script> - -<style lang="scss" scoped> -.el-button--primary.is-plain { - color: #ffffff; - background: #409eff; - border-color: #4fabe9; -} - -.document { - width: 100px; - height: 50px; -} - -.documentf { - display: flex; - justify-content: flex-end; -} - -.download { - text-align: center; - - .el-upload__tip { - font-size: 23px; - } - - .el-upload__text { - font-size: 23px; - } -} - -.uploading { - margin-top: 20px; - margin: 20px; - padding: 30px; - background: #ffffff; - border: 1px solid #dcdfe6; - -webkit-box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.12), - 0 0 6px 0 rgba(0, 0, 0, 0.04); -} - -.el-tag + .el-tag { - margin-left: 10px; -} - -.button-new-tag { - margin-left: 10px; - height: 32px; - line-height: 30px; - padding-top: 0; - padding-bottom: 0; -} - -.input-new-tag { - width: 90px; - margin-left: 10px; - vertical-align: bottom; -} - -.drexamine { - display: flex; - align-items: center; - justify-content: center; - padding: 30px; - background: #daeaf5; - - img { - width: 100px; - height: 100px; - } -} - -.qrcode-dialo { - // text-align: center; - // display: flex; - margin: 20px; - padding: 30px; - background: #edf1f7; - border: 1px solid #dcdfe6; - -webkit-box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.12), - 0 0 6px 0 rgba(0, 0, 0, 0.04); - - .topic-dev { - margin-bottom: 25px; - font-size: 20px !important; - - .dev-text { - margin-bottom: 10px; - } - } -} -.button-bb { - font-weight: 500; - color: #2ba05c; -} -.button-xq { - font-weight: 500; - color: #409eff; -} -.button-sc { - font-weight: 500; - color: #dd302a; -} -.button-zx { - background: #4fabe9; - padding: 5px; - border-radius: 1px; - color: #ffffff; -} -.button-lj { - background: #e9614f; - padding: 5px; - border-radius: 1px; - color: #ffffff; -} -.button-xj { - background: #815c94; - padding: 5px; - border-radius: 1px; - color: #ffffff; -} -.button-zt { - background: #f9c116; - padding: 5px; - border-radius: 1px; - color: #ffffff; -} - -::v-deep.el-radio-group { - span { - font-size: 24px; - } -} - -::v-deep.el-button + .el-button { - margin-left: 0; -} -::v-deep.el-checkbox-group { - span { - font-size: 24px; - } -} -</style> diff --git a/src/views/index.vue b/src/views/index.vue deleted file mode 100644 index 439d775..0000000 --- a/src/views/index.vue +++ /dev/null @@ -1,994 +0,0 @@ -<template> - <div id="home"> - <div class="home" style="margin-top: 40px; margin-left: 20px"> - <!-- 澶撮儴涓や釜 --> - <el-row :gutter="20"> - <el-col :span="11"> - <!-- 灏辫瘖缁熻鐩掑瓙 --> - <div class="grid-content bg-purple headerBox bgc1"> - <div class="title"> - 鎮h�呯粺璁�<span - style=" - font-size: 25px; - font-weight: 600; - text-shadow: 2px 4px 7px rgb(85 132 255 / 50%); - color: black; - " - >12322 (浜�)</span - > - <span>{{ endatd }} ~ {{ statd }}</span> - </div> - <el-row :gutter="20"> - <el-col :span="8"> - <div class="home-user-task-stats"> - <p>{{ 11231 }}</p> - <div class="text-color2"> - <p>闂ㄨ瘖鎬绘暟锛堜汉锛�</p> - </div> - </div> - </el-col> - <el-col :span="7"> - <div class="home-user-task-stats"> - <p>{{ 9207 }}</p> - <div class="text-color2"> - <p>浣忛櫌鎬绘暟锛堜汉锛�</p> - </div> - </div> - </el-col> - <el-col :span="7"> - <div class="home-user-task-stats"> - <p>{{ 1209 }}</p> - <div class="text-color2"> - <p>浣撴鎬绘暟锛堜汉锛�</p> - </div> - </div> - </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; - text-shadow: 2px 4px 7px rgb(255 99 85 / 50%); - font-weight: 600; - color: red; - " - >12322 (浜�)</span - > - <span>{{ endatd }} ~ {{ statd }}</span> - </div> - <el-row :gutter="20"> - <el-col :span="12"> - <div class="home-user-task-stats"> - <p style="color: red">{{ 3453 }}</p> - </div> - <div class="text-color2"> - <p>浣忛櫌鏈嶅姟浜烘暟</p> - </div> - </el-col> - <el-col :span="12"> - <div class="home-user-task-stats"> - <p style="color: red">{{ 4213 }}</p> - <div class="text-color2"> - <p>浣撴鏈嶅姟浜烘暟</p> - </div> - </div> - </el-col> - </el-row> - </div> - </el-col> - </el-row> - <!-- 涓棿鍜屽彸杈� --> - <el-row :gutter="20"> - <el-col :span="20"> - <!-- echars鏁版嵁鍙鍖� --> - <div class="grid-content bg-purple" style="min-height: 365px"> - <div class="title"> - 灏辫瘖缁熻 - <span>{{ endatd }} ~ {{ statd }}</span> - <el-radio-group - v-model="radio1" - size="mini" - style="margin-left: 390px" - @change="changes" - > - <el-radio-button label="鍛�" @click="dyat = 7"></el-radio-button> - <el-radio-button - label="鏈�" - @click="dyat = 30" - ></el-radio-button> - <el-radio-button - label="骞�" - @click="dyat = 360" - ></el-radio-button> - </el-radio-group> - </div> - <!-- 涓棿echars --> - <div class="boxEchars"> - <div class="echars1" id="echars"></div> - </div> - </div> - </el-col> - <!-- 涓棿鍜屽彸杈� --> - <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"> - <el-table style="width: 100%" :data="SkuTop"> - <template v-for="(item, index) in SkuTop"></template> - <el-table-column - prop="order" - width="30" - style="background: url(~@/assets/order/4.png)" - type="index" - ></el-table-column> - <el-table-column - prop="skuName" - width="88" - class-name="name" - ></el-table-column> - <el-table-column prop="count" class-name="count"> - <template slot-scope="scope"> - {{ scope.row.count }}娆� - </template> - </el-table-column> - </el-table> - </div> - </div> - </el-col> - </el-row> - <!-- 搴曢儴涓�涓� --> - <el-row :gutter="20" style="margin-bottom: 20px"> - <el-col :span="15"> - <div class="grid-content bg-purple" style="min-height: 300px"> - <div class="title"> - 瀹f暀缁熻 - <span class="el-icon-s-unfold moreIcon"></span> - </div> - <div class="cooperate"> - <!-- 鍚堜綔鍖哄煙 --> - <div class="pieChart" id="pieCharts"></div> - </div> - </div> - </el-col> - <el-col :span="9"> - <div class="grid-content bg-purple" style="min-height: 300px"> - <div class="title"> - 鍚勯」鏈嶅姟缁熻 - <span class="el-icon-s-unfold moreIcon2"></span> - </div> - <div class="empenty"> - <el-row> - <el-col :span="3" - ><div class="grid-contents bg-purples">鍑洪櫌锛�</div></el-col - > - <el-col :span="7"> - <div style="display: flex"> - <div class="subtitle">鍑洪櫌闅忚</div> - <div class="grid-contents bg-purple-light">0娆�</div> - </div> - </el-col> - <el-col :span="7"> - <div style="display: flex"> - <div class="subtitle">鍑洪櫌瀹f暀</div> - <div class="grid-contents bg-purple-light">0娆�</div> - </div> - </el-col> - - <el-col :span="7"> - <div style="display: flex"> - <div class="subtitle">澶嶈瘖閫氱煡</div> - <div class="grid-contents bg-purple-light">0娆�</div> - </div> - </el-col> - </el-row> - <el-row> - <el-col :span="3" - ><div class="grid-contents bg-purples"></div - ></el-col> - <el-col :span="7"> - <div style="display: flex"> - <div class="subtitle">鍑洪櫌璇勪及</div> - <div class="grid-contents bg-purple-light">0娆�</div> - </div> - </el-col> - - <el-col :span="7"> - <div style="display: flex"> - <div class="subtitle">婊℃剰搴﹁皟鏌�</div> - <div class="grid-contents bg-purple-light">0娆�</div> - </div> - </el-col> - <el-col :span="7"> - <div style="display: flex"> - <div class="subtitle">鍏朵粬閫氱煡</div> - <div class="grid-contents bg-purple-light">0娆�</div> - </div> - </el-col> - </el-row> - - <el-row> - <el-col :span="3" - ><div class="grid-contents bg-purples">闂ㄨ瘖锛�</div></el-col - > - <el-col :span="7"> - <div style="display: flex"> - <div class="subtitle">闂ㄨ瘖闅忚</div> - <div class="grid-contents bg-purple-light">0娆�</div> - </div> - </el-col> - <el-col :span="7"> - <div style="display: flex"> - <div class="subtitle">闂ㄨ瘖瀹f暀</div> - <div class="grid-contents bg-purple-light">0娆�</div> - </div> - </el-col> - - <el-col :span="7"> - <div style="display: flex"> - <div class="subtitle">澶嶈瘖閫氱煡</div> - <div class="grid-contents bg-purple-light">0娆�</div> - </div> - </el-col> - </el-row> - <el-row> - <el-col :span="3" - ><div class="grid-contents bg-purples"></div - ></el-col> - <el-col :span="7"> - <div style="display: flex"> - <div class="subtitle">婊℃剰搴﹁皟鏌�</div> - <div class="grid-contents bg-purple-light">0娆�</div> - </div> - </el-col> - <el-col :span="7"> - <div style="display: flex"> - <div class="subtitle">鍏朵粬閫氱煡</div> - <div class="grid-contents bg-purple-light">0娆�</div> - </div> - </el-col> - </el-row> - <el-row> - <el-col :span="3" - ><div class="grid-contents bg-purples">鍦ㄩ櫌锛�</div></el-col - > - <el-col :span="7"> - <div style="display: flex"> - <div class="subtitle">鍦ㄩ櫌瀹f暀</div> - <div class="grid-contents bg-purple-light">0娆�</div> - </div> - </el-col> - <el-col :span="7"> - <div style="display: flex"> - <div class="subtitle">鍦ㄩ櫌璇勪及</div> - <div class="grid-contents bg-purple-light">0娆�</div> - </div> - </el-col> - - <el-col :span="7"> - <div style="display: flex"> - <div class="subtitle">鍏朵粬閫氱煡</div> - <div class="grid-contents bg-purple-light">0娆�</div> - </div> - </el-col> - </el-row> - </div> - </div> - </el-col> - </el-row> - </div> - </div> -</template> - -<script> -import { - getoutpatientamount, - getInhospital, - getBarchart, - getQtemplateobj, -} from "@/api/AiCentre/index"; -import dayjs from "dayjs"; - -export default { - name: "home", - data() { - return { - NodeCount: "", - PrtnerCount: "", - NodeCount: "", - myChart2: null, - mypPieCharts: null, - lastWidth: window.innerWidth, - lastHeight: window.innerHeight, - radio1: "鍛�", - ticketStatistics: {}, - order: "", - Count: "", - datatni: [], - series: [], - tableData: [], - nodeCollect: [], - SkuTop: [], - cylinderSeries: [], - cylinderXAxis: [], - dyat: 30, - intervalId: null, - }; - }, - - computed: { - // 鏃堕棿鍖哄煙 - td() { - return dayjs().format("YYYY-MM-DD HH:mm:ss"); - }, - atd() { - return dayjs().subtract(this.dyat, "day").format("YYYY-MM-DD HH:mm:ss"); - }, - statd() { - return dayjs().format("YYYY-MM-DD"); - }, - endatd() { - return dayjs().subtract(this.dyat, "day").format("YYYY-MM-DD"); - }, - }, - created() { - // this.getoutpatientamount(); - // this.getInhospital(); - // this.getBarchart(); - this.$nextTick(function () { - this.getregionAmountCollect(); - this.getnodeCollect(); - this.getSkuTop(); - }); - }, - mounted() { - this.setInterval(); - // window.addEventListener("resize", this.handleResize()); - }, - beforeDestroy() { - if (this.intervalId) { - clearInterval(this.intervalId); // 娓呴櫎瀹氭椂鍣� - } - }, - methods: { - // 鏀瑰彉鏃堕棿浜嬩欢 - changes() { - if (this.radio1 == "鍛�") { - this.dyat = 7; - } else if (this.radio1 == "鏈�") { - this.dyat = 30; - } else { - this.dyat = 360; - } - this.getregionAmountCollect(); - // this.getoutpatientamount(); - // this.getInhospital(); - // this.getBarchart(); - this.getnodeCollect(); - this.getSkuTop(); - }, - - // 鍚堜綔鍟嗙偣浣嶆眹鎬荤粺璁¢ゼ鐘跺浘 - async getnodeCollect() { - // const res = await getnodeCollect(); - // this.nodeCollect = res.data; - this.nodeCollect = [ - { 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: "鏀惧皠绉�" }, - ]; - }, - // 鑾峰彇闂ㄨ瘖鍩虹鏁版嵁 - getoutpatientamount() { - getoutpatientamount().then((res) => {}); - }, - // 鑾峰彇灏辫瘖鏁伴噺 - getBarchart() { - getBarchart().then((res) => {}); - }, - // 鑾峰彇鎬婚噺鏁伴噺 - getInhospital() { - getInhospital().then((res) => {}); - }, - - // 鑾峰彇绾跨姸鍥炬椂闂� - async getregionAmountCollect() { - //getregionAmountCollect(1, this.endatd, this.statd); - // this.xAxis = res.data.xAxis; - // this.series = res.data.series; - this.xAxis = ["1鏈�", "2鏈�", "3鏈�", "4鏈�", "5鏈�", "6鏈�", "7鏈�", "8鏈�"]; - this.series = [123, 123, 223, 212, 432, 123, 442, 234]; - this.myEcharts2(); - }, - // 绾挎�у浘 - myEcharts2() { - var echarts = require("echarts"); - var myChart2 = echarts.init(document.getElementById("echars")); - this.myChart2 = myChart2; - var option2 = { - tooltip: { - trigger: "axis", - axisPointer: { - type: "cross", - crossStyle: { - color: "#999", - }, - }, - }, - toolbox: { - feature: { - dataView: { show: true, readOnly: false }, - magicType: { show: true, type: ["line", "bar"] }, - restore: { show: true }, - saveAsImage: { show: true }, - }, - }, - legend: { - data: [ - "鍑洪櫌闅忚閲�", - "闂ㄨ瘖闅忚閲�", - "鍦ㄩ櫌闅忚閲�", - "闂ㄨ瘖澶嶈瘖閫氱煡", - "鍑洪櫌澶嶈瘖閫氱煡", - "鍦ㄩ櫌璇勪及閲�", - ], - }, - xAxis: [ - { - type: "category", - data: [ - "涓�鏈�", - "浜屾湀", - "涓夋湀", - "鍥涙湀", - "浜旀湀", - "鍏湀", - "涓冩湀", - "鍏湀", - "涔濇湀", - "鍗佹湀", - ], - axisPointer: { - type: "shadow", - }, - }, - ], - yAxis: [ - { - type: "value", - name: "闅忚閲�", - min: 0, - max: 250, - interval: 50, - axisLabel: { - formatter: "{value} 浜�", - }, - }, - { - type: "value", - name: "澶嶈瘖/璇勪及娆℃暟", - min: 0, - max: 250, - interval: 50, - axisLabel: { - formatter: "{value} 娆�", - }, - }, - ], - grid: { top: "35%" }, - series: [ - { - name: "鍑洪櫌闅忚閲�", - type: "bar", - tooltip: { - valueFormatter: function (value) { - return value + " 浜�"; - }, - }, - 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: [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: [102, 190, 135, 88, 175, 160, 83, 145, 200, 110, 97, 180], - }, - { - name: "鍦ㄩ櫌璇勪及閲�", - type: "line", - smooth: 0.3, - yAxisIndex: 1, - tooltip: { - valueFormatter: function (value) { - return value + " 娆�"; - }, - }, - data: [120, 150, 165, 90, 140, 200, 130, 85, 175, 95, 110, 160], - }, - ], - }; - myChart2.on("updateAxisPointer", function (event) { - const xAxisInfo = event.axesInfo[0]; - if (xAxisInfo) { - const dimension = xAxisInfo.value + 1; - myChart2.setOption({ - series: { - id: "pie", - label: { - formatter: "{b}: {@[" + dimension + "]} ", - }, - encode: { - value: dimension, - tooltip: dimension, - }, - }, - }); - } - }); - myChart2.setOption(option2); - }, - // 楗肩姸鍥� - myPieChart() { - // 鍩轰簬鍑嗗濂界殑dom锛屽垵濮嬪寲echarts瀹炰緥 - var echarts = require("echarts"); - var mypPieCharts = echarts.init(document.getElementById("pieCharts")); - this.mypPieCharts = mypPieCharts; - // 鎸囧畾鍥捐〃鐨勯厤缃」鍜屾暟鎹� - var optionPie = { - legend: {}, - tooltip: { - trigger: "axis", - showContent: true, - }, - dataset: { - source: [ - ["product", "2012", "2013", "2014", "2015", "2016", "2017"], - ["鍑洪櫌瀹f暀", 56, 82, 88, 70, 53, 85], - ["鍦ㄩ櫌瀹f暀", 51, 51, 55, 53, 73, 68], - ["闂ㄨ瘖瀹f暀", 40, 62, 69, 36, 45, 32], - ], - }, - xAxis: { type: "category" }, - yAxis: { gridIndex: 0 }, - grid: { top: "25%", left: "10%", right: "40%", bottom: "10%" }, - series: [ - { - name: "鍑洪櫌瀹f暀", - type: "line", - smooth: true, - seriesLayoutBy: "row", - emphasis: { focus: "series" }, - }, - { - name: "鍦ㄩ櫌瀹f暀", - type: "line", - smooth: true, - seriesLayoutBy: "row", - emphasis: { focus: "series" }, - }, - { - name: "闂ㄨ瘖瀹f暀", - type: "line", - smooth: true, - seriesLayoutBy: "row", - emphasis: { focus: "series" }, - }, - { - type: "pie", - id: "pie", - radius: ["40%", "70%"], - center: ["80%", "50%"], - emphasis: { - focus: "self", - }, - itemStyle: { - borderRadius: 10, - borderColor: "#fff", - borderWidth: 2, - }, - label: { - formatter: "{b}: {@2012}", - }, - encode: { - itemName: "product", - value: "2012", - tooltip: "2012", - }, - }, - ], - }; - mypPieCharts.on("updateAxisPointer", function (event) { - const xAxisInfo = event.axesInfo[0]; - if (xAxisInfo) { - const dimension = xAxisInfo.value + 1; - mypPieCharts.setOption({ - series: { - id: "pie", - label: { - formatter: "{b}: {@[" + dimension + "]} ", - }, - encode: { - value: dimension, - tooltip: dimension, - }, - }, - }); - } - }); - - // 浣跨敤鍒氭寚瀹氱殑閰嶇疆椤瑰拰鏁版嵁鏄剧ず鍥捐〃銆� - mypPieCharts.setOption(optionPie); - }, - // 椤甸潰鍙樺寲璋冩暣澶у皬 - handleResize() { - console.log(111); - // 璋冩暣 ECharts 鍥捐〃澶у皬 - if (this.myChart2) { - this.myChart2.resize(); - } - if (this.mypPieCharts) { - this.mypPieCharts.resize(); - } - }, - setInterval() { - this.intervalId = setInterval(() => { - if (window.innerWidth != this.lastWidth) { - this.lastWidth = window.innerWidth; - console.log("绐楀彛澶у皬鍙兘琚墜鍔ㄨ皟鏁翠簡"); - this.handleResize(); - } - }, 1000); - }, - }, -}; -</script> - -<style lang="scss" scoped> -* { - padding: 0; - margin: 0; -} - -.boxEchars { - width: 100%; - height: 40vh; - margin-top: 45px; - display: flex; - .echars1 { - flex: 1; - } -} -::v-deep .el-table { - td:first-child { - .cell { - display: inline-block; - text-align: center; - width: 22px; - height: 20px; - margin-left: 2px; - padding-left: 6px; - text-align: center; - white-space: nowrap; - font-size: 12px; - font-family: zihun143-zhengkuchaojihei, zihun143; - font-weight: 400; - line-height: 14px; - background: url(~@/assets/order/4.png) no-repeat; - color: #e9b499; - } - } - td:nth-child(2) { - .cell { - height: 20px; - font-size: 14px; - font-family: PingFangSC-Medium, PingFang SC; - font-weight: 500; - color: #333; - line-height: 20px; - overflow: hidden; - white-space: nowrap; - text-overflow: ellipsis; - } - } - td:last-child { - height: 20px; - font-size: 14px; - font-family: PingFangSC-Regular, PingFang SC; - font-weight: 400; - color: #737589; - line-height: 20px; - text-align: right; - } -} -::v-deep .el-table { - tr:nth-child(1) { - td:nth-child(1) { - .cell { - background: url(~@/assets/order/1.png); - color: #8e5900; - } - } - } - tr:nth-child(2) { - td:nth-child(1) { - .cell { - background: url(~@/assets/order/2.png); - color: #494949; - } - } - } - tr:nth-child(3) { - td:nth-child(1) { - .cell { - background: url(~@/assets/order/3.png); - color: #cf6d3d; - } - } - } -} -.moreIcon { - font-size: 22px !important; - margin-left: 400px !important; - color: #5f84ff !important; - cursor: pointer; -} -.moreIcon2 { - font-size: 22px !important; - margin-left: 250px !important; - color: #5f84ff !important; - cursor: pointer; -} -.empenty { - width: 100%; - padding: 20px 0; - min-height: 280px; -} -.cooperate { - width: 100%; - height: 280px; - margin-top: 25px; - display: flex; - .pieChart { - flex: 1; - } - .Points { - width: 154px; - height: 230px; - text-align: center; - padding: 20px 0; - background: linear-gradient(135deg, transparent, #f8f8f9 0) 0 0, - linear-gradient(-135deg, transparent 12px, #f8f8f9 0) 100% 0, - linear-gradient(-45deg, transparent, #f8f8f9 0) 100% 100%, - linear-gradient(45deg, transparent 12px, #f8f8f9 0) 0 100%; - background-size: 50% 50%; - background-repeat: no-repeat; - p { - height: 33px; - margin-bottom: 10px; - font-size: 24px; - font-family: PingFangSC-Semibold, PingFang SC; - font-weight: 600; - color: #072074; - line-height: 33px; - } - span { - height: 17px; - margin-top: 6px; - font-size: 12px; - font-family: PingFangSC-Regular, PingFang SC; - font-weight: 400; - color: #000412; - line-height: 17px; - } - } -} -.title { - -webkit-box-align: center; - -ms-flex-align: center; - align-items: center; - -webkit-box-flex: 1; - -ms-flex: 1; - flex: 1; - font-size: 16px; - font-family: PingFangSC-Semibold, PingFang SC; - font-weight: 600; - color: #333; - padding-top: 17px; - padding-bottom: -4px; - - span { - margin-left: 10px; - font-size: 12px; - font-family: PingFangSC-Regular, PingFang SC; - font-weight: 400; - color: #999; - } -} -.bgc2 { - background: #fbefe8 url(~@/assets/dashboard/bg33.png) no-repeat - calc(100% - 12px) 100% !important; - - .home-user-task-stats { - margin-top: 10px; - height: 50px; - font-size: 36px; - font-family: PingFangSC-Semibold, PingFang SC; - font-weight: 600; - line-height: 50px; - text-shadow: 2px 4px 7px rgb(255 99 85 / 50%); - } - .text-color2 { - height: 17px; - margin-top: 3px; - font-size: 12px; - font-family: PingFangSC-Regular, PingFang SC; - font-weight: 400; - color: #ff5757; - line-height: 17px; - } -} -.bgc1 { - background: #e9f3ff !important; - background-image: url(~@/assets/dashboard/bg11.png), - url(~@/assets/dashboard/bg22.png) !important; - background-repeat: no-repeat, no-repeat !important; - background-position: 0 0, calc(100% - 12px) 100% !important; - .title { - -webkit-box-align: center; - -ms-flex-align: center; - align-items: center; - -webkit-box-flex: 1; - -ms-flex: 1; - flex: 1; - font-size: 16px; - font-family: PingFangSC-Semibold, PingFang SC; - font-weight: 600; - color: #333; - span { - margin-left: 10px; - font-size: 12px; - font-family: PingFangSC-Regular, PingFang SC; - font-weight: 400; - color: #999; - } - } - .home-user-task-stats { - margin-top: 10px; - height: 50px; - font-size: 36px; - font-family: PingFangSC-Semibold, PingFang SC; - font-weight: 600; - line-height: 50px; - text-shadow: 2px 4px 7px rgb(85 132 255 / 50%); - } - .text-color2 { - height: 17px; - margin-top: 3px; - font-size: 12px; - font-family: PingFangSC-Regular, PingFang SC; - font-weight: 400; - color: #91a7dc; - line-height: 17px; - } -} -::v-deep.aside .el-table__header-wrapper { - overflow: hidden; - display: none; -} -.headerBox { - height: 150px; - padding: 25px; -} -.el-row { - margin-bottom: 20px; - &:last-child { - margin-bottom: 0; - } -} -.el-col { - border-radius: 4px; -} -.bg-purple-dark { - background: #99a9bf; -} -.bg-purple { - background: #fff; -} -.bg-purples { - color: #206abe; - font-size: 18px; -} -.bg-purple-light { - background: #e5e9f2; - text-align: center; - align-items: center; - line-height: 36px; - width: 6vw; -} -.subtitle { - text-align: center; - align-items: center; -} -.grid-content { - min-height: 36px; - border-radius: 20px; - padding: 0 10px; -} -.grid-contents { - min-height: 36px; - border-radius: 20px; - padding: 0 10px; - padding-right: 0; -} -.row-bg { - padding: 10px 0; - background-color: #f9fafc; -} -</style> diff --git a/src/views/monitor/cache/index.vue b/src/views/monitor/cache/index.vue deleted file mode 100644 index 53f6eee..0000000 --- a/src/views/monitor/cache/index.vue +++ /dev/null @@ -1,146 +0,0 @@ -<template> - <div class="app-container"> - <el-row> - <el-col :span="24" class="card-box"> - <el-card> - <div slot="header"><span>鍩烘湰淇℃伅</span></div> - <div class="el-table el-table--enable-row-hover el-table--medium"> - <table cellspacing="0" style="width: 100%"> - <tbody> - <tr> - <td class="el-table__cell is-leaf"><div class="cell">Redis鐗堟湰</div></td> - <td class="el-table__cell is-leaf"><div class="cell" v-if="cache.info">{{ cache.info.redis_version }}</div></td> - <td class="el-table__cell is-leaf"><div class="cell">杩愯妯″紡</div></td> - <td class="el-table__cell is-leaf"><div class="cell" v-if="cache.info">{{ cache.info.redis_mode == "standalone" ? "鍗曟満" : "闆嗙兢" }}</div></td> - <td class="el-table__cell is-leaf"><div class="cell">绔彛</div></td> - <td class="el-table__cell is-leaf"><div class="cell" v-if="cache.info">{{ cache.info.tcp_port }}</div></td> - <td class="el-table__cell is-leaf"><div class="cell">瀹㈡埛绔暟</div></td> - <td class="el-table__cell is-leaf"><div class="cell" v-if="cache.info">{{ cache.info.connected_clients }}</div></td> - </tr> - <tr> - <td class="el-table__cell is-leaf"><div class="cell">杩愯鏃堕棿(澶�)</div></td> - <td class="el-table__cell is-leaf"><div class="cell" v-if="cache.info">{{ cache.info.uptime_in_days }}</div></td> - <td class="el-table__cell is-leaf"><div class="cell">浣跨敤鍐呭瓨</div></td> - <td class="el-table__cell is-leaf"><div class="cell" v-if="cache.info">{{ cache.info.used_memory_human }}</div></td> - <td class="el-table__cell is-leaf"><div class="cell">浣跨敤CPU</div></td> - <td class="el-table__cell is-leaf"><div class="cell" v-if="cache.info">{{ parseFloat(cache.info.used_cpu_user_children).toFixed(2) }}</div></td> - <td class="el-table__cell is-leaf"><div class="cell">鍐呭瓨閰嶇疆</div></td> - <td class="el-table__cell is-leaf"><div class="cell" v-if="cache.info">{{ cache.info.maxmemory_human }}</div></td> - </tr> - <tr> - <td class="el-table__cell is-leaf"><div class="cell">AOF鏄惁寮�鍚�</div></td> - <td class="el-table__cell is-leaf"><div class="cell" v-if="cache.info">{{ cache.info.aof_enabled == "0" ? "鍚�" : "鏄�" }}</div></td> - <td class="el-table__cell is-leaf"><div class="cell">RDB鏄惁鎴愬姛</div></td> - <td class="el-table__cell is-leaf"><div class="cell" v-if="cache.info">{{ cache.info.rdb_last_bgsave_status }}</div></td> - <td class="el-table__cell is-leaf"><div class="cell">Key鏁伴噺</div></td> - <td class="el-table__cell is-leaf"><div class="cell" v-if="cache.dbSize">{{ cache.dbSize }} </div></td> - <td class="el-table__cell is-leaf"><div class="cell">缃戠粶鍏ュ彛/鍑哄彛</div></td> - <td class="el-table__cell is-leaf"><div class="cell" v-if="cache.info">{{ cache.info.instantaneous_input_kbps }}kps/{{cache.info.instantaneous_output_kbps}}kps</div></td> - </tr> - </tbody> - </table> - </div> - </el-card> - </el-col> - - <el-col :span="12" class="card-box"> - <el-card> - <div slot="header"><span>鍛戒护缁熻</span></div> - <div class="el-table el-table--enable-row-hover el-table--medium"> - <div ref="commandstats" style="height: 420px" /> - </div> - </el-card> - </el-col> - - <el-col :span="12" class="card-box"> - <el-card> - <div slot="header"> - <span>鍐呭瓨淇℃伅</span> - </div> - <div class="el-table el-table--enable-row-hover el-table--medium"> - <div ref="usedmemory" style="height: 420px" /> - </div> - </el-card> - </el-col> - </el-row> - </div> -</template> - -<script> -import { getCache } from "@/api/monitor/cache"; -import * as echarts from "echarts"; - -export default { - name: "Cache", - data() { - return { - // 缁熻鍛戒护淇℃伅 - commandstats: null, - // 浣跨敤鍐呭瓨 - usedmemory: null, - // cache淇℃伅 - cache: [] - } - }, - created() { - this.getList(); - this.openLoading(); - }, - methods: { - /** 鏌ョ紦瀛樿淇℃伅 */ - getList() { - getCache().then((response) => { - this.cache = response.data; - this.$modal.closeLoading(); - - this.commandstats = echarts.init(this.$refs.commandstats, "macarons"); - this.commandstats.setOption({ - tooltip: { - trigger: "item", - formatter: "{a} <br/>{b} : {c} ({d}%)", - }, - series: [ - { - name: "鍛戒护", - type: "pie", - roseType: "radius", - radius: [15, 95], - center: ["50%", "38%"], - data: response.data.commandStats, - animationEasing: "cubicInOut", - animationDuration: 1000, - } - ] - }); - this.usedmemory = echarts.init(this.$refs.usedmemory, "macarons"); - this.usedmemory.setOption({ - tooltip: { - formatter: "{b} <br/>{a} : " + this.cache.info.used_memory_human, - }, - series: [ - { - name: "宄板��", - type: "gauge", - min: 0, - max: 1000, - detail: { - formatter: this.cache.info.used_memory_human, - }, - data: [ - { - value: parseFloat(this.cache.info.used_memory_human), - name: "鍐呭瓨娑堣��", - } - ] - } - ] - }); - }); - }, - // 鎵撳紑鍔犺浇灞� - openLoading() { - this.$modal.loading("姝e湪鍔犺浇缂撳瓨鐩戞帶鏁版嵁锛岃绋嶅�欙紒"); - } - } -}; -</script> diff --git a/src/views/monitor/cache/list.vue b/src/views/monitor/cache/list.vue deleted file mode 100644 index a1e7955..0000000 --- a/src/views/monitor/cache/list.vue +++ /dev/null @@ -1,241 +0,0 @@ -<template> - <div class="app-container"> - <el-row :gutter="10"> - <el-col :span="8"> - <el-card style="height: calc(100vh - 125px)"> - <div slot="header"> - <span>缂撳瓨鍒楄〃</span> - <el-button - style="float: right; padding: 3px 0" - type="text" - icon="el-icon-refresh-right" - @click="refreshCacheNames()" - ></el-button> - </div> - <el-table - v-loading="loading" - :data="cacheNames" - :height="tableHeight" - highlight-current-row - @row-click="getCacheKeys" - style="width: 100%" - > - <el-table-column - label="搴忓彿" - width="60" - type="index" - ></el-table-column> - - <el-table-column - label="缂撳瓨鍚嶇О" - align="center" - prop="cacheName" - :show-overflow-tooltip="true" - :formatter="nameFormatter" - ></el-table-column> - - <el-table-column - label="澶囨敞" - align="center" - prop="remark" - :show-overflow-tooltip="true" - /> - <el-table-column - label="鎿嶄綔" - width="60" - align="center" - class-name="small-padding fixed-width" - > - <template slot-scope="scope"> - <el-button - size="mini" - type="text" - icon="el-icon-delete" - @click="handleClearCacheName(scope.row)" - ></el-button> - </template> - </el-table-column> - </el-table> - </el-card> - </el-col> - - <el-col :span="8"> - <el-card style="height: calc(100vh - 125px)"> - <div slot="header"> - <span>閿悕鍒楄〃</span> - <el-button - style="float: right; padding: 3px 0" - type="text" - icon="el-icon-refresh-right" - @click="refreshCacheKeys()" - ></el-button> - </div> - <el-table - v-loading="subLoading" - :data="cacheKeys" - :height="tableHeight" - highlight-current-row - @row-click="handleCacheValue" - style="width: 100%" - > - <el-table-column - label="搴忓彿" - width="60" - type="index" - ></el-table-column> - <el-table-column - label="缂撳瓨閿悕" - align="center" - :show-overflow-tooltip="true" - :formatter="keyFormatter" - > - </el-table-column> - <el-table-column - label="鎿嶄綔" - width="60" - align="center" - class-name="small-padding fixed-width" - > - <template slot-scope="scope"> - <el-button - size="mini" - type="text" - icon="el-icon-delete" - @click="handleClearCacheKey(scope.row)" - ></el-button> - </template> - </el-table-column> - </el-table> - </el-card> - </el-col> - - <el-col :span="8"> - <el-card :bordered="false" style="height: calc(100vh - 125px)"> - <div slot="header"> - <span>缂撳瓨鍐呭</span> - <el-button - style="float: right; padding: 3px 0" - type="text" - icon="el-icon-refresh-right" - @click="handleClearCacheAll()" - >娓呯悊鍏ㄩ儴</el-button - > - </div> - <el-form :model="cacheForm"> - <el-row :gutter="32"> - <el-col :offset="1" :span="22"> - <el-form-item label="缂撳瓨鍚嶇О:" prop="cacheName"> - <el-input v-model="cacheForm.cacheName" :readOnly="true" /> - </el-form-item> - </el-col> - <el-col :offset="1" :span="22"> - <el-form-item label="缂撳瓨閿悕:" prop="cacheKey"> - <el-input v-model="cacheForm.cacheKey" :readOnly="true" /> - </el-form-item> - </el-col> - <el-col :offset="1" :span="22"> - <el-form-item label="缂撳瓨鍐呭:" prop="cacheValue"> - <el-input - v-model="cacheForm.cacheValue" - type="textarea" - :rows="8" - :readOnly="true" - /> - </el-form-item> - </el-col> - </el-row> - </el-form> - </el-card> - </el-col> - </el-row> - </div> -</template> - -<script> -import { listCacheName, listCacheKey, getCacheValue, clearCacheName, clearCacheKey, clearCacheAll } from "@/api/monitor/cache"; - -export default { - name: "CacheList", - data() { - return { - cacheNames: [], - cacheKeys: [], - cacheForm: {}, - loading: true, - subLoading: false, - nowCacheName: "", - tableHeight: window.innerHeight - 200 - }; - }, - created() { - this.getCacheNames(); - }, - methods: { - /** 鏌ヨ缂撳瓨鍚嶇О鍒楄〃 */ - getCacheNames() { - this.loading = true; - listCacheName().then(response => { - this.cacheNames = response.data; - this.loading = false; - }); - }, - /** 鍒锋柊缂撳瓨鍚嶇О鍒楄〃 */ - refreshCacheNames() { - this.getCacheNames(); - this.$modal.msgSuccess("鍒锋柊缂撳瓨鍒楄〃鎴愬姛"); - }, - /** 娓呯悊鎸囧畾鍚嶇О缂撳瓨 */ - handleClearCacheName(row) { - clearCacheName(row.cacheName).then(response => { - this.$modal.msgSuccess("娓呯悊缂撳瓨鍚嶇О[" + this.nowCacheName + "]鎴愬姛"); - this.getCacheKeys(); - }); - }, - /** 鏌ヨ缂撳瓨閿悕鍒楄〃 */ - getCacheKeys(row) { - const cacheName = row !== undefined ? row.cacheName : this.nowCacheName; - if (cacheName === "") { - return; - } - this.subLoading = true; - listCacheKey(cacheName).then(response => { - this.cacheKeys = response.data; - this.subLoading = false; - this.nowCacheName = cacheName; - }); - }, - /** 鍒锋柊缂撳瓨閿悕鍒楄〃 */ - refreshCacheKeys() { - this.getCacheKeys(); - this.$modal.msgSuccess("鍒锋柊閿悕鍒楄〃鎴愬姛"); - }, - /** 娓呯悊鎸囧畾閿悕缂撳瓨 */ - handleClearCacheKey(cacheKey) { - clearCacheKey(cacheKey).then(response => { - this.$modal.msgSuccess("娓呯悊缂撳瓨閿悕[" + cacheKey + "]鎴愬姛"); - this.getCacheKeys(); - }); - }, - /** 鍒楄〃鍓嶇紑鍘婚櫎 */ - nameFormatter(row) { - return row.cacheName.replace(":", ""); - }, - /** 閿悕鍓嶇紑鍘婚櫎 */ - keyFormatter(cacheKey) { - return cacheKey.replace(this.nowCacheName, ""); - }, - /** 鏌ヨ缂撳瓨鍐呭璇︾粏 */ - handleCacheValue(cacheKey) { - getCacheValue(this.nowCacheName, cacheKey).then(response => { - this.cacheForm = response.data; - }); - }, - /** 娓呯悊鍏ㄩ儴缂撳瓨 */ - handleClearCacheAll() { - clearCacheAll().then(response => { - this.$modal.msgSuccess("娓呯悊鍏ㄩ儴缂撳瓨鎴愬姛"); - }); - } - }, -}; -</script> diff --git a/src/views/monitor/druid/index.vue b/src/views/monitor/druid/index.vue deleted file mode 100644 index c6ad585..0000000 --- a/src/views/monitor/druid/index.vue +++ /dev/null @@ -1,15 +0,0 @@ -<template> - <i-frame :src="url" /> -</template> -<script> -import iFrame from "@/components/iFrame/index"; -export default { - name: "Druid", - components: { iFrame }, - data() { - return { - url: process.env.VUE_APP_BASE_API + "/druid/login.html" - }; - }, -}; -</script> diff --git a/src/views/monitor/job/index.vue b/src/views/monitor/job/index.vue deleted file mode 100644 index 31108b5..0000000 --- a/src/views/monitor/job/index.vue +++ /dev/null @@ -1,515 +0,0 @@ -<template> - <div class="app-container"> - <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px"> - <el-form-item label="浠诲姟鍚嶇О" prop="jobName"> - <el-input - v-model="queryParams.jobName" - placeholder="璇疯緭鍏ヤ换鍔″悕绉�" - clearable - @keyup.enter.native="handleQuery" - /> - </el-form-item> - <el-form-item label="浠诲姟缁勫悕" prop="jobGroup"> - <el-select v-model="queryParams.jobGroup" placeholder="璇烽�夋嫨浠诲姟缁勫悕" clearable> - <el-option - v-for="dict in dict.type.sys_job_group" - :key="dict.value" - :label="dict.label" - :value="dict.value" - /> - </el-select> - </el-form-item> - <el-form-item label="浠诲姟鐘舵��" prop="status"> - <el-select v-model="queryParams.status" placeholder="璇烽�夋嫨浠诲姟鐘舵��" clearable> - <el-option - v-for="dict in dict.type.sys_job_status" - :key="dict.value" - :label="dict.label" - :value="dict.value" - /> - </el-select> - </el-form-item> - <el-form-item> - <el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">鎼滅储</el-button> - <el-button icon="el-icon-refresh" size="mini" @click="resetQuery">閲嶇疆</el-button> - </el-form-item> - </el-form> - - <el-row :gutter="10" class="mb8"> - <el-col :span="1.5"> - <el-button - type="primary" - plain - icon="el-icon-plus" - size="mini" - @click="handleAdd" - v-hasPermi="['monitor:job:add']" - >鏂板</el-button> - </el-col> - <el-col :span="1.5"> - <el-button - type="success" - plain - icon="el-icon-edit" - size="mini" - :disabled="single" - @click="handleUpdate" - v-hasPermi="['monitor:job:edit']" - >淇敼</el-button> - </el-col> - <el-col :span="1.5"> - <el-button - type="danger" - plain - icon="el-icon-delete" - size="mini" - :disabled="multiple" - @click="handleDelete" - v-hasPermi="['monitor:job:remove']" - >鍒犻櫎</el-button> - </el-col> - <el-col :span="1.5"> - <el-button - type="warning" - plain - icon="el-icon-download" - size="mini" - @click="handleExport" - v-hasPermi="['monitor:job:export']" - >瀵煎嚭</el-button> - </el-col> - <el-col :span="1.5"> - <el-button - type="info" - plain - icon="el-icon-s-operation" - size="mini" - @click="handleJobLog" - v-hasPermi="['monitor:job:query']" - >鏃ュ織</el-button> - </el-col> - <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar> - </el-row> - - <el-table v-loading="loading" :data="jobList" @selection-change="handleSelectionChange"> - <el-table-column type="selection" width="55" align="center" /> - <el-table-column label="浠诲姟缂栧彿" width="100" align="center" prop="jobId" /> - <el-table-column label="浠诲姟鍚嶇О" align="center" prop="jobName" :show-overflow-tooltip="true" /> - <el-table-column label="浠诲姟缁勫悕" align="center" prop="jobGroup"> - <template slot-scope="scope"> - <dict-tag :options="dict.type.sys_job_group" :value="scope.row.jobGroup"/> - </template> - </el-table-column> - <el-table-column label="璋冪敤鐩爣瀛楃涓�" align="center" prop="invokeTarget" :show-overflow-tooltip="true" /> - <el-table-column label="cron鎵ц琛ㄨ揪寮�" align="center" prop="cronExpression" :show-overflow-tooltip="true" /> - <el-table-column label="鐘舵��" align="center"> - <template slot-scope="scope"> - <el-switch - v-model="scope.row.status" - active-value="0" - inactive-value="1" - @change="handleStatusChange(scope.row)" - ></el-switch> - </template> - </el-table-column> - <el-table-column label="鎿嶄綔" align="center" class-name="small-padding fixed-width"> - <template slot-scope="scope"> - <el-button - size="mini" - type="text" - icon="el-icon-edit" - @click="handleUpdate(scope.row)" - v-hasPermi="['monitor:job:edit']" - >淇敼</el-button> - <el-button - size="mini" - type="text" - icon="el-icon-delete" - @click="handleDelete(scope.row)" - v-hasPermi="['monitor:job:remove']" - >鍒犻櫎</el-button> - <el-dropdown size="mini" @command="(command) => handleCommand(command, scope.row)" v-hasPermi="['monitor:job:changeStatus', 'monitor:job:query']"> - <el-button size="mini" type="text" icon="el-icon-d-arrow-right">鏇村</el-button> - <el-dropdown-menu slot="dropdown"> - <el-dropdown-item command="handleRun" icon="el-icon-caret-right" - v-hasPermi="['monitor:job:changeStatus']">鎵ц涓�娆�</el-dropdown-item> - <el-dropdown-item command="handleView" icon="el-icon-view" - v-hasPermi="['monitor:job:query']">浠诲姟璇︾粏</el-dropdown-item> - <el-dropdown-item command="handleJobLog" icon="el-icon-s-operation" - v-hasPermi="['monitor:job:query']">璋冨害鏃ュ織</el-dropdown-item> - </el-dropdown-menu> - </el-dropdown> - </template> - </el-table-column> - </el-table> - - <pagination - v-show="total>0" - :total="total" - :page.sync="queryParams.pageNum" - :limit.sync="queryParams.pageSize" - @pagination="getList" - /> - - <!-- 娣诲姞鎴栦慨鏀瑰畾鏃朵换鍔″璇濇 --> - <el-dialog :title="title" :visible.sync="open" width="800px" append-to-body> - <el-form ref="form" :model="form" :rules="rules" label-width="120px"> - <el-row> - <el-col :span="12"> - <el-form-item label="浠诲姟鍚嶇О" prop="jobName"> - <el-input v-model="form.jobName" placeholder="璇疯緭鍏ヤ换鍔″悕绉�" /> - </el-form-item> - </el-col> - <el-col :span="12"> - <el-form-item label="浠诲姟鍒嗙粍" prop="jobGroup"> - <el-select v-model="form.jobGroup" placeholder="璇烽�夋嫨浠诲姟鍒嗙粍"> - <el-option - v-for="dict in dict.type.sys_job_group" - :key="dict.value" - :label="dict.label" - :value="dict.value" - ></el-option> - </el-select> - </el-form-item> - </el-col> - <el-col :span="24"> - <el-form-item prop="invokeTarget"> - <span slot="label"> - 璋冪敤鏂规硶 - <el-tooltip placement="top"> - <div slot="content"> - Bean璋冪敤绀轰緥锛歳yTask.ryParams('ry') - <br />Class绫昏皟鐢ㄧず渚嬶細com.ruoyi.quartz.task.RyTask.ryParams('ry') - <br />鍙傛暟璇存槑锛氭敮鎸佸瓧绗︿覆锛屽竷灏旂被鍨嬶紝闀挎暣鍨嬶紝娴偣鍨嬶紝鏁村瀷 - </div> - <i class="el-icon-question"></i> - </el-tooltip> - </span> - <el-input v-model="form.invokeTarget" placeholder="璇疯緭鍏ヨ皟鐢ㄧ洰鏍囧瓧绗︿覆" /> - </el-form-item> - </el-col> - <el-col :span="24"> - <el-form-item label="cron琛ㄨ揪寮�" prop="cronExpression"> - <el-input v-model="form.cronExpression" placeholder="璇疯緭鍏ron鎵ц琛ㄨ揪寮�"> - <template slot="append"> - <el-button type="primary" @click="handleShowCron"> - 鐢熸垚琛ㄨ揪寮� - <i class="el-icon-time el-icon--right"></i> - </el-button> - </template> - </el-input> - </el-form-item> - </el-col> - <el-col :span="24"> - <el-form-item label="鎵ц绛栫暐" prop="misfirePolicy"> - <el-radio-group v-model="form.misfirePolicy" size="small"> - <el-radio-button label="1">绔嬪嵆鎵ц</el-radio-button> - <el-radio-button label="2">鎵ц涓�娆�</el-radio-button> - <el-radio-button label="3">鏀惧純鎵ц</el-radio-button> - </el-radio-group> - </el-form-item> - </el-col> - <el-col :span="12"> - <el-form-item label="鏄惁骞跺彂" prop="concurrent"> - <el-radio-group v-model="form.concurrent" size="small"> - <el-radio-button label="0">鍏佽</el-radio-button> - <el-radio-button label="1">绂佹</el-radio-button> - </el-radio-group> - </el-form-item> - </el-col> - <el-col :span="12"> - <el-form-item label="鐘舵��"> - <el-radio-group v-model="form.status"> - <el-radio - v-for="dict in dict.type.sys_job_status" - :key="dict.value" - :label="dict.value" - >{{dict.label}}</el-radio> - </el-radio-group> - </el-form-item> - </el-col> - </el-row> - </el-form> - <div slot="footer" class="dialog-footer"> - <el-button type="primary" @click="submitForm">纭� 瀹�</el-button> - <el-button @click="cancel">鍙� 娑�</el-button> - </div> - </el-dialog> - - <el-dialog title="Cron琛ㄨ揪寮忕敓鎴愬櫒" :visible.sync="openCron" append-to-body destroy-on-close class="scrollbar"> - <crontab @hide="openCron=false" @fill="crontabFill" :expression="expression"></crontab> - </el-dialog> - - <!-- 浠诲姟鏃ュ織璇︾粏 --> - <el-dialog title="浠诲姟璇︾粏" :visible.sync="openView" width="700px" append-to-body> - <el-form ref="form" :model="form" label-width="120px" size="mini"> - <el-row> - <el-col :span="12"> - <el-form-item label="浠诲姟缂栧彿锛�">{{ form.jobId }}</el-form-item> - <el-form-item label="浠诲姟鍚嶇О锛�">{{ form.jobName }}</el-form-item> - </el-col> - <el-col :span="12"> - <el-form-item label="浠诲姟鍒嗙粍锛�">{{ jobGroupFormat(form) }}</el-form-item> - <el-form-item label="鍒涘缓鏃堕棿锛�">{{ form.createTime }}</el-form-item> - </el-col> - <el-col :span="12"> - <el-form-item label="cron琛ㄨ揪寮忥細">{{ form.cronExpression }}</el-form-item> - </el-col> - <el-col :span="12"> - <el-form-item label="涓嬫鎵ц鏃堕棿锛�">{{ formatTime(form.nextValidTime) }}</el-form-item> - </el-col> - <el-col :span="24"> - <el-form-item label="璋冪敤鐩爣鏂规硶锛�">{{ form.invokeTarget }}</el-form-item> - </el-col> - <el-col :span="12"> - <el-form-item label="浠诲姟鐘舵�侊細"> - <div v-if="form.status == 0">姝e父</div> - <div v-else-if="form.status == 1">澶辫触</div> - </el-form-item> - </el-col> - <el-col :span="12"> - <el-form-item label="鏄惁骞跺彂锛�"> - <div v-if="form.concurrent == 0">鍏佽</div> - <div v-else-if="form.concurrent == 1">绂佹</div> - </el-form-item> - </el-col> - <el-col :span="12"> - <el-form-item label="鎵ц绛栫暐锛�"> - <div v-if="form.misfirePolicy == 0">榛樿绛栫暐</div> - <div v-else-if="form.misfirePolicy == 1">绔嬪嵆鎵ц</div> - <div v-else-if="form.misfirePolicy == 2">鎵ц涓�娆�</div> - <div v-else-if="form.misfirePolicy == 3">鏀惧純鎵ц</div> - </el-form-item> - </el-col> - </el-row> - </el-form> - <div slot="footer" class="dialog-footer"> - <el-button @click="openView = false">鍏� 闂�</el-button> - </div> - </el-dialog> - </div> -</template> - -<script> -import { listJob, getJob, delJob, addJob, updateJob, runJob, changeJobStatus } from "@/api/monitor/job"; -import Crontab from '@/components/Crontab' -import * as echarts from "echarts"; - - -export default { - components: { Crontab }, - name: "Job", - dicts: ['sys_job_group', 'sys_job_status'], - data() { - return { - // 閬僵灞� - loading: true, - // 閫変腑鏁扮粍 - ids: [], - // 闈炲崟涓鐢� - single: true, - // 闈炲涓鐢� - multiple: true, - // 鏄剧ず鎼滅储鏉′欢 - showSearch: true, - // 鎬绘潯鏁� - total: 0, - // 瀹氭椂浠诲姟琛ㄦ牸鏁版嵁 - jobList: [], - // 寮瑰嚭灞傛爣棰� - title: "", - // 鏄惁鏄剧ず寮瑰嚭灞� - open: false, - // 鏄惁鏄剧ず璇︾粏寮瑰嚭灞� - openView: false, - // 鏄惁鏄剧ずCron琛ㄨ揪寮忓脊鍑哄眰 - openCron: false, - // 浼犲叆鐨勮〃杈惧紡 - expression: "", - // 鏌ヨ鍙傛暟 - queryParams: { - pageNum: 1, - pageSize: 10, - jobName: undefined, - jobGroup: undefined, - status: undefined - }, - // 琛ㄥ崟鍙傛暟 - form: {}, - // 琛ㄥ崟鏍¢獙 - rules: { - jobName: [ - { required: true, message: "浠诲姟鍚嶇О涓嶈兘涓虹┖", trigger: "blur" } - ], - invokeTarget: [ - { required: true, message: "璋冪敤鐩爣瀛楃涓蹭笉鑳戒负绌�", trigger: "blur" } - ], - cronExpression: [ - { required: true, message: "cron鎵ц琛ㄨ揪寮忎笉鑳戒负绌�", trigger: "blur" } - ] - } - }; - }, - created() { - this.getList(); - }, - methods: { - /** 鏌ヨ瀹氭椂浠诲姟鍒楄〃 */ - getList() { - this.loading = true; - listJob(this.queryParams).then(response => { - this.jobList = response.rows; - this.total = response.total; - this.loading = false; - }); - }, - // 浠诲姟缁勫悕瀛楀吀缈昏瘧 - jobGroupFormat(row, column) { - return this.selectDictLabel(this.dict.type.sys_job_group, row.jobGroup); - }, - // 鍙栨秷鎸夐挳 - cancel() { - this.open = false; - this.reset(); - }, - // 琛ㄥ崟閲嶇疆 - reset() { - this.form = { - jobId: undefined, - jobName: undefined, - jobGroup: undefined, - invokeTarget: undefined, - cronExpression: undefined, - misfirePolicy: 1, - concurrent: 1, - status: "0" - }; - this.resetForm("form"); - }, - /** 鎼滅储鎸夐挳鎿嶄綔 */ - handleQuery() { - this.queryParams.pageNum = 1; - this.getList(); - }, - /** 閲嶇疆鎸夐挳鎿嶄綔 */ - resetQuery() { - this.resetForm("queryForm"); - this.handleQuery(); - }, - // 澶氶�夋閫変腑鏁版嵁 - handleSelectionChange(selection) { - this.ids = selection.map(item => item.jobId); - this.single = selection.length != 1; - this.multiple = !selection.length; - }, - // 鏇村鎿嶄綔瑙﹀彂 - handleCommand(command, row) { - switch (command) { - case "handleRun": - this.handleRun(row); - break; - case "handleView": - this.handleView(row); - break; - case "handleJobLog": - this.handleJobLog(row); - break; - default: - break; - } - }, - // 浠诲姟鐘舵�佷慨鏀� - handleStatusChange(row) { - let text = row.status === "0" ? "鍚敤" : "鍋滅敤"; - this.$modal.confirm('纭瑕�"' + text + '""' + row.jobName + '"浠诲姟鍚楋紵').then(function() { - return changeJobStatus(row.jobId, row.status); - }).then(() => { - this.$modal.msgSuccess(text + "鎴愬姛"); - }).catch(function() { - row.status = row.status === "0" ? "1" : "0"; - }); - }, - /* 绔嬪嵆鎵ц涓�娆� */ - handleRun(row) { - this.$modal.confirm('纭瑕佺珛鍗虫墽琛屼竴娆�"' + row.jobName + '"浠诲姟鍚楋紵').then(function() { - return runJob(row.jobId, row.jobGroup); - }).then(() => { - this.$modal.msgSuccess("鎵ц鎴愬姛"); - }).catch(() => {}); - }, - /** 浠诲姟璇︾粏淇℃伅 */ - handleView(row) { - getJob(row.jobId).then(response => { - this.form = response.data; - this.openView = true; - }); - }, - /** cron琛ㄨ揪寮忔寜閽搷浣� */ - handleShowCron() { - this.expression = this.form.cronExpression; - this.openCron = true; - }, - /** 纭畾鍚庡洖浼犲�� */ - crontabFill(value) { - this.form.cronExpression = value; - }, - /** 浠诲姟鏃ュ織鍒楄〃鏌ヨ */ - handleJobLog(row) { - const jobId = row.jobId || 0; - this.$router.push('/monitor/job-log/index/' + jobId) - }, - /** 鏂板鎸夐挳鎿嶄綔 */ - handleAdd() { - this.reset(); - this.open = true; - this.title = "娣诲姞浠诲姟"; - }, - /** 淇敼鎸夐挳鎿嶄綔 */ - handleUpdate(row) { - this.reset(); - const jobId = row.jobId || this.ids; - getJob(jobId).then(response => { - this.form = response.data; - this.open = true; - this.title = "淇敼浠诲姟"; - }); - }, - /** 鎻愪氦鎸夐挳 */ - submitForm: function() { - this.$refs["form"].validate(valid => { - if (valid) { - if (this.form.jobId != undefined) { - updateJob(this.form).then(response => { - this.$modal.msgSuccess("淇敼鎴愬姛"); - this.open = false; - this.getList(); - }); - } else { - addJob(this.form).then(response => { - this.$modal.msgSuccess("鏂板鎴愬姛"); - this.open = false; - this.getList(); - }); - } - } - }); - }, - /** 鍒犻櫎鎸夐挳鎿嶄綔 */ - handleDelete(row) { - const jobIds = row.jobId || this.ids; - this.$modal.confirm('鏄惁纭鍒犻櫎瀹氭椂浠诲姟缂栧彿涓�"' + jobIds + '"鐨勬暟鎹」锛�').then(function() { - return delJob(jobIds); - }).then(() => { - this.getList(); - this.$modal.msgSuccess("鍒犻櫎鎴愬姛"); - }).catch(() => {}); - }, - /** 瀵煎嚭鎸夐挳鎿嶄綔 */ - handleExport() { - this.download('monitor/job/export', { - ...this.queryParams - }, `job_${new Date().getTime()}.xlsx`) - } - } -}; -</script> diff --git a/src/views/monitor/job/log.vue b/src/views/monitor/job/log.vue deleted file mode 100644 index a4d99e9..0000000 --- a/src/views/monitor/job/log.vue +++ /dev/null @@ -1,295 +0,0 @@ -<template> - <div class="app-container"> - <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px"> - <el-form-item label="浠诲姟鍚嶇О" prop="jobName"> - <el-input - v-model="queryParams.jobName" - placeholder="璇疯緭鍏ヤ换鍔″悕绉�" - clearable - style="width: 240px" - @keyup.enter.native="handleQuery" - /> - </el-form-item> - <el-form-item label="浠诲姟缁勫悕" prop="jobGroup"> - <el-select - v-model="queryParams.jobGroup" - placeholder="璇烽�夋嫨浠诲姟缁勫悕" - clearable - style="width: 240px" - > - <el-option - v-for="dict in dict.type.sys_job_group" - :key="dict.value" - :label="dict.label" - :value="dict.value" - /> - </el-select> - </el-form-item> - <el-form-item label="鎵ц鐘舵��" prop="status"> - <el-select - v-model="queryParams.status" - placeholder="璇烽�夋嫨鎵ц鐘舵��" - clearable - style="width: 240px" - > - <el-option - v-for="dict in dict.type.sys_common_status" - :key="dict.value" - :label="dict.label" - :value="dict.value" - /> - </el-select> - </el-form-item> - <el-form-item label="鎵ц鏃堕棿"> - <el-date-picker - v-model="dateRange" - style="width: 240px" - value-format="yyyy-MM-dd" - type="daterange" - range-separator="-" - start-placeholder="寮�濮嬫棩鏈�" - end-placeholder="缁撴潫鏃ユ湡" - ></el-date-picker> - </el-form-item> - <el-form-item> - <el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">鎼滅储</el-button> - <el-button icon="el-icon-refresh" size="mini" @click="resetQuery">閲嶇疆</el-button> - </el-form-item> - </el-form> - - <el-row :gutter="10" class="mb8"> - <el-col :span="1.5"> - <el-button - type="danger" - plain - icon="el-icon-delete" - size="mini" - :disabled="multiple" - @click="handleDelete" - v-hasPermi="['monitor:job:remove']" - >鍒犻櫎</el-button> - </el-col> - <el-col :span="1.5"> - <el-button - type="danger" - plain - icon="el-icon-delete" - size="mini" - @click="handleClean" - v-hasPermi="['monitor:job:remove']" - >娓呯┖</el-button> - </el-col> - <el-col :span="1.5"> - <el-button - type="warning" - plain - icon="el-icon-download" - size="mini" - @click="handleExport" - v-hasPermi="['monitor:job:export']" - >瀵煎嚭</el-button> - </el-col> - <el-col :span="1.5"> - <el-button - type="warning" - plain - icon="el-icon-close" - size="mini" - @click="handleClose" - >鍏抽棴</el-button> - </el-col> - <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar> - </el-row> - - <el-table v-loading="loading" :data="jobLogList" @selection-change="handleSelectionChange"> - <el-table-column type="selection" width="55" align="center" /> - <el-table-column label="鏃ュ織缂栧彿" width="80" align="center" prop="jobLogId" /> - <el-table-column label="浠诲姟鍚嶇О" align="center" prop="jobName" :show-overflow-tooltip="true" /> - <el-table-column label="浠诲姟缁勫悕" align="center" prop="jobGroup" :show-overflow-tooltip="true"> - <template slot-scope="scope"> - <dict-tag :options="dict.type.sys_job_group" :value="scope.row.jobGroup"/> - </template> - </el-table-column> - <el-table-column label="璋冪敤鐩爣瀛楃涓�" align="center" prop="invokeTarget" :show-overflow-tooltip="true" /> - <el-table-column label="鏃ュ織淇℃伅" align="center" prop="jobMessage" :show-overflow-tooltip="true" /> - <el-table-column label="鎵ц鐘舵��" align="center" prop="status"> - <template slot-scope="scope"> - <dict-tag :options="dict.type.sys_common_status" :value="scope.row.status"/> - </template> - </el-table-column> - <el-table-column label="鎵ц鏃堕棿" align="center" prop="createTime" width="180"> - <template slot-scope="scope"> - <span>{{ formatTime(scope.row.createTime) }}</span> - </template> - </el-table-column> - <el-table-column label="鎿嶄綔" align="center" class-name="small-padding fixed-width"> - <template slot-scope="scope"> - <el-button - size="mini" - type="text" - icon="el-icon-view" - @click="handleView(scope.row)" - v-hasPermi="['monitor:job:query']" - >璇︾粏</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-dialog title="璋冨害鏃ュ織璇︾粏" :visible.sync="open" width="700px" append-to-body> - <el-form ref="form" :model="form" label-width="100px" size="mini"> - <el-row> - <el-col :span="12"> - <el-form-item label="鏃ュ織搴忓彿锛�">{{ form.jobLogId }}</el-form-item> - <el-form-item label="浠诲姟鍚嶇О锛�">{{ form.jobName }}</el-form-item> - </el-col> - <el-col :span="12"> - <el-form-item label="浠诲姟鍒嗙粍锛�">{{ form.jobGroup }}</el-form-item> - <el-form-item label="鎵ц鏃堕棿锛�">{{ form.createTime }}</el-form-item> - </el-col> - <el-col :span="24"> - <el-form-item label="璋冪敤鏂规硶锛�">{{ form.invokeTarget }}</el-form-item> - </el-col> - <el-col :span="24"> - <el-form-item label="鏃ュ織淇℃伅锛�">{{ form.jobMessage }}</el-form-item> - </el-col> - <el-col :span="24"> - <el-form-item label="鎵ц鐘舵�侊細"> - <div v-if="form.status == 0">姝e父</div> - <div v-else-if="form.status == 1">澶辫触</div> - </el-form-item> - </el-col> - <el-col :span="24"> - <el-form-item label="寮傚父淇℃伅锛�" v-if="form.status == 1">{{ form.exceptionInfo }}</el-form-item> - </el-col> - </el-row> - </el-form> - <div slot="footer" class="dialog-footer"> - <el-button @click="open = false">鍏� 闂�</el-button> - </div> - </el-dialog> - </div> -</template> - -<script> -import { getJob} from "@/api/monitor/job"; -import { listJobLog, delJobLog, cleanJobLog } from "@/api/monitor/jobLog"; - -export default { - name: "JobLog", - dicts: ['sys_common_status', 'sys_job_group'], - data() { - return { - // 閬僵灞� - loading: true, - // 閫変腑鏁扮粍 - ids: [], - // 闈炲涓鐢� - multiple: true, - // 鏄剧ず鎼滅储鏉′欢 - showSearch: true, - // 鎬绘潯鏁� - total: 0, - // 璋冨害鏃ュ織琛ㄦ牸鏁版嵁 - jobLogList: [], - // 鏄惁鏄剧ず寮瑰嚭灞� - open: false, - // 鏃ユ湡鑼冨洿 - dateRange: [], - // 琛ㄥ崟鍙傛暟 - form: {}, - // 鏌ヨ鍙傛暟 - queryParams: { - pageNum: 1, - pageSize: 10, - jobName: undefined, - jobGroup: undefined, - status: undefined - } - }; - }, - created() { - const jobId = this.$route.params && this.$route.params.jobId; - if (jobId !== undefined && jobId != 0) { - getJob(jobId).then(response => { - this.queryParams.jobName = response.data.jobName; - this.queryParams.jobGroup = response.data.jobGroup; - this.getList(); - }); - } else { - this.getList(); - } - }, - methods: { - /** 鏌ヨ璋冨害鏃ュ織鍒楄〃 */ - getList() { - this.loading = true; - listJobLog(this.addDateRange(this.queryParams, this.dateRange)).then(response => { - this.jobLogList = response.rows; - this.total = response.total; - this.loading = false; - } - ); - }, - // 杩斿洖鎸夐挳 - handleClose() { - const obj = { path: "/monitor/job" }; - this.$tab.closeOpenPage(obj); - }, - /** 鎼滅储鎸夐挳鎿嶄綔 */ - handleQuery() { - this.queryParams.pageNum = 1; - this.getList(); - }, - /** 閲嶇疆鎸夐挳鎿嶄綔 */ - resetQuery() { - this.dateRange = []; - this.resetForm("queryForm"); - this.handleQuery(); - }, - // 澶氶�夋閫変腑鏁版嵁 - handleSelectionChange(selection) { - this.ids = selection.map(item => item.jobLogId); - this.multiple = !selection.length; - }, - /** 璇︾粏鎸夐挳鎿嶄綔 */ - handleView(row) { - this.open = true; - this.form = row; - }, - /** 鍒犻櫎鎸夐挳鎿嶄綔 */ - handleDelete(row) { - const jobLogIds = this.ids; - this.$modal.confirm('鏄惁纭鍒犻櫎璋冨害鏃ュ織缂栧彿涓�"' + jobLogIds + '"鐨勬暟鎹」锛�').then(function() { - return delJobLog(jobLogIds); - }).then(() => { - this.getList(); - this.$modal.msgSuccess("鍒犻櫎鎴愬姛"); - }).catch(() => {}); - }, - /** 娓呯┖鎸夐挳鎿嶄綔 */ - handleClean() { - this.$modal.confirm('鏄惁纭娓呯┖鎵�鏈夎皟搴︽棩蹇楁暟鎹」锛�').then(function() { - return cleanJobLog(); - }).then(() => { - this.getList(); - this.$modal.msgSuccess("娓呯┖鎴愬姛"); - }).catch(() => {}); - }, - /** 瀵煎嚭鎸夐挳鎿嶄綔 */ - handleExport() { - this.download('/monitor/jobLog/export', { - ...this.queryParams - }, `log_${new Date().getTime()}.xlsx`) - } - } -}; -</script> diff --git a/src/views/monitor/logininfor/index.vue b/src/views/monitor/logininfor/index.vue deleted file mode 100644 index b32f92a..0000000 --- a/src/views/monitor/logininfor/index.vue +++ /dev/null @@ -1,245 +0,0 @@ -<template> - <div class="app-container"> - <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px"> - <el-form-item label="鐧诲綍鍦板潃" prop="ipaddr"> - <el-input - v-model="queryParams.ipaddr" - placeholder="璇疯緭鍏ョ櫥褰曞湴鍧�" - clearable - style="width: 240px;" - @keyup.enter.native="handleQuery" - /> - </el-form-item> - <el-form-item label="鐢ㄦ埛鍚嶇О" prop="userName"> - <el-input - v-model="queryParams.userName" - placeholder="璇疯緭鍏ョ敤鎴峰悕绉�" - clearable - style="width: 240px;" - @keyup.enter.native="handleQuery" - /> - </el-form-item> - <el-form-item label="鐘舵��" prop="status"> - <el-select - v-model="queryParams.status" - placeholder="鐧诲綍鐘舵��" - clearable - style="width: 240px" - > - <el-option - v-for="dict in dict.type.sys_common_status" - :key="dict.value" - :label="dict.label" - :value="dict.value" - /> - </el-select> - </el-form-item> - <el-form-item label="鐧诲綍鏃堕棿"> - <el-date-picker - v-model="dateRange" - style="width: 240px" - value-format="yyyy-MM-dd" - type="daterange" - range-separator="-" - start-placeholder="寮�濮嬫棩鏈�" - end-placeholder="缁撴潫鏃ユ湡" - ></el-date-picker> - </el-form-item> - <el-form-item> - <el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">鎼滅储</el-button> - <el-button icon="el-icon-refresh" size="mini" @click="resetQuery">閲嶇疆</el-button> - </el-form-item> - </el-form> - - <el-row :gutter="10" class="mb8"> - <el-col :span="1.5"> - <el-button - type="danger" - plain - icon="el-icon-delete" - size="mini" - :disabled="multiple" - @click="handleDelete" - v-hasPermi="['monitor:logininfor:remove']" - >鍒犻櫎</el-button> - </el-col> - <el-col :span="1.5"> - <el-button - type="danger" - plain - icon="el-icon-delete" - size="mini" - @click="handleClean" - v-hasPermi="['monitor:logininfor:remove']" - >娓呯┖</el-button> - </el-col> - <el-col :span="1.5"> - <el-button - type="primary" - plain - icon="el-icon-unlock" - size="mini" - :disabled="single" - @click="handleUnlock" - v-hasPermi="['monitor:logininfor:unlock']" - >瑙i攣</el-button> - </el-col> - <el-col :span="1.5"> - <el-button - type="warning" - plain - icon="el-icon-download" - size="mini" - @click="handleExport" - v-hasPermi="['monitor:logininfor:export']" - >瀵煎嚭</el-button> - </el-col> - <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar> - </el-row> - - <el-table ref="tables" v-loading="loading" :data="list" @selection-change="handleSelectionChange" :default-sort="defaultSort" @sort-change="handleSortChange"> - <el-table-column type="selection" width="55" align="center" /> - <el-table-column label="璁块棶缂栧彿" align="center" prop="infoId" /> - <el-table-column label="鐢ㄦ埛鍚嶇О" align="center" prop="userName" :show-overflow-tooltip="true" sortable="custom" :sort-orders="['descending', 'ascending']" /> - <el-table-column label="鐧诲綍鍦板潃" align="center" prop="ipaddr" width="130" :show-overflow-tooltip="true" /> - <el-table-column label="鐧诲綍鍦扮偣" align="center" prop="loginLocation" :show-overflow-tooltip="true" /> - <el-table-column label="娴忚鍣�" align="center" prop="browser" :show-overflow-tooltip="true" /> - <el-table-column label="鎿嶄綔绯荤粺" align="center" prop="os" /> - <el-table-column label="鐧诲綍鐘舵��" align="center" prop="status"> - <template slot-scope="scope"> - <dict-tag :options="dict.type.sys_common_status" :value="scope.row.status"/> - </template> - </el-table-column> - <el-table-column label="鎿嶄綔淇℃伅" align="center" prop="msg" /> - <el-table-column label="鐧诲綍鏃ユ湡" align="center" prop="loginTime" sortable="custom" :sort-orders="['descending', 'ascending']" width="180"> - <template slot-scope="scope"> - <span>{{ formatTime(scope.row.loginTime) }}</span> - </template> - </el-table-column> - </el-table> - - <pagination - v-show="total>0" - :total="total" - :page.sync="queryParams.pageNum" - :limit.sync="queryParams.pageSize" - @pagination="getList" - /> - </div> -</template> - -<script> -import { list, delLogininfor, cleanLogininfor, unlockLogininfor } from "@/api/monitor/logininfor"; - -export default { - name: "Logininfor", - dicts: ['sys_common_status'], - data() { - return { - // 閬僵灞� - loading: true, - // 閫変腑鏁扮粍 - ids: [], - // 闈炲崟涓鐢� - single: true, - // 闈炲涓鐢� - multiple: true, - // 閫夋嫨鐢ㄦ埛鍚� - selectName: "", - // 鏄剧ず鎼滅储鏉′欢 - showSearch: true, - // 鎬绘潯鏁� - total: 0, - // 琛ㄦ牸鏁版嵁 - list: [], - // 鏃ユ湡鑼冨洿 - dateRange: [], - // 榛樿鎺掑簭 - defaultSort: {prop: 'loginTime', order: 'descending'}, - // 鏌ヨ鍙傛暟 - queryParams: { - pageNum: 1, - pageSize: 10, - ipaddr: undefined, - userName: undefined, - status: undefined - } - }; - }, - created() { - this.getList(); - }, - methods: { - /** 鏌ヨ鐧诲綍鏃ュ織鍒楄〃 */ - getList() { - this.loading = true; - list(this.addDateRange(this.queryParams, this.dateRange)).then(response => { - this.list = response.rows; - this.total = response.total; - this.loading = false; - } - ); - }, - /** 鎼滅储鎸夐挳鎿嶄綔 */ - handleQuery() { - this.queryParams.pageNum = 1; - this.getList(); - }, - /** 閲嶇疆鎸夐挳鎿嶄綔 */ - resetQuery() { - this.dateRange = []; - this.resetForm("queryForm"); - this.queryParams.pageNum = 1; - this.$refs.tables.sort(this.defaultSort.prop, this.defaultSort.order) - }, - /** 澶氶�夋閫変腑鏁版嵁 */ - handleSelectionChange(selection) { - this.ids = selection.map(item => item.infoId) - this.single = selection.length!=1 - this.multiple = !selection.length - this.selectName = selection.map(item => item.userName); - }, - /** 鎺掑簭瑙﹀彂浜嬩欢 */ - handleSortChange(column, prop, order) { - this.queryParams.orderByColumn = column.prop; - this.queryParams.isAsc = column.order; - this.getList(); - }, - /** 鍒犻櫎鎸夐挳鎿嶄綔 */ - handleDelete(row) { - const infoIds = row.infoId || this.ids; - this.$modal.confirm('鏄惁纭鍒犻櫎璁块棶缂栧彿涓�"' + infoIds + '"鐨勬暟鎹」锛�').then(function() { - return delLogininfor(infoIds); - }).then(() => { - this.getList(); - this.$modal.msgSuccess("鍒犻櫎鎴愬姛"); - }).catch(() => {}); - }, - /** 娓呯┖鎸夐挳鎿嶄綔 */ - handleClean() { - this.$modal.confirm('鏄惁纭娓呯┖鎵�鏈夌櫥褰曟棩蹇楁暟鎹」锛�').then(function() { - return cleanLogininfor(); - }).then(() => { - this.getList(); - this.$modal.msgSuccess("娓呯┖鎴愬姛"); - }).catch(() => {}); - }, - /** 瑙i攣鎸夐挳鎿嶄綔 */ - handleUnlock() { - const username = this.selectName; - this.$modal.confirm('鏄惁纭瑙i攣鐢ㄦ埛"' + username + '"鏁版嵁椤�?').then(function() { - return unlockLogininfor(username); - }).then(() => { - this.$modal.msgSuccess("鐢ㄦ埛" + username + "瑙i攣鎴愬姛"); - }).catch(() => {}); - }, - /** 瀵煎嚭鎸夐挳鎿嶄綔 */ - handleExport() { - this.download('monitor/logininfor/export', { - ...this.queryParams - }, `logininfor_${new Date().getTime()}.xlsx`) - } - } -}; -</script> - diff --git a/src/views/monitor/online/index.vue b/src/views/monitor/online/index.vue deleted file mode 100644 index e52b7bd..0000000 --- a/src/views/monitor/online/index.vue +++ /dev/null @@ -1,122 +0,0 @@ -<template> - <div class="app-container"> - <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" label-width="68px"> - <el-form-item label="鐧诲綍鍦板潃" prop="ipaddr"> - <el-input - v-model="queryParams.ipaddr" - placeholder="璇疯緭鍏ョ櫥褰曞湴鍧�" - clearable - @keyup.enter.native="handleQuery" - /> - </el-form-item> - <el-form-item label="鐢ㄦ埛鍚嶇О" prop="userName"> - <el-input - v-model="queryParams.userName" - placeholder="璇疯緭鍏ョ敤鎴峰悕绉�" - clearable - @keyup.enter.native="handleQuery" - /> - </el-form-item> - <el-form-item> - <el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">鎼滅储</el-button> - <el-button icon="el-icon-refresh" size="mini" @click="resetQuery">閲嶇疆</el-button> - </el-form-item> - - </el-form> - <el-table - v-loading="loading" - :data="list.slice((pageNum-1)*pageSize,pageNum*pageSize)" - style="width: 100%;" - > - <el-table-column label="搴忓彿" type="index" align="center"> - <template slot-scope="scope"> - <span>{{(pageNum - 1) * pageSize + scope.$index + 1}}</span> - </template> - </el-table-column> - <el-table-column label="浼氳瘽缂栧彿" align="center" prop="tokenId" :show-overflow-tooltip="true" /> - <el-table-column label="鐧诲綍鍚嶇О" align="center" prop="userName" :show-overflow-tooltip="true" /> - <el-table-column label="閮ㄩ棬鍚嶇О" align="center" prop="deptName" /> - <el-table-column label="涓绘満" align="center" prop="ipaddr" :show-overflow-tooltip="true" /> - <el-table-column label="鐧诲綍鍦扮偣" align="center" prop="loginLocation" :show-overflow-tooltip="true" /> - <el-table-column label="娴忚鍣�" align="center" prop="browser" /> - <el-table-column label="鎿嶄綔绯荤粺" align="center" prop="os" /> - <el-table-column label="鐧诲綍鏃堕棿" align="center" prop="loginTime" width="180"> - <template slot-scope="scope"> - <span>{{ formatTime(scope.row.loginTime) }}</span> - </template> - </el-table-column> - <el-table-column label="鎿嶄綔" align="center" class-name="small-padding fixed-width"> - <template slot-scope="scope"> - <el-button - size="mini" - type="text" - icon="el-icon-delete" - @click="handleForceLogout(scope.row)" - v-hasPermi="['monitor:online:forceLogout']" - >寮洪��</el-button> - </template> - </el-table-column> - </el-table> - - <pagination v-show="total>0" :total="total" :page.sync="pageNum" :limit.sync="pageSize" /> - </div> -</template> - -<script> -import { list, forceLogout } from "@/api/monitor/online"; - -export default { - name: "Online", - data() { - return { - // 閬僵灞� - loading: true, - // 鎬绘潯鏁� - total: 0, - // 琛ㄦ牸鏁版嵁 - list: [], - pageNum: 1, - pageSize: 10, - // 鏌ヨ鍙傛暟 - queryParams: { - ipaddr: undefined, - userName: undefined - } - }; - }, - created() { - this.getList(); - }, - methods: { - /** 鏌ヨ鐧诲綍鏃ュ織鍒楄〃 */ - getList() { - this.loading = true; - list(this.queryParams).then(response => { - this.list = response.rows; - this.total = response.total; - this.loading = false; - }); - }, - /** 鎼滅储鎸夐挳鎿嶄綔 */ - handleQuery() { - this.pageNum = 1; - this.getList(); - }, - /** 閲嶇疆鎸夐挳鎿嶄綔 */ - resetQuery() { - this.resetForm("queryForm"); - this.handleQuery(); - }, - /** 寮洪��鎸夐挳鎿嶄綔 */ - handleForceLogout(row) { - this.$modal.confirm('鏄惁纭寮洪��鍚嶇О涓�"' + row.userName + '"鐨勭敤鎴凤紵').then(function() { - return forceLogout(row.tokenId); - }).then(() => { - this.getList(); - this.$modal.msgSuccess("寮洪��鎴愬姛"); - }).catch(() => {}); - } - } -}; -</script> - diff --git a/src/views/monitor/operlog/index.vue b/src/views/monitor/operlog/index.vue deleted file mode 100644 index 0fc0ab3..0000000 --- a/src/views/monitor/operlog/index.vue +++ /dev/null @@ -1,305 +0,0 @@ -<template> - <div class="app-container"> - <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px"> - <el-form-item label="绯荤粺妯″潡" prop="title"> - <el-input - v-model="queryParams.title" - placeholder="璇疯緭鍏ョ郴缁熸ā鍧�" - clearable - style="width: 240px;" - @keyup.enter.native="handleQuery" - /> - </el-form-item> - <el-form-item label="鎿嶄綔浜哄憳" prop="operName"> - <el-input - v-model="queryParams.operName" - placeholder="璇疯緭鍏ユ搷浣滀汉鍛�" - clearable - style="width: 240px;" - @keyup.enter.native="handleQuery" - /> - </el-form-item> - <el-form-item label="绫诲瀷" prop="businessType"> - <el-select - v-model="queryParams.businessType" - placeholder="鎿嶄綔绫诲瀷" - clearable - style="width: 240px" - > - <el-option - v-for="dict in dict.type.sys_oper_type" - :key="dict.value" - :label="dict.label" - :value="dict.value" - /> - </el-select> - </el-form-item> - <el-form-item label="鐘舵��" prop="status"> - <el-select - v-model="queryParams.status" - placeholder="鎿嶄綔鐘舵��" - clearable - style="width: 240px" - > - <el-option - v-for="dict in dict.type.sys_common_status" - :key="dict.value" - :label="dict.label" - :value="dict.value" - /> - </el-select> - </el-form-item> - <el-form-item label="鎿嶄綔鏃堕棿"> - <el-date-picker - v-model="dateRange" - style="width: 240px" - value-format="yyyy-MM-dd" - type="daterange" - range-separator="-" - start-placeholder="寮�濮嬫棩鏈�" - end-placeholder="缁撴潫鏃ユ湡" - ></el-date-picker> - </el-form-item> - <el-form-item> - <el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">鎼滅储</el-button> - <el-button icon="el-icon-refresh" size="mini" @click="resetQuery">閲嶇疆</el-button> - </el-form-item> - </el-form> - - <el-row :gutter="10" class="mb8"> - <el-col :span="1.5"> - <el-button - type="danger" - plain - icon="el-icon-delete" - size="mini" - :disabled="multiple" - @click="handleDelete" - v-hasPermi="['monitor:operlog:remove']" - >鍒犻櫎</el-button> - </el-col> - <el-col :span="1.5"> - <el-button - type="danger" - plain - icon="el-icon-delete" - size="mini" - @click="handleClean" - v-hasPermi="['monitor:operlog:remove']" - >娓呯┖</el-button> - </el-col> - <el-col :span="1.5"> - <el-button - type="warning" - plain - icon="el-icon-download" - size="mini" - @click="handleExport" - v-hasPermi="['monitor:operlog:export']" - >瀵煎嚭</el-button> - </el-col> - <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar> - </el-row> - - <el-table ref="tables" v-loading="loading" :data="list" @selection-change="handleSelectionChange" :default-sort="defaultSort" @sort-change="handleSortChange"> - <el-table-column type="selection" width="55" align="center" /> - <el-table-column label="鏃ュ織缂栧彿" align="center" prop="operId" /> - <el-table-column label="绯荤粺妯″潡" align="center" prop="title" /> - <el-table-column label="鎿嶄綔绫诲瀷" align="center" prop="businessType"> - <template slot-scope="scope"> - <dict-tag :options="dict.type.sys_oper_type" :value="scope.row.businessType"/> - </template> - </el-table-column> - <el-table-column label="璇锋眰鏂瑰紡" align="center" prop="requestMethod" /> - <el-table-column label="鎿嶄綔浜哄憳" align="center" prop="operName" width="100" :show-overflow-tooltip="true" sortable="custom" :sort-orders="['descending', 'ascending']" /> - <el-table-column label="鎿嶄綔鍦板潃" align="center" prop="operIp" width="130" :show-overflow-tooltip="true" /> - <el-table-column label="鎿嶄綔鍦扮偣" align="center" prop="operLocation" :show-overflow-tooltip="true" /> - <el-table-column label="鎿嶄綔鐘舵��" align="center" prop="status"> - <template slot-scope="scope"> - <dict-tag :options="dict.type.sys_common_status" :value="scope.row.status"/> - </template> - </el-table-column> - <el-table-column label="鎿嶄綔鏃ユ湡" align="center" prop="operTime" sortable="custom" :sort-orders="['descending', 'ascending']" width="180"> - <template slot-scope="scope"> - <span>{{ formatTime(scope.row.operTime) }}</span> - </template> - </el-table-column> - <el-table-column label="鎿嶄綔" align="center" class-name="small-padding fixed-width"> - <template slot-scope="scope"> - <el-button - size="mini" - type="text" - icon="el-icon-view" - @click="handleView(scope.row,scope.index)" - v-hasPermi="['monitor:operlog:query']" - >璇︾粏</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-dialog title="鎿嶄綔鏃ュ織璇︾粏" :visible.sync="open" width="700px" append-to-body> - <el-form ref="form" :model="form" label-width="100px" size="mini"> - <el-row> - <el-col :span="12"> - <el-form-item label="鎿嶄綔妯″潡锛�">{{ form.title }} / {{ typeFormat(form) }}</el-form-item> - <el-form-item - label="鐧诲綍淇℃伅锛�" - >{{ form.operName }} / {{ form.operIp }} / {{ form.operLocation }}</el-form-item> - </el-col> - <el-col :span="12"> - <el-form-item label="璇锋眰鍦板潃锛�">{{ form.operUrl }}</el-form-item> - <el-form-item label="璇锋眰鏂瑰紡锛�">{{ form.requestMethod }}</el-form-item> - </el-col> - <el-col :span="24"> - <el-form-item label="鎿嶄綔鏂规硶锛�">{{ form.method }}</el-form-item> - </el-col> - <el-col :span="24"> - <el-form-item label="璇锋眰鍙傛暟锛�">{{ form.operParam }}</el-form-item> - </el-col> - <el-col :span="24"> - <el-form-item label="杩斿洖鍙傛暟锛�">{{ form.jsonResult }}</el-form-item> - </el-col> - <el-col :span="12"> - <el-form-item label="鎿嶄綔鐘舵�侊細"> - <div v-if="form.status === 0">姝e父</div> - <div v-else-if="form.status === 1">澶辫触</div> - </el-form-item> - </el-col> - <el-col :span="12"> - <el-form-item label="鎿嶄綔鏃堕棿锛�">{{ formatTime(form.operTime) }}</el-form-item> - </el-col> - <el-col :span="24"> - <el-form-item label="寮傚父淇℃伅锛�" v-if="form.status === 1">{{ form.errorMsg }}</el-form-item> - </el-col> - </el-row> - </el-form> - <div slot="footer" class="dialog-footer"> - <el-button @click="open = false">鍏� 闂�</el-button> - </div> - </el-dialog> - </div> -</template> - -<script> -import { list, delOperlog, cleanOperlog } from "@/api/monitor/operlog"; - -export default { - name: "Operlog", - dicts: ['sys_oper_type', 'sys_common_status'], - data() { - return { - // 閬僵灞� - loading: true, - // 閫変腑鏁扮粍 - ids: [], - // 闈炲涓鐢� - multiple: true, - // 鏄剧ず鎼滅储鏉′欢 - showSearch: true, - // 鎬绘潯鏁� - total: 0, - // 琛ㄦ牸鏁版嵁 - list: [], - // 鏄惁鏄剧ず寮瑰嚭灞� - open: false, - // 鏃ユ湡鑼冨洿 - dateRange: [], - // 榛樿鎺掑簭 - defaultSort: {prop: 'operTime', order: 'descending'}, - // 琛ㄥ崟鍙傛暟 - form: {}, - // 鏌ヨ鍙傛暟 - queryParams: { - pageNum: 1, - pageSize: 10, - title: undefined, - operName: undefined, - businessType: undefined, - status: undefined - } - }; - }, - created() { - this.getList(); - }, - methods: { - /** 鏌ヨ鐧诲綍鏃ュ織 */ - getList() { - this.loading = true; - list(this.addDateRange(this.queryParams, this.dateRange)).then( response => { - this.list = response.rows; - this.total = response.total; - this.loading = false; - } - ); - }, - // 鎿嶄綔鏃ュ織绫诲瀷瀛楀吀缈昏瘧 - typeFormat(row, column) { - return this.selectDictLabel(this.dict.type.sys_oper_type, row.businessType); - }, - /** 鎼滅储鎸夐挳鎿嶄綔 */ - handleQuery() { - this.queryParams.pageNum = 1; - this.getList(); - }, - /** 閲嶇疆鎸夐挳鎿嶄綔 */ - resetQuery() { - this.dateRange = []; - this.resetForm("queryForm"); - this.queryParams.pageNum = 1; - this.$refs.tables.sort(this.defaultSort.prop, this.defaultSort.order) - }, - /** 澶氶�夋閫変腑鏁版嵁 */ - handleSelectionChange(selection) { - this.ids = selection.map(item => item.operId) - this.multiple = !selection.length - }, - /** 鎺掑簭瑙﹀彂浜嬩欢 */ - handleSortChange(column, prop, order) { - this.queryParams.orderByColumn = column.prop; - this.queryParams.isAsc = column.order; - this.getList(); - }, - /** 璇︾粏鎸夐挳鎿嶄綔 */ - handleView(row) { - this.open = true; - this.form = row; - }, - /** 鍒犻櫎鎸夐挳鎿嶄綔 */ - handleDelete(row) { - const operIds = row.operId || this.ids; - this.$modal.confirm('鏄惁纭鍒犻櫎鏃ュ織缂栧彿涓�"' + operIds + '"鐨勬暟鎹」锛�').then(function() { - return delOperlog(operIds); - }).then(() => { - this.getList(); - this.$modal.msgSuccess("鍒犻櫎鎴愬姛"); - }).catch(() => {}); - }, - /** 娓呯┖鎸夐挳鎿嶄綔 */ - handleClean() { - this.$modal.confirm('鏄惁纭娓呯┖鎵�鏈夋搷浣滄棩蹇楁暟鎹」锛�').then(function() { - return cleanOperlog(); - }).then(() => { - this.getList(); - this.$modal.msgSuccess("娓呯┖鎴愬姛"); - }).catch(() => {}); - }, - /** 瀵煎嚭鎸夐挳鎿嶄綔 */ - handleExport() { - this.download('monitor/operlog/export', { - ...this.queryParams - }, `operlog_${new Date().getTime()}.xlsx`) - } - } -}; -</script> - diff --git a/src/views/monitor/server/index.vue b/src/views/monitor/server/index.vue deleted file mode 100644 index b122edf..0000000 --- a/src/views/monitor/server/index.vue +++ /dev/null @@ -1,207 +0,0 @@ -<template> - <div class="app-container"> - <el-row> - <el-col :span="12" class="card-box"> - <el-card> - <div slot="header"><span>CPU</span></div> - <div class="el-table el-table--enable-row-hover el-table--medium"> - <table cellspacing="0" style="width: 100%;"> - <thead> - <tr> - <th class="el-table__cell is-leaf"><div class="cell">灞炴��</div></th> - <th class="el-table__cell is-leaf"><div class="cell">鍊�</div></th> - </tr> - </thead> - <tbody> - <tr> - <td class="el-table__cell is-leaf"><div class="cell">鏍稿績鏁�</div></td> - <td class="el-table__cell is-leaf"><div class="cell" v-if="server.cpu">{{ server.cpu.cpuNum }}</div></td> - </tr> - <tr> - <td class="el-table__cell is-leaf"><div class="cell">鐢ㄦ埛浣跨敤鐜�</div></td> - <td class="el-table__cell is-leaf"><div class="cell" v-if="server.cpu">{{ server.cpu.used }}%</div></td> - </tr> - <tr> - <td class="el-table__cell is-leaf"><div class="cell">绯荤粺浣跨敤鐜�</div></td> - <td class="el-table__cell is-leaf"><div class="cell" v-if="server.cpu">{{ server.cpu.sys }}%</div></td> - </tr> - <tr> - <td class="el-table__cell is-leaf"><div class="cell">褰撳墠绌洪棽鐜�</div></td> - <td class="el-table__cell is-leaf"><div class="cell" v-if="server.cpu">{{ server.cpu.free }}%</div></td> - </tr> - </tbody> - </table> - </div> - </el-card> - </el-col> - - <el-col :span="12" class="card-box"> - <el-card> - <div slot="header"><span>鍐呭瓨</span></div> - <div class="el-table el-table--enable-row-hover el-table--medium"> - <table cellspacing="0" style="width: 100%;"> - <thead> - <tr> - <th class="el-table__cell is-leaf"><div class="cell">灞炴��</div></th> - <th class="el-table__cell is-leaf"><div class="cell">鍐呭瓨</div></th> - <th class="el-table__cell is-leaf"><div class="cell">JVM</div></th> - </tr> - </thead> - <tbody> - <tr> - <td class="el-table__cell is-leaf"><div class="cell">鎬诲唴瀛�</div></td> - <td class="el-table__cell is-leaf"><div class="cell" v-if="server.mem">{{ server.mem.total }}G</div></td> - <td class="el-table__cell is-leaf"><div class="cell" v-if="server.jvm">{{ server.jvm.total }}M</div></td> - </tr> - <tr> - <td class="el-table__cell is-leaf"><div class="cell">宸茬敤鍐呭瓨</div></td> - <td class="el-table__cell is-leaf"><div class="cell" v-if="server.mem">{{ server.mem.used}}G</div></td> - <td class="el-table__cell is-leaf"><div class="cell" v-if="server.jvm">{{ server.jvm.used}}M</div></td> - </tr> - <tr> - <td class="el-table__cell is-leaf"><div class="cell">鍓╀綑鍐呭瓨</div></td> - <td class="el-table__cell is-leaf"><div class="cell" v-if="server.mem">{{ server.mem.free }}G</div></td> - <td class="el-table__cell is-leaf"><div class="cell" v-if="server.jvm">{{ server.jvm.free }}M</div></td> - </tr> - <tr> - <td class="el-table__cell is-leaf"><div class="cell">浣跨敤鐜�</div></td> - <td class="el-table__cell is-leaf"><div class="cell" v-if="server.mem" :class="{'text-danger': server.mem.usage > 80}">{{ server.mem.usage }}%</div></td> - <td class="el-table__cell is-leaf"><div class="cell" v-if="server.jvm" :class="{'text-danger': server.jvm.usage > 80}">{{ server.jvm.usage }}%</div></td> - </tr> - </tbody> - </table> - </div> - </el-card> - </el-col> - - <el-col :span="24" class="card-box"> - <el-card> - <div slot="header"> - <span>鏈嶅姟鍣ㄤ俊鎭�</span> - </div> - <div class="el-table el-table--enable-row-hover el-table--medium"> - <table cellspacing="0" style="width: 100%;"> - <tbody> - <tr> - <td class="el-table__cell is-leaf"><div class="cell">鏈嶅姟鍣ㄥ悕绉�</div></td> - <td class="el-table__cell is-leaf"><div class="cell" v-if="server.sys">{{ server.sys.computerName }}</div></td> - <td class="el-table__cell is-leaf"><div class="cell">鎿嶄綔绯荤粺</div></td> - <td class="el-table__cell is-leaf"><div class="cell" v-if="server.sys">{{ server.sys.osName }}</div></td> - </tr> - <tr> - <td class="el-table__cell is-leaf"><div class="cell">鏈嶅姟鍣↖P</div></td> - <td class="el-table__cell is-leaf"><div class="cell" v-if="server.sys">{{ server.sys.computerIp }}</div></td> - <td class="el-table__cell is-leaf"><div class="cell">绯荤粺鏋舵瀯</div></td> - <td class="el-table__cell is-leaf"><div class="cell" v-if="server.sys">{{ server.sys.osArch }}</div></td> - </tr> - </tbody> - </table> - </div> - </el-card> - </el-col> - - <el-col :span="24" class="card-box"> - <el-card> - <div slot="header"> - <span>Java铏氭嫙鏈轰俊鎭�</span> - </div> - <div class="el-table el-table--enable-row-hover el-table--medium"> - <table cellspacing="0" style="width: 100%;table-layout:fixed;"> - <tbody> - <tr> - <td class="el-table__cell is-leaf"><div class="cell">Java鍚嶇О</div></td> - <td class="el-table__cell is-leaf"><div class="cell" v-if="server.jvm">{{ server.jvm.name }}</div></td> - <td class="el-table__cell is-leaf"><div class="cell">Java鐗堟湰</div></td> - <td class="el-table__cell is-leaf"><div class="cell" v-if="server.jvm">{{ server.jvm.version }}</div></td> - </tr> - <tr> - <td class="el-table__cell is-leaf"><div class="cell">鍚姩鏃堕棿</div></td> - <td class="el-table__cell is-leaf"><div class="cell" v-if="server.jvm">{{ server.jvm.startTime }}</div></td> - <td class="el-table__cell is-leaf"><div class="cell">杩愯鏃堕暱</div></td> - <td class="el-table__cell is-leaf"><div class="cell" v-if="server.jvm">{{ server.jvm.runTime }}</div></td> - </tr> - <tr> - <td colspan="1" class="el-table__cell is-leaf"><div class="cell">瀹夎璺緞</div></td> - <td colspan="3" class="el-table__cell is-leaf"><div class="cell" v-if="server.jvm">{{ server.jvm.home }}</div></td> - </tr> - <tr> - <td colspan="1" class="el-table__cell is-leaf"><div class="cell">椤圭洰璺緞</div></td> - <td colspan="3" class="el-table__cell is-leaf"><div class="cell" v-if="server.sys">{{ server.sys.userDir }}</div></td> - </tr> - <tr> - <td colspan="1" class="el-table__cell is-leaf"><div class="cell">杩愯鍙傛暟</div></td> - <td colspan="3" class="el-table__cell is-leaf"><div class="cell" v-if="server.jvm">{{ server.jvm.inputArgs }}</div></td> - </tr> - </tbody> - </table> - </div> - </el-card> - </el-col> - - <el-col :span="24" class="card-box"> - <el-card> - <div slot="header"> - <span>纾佺洏鐘舵��</span> - </div> - <div class="el-table el-table--enable-row-hover el-table--medium"> - <table cellspacing="0" style="width: 100%;"> - <thead> - <tr> - <th class="el-table__cell el-table__cell is-leaf"><div class="cell">鐩樼璺緞</div></th> - <th class="el-table__cell is-leaf"><div class="cell">鏂囦欢绯荤粺</div></th> - <th class="el-table__cell is-leaf"><div class="cell">鐩樼绫诲瀷</div></th> - <th class="el-table__cell is-leaf"><div class="cell">鎬诲ぇ灏�</div></th> - <th class="el-table__cell is-leaf"><div class="cell">鍙敤澶у皬</div></th> - <th class="el-table__cell is-leaf"><div class="cell">宸茬敤澶у皬</div></th> - <th class="el-table__cell is-leaf"><div class="cell">宸茬敤鐧惧垎姣�</div></th> - </tr> - </thead> - <tbody v-if="server.sysFiles"> - <tr v-for="(sysFile, index) in server.sysFiles" :key="index"> - <td class="el-table__cell is-leaf"><div class="cell">{{ sysFile.dirName }}</div></td> - <td class="el-table__cell is-leaf"><div class="cell">{{ sysFile.sysTypeName }}</div></td> - <td class="el-table__cell is-leaf"><div class="cell">{{ sysFile.typeName }}</div></td> - <td class="el-table__cell is-leaf"><div class="cell">{{ sysFile.total }}</div></td> - <td class="el-table__cell is-leaf"><div class="cell">{{ sysFile.free }}</div></td> - <td class="el-table__cell is-leaf"><div class="cell">{{ sysFile.used }}</div></td> - <td class="el-table__cell is-leaf"><div class="cell" :class="{'text-danger': sysFile.usage > 80}">{{ sysFile.usage }}%</div></td> - </tr> - </tbody> - </table> - </div> - </el-card> - </el-col> - </el-row> - </div> -</template> - -<script> -import { getServer } from "@/api/monitor/server"; - -export default { - name: "Server", - data() { - return { - // 鏈嶅姟鍣ㄤ俊鎭� - server: [] - }; - }, - created() { - this.getList(); - this.openLoading(); - }, - methods: { - /** 鏌ヨ鏈嶅姟鍣ㄤ俊鎭� */ - getList() { - getServer().then(response => { - this.server = response.data; - this.$modal.closeLoading(); - }); - }, - // 鎵撳紑鍔犺浇灞� - openLoading() { - this.$modal.loading("姝e湪鍔犺浇鏈嶅姟鐩戞帶鏁版嵁锛岃绋嶅�欙紒"); - } - } -}; -</script> \ No newline at end of file diff --git a/src/views/patient/LinkMission/index.vue b/src/views/patient/LinkMission/index.vue deleted file mode 100644 index d9967cc..0000000 --- a/src/views/patient/LinkMission/index.vue +++ /dev/null @@ -1,17 +0,0 @@ -<template> - <div>瀹f暀閾炬帴椤�</div> -</template> - -<script> -export default { - data() { - return {}; - }, - - created() {}, - - methods: {}, -}; -</script> - -<style lang="scss" scoped></style> diff --git a/src/views/patient/LinkQuestionnaire/index.vue b/src/views/patient/LinkQuestionnaire/index.vue deleted file mode 100644 index 782bec9..0000000 --- a/src/views/patient/LinkQuestionnaire/index.vue +++ /dev/null @@ -1,17 +0,0 @@ -<template> - <div>闂嵎閾炬帴椤�</div> -</template> - -<script> -export default { - data() { - return {}; - }, - - created() {}, - - methods: {}, -}; -</script> - -<style lang="scss" scoped></style> diff --git a/src/views/patient/follow/index.vue b/src/views/patient/follow/index.vue deleted file mode 100644 index f036990..0000000 --- a/src/views/patient/follow/index.vue +++ /dev/null @@ -1,608 +0,0 @@ -<template> - <div class="app-container"> - <el-row :gutter="20"> - <!--鐢ㄦ埛鏁版嵁--> - <el-col :span="24" :xs="24"> - <el-form - :model="queryParams" - ref="queryForm" - size="small" - :inline="true" - v-show="showSearch" - label-width="98px" - > - <el-form-item label="濮撳悕" prop="name"> - <el-input - v-model="queryParams.name" - placeholder="璇疯緭鍏ュ鍚�" - clearable - style="width: 200px" - @keyup.enter.native="handleQuery" - /> - </el-form-item> - - <!-- <el-form-item label="鎮h�呰寖鍥�" prop="tagId"> - <el-select - v-model="queryParams.searchscope" - placeholder="璇烽�夋嫨" - > - <el-option - v-for="item in Patientrange" - :key="item.value" - :label="item.label" - :value="item.value" - > - </el-option> - </el-select> - </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-table - v-loading="loading" - :data="userList" - @selection-change="handleSelectionChange" - > - <el-table-column type="selection" width="50" align="center" /> - <!-- <el-table-column - label="搴忓彿" - align="center" - key="id" - prop="id" - /> --> - <el-table-column - fixed - label="濮撳悕" - align="center" - key="name" - prop="name" - /> - <el-table-column label="鎬у埆" align="center" key="sex" prop="sex"> - <template slot-scope="scope"> - <span>{{ scope.row.sex == 1 ? "鐢�" : "濂�" }}</span> - </template> - </el-table-column> - <el-table-column - label="骞撮緞" - align="center" - key="age" - prop="age" - width="60" - /> - <el-table-column - label="鍑虹敓骞存湀" - align="center" - key="birthdate" - prop="birthdate" - width="160" - > - </el-table-column> - - <!-- <el-table-column - label="杩囨护绫诲瀷" - align="center" - key="notrequiredreason" - prop="notrequiredreason" - width="120" - > - <template slot-scope="scope"> - <dict-tag - :options="dict.type.futter_patient" - :value="scope.row.notrequiredreason" - /> - </template> - </el-table-column> --> - <el-table-column - label="杩囨护鍘熷洜" - align="center" - key="notrequiredreason" - prop="notrequiredreason" - width="190" - /> - <el-table-column - label="灞呬綇鍦�" - align="center" - key="placeOfResidence" - prop="placeOfResidence" - width="180" - :show-overflow-tooltip="true" - /> - <el-table-column - label="鎮h�呮爣绛�" - align="center" - key="tagList" - prop="tagList" - width="160" - :show-overflow-tooltip="true" - > - <template slot-scope="scope"> - <span v-for="item in scope.row.tagList">{{ item.tagname }} </span> - </template> - </el-table-column> - <el-table-column - label="璇佷欢鍙风爜" - align="center" - key="idcardno" - prop="idcardno" - width="190" - /> - - <el-table-column - label="鑱旂郴鏂瑰紡" - align="center" - key="telcode" - prop="telcode" - width="120" - /> - <el-table-column - label="寤烘。鏃ユ湡" - align="center" - key="createTime" - prop="createTime" - width="160" - > - <template slot-scope="scope"> - <span>{{ formatTime(scope.row.createTime) }}</span> - </template> - </el-table-column> - - <el-table-column - label="鎿嶄綔" - align="center" - fixed="right" - width="190" - 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 - > - <el-button - size="medium" - type="text" - @click="handleDelete(scope.row)" - - ><span class="button-textxga" - ><i class="el-icon-edit"></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> - - - </div> -</template> - -<script> -import { delUser } from "@/api/system/user"; - -import { - messagelistpatient, - alterpatient, - addfiltration, - particularpatient, - delfiltration, - Exporterrorpatient, - toleadpatient, -} from "@/api/patient/homepage"; -import { listtag } from "@/api/system/label"; -import { getToken } from "@/utils/auth"; -import Treeselect from "@riophae/vue-treeselect"; -import store from "@/store"; -import "@riophae/vue-treeselect/dist/vue-treeselect.css"; - -export default { - name: "Userhuanze", - dicts: ["sys_normal_disable", "sys_user_sex", "futter_patient"], - components: { Treeselect }, - data() { - return { - // 閬僵灞� - loading: true, - // 閫変腑鏁扮粍 - ids: [], - // 闈炲崟涓鐢� - single: true, - // 闈炲涓鐢� - multiple: true, - // 鏄剧ず鎼滅储鏉′欢 - showSearch: true, - // 鎬绘潯鏁� - total: 0, - // 鐢ㄦ埛琛ㄦ牸鏁版嵁 - userList: null, - // 寮瑰嚭灞傛爣棰� - title: "", - // 閮ㄩ棬鏍戦�夐」 - deptOptions: undefined, - // 鏄惁鏄剧ず寮瑰嚭灞� - open: false, - // 閮ㄩ棬鍚嶇О - deptName: undefined, - // 榛樿瀵嗙爜 - initPassword: undefined, - amendtag: false, //鏄惁淇敼 - // 鏃ユ湡鑼冨洿 - dateRange: [], - paperstypes: [ - { papersname: "韬唤璇�" }, - { papersname: "鎶ょ収" }, - { papersname: "涓浗娓境灞呮皯韬唤璇�" }, - { papersname: "涓浗鍙版咕灞呮皯韬唤璇�" }, - ], - // 琛ㄥ崟鍙傛暟 - form: { - name: "", - age: "", - sex: "", - tagList: [], - idcardno: "", - telcode: "", - idcardtype: "", - relativetelcode: "", - }, - //瀵煎叆杩涘害 - dractive: 1, - // 瀵煎叆灞曠ず琛ㄥ崟 - uploadingData: {}, - total: 0, // 鎬绘潯鏁� - ImportQuantity: 999, //瀵煎叆鎮h�呮暟閲� - Labelchange: false, //淇敼鏂板寮圭獥 - propss: { multiple: true }, - optionstag: [], //鏍囩鍒楄〃 - Patientrange: [ - { - value: 0, - label: "鎵�灞炴偅鑰�", - }, - { - value: 1, - label: "绉戝鎮h��", - }, - { - value: 2, - label: "鐥呭尯鎮h��", - }, - ], - whether: [ - { - name: "鏄�", - id: 1, - }, - { - name: "鍚�", - id: 2, - }, - ], - Filterreason: [], - 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, - allhosp: "1", - notrequiredFlag: 1, - idcardno: undefined, - name: undefined, - status: undefined, - tagIds: undefined, - telcode: undefined, - }, - // 琛ㄥ崟鏍¢獙 - rules: {}, - }; - }, - watch: { - // 鏍规嵁鍚嶇О绛涢�夐儴闂ㄦ爲 - deptName(val) { - this.$refs.tree.filter(val); - }, - }, - created() { - this.getList(); - this.gettabList(); - this.Filterreason = store.getters.Filterreason; - }, - methods: { - /** 鏌ヨ鎮h�呭垪琛� */ - getList() { - this.loading = true; - - messagelistpatient(this.queryParams).then((response) => { - console.log(response); - this.userList = response.rows; - this.total = response.total; - this.loading = false; - }); - }, - /** 鏌ヨ鏍囩鍒楄〃 */ - gettabList() { - const tagqueryParams = { - pageNum: 1, - pageSize: 1000, - tagname: undefined, - tagdescription: undefined, - tagcategoryid: "0", - }; - listtag(tagqueryParams).then((response) => { - console.log(response); - this.optionstag = response.rows; - }); - }, - // 鏌ヨ瀵煎叆灞曠ず鍒楄〃 - geterryList() { - this.loading = true; - listJob(this.queryParams).then((response) => { - this.jobList = 1; - this.total = 1; - this.loading = false; - }); - }, - - // 绛涢�夎妭鐐� - filterNode(value, data) { - if (!value) return true; - return data.label.indexOf(value) !== -1; - }, - // 鑺傜偣鍗曞嚮浜嬩欢 - handleNodeClick(data) { - this.queryParams.deptId = data.id; - this.handleQuery(); - }, - - // 鍙栨秷鎸夐挳 - cancel() { - this.Labelchange = false; - this.reset(); - }, - // 琛ㄥ崟閲嶇疆 - reset() { - this.form = { - name: "", - age: "", - sex: "", - tagList: [], - idcardno: "", - telcode: "", - idcardtype: "", - relativetelcode: "", - }; - // this.resetForm("form"); - }, - /** 鎼滅储鎸夐挳鎿嶄綔 */ - handleQuery() { - this.queryParams.pageNum = 1; - this.getList(); - }, - /** 閲嶇疆鎸夐挳鎿嶄綔 */ - resetQuery() { - this.dateRange = []; - this.resetForm("queryForm"); - this.$refs.tree.setCurrentKey(null); - this.handleQuery(); - }, - // 澶氶�夋閫変腑鏁版嵁 - handleSelectionChange(selection) { - this.ids = selection.map((item) => item.patid); - this.single = selection.length != 1; - this.multiple = !selection.length; - }, - - /** 鏂板鎸夐挳鎿嶄綔 */ - handleAdd() { - this.reset(); - this.Labelchange = true; - this.amendtag = false; - }, - - //淇敼/鏂板鎮h�� - submitForm() { - if (this.amendtag) { - alterpatient(this.form) - .then((response) => { - console.log(response); - }) - .then(() => { - this.getList(); - this.$modal.msgSuccess("淇敼鎴愬姛"); - }); - } else { - addfiltration(this.form) - .then((response) => { - console.log(response); - }) - .then(() => { - this.getList(); - this.$modal.msgSuccess("娣诲姞鎴愬姛"); - }); - } - this.reset(); - // this.idds = ""; - this.Labelchange = false; - }, - - /** 鍒犻櫎鎸夐挳鎿嶄綔 */ - handleDelete(row) { - const userIds = row.id || this.ids; - this.$modal - .confirm('鏄惁纭鍙栨秷鐢ㄦ埛缂栧彿涓�"' + userIds + '"鐨勬暟鎹」杩囨护锛�') - .then( ()=> { - row.notrequiredFlag=0 - alterpatient(row) - .then((response) => { - console.log(response); - }) - .then(() => { - this.getList(); - this.$modal.msgSuccess("淇敼鎴愬姛"); - }); - }) - - .catch(() => {}); - }, - /** 瀵煎嚭鎸夐挳鎿嶄綔 */ - handleExport() { - this.download( - "smartor/patarchive/export", - { - ...this.queryParams, - }, - `user_${new Date().getTime()}.xlsx` - ); - }, - /** 瀵煎叆鎸夐挳鎿嶄綔 */ - handleImport() { - this.upload.title = "鐢ㄦ埛瀵煎叆"; - this.upload.open = true; - }, - /** 涓嬭浇妯℃澘鎿嶄綔 */ - importTemplate() { - this.download( - "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/medtechnician/Compositeeditdetails.vue b/src/views/patient/medtechnician/Compositeeditdetails.vue deleted file mode 100644 index 73c2c07..0000000 --- a/src/views/patient/medtechnician/Compositeeditdetails.vue +++ /dev/null @@ -1,873 +0,0 @@ -<template> - <div> - <div class="Followuserinfo"> - <div> - <div class="userinfo-text"> - <!-- <span>鎮h�呮湇鍔¤鎯�</span> --> - <div class="headline"> - <div>鏈嶅姟鎮h�呭垪琛�</div> - <div style="margin-left: 20px"> - <el-button - icon="el-icon-download" - v-if="!Whetherall" - type="success" - @click="getTaskservedr()" - >瀵煎叆鏈嶅姟鎮h��</el-button - > - </div> - </div> - <!-- <el-button type="success">闅忚鍚庣煭淇�</el-button> --> - </div> - </div> - <div> - <el-table :data="logsheetlist" style="width: 100%"> - <el-table-column - prop="sendname" - align="center" - key="sendname" - label="濮撳悕" - > - </el-table-column> - <el-table-column prop="sfz" align="center" key="sfz" label="韬唤璇佸彿"> - </el-table-column> - <el-table-column - prop="telcode" - align="center" - key="telcode" - label="鐢佃瘽" - > - </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="120" - align="center" - key="leavehospitaldistrictname" - prop="leavehospitaldistrictname" - /> - <el-table-column - label="绉戝" - width="120" - align="center" - key="deptname" - prop="deptname" - /> - <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" - key="suggest" - prop="suggest" - width="120" - > - </el-table-column> - - <!-- <el-table-column - label="鎿嶄綔" - fixed="right" - align="center" - width="200" - class-name="small-padding fixed-width" - > - <template slot-scope="scope"> - <el-button - size="medium" - type="text" - @click="Seedetails(scope.row)" - v-hasPermi="['system:user:edit']" - ><span class="button-zx" - ><i class="el-icon-s-order"></i>鏌ョ湅鏈嶅姟</span - ></el-button - > - </template> - </el-table-column> --> - </el-table> - </div> - </div> - <el-card style="margin: 20px" class="box-card"> - <div class="presentation"> - <div class="presentation-left"> - <div class="headline"> - <div>浠诲姟娴佺▼</div> - - <div style="margin-left: 20px"> - <el-button - icon="el-icon-plus" - v-if="!Whetherall" - type="primary" - @click="getTaskservelist()" - >娣诲姞浠诲姟娴佺▼</el-button - > - </div> - </div> - <el-divider></el-divider> - <div class="block"> - <el-timeline> - <el-timeline-item color="#5cb3cc" placement="top" hide-timestamp> - <div class="custom-timestamp"> - <span - >鍑洪櫌绗�<span style="color: #1661ab; font-size: 20px">{{ - 5 - }}</span - >澶╂墽琛�</span - > - </div> - <div @click="singletask"> - <el-card shadow="hover"> - <h2 style="color: #1a94bc; font-weight: 600"> - 闂嵎闅忚<span - style="font-size: 16px; margin-left: 10px; color: black" - >蹇冭绠″唴绉戦殢璁�</span - > - </h2> - <p>鐜嬪皬铏� 鍒涘缓浜� 2018/4/12 20:46</p> - </el-card> - </div> - </el-timeline-item> - <el-timeline-item color="#5cb3cc" hide-timestamp placement="top"> - <div class="custom-timestamp"> - <span - >鍑洪櫌绗�<span style="color: #1661ab; font-size: 20px">{{ - 6 - }}</span - >澶╂墽琛�</span - > - </div> - <el-card shadow="hover"> - <h2 style="color: #1a94bc; font-weight: 600"> - 璇煶闅忚<span - style="font-size: 16px; margin-left: 10px; color: black" - >璇煶涓�鍙烽殢璁�</span - > - </h2> - <p>鐜嬪皬铏� 鍒涘缓浜� 2018/4/3 20:46</p> - </el-card> - </el-timeline-item> - <el-timeline-item color="#5cb3cc" hide-timestamp placement="top"> - <div class="custom-timestamp"> - <span - >鍑洪櫌绗�<span style="color: #1661ab; font-size: 20px">{{ - 8 - }}</span - >澶╂墽琛�</span - > - </div> - <el-card shadow="hover"> - <h2 style="color: #1a94bc; font-weight: 600"> - 瀹f暀闅忚<span - style="font-size: 16px; margin-left: 10px; color: black" - >绠¢ゲ绗簩娆″鏁�</span - > - </h2> - <p>鐜嬪皬铏� 鍒涘缓浜� 2018/4/2 20:46</p> - </el-card> - </el-timeline-item> - </el-timeline> - </div> - </div> - <el-divider direction="vertical"></el-divider> - <div class="presentation-right"> - <el-form - :model="ruleForm" - :rules="rules" - ref="ruleForm" - label-width="100px" - class="demo-ruleForm" - > - <div class="headline">鍩虹淇℃伅缂栬緫</div> - <el-divider></el-divider> - <div style="margin: 15px; margin-top: 50px"> - <el-form-item label="浠诲姟缁勫悕绉�" prop="name"> - <el-input - v-model="ruleForm.switchText" - placeholder="璇疯緭鍏�" - ></el-input> - </el-form-item> - <el-form-item label="浠诲姟缁勬弿杩�" prop="name"> - <el-input - type="textarea" - :rows="2" - v-model="ruleForm.ms" - placeholder="璇疯緭鍏�" - ></el-input> - </el-form-item> - <el-row :gutter="20"> - <el-col :span="12"> - <el-form-item label="鏄惁鍚敤" prop="resource"> - <el-select v-model="ruleForm.isEnable" placeholder="璇烽�夋嫨"> - <el-option - v-for="item in usable" - :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="resource"> - <el-select v-model="ruleForm.isEnd" placeholder="璇烽�夋嫨"> - <el-option - v-for="item in usablend" - :key="item.value" - :label="item.label" - :value="item.value" - > - </el-option> - </el-select> </el-form-item - ></el-col> - </el-row> - <!-- 鍗曚换鍔″熀纭�鏁版嵁 --> - <el-form-item label="閫変腑浠诲姟鍚嶇О" prop="name"> - <el-input - v-model="ruleForm.switchText" - placeholder="璇疯緭鍏�" - ></el-input> - </el-form-item> - <el-form-item label="閫変腑妯℃澘鍚嶇О" prop="name"> - <el-input v-model="ruleForm.mb" placeholder="璇疯緭鍏�"></el-input> - </el-form-item> - <el-row :gutter="20"> - <el-col :span="12"> - <el-form-item label="寮�濮嬫墽琛屾椂闂�" prop="resource"> - <el-input - v-model="ruleForm.switchText" - placeholder="璇疯緭鍏�" - ></el-input> </el-form-item - ></el-col> - <el-col :span="12"> - <el-form-item label="鏄惁闀挎湡浠诲姟" prop="resource"> - <el-input - v-model="ruleForm.switchText" - placeholder="璇疯緭鍏�" - ></el-input> </el-form-item - ></el-col> - </el-row> - <el-row :gutter="20"> - <el-col :span="12"> - <el-form-item label="鏄惁鍚敤琛ュ伩" prop="resource"> - <el-select v-model="ruleForm.isEnable" placeholder="璇烽�夋嫨"> - <el-option - v-for="item in usable" - :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="resource"> - <el-select v-model="ruleForm.isEnd" placeholder="璇烽�夋嫨"> - <el-option - v-for="item in usablend" - :key="item.value" - :label="item.label" - :value="item.value" - > - </el-option> - </el-select> </el-form-item - ></el-col> - </el-row> - <el-form-item> - <el-button type="primary" @click="submitForm('ruleForm')" - >淇濆瓨浠诲姟缁�</el-button - > - <el-button - v-if="ruleForm.id" - type="primary" - plain - @click="modification('edit')" - >鏇存柊娴佺▼</el-button - > - - <el-button @click="resetForm('ruleForm')">鍏抽棴</el-button> - </el-form-item> - </div> - </el-form> - </div> - </div> - </el-card> - <!-- 璺宠浆鏈嶅姟瀵硅瘽妗� --> - <el-dialog title="閫夋嫨鏂板缓浠诲姟绫诲瀷" :visible.sync="serviceVisible"> - <el-card class="box-card"> - <el-form ref="form" :model="form" label-width="80px"> - <el-form-item label="浠诲姟绫诲瀷"> - <el-radio-group v-model="serviceradio"> - <el-radio :label="1">瀹f暀闅忚</el-radio> - <el-radio :label="2">闂ㄨ瘖鏈嶅姟</el-radio> - <el-radio :label="3">鍑洪櫌鏈嶅姟</el-radio> - <el-radio :label="4">澶嶈瘖鏈嶅姟</el-radio> - <el-radio :label="5">浣撴閫氱煡</el-radio> - <el-radio :label="6">闂嵎鏈嶅姟</el-radio> - </el-radio-group> - </el-form-item> - <el-form-item label="鏂板缓鏂瑰紡" v-if="serviceradio"> - <el-radio-group v-model="serviceradiofs"> - <el-radio :label="1">鍒濆鍖栧垱寤�</el-radio> - <el-radio :label="2">浠ョ幇鏈変换鍔℃ā鏉夸慨鏀瑰垱寤�</el-radio> - </el-radio-group> - </el-form-item> - </el-form> - <el-table v-loading="loading" :data="taskuserList"> - <el-table-column - label="浠诲姟鍚嶇О" - fixed - align="center" - key="taskName" - prop="taskName" - width="140" - :show-overflow-tooltip="true" - /> - <el-table-column - label="浠诲姟鎻忚堪" - align="center" - key="taskDesc" - prop="taskDesc" - width="180" - :show-overflow-tooltip="true" - /> - <el-table-column - label="鏈嶅姟椤圭洰" - align="center" - key="templatename" - prop="templatename" - /> - <el-table-column - label="寰呮墽琛�/鎬讳换鍔�" - align="center" - key="nickName" - prop="nickName" - > - <template slot-scope="scope"> - <span>{{ scope.row.wfs }}/{{ scope.row.yfs }}</span> - </template> - </el-table-column> - <el-table-column - label="鍒涘缓浜�" - align="center" - key="createBy" - prop="createBy" - width="120" - :show-overflow-tooltip="true" - /> - <el-table-column - label="鍒涘缓鏃堕棿" - sortable - align="center" - prop="createTime" - width="160" - > - <template slot-scope="scope"> - <span>{{ formatTime(scope.row.createTime) }}</span> - </template> - </el-table-column> - <el-table-column - label="鐘舵��" - fixed="right" - align="center" - key="sendState" - prop="sendState" - width="120" - > - <template slot-scope="scope"> - <dict-tag - :options="dict.type.task_status" - :value="scope.row.sendState" - /> - </template> - </el-table-column> - - <el-table-column - label="浠诲姟璇︽儏" - fixed="right" - align="center" - width="200" - class-name="small-padding fixed-width" - > - <template slot-scope="scope"> - <el-button - size="medium" - type="text" - @click="handleUpdate(scope.row)" - ><span class="button-xq" - ><i class="el-icon-s-data"></i>閫夋嫨娲惧彂</span - ></el-button - > - </template> - </el-table-column> - </el-table> - - <pagination - v-show="tasktotal > 0" - :total="tasktotal" - :page.sync="queryParams.pageNum" - :limit.sync="queryParams.pageSize" - @pagination="distribute" - /> - </el-card> - - <div slot="footer" class="dialog-footer"> - <el-button @click="serviceVisible = false">鍙� 娑�</el-button> - <el-button type="primary" @click="CreateService">鏂板缓浠诲姟</el-button> - </div> - </el-dialog> - <!-- 鐢ㄦ埛瀵煎叆瀵硅瘽妗� --> - <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-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" - :disabled="upload.isUploading" - :on-progress="handleFileUploadProgress" - :on-success="handleFileSuccess" - 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> - <!-- <el-link - type="success" - :underline="false" - style="font-size: 24px; vertical-align: baseline" - href="http://m.qpic.cn/psc?/V50ZTolo1AIhq00dqrJP2169QM2VHGTU/ruAMsa53pVQWN7FLK88i5qfmCJclyMduqqL6kjE4h7TXDAjimVtmLmTyGVfF4qlkyOISsYQ4Mxx705X2tkXEIUPrfCS4L4yK.f11SmO8Tq0!/b&bo=twb0AgAAAAADB2U!&rf=viewer_4" - target="_blank" - > - 鏌ョ湅妯℃澘</el-link - > --> - </div> - </el-upload> - </div> - - <!-- 瀹屾垚 --> - <div class="drexamine" v-else-if="dractive == 2"> - <div style="display: flex"> - <img src="@/assets/images/瀵煎叆.png" /> - <p>瀵煎叆鎮h�呮垚鍔燂紒</p> - <p> - 鏈鎴愬姛瀵煎叆<span style="color: #72d3a9; font-size: 20px">{{ - uploadingData.length - }}</span - >浣嶆偅鑰� - </p> - </div> - - <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="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> - <el-table-column prop="createTime" width="200" 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 slot="footer"> - <el-button type="primary" @click="submitFileForm">{{ - dractive == 1 ? "涓嬩竴姝�" : "鍔犲叆浠诲姟" - }}</el-button> - <el-button @click="submitclose">鍙� 娑�</el-button> - </div> - </el-dialog> - </div> -</template> - -<script> -import store from "@/store"; -import { - editgeneravaluel, - addgeneravaluel, - getgeneravaluelinfo, - addgeneral, - editgeneral, - getgeneralinfo, - getgeneralclassify, - delgeneravaluelinfo, - getgeneravaluellist, -} from "@/api/AiCentre/index"; -import { getToken } from "@/utils/auth"; - -export default { - data() { - return { - loading: false, - id: null, - usable: [], - index: "", - queryParams:{ - pageNum: 1, // - pageSize: 10, - }, - logsheetlist: [], - deptOptions: [], - mode: [], - pitchon: "", - targetList: [], - - usablend: [ - { - value: 0, - label: "闈炵粨鏉熻", - }, - { - value: 1, - label: "缁撴潫璇�", - }, - ], - ruleForm: { - dynamiccruxs: [], - nodynamiccruxs: [], - }, - baseForm: { - extName: "", - }, - // 鐢ㄦ埛瀵煎叆鍙傛暟 - upload: { - // 鏄惁鏄剧ず寮瑰嚭灞傦紙鐢ㄦ埛瀵煎叆锛� - open: false, - // 寮瑰嚭灞傛爣棰橈紙鐢ㄦ埛瀵煎叆锛� - title: "", - // 鏄惁绂佺敤涓婁紶 - isUploading: false, - // 鏄惁鏇存柊宸茬粡瀛樺湪鐨勭敤鎴锋暟鎹� - updateSupport: 0, - // 璁剧疆涓婁紶鐨勮姹傚ご閮� - headers: { Authorization: "Bearer " + getToken() }, - // 涓婁紶鐨勫湴鍧� - url: process.env.VUE_APP_BASE_API + "/smartor/import/importPatInfo", - }, - rules: {}, - bases: {}, - whether: 1, //1涓哄叧閿瘝锛�2涓哄惁瀹氬叧閿瘝 - dractive: 1, - inputValue: "", - serviceradio: "", - serviceradiofs: "", - serviceVisible: false, - inputVisible: false, - noinputVisible: false, - loading: false, - regular: [], - noregular: [], - }; - }, - - created() { - this.id = this.$route.query.id; - this.getList(); - this.usable = store.getters.usablesz; - this.mode = store.getters.mode; - this.regular = store.getters.regular; - this.noregular = store.getters.noregular; - }, - - methods: { - getList() { - if (this.id) { - this.$modal.loading("璇风◢鍊�..."); - getgeneralinfo(this.id).then((res) => { - if (res.code == 200) { - this.baseForm = res.data; - } - this.$modal.closeLoading(); - }); - getgeneravaluellist({ extID: this.id }).then((res) => { - if (res.code == 200) { - this.targetList = res.rows; - } - this.$modal.closeLoading(); - }); - } - getgeneralclassify({}).then((res) => { - this.deptOptions = res.rows; - console.log(res); - }); - }, - // 鏂板浠诲姟 - getTaskservelist() { - this.serviceVisible = true; - }, - // 瀵煎叆鎮h�� - getTaskservedr() { - this.upload.title = "鐢ㄦ埛瀵煎叆"; - this.upload.open = true; - }, - /** 鏂板鎸夐挳鎿嶄綔 */ - handleAdd() {}, - /** 淇敼鎸夐挳鎿嶄綔 */ - handleUpdate(row, index) { - this.pitchon = row.switchText; - this.ruleForm = row; - this.index = index; - }, - // 鍒犻櫎 - handleDelete(item) { - this.$modal - .confirm("鏄惁纭鍒犻櫎璇ヨ瘽鏈」锛�") - .then((res) => { - if (item.id) { - delgeneravaluelinfo(item.id).then((res) => { - this.$modal.msgSuccess("鍒犻櫎鎴愬姛"); - }); - } - this.targetList = this.targetList.filter((obj) => obj !== item); - }) - .catch(() => {}); - }, - // 淇濆瓨涓昏〃 - submitForm() { - if (this.baseForm.id) { - editgeneral(this.baseForm).then((res) => { - if (res.code == 200) { - this.$modal.msgSuccess("淇敼鎴愬姛"); - this.savetalk(); - } - }); - } else { - addgeneral(this.baseForm).then((res) => { - if (res.code == 200) { - this.$modal.msgSuccess("鏂板鎴愬姛"); - this.baseForm.id = res.data.id; - this.id = res.data.id; - this.savetalk(); - } - }); - } - }, - // 淇濆瓨璇濇湳 - savetalk() { - this.targetList.forEach((obj) => { - if (obj.id) { - editgeneravaluel(obj).then((res) => { - this.getList(); - }); - } else { - obj.extID = this.baseForm.id; - addgeneravaluel(obj).then((res) => { - this.getList(); - }); - } - }); - }, - modification(type) { - if (type == "add") { - console.log(this.ruleForm, "ruleForm"); - this.targetList.push(this.ruleForm); - } else { - this.targetList[this.index] = this.ruleForm; - } - this.ruleForm = {}; - }, - // 鍏抽棴 - resetForm() { - this.$confirm("鍗冲皢閫�鍑洪〉闈�, 璇风‘璁ゆ暟鎹槸鍚︿繚瀛�?", "鎻愮ず", { - confirmButtonText: "纭畾", - cancelButtonText: "鍙栨秷", - type: "warning", - }) - .then(() => { - this.$router.go(-1); - }) - .catch(() => { - this.$message({ - type: "info", - message: "宸插彇娑�", - }); - }); - }, - - // 姝e垯----------------- - singletask(row) {}, - // 瀵煎叆----------------- - /** 瀵煎叆鎸夐挳鎿嶄綔 */ - handleImport() { - this.upload.title = "鐢ㄦ埛瀵煎叆"; - this.upload.open = true; - }, - handleFileUploadProgress(event, file, fileList) { - this.upload.isUploading = true; - }, - // 鏂囦欢涓婁紶鎴愬姛澶勭悊 - handleFileSuccess(response, file, fileList) { - this.upload.isUploading = false; - this.uploadingData = response.rows; - console.log(response, "鏂囦欢"); - this.$refs.upload.clearFiles(); - }, - // 鎻愪氦涓婁紶鏂囦欢 - submitFileForm() { - // 涓婁紶 - if (this.dractive == 1) { - this.$refs.upload.submit(); - this.dractive++; - } else if (this.dractive == 2) { - this.handleSelectionChange(this.uploadingData, 4); - this.upload.open = false; - this.dractive = 1; - } - }, - submitclose() { - this.upload.open = false; - this.dractive = 1; - }, - }, -}; -</script> - -<style lang="scss" scoped> -.Followuserinfo { - margin: 20px 10px; - align-items: center; - padding: 30px; - background: #ffff; - border: 1px solid #dcdfe6; - -webkit-box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.12), - 0 0 6px 0 rgba(0, 0, 0, 0.04); - .userinfo-text { - font-size: 20px; - margin-right: 20px; - margin-bottom: 10px; - } - .userinfo-value { - color: rgb(15, 139, 211); - span { - margin-right: 20px; - } - } -} -.download { - text-align: center; - .el-upload__tip { - font-size: 23px; - } - .el-upload__text { - font-size: 23px; - } -} -.headline { - font-size: 24px; - height: 40px; - border-left: 5px solid #5788fe; - padding-left: 5px; - margin-bottom: 10px; - display: flex; - // justify-content: space-between; - .Add-details { - font-size: 18px; - color: #02a7f0; - cursor: pointer; - } -} -.presentation { - margin: 20px 0; - display: flex; - .presentation-left { - width: 50%; - // height: 500px; - } - .presentation-right { - width: 50%; - max-height: 688px; - padding: 0 20px; - font-size: 18px; - overflow: auto; - } -} -.button-textxg { - color: rgb(35, 81, 233); -} -.button-textsc { - color: rgb(235, 23, 23); -} -.topicxq { - background-color: #e2f5fc; - border-radius: 4px; - margin-top: 10px; - padding: 10px; -} - -.el-tag + .el-tag { - margin-left: 10px; -} -.button-new-tag { - margin-left: 10px; - height: 32px; - line-height: 30px; - padding-top: 0; - padding-bottom: 0; -} -.input-new-tag { - width: 90px; - margin-left: 10px; - vertical-align: bottom; -} -::v-deep .block .el-card { - border: 1px solid #52aee8; -} -::v-deep .block .el-card.is-hover-shadow:hover { - box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1), 0 8px 16px rgba(0, 0, 0, 0.2); - cursor: pointer; -} -</style> diff --git a/src/views/patient/medtechnician/PatientChart.vue b/src/views/patient/medtechnician/PatientChart.vue deleted file mode 100644 index b458d95..0000000 --- a/src/views/patient/medtechnician/PatientChart.vue +++ /dev/null @@ -1,1159 +0,0 @@ -<template> - <div class="app-container"> - <el-row :gutter="20"> - <!--鐢ㄦ埛鏁版嵁--> - - <el-form - :model="topqueryParams" - ref="queryForm" - size="small" - :inline="true" - v-show="showSearch" - label-width="98px" - > - <el-form-item label="浠诲姟缁勫悕绉�"> - <el-input - v-model="topqueryParams.taskName" - @keyup.enter.native="handleQuery" - ></el-input> - </el-form-item> - <el-form-item label="鍒涘缓浜�"> - <el-input - v-model="topqueryParams.createBy" - @keyup.enter.native="handleQuery" - ></el-input> - </el-form-item> - <el-form-item label="鍒涘彂閫佹椂闂�"> - <el-date-picker - v-model="dateRange" - style="width: 240px" - value-format="yyyy-MM-dd" - type="daterange" - range-separator="-" - start-placeholder="寮�濮嬫棩鏈�" - end-placeholder="缁撴潫鏃ユ湡" - ></el-date-picker> - </el-form-item> - - <el-form-item label="浠诲姟缁勬ā鏉�" prop="status"> - <el-input - v-model="topqueryParams.templatename" - @keyup.enter.native="handleQuery" - ></el-input> - </el-form-item> - <el-form-item label="浠诲姟缁勭姸鎬�" prop="status"> - <el-select v-model="topqueryParams.sendState" placeholder="璇烽�夋嫨"> - <el-option - v-for="item in dict.type.task_status" - :key="item.value" - :label="item.label" - :value="item.value" - > - </el-option> - </el-select> - </el-form-item> - <el-form-item> - <el-button - type="primary" - icon="el-icon-search" - size="medium" - @click="handleQuery" - >鎼滅储</el-button - > - <el-button icon="el-icon-refresh" size="medium" @click="resetQuery" - >閲嶇疆</el-button - > - </el-form-item> - </el-form> - <el-divider></el-divider> - <el-row :gutter="10" class="mb8"> - <el-col :span="1.5"> - <el-select - v-model="tasktopic" - placeholder="璇烽�夋嫨浼樺厛鏈嶅姟绫诲瀷" - > - <el-option - v-for="item in taskoptions" - :key="item.value" - :label="item.label" - :value="item.value" - > - </el-option> - </el-select> - </el-col> - - <el-col :span="1.5"> - <el-button - type="primary" - icon="el-icon-plus" - size="medium" - @click="handleAdd" - :disabled="!tasktopic" - >鏂板缓浠诲姟缁�</el-button - > - </el-col> - - <!-- <el-col :span="19"> - <div class="documentf"> - <div class="document"> - <el-button - type="warning" - plain - icon="el-icon-download" - size="medium" - @click="handleExport" - v-hasPermi="['system:user:export']" - >瀵煎嚭</el-button - > - </div> - </div> - </el-col> --> - <!-- <el-col :span="1.5"> </el-col> --> - </el-row> - <!-- <right-toolbar - :showSearch.sync="showSearch" - @queryTable="getList" - :columns="columns" - ></right-toolbar> --> - <el-table v-loading="loading" :data="userList"> - <!-- <el-table-column - label="搴忓彿" - fixed - align="center" - key="taskid" - prop="taskid" - /> --> - - <el-table-column - label="浠诲姟缁勫悕绉�" - fixed - width="120" - align="center" - key="taskName" - prop="taskName" - :show-overflow-tooltip="true" - /> - <el-table-column - label="浠诲姟缁勬弿杩�" - width="280" - align="center" - key="taskDesc" - prop="taskDesc" - :show-overflow-tooltip="true" - /> - <el-table-column - label="浠诲姟娴佺▼" - width="280" - align="center" - key="taskDesc" - prop="taskDesc" - :show-overflow-tooltip="true" - /> - <el-table-column - label="鏈嶅姟椤圭洰" - width="120" - align="center" - key="templatename" - prop="templatename" - :show-overflow-tooltip="true" - /> - <el-table-column - label="寰呮墽琛�/鎬讳换鍔$粍" - align="center" - key="nickName" - prop="nickName" - > - <template slot-scope="scope"> - <span>{{ scope.row.wfs }}/{{ scope.row.yfs }}</span> - </template> - </el-table-column> - <el-table-column - label="鏄惁闀挎湡浠诲姟缁�" - align="center" - key="longTask" - prop="longTask" - width="120" - > - <template slot-scope="scope"> - <span>{{ scope.row.longTask ? "闀挎湡浠诲姟缁�" : "闈為暱鏈�" }}</span> - </template> - </el-table-column> - - <el-table-column - label="鐘舵��" - align="center" - key="sendState" - prop="sendState" - width="120" - > - <template slot-scope="scope"> - <dict-tag - :options="dict.type.task_status" - :value="scope.row.sendState" - /> - </template> - </el-table-column> - - <el-table-column - label="鍒涘缓浜�" - align="center" - key="createBy" - prop="createBy" - width="120" - :show-overflow-tooltip="true" - /> - <el-table-column - label="鍒涘缓鏃堕棿" - sortable - align="center" - prop="createTime" - width="160" - > - <template slot-scope="scope"> - <span>{{ formatTime(scope.row.createTime) }}</span> - </template> - </el-table-column> - - <el-table-column - label="鎿嶄綔" - fixed="right" - align="center" - width="180" - class-name="small-padding fixed-width" - > - <template slot-scope="scope"> - <el-button - v-if=" - (scope.row.sendState == 1 || scope.row.sendState == 3) && - !scope.row.longTask - " - size="medium" - type="text" - @click="sponsor(scope.row)" - ><span class="button-zx" - ><i class="el-icon-s-promotion"></i>鍙戣捣</span - ></el-button - > - <!-- <el-button size="medium" type="text" @click="newAdd(scope.row)" - ><span class="button-xj" - ><i class="el-icon-circle-plus-outline"></i>缁堟</span - ></el-button - > --> - <el-button - size="medium" - type="text" - @click="handleUpdate(scope.row, 1)" - ><span class="button-xj" - ><i class="el-icon-circle-plus-outline"></i>渚濈収鏂板</span - ></el-button - > - <el-button - v-if="scope.row.sendState == 2" - size="medium" - type="text" - @click="stop(scope.row)" - ><span class="button-zt" - ><i class="el-icon-circle-plus-outline"></i>鏆傚仠</span - ></el-button - > - </template> - </el-table-column> - <el-table-column - label="浠诲姟缁勮鎯�" - fixed="right" - align="center" - width="200" - class-name="small-padding fixed-width" - > - <template slot-scope="scope"> - <el-button - size="medium" - type="text" - @click="handleUpdate(scope.row)" - ><span class="button-xq" - ><i class="el-icon-s-data"></i>璇︽儏</span - ></el-button - > - - <el-button size="medium" type="text" @click="deletefn(scope.row)" - ><span class="button-sc" - ><i class="el-icon-delete"></i>鍒犻櫎</span - ></el-button - > - </template> - </el-table-column> - </el-table> - - <pagination - v-show="total > 0" - :total="total" - :page.sync="topqueryParams.pageNum" - :limit.sync="topqueryParams.pageSize" - @pagination="getList" - /> - </el-row> - <!-- 纭鍙戣捣瀵硅瘽妗� --> - <el-dialog - title="浠诲姟缁勫彂璧风‘璁�" - :visible.sync="taskformVisible" - width="50%" - :before-close="handleClose" - > - <el-tabs type="border-card" v-model="activname"> - <el-tab-pane> - <span slot="label"><i class="el-icon-date"></i> 姝e父鍙戣捣</span> - <div style="font-size: 20px; color: red; margin-bottom: 20px"> - 璇风‘璁や换鍔$粍"{{ taskform.taskName }}"鐨勬墽琛屾椂闂� - </div> - <div - style="font-size: 18px; margin-bottom: 20px" - v-if="taskform.showDate" - > - 鎵ц鏃ユ湡锛�<span - style="font-size: 18px; color: #2376b7; margin-bottom: 20px" - >{{ taskform.showDate[0] }} 鑷� {{ taskform.showDate[1] }}</span - > - </div> - <div - style="font-size: 18px; margin-bottom: 20px" - v-if="taskform.showTimeMorn[0]" - > - 绗竴鏃堕棿娈碉細<span - style="font-size: 18px; color: #2376b7; margin-bottom: 20px" - >{{ taskform.showTimeMorn[0] }} 鑷� - {{ taskform.showTimeMorn[1] }}</span - > - </div> - <div - style="font-size: 18px; margin-bottom: 20px" - v-if="taskform.showTimeNight[0]" - > - 绗簩鏃堕棿娈碉細<span - style="font-size: 18px; color: #2376b7; margin-bottom: 20px" - >{{ taskform.showTimeNight[0] }} 鑷� - {{ taskform.showTimeNight[1] }}</span - > - </div> - <div - style="font-size: 18px; margin-bottom: 20px" - v-if="taskform.showTimeNoon[0]" - > - 绗笁鏃堕棿娈碉細<span - style="font-size: 18px; color: #2376b7; margin-bottom: 20px" - >{{ taskform.showTimeNoon[0] }} 鑷� - {{ taskform.showTimeNoon[1] }}</span - > - </div> - </el-tab-pane> - <el-tab-pane label="绔嬪嵆鎵ц"> - <div style="font-size: 20px; color: red; margin-bottom: 20px"> - 姝ゆ搷浣滃皢绔嬪嵆鍙戣捣骞舵墽琛屼换鍔$粍:{{ taskform.taskName }}锛岃璋ㄦ厧鎿嶄綔锛� - </div> - </el-tab-pane> - </el-tabs> - <div style="text-align: right; margin: 20px 0"> - <el-button style="margin-right: 20px" @click="taskformVisible = false" - >鍙� 娑�</el-button - > - <el-button - style="margin-right: 20px" - type="success" - @click="confirmSponsor(taskform)" - >纭鎵ц</el-button - > - <el-button type="primary" @click="handleUpdate(taskform)" - >鍓嶅線淇敼</el-button - > - </div> - </el-dialog> - </div> -</template> - -<script> -import { - getUser, - delUser, - addUser, - updateUser, - resetUserPwd, - changeUserStatus, -} from "@/api/system/user"; -import { - getTasklist, - getTaskInfo, - Editsingletask, - delTaskInfo, - Questionnairetasklist, - Questionnairetaskget, - Questionnairetasksponsor, - TaskTemplateSendExecution, -} from "@/api/AiCentre/index"; -import store from "@/store"; - -import Treeselect from "@riophae/vue-treeselect"; -import "@riophae/vue-treeselect/dist/vue-treeselect.css"; - -export default { - name: "Tasklist", - dicts: ["sys_normal_disable", "sys_user_sex", "task_status"], - components: { Treeselect }, - data() { - return { - // 閬僵灞� - loading: true, - // 閫変腑鏁扮粍 - ids: [], - // 闈炲崟涓鐢� - single: true, - // 闈炲涓鐢� - multiple: true, - // 鏄剧ず鎼滅储鏉′欢 - showSearch: true, - // 鎬绘潯鏁� - total: 0, - // 鐢ㄦ埛琛ㄦ牸鏁版嵁 - userList: null, - // 寮瑰嚭灞傛爣棰� - title: "鏂板闂ㄨ瘖闅忚", - // 鏄惁鏄剧ず淇敼銆佹坊鍔犲脊鍑哄眰 - addalteropen: false, - // 閮ㄩ棬鍚嶇О - deptName: undefined, - // 榛樿瀵嗙爜 - initPassword: undefined, - // 鏃ユ湡鑼冨洿 - dateRange: [], - // 宀椾綅閫夐」 - postOptions: [], - // 瑙掕壊閫夐」 - roleOptions: [], - longTask: 0, - taskform: { - showDate: [], - showTimeMorn: [], - showTimeNight: [], - showTimeNoon: [], - }, - taskformVisible: false, - dynamicTags: ["閫夐」涓�", "閫夐」浜�", "閫夐」涓�"], //閫夐」 - inputVisible: false, - inputValue: "", - previewVisible: false, //闂ㄨ瘖闅忚棰勮寮规 - TaskOperation: {}, - radio: "", - radios: [], - previewtype: 2, //棰勮闂ㄨ瘖闅忚绫诲瀷 - total: 0, // 鎬绘潯鏁� - ImportQuantity: 999, //瀵奸棬璇婇殢璁挎暟閲� - //棰勮闂ㄨ瘖闅忚淇℃伅 - previewvalue: { - username: "杩欎釜鍖荤敓瀵逛綘鎬庝箞鏍�", - }, - longtermlist: [ - { - value: 1, - label: "璇煶闅忚", - }, - { - value: 2, - label: "闂嵎闅忚", - }, - { - value: 3, - label: "瀹f暀鍏虫��", - }, - ], - taskoptions: [ - { - value: "1", - label: "鐩戞祴璇勪及", - }, - { - value: "2", - label: "鍑洪櫌闅忚", - }, - { - value: "3", - label: "闂ㄨ瘖闅忚", - }, - { - value: "4", - label: "瀹f暀鍏虫��", - }, - { - value: "5", - label: "澶嶈瘖绠$悊", - }, - { - value: "6", - label: "婊℃剰搴﹁皟鏌�", - }, - { - value: "7", - label: "鎮h�呮姤鍛�", - }, - - { - value: "8", - label: "鍏朵粬閫氱煡", - }, - ], - tasktopic: "2", //鏂板绫诲瀷 - activname: "", - 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(); - }, - shortcuts: [ - { - text: "浠婂ぉ", - onClick(picker) { - picker.$emit("pick", new Date()); - }, - }, - { - text: "鏄ㄥぉ", - onClick(picker) { - const date = new Date(); - date.setTime(date.getTime() - 3600 * 1000 * 24); - picker.$emit("pick", date); - }, - }, - { - text: "涓�鍛ㄥ墠", - onClick(picker) { - const date = new Date(); - date.setTime(date.getTime() - 3600 * 1000 * 24 * 7); - picker.$emit("pick", date); - }, - }, - ], - }, - // 琛ㄥ崟鍙傛暟 - form: { - phonenumber: "", - totagid: "", - types: "", - nickName: "", - qystatus: "", - btstatus: "", - }, - // 鏌ヨ鍙傛暟 - topqueryParams: { - pageNum: 1, - pageSize: 10, - type: 3, - userName: undefined, - tagid: undefined, - topic: undefined, - }, - propss: { multiple: true }, - options: [], - 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", - }, - ], - }, - }; - }, - watch: {}, - created() { - 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; - this.getList(); - this.getConfigKey("sys.user.initPassword").then((response) => { - this.initPassword = response.msg; - }); - this.checkboxlist = store.getters.checkboxlist; - }, - activated() { - this.getList(); - }, - // 鎼滅储 - mounted() { - this.list = this.states.map((item) => { - return { value: `value:${item}`, label: `label:${item}` }; - }); - }, - methods: { - /** 鏌ヨ浠诲姟缁勫垪琛� */ - getList() { - this.loading = true; - let type = this.$route.query.type; - - this.topqueryParams.serviceType = Number(this.tasktopic); - this.topqueryParams.type = Number(this.type); - if ( - this.tasktopic == 2 || - this.tasktopic == 3 || - this.tasktopic == 1 || - this.tasktopic == 7 || - this.tasktopic == 6 - ) { - this.topqueryParams.type = 2; - this.longtermlist = [ - { - value: 1, - label: "璇煶闅忚", - }, - { - value: 2, - label: "闂嵎闅忚", - }, - ]; - } else if (this.tasktopic == 4 || this.tasktopic == 8) { - this.topqueryParams.type = 3; - this.longtermlist = [ - { - value: 3, - label: "瀹f暀鍏虫��", - }, - - ]; - } else if (this.tasktopic == 5) { - this.topqueryParams.type = 1; - this.longtermlist = [ - { - value: 1, - label: "璇煶闅忚", - }, - { - value: 2, - label: "闂嵎闅忚", - }, - ]; - } - // this.topqueryParams.typename = this.findLabelByValue( - // this.taskoptions, - // this.tasktopic - // ); - this.topqueryParams.startOutHospTime = this.dateRange[0]; - this.topqueryParams.endOutHospTime = this.dateRange[1]; - getTasklist(this.topqueryParams).then((response) => { - this.userList = response.rows; - this.total = response.total; - this.$forceUpdate(); - this.loading = false; - }); - }, - // 鏌ョ湅闂ㄨ瘖闅忚璇︽儏 - Referencequestion(row) { - this.previewVisible = true; - }, - // 娣诲姞寮规鎼滅储 - remoteMethod(query) { - if (query !== "") { - this.loading = true; - setTimeout(() => { - this.loading = false; - this.options = this.list.filter((item) => { - return item.label.toLowerCase().indexOf(query.toLowerCase()) > -1; - }); - }, 200); - } else { - this.options = []; - } - }, - - // 琛ㄥ崟閲嶇疆 - reset() { - this.form = { - userId: undefined, - deptId: undefined, - userName: undefined, - nickName: undefined, - password: undefined, - phonenumber: undefined, - email: undefined, - sex: undefined, - status: "0", - remark: undefined, - postIds: [], - roleIds: [], - }; - this.resetForm("form"); - }, - /** 鎼滅储鎸夐挳鎿嶄綔 */ - handleQuery() { - this.topqueryParams.pageNum = 1; - this.getList(); - }, - /** 閲嶇疆鎸夐挳鎿嶄綔 */ - resetQuery() { - this.dateRange = []; - this.resetForm("queryForm"); - this.topqueryParams.deptId = undefined; - this.$refs.tree.setCurrentKey(null); - this.handleQuery(); - }, - // 澶氶�夋閫変腑鏁版嵁 - handleSelectionChange(selection) { - this.ids = selection.map((item) => item.userId); - this.single = selection.length != 1; - this.multiple = !selection.length; - }, - //鍒犻櫎閫夐」 - handleClose(tag) { - this.dynamicTags.splice(this.dynamicTags.indexOf(tag), 1); - }, - //瑙﹀彂鏂板杈撳叆 - showInput() { - this.inputVisible = true; - this.$nextTick((_) => { - this.$refs.saveTagInput.$refs.input.focus(); - }); - }, - //鑾峰彇澶卞幓鐒︾偣瑙﹀彂 - handleInputConfirm() { - let inputValue = this.inputValue; - if (inputValue) { - this.dynamicTags.push(inputValue); - } - this.inputVisible = false; - this.inputValue = ""; - }, - /** 鏂板鎸夐挳鎿嶄綔 */ - handleAdd() { - this.$router.push({ - path: "/combination/Compositeeditdetails", - query: { - type: this.topqueryParams.type, - serviceType: this.tasktopic, - }, - }); - }, - /** 淇敼鎸夐挳鎿嶄綔 */ - handleUpdate(row, newadd) { - this.$router.push({ - path: "/combination/Compositeeditdetails", - query: { - id: row.taskid, - type: this.topqueryParams.type, - serviceType: this.tasktopic, - newadd: newadd, //鏄惁渚濈収鏂板缓 - }, - }); - - }, - // 鍒犻櫎浠诲姟缁� - deletefn(row) { - this.$modal - .confirm( - '鏄惁鍒犻櫎浠诲姟缁勫悕绉颁负"' + - row.taskName + - '"鐨勬暟鎹」锛屽垹闄ゅ悗涓嶅彲鎾ゅ洖锛佹槸鍚︾户缁�' - ) - .then(() => { - delTaskInfo(row.taskid).then((res) => { - if (res.code == 200) { - this.getList(); - this.$modal.msgSuccess("鍒犻櫎鎴愬姛"); - } - }); - }) - .catch(() => {}); - }, - // 浠诲姟缁勫彂璧� - sponsor(row) { - console.log(row, "浠诲姟缁勪俊鎭�"); - this.taskform = row; - if (this.taskform.showDate && this.taskform.sendType != 2) { - this.taskform.showDate = this.taskform.showDate.split(","); - } - if (this.taskform.showTimeMorn && this.taskform.sendType != 2) { - this.taskform.showTimeMorn = this.taskform.showTimeMorn.split(","); - } else { - this.taskform.showTimeMorn = []; - } - if (this.taskform.showTimeNight && this.taskform.sendType != 2) { - this.taskform.showTimeNight = this.taskform.showTimeNight.split(","); - } else { - this.taskform.showTimeNight = []; - } - if (this.taskform.showTimeNoon && this.taskform.sendType != 2) { - this.taskform.showTimeNoon = this.taskform.showTimeNoon.split(","); - } else { - this.taskform.showTimeNoon = []; - } - if (this.taskform.sendState != 2 && this.taskform.sendType != 2) { - this.taskformVisible = true; - } else if (this.taskform.sendState != 2 && this.taskform.sendType == 2) { - this.TaskOperation.taskId = row.taskid; - this.TaskOperation.taskType = this.topqueryParams.type; - this.TaskOperation.sendState = 2; - this.TaskOperation.sendType = 2; - this.$modal - .confirm( - '褰撳墠閫変腑浠诲姟缁勫悕绉颁负"' + - row.taskName + - '"鐨勬暟鎹」涓虹珛鍗虫墽琛屼换鍔$粍锛屽彂璧锋墽琛屽悗涓嶅彲鎾ゅ洖锛佹槸鍚︾户缁�' - ) - .then(() => { - TaskTemplateSendExecution(this.TaskOperation).then((res) => { - if (res.code == 200) { - this.getList(); - this.$modal.msgSuccess("浠诲姟缁勫凡绔嬪嵆鎵ц"); - } - }); - }) - .catch(() => {}); - } else { - this.$modal.msgError("浠诲姟缁勫凡鍙戣捣锛屼笉鍙啀娆″彂璧�"); - } - }, - // 纭鍙戣捣 - confirmSponsor(row) { - if (this.activname == 0) { - this.TaskOperation.taskId = row.taskid; - this.TaskOperation.taskType = this.topqueryParams.type; - this.TaskOperation.sendState = 2; - TaskTemplateSendExecution(this.TaskOperation).then((res) => { - if (res.code == 200) { - this.$modal.msgSuccess("浠诲姟缁勫凡鎴愬姛鍔犲叆鎵ц闃熷垪"); - this.taskformVisible = false; - this.getList(); - } - }); - } else if (this.activname == 1) { - this.immediateExecution(row); - } - }, - - // 绔嬪嵆鎵ц - immediateExecution(row) { - console.log(row, "浠诲姟缁勪俊鎭�"); - if (row.sendState != 2) { - this.TaskOperation.taskType = this.topqueryParams.type; - this.TaskOperation.taskId = row.taskid; - this.TaskOperation.sendState = 2; - this.TaskOperation.sendType = 2; - this.$modal - .confirm( - '鏄惁绔嬪嵆鎵ц浠诲姟缁勫悕绉颁负涓�"' + - row.taskName + - '"鐨勬暟鎹」锛熷彂璧锋墽琛屽悗涓嶅彲鎾ゅ洖锛�' - ) - .then(() => { - TaskTemplateSendExecution(this.TaskOperation).then((res) => { - if (res.code == 200) { - this.getList(); - this.$modal.msgSuccess("浠诲姟缁勫凡绔嬪嵆鎵ц"); - } - }); - }) - .then(() => {}) - .catch(() => {}); - } - }, - - // 鏆傚仠 - stop(row) { - console.log(row); - if (row.sendState == 2) { - this.TaskOperation.taskId = row.taskid; - this.TaskOperation.sendState = 3; - this.TaskOperation.sendType = ""; - this.TaskOperation.taskType = row.type; - TaskTemplateSendExecution(this.TaskOperation).then((res) => { - this.$modal.msgSuccess("浠诲姟缁勫凡鏆傚仠"); - this.getList(); - }); - } - }, - - /** 鎻愪氦鎸夐挳 */ - 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.getList(); - }); - } else { - addUser(this.form).then((response) => { - this.$modal.msgSuccess("鏂板鎴愬姛"); - this.open = false; - this.getList(); - }); - } - } - }); - }, - /** 鍒犻櫎鎸夐挳鎿嶄綔 */ - handleDelete(row) { - const userIds = row.userId || this.ids; - this.$modal - .confirm('鏄惁纭鍒犻櫎鐢ㄦ埛缂栧彿涓�"' + userIds + '"鐨勬暟鎹」锛�') - .then(function () { - return delUser(userIds); - }) - .then(() => { - this.getList(); - this.$modal.msgSuccess("鍒犻櫎鎴愬姛"); - }) - .catch(() => {}); - }, - /** 瀵煎嚭鎸夐挳鎿嶄綔 */ - handleExport() { - this.download( - "system/user/export", - { - ...this.topqueryParams, - }, - `user_${new Date().getTime()}.xlsx` - ); - }, - findLabelByValue(data, value) { - const item = data.find((item) => item.value === value); - return item ? item.label : null; - }, - }, -}; -</script> - -<style lang="scss" scoped> -.el-button--primary.is-plain { - color: #ffffff; - background: #409eff; - border-color: #4fabe9; -} - -.document { - width: 100px; - height: 50px; -} - -.documentf { - display: flex; - justify-content: flex-end; -} - -.download { - text-align: center; - - .el-upload__tip { - font-size: 23px; - } - - .el-upload__text { - font-size: 23px; - } -} - -.uploading { - margin-top: 20px; - margin: 20px; - padding: 30px; - background: #ffffff; - border: 1px solid #dcdfe6; - -webkit-box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.12), - 0 0 6px 0 rgba(0, 0, 0, 0.04); -} - -.el-tag + .el-tag { - margin-left: 10px; -} - -.button-new-tag { - margin-left: 10px; - height: 32px; - line-height: 30px; - padding-top: 0; - padding-bottom: 0; -} - -.input-new-tag { - width: 90px; - margin-left: 10px; - vertical-align: bottom; -} - -.drexamine { - display: flex; - align-items: center; - justify-content: center; - padding: 30px; - background: #daeaf5; - - img { - width: 100px; - height: 100px; - } -} - -.qrcode-dialo { - // text-align: center; - // display: flex; - margin: 20px; - padding: 30px; - background: #edf1f7; - border: 1px solid #dcdfe6; - -webkit-box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.12), - 0 0 6px 0 rgba(0, 0, 0, 0.04); - - .topic-dev { - margin-bottom: 25px; - font-size: 20px !important; - - .dev-text { - margin-bottom: 10px; - } - } -} -.button-bb { - font-weight: 500; - color: #2ba05c; -} -.button-xq { - font-weight: 500; - color: #409eff; -} -.button-sc { - font-weight: 500; - color: #dd302a; -} -.button-zx { - background: #4fabe9; - padding: 5px; - border-radius: 1px; - color: #ffffff; -} -.button-lj { - background: #e9614f; - padding: 5px; - border-radius: 1px; - color: #ffffff; -} -.button-xj { - background: #815c94; - padding: 5px; - border-radius: 1px; - color: #ffffff; -} -.button-zt { - background: #f9c116; - padding: 5px; - border-radius: 1px; - color: #ffffff; -} - -::v-deep.el-radio-group { - span { - font-size: 24px; - } -} - -::v-deep.el-button + .el-button { - margin-left: 0; -} -::v-deep.el-checkbox-group { - span { - font-size: 24px; - } -} -</style> diff --git a/src/views/patient/medtechnician/SpecializedService.vue b/src/views/patient/medtechnician/SpecializedService.vue deleted file mode 100644 index 128c475..0000000 --- a/src/views/patient/medtechnician/SpecializedService.vue +++ /dev/null @@ -1,1262 +0,0 @@ -<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 }} - </div> - </div> - </el-card> - </el-col> - </el-row> - </div> - <el-row :gutter="20"> - <!--鐢ㄦ埛鏁版嵁--> - <el-form - :model="topqueryParams" - ref="queryForm" - size="small" - :inline="true" - v-show="showSearch" - label-width="98px" - > - <el-form-item label="浠诲姟缁勫悕绉�"> - <el-input - v-model="topqueryParams.taskName" - placeholder="璇烽�夋嫨浠诲姟缁勫悕绉�" - ></el-input> - </el-form-item> - - <el-form-item label="鍑洪櫌鏃堕棿"> - <el-date-picker - v-model="dateRange" - style="width: 240px" - value-format="yyyy-MM-dd" - type="daterange" - range-separator="-" - start-placeholder="寮�濮嬫棩鏈�" - end-placeholder="缁撴潫鏃ユ湡" - ></el-date-picker> - </el-form-item> - - <el-form-item label="鎮h�呭鍚�" prop="sendname"> - <el-input - v-model="topqueryParams.sendname" - placeholder="璇疯緭鍏ユ偅鑰呭鍚�" - ></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-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" - :label="item.label" - :value="item.value" - > - </el-option> - </el-select> - </el-form-item> - - <el-form-item> - <el-button - type="primary" - icon="el-icon-search" - size="medium" - @click="handleQuery" - >鎼滅储</el-button - > - <el-button icon="el-icon-refresh" size="medium" @click="resetQuery" - >閲嶇疆</el-button - > - </el-form-item> - </el-form> - <el-divider></el-divider> - <el-row :gutter="10" class="mb8"> - <el-col :span="1.5"> - <el-button - type="primary" - plain - icon="el-icon-plus" - size="medium" - @click="handleAdd" - >鏂板</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"> - <el-button - type="warning" - plain - icon="el-icon-warning-outline" - size="medium" - @click="toleadExport(1)" - >鎵ц澶辫触</el-button - > - </div> - </div> - </el-col> - <el-col :span="1.5"> - <div class="documentf"> - <div class="document"> - <el-button - type="danger" - plain - icon="el-icon-warning" - size="medium" - @click="toleadExport(2)" - >缁撴灉寮傚父</el-button - > - </div> - </div> - </el-col> - </el-row> - <el-table - v-loading="loading" - :data="userList" - height="660" - :row-class-name="tableRowClassName" - @selection-change="handleSelectionChange" - > - <el-table-column type="selection" width="50" align="center" /> - <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 - align="center" - key="sendname" - prop="sendname" - /> - <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="createBy" - prop="createBy" - 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="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="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="icdName" - prop="icdName" - width="120" - :show-overflow-tooltip="true" - > - </el-table-column> --> - - <el-table-column - label="鍑洪櫌闅忚妯℃澘鍚嶇О" - align="center" - key="templatename" - prop="templatename" - width="200" - /> - <el-table-column - - label="浠诲姟缁勬墽琛屾柟寮�" - align="center" - key="preachform" - prop="preachform" - width="160" - :show-overflow-tooltip="true" - > - <template slot-scope="scope"> - <span v-for="item in scope.row.preachform" - >{{ item }}銆� - </span> - </template> - </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" - 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 }}</el-tag - > - <el-tag type="warning" v-else>{{ scope.row.remark }}</el-tag> - </template> - </el-table-column> - <el-table-column - label="鎿嶄綔" - fixed="right" - align="center" - width="200" - class-name="small-padding fixed-width" - > - <template slot-scope="scope"> - <!-- <el-tooltip - class="item" - effect="dark" - content="閲嶆柊闅忚" - placement="top" - > - <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 - > - </template> - </el-table-column> - </el-table> - - <pagination - v-show="total > 0" - :total="total" - :page.sync="topqueryParams.pageNum" - :limit.sync="topqueryParams.pageSize" - @pagination="getList" - /> - </el-row> - <!-- 娣诲姞鎴栦慨鏀归棬璇婇殢璁垮璇濇 --> - <el-dialog - :title="title" - :visible.sync="addalteropen" - width="700px" - append-to-body - > - <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-select> - </el-form-item> - </el-col> - </el-row> - <el-row :gutter="20"> - <el-col :span="24"> - <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> - </div> - </el-dialog> - <!-- 淇敼鍙戦�佹椂闂村璇濇 --> - <el-dialog - title="鍙戦�佹椂闂磋缃�" - :visible.sync="modificationVisible" - width="45%" - > - <div style="margin-bottom: 20px; color: red"> - 缁熶竴淇敼褰撳ぉ鏈彂閫佺殑浠诲姟缁勬椂闂� - </div> - - <el-form - :model="ruleForm" - :rules="rules" - ref="ruleForm" - label-width="120px" - class="demo-ruleForm" - > - <el-form-item label="鍙戦�佹棩鏈�"> - <el-date-picker - v-model="ruleForm.value1" - type="date" - placeholder="閫夋嫨鏃ユ湡" - > - </el-date-picker> - </el-form-item> - - <el-form-item label="鏃堕棿娈�" prop="type"> - <el-checkbox-group v-model="ruleForm.type"> - <el-checkbox label="涓婂崍" name="type"></el-checkbox> - <el-checkbox label="涓嬪崍" name="type"></el-checkbox> - <el-checkbox label="鏅氫笂" name="type"></el-checkbox> - </el-checkbox-group> - </el-form-item> - <el-form-item label="涓婂崍鏃堕棿鍖洪棿" required> - <el-time-picker - is-range - v-model="ruleForm.value2" - range-separator="鑷�" - start-placeholder="寮�濮嬫椂闂�" - end-placeholder="缁撴潫鏃堕棿" - placeholder="閫夋嫨鏃堕棿鑼冨洿" - > - </el-time-picker> - </el-form-item> - <el-form-item label="涓嬪崍鏃堕棿鍖洪棿" required> - <el-time-picker - is-range - v-model="ruleForm.value3" - range-separator="鑷�" - start-placeholder="寮�濮嬫椂闂�" - end-placeholder="缁撴潫鏃堕棿" - placeholder="閫夋嫨鏃堕棿鑼冨洿" - > - </el-time-picker> - </el-form-item> - <el-form-item label="鏅氫笂鏃堕棿鍖洪棿" required> - <el-time-picker - is-range - v-model="ruleForm.value4" - range-separator="鑷�" - start-placeholder="寮�濮嬫椂闂�" - end-placeholder="缁撴潫鏃堕棿" - placeholder="閫夋嫨鏃堕棿鑼冨洿" - > - </el-time-picker> - </el-form-item> - </el-form> - - <span slot="footer" class="dialog-footer"> - <el-button @click="modificationVisible = false">鍙� 娑�</el-button> - <el-button type="primary" @click="modificationVisible = false" - >纭� 瀹�</el-button - > - </span> - </el-dialog> - </div> -</template> - -<script> -import { - listUser, - getUser, - delUser, - addUser, - updateUser, - resetUserPwd, - changeUserStatus, -} from "@/api/system/user"; -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: "Discharge", - 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, - // 鐢ㄦ埛琛ㄦ牸鏁版嵁 - userList: null, - // 寮瑰嚭灞傛爣棰� - title: "鏂板闂ㄨ瘖闅忚", - // 鏄惁鏄剧ず淇敼銆佹坊鍔犲脊鍑哄眰 - addalteropen: false, - // 淇敼鍙戦�佹椂闂村璇濇 - modificationVisible: false, - // 閮ㄩ棬鍚嶇О - deptName: undefined, - // 榛樿瀵嗙爜 - initPassword: undefined, - // 鏃ユ湡鑼冨洿 - dateRange: [], - // 宀椾綅閫夐」 - postOptions: [], - ruleForm: { - type: [], - }, - dynamicTags: ["閫夐」涓�", "閫夐」浜�", "閫夐」涓�"], //閫夐」 - inputVisible: false, - inputValue: "", - previewVisible: false, //闂ㄨ瘖闅忚棰勮寮规 - radio: "", - radios: [], - previewtype: 2, //棰勮闂ㄨ瘖闅忚绫诲瀷 - total: 0, // 鎬绘潯鏁� - ImportQuantity: 999, //瀵奸棬璇婇殢璁挎暟閲� - //棰勮闂ㄨ瘖闅忚淇℃伅 - previewvalue: { - username: "杩欎釜鍖荤敓瀵逛綘鎬庝箞鏍�", - }, - value: [], - list: [], - source: [ - { - value: 0, - label: "鎵�灞炴偅鑰�", - }, - { - value: 1, - label: "绉戝鎮h��", - }, - { - value: 2, - label: "鐥呭尯鎮h��", - }, - ], - loading: false, - cardlist: [ - { - name: "鍏ㄩ儴鏈嶅姟", - value: 0, - }, - { - name: "搴旈殢璁�", - value: 0, - }, - { - name: "涓嶆墽琛�", - value: 0, - }, - { - name: "寮傚父", - value: 0, - }, - { - name: "鍙戦�佸け璐�", - value: 0, - }, - { - name: "琚鍙�", - value: 0, - }, - { - name: "宸插彂閫佹湭棰嗗彇", - value: 0, - }, - ], - 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: 2, - searchscope: 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父", - }, - ], - serviceState: [], - checkboxlist: [], - // 琛ㄥ崟鏍¢獙 - rules: {}, - }; - }, - watch: {}, - created() { - this.serviceState = store.getters.serviceState; - this.checkboxlist = store.getters.checkboxlist; - - this.getList(); - this.getConfigKey("sys.user.initPassword").then((response) => { - this.initPassword = response.msg; - }); - }, - activated() { - this.getList(); - }, - methods: { - /** 鏌ヨ闂ㄨ瘖闅忚鏈嶅姟鍒楄〃 */ - 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 { - this.topqueryParams.leaveldeptcodes = store.getters.belongDepts.map( - (obj) => obj.deptCode - ); - this.topqueryParams.leavehospitaldistrictcodes = - store.getters.belongWards.map((obj) => obj.districtCode); - } - this.loading = true; - getTaskservelist(this.topqueryParams).then((response) => { - this.userList = response.rows[0].serviceSubtaskList; - this.cardlist[0].value = - Number(response.rows[0].wzx) + Number(response.rows[0].ysf); - this.cardlist[1].value = response.rows[0].ysf; - this.cardlist[2].value = response.rows[0].wzx; - this.cardlist[3].value = response.rows[0].yc; - this.cardlist[4].value = response.rows[0].fssb; - this.cardlist[5].value = response.rows[0].blq; - this.cardlist[6].value = response.rows[0].yfs; - this.userList.forEach((item) => { - if (item.endtime) { - item.endDay = this.daysBetween(item.endtime); - } - const 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; - this.loading = false; - }); - }, - // 鏌ョ湅闂ㄨ瘖闅忚璇︽儏 - Referencequestion(row) { - this.previewVisible = true; - }, - // 娣诲姞寮规鎼滅储 - remoteMethod(query) { - if (query !== "") { - this.loading = true; - setTimeout(() => { - this.loading = false; - this.options = this.list.filter((item) => { - return item.label.toLowerCase().indexOf(query.toLowerCase()) > -1; - }); - }, 200); - } else { - this.options = []; - } - }, - // 闂ㄨ瘖闅忚鐘舵�佷慨鏀� - handleStatusChange(row) { - let text = row.status === "0" ? "鍚敤" : "鍋滅敤"; - this.$modal - .confirm('纭瑕�"' + text + '""' + row.userName + '"鐢ㄦ埛鍚楋紵') - .then(function () { - return changeUserStatus(row.userId, row.status); - }) - .then(() => { - this.$modal.msgSuccess(text + "鎴愬姛"); - }) - .catch(function () { - row.status = row.status === "0" ? "1" : "0"; - }); - }, - // 鍙栨秷鎸夐挳 - cancel() { - this.addalteropen = false; - this.reset(); - }, - // 琛ㄥ崟閲嶇疆 - reset() { - this.form = { - userId: undefined, - deptId: undefined, - userName: undefined, - nickName: undefined, - password: undefined, - phonenumber: undefined, - email: undefined, - sex: undefined, - status: "0", - remark: undefined, - postIds: [], - roleIds: [], - }; - this.resetForm("form"); - }, - /** 鎼滅储鎸夐挳鎿嶄綔 */ - handleQuery() { - 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 { - 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]; - - this.getList(); - }, - /** 閲嶇疆鎸夐挳鎿嶄綔 */ - resetQuery() { - this.dateRange = []; - this.topqueryParams = { - pageNum: 1, - pageSize: 10, - serviceType: 2, - searchscope: 2, - }; - this.handleQuery(); - }, - // 澶氶�夋閫変腑鏁版嵁 - handleSelectionChange(selection) { - this.ids = selection.map((item) => item.userId); - this.single = selection.length != 1; - this.multiple = !selection.length; - }, - //鍒犻櫎閫夐」 - handleClose(tag) { - this.dynamicTags.splice(this.dynamicTags.indexOf(tag), 1); - }, - //瑙﹀彂鏂板杈撳叆 - showInput() { - this.inputVisible = true; - this.$nextTick((_) => { - this.$refs.saveTagInput.$refs.input.focus(); - }); - }, - //鑾峰彇澶卞幓鐒︾偣瑙﹀彂 - handleInputConfirm() { - let inputValue = this.inputValue; - if (inputValue) { - this.dynamicTags.push(inputValue); - } - this.inputVisible = false; - this.inputValue = ""; - }, - /** 鏂板鎸夐挳鎿嶄綔 */ - handleAdd() { - this.$router.push({ - path: "/followvisit/QuestionnaireTask", - query: { - type: 2, - serviceType: 2, - }, - }); - }, - - /** 閲嶇疆瀵嗙爜鎸夐挳鎿嶄綔 */ - handleResetPwd(row) { - this.$prompt('璇疯緭鍏�"' + row.userName + '"鐨勬柊瀵嗙爜', "鎻愮ず", { - confirmButtonText: "纭畾", - cancelButtonText: "鍙栨秷", - closeOnClickModal: false, - inputPattern: /^.{5,20}$/, - inputErrorMessage: "鐢ㄦ埛瀵嗙爜闀垮害蹇呴』浠嬩簬 5 鍜� 20 涔嬮棿", - }) - .then(({ value }) => { - resetUserPwd(row.userId, value).then((response) => { - this.$modal.msgSuccess("淇敼鎴愬姛锛屾柊瀵嗙爜鏄細" + value); - }); - }) - .catch(() => {}); - }, - - /** 鎻愪氦鎸夐挳 */ - 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.getList(); - }); - } else { - addUser(this.form).then((response) => { - this.$modal.msgSuccess("鏂板鎴愬姛"); - this.open = false; - this.getList(); - }); - } - } - }); - }, - /** 鍒犻櫎鎸夐挳鎿嶄綔 */ - handleDelete(row) { - const userIds = row.userId || this.ids; - this.$modal - .confirm('鏄惁纭鍒犻櫎鐢ㄦ埛缂栧彿涓�"' + userIds + '"鐨勬暟鎹」锛�') - .then(function () { - return delUser(userIds); - }) - .then(() => { - this.getList(); - this.$modal.msgSuccess("鍒犻櫎鎴愬姛"); - }) - .catch(() => {}); - }, - // 鍏ㄩ儴鍋滄 - AllStop() { - this.$modal - .confirm("鏄惁鍋滄鍏ㄩ儴浠诲姟缁勶紵") - .then(function () { - return console.log("鍋滄鎴愬姛"); - }) - .then(() => { - this.getList(); - this.$modal.msgWarning("鍋滄鎴愬姛"); - }) - .catch(() => {}); - }, - // 鍏ㄩ儴寮�濮� - AllStarted() { - this.$modal - .confirm("鏄惁寮�鍚叏閮ㄤ换鍔$粍锛�") - .then(function () { - return console.log("寮�鍚垚鍔�"); - }) - .then(() => { - this.getList(); - this.$modal.msgSuccess("寮�鍚垚鍔�"); - }) - .catch(() => {}); - }, - // 浠诲姟缁勯噸缃� - TaskReset() { - this.$modal - .confirm("鏄惁閲嶇疆閫変腑鐨勪换鍔$粍椤癸紵") - .then(function () { - return console.log("閫変腑鎴愬姛"); - }) - .then(() => { - this.getList(); - this.$modal.msgSuccess("閲嶇疆鎴愬姛"); - }) - .catch(() => {}); - }, - // 璁剧疆鍙戦�佹椂闂� - Sendtimesetting() { - this.modificationVisible = true; - }, - // 璺宠浆璇︽儏椤� - Seedetails(row) { - this.$router.push({ - path: "/followvisit/record/detailpage/", - query: { taskid: row.taskid, patid: row.patid, id: row.id }, - }); - }, - // 渚挎嵎鎸夐挳 - 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.download( - "system/user/export", - { - ...this.topqueryParams, - }, - `user_${new Date().getTime()}.xlsx` - ); - }, - // 寮傚父鍒楁覆鏌� - tableRowClassName({ row, rowIndex }) { - if (row.excep == 1) { - return "warning-row"; - } - return ""; - }, - }, -}; -</script> - -<style lang="scss" scoped> -.el-button--primary.is-plain { - color: #ffffff; - background: #409eff; - border-color: #4fabe9; -} - -.document { - // width: 100px; - height: 50px; -} -::v-deep.el-table .warning-row { - background: #eec4c4; -} - -.documentf { - display: flex; - justify-content: flex-end; -} - -.download { - text-align: center; - - .el-upload__tip { - font-size: 23px; - } - - .el-upload__text { - font-size: 23px; - } -} - -.uploading { - margin-top: 20px; - margin: 20px; - padding: 30px; - background: #ffffff; - border: 1px solid #dcdfe6; - -webkit-box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.12), - 0 0 6px 0 rgba(0, 0, 0, 0.04); -} - -.el-tag + .el-tag { - margin-left: 10px; -} - -.button-new-tag { - margin-left: 10px; - height: 32px; - line-height: 30px; - padding-top: 0; - padding-bottom: 0; -} - -.input-new-tag { - width: 90px; - margin-left: 10px; - vertical-align: bottom; -} - -.drexamine { - display: flex; - align-items: center; - justify-content: center; - padding: 30px; - background: #daeaf5; - - img { - width: 100px; - height: 100px; - } -} - -.qrcode-dialo { - // text-align: center; - // display: flex; - margin: 20px; - padding: 30px; - background: #edf1f7; - border: 1px solid #dcdfe6; - -webkit-box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.12), - 0 0 6px 0 rgba(0, 0, 0, 0.04); - - .topic-dev { - margin-bottom: 25px; - font-size: 20px !important; - - .dev-text { - margin-bottom: 10px; - } - } -} -::v-deep.leftvlue .el-card__body { - background: #d0e9fd; -} -::v-deep.leftvlue .el-card__body:hover { - background: #8dc8f8; - cursor: pointer; /* 榧犳爣鎮诞鏃跺彉涓烘墜褰� */ -} -.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/ExternalPatient.vue b/src/views/patient/patient/ExternalPatient.vue deleted file mode 100644 index a4d5e2f..0000000 --- a/src/views/patient/patient/ExternalPatient.vue +++ /dev/null @@ -1,1244 +0,0 @@ -<template> - <div class="Questionnairemanagement"> - <!-- 鍙充晶鏁版嵁 --> - - <div class="leftvlue"> - <div class="leftvlue-bg"> - <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.name" - placeholder="璇疯緭鍏ュ鍚�" - maxlength="30" - @keyup.enter.native="handleQuery" - /> - </el-form-item> - - <el-form-item label="鑱旂郴鐢佃瘽" prop="telcode"> - <el-input - v-model="queryParams.telcode" - placeholder="璇疯緭鍏ヨ仈绯荤數璇�" - maxlength="30" - @keyup.enter.native="handleQuery" - /> - </el-form-item> - - <el-form-item> - <el-button - type="primary" - icon="el-icon-search" - size="medium" - @click="handleQuery" - >鎼滅储</el-button - > - <el-button - icon="el-icon-refresh" - size="medium" - @click="resetQuery" - >閲嶇疆</el-button - > - </el-form-item> - </el-form> - - <el-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="danger" - plain - icon="el-icon-delete" - size="medium" - :disabled="multiple" - @click="handleDelete" - v-hasPermi="['system:user:remove']" - >鍒犻櫎</el-button - > - </el-col> - - <el-col :span="6"> - <div class="documentf"> - <div class="document"> - <el-button - type="info" - plain - icon="el-icon-upload2" - size="medium" - @click="handleImport" - v-hasPermi="['system:user:import']" - >瀵煎叆</el-button - > - </div> - <div class="document"> - <el-button - type="warning" - plain - icon="el-icon-download" - size="medium" - @click="handleExport" - v-hasPermi="['system:user:export']" - >瀵煎嚭</el-button - > - </div> - </div> - </el-col> - <!-- <el-col :span="1.5"> </el-col> --> - </el-row> - <el-table - v-loading="loading" - :data="userList" - height="660" - @selection-change="handleSelectionChange" - > - <el-table-column type="selection" width="50" align="center" /> - <!-- <el-table-column - fixed - label="搴忓彿" - align="center" - key="id" - prop="id" - /> --> - <el-table-column - fixed - label="濮撳悕" - align="center" - key="name" - prop="name" - /> - <el-table-column label="鎬у埆" align="center" key="sex" prop="sex"> - <template slot-scope="scope"> - <span>{{ scope.row.sex == 1 ? "鐢�" : "濂�" }}</span> - </template> - </el-table-column> - <el-table-column - label="骞撮緞" - align="center" - key="age" - prop="age" - width="60" - /> - <el-table-column - label="鍑虹敓骞存湀" - align="center" - key="birthdate" - prop="birthdate" - width="120" - > - </el-table-column> - <el-table-column - label="璇佷欢鍙风爜" - align="center" - key="idcardno" - prop="idcardno" - width="190" - /> - - <el-table-column - label="鑱旂郴鏂瑰紡" - align="center" - key="telcode" - prop="telcode" - width="120" - /> - <el-table-column - label="寤烘。鏃ユ湡" - align="center" - key="createTime" - prop="createTime" - width="160" - > - <template slot-scope="scope"> - <span>{{ formatTime(scope.row.createTime) }}</span> - </template> - </el-table-column> - <el-table-column - label="鏇存柊鏃ユ湡" - align="center" - prop="archivetime" - width="160" - > - <template slot-scope="scope"> - <span>{{ formatTime(scope.row.archivetime) }}</span> - </template> - </el-table-column> - <el-table-column - fixed="right" - label="鎿嶄綔" - align="center" - width="190" - class-name="small-padding fixed-width" - > - <template slot-scope="scope"> - - <el-button - size="medium" - type="text" - @click="handleDelete(scope.row)" - ><span class="button-textxg" - ><i class="el-icon-menu"></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> - </div> - </div> - <el-dialog title="閫夋嫨浠诲姟" :visible.sync="distributeVisible" width="70%"> - <div class="preview-left"> - <el-form - :model="queryParams" - ref="queryForm" - size="small" - :inline="true" - label-width="98px" - > - <el-select - @change="distribute" - v-model="tasktopic" - placeholder="璇烽�夋嫨浠诲姟绫诲瀷" - > - <el-option - v-for="item in taskoptions" - :key="item.value" - :label="item.label" - :value="item.value" - > - </el-option> - </el-select> - </el-form> - <el-table v-loading="loading" :data="taskuserList"> - <el-table-column - label="浠诲姟鍚嶇О" - fixed - align="center" - key="taskName" - prop="taskName" - width="140" - :show-overflow-tooltip="true" - /> - <el-table-column - label="浠诲姟鎻忚堪" - align="center" - key="taskDesc" - prop="taskDesc" - width="180" - :show-overflow-tooltip="true" - /> - <el-table-column - label="鏈嶅姟椤圭洰" - align="center" - key="templatename" - prop="templatename" - /> - <el-table-column - label="寰呮墽琛�/鎬讳换鍔�" - align="center" - key="nickName" - prop="nickName" - > - <template slot-scope="scope"> - <span>{{ scope.row.wfs }}/{{ scope.row.yfs }}</span> - </template> - </el-table-column> - <el-table-column - label="鍒涘缓浜�" - align="center" - key="createBy" - prop="createBy" - width="120" - :show-overflow-tooltip="true" - /> - <el-table-column - label="鍒涘缓鏃堕棿" - sortable - align="center" - prop="createTime" - width="160" - > - <template slot-scope="scope"> - <span>{{ formatTime(scope.row.createTime) }}</span> - </template> - </el-table-column> - <el-table-column - label="鐘舵��" - fixed="right" - align="center" - key="sendState" - prop="sendState" - width="120" - > - <template slot-scope="scope"> - <dict-tag - :options="dict.type.task_status" - :value="scope.row.sendState" - /> - </template> - </el-table-column> - - <el-table-column - label="浠诲姟璇︽儏" - fixed="right" - align="center" - width="200" - class-name="small-padding fixed-width" - > - <template slot-scope="scope"> - <el-button - size="medium" - type="text" - @click="handleUpdate(scope.row)" - ><span class="button-xq" - ><i class="el-icon-s-data"></i>閫夋嫨娲惧彂</span - ></el-button - > - </template> - </el-table-column> - </el-table> - - <pagination - v-show="tasktotal > 0" - :total="tasktotal" - :page.sync="queryParams.pageNum" - :limit.sync="queryParams.pageSize" - @pagination="distribute" - /> - </div> - </el-dialog> - - <!-- 娣诲姞鎴栦慨鏀圭敤鎴烽厤缃璇濇 --> - <el-dialog - :title="amendtag ? '淇敼鎮h�呬俊鎭�' : '鏂板鎮h��'" - :visible.sync="Labelchange" - width="900px" - > - <el-form ref="form" :model="form" :rules="rules" label-width="100px"> - <el-row> - <el-col :span="8"> - <el-form-item label="濮撳悕" prop="name"> - <el-input - v-model="form.name" - placeholder="璇疯緭鍏ュ鍚�" - maxlength="30" - /> - </el-form-item> - </el-col> - <el-col :span="8"> - <el-form-item label="鎬у埆" 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 v-if="!amendtag"> - <el-col :span="8"> - <el-form-item label="姘戞棌" prop="name"> - <el-input - v-model="form.nation" - placeholder="璇疯緭鍏ユ皯鏃�" - maxlength="30" - /> - </el-form-item> - </el-col> - <el-col :span="8"> - <el-form-item label="绫嶈疮" prop="age"> - <el-input - v-model="form.nativePlace" - placeholder="璇疯緭鍏ョ睄璐�" - maxlength="30" - /> - </el-form-item> - </el-col> - <el-col :span="8"> - <el-form-item label="鑱旂郴鏂瑰紡" prop="telcode"> - <el-input - v-model="form.telcode" - placeholder="璇疯緭鍏ヨ仈绯绘柟寮�" - maxlength="30" - /> - </el-form-item> - </el-col> - </el-row> - - <el-row v-if="!amendtag"> - <el-col :span="12"> - <el-form-item label="鍑虹敓鍦�" prop="idcardno"> - <el-input - v-model="form.birthplace" - placeholder="鍥姐�佺渷銆佸湴甯傘�佸尯鍘裤�佽閬撶瓑璇︾粏淇℃伅" - maxlength="50" - /> - </el-form-item> </el-col - ><el-col :span="12"> - <el-form-item label="灞呬綇鍦�" prop="idcardno"> - <el-input - v-model="form.placeOfResidence" - placeholder="鍥姐�佺渷銆佸湴甯傘�佸尯鍘裤�佽閬撶瓑璇︾粏淇℃伅" - maxlength="50" - /> - </el-form-item> - </el-col> - </el-row> - - <el-row> - <el-col :span="amendtag ? 12 : 24" v-if="!amendtag"> - <el-form-item label="鎮h�呯被鍨�"> - <el-select v-model="form.pattype" placeholder="璇烽�夋嫨绫诲瀷"> - <el-option - v-for="item in Patienttype" - :key="item.value" - :label="item.label" - :value="item.value" - ></el-option> - </el-select> - </el-form-item> - </el-col> - <!-- <el-col :span="12" v-if="amendtag"> - <el-form-item label="杩囨护璇存槑"> - <el-select v-model="form.notrequiredreason" placeholder="璇烽�夋嫨杩囨护绫诲瀷"> - <el-option - v-for="item in dict.type.futter_patient" - :key="item.value" - :label="item.label" - :value="item.value" - ></el-option> - </el-select> - </el-form-item> - </el-col> --> - </el-row> - <el-row> - <el-col :span="24" v-if="amendtag"> - <el-form-item label="杩囨护鍘熷洜"> - <el-input - v-model="form.notrequiredreason" - type="textarea" - placeholder="璇疯緭鍏ヨ繃婊ゅ師鍥�" - ></el-input> - </el-form-item> - </el-col> - </el-row> - <el-row> - <el-col :span="24" v-if="!amendtag"> - <el-form-item label="澶囨敞"> - <el-input - v-model="form.remark" - type="textarea" - placeholder="璇疯緭鍏ュ唴瀹�" - ></el-input> - </el-form-item> - </el-col> - </el-row> - </el-form> - <div slot="footer" class="dialog-footer"> - <el-button type="primary" @click="submitForm">纭� 瀹�</el-button> - <el-button @click="cancel">鍙� 娑�</el-button> - </div> - </el-dialog> - - <!-- 鐢ㄦ埛瀵煎叆瀵硅瘽妗� --> - <el-dialog - :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" - :disabled="upload.isUploading" - :on-progress="handleFileUploadProgress" - :on-success="handleFileSuccess" - 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> - <!-- <el-link - type="success" - :underline="false" - style="font-size: 24px; vertical-align: baseline" - href="http://m.qpic.cn/psc?/V50ZTolo1AIhq00dqrJP2169QM2VHGTU/ruAMsa53pVQWN7FLK88i5qfmCJclyMduqqL6kjE4h7TXDAjimVtmLmTyGVfF4qlkyOISsYQ4Mxx705X2tkXEIUPrfCS4L4yK.f11SmO8Tq0!/b&bo=twb0AgAAAAADB2U!&rf=viewer_4" - target="_blank" - > - 鏌ョ湅妯℃澘</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="鎮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="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> - <el-table-column prop="createTime" width="200" 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="@/assets/images/瀵煎叆.png" /> - <p>瀵煎叆鎮h�呮垚鍔燂紒</p> - <p> - 鏈 - <!-- <span style="color: #158bb8; font-size: 20px">{{ - ImportQuantity - }}</span> - 鏉℃暟鎹� --> - 鎴愬姛瀵煎叆<span style="color: #72d3a9; font-size: 20px">{{ - uploadingData.length?uploadingData.length:0 - }}</span - >浣嶆偅鑰� - </p> - </div> - <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="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-column prop="opinion" 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 slot="footer" class="dialog-footer" v-if="dractive == 3"> - <!-- <el-button type="primary" @click="submitFileForm">涓嬩竴姝�</el-button> --> - <el-button @click="submitclose">瀹屾垚</el-button> - <!-- <el-button type="warning" @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> - <!-- 璺宠浆鏈嶅姟瀵硅瘽妗� --> - <el-dialog title="閫夋嫨鏈嶅姟绫诲瀷" :visible.sync="serviceVisible"> - <el-card class="box-card"> - <el-radio-group v-model="serviceradio"> - <el-radio :label="1">瀹f暀闅忚</el-radio> - <el-radio :label="2">闂ㄨ瘖鏈嶅姟</el-radio> - <el-radio :label="3">鍑洪櫌鏈嶅姟</el-radio> - <el-radio :label="4">澶嶈瘖鏈嶅姟</el-radio> - <el-radio :label="5">浣撴閫氱煡</el-radio> - <el-radio :label="6">闂嵎鏈嶅姟</el-radio> - </el-radio-group> - </el-card> - <div slot="footer" class="dialog-footer"> - <el-button @click="serviceVisible = false">鍙� 娑�</el-button> - <el-button type="primary" @click="CreateService">鍒涘缓鏈嶅姟</el-button> - </div> - </el-dialog> - </div> -</template> - -<script> -import { delUser } from "@/api/system/user"; -import { - getTasklist, - Externallist, - Externaledit, - Externalpatient, - delExternal, -} from "@/api/AiCentre/index"; -import { listtag } from "@/api/system/label"; -import { getToken } from "@/utils/auth"; -import Treeselect from "@riophae/vue-treeselect"; -import store from "@/store"; -import "@riophae/vue-treeselect/dist/vue-treeselect.css"; - -export default { - name: "Patient", - dicts: [ - "sys_normal_disable", - "task_status", - "sys_user_sex", - "futter_patient", - ], - components: { Treeselect }, - data() { - return { - // 閬僵灞� - loading: true, - // 閫変腑鏁扮粍 - ids: [], - // 闈炲崟涓鐢� - single: true, - // 闈炲涓鐢� - multiple: true, - // 鏄剧ず鎼滅储鏉′欢 - showSearch: true, - // 鎬绘潯鏁� - total: 0, - tasktotal: 0, - // 鐢ㄦ埛琛ㄦ牸鏁版嵁 - userList: null, - taskuserList: null, - // 寮瑰嚭灞傛爣棰� - title: "", - // 閮ㄩ棬鏍戦�夐」 - deptOptions: undefined, - options: [], - uploadingData:[], - // 鏄惁鏄剧ず寮瑰嚭灞� - open: false, - // 閮ㄩ棬鍚嶇О - deptName: undefined, - // 榛樿瀵嗙爜 - initPassword: undefined, - amendtag: false, //鏄惁淇敼 - serviceVisible: false, - serviceradio: 1, - distributeVisible: false, - tasktopic: "5", //鏂板绫诲瀷 - // 鏌ヨ鍙傛暟 - topqueryParams: { - pageNum: 1, - pageSize: 10, - userName: undefined, - tagid: undefined, - topic: undefined, - }, - // 鏃ユ湡鑼冨洿 - dateRange: [], - taskoptions: [], - paperstypes: [ - { papersname: "韬唤璇�" }, - { papersname: "鎶ょ収" }, - { papersname: "涓浗娓境灞呮皯韬唤璇�" }, - { papersname: "涓浗鍙版咕灞呮皯韬唤璇�" }, - ], - Patienttype: [ - { - value: "1", - label: "鍦ㄩ櫌鎮h��", - }, - - { - value: "3", - label: "浣撴鎮h��", - }, - { - value: "4", - label: "鍑洪櫌鎮h��", - }, - ], - sextype: [ - { - value: 1, - label: "鐢�", - }, - { - value: 2, - label: "濂�", - }, - ], - - cardlist: [ - { - name: "鎮h�呮�绘暟", - value: 123, - }, - { - name: "鍦ㄩ櫌鎮h��", - value: 23, - router: "/patient/inpatient", - }, - { - name: "鍑洪櫌鎮h��", - value: 41, - router: "/patient/hospital", - }, - { - name: "绂讳笘鎮h��", - value: 0, - }, - ], - source: [ - { - value: 0, - label: "鎵�灞炴偅鑰�", - }, - { - value: 1, - label: "绉戝鎮h��", - }, - { - value: 2, - label: "鐥呭尯鎮h��", - }, - ], - // 琛ㄥ崟鍙傛暟 - form: { - name: "", - age: "", - sex: "", - tagList: [], - idcardno: "", - telcode: "", - idcardtype: "", - relativetelcode: "", - }, - activeName: "first", //渚ц竟閫夋嫨 - //瀵煎叆杩涘害 - dractive: 1, - // 瀵煎叆灞曠ず琛ㄥ崟 - uploadingData: {}, - total: 0, // 鎬绘潯鏁� - ImportQuantity: 999, //瀵煎叆鎮h�呮暟閲� - Labelchange: false, //淇敼鏂板寮圭獥 - propss: { multiple: true }, - optionstag: [], //鏍囩鍒楄〃 - defaultProps: { - children: "children", - label: "label", - }, - // 鐢ㄦ埛瀵煎叆鍙傛暟 - upload: { - // 鏄惁鏄剧ず寮瑰嚭灞傦紙鐢ㄦ埛瀵煎叆锛� - open: false, - // 寮瑰嚭灞傛爣棰橈紙鐢ㄦ埛瀵煎叆锛� - title: "", - // 鏄惁绂佺敤涓婁紶 - isUploading: false, - // 鏄惁鏇存柊宸茬粡瀛樺湪鐨勭敤鎴锋暟鎹� - updateSupport: 0, - // 璁剧疆涓婁紶鐨勮姹傚ご閮� - headers: { Authorization: "Bearer " + getToken() }, - // 涓婁紶鐨勫湴鍧� - url: process.env.VUE_APP_BASE_API + "/smartor/import/importPatInfo", - }, - // 鏌ヨ鍙傛暟 - queryParams: { - pageNum: 1, - pageSize: 10, - - }, - // 琛ㄥ崟鏍¢獙 - rules: { - name: [ - { required: true, message: "鐢ㄦ埛鍚嶇О涓嶈兘涓虹┖", trigger: "blur" }, - { - min: 2, - max: 20, - message: "鐢ㄦ埛鍚嶇О闀垮害蹇呴』浠嬩簬 2 鍜� 20 涔嬮棿", - trigger: "blur", - }, - ], - - sex: [{ required: true, message: "鎬у埆涓嶈兘涓虹┖", trigger: "blur" }], - age: [{ required: true, message: "骞撮緞涓嶈兘涓虹┖", trigger: "blur" }], - nation: [{ required: true, message: "姘戞棌涓嶈兘涓虹┖", trigger: "blur" }], - telcode: [ - { required: true, message: "鑱旂郴鏂瑰紡涓嶈兘涓虹┖", trigger: "blur" }, - { - pattern: /^1[3|4|5|6|7|8|9][0-9]\d{8}$/, - message: "璇疯緭鍏ユ纭殑鎵嬫満鍙风爜", - trigger: "blur", - }, - ], - - idcardno: [ - { required: true, message: "璇佷欢鍙疯兘涓虹┖", trigger: "blur" }, - { - pattern: - /^\d{6}((((((19|20)\d{2})(0[13-9]|1[012])(0[1-9]|[12]\d|30))|(((19|20)\d{2})(0[13578]|1[02])31)|((19|20)\d{2})02(0[1-9]|1\d|2[0-8])|((((19|20)([13579][26]|[2468][048]|0[48]))|(2000))0229))\d{3})|((((\d{2})(0[13-9]|1[012])(0[1-9]|[12]\d|30))|((\d{2})(0[13578]|1[02])31)|((\d{2})02(0[1-9]|1\d|2[0-8]))|(([13579][26]|[2468][048]|0[048])0229))\d{2}))(\d|X|x)$/, - message: "璇疯緭鍏ユ纭殑韬唤璇佸彿鐮�", - trigger: "blur", - }, - ], - - }, - }; - }, - watch: { - // 鏍规嵁鍚嶇О绛涢�夐儴闂ㄦ爲 - deptName(val) { - this.$refs.tree.filter(val); - }, - }, - created() { - this.getList(); - this.gettabList(); - //鑾峰彇宸茬瓫閫夊悗鐨勫彲閫変换鍔$被鍨� - this.taskoptions = store.getters.Serviceauthority; - }, - methods: { - /** 鏌ヨ鎮h�呭垪琛� */ - getList() { - this.loading = true; - Externallist(this.queryParams).then((response) => { - this.userList = response.rows; - this.total = response.total; - this.loading = false; - }); - }, - handleClick() { - this.getList(); - }, - findLabelByValue(data, value) { - const item = data.find((item) => item.value === value); - return item ? item.label : null; - }, - /** 鏌ヨ鏍囩鍒楄〃 */ - 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; - }); - }, - Distributionservice(row) { - this.serviceVisible = true; - }, - - // 鍙栨秷鎸夐挳 - cancel() { - this.Labelchange = false; - this.reset(); - }, - // 琛ㄥ崟閲嶇疆 - reset() { - this.form = { - name: "", - age: "", - sex: "", - tagList: [], - idcardno: "", - telcode: "", - idcardtype: "", - relativetelcode: "", - }; - // this.resetForm("form"); - }, - /** 鎼滅储鎸夐挳鎿嶄綔 */ - handleQuery() { - this.queryParams.pageNum = 1; - this.getList(); - }, - /** 閲嶇疆鎸夐挳鎿嶄綔 */ - resetQuery() { - this.dateRange = []; - this.resetForm("queryForm"); - this.$refs.tree.setCurrentKey(null); - this.handleQuery(); - }, - // 澶氶�夋閫変腑鏁版嵁 - handleSelectionChange(selection) { - this.ids = selection.map((item) => item.id); - this.single = selection.length != 1; - this.multiple = !selection.length; - }, - - /** 鏂板鎸夐挳鎿嶄綔 */ - handleAdd() { - this.reset(); - this.Labelchange = true; - this.amendtag = false; - }, - /** 淇敼鎸夐挳鎿嶄綔 */ - handleUpdate(row) { - const userIds = row.id || this.ids; - Externalpatient(userIds).then((response) => { - console.log(response); - this.form = response.data; - }); - this.amendtag = true; - this.Labelchange = true; - }, - //淇敼/鏂板鎮h�� - submitForm() { - this.$refs["form"].validate((valid) => { - if (valid) { - if (this.amendtag) { - this.form.isoperation = 2; - this.form.notrequiredFlag = 1; - Externaledit(this.form) - .then((response) => { - console.log(response); - }) - .then(() => { - this.getList(); - this.$modal.msgSuccess("鎮h�呰繃婊ゆ垚鍔�"); - }); - } else { - this.form.isoperation = 1; - Externaledit(this.form) - .then((response) => { - console.log(response); - }) - .then(() => { - this.getList(); - this.$modal.msgSuccess("娣诲姞鎴愬姛"); - }); - } - this.reset(); - // this.idds = ""; - this.Labelchange = false; - } - }); - }, - - /** 鍒犻櫎鎸夐挳鎿嶄綔 */ - handleDelete(row) { - const userIds =[ row.id] - this.$modal - .confirm('鏄惁纭鍒犻櫎鐢ㄦ埛缂栧彿涓�"' + userIds + '"鐨勬暟鎹」锛�') - .then(function () { - return delExternal(userIds); - }) - .then(() => { - this.getList(); - this.$modal.msgSuccess("鍒犻櫎鎴愬姛"); - }) - .catch(() => {}); - }, - //鏈嶅姟璺宠浆 - CreateService() { - this.$router.push({ - path: "/followvisit/particty", - query: { type: this.serviceradio }, - }); - }, - distribute() { - this.distributeVisible = true; - if (this.tasktopic == 1) { - this.topqueryParams.type = 3; - } else if (this.tasktopic == 2) { - this.topqueryParams.type = 1; - } else if (this.tasktopic == 3) { - this.topqueryParams.type = 1; - } else if (this.tasktopic == 4) { - this.topqueryParams.type = 1; - } else if (this.tasktopic == 5) { - this.topqueryParams.type = 1; - } else if (this.tasktopic == 6) { - this.topqueryParams.type = 2; - } - this.topqueryParams.typename = this.findLabelByValue( - this.taskoptions, - this.tasktopic - ); - getTasklist(this.topqueryParams).then((response) => { - this.taskuserList = response.rows; - this.tasktotal = response.total; - this.$forceUpdate(); - }); - }, - /** 瀵煎嚭鎸夐挳鎿嶄綔 */ - 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.uploadingData = response.rows; - 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; - this.uploadingData=[], - this.getList(); - }, - }, -}; -</script> - -<style lang="scss" scoped> -.Questionnairemanagement { - display: flex; -} -.sidecolumn { - width: 180px; - min-height: 100vh; - text-align: center; - // display: flex; - margin-top: 20px; - margin: 20px; - padding: 15px; - background: #d0e9fd; - 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); - .sidecolumn-top { - display: flex; - justify-content: space-between; - .top-wj { - font-size: 20px; - } - .top-tj { - font-size: 18px; - - color: rgb(0, 89, 255); - cursor: pointer; - } - } - .center-ss { - margin-top: 30px; - .input-with-select { - height: 40px !important; - } - } - .bottom-fl { - margin-top: 30px; - display: center !important; - } -} -.preview-left { - margin: 20px; - // margin: 20px; - padding: 30px; - background: #ffff; - border: 1px solid #dcdfe6; - -webkit-box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.12), - 0 0 6px 0 rgba(0, 0, 0, 0.04); - .scriptTopic-dev { - margin-bottom: 25px; - font-size: 20px !important; - .dev-text { - margin-bottom: 10px; - } - } -} -::v-deep.el-tabs--left, -.el-tabs--right { - overflow: hidden; - align-items: center; - display: flex; -} -::v-deep.el-input--medium .el-input__inner { - height: 40px !important; -} -::v-deep.el-tabs--right .el-tabs__active-bar.is-right { - height: 40px; - width: 5px; - left: 0; -} -::v-deep.el-tabs--right .el-tabs__item.is-right { - display: block; - text-align: left; - font-size: 20px; -} -::v-deep.leftvlue .el-card__body { - background: #d0e9fd; -} -::v-deep.leftvlue .el-card__body:hover { - background: #8dc8f8; - cursor: pointer; /* 榧犳爣鎮诞鏃跺彉涓烘墜褰� */ -} -.leftvlue { - width: 100%; - margin-top: 10px; -} -.leftvlue-bg { - // display: flex; - // flex: 1; - margin-top: 20px; - // margin: 20px; - padding: 30px; - background: #ffff; - border: 1px solid #dcdfe6; - -webkit-box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.12), - 0 0 6px 0 rgba(0, 0, 0, 0.04); - .mulsz { - font-size: 20px; - } -} -.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: 20px; - background: #daeaf5; - img { - width: 50px; - height: 50px; - } -} -.button-textsc { - color: #28cfe6; -} -.button-textxg { - color: #de7897; -} -</style> diff --git a/src/views/patient/patient/authRole.vue b/src/views/patient/patient/authRole.vue deleted file mode 100644 index 7efe5ad..0000000 --- a/src/views/patient/patient/authRole.vue +++ /dev/null @@ -1,117 +0,0 @@ -<template> - <div class="app-container"> - <h4 class="form-header h4">鍩烘湰淇℃伅</h4> - <el-form ref="form" :model="form" label-width="80px"> - <el-row> - <el-col :span="8" :offset="2"> - <el-form-item label="鐢ㄦ埛鏄电О" prop="nickName"> - <el-input v-model="form.nickName" disabled /> - </el-form-item> - </el-col> - <el-col :span="8" :offset="2"> - <el-form-item label="鐧诲綍璐﹀彿" prop="userName"> - <el-input v-model="form.userName" disabled /> - </el-form-item> - </el-col> - </el-row> - </el-form> - - <h4 class="form-header h4">瑙掕壊淇℃伅</h4> - <el-table v-loading="loading" :row-key="getRowKey" @row-click="clickRow" ref="table" @selection-change="handleSelectionChange" :data="roles.slice((pageNum-1)*pageSize,pageNum*pageSize)"> - <el-table-column label="搴忓彿" type="index" align="center"> - <template slot-scope="scope"> - <span>{{(pageNum - 1) * pageSize + scope.$index + 1}}</span> - </template> - </el-table-column> - <el-table-column type="selection" :reserve-selection="true" width="55"></el-table-column> - <el-table-column label="瑙掕壊缂栧彿" align="center" prop="roleId" /> - <el-table-column label="瑙掕壊鍚嶇О" align="center" prop="roleName" /> - <el-table-column label="鏉冮檺瀛楃" align="center" prop="roleKey" /> - <el-table-column label="鍒涘缓鏃堕棿" align="center" prop="createTime" width="180"> - <template slot-scope="scope"> - <span>{{ formatTime(scope.row.createTime) }}</span> - </template> - </el-table-column> - </el-table> - - <pagination v-show="total>0" :total="total" :page.sync="pageNum" :limit.sync="pageSize" /> - - <el-form label-width="100px"> - <el-form-item style="text-align: center;margin-left:-120px;margin-top:30px;"> - <el-button type="primary" @click="submitForm()">鎻愪氦</el-button> - <el-button @click="close()">杩斿洖</el-button> - </el-form-item> - </el-form> - </div> -</template> - -<script> -import { getAuthRole, updateAuthRole } from "@/api/system/user"; - -export default { - name: "AuthRole", - data() { - return { - // 閬僵灞� - loading: true, - // 鍒嗛〉淇℃伅 - total: 0, - pageNum: 1, - pageSize: 10, - // 閫変腑瑙掕壊缂栧彿 - roleIds:[], - // 瑙掕壊淇℃伅 - roles: [], - // 鐢ㄦ埛淇℃伅 - form: {} - }; - }, - created() { - const userId = this.$route.params && this.$route.params.userId; - if (userId) { - this.loading = true; - getAuthRole(userId).then((response) => { - this.form = response.user; - this.roles = response.roles; - this.total = this.roles.length; - this.$nextTick(() => { - this.roles.forEach((row) => { - if (row.flag) { - this.$refs.table.toggleRowSelection(row); - } - }); - }); - this.loading = false; - }); - } - }, - methods: { - /** 鍗曞嚮閫変腑琛屾暟鎹� */ - clickRow(row) { - this.$refs.table.toggleRowSelection(row); - }, - // 澶氶�夋閫変腑鏁版嵁 - handleSelectionChange(selection) { - this.roleIds = selection.map((item) => item.roleId); - }, - // 淇濆瓨閫変腑鐨勬暟鎹紪鍙� - getRowKey(row) { - return row.roleId; - }, - /** 鎻愪氦鎸夐挳 */ - submitForm() { - const userId = this.form.userId; - const roleIds = this.roleIds.join(","); - updateAuthRole({ userId: userId, roleIds: roleIds }).then((response) => { - this.$modal.msgSuccess("鎺堟潈鎴愬姛"); - this.close(); - }); - }, - /** 鍏抽棴鎸夐挳 */ - close() { - const obj = { path: "/system/user" }; - this.$tab.closeOpenPage(obj); - }, - }, -}; -</script> diff --git a/src/views/patient/patient/behospitalized.vue b/src/views/patient/patient/behospitalized.vue deleted file mode 100644 index 8c6cfe7..0000000 --- a/src/views/patient/patient/behospitalized.vue +++ /dev/null @@ -1,810 +0,0 @@ -<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.patname" - placeholder="璇疯緭鍏ュ鍚�" - clearable - @keyup.enter.native="handleQuery" - /> - </el-form-item> - <el-form-item label="浣忛櫌鍙�" prop="patid"> - <el-input - v-model="queryParams.patid" - 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> - <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-button - type="danger" - plain - icon="el-icon-delete" - size="medium" - :disabled="multiple" - @click="handleDelete" - v-hasPermi="['system:user:remove']" - >鍒犻櫎</el-button - > - </el-col> - - <!-- <el-col :span="1.5"> </el-col> --> - </el-row> - <el-table - v-loading="loading" - :data="userList" - height="660" - @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="starttime" - prop="starttime" - width="160" - > - <template slot-scope="scope"> - <span>{{ formatTime(scope.row.starttime) }}</span> - </template> - </el-table-column> - - <el-table-column - label="浣忛櫌鍙�" - align="center" - key="patno" - prop="patno" - width="120" - /> - <el-table-column - label="濮撳悕" - align="center" - key="patname" - prop="patname" - /> - <el-table-column label="鎬у埆" align="center" key="sex" prop="sex"> - <template slot-scope="scope"> - <span>{{ scope.row.sex == 1 ? "鐢�" : "濂�" }}</span> - </template> - </el-table-column> - <el-table-column - label="骞撮緞" - align="center" - key="age" - prop="age" - width="120" - /> - <el-table-column - label="鑱旂郴鐢佃瘽" - align="center" - key="telcode" - prop="telcode" - width="120" - /> - - - <el-table-column - label="鍏ラ櫌璇婃柇" - align="center" - key="diagname" - prop="diagname" - width="190" - /> - - - <el-table-column - label="绉戝" - align="center" - key="deptname" - prop="deptname" - width="120" - /> - <el-table-column - label="鐥呭尯" - align="center" - key="leavehospitaldistrictname" - prop="leavehospitaldistrictname" - width="120" - /> - <el-table-column - label="搴婁綅鍙�" - align="center" - key="bedNo" - prop="bedNo" - width="120" - /> - <el-table-column - label="涓绘不鍖荤敓" - align="center" - key="drname" - prop="drname" - width="120" - /> - <el-table-column - label="璐d换鎶ゅ+" - align="center" - key="nurseName" - prop="nurseName" - width="120" - /> - - <el-table-column - label="鎿嶄綔" - fixed="right" - align="center" - width="160" - class-name="small-padding fixed-width" - > - <template slot-scope="scope"> - <el-button - size="medium" - type="text" - @click=" - $router.push({ - path: '/patient/patient/profile/', - query: { id: scope.row.patid }, - }) - " - ><span class="button-textsc" - ><i class="el-icon-zoom-in"></i>鏌ョ湅</span - ></el-button - > - </template> - </el-table-column> - </el-table> - - <pagination - v-show="total > 0" - :total="total" - :page.sync="queryParams.pageNum" - :limit.sync="queryParams.pageSize" - @pagination="getList" - /> - </el-col> - </el-row> - - <!-- 鐢ㄦ埛瀵煎叆瀵硅瘽妗� --> - <el-dialog - :title="upload.title" - :visible.sync="upload.open" - width="70%" - append-to-body - > - <el-steps :active="dractive" simple> - <el-step title="涓婁紶瀵煎叆鏂囦欢" icon="el-icon-upload"></el-step> - <el-step title="瀵煎叆妫�鏌�" icon="el-icon-picture"></el-step> - <el-step title="瀵煎叆缁撴灉" icon="el-icon-picture"></el-step> - </el-steps> - <!-- 涓婁紶瀵煎叆鏂囦欢 --> - <div class="download" v-if="dractive == 1"> - <el-upload - class="upload-demo" - ref="upload" - :limit="1" - accept=".xlsx, .xls" - :headers="upload.headers" - :action="upload.url + '?updateSupport=' + upload.updateSupport" - :disabled="upload.isUploading" - :on-progress="handleFileUploadProgress" - :on-success="handleFileSuccess" - :auto-upload="false" - drag - > - <i class="el-icon-upload"></i> - <div class="el-upload__text">灏嗘枃浠舵嫋鍒版澶勶紝鎴�<em>鐐瑰嚮涓婁紶</em></div> - <div class="el-upload__tip text-center" slot="tip"> - <div class="el-upload__tip" slot="tip"> - <el-checkbox v-model="upload.updateSupport" /> - 鏄惁鏇存柊宸茬粡瀛樺湪鐨勭敤鎴锋暟鎹� - </div> - <span>浠呭厑璁稿鍏ls銆亁lsx鏍煎紡鏂囦欢銆�</span> - <el-link - type="primary" - :underline="false" - style="font-size: 24px; vertical-align: baseline" - @click="importTemplate" - >涓嬭浇妯℃澘</el-link - > - </div> - </el-upload> - </div> - <!-- 瀵煎叆妫�鏌� --> - <div class="uploading" v-else-if="dractive == 2"> - <el-table :data="uploadingData" style="width: 100%"> - <el-table-column prop="serial" label="搴忓彿"> </el-table-column> - <el-table-column prop="name" label="濮撳悕"> </el-table-column> - <el-table-column prop="sex" label="鎬у埆"> </el-table-column> - <el-table-column prop="certificate" label="璇佷欢绫诲瀷"> - </el-table-column> - <el-table-column prop="certificatenum" label="璇佷欢鍙风爜"> - </el-table-column> - <el-table-column prop="goday" label="鍑虹敓鏃ユ湡"> </el-table-column> - <el-table-column prop="menum" label="鏈汉鑱旂郴鏂瑰紡"> </el-table-column> - <el-table-column prop="younum" label="浜插睘鑱旂郴鏂瑰紡"> - </el-table-column> - <el-table-column prop="tag" label="鎮h�呮爣绛�"> </el-table-column> - <el-table-column prop="erry" label="閿欒鍘熷洜"> </el-table-column> - </el-table> - <pagination - v-show="total > 0" - :total="total" - :page.sync="queryParams.pageNum" - :limit.sync="queryParams.pageSize" - @pagination="geterryList" - /> - </div> - <!-- 瀹屾垚 --> - <div class="drexamine" v-else-if="dractive == 3"> - <img - src="https://fuss10.elemecdn.com/e/5d/4a731a90594a4af544c0c25941171jpeg.jpeg" - /> - <p>瀵煎叆鎮h�呮垚鍔燂紒</p> - <p>鏈鍏辫瀵煎叆{{ ImportQuantity }}浣嶆偅鑰�</p> - </div> - - <div slot="footer" class="dialog-footer" v-if="dractive == 3"> - <!-- <el-button type="primary" @click="submitFileForm">涓嬩竴姝�</el-button> --> - <el-button @click="submitclose">瀹屾垚</el-button> - </div> - <div slot="footer" v-else> - <el-button type="primary" @click="submitFileForm">涓嬩竴姝�</el-button> - <el-button @click="submitclose">鍙� 娑�</el-button> - </div> - </el-dialog> - </div> -</template> - -<script> -import { delUser } from "@/api/system/user"; -import formatTime from "@/filters/index"; - -import { - listpatient, - particularpatient, - addpatient, - deletepatient, - Exporterrorpatient, - toleadpatient, -} from "@/api/patient/record"; -import { listtag } from "@/api/system/label"; -import { getToken } from "@/utils/auth"; -import Treeselect from "@riophae/vue-treeselect"; -import { listDept } from "@/api/system/dept"; -import "@riophae/vue-treeselect/dist/vue-treeselect.css"; -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: [], - paperstypes: [ - { papersname: "韬唤璇�" }, - { papersname: "鎶ょ収" }, - { papersname: "涓浗娓境灞呮皯韬唤璇�" }, - { papersname: "涓浗鍙版咕灞呮皯韬唤璇�" }, - ], - source: [ - { - value: 0, - label: "鎵�灞炴偅鑰�", - }, - { - value: 1, - label: "绉戝鎮h��", - }, - { - value: 2, - label: "鐥呭尯鎮h��", - }, - ], - // 琛ㄥ崟鍙傛暟 - 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, - cry: 0, - searchscope:2, - idcardno: undefined, - name: undefined, - status: undefined, - tagIds: undefined, - telcode: undefined, - }, - // 琛ㄥ崟鏍¢獙 - rules: { - // userName: [ - // { required: true, message: "鐢ㄦ埛鍚嶇О涓嶈兘涓虹┖", trigger: "blur" }, - // { - // min: 2, - // max: 20, - // message: "鐢ㄦ埛鍚嶇О闀垮害蹇呴』浠嬩簬 2 鍜� 20 涔嬮棿", - // trigger: "blur", - // }, - // ], - // nickName: [ - // { required: true, message: "鐢ㄦ埛鏄电О涓嶈兘涓虹┖", trigger: "blur" }, - // ], - // password: [ - // { required: true, message: "鐢ㄦ埛瀵嗙爜涓嶈兘涓虹┖", trigger: "blur" }, - // { - // min: 5, - // max: 20, - // message: "鐢ㄦ埛瀵嗙爜闀垮害蹇呴』浠嬩簬 5 鍜� 20 涔嬮棿", - // trigger: "blur", - // }, - // ], - // email: [ - // { - // type: "email", - // message: "璇疯緭鍏ユ纭殑閭鍦板潃", - // trigger: ["blur", "change"], - // }, - // ], - // phonenumber: [ - // { - // pattern: /^1[3|4|5|6|7|8|9][0-9]\d{8}$/, - // message: "璇疯緭鍏ユ纭殑鎵嬫満鍙风爜", - // trigger: "blur", - // }, - // ], - // IDnumber: [ - // { - // pattern: - // /^\d{6}((((((19|20)\d{2})(0[13-9]|1[012])(0[1-9]|[12]\d|30))|(((19|20)\d{2})(0[13578]|1[02])31)|((19|20)\d{2})02(0[1-9]|1\d|2[0-8])|((((19|20)([13579][26]|[2468][048]|0[48]))|(2000))0229))\d{3})|((((\d{2})(0[13-9]|1[012])(0[1-9]|[12]\d|30))|((\d{2})(0[13578]|1[02])31)|((\d{2})02(0[1-9]|1\d|2[0-8]))|(([13579][26]|[2468][048]|0[048])0229))\d{2}))(\d|X|x)$/, - // message: "璇疯緭鍏ユ纭殑韬唤璇佸彿鐮�", - // trigger: "blur", - // }, - // ], - }, - }; - }, - watch: { - // 鏍规嵁鍚嶇О绛涢�夐儴闂ㄦ爲 - deptName(val) { - this.$refs.tree.filter(val); - }, - }, - created() { - - this.getList(); - this.listDept(); - this.gettabList(); - }, - methods: { - /** 鏌ヨ鎮h�呭垪琛� */ - getList() { - this.loading = true; - 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; - 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.startInHospTime = this.dateRange[0]; - this.queryParams.endInHospTime = this.dateRange[1]; - this.queryParams.pageNum = 1; - this.getList(); - }, - /** 閲嶇疆鎸夐挳鎿嶄綔 */ - resetQuery() { - this.dateRange = []; - this.resetForm("queryForm"); - this.$refs.tree.setCurrentKey(null); - this.handleQuery(); - }, - // 澶氶�夋閫変腑鏁版嵁 - handleSelectionChange(selection) { - this.ids = selection.map((item) => item.patid); - this.single = selection.length != 1; - this.multiple = !selection.length; - }, - - /** 鏂板鎸夐挳鎿嶄綔 */ - handleAdd() { - this.reset(); - this.Labelchange = true; - this.amendtag = false; - }, - /** 淇敼鎸夐挳鎿嶄綔 */ - handleUpdate(row) { - console.log(row); - const userIds = row.patid || this.ids; - particularpatient(userIds).then((response) => { - console.log(response); - this.form = response.data; - }); - this.amendtag = true; - this.Labelchange = true; - }, - - //淇敼/鏂板鎮h�� - submitForm() { - if (this.amendtag) { - alterpatient(this.form) - .then((response) => { - console.log(response); - }) - .then(() => { - this.getList(); - this.$modal.msgSuccess("淇敼鎴愬姛"); - }); - } else { - addpatient(this.form) - .then((response) => { - console.log(response); - }) - .then(() => { - this.getList(); - this.$modal.msgSuccess("娣诲姞鎴愬姛"); - }); - } - this.reset(); - // this.idds = ""; - this.Labelchange = false; - }, - - /** 鍒犻櫎鎸夐挳鎿嶄綔 */ - handleDelete(row) { - const userIds = row.userId || this.ids; - this.$modal - .confirm('鏄惁纭鍒犻櫎鐢ㄦ埛缂栧彿涓�"' + userIds + '"鐨勬暟鎹」锛�') - .then(function () { - return deletepatient(userIds); - }) - .then(() => { - this.getList(); - this.$modal.msgSuccess("鍒犻櫎鎴愬姛"); - }) - .catch(() => {}); - }, - /** 瀵煎嚭鎸夐挳鎿嶄綔 */ - handleExport() { - this.download( - "smartor/patarchive/export", - { - ...this.queryParams, - }, - `user_${new Date().getTime()}.xlsx` - ); - }, - /** 瀵煎叆鎸夐挳鎿嶄綔 */ - handleImport() { - this.upload.title = "鐢ㄦ埛瀵煎叆"; - this.upload.open = true; - }, - /** 涓嬭浇妯℃澘鎿嶄綔 */ - importTemplate() { - this.download( - "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/hospital.vue b/src/views/patient/patient/hospital.vue deleted file mode 100644 index ebd51cc..0000000 --- a/src/views/patient/patient/hospital.vue +++ /dev/null @@ -1,782 +0,0 @@ -<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.patname" - placeholder="璇疯緭鍏ュ鍚�" - clearable - style="width: 200px" - @keyup.enter.native="handleQuery" - /> - </el-form-item> - <el-form-item label="浣忛櫌鍙�" prop="patid"> - <el-input - v-model="queryParams.patid" - placeholder="璇疯緭鍏ユ偅鑰呯紪鍙�" - clearable - style="width: 250px" - @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> - <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-button - type="danger" - plain - icon="el-icon-delete" - size="medium" - :disabled="multiple" - @click="handleDelete" - v-hasPermi="['system:user:remove']" - >鍒犻櫎</el-button - > - </el-col> - - <!-- <el-col :span="1.5"> </el-col> --> - </el-row> - <el-table - v-loading="loading" - :data="userList" - height="660" - @selection-change="handleSelectionChange" - > - <el-table-column type="selection" width="50" align="center" /> - <!-- <el-table-column - label="搴忓彿" - fixed - align="center" - key="id" - prop="id" - /> --> - <el-table-column - label="鍑洪櫌鏃堕棿" - align="center" - key="endtime" - prop="endtime" - width="160" - > - <template slot-scope="scope"> - <span>{{ formatTime(scope.row.endtime) }}</span> - </template> - </el-table-column> - - <el-table-column - label="浣忛櫌鍙�" - align="center" - key="patno" - prop="patno" - width="120" - /> - <el-table-column - label="濮撳悕" - align="center" - key="patname" - prop="patname" - /> - <el-table-column label="鎬у埆" align="center" key="sex" prop="sex"> - <template slot-scope="scope"> - <span>{{ scope.row.sex == 1 ? "鐢�" : "濂�" }}</span> - </template> - </el-table-column> - <el-table-column - label="骞撮緞" - align="center" - key="age" - prop="age" - width="80" - /> - <el-table-column - label="鑱旂郴鐢佃瘽" - align="center" - key="telcode" - prop="telcode" - width="120" - /> - - <!-- <el-table-column - label="鍏ラ櫌璇婃柇" - align="center" - key="diagname" - prop="diagname" - width="190" - /> --> - <el-table-column - label="鍑洪櫌璇婃柇" - align="center" - key="leavediagname" - prop="leavediagname" - width="190" - /> - <!-- <el-table-column - label="涓昏堪" - align="center" - key="mainsuit" - prop="mainsuit" - width="120" - /> --> - <el-table-column - label="绉戝" - align="center" - key="deptname" - prop="deptname" - width="120" - /> - <el-table-column - label="鐥呭尯" - align="center" - key="leavehospitaldistrictname" - prop="leavehospitaldistrictname" - width="120" - /> - <el-table-column - label="搴婁綅鍙�" - align="center" - key="bedNo" - prop="bedNo" - width="120" - /> - <el-table-column - label="涓绘不鍖荤敓" - align="center" - key="drname" - prop="drname" - width="120" - /> - <el-table-column - label="璐d换鎶ゅ+" - align="center" - key="nurseName" - prop="nurseName" - width="120" - /> - - <el-table-column - label="鎿嶄綔" - fixed="right" - align="center" - width="160" - class-name="small-padding fixed-width" - > - <template slot-scope="scope"> - <el-button - size="medium" - type="text" - @click=" - $router.push({ - path: '/patient/patient/profile/', - query: { id: scope.row.patid }, - }) - " - - ><span class="button-textsc" - ><i class="el-icon-zoom-in"></i>鏌ョ湅</span - ></el-button - > - </template> - </el-table-column> - </el-table> - - <pagination - v-show="total > 0" - :total="total" - :page.sync="queryParams.pageNum" - :limit.sync="queryParams.pageSize" - @pagination="getList" - /> - </el-col> - </el-row> - - <!-- 鐢ㄦ埛瀵煎叆瀵硅瘽妗� --> - <el-dialog - :title="upload.title" - :visible.sync="upload.open" - width="70%" - append-to-body - > - <el-steps :active="dractive" simple> - <el-step title="涓婁紶瀵煎叆鏂囦欢" icon="el-icon-upload"></el-step> - <el-step title="瀵煎叆妫�鏌�" icon="el-icon-picture"></el-step> - <el-step title="瀵煎叆缁撴灉" icon="el-icon-picture"></el-step> - </el-steps> - <!-- 涓婁紶瀵煎叆鏂囦欢 --> - <div class="download" v-if="dractive == 1"> - <el-upload - class="upload-demo" - ref="upload" - :limit="1" - accept=".xlsx, .xls" - :headers="upload.headers" - :action="upload.url + '?updateSupport=' + upload.updateSupport" - :disabled="upload.isUploading" - :on-progress="handleFileUploadProgress" - :on-success="handleFileSuccess" - :auto-upload="false" - drag - > - <i class="el-icon-upload"></i> - <div class="el-upload__text">灏嗘枃浠舵嫋鍒版澶勶紝鎴�<em>鐐瑰嚮涓婁紶</em></div> - <div class="el-upload__tip text-center" slot="tip"> - <div class="el-upload__tip" slot="tip"> - <el-checkbox v-model="upload.updateSupport" /> - 鏄惁鏇存柊宸茬粡瀛樺湪鐨勭敤鎴锋暟鎹� - </div> - <span>浠呭厑璁稿鍏ls銆亁lsx鏍煎紡鏂囦欢銆�</span> - <el-link - type="primary" - :underline="false" - style="font-size: 24px; vertical-align: baseline" - @click="importTemplate" - >涓嬭浇妯℃澘</el-link - > - </div> - </el-upload> - </div> - <!-- 瀵煎叆妫�鏌� --> - <div class="uploading" v-else-if="dractive == 2"> - <el-table :data="uploadingData" style="width: 100%"> - <el-table-column prop="serial" label="搴忓彿"> </el-table-column> - <el-table-column prop="name" label="濮撳悕"> </el-table-column> - <el-table-column prop="sex" label="鎬у埆"> </el-table-column> - <el-table-column prop="certificate" label="璇佷欢绫诲瀷"> - </el-table-column> - <el-table-column prop="certificatenum" label="璇佷欢鍙风爜"> - </el-table-column> - <el-table-column prop="goday" label="鍑虹敓鏃ユ湡"> </el-table-column> - <el-table-column prop="menum" label="鏈汉鑱旂郴鏂瑰紡"> </el-table-column> - <el-table-column prop="younum" label="浜插睘鑱旂郴鏂瑰紡"> - </el-table-column> - <el-table-column prop="tag" label="鎮h�呮爣绛�"> </el-table-column> - <el-table-column prop="erry" label="閿欒鍘熷洜"> </el-table-column> - </el-table> - <pagination - v-show="total > 0" - :total="total" - :page.sync="queryParams.pageNum" - :limit.sync="queryParams.pageSize" - @pagination="geterryList" - /> - </div> - <!-- 瀹屾垚 --> - <div class="drexamine" v-else-if="dractive == 3"> - <img - src="https://fuss10.elemecdn.com/e/5d/4a731a90594a4af544c0c25941171jpeg.jpeg" - /> - <p>瀵煎叆鎮h�呮垚鍔燂紒</p> - <p>鏈鍏辫瀵煎叆{{ ImportQuantity }}浣嶆偅鑰�</p> - </div> - - <div slot="footer" class="dialog-footer" v-if="dractive == 3"> - <!-- <el-button type="primary" @click="submitFileForm">涓嬩竴姝�</el-button> --> - <el-button @click="submitclose">瀹屾垚</el-button> - </div> - <div slot="footer" v-else> - <el-button type="primary" @click="submitFileForm">涓嬩竴姝�</el-button> - <el-button @click="submitclose">鍙� 娑�</el-button> - </div> - </el-dialog> - </div> -</template> - -<script> -import { delUser } from "@/api/system/user"; - -import { - listpatient, - particularpatient, - addpatient, - deletepatient, - Exporterrorpatient, - toleadpatient, -} from "@/api/patient/record"; -import { listtag } from "@/api/system/label"; -import { getToken } from "@/utils/auth"; -import Treeselect from "@riophae/vue-treeselect"; -import { listDept } from "@/api/system/dept"; -import "@riophae/vue-treeselect/dist/vue-treeselect.css"; -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, - cry: 1, - 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; - listpatient(this.queryParams).then((response) => { - console.log(response); - this.userList = response.rows; - this.total = response.total; - this.loading = false; - }); - }, - listDept() { - listDept(this.queryParams).then((res) => { - this.deptList = res.data; - console.log(this.deptList, "this.deptList"); - }); - }, - /** 鏌ヨ鏍囩鍒楄〃 */ - gettabList() { - const tagqueryParams = { - pageNum: 1, - pageSize: 1000, - tagname: undefined, - tagdescription: undefined, - tagcategoryid: "0", - }; - listtag(tagqueryParams).then((response) => { - console.log(response); - this.optionstag = response.rows; - }); - }, - // 鏌ヨ瀵煎叆灞曠ず鍒楄〃 - geterryList() { - this.loading = true; - listJob(this.queryParams).then((response) => { - this.jobList = 1; - this.total = 1; - this.loading = false; - }); - }, - - // 绛涢�夎妭鐐� - filterNode(value, data) { - if (!value) return true; - return data.label.indexOf(value) !== -1; - }, - // 鑺傜偣鍗曞嚮浜嬩欢 - handleNodeClick(data) { - this.queryParams.deptId = data.id; - this.handleQuery(); - }, - - // 鍙栨秷鎸夐挳 - cancel() { - this.Labelchange = false; - this.reset(); - }, - // 琛ㄥ崟閲嶇疆 - reset() { - this.form = { - name: "", - age: "", - sex: "", - tagList: [], - idcardno: "", - telcode: "", - idcardtype: "", - relativetelcode: "", - }; - // this.resetForm("form"); - }, - /** 鎼滅储鎸夐挳鎿嶄綔 */ - handleQuery() { - this.queryParams.startOutHospTime = this.dateRange[0]; - this.queryParams.endOutHospTime = this.dateRange[1]; - this.queryParams.pageNum = 1; - this.getList(); - }, - /** 閲嶇疆鎸夐挳鎿嶄綔 */ - resetQuery() { - this.dateRange = []; - this.resetForm("queryForm"); - this.$refs.tree.setCurrentKey(null); - this.handleQuery(); - }, - // 澶氶�夋閫変腑鏁版嵁 - handleSelectionChange(selection) { - this.ids = selection.map((item) => item.patid); - this.single = selection.length != 1; - this.multiple = !selection.length; - }, - - /** 鏂板鎸夐挳鎿嶄綔 */ - handleAdd() { - this.reset(); - this.Labelchange = true; - this.amendtag = false; - }, - /** 淇敼鎸夐挳鎿嶄綔 */ - handleUpdate(row) { - console.log(row); - const userIds = row.patid || this.ids; - particularpatient(userIds).then((response) => { - console.log(response); - this.form = response.data; - }); - this.amendtag = true; - this.Labelchange = true; - }, - - //淇敼/鏂板鎮h�� - submitForm() { - if (this.amendtag) { - alterpatient(this.form) - .then((response) => { - console.log(response); - }) - .then(() => { - this.getList(); - this.$modal.msgSuccess("淇敼鎴愬姛"); - }); - } else { - addpatient(this.form) - .then((response) => { - console.log(response); - }) - .then(() => { - this.getList(); - this.$modal.msgSuccess("娣诲姞鎴愬姛"); - }); - } - this.reset(); - // this.idds = ""; - this.Labelchange = false; - }, - - /** 鍒犻櫎鎸夐挳鎿嶄綔 */ - handleDelete(row) { - const userIds = row.userId || this.ids; - this.$modal - .confirm('鏄惁纭鍒犻櫎鐢ㄦ埛缂栧彿涓�"' + userIds + '"鐨勬暟鎹」锛�') - .then(function () { - return deletepatient(userIds); - }) - .then(() => { - this.getList(); - this.$modal.msgSuccess("鍒犻櫎鎴愬姛"); - }) - .catch(() => {}); - }, - /** 瀵煎嚭鎸夐挳鎿嶄綔 */ - handleExport() { - this.download( - "smartor/patarchive/export", - { - ...this.queryParams, - }, - `user_${new Date().getTime()}.xlsx` - ); - }, - /** 瀵煎叆鎸夐挳鎿嶄綔 */ - handleImport() { - this.upload.title = "鐢ㄦ埛瀵煎叆"; - this.upload.open = true; - }, - /** 涓嬭浇妯℃澘鎿嶄綔 */ - importTemplate() { - this.download( - "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/index.vue b/src/views/patient/patient/index.vue deleted file mode 100644 index ecdbad6..0000000 --- a/src/views/patient/patient/index.vue +++ /dev/null @@ -1,1479 +0,0 @@ -<template> - <div class="Questionnairemanagement"> - <!-- 宸︿晶鏍� --> - <div class="sidecolumn"> - <div class="sidecolumn-top"> - <div class="top-wj">鍖婚櫌鎮h��</div> - </div> - - <div class="bottom-fl"> - <el-tabs - tab-position="right" - 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 class="leftvlue"> - <!-- <div> - <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 }} - </div> - </div> - </el-card> - </el-col> - </el-row> - </div> --> - <div class="leftvlue-bg"> - <el-row :gutter="20"> - <!--鐢ㄦ埛鏁版嵁--> - <el-col :span="24" :xs="24"> - <el-form - :model="queryParams" - ref="queryForm" - size="small" - :inline="true" - v-show="showSearch" - label-width="98px" - > - <!-- <el-form-item label="闄㈠尯" prop="userName"> - <el-select v-model="queryParams.value1" 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-form-item label="绉戝/鐥呭尯" prop="userName"> - <el-select v-model="queryParams.value2" 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-form-item - label-width="138px" - label="涓绘不鍖荤敓" - prop="userName" - > - <el-input - v-model="queryParams.drname" - placeholder="璇疯緭鍏ュ尰鐢熷鍚�" - maxlength="30" - @keyup.enter.native="handleQuery" - /> - </el-form-item> - - <el-form-item label="闂ㄨ瘖缂栧彿" prop="visitno"> - <el-input - v-model="queryParams.visitno" - placeholder="璇疯緭鍏ョ紪鍙�" - maxlength="30" - @keyup.enter.native="handleQuery" - /> - </el-form-item> - <el-form-item label="鎮h�呭鍚�" prop="name"> - <el-input - v-model="queryParams.name" - placeholder="璇疯緭鍏ュ鍚�" - maxlength="30" - @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> - <el-form-item label="鑱旂郴鐢佃瘽" prop="telcode"> - <el-input - v-model="queryParams.telcode" - placeholder="璇疯緭鍏ヨ仈绯荤數璇�" - maxlength="30" - @keyup.enter.native="handleQuery" - /> - </el-form-item> - - <el-form-item> - <el-button - type="primary" - icon="el-icon-search" - size="medium" - @click="handleQuery" - >鎼滅储</el-button - > - <el-button - icon="el-icon-refresh" - size="medium" - @click="resetQuery" - >閲嶇疆</el-button - > - </el-form-item> - </el-form> - - <el-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="danger" - plain - icon="el-icon-delete" - size="medium" - :disabled="multiple" - @click="handleDelete" - v-hasPermi="['system:user:remove']" - >鍒犻櫎</el-button - > - </el-col> - <el-col :span="1.5"> - <el-button - type="primary" - plain - icon="el-icon-s-promotion" - size="medium" - @click="distribute" - >鍚戜换鍔℃淳鍙戞偅鑰�</el-button - > - </el-col> - <el-col :span="6"> - <div class="documentf"> - <div class="document"> - <el-button - type="info" - plain - icon="el-icon-upload2" - size="medium" - @click="handleImport" - v-hasPermi="['system:user:import']" - >瀵煎叆</el-button - > - </div> - <div class="document"> - <el-button - type="warning" - plain - icon="el-icon-download" - size="medium" - @click="handleExport" - v-hasPermi="['system:user:export']" - >瀵煎嚭</el-button - > - </div> - </div> - </el-col> - <!-- <el-col :span="1.5"> </el-col> --> - </el-row> - <el-table - v-loading="loading" - :data="userList" - height="660" - @selection-change="handleSelectionChange" - > - <el-table-column type="selection" width="50" align="center" /> - <!-- <el-table-column - fixed - label="搴忓彿" - align="center" - key="id" - prop="id" - /> --> - <el-table-column - fixed - label="濮撳悕" - align="center" - key="name" - prop="name" - /> - <el-table-column label="鎬у埆" align="center" key="sex" prop="sex"> - <template slot-scope="scope"> - <span>{{ scope.row.sex == 1 ? "鐢�" : "濂�" }}</span> - </template> - </el-table-column> - <el-table-column - label="骞撮緞" - align="center" - key="age" - prop="age" - width="60" - /> - <el-table-column - label="鍑虹敓骞存湀" - align="center" - key="birthdate" - prop="birthdate" - width="120" - > - </el-table-column> - <el-table-column - label="灞呬綇鍦�" - align="center" - key="placeOfResidence" - prop="placeOfResidence" - width="150" - :show-overflow-tooltip="true" - /> - <el-table-column - label="鎮h�呮爣绛�" - align="center" - key="tagList" - prop="tagList" - width="160" - :show-overflow-tooltip="true" - > - <template slot-scope="scope"> - <span v-for="item in scope.row.tagList" - >{{ item.tagname }} - </span> - </template> - </el-table-column> - <el-table-column - label="璇佷欢鍙风爜" - align="center" - key="idcardno" - prop="idcardno" - width="190" - /> - - <el-table-column - label="鑱旂郴鏂瑰紡" - align="center" - key="telcode" - prop="telcode" - width="120" - /> - <el-table-column - label="寤烘。鏃ユ湡" - align="center" - key="createTime" - prop="createTime" - width="160" - > - <template slot-scope="scope"> - <span>{{ formatTime(scope.row.createTime) }}</span> - </template> - </el-table-column> - <el-table-column - label="鏇存柊鏃ユ湡" - align="center" - prop="archivetime" - width="160" - > - <template slot-scope="scope"> - <span>{{ formatTime(scope.row.archivetime) }}</span> - </template> - </el-table-column> - <el-table-column - fixed="right" - label="鎿嶄綔" - align="center" - width="190" - 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.id }, - }) - " - ><span class="button-textsc" - ><i class="el-icon-zoom-in"></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 - > - <!-- <el-button - size="medium" - type="text" - @click="Distributionservice(scope.row)" - ><span class="button-textxg" - ><i class="el-icon-menu"></i>鏈嶅姟</span - ></el-button - > --> - <!-- <el-button - size="medium" - type="text" - @click="RiskMarker(scope.row)" - ><span class="button-textxg" - ><i class="el-icon-menu"></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> - </div> - </div> - <el-dialog title="閫夋嫨浠诲姟" :visible.sync="distributeVisible" width="70%"> - <div class="preview-left"> - <el-form - :model="queryParams" - ref="queryForm" - size="small" - :inline="true" - label-width="98px" - > - <el-select - @change="distribute" - v-model="tasktopic" - placeholder="璇烽�夋嫨浠诲姟绫诲瀷" - > - <el-option - v-for="item in taskoptions" - :key="item.value" - :label="item.label" - :value="item.value" - > - </el-option> - </el-select> - </el-form> - <el-table v-loading="loading" :data="taskuserList"> - <el-table-column - label="浠诲姟鍚嶇О" - fixed - align="center" - key="taskName" - prop="taskName" - width="140" - :show-overflow-tooltip="true" - /> - <el-table-column - label="浠诲姟鎻忚堪" - align="center" - key="taskDesc" - prop="taskDesc" - width="180" - :show-overflow-tooltip="true" - /> - <el-table-column - label="鏈嶅姟椤圭洰" - align="center" - key="templatename" - prop="templatename" - /> - <el-table-column - label="寰呮墽琛�/鎬讳换鍔�" - align="center" - key="nickName" - prop="nickName" - > - <template slot-scope="scope"> - <span>{{ scope.row.wfs }}/{{ scope.row.yfs }}</span> - </template> - </el-table-column> - <el-table-column - label="鍒涘缓浜�" - align="center" - key="createBy" - prop="createBy" - width="120" - :show-overflow-tooltip="true" - /> - <el-table-column - label="鍒涘缓鏃堕棿" - sortable - align="center" - prop="createTime" - width="160" - > - <template slot-scope="scope"> - <span>{{ formatTime(scope.row.createTime) }}</span> - </template> - </el-table-column> - <el-table-column - label="鐘舵��" - fixed="right" - align="center" - key="sendState" - prop="sendState" - width="120" - > - <template slot-scope="scope"> - <dict-tag - :options="dict.type.task_status" - :value="scope.row.sendState" - /> - </template> - </el-table-column> - - <el-table-column - label="浠诲姟璇︽儏" - fixed="right" - align="center" - width="200" - class-name="small-padding fixed-width" - > - <template slot-scope="scope"> - <el-button - size="medium" - type="text" - @click="handleUpdate(scope.row)" - ><span class="button-xq" - ><i class="el-icon-s-data"></i>閫夋嫨娲惧彂</span - ></el-button - > - </template> - </el-table-column> - </el-table> - - <pagination - v-show="tasktotal > 0" - :total="tasktotal" - :page.sync="queryParams.pageNum" - :limit.sync="queryParams.pageSize" - @pagination="distribute" - /> - </div> - </el-dialog> - - <!-- 娣诲姞鎴栦慨鏀圭敤鎴烽厤缃璇濇 --> - <el-dialog - :title="amendtag ? '淇敼鎮h�呬俊鎭�' : '鏂板鎮h��'" - :visible.sync="Labelchange" - width="900px" - > - <el-form ref="form" :model="form" :rules="rules" label-width="100px"> - <el-row> - <el-col :span="8"> - <el-form-item label="濮撳悕" prop="name"> - <el-input - v-model="form.name" - placeholder="璇疯緭鍏ュ鍚�" - maxlength="30" - /> - </el-form-item> - </el-col> - <el-col :span="8"> - <el-form-item label="鎬у埆" 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 v-if="!amendtag"> - <el-col :span="8"> - <el-form-item label="姘戞棌" prop="name"> - <el-input - v-model="form.nation" - placeholder="璇疯緭鍏ユ皯鏃�" - maxlength="30" - /> - </el-form-item> - </el-col> - <el-col :span="8"> - <el-form-item label="绫嶈疮" prop="age"> - <el-input - v-model="form.nativePlace" - placeholder="璇疯緭鍏ョ睄璐�" - maxlength="30" - /> - </el-form-item> - </el-col> - <el-col :span="8"> - <el-form-item label="鑱旂郴鏂瑰紡" prop="telcode"> - <el-input - v-model="form.telcode" - placeholder="璇疯緭鍏ヨ仈绯绘柟寮�" - maxlength="30" - /> - </el-form-item> - </el-col> - </el-row> - - <el-row v-if="!amendtag"> - <el-col :span="12"> - <el-form-item label="鍑虹敓鍦�" prop="birthplace"> - <el-input - v-model="form.birthplace" - placeholder="鍥姐�佺渷銆佸湴甯傘�佸尯鍘裤�佽閬撶瓑璇︾粏淇℃伅" - maxlength="50" - /> - </el-form-item> </el-col - ><el-col :span="12"> - <el-form-item label="灞呬綇鍦�" prop="placeOfResidence"> - <el-input - v-model="form.placeOfResidence" - placeholder="鍥姐�佺渷銆佸湴甯傘�佸尯鍘裤�佽閬撶瓑璇︾粏淇℃伅" - maxlength="50" - /> - </el-form-item> - </el-col> - </el-row> - - <el-row> - <el-col :span="amendtag ? 12 : 24" v-if="!amendtag"> - <el-form-item label="鎮h�呯被鍨�"> - <el-select v-model="form.pattype" placeholder="璇烽�夋嫨绫诲瀷"> - <el-option - v-for="item in Patienttype" - :key="item.value" - :label="item.label" - :value="item.value" - ></el-option> - </el-select> - </el-form-item> - </el-col> - <!-- <el-col :span="12" v-if="amendtag"> - <el-form-item label="杩囨护璇存槑"> - <el-select v-model="form.notrequiredreason" placeholder="璇烽�夋嫨杩囨护绫诲瀷"> - <el-option - v-for="item in dict.type.futter_patient" - :key="item.value" - :label="item.label" - :value="item.value" - ></el-option> - </el-select> - </el-form-item> - </el-col> --> - </el-row> - <el-row> - <el-col :span="24" v-if="amendtag"> - <el-form-item label="杩囨护鍘熷洜"> - <el-input - v-model="form.notrequiredreason" - type="textarea" - placeholder="璇疯緭鍏ヨ繃婊ゅ師鍥�" - ></el-input> - </el-form-item> - </el-col> - </el-row> - <el-row> - <el-col :span="24" v-if="!amendtag"> - <el-form-item label="澶囨敞"> - <el-input - v-model="form.remark" - type="textarea" - placeholder="璇疯緭鍏ュ唴瀹�" - ></el-input> - </el-form-item> - </el-col> - </el-row> - </el-form> - <div slot="footer" class="dialog-footer"> - <el-button type="primary" @click="submitForm">纭� 瀹�</el-button> - <el-button @click="cancel">鍙� 娑�</el-button> - </div> - </el-dialog> - - <!-- 鐢ㄦ埛瀵煎叆瀵硅瘽妗� --> - <el-dialog - :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" - :disabled="upload.isUploading" - :on-progress="handleFileUploadProgress" - :on-success="handleFileSuccess" - 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> - <!-- <el-link - type="success" - :underline="false" - style="font-size: 24px; vertical-align: baseline" - href="http://m.qpic.cn/psc?/V50ZTolo1AIhq00dqrJP2169QM2VHGTU/ruAMsa53pVQWN7FLK88i5qfmCJclyMduqqL6kjE4h7TXDAjimVtmLmTyGVfF4qlkyOISsYQ4Mxx705X2tkXEIUPrfCS4L4yK.f11SmO8Tq0!/b&bo=twb0AgAAAAADB2U!&rf=viewer_4" - target="_blank" - > - 鏌ョ湅妯℃澘</el-link - > --> - </div> - </el-upload> - </div> - <!-- 瀵煎叆妫�鏌� --> - <div class="uploading" v-else-if="dractive == 2"> - <el-table :data="uploadingData" style="width: 100%"> - <el-table-column prop="serial" label="搴忓彿"> </el-table-column> - <el-table-column prop="name" label="濮撳悕"> </el-table-column> - <el-table-column prop="sex" label="鎬у埆"> </el-table-column> - - <el-table-column prop="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-column prop="opinion" 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="@/assets/images/瀵煎叆.png" /> - <p>瀵煎叆鎮h�呮垚鍔燂紒</p> - <p> - 鏈 - <span style="color: #158bb8; font-size: 20px">{{ - ImportQuantity - }}</span> - 鏉℃暟鎹垚鍔熷鍏�<span style="color: #72d3a9; font-size: 20px">{{ - ImportQuantity - }}</span - >浣嶆偅鑰� - </p> - </div> - <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="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-column prop="opinion" 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 slot="footer" class="dialog-footer" v-if="dractive == 3"> - <!-- <el-button type="primary" @click="submitFileForm">涓嬩竴姝�</el-button> --> - <el-button @click="submitclose">瀹屾垚</el-button> - <el-button type="warning" @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> - <!-- 璺宠浆鏈嶅姟瀵硅瘽妗� --> - <el-dialog title="閫夋嫨鏈嶅姟绫诲瀷" :visible.sync="serviceVisible"> - <el-card class="box-card"> - <el-radio-group v-model="serviceradio"> - <el-radio :label="1">瀹f暀闅忚</el-radio> - <el-radio :label="2">闂ㄨ瘖鏈嶅姟</el-radio> - <el-radio :label="3">鍑洪櫌鏈嶅姟</el-radio> - <el-radio :label="4">澶嶈瘖鏈嶅姟</el-radio> - <el-radio :label="5">浣撴閫氱煡</el-radio> - <el-radio :label="6">闂嵎鏈嶅姟</el-radio> - </el-radio-group> - </el-card> - <div slot="footer" class="dialog-footer"> - <el-button @click="serviceVisible = false">鍙� 娑�</el-button> - <el-button type="primary" @click="CreateService">鍒涘缓鏈嶅姟</el-button> - </div> - </el-dialog> - <!-- 椋庨櫓绫诲瀷 --> - <el-dialog title="閫夋嫨椋庨櫓绫诲瀷" :visible.sync="RiskVisible"> - <el-card class="box-card"> - <el-form> - <el-form-item label="椋庨櫓绫诲瀷"> - <el-radio-group v-model="Riskradio"> - <el-radio :label="1">姝e父</el-radio> - <el-radio :label="2">杞诲井</el-radio> - <el-radio :label="3">楂樺嵄</el-radio> - </el-radio-group> - </el-form-item> - <el-form-item label="娲诲姩鎬ц川"> - <el-checkbox-group v-model="Risklist"> - <el-checkbox label="鎯呭喌1" name="type"></el-checkbox> - <el-checkbox label="鎯呭喌2" name="type"></el-checkbox> - <el-checkbox label="鎯呭喌3" name="type"></el-checkbox> - <el-checkbox label="鎯呭喌4" name="type"></el-checkbox> - </el-checkbox-group> - </el-form-item> - </el-form> - </el-card> - <div slot="footer" class="dialog-footer"> - <el-button @click="RiskVisible = false">鍙� 娑�</el-button> - <el-button type="primary" @click="RiskService">纭淇敼</el-button> - </div> - </el-dialog> - </div> -</template> - -<script> -import { delUser } from "@/api/system/user"; - -import { - messagelistpatient, - alterpatient, - addpatient, - particularpatient, - deletepatient, - Exporterrorpatient, - toleadpatient, -} from "@/api/patient/homepage"; -import { getTasklist } from "@/api/AiCentre/index"; -import { listtag } from "@/api/system/label"; -import { getToken } from "@/utils/auth"; -import Treeselect from "@riophae/vue-treeselect"; -import store from "@/store"; -import "@riophae/vue-treeselect/dist/vue-treeselect.css"; - -export default { - name: "Patient", - dicts: [ - "sys_normal_disable", - "task_status", - "sys_user_sex", - "futter_patient", - ], - components: { Treeselect }, - data() { - return { - // 閬僵灞� - loading: true, - // 閫変腑鏁扮粍 - ids: [], - // 闈炲崟涓鐢� - single: true, - // 闈炲涓鐢� - multiple: true, - // 鏄剧ず鎼滅储鏉′欢 - showSearch: true, - // 鎬绘潯鏁� - total: 0, - tasktotal: 0, - Risklist: [], - // 鐢ㄦ埛琛ㄦ牸鏁版嵁 - userList: null, - taskuserList: null, - // 寮瑰嚭灞傛爣棰� - title: "", - // 閮ㄩ棬鏍戦�夐」 - deptOptions: undefined, - options: [], - // 鏄惁鏄剧ず寮瑰嚭灞� - open: false, - // 閮ㄩ棬鍚嶇О - deptName: undefined, - // 榛樿瀵嗙爜 - initPassword: undefined, - amendtag: false, //鏄惁淇敼 - serviceVisible: false, - serviceradio: 1, - distributeVisible: false, - RiskVisible: false, - tasktopic: "5", //鏂板绫诲瀷 - Riskradio: 1, - RiskObj: {}, - // 鏌ヨ鍙傛暟 - topqueryParams: { - pageNum: 1, - pageSize: 10, - userName: undefined, - tagid: undefined, - topic: undefined, - }, - // 鏃ユ湡鑼冨洿 - dateRange: [], - taskoptions: [], - paperstypes: [ - { papersname: "韬唤璇�" }, - { papersname: "鎶ょ収" }, - { papersname: "涓浗娓境灞呮皯韬唤璇�" }, - { papersname: "涓浗鍙版咕灞呮皯韬唤璇�" }, - ], - Patienttype: [ - { - value: "1", - label: "鍦ㄩ櫌鎮h��", - }, - - { - value: "3", - label: "浣撴鎮h��", - }, - { - value: "4", - label: "鍑洪櫌鎮h��", - }, - ], - sextype: [ - { - value: 1, - label: "鐢�", - }, - { - value: 2, - label: "濂�", - }, - ], - - cardlist: [ - { - name: "鎮h�呮�绘暟", - value: 123, - }, - { - name: "鍦ㄩ櫌鎮h��", - value: 23, - router: "/patient/inpatient", - }, - { - name: "鍑洪櫌鎮h��", - value: 41, - router: "/patient/hospital", - }, - { - name: "绂讳笘鎮h��", - value: 0, - }, - ], - source: [ - { - value: 0, - label: "鎵�灞炴偅鑰�", - }, - { - value: 1, - label: "绉戝鎮h��", - }, - { - value: 2, - label: "鐥呭尯鎮h��", - }, - ], - // 琛ㄥ崟鍙傛暟 - form: { - name: "", - age: "", - sex: "", - tagList: [], - idcardno: "", - telcode: "", - idcardtype: "", - relativetelcode: "", - }, - activeName: "first", //渚ц竟閫夋嫨 - //瀵煎叆杩涘害 - dractive: 1, - // 瀵煎叆灞曠ず琛ㄥ崟 - uploadingData: {}, - total: 0, // 鎬绘潯鏁� - ImportQuantity: 999, //瀵煎叆鎮h�呮暟閲� - Labelchange: false, //淇敼鏂板寮圭獥 - propss: { multiple: true }, - optionstag: [], //鏍囩鍒楄〃 - defaultProps: { - children: "children", - label: "label", - }, - // 鐢ㄦ埛瀵煎叆鍙傛暟 - upload: { - // 鏄惁鏄剧ず寮瑰嚭灞傦紙鐢ㄦ埛瀵煎叆锛� - open: false, - // 寮瑰嚭灞傛爣棰橈紙鐢ㄦ埛瀵煎叆锛� - title: "", - // 鏄惁绂佺敤涓婁紶 - isUploading: false, - // 鏄惁鏇存柊宸茬粡瀛樺湪鐨勭敤鎴锋暟鎹� - updateSupport: 0, - // 璁剧疆涓婁紶鐨勮姹傚ご閮� - headers: { Authorization: "Bearer " + getToken() }, - // 涓婁紶鐨勫湴鍧� - url: process.env.VUE_APP_BASE_API + "/smartor/import/importPatInfo", - }, - // 鏌ヨ鍙傛暟 - queryParams: { - pageNum: 1, - allhosp: "1", - pageSize: 10, - searchscope: 2, - idcardno: undefined, - name: undefined, - status: undefined, - tagIds: undefined, - telcode: undefined, - }, - // 琛ㄥ崟鏍¢獙 - rules: { - name: [ - { required: true, message: "鐢ㄦ埛鍚嶇О涓嶈兘涓虹┖", trigger: "blur" }, - { - min: 2, - max: 20, - message: "鐢ㄦ埛鍚嶇О闀垮害蹇呴』浠嬩簬 2 鍜� 20 涔嬮棿", - trigger: "blur", - }, - ], - - sex: [{ required: true, message: "鎬у埆涓嶈兘涓虹┖", trigger: "blur" }], - age: [{ required: true, message: "骞撮緞涓嶈兘涓虹┖", trigger: "blur" }], - nation: [{ required: true, message: "姘戞棌涓嶈兘涓虹┖", trigger: "blur" }], - telcode: [ - { required: true, message: "鑱旂郴鏂瑰紡涓嶈兘涓虹┖", trigger: "blur" }, - { - pattern: /^1[3|4|5|6|7|8|9][0-9]\d{8}$/, - message: "璇疯緭鍏ユ纭殑鎵嬫満鍙风爜", - trigger: "blur", - }, - ], - - idcardno: [ - { required: true, message: "璇佷欢鍙峰彲鑳戒负绌�", trigger: "blur" }, - { - 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", - }, - ], - placeOfResidence: [ - { required: true, message: "灞呬綇鍦颁笉鑳戒负绌�", trigger: "blur" }, - ], - birthplace: [ - { required: true, message: "鍑虹敓鍦颁笉鑳戒负绌�", trigger: "blur" }, - ], - }, - }; - }, - watch: { - // 鏍规嵁鍚嶇О绛涢�夐儴闂ㄦ爲 - deptName(val) { - this.$refs.tree.filter(val); - }, - }, - created() { - this.getList(); - this.gettabList(); - //鑾峰彇宸茬瓫閫夊悗鐨勫彲閫変换鍔$被鍨� - 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 { - this.queryParams.leaveldeptcodes = store.getters.belongDepts.map( - (obj) => obj.deptCode - ); - this.queryParams.leavehospitaldistrictcodes = - store.getters.belongWards.map((obj) => obj.districtCode); - } - this.loading = true; - messagelistpatient(this.queryParams).then((response) => { - this.userList = response.rows; - this.total = response.total; - this.loading = false; - }); - }, - handleClick() { - this.getList(); - }, - findLabelByValue(data, value) { - const item = data.find((item) => item.value === value); - return item ? item.label : null; - }, - /** 鏌ヨ鏍囩鍒楄〃 */ - 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; - }); - }, - Distributionservice(row) { - this.serviceVisible = true; - }, - RiskMarker(row) { - this.RiskVisible = true; - this.RiskObj=row; - }, - - // 鍙栨秷鎸夐挳 - cancel() { - this.Labelchange = false; - this.reset(); - }, - // 琛ㄥ崟閲嶇疆 - reset() { - this.form = { - name: "", - age: "", - sex: "", - tagList: [], - idcardno: "", - telcode: "", - idcardtype: "", - relativetelcode: "", - }; - // this.resetForm("form"); - }, - /** 鎼滅储鎸夐挳鎿嶄綔 */ - handleQuery() { - this.queryParams.pageNum = 1; - this.getList(); - }, - /** 閲嶇疆鎸夐挳鎿嶄綔 */ - resetQuery() { - this.dateRange = []; - this.resetForm("queryForm"); - this.$refs.tree.setCurrentKey(null); - this.handleQuery(); - }, - // 澶氶�夋閫変腑鏁版嵁 - handleSelectionChange(selection) { - this.ids = selection.map((item) => item.id); - this.single = selection.length != 1; - this.multiple = !selection.length; - }, - - /** 鏂板鎸夐挳鎿嶄綔 */ - handleAdd() { - this.reset(); - this.Labelchange = true; - this.amendtag = false; - }, - /** 淇敼鎸夐挳鎿嶄綔 */ - handleUpdate(row) { - const userIds = row.id || this.ids; - particularpatient(userIds).then((response) => { - console.log(response); - this.form = response.data; - }); - this.amendtag = true; - this.Labelchange = true; - }, - //淇敼/鏂板鎮h�� - submitForm() { - this.$refs["form"].validate((valid) => { - if (valid) { - if (this.amendtag) { - this.form.isoperation = 2; - this.form.notrequiredFlag = 1; - alterpatient(this.form) - .then((response) => { - console.log(response); - }) - .then(() => { - this.getList(); - this.$modal.msgSuccess("鎮h�呰繃婊ゆ垚鍔�"); - }); - } else { - this.form.isoperation = 1; - alterpatient(this.form) - .then((response) => { - console.log(response); - }) - .then(() => { - this.getList(); - this.$modal.msgSuccess("娣诲姞鎴愬姛"); - }); - } - this.reset(); - // this.idds = ""; - this.Labelchange = false; - } - }); - }, - - /** 鍒犻櫎鎸夐挳鎿嶄綔 */ - handleDelete(row) { - const userIds = row.userId || this.ids; - this.$modal - .confirm('鏄惁纭鍒犻櫎鐢ㄦ埛缂栧彿涓�"' + userIds + '"鐨勬暟鎹」锛�') - .then(function () { - return deletepatient(userIds); - }) - .then(() => { - this.getList(); - this.$modal.msgSuccess("鍒犻櫎鎴愬姛"); - }) - .catch(() => {}); - }, - //鏈嶅姟璺宠浆 - CreateService() { - this.$router.push({ - path: "/followvisit/particty", - query: { type: this.serviceradio }, - }); - }, - RiskService() { - - this.RiskObj.visitFlag = this.Risklist.join(", "); - this.RiskObj.visitType = this.Riskradio; - alterpatient(this.RiskObj).then((res) => { - if (res.code==200) { - this.getList(); - this.Risklist=[]; - this.Riskradio=1; - this.$modal.msgSuccess("寮傚父璁板綍鎴愬姛"); - } - }); - }, - distribute() { - this.distributeVisible = true; - if (this.tasktopic == 1) { - this.topqueryParams.type = 3; - } else if (this.tasktopic == 2) { - this.topqueryParams.type = 1; - } else if (this.tasktopic == 3) { - this.topqueryParams.type = 1; - } else if (this.tasktopic == 4) { - this.topqueryParams.type = 1; - } else if (this.tasktopic == 5) { - this.topqueryParams.type = 1; - } else if (this.tasktopic == 6) { - this.topqueryParams.type = 2; - } - this.topqueryParams.typename = this.findLabelByValue( - this.taskoptions, - this.tasktopic - ); - getTasklist(this.topqueryParams).then((response) => { - this.taskuserList = response.rows; - this.tasktotal = response.total; - this.$forceUpdate(); - }); - }, - /** 瀵煎嚭鎸夐挳鎿嶄綔 */ - 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> -.Questionnairemanagement { - display: flex; -} -.sidecolumn { - width: 180px; - min-height: 100vh; - text-align: center; - // display: flex; - margin-top: 20px; - margin: 20px; - padding: 15px; - background: #d0e9fd; - 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); - .sidecolumn-top { - display: flex; - justify-content: space-between; - .top-wj { - font-size: 20px; - } - .top-tj { - font-size: 18px; - - color: rgb(0, 89, 255); - cursor: pointer; - } - } - .center-ss { - margin-top: 30px; - .input-with-select { - height: 40px !important; - } - } - .bottom-fl { - margin-top: 30px; - display: center !important; - } -} -.preview-left { - margin: 20px; - // margin: 20px; - padding: 30px; - background: #ffff; - border: 1px solid #dcdfe6; - -webkit-box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.12), - 0 0 6px 0 rgba(0, 0, 0, 0.04); - .scriptTopic-dev { - margin-bottom: 25px; - font-size: 20px !important; - .dev-text { - margin-bottom: 10px; - } - } -} -::v-deep.el-tabs--left, -.el-tabs--right { - overflow: hidden; - align-items: center; - display: flex; -} -::v-deep.el-input--medium .el-input__inner { - height: 40px !important; -} -::v-deep.el-tabs--right .el-tabs__active-bar.is-right { - height: 40px; - width: 5px; - left: 0; -} -::v-deep.el-tabs--right .el-tabs__item.is-right { - display: block; - text-align: left; - font-size: 20px; -} -::v-deep.leftvlue .el-card__body { - background: #d0e9fd; -} -::v-deep.leftvlue .el-card__body:hover { - background: #8dc8f8; - cursor: pointer; /* 榧犳爣鎮诞鏃跺彉涓烘墜褰� */ -} -.leftvlue { - width: 80%; - margin-top: 10px; -} -.leftvlue-bg { - // display: flex; - // flex: 1; - margin-top: 20px; - // margin: 20px; - padding: 30px; - background: #ffff; - border: 1px solid #dcdfe6; - -webkit-box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.12), - 0 0 6px 0 rgba(0, 0, 0, 0.04); - .mulsz { - font-size: 20px; - } -} -.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: 20px; - background: #daeaf5; - img { - width: 50px; - height: 50px; - } -} -.button-textsc { - color: #28cfe6; -} -.button-textxg { - color: #de7897; -} -</style> diff --git a/src/views/patient/patient/outpatient.vue b/src/views/patient/patient/outpatient.vue deleted file mode 100644 index 8f7b3ac..0000000 --- a/src/views/patient/patient/outpatient.vue +++ /dev/null @@ -1,771 +0,0 @@ -<template> - <div class="app-container"> - <el-row :gutter="20"> - <!--鐢ㄦ埛鏁版嵁--> - <el-col :span="24" :xs="24"> - <el-form - :model="queryParams" - ref="queryForm" - size="small" - :inline="true" - v-show="showSearch" - label-width="98px" - > - <el-form-item label="濮撳悕" prop="name"> - <el-input - v-model="queryParams.patname" - placeholder="璇疯緭鍏ュ鍚�" - clearable - style="width: 200px" - @keyup.enter.native="handleQuery" - /> - </el-form-item> - <el-form-item label="鎮h�呯紪鍙�" prop="patid"> - <el-input - v-model="queryParams.patid" - placeholder="璇疯緭鍏ユ偅鑰呯紪鍙�" - clearable - style="width: 250px" - @keyup.enter.native="handleQuery" - /> - </el-form-item> - - <el-form-item label="鎮h�呰寖鍥�" prop="tagId"> - <el-select v-model="queryParams.Patientid" placeholder="璇烽�夋嫨"> - <el-option - v-for="item in Patientrange" - :key="item.id" - :label="item.name" - :value="item.id" - > - </el-option> - </el-select> - </el-form-item> - <el-row> - <el-form-item label=" 灏辫瘖鏃ユ湡 " prop="createTime"> - <el-date-picker - clearable - v-model="queryParams.createTime" - type="date" - value-format="yyyy-MM-dd" - placeholder="璇烽�夋嫨 灏辫瘖鏃ユ湡 " - > - </el-date-picker> - </el-form-item> - <el-form-item> - <el-button - type="primary" - icon="el-icon-search" - size="medium" - @click="handleQuery" - >鎼滅储</el-button - > - <el-button - icon="el-icon-refresh" - size="medium" - @click="resetQuery" - >閲嶇疆</el-button - > - </el-form-item> - </el-row> - </el-form> - - <el-row :gutter="10" class="mb8"> - <!-- <el-col :span="1.5"> - <el-button - type="primary" - plain - icon="el-icon-plus" - size="medium" - @click="handleAdd" - v-hasPermi="['system:user:add']" - >鏂板</el-button - > - </el-col> - <el-col :span="1.5"> - <el-button - type="success" - plain - icon="el-icon-edit" - size="medium" - :disabled="single" - @click="handleUpdate" - v-hasPermi="['system:user:edit']" - >淇敼</el-button - > - </el-col> --> - <el-col :span="1.5"> - <el-button - type="danger" - plain - icon="el-icon-delete" - size="medium" - :disabled="multiple" - @click="handleDelete" - v-hasPermi="['system:user:remove']" - >鍒犻櫎</el-button - > - </el-col> - <el-col :span="19"> - <div class="documentf"> - <div class="document"> - <el-button - type="info" - plain - icon="el-icon-upload2" - size="medium" - @click="handleImport" - v-hasPermi="['system:user:import']" - >瀵煎叆</el-button - > - </div> - <div class="document"> - <el-button - type="warning" - plain - icon="el-icon-download" - size="medium" - @click="handleExport" - v-hasPermi="['system:user:export']" - >瀵煎嚭</el-button - > - </div> - </div> - </el-col> - <!-- <el-col :span="1.5"> </el-col> --> - </el-row> - - <el-table - v-loading="loading" - :data="userList" - @selection-change="handleSelectionChange" - > - <el-table-column type="selection" width="50" align="center" /> - <!-- <el-table-column - label="搴忓彿" - fixed - align="center" - key="id" - prop="id" - /> --> - <el-table-column - label="灏辫瘖鏃堕棿" - align="center" - key="createTime" - prop="createTime" - width="160" - > - <template slot-scope="scope"> - <span>{{ formatTime(scope.row.createTime) }}</span> - </template> - </el-table-column> - - <el-table-column - label="闂ㄨ瘖鍙�" - align="center" - key="patid" - prop="patid" - /> - <el-table-column - label="濮撳悕" - align="center" - key="patname" - prop="patname" - /> - <el-table-column label="鎬у埆" align="center" key="sex" prop="sex"> - <template slot-scope="scope"> - <span>{{ scope.row.sex == 1 ? "鐢�" : "濂�" }}</span> - </template> - </el-table-column> - <el-table-column - label="骞撮緞" - align="center" - key="age" - prop="age" - width="120" - /> - <el-table-column - label="鑱旂郴鐢佃瘽" - align="center" - key="telcode" - prop="telcode" - width="120" - /> - <!-- <el-table-column - label="鎮h�呮爣绛撅紙缂猴級" - align="center" - key="tagList" - prop="tagList" - width="160" - :show-overflow-tooltip="true" - > - <template slot-scope="scope"> - <span v-for="item in scope.row.tagList">{{ item }} </span> - </template> - </el-table-column> --> - - <el-table-column - label="璇婃柇" - align="center" - key="diagname" - prop="diagname" - width="190" - /> - <!-- <el-table-column - label="涓昏堪" - align="center" - key="mainsuit" - prop="mainsuit" - width="120" - /> --> - <el-table-column - label="灏辫瘖绉戝" - align="center" - key="deptname" - prop="deptname" - width="120" - /> - <el-table-column - label="鎺ヨ瘖鍖荤敓" - align="center" - key="drname" - prop="drname" - width="120" - /> - - <el-table-column - label="鎿嶄綔" - fixed="right" - align="center" - width="160" - class-name="small-padding fixed-width" - > - <template slot-scope="scope"> - <el-button - size="medium" - type="text" - @click=" - $router.push({ - path: '/patient/patient/profile/', - query: { id: scope.row.patid }, - }) - " - v-hasPermi="['system:user:edit']" - ><span class="button-textsc" - ><i class="el-icon-zoom-in"></i>鏌ョ湅</span - ></el-button - > - </template> - </el-table-column> - </el-table> - - <pagination - v-show="total > 0" - :total="total" - :page.sync="queryParams.pageNum" - :limit.sync="queryParams.pageSize" - @pagination="getList" - /> - </el-col> - </el-row> - - <!-- 鐢ㄦ埛瀵煎叆瀵硅瘽妗� --> - <el-dialog - :title="upload.title" - :visible.sync="upload.open" - width="70%" - append-to-body - > - <el-steps :active="dractive" simple> - <el-step title="涓婁紶瀵煎叆鏂囦欢" icon="el-icon-upload"></el-step> - <el-step title="瀵煎叆妫�鏌�" icon="el-icon-picture"></el-step> - <el-step title="瀵煎叆缁撴灉" icon="el-icon-picture"></el-step> - </el-steps> - <!-- 涓婁紶瀵煎叆鏂囦欢 --> - <div class="download" v-if="dractive == 1"> - <el-upload - class="upload-demo" - ref="upload" - :limit="1" - accept=".xlsx, .xls" - :headers="upload.headers" - :action="upload.url + '?updateSupport=' + upload.updateSupport" - :disabled="upload.isUploading" - :on-progress="handleFileUploadProgress" - :on-success="handleFileSuccess" - :auto-upload="false" - drag - > - <i class="el-icon-upload"></i> - <div class="el-upload__text">灏嗘枃浠舵嫋鍒版澶勶紝鎴�<em>鐐瑰嚮涓婁紶</em></div> - <div class="el-upload__tip text-center" slot="tip"> - <div class="el-upload__tip" slot="tip"> - <el-checkbox v-model="upload.updateSupport" /> - 鏄惁鏇存柊宸茬粡瀛樺湪鐨勭敤鎴锋暟鎹� - </div> - <span>浠呭厑璁稿鍏ls銆亁lsx鏍煎紡鏂囦欢銆�</span> - <el-link - type="primary" - :underline="false" - style="font-size: 24px; vertical-align: baseline" - @click="importTemplate" - >涓嬭浇妯℃澘</el-link - > - </div> - </el-upload> - </div> - <!-- 瀵煎叆妫�鏌� --> - <div class="uploading" v-else-if="dractive == 2"> - <el-table :data="uploadingData" style="width: 100%"> - <el-table-column prop="serial" label="搴忓彿"> </el-table-column> - <el-table-column prop="name" label="濮撳悕"> </el-table-column> - <el-table-column prop="sex" label="鎬у埆"> </el-table-column> - <el-table-column prop="certificate" label="璇佷欢绫诲瀷"> - </el-table-column> - <el-table-column prop="certificatenum" label="璇佷欢鍙风爜"> - </el-table-column> - <el-table-column prop="goday" label="鍑虹敓鏃ユ湡"> </el-table-column> - <el-table-column prop="menum" label="鏈汉鑱旂郴鏂瑰紡"> </el-table-column> - <el-table-column prop="younum" label="浜插睘鑱旂郴鏂瑰紡"> - </el-table-column> - <el-table-column prop="tag" label="鎮h�呮爣绛�"> </el-table-column> - <el-table-column prop="erry" label="閿欒鍘熷洜"> </el-table-column> - </el-table> - <pagination - v-show="total > 0" - :total="total" - :page.sync="queryParams.pageNum" - :limit.sync="queryParams.pageSize" - @pagination="geterryList" - /> - </div> - <!-- 瀹屾垚 --> - <div class="drexamine" v-else-if="dractive == 3"> - <img - src="https://fuss10.elemecdn.com/e/5d/4a731a90594a4af544c0c25941171jpeg.jpeg" - /> - <p>瀵煎叆鎮h�呮垚鍔燂紒</p> - <p>鏈鍏辫瀵煎叆{{ ImportQuantity }}浣嶆偅鑰�</p> - </div> - - <div slot="footer" class="dialog-footer" v-if="dractive == 3"> - <!-- <el-button type="primary" @click="submitFileForm">涓嬩竴姝�</el-button> --> - <el-button @click="submitclose">瀹屾垚</el-button> - </div> - <div slot="footer" v-else> - <el-button type="primary" @click="submitFileForm">涓嬩竴姝�</el-button> - <el-button @click="submitclose">鍙� 娑�</el-button> - </div> - </el-dialog> - </div> -</template> - -<script> -import { delUser } from "@/api/system/user"; - -import { - listPatouthosp, - getPatouthosp, - addPatouthosp, - updatePatouthosp, - delPatouthosp, -} from "@/api/smartor/patouthosp"; -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"; - -export default { - name: "Userhuanze", - dicts: ["sys_normal_disable", "sys_user_sex"], - components: { Treeselect }, - data() { - return { - // 閬僵灞� - loading: true, - // 閫変腑鏁扮粍 - ids: [], - // 闈炲崟涓鐢� - single: true, - // 闈炲涓鐢� - multiple: true, - // 鏄剧ず鎼滅储鏉′欢 - showSearch: true, - // 鎬绘潯鏁� - total: 0, - // 鐢ㄦ埛琛ㄦ牸鏁版嵁 - userList: null, - // 寮瑰嚭灞傛爣棰� - title: "", - // 閮ㄩ棬鏍戦�夐」 - deptOptions: undefined, - // 鏄惁鏄剧ず寮瑰嚭灞� - open: false, - // 閮ㄩ棬鍚嶇О - deptName: undefined, - // 榛樿瀵嗙爜 - initPassword: undefined, - amendtag: false, //鏄惁淇敼 - // 鏃ユ湡鑼冨洿 - dateRange: [], - paperstypes: [ - { papersname: "韬唤璇�" }, - { papersname: "鎶ょ収" }, - { papersname: "涓浗娓境灞呮皯韬唤璇�" }, - { papersname: "涓浗鍙版咕灞呮皯韬唤璇�" }, - ], - // 琛ㄥ崟鍙傛暟 - form: { - name: "", - age: "", - sex: "", - tagList: [], - idcardno: "", - telcode: "", - idcardtype: "", - relativetelcode: "", - }, - //瀵煎叆杩涘害 - dractive: 1, - // 瀵煎叆灞曠ず琛ㄥ崟 - uploadingData: {}, - total: 0, // 鎬绘潯鏁� - ImportQuantity: 999, //瀵煎叆鎮h�呮暟閲� - Labelchange: false, //淇敼鏂板寮圭獥 - propss: { multiple: true }, - optionstag: [], //鏍囩鍒楄〃 - Patientrange: [ - { - name: "鍏ㄩ儴", - id: 999, - }, - { - name: "褰撳墠绉戝", - id: 1, - }, - ], - defaultProps: { - children: "children", - label: "label", - }, - // 鐢ㄦ埛瀵煎叆鍙傛暟 - upload: { - // 鏄惁鏄剧ず寮瑰嚭灞傦紙鐢ㄦ埛瀵煎叆锛� - open: false, - // 寮瑰嚭灞傛爣棰橈紙鐢ㄦ埛瀵煎叆锛� - title: "", - // 鏄惁绂佺敤涓婁紶 - isUploading: false, - // 鏄惁鏇存柊宸茬粡瀛樺湪鐨勭敤鎴锋暟鎹� - updateSupport: 0, - // 璁剧疆涓婁紶鐨勮姹傚ご閮� - headers: { Authorization: "Bearer " + getToken() }, - // 涓婁紶鐨勫湴鍧� - url: process.env.VUE_APP_BASE_API + "/system/user/importData", - }, - // 鏌ヨ鍙傛暟 - queryParams: { - pageNum: 1, - pageSize: 10, - }, - // 琛ㄥ崟鏍¢獙 - rules: { - // userName: [ - // { required: true, message: "鐢ㄦ埛鍚嶇О涓嶈兘涓虹┖", trigger: "blur" }, - // { - // min: 2, - // max: 20, - // message: "鐢ㄦ埛鍚嶇О闀垮害蹇呴』浠嬩簬 2 鍜� 20 涔嬮棿", - // trigger: "blur", - // }, - // ], - // nickName: [ - // { required: true, message: "鐢ㄦ埛鏄电О涓嶈兘涓虹┖", trigger: "blur" }, - // ], - // password: [ - // { required: true, message: "鐢ㄦ埛瀵嗙爜涓嶈兘涓虹┖", trigger: "blur" }, - // { - // min: 5, - // max: 20, - // message: "鐢ㄦ埛瀵嗙爜闀垮害蹇呴』浠嬩簬 5 鍜� 20 涔嬮棿", - // trigger: "blur", - // }, - // ], - // email: [ - // { - // type: "email", - // message: "璇疯緭鍏ユ纭殑閭鍦板潃", - // trigger: ["blur", "change"], - // }, - // ], - // phonenumber: [ - // { - // pattern: /^1[3|4|5|6|7|8|9][0-9]\d{8}$/, - // message: "璇疯緭鍏ユ纭殑鎵嬫満鍙风爜", - // trigger: "blur", - // }, - // ], - // IDnumber: [ - // { - // pattern: - // /^\d{6}((((((19|20)\d{2})(0[13-9]|1[012])(0[1-9]|[12]\d|30))|(((19|20)\d{2})(0[13578]|1[02])31)|((19|20)\d{2})02(0[1-9]|1\d|2[0-8])|((((19|20)([13579][26]|[2468][048]|0[48]))|(2000))0229))\d{3})|((((\d{2})(0[13-9]|1[012])(0[1-9]|[12]\d|30))|((\d{2})(0[13578]|1[02])31)|((\d{2})02(0[1-9]|1\d|2[0-8]))|(([13579][26]|[2468][048]|0[048])0229))\d{2}))(\d|X|x)$/, - // message: "璇疯緭鍏ユ纭殑韬唤璇佸彿鐮�", - // trigger: "blur", - // }, - // ], - }, - }; - }, - watch: { - // 鏍规嵁鍚嶇О绛涢�夐儴闂ㄦ爲 - deptName(val) { - this.$refs.tree.filter(val); - }, - }, - created() { - this.getList(); - this.gettabList(); - }, - methods: { - /** 鏌ヨ鎮h�呭垪琛� */ - getList() { - this.loading = true; - listPatouthosp(this.queryParams).then((response) => { - console.log(response); - this.userList = response.rows; - this.total = response.total; - this.loading = false; - }); - }, - /** 鏌ヨ鏍囩鍒楄〃 */ - gettabList() { - const tagqueryParams = { - pageNum: 1, - pageSize: 1000, - tagname: undefined, - tagdescription: undefined, - tagcategoryid: "0", - }; - listtag(tagqueryParams).then((response) => { - console.log(response); - this.optionstag = response.rows; - }); - }, - // 鏌ヨ瀵煎叆灞曠ず鍒楄〃 - geterryList() { - this.loading = true; - listJob(this.queryParams).then((response) => { - this.jobList = 1; - this.total = 1; - this.loading = false; - }); - }, - - // 绛涢�夎妭鐐� - filterNode(value, data) { - if (!value) return true; - return data.label.indexOf(value) !== -1; - }, - // 鑺傜偣鍗曞嚮浜嬩欢 - handleNodeClick(data) { - this.queryParams.deptId = data.id; - this.handleQuery(); - }, - - // 鍙栨秷鎸夐挳 - cancel() { - this.Labelchange = false; - this.reset(); - }, - // 琛ㄥ崟閲嶇疆 - reset() { - this.form = { - name: "", - age: "", - sex: "", - tagList: [], - idcardno: "", - telcode: "", - idcardtype: "", - relativetelcode: "", - }; - // this.resetForm("form"); - }, - /** 鎼滅储鎸夐挳鎿嶄綔 */ - handleQuery() { - this.queryParams.pageNum = 1; - this.getList(); - }, - /** 閲嶇疆鎸夐挳鎿嶄綔 */ - resetQuery() { - this.dateRange = []; - this.resetForm("queryForm"); - this.$refs.tree.setCurrentKey(null); - this.handleQuery(); - }, - // 澶氶�夋閫変腑鏁版嵁 - handleSelectionChange(selection) { - this.ids = selection.map((item) => item.patid); - this.single = selection.length != 1; - this.multiple = !selection.length; - }, - - /** 鏂板鎸夐挳鎿嶄綔 */ - handleAdd() { - this.reset(); - this.Labelchange = true; - this.amendtag = false; - }, - /** 淇敼鎸夐挳鎿嶄綔 */ - handleUpdate(row) { - console.log(row); - const userIds = row.patid || this.ids; - particularpatient(userIds).then((response) => { - console.log(response); - this.form = response.data; - }); - this.amendtag = true; - this.Labelchange = true; - }, - - //淇敼/鏂板鎮h�� - submitForm() { - if (this.amendtag) { - console.log(22); - this.form.isoperation = 2; - } else { - this.form.isoperation = 1; - } - alterpatient(this.form) - .then((response) => { - console.log(response); - }) - .then(() => { - this.getList(); - this.$modal.msgSuccess("淇濆瓨鎴愬姛"); - }); - this.reset(); - // this.idds = ""; - this.Labelchange = false; - }, - - /** 鍒犻櫎鎸夐挳鎿嶄綔 */ - handleDelete(row) { - const userIds = row.userId || this.ids; - this.$modal - .confirm('鏄惁纭鍒犻櫎鐢ㄦ埛缂栧彿涓�"' + userIds + '"鐨勬暟鎹」锛�') - .then(function () { - return deletepatient(userIds); - }) - .then(() => { - this.getList(); - this.$modal.msgSuccess("鍒犻櫎鎴愬姛"); - }) - .catch(() => {}); - }, - /** 瀵煎嚭鎸夐挳鎿嶄綔 */ - handleExport() { - this.download( - "smartor/patarchive/export", - { - ...this.queryParams, - }, - `user_${new Date().getTime()}.xlsx` - ); - }, - /** 瀵煎叆鎸夐挳鎿嶄綔 */ - handleImport() { - this.upload.title = "鐢ㄦ埛瀵煎叆"; - this.upload.open = true; - }, - /** 涓嬭浇妯℃澘鎿嶄綔 */ - importTemplate() { - this.download( - "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/physical.vue b/src/views/patient/patient/physical.vue deleted file mode 100644 index a7b31d6..0000000 --- a/src/views/patient/patient/physical.vue +++ /dev/null @@ -1,948 +0,0 @@ -<template> - <div class="app-container"> - <el-row :gutter="20"> - <!--鐢ㄦ埛鏁版嵁--> - <el-col :span="24" :xs="24"> - <el-form - :model="queryParams" - ref="queryForm" - size="small" - :inline="true" - v-show="showSearch" - label-width="98px" - > - <el-form-item label="濮撳悕" prop="name"> - <el-input - v-model="queryParams.name" - placeholder="璇疯緭鍏ュ鍚�" - clearable - style="width: 200px" - @keyup.enter.native="handleQuery" - /> - </el-form-item> - <el-form-item label="浣撴缂栧彿" prop="idcardno"> - <el-input - v-model="queryParams.idcardno" - 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" - multiple - placeholder="璇烽�夋嫨" - > - <el-option - v-for="item in Patientrange" - :key="item.id" - :label="item.name" - :value="item.id" - > - </el-option> - </el-select> - </el-form-item> - <el-form-item label="鎮h�呮爣绛�" prop="tagId"> - <el-select - v-model="queryParams.tagIds" - multiple - filterable - placeholder="璇烽�夋嫨" - > - <el-option - v-for="item in optionstag" - :key="item.tagid" - :label="item.tagname" - :value="item.tagid" - > - </el-option> - </el-select> - </el-form-item> - <el-row> - <el-form-item label=" 浣撴鏃堕棿 " prop="admitdate"> - <el-date-picker - v-model="queryParams.admitdate" - type="daterange" - range-separator="鑷�" - start-placeholder="寮�濮嬫棩鏈�" - end-placeholder="缁撴潫鏃ユ湡" - > - </el-date-picker> - </el-form-item> - <el-form-item> - <el-button - type="primary" - icon="el-icon-search" - size="medium" - @click="handleQuery" - >鎼滅储</el-button - > - <el-button - icon="el-icon-refresh" - size="medium" - @click="resetQuery" - >閲嶇疆</el-button - > - </el-form-item> - </el-row> - </el-form> - - <el-row :gutter="10" class="mb8"> - <el-col :span="1.5"> - <el-button - type="primary" - plain - icon="el-icon-plus" - size="medium" - @click="handleAdd" - v-hasPermi="['system:user:add']" - >鏂板</el-button - > - </el-col> - <el-col :span="1.5"> - <el-button - type="success" - plain - icon="el-icon-edit" - size="medium" - :disabled="single" - @click="handleUpdate" - v-hasPermi="['system:user:edit']" - >淇敼</el-button - > - </el-col> - <el-col :span="1.5"> - <el-button - type="danger" - plain - icon="el-icon-delete" - size="medium" - :disabled="multiple" - @click="handleDelete" - v-hasPermi="['system:user:remove']" - >鍒犻櫎</el-button - > - </el-col> - <el-col :span="19"> - <div class="documentf"> - <div class="document"> - <el-button - type="info" - plain - icon="el-icon-upload2" - size="medium" - @click="handleImport" - v-hasPermi="['system:user:import']" - >瀵煎叆</el-button - > - </div> - <div class="document"> - <el-button - type="warning" - plain - icon="el-icon-download" - size="medium" - @click="handleExport" - v-hasPermi="['system:user:export']" - >瀵煎嚭</el-button - > - </div> - </div> - </el-col> - <!-- <el-col :span="1.5"> </el-col> --> - </el-row> - <el-table - v-loading="loading" - :data="userList" - @selection-change="handleSelectionChange" - > - <el-table-column type="selection" width="50" align="center" /> - <el-table-column - label="搴忓彿" - fixed - align="center" - key="id" - prop="id" - /> - <el-table-column label="濮撳悕" 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"> - <template slot-scope="scope"> - <span>{{ scope.row.sex == 1 ? "鐢�" : "濂�" }}</span> - </template> - </el-table-column> - <el-table-column - label="骞撮緞" - align="center" - key="age" - prop="age" - width="120" - /> - <el-table-column - label="鑱旂郴鐢佃瘽" - align="center" - key="telcode" - prop="telcode" - width="120" - /> - <el-table-column - label="鎮h�呮爣绛撅紙缂猴級" - align="center" - key="tagList" - prop="tagList" - width="160" - :show-overflow-tooltip="true" - > - <template slot-scope="scope"> - <span v-for="item in scope.row.tagList">{{ item }} </span> - </template> - </el-table-column> - <el-table-column - label="浣撴濂楅" - align="center" - key="projectname " - prop="projectname " - width="120" - /> - <el-table-column - label="浣撴绫诲瀷锛堢己锛�" - align="center" - key="idcardtype" - prop="idcardtype" - width="120" - /> - <el-table-column - label="浣撴鐘舵��" - align="center" - key="state" - prop="state" - width="120" - /> - <el-table-column - label="浣撴鎶ュ憡锛堝緟瀹氾級" - align="center" - key="idcardno" - prop="idcardno" - width="120" - /> - - <el-table-column - label="绉戝" - align="center" - key="hospitalname" - prop="hospitalname" - width="120" - /> - <el-table-column - label="鍖荤敓" - align="center" - key="drname" - prop="drname" - width="120" - /> - - <el-table-column - label="灏辫瘖鏃堕棿" - align="center" - key="createTime" - prop="createTime" - width="160" - > - <template slot-scope="scope"> - <span>{{ formatTime(scope.row.createTime) }}</span> - </template> - </el-table-column> - <el-table-column - label="澶嶈瘖鏃堕棿" - align="center" - prop="updateTime" - width="160" - > - <template slot-scope="scope"> - <span>{{ formatTime(scope.row.createTime) }}</span> - </template> - </el-table-column> - <el-table-column - label="鎿嶄綔" - fixed="right" - align="center" - width="160" - class-name="small-padding fixed-width" - > - <template slot-scope="scope"> - <el-button - size="medium" - type="text" - @click=" - $router.push({ - path: '/patient/patient/profile/', - query: { id: scope.row.patid }, - }) - " - v-hasPermi="['system:user:edit']" - ><span class="button-textsc" - ><i class="el-icon-zoom-in"></i>鏌ョ湅</span - ></el-button - > - <el-button - size="medium" - type="text" - @click="handleUpdate(scope.row)" - v-hasPermi="['system:user:edit']" - ><span class="button-textxg" - ><i class="el-icon-edit"></i>淇敼</span - ></el-button - > - </template> - </el-table-column> - </el-table> - - <pagination - v-show="total > 0" - :total="total" - :page.sync="queryParams.pageNum" - :limit.sync="queryParams.pageSize" - @pagination="getList" - /> - </el-col> - </el-row> - - <!-- 娣诲姞鎴栦慨鏀圭敤鎴烽厤缃璇濇 --> - <el-dialog - :title="amendtag ? '淇敼鎮h�呬俊鎭�' : '鏂板鎮h��'" - :visible.sync="Labelchange" - width="900px" - > - <el-form ref="form" :model="form" :rules="rules" label-width="100px"> - <el-row> - <el-col :span="12"> - <el-form-item label="濮撳悕" prop="name"> - <el-input - v-model="form.name" - placeholder="璇疯緭鍏ュ鍚�" - maxlength="30" - /> - </el-form-item> - </el-col> - <el-col :span="12"> - <el-form-item label="鎬у埆" prop="sex"> - <el-select v-model="form.sex" placeholder="璇烽�夋嫨鎬у埆"> - <el-option - v-for="dict in dict.type.sys_user_sex" - :key="dict.value" - :label="dict.label" - :value="dict.value" - ></el-option> - </el-select> - </el-form-item> - </el-col> - </el-row> - <el-row> - <el-col :span="12"> - <el-form-item label="璇佷欢绫诲瀷" prop="idcardtype"> - <el-select v-model="form.idcardtype" placeholder="璇烽�夋嫨鎬у埆"> - <el-option - v-for="item in paperstypes" - :key="item.papersname" - :label="item.papersname" - :value="item.papersname" - ></el-option> - </el-select> - </el-form-item> - </el-col> - <el-col :span="12"> - <el-form-item label="璇佷欢鍙�" prop="idcardno"> - <el-input - v-model="form.idcardno" - placeholder="璇疯緭鍏ヨ瘉浠跺彿" - maxlength="50" - /> - </el-form-item> - </el-col> - </el-row> - <el-row> - <el-col :span="12"> - <el-form-item label="鏈汉鎵嬫満鍙�" prop="telcode"> - <el-input - v-model="form.telcode" - placeholder="璇疯緭鍏ユ墜鏈哄彿" - maxlength="30" - /> - </el-form-item> - </el-col> - <el-col :span="12"> - <el-form-item label="浜插睘鎵嬫満鍙�" prop="relativetelcode"> - <el-input - v-model="form.relativetelcode" - placeholder="璇疯緭鍏ヤ翰灞炴墜鏈哄彿" - type="password" - maxlength="20" - show-password - /> - </el-form-item> - </el-col> - </el-row> - <el-row> - <el-col :span="12"> - <el-form-item label="骞撮緞" prop="age"> - <el-input - v-model="form.age" - placeholder="璇疯緭鍏ュ勾榫�" - maxlength="30" - /> - </el-form-item> - </el-col> - <el-col :span="12"> - <el-form-item label="鎮h�呮爣绛�"> - <!-- <el-select v-model="form.sex" placeholder="璇烽�夋嫨"> --> - <el-select v-model="form.tagList" multiple placeholder="璇烽�夋嫨"> - <el-option - v-for="item in optionstag" - :key="item.tagid" - :label="item.tagname" - :value="item.tagid" - > - </el-option> - </el-select> - <!-- </el-select> --> - </el-form-item> - </el-col> - </el-row> - <el-row> - <el-col :span="24"> - <el-form-item label="澶囨敞"> - <el-input - v-model="form.remark" - type="textarea" - placeholder="璇疯緭鍏ュ唴瀹�" - ></el-input> - </el-form-item> - </el-col> - </el-row> - </el-form> - <div slot="footer" class="dialog-footer"> - <el-button type="primary" @click="submitForm">纭� 瀹�</el-button> - <el-button @click="cancel">鍙� 娑�</el-button> - </div> - </el-dialog> - - <!-- 鐢ㄦ埛瀵煎叆瀵硅瘽妗� --> - <el-dialog - :title="upload.title" - :visible.sync="upload.open" - width="70%" - append-to-body - > - <el-steps :active="dractive" simple> - <el-step title="涓婁紶瀵煎叆鏂囦欢" icon="el-icon-upload"></el-step> - <el-step title="瀵煎叆妫�鏌�" icon="el-icon-picture"></el-step> - <el-step title="瀵煎叆缁撴灉" icon="el-icon-picture"></el-step> - </el-steps> - <!-- 涓婁紶瀵煎叆鏂囦欢 --> - <div class="download" v-if="dractive == 1"> - <el-upload - class="upload-demo" - ref="upload" - :limit="1" - accept=".xlsx, .xls" - :headers="upload.headers" - :action="upload.url + '?updateSupport=' + upload.updateSupport" - :disabled="upload.isUploading" - :on-progress="handleFileUploadProgress" - :on-success="handleFileSuccess" - :auto-upload="false" - drag - > - <i class="el-icon-upload"></i> - <div class="el-upload__text">灏嗘枃浠舵嫋鍒版澶勶紝鎴�<em>鐐瑰嚮涓婁紶</em></div> - <div class="el-upload__tip text-center" slot="tip"> - <div class="el-upload__tip" slot="tip"> - <el-checkbox v-model="upload.updateSupport" /> - 鏄惁鏇存柊宸茬粡瀛樺湪鐨勭敤鎴锋暟鎹� - </div> - <span>浠呭厑璁稿鍏ls銆亁lsx鏍煎紡鏂囦欢銆�</span> - <el-link - type="primary" - :underline="false" - style="font-size: 24px; vertical-align: baseline" - @click="importTemplate" - >涓嬭浇妯℃澘</el-link - > - </div> - </el-upload> - </div> - <!-- 瀵煎叆妫�鏌� --> - <div class="uploading" v-else-if="dractive == 2"> - <el-table :data="uploadingData" style="width: 100%"> - <el-table-column prop="serial" label="搴忓彿"> </el-table-column> - <el-table-column prop="name" label="濮撳悕"> </el-table-column> - <el-table-column prop="sex" label="鎬у埆"> </el-table-column> - <el-table-column prop="certificate" label="璇佷欢绫诲瀷"> - </el-table-column> - <el-table-column prop="certificatenum" label="璇佷欢鍙风爜"> - </el-table-column> - <el-table-column prop="goday" label="鍑虹敓鏃ユ湡"> </el-table-column> - <el-table-column prop="menum" label="鏈汉鑱旂郴鏂瑰紡"> </el-table-column> - <el-table-column prop="younum" label="浜插睘鑱旂郴鏂瑰紡"> - </el-table-column> - <el-table-column prop="tag" label="鎮h�呮爣绛�"> </el-table-column> - <el-table-column prop="erry" label="閿欒鍘熷洜"> </el-table-column> - </el-table> - <pagination - v-show="total > 0" - :total="total" - :page.sync="queryParams.pageNum" - :limit.sync="queryParams.pageSize" - @pagination="geterryList" - /> - </div> - <!-- 瀹屾垚 --> - <div class="drexamine" v-else-if="dractive == 3"> - <img - src="https://fuss10.elemecdn.com/e/5d/4a731a90594a4af544c0c25941171jpeg.jpeg" - /> - <p>瀵煎叆鎮h�呮垚鍔燂紒</p> - <p>鏈鍏辫瀵煎叆{{ ImportQuantity }}浣嶆偅鑰�</p> - </div> - - <div slot="footer" class="dialog-footer" v-if="dractive == 3"> - <!-- <el-button type="primary" @click="submitFileForm">涓嬩竴姝�</el-button> --> - <el-button @click="submitclose">瀹屾垚</el-button> - </div> - <div slot="footer" v-else> - <el-button type="primary" @click="submitFileForm">涓嬩竴姝�</el-button> - <el-button @click="submitclose">鍙� 娑�</el-button> - </div> - </el-dialog> - </div> -</template> - -<script> -import { delUser } from "@/api/system/user"; - -import { - listPatphysical, - getPatphysical, - addPatphysical, - updatePatphysical, - delPatphysical, - Exporterrorpatient, - toleadpatient, -} from "@/api/smartor/patphysical"; -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"; - -export default { - name: "Userhuanze", - dicts: ["sys_normal_disable", "sys_user_sex"], - components: { Treeselect }, - data() { - return { - // 閬僵灞� - loading: true, - // 閫変腑鏁扮粍 - ids: [], - // 闈炲崟涓鐢� - single: true, - // 闈炲涓鐢� - multiple: true, - // 鏄剧ず鎼滅储鏉′欢 - showSearch: true, - // 鎬绘潯鏁� - total: 0, - // 鐢ㄦ埛琛ㄦ牸鏁版嵁 - userList: null, - // 寮瑰嚭灞傛爣棰� - title: "", - // 閮ㄩ棬鏍戦�夐」 - deptOptions: undefined, - // 鏄惁鏄剧ず寮瑰嚭灞� - open: false, - // 閮ㄩ棬鍚嶇О - deptName: undefined, - // 榛樿瀵嗙爜 - initPassword: undefined, - amendtag: false, //鏄惁淇敼 - // 鏃ユ湡鑼冨洿 - dateRange: [], - paperstypes: [ - { papersname: "韬唤璇�" }, - { papersname: "鎶ょ収" }, - { papersname: "涓浗娓境灞呮皯韬唤璇�" }, - { papersname: "涓浗鍙版咕灞呮皯韬唤璇�" }, - ], - // 琛ㄥ崟鍙傛暟 - form: { - name: "", - age: "", - sex: "", - tagList: [], - idcardno: "", - telcode: "", - idcardtype: "", - relativetelcode: "", - }, - //瀵煎叆杩涘害 - dractive: 1, - // 瀵煎叆灞曠ず琛ㄥ崟 - uploadingData: {}, - total: 0, // 鎬绘潯鏁� - ImportQuantity: 999, //瀵煎叆鎮h�呮暟閲� - Labelchange: false, //淇敼鏂板寮圭獥 - propss: { multiple: true }, - optionstag: [], //鏍囩鍒楄〃 - Patientrange: [ - { - name: "鍏ㄩ儴", - id: 1, - }, - { - name: "褰撳墠绉戝", - id: 1, - }, - ], - defaultProps: { - children: "children", - label: "label", - }, - // 鐢ㄦ埛瀵煎叆鍙傛暟 - upload: { - // 鏄惁鏄剧ず寮瑰嚭灞傦紙鐢ㄦ埛瀵煎叆锛� - open: false, - // 寮瑰嚭灞傛爣棰橈紙鐢ㄦ埛瀵煎叆锛� - title: "", - // 鏄惁绂佺敤涓婁紶 - isUploading: false, - // 鏄惁鏇存柊宸茬粡瀛樺湪鐨勭敤鎴锋暟鎹� - updateSupport: 0, - // 璁剧疆涓婁紶鐨勮姹傚ご閮� - headers: { Authorization: "Bearer " + getToken() }, - // 涓婁紶鐨勫湴鍧� - url: process.env.VUE_APP_BASE_API + "/system/user/importData", - }, - // 鏌ヨ鍙傛暟 - queryParams: { - pageNum: 1, - pageSize: 10, - idcardno: undefined, - name: undefined, - status: undefined, - tagIds: undefined, - telcode: undefined, - }, - // 琛ㄥ崟鏍¢獙 - rules: { - // userName: [ - // { required: true, message: "鐢ㄦ埛鍚嶇О涓嶈兘涓虹┖", trigger: "blur" }, - // { - // min: 2, - // max: 20, - // message: "鐢ㄦ埛鍚嶇О闀垮害蹇呴』浠嬩簬 2 鍜� 20 涔嬮棿", - // trigger: "blur", - // }, - // ], - // nickName: [ - // { required: true, message: "鐢ㄦ埛鏄电О涓嶈兘涓虹┖", trigger: "blur" }, - // ], - // password: [ - // { required: true, message: "鐢ㄦ埛瀵嗙爜涓嶈兘涓虹┖", trigger: "blur" }, - // { - // min: 5, - // max: 20, - // message: "鐢ㄦ埛瀵嗙爜闀垮害蹇呴』浠嬩簬 5 鍜� 20 涔嬮棿", - // trigger: "blur", - // }, - // ], - // email: [ - // { - // type: "email", - // message: "璇疯緭鍏ユ纭殑閭鍦板潃", - // trigger: ["blur", "change"], - // }, - // ], - // phonenumber: [ - // { - // pattern: /^1[3|4|5|6|7|8|9][0-9]\d{8}$/, - // message: "璇疯緭鍏ユ纭殑鎵嬫満鍙风爜", - // trigger: "blur", - // }, - // ], - // IDnumber: [ - // { - // pattern: - // /^\d{6}((((((19|20)\d{2})(0[13-9]|1[012])(0[1-9]|[12]\d|30))|(((19|20)\d{2})(0[13578]|1[02])31)|((19|20)\d{2})02(0[1-9]|1\d|2[0-8])|((((19|20)([13579][26]|[2468][048]|0[48]))|(2000))0229))\d{3})|((((\d{2})(0[13-9]|1[012])(0[1-9]|[12]\d|30))|((\d{2})(0[13578]|1[02])31)|((\d{2})02(0[1-9]|1\d|2[0-8]))|(([13579][26]|[2468][048]|0[048])0229))\d{2}))(\d|X|x)$/, - // message: "璇疯緭鍏ユ纭殑韬唤璇佸彿鐮�", - // trigger: "blur", - // }, - // ], - }, - }; - }, - watch: { - // 鏍规嵁鍚嶇О绛涢�夐儴闂ㄦ爲 - deptName(val) { - this.$refs.tree.filter(val); - }, - }, - created() { - this.getList(); - this.gettabList(); - }, - methods: { - /** 鏌ヨ鎮h�呭垪琛� */ - getList() { - this.loading = true; - listPatphysical(this.queryParams).then((response) => { - console.log(response); - this.userList = response.rows; - this.total = response.total; - this.loading = false; - }); - }, - /** 鏌ヨ鏍囩鍒楄〃 */ - gettabList() { - const tagqueryParams = { - pageNum: 1, - pageSize: 1000, - tagname: undefined, - tagdescription: undefined, - tagcategoryid: "0", - }; - listtag(tagqueryParams).then((response) => { - console.log(response); - this.optionstag = response.rows; - }); - }, - // 鏌ヨ瀵煎叆灞曠ず鍒楄〃 - geterryList() { - this.loading = true; - listJob(this.queryParams).then((response) => { - this.jobList = 1; - this.total = 1; - this.loading = false; - }); - }, - - // 绛涢�夎妭鐐� - filterNode(value, data) { - if (!value) return true; - return data.label.indexOf(value) !== -1; - }, - // 鑺傜偣鍗曞嚮浜嬩欢 - handleNodeClick(data) { - this.queryParams.deptId = data.id; - this.handleQuery(); - }, - - // 鍙栨秷鎸夐挳 - cancel() { - this.Labelchange = false; - this.reset(); - }, - // 琛ㄥ崟閲嶇疆 - reset() { - this.form = { - name: "", - age: "", - sex: "", - tagList: [], - idcardno: "", - telcode: "", - idcardtype: "", - relativetelcode: "", - }; - // this.resetForm("form"); - }, - /** 鎼滅储鎸夐挳鎿嶄綔 */ - handleQuery() { - this.queryParams.pageNum = 1; - this.getList(); - }, - /** 閲嶇疆鎸夐挳鎿嶄綔 */ - resetQuery() { - this.dateRange = []; - this.resetForm("queryForm"); - this.$refs.tree.setCurrentKey(null); - this.handleQuery(); - }, - // 澶氶�夋閫変腑鏁版嵁 - handleSelectionChange(selection) { - this.ids = selection.map((item) => item.patid); - this.single = selection.length != 1; - this.multiple = !selection.length; - }, - - /** 鏂板鎸夐挳鎿嶄綔 */ - handleAdd() { - this.reset(); - this.Labelchange = true; - this.amendtag = false; - }, - /** 淇敼鎸夐挳鎿嶄綔 */ - handleUpdate(row) { - console.log(row); - const userIds = row.patid || this.ids; - particularpatient(userIds).then((response) => { - console.log(response); - this.form = response.data; - }); - this.amendtag = true; - this.Labelchange = true; - }, - - //淇敼/鏂板鎮h�� - submitForm() { - if (this.amendtag) { - alterpatient(this.form) - .then((response) => { - console.log(response); - }) - .then(() => { - this.getList(); - this.$modal.msgSuccess("淇敼鎴愬姛"); - }); - } else { - addpatient(this.form) - .then((response) => { - console.log(response); - }) - .then(() => { - this.getList(); - this.$modal.msgSuccess("娣诲姞鎴愬姛"); - }); - } - this.reset(); - // this.idds = ""; - this.Labelchange = false; - }, - - /** 鍒犻櫎鎸夐挳鎿嶄綔 */ - handleDelete(row) { - const userIds = row.userId || this.ids; - this.$modal - .confirm('鏄惁纭鍒犻櫎鐢ㄦ埛缂栧彿涓�"' + userIds + '"鐨勬暟鎹」锛�') - .then(function () { - return deletepatient(userIds); - }) - .then(() => { - this.getList(); - this.$modal.msgSuccess("鍒犻櫎鎴愬姛"); - }) - .catch(() => {}); - }, - /** 瀵煎嚭鎸夐挳鎿嶄綔 */ - handleExport() { - this.download( - "smartor/patarchive/export", - { - ...this.queryParams, - }, - `user_${new Date().getTime()}.xlsx` - ); - }, - /** 瀵煎叆鎸夐挳鎿嶄綔 */ - handleImport() { - this.upload.title = "鐢ㄦ埛瀵煎叆"; - this.upload.open = true; - }, - /** 涓嬭浇妯℃澘鎿嶄綔 */ - importTemplate() { - this.download( - "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/profile/index.vue b/src/views/patient/patient/profile/index.vue deleted file mode 100644 index 07ef578..0000000 --- a/src/views/patient/patient/profile/index.vue +++ /dev/null @@ -1,1905 +0,0 @@ -<template> - <div class="app-container"> - <!-- 澶撮儴鐩掑瓙 --> - <div class="personages"> - <el-row :gutter="20"> - <el-col :span="18"> - <div class="headportrait"> - <div class="text-center"> - <img - v-imgError="require('@/assets/images/shoushuzhudaoyisheng.png')" - src="" - /> - </div> - <div style="margin-left: 10px">{{ userform.name }}</div> - <div style="margin-left: 10px" class="text-title"> - {{ userform.sex == 1 ? "鐢�" : "濂�" }} - </div> - <div style="margin-left: 10px" class="text-title"> - {{ userform.age }}宀� - </div> - <div style="margin-left: 10px" class="text-title"> - {{ userform.birthdate }} - </div> - <div style="margin-left: 10px" class="text-title"> - {{ userform.nation }} - </div> - <div style="margin-left: 10px" class="text-title"> - {{ userform.birthplace }} - </div> - </div></el-col - > - </el-row> - </div> - - <el-tabs type="border-card" v-model="activeName" @tab-click="handleClick"> - <el-tab-pane name="health"> - <span class="mulsz" slot="label" - ><i class="el-icon-date"></i> 鎮h�呮。妗�</span - > - </el-tab-pane> - <el-tab-pane name="medical"> - <span class="mulsz" slot="label" - ><i class="el-icon-s-management"></i> 鍖荤枟妗f</span - > - <el-tabs v-model="sonactiveName" @tab-click="handleClickson"> - <el-tab-pane name="outpatient" - ><span class="mulsz" slot="label">闂ㄨ瘖</span></el-tab-pane - > - <el-tab-pane name="inhospital" - ><span class="mulsz" slot="label">鍦ㄩ櫌 </span></el-tab-pane - > - <el-tab-pane name="checkout" - ><span class="mulsz" slot="label">鍑洪櫌 </span></el-tab-pane - > - </el-tabs> - </el-tab-pane> - <!-- <el-tab-pane name="monitor"> - <span class="mulsz" slot="label" - ><i class="el-icon-s-data"></i> 鍋ュ悍鐩戞祴</span - > - - <el-tabs v-model="sontwoactiveName" @tab-click="handleClick"> - <el-tab-pane name="blood" - ><span class="mulsz" slot="label" - ><i class="el-icon-s-operation"></i> 琛�鍘�</span - ></el-tab-pane - > - <el-tab-pane name="glucose" - ><span class="mulsz" slot="label" - ><i class="el-icon-odometer"></i>琛�绯� - </span></el-tab-pane - > - <el-tab-pane name="weight" - ><span class="mulsz" slot="label" - ><i class="el-icon-s-data"></i>浣撻噸 - </span></el-tab-pane - > - <el-tab-pane name="heartrate" - ><span class="mulsz" slot="label" - ><i class="el-icon-s-operation"></i>蹇冪巼 - </span></el-tab-pane - > - <el-tab-pane name="bloodoxygen" - ><span class="mulsz" slot="label" - ><i class="el-icon-s-data"></i>琛�姘� - </span></el-tab-pane - > - <el-tab-pane name="animalheat" - ><span class="mulsz" slot="label" - ><i class="el-icon-s-opportunity"></i>浣撴俯 - </span></el-tab-pane - > - </el-tabs></el-tab-pane - > --> - <el-tab-pane name="serve"> - <span class="mulsz" slot="label" - ><i class="el-icon-s-custom"></i> 鏈嶅姟璁板綍</span - > - </el-tab-pane> - </el-tabs> - - <!-- 鍋ュ悍妗f妯″潡 --> - <div class="information-content" v-if="activeName == 'health'"> - <div class="top-message"> - <div class="headlines"> - <div>鍩虹淇℃伅</div> - <el-button type="primary" @click="savefile">淇濆瓨鎮h�呮。妗�</el-button> - </div> - <div class="detailed"> - <el-form - ref="userform" - :model="userform" - :rules="rules" - label-width="100px" - > - <el-row :gutter="20"> - <el-col :span="12"> - <el-form-item label="鎮h�呭鍚�" prop="name"> - <el-input - v-model="userform.name" - placeholder="璇疯緭鍏ュ鍚�" - maxlength="30" - ></el-input> </el-form-item - ></el-col> - <el-col :span="12" - ><el-form-item label="鑱旂郴鏂瑰紡" prop="telcode"> - <el-input - v-model="userform.telcode" - placeholder="璇疯緭鍏ヨ仈绯绘柟寮�" - maxlength="30" - /> </el-form-item - ></el-col> - </el-row> - <el-row :gutter="20"> - <el-col :span="24"> - <el-form-item label="鍑虹敓鍦�" prop="birthplace"> - <el-input - v-model="userform.birthplace" - placeholder="鍥姐�佺渷銆佸湴甯傘�佸尯鍘裤�佽閬撶瓑璇︾粏淇℃伅" - maxlength="50" - /> </el-form-item - ></el-col> - </el-row> - <el-row :gutter="20"> - <el-col :span="24" - ><el-form-item label="灞呬綇鍦�" prop="placeOfResidence"> - <el-input - v-model="userform.placeOfResidence" - placeholder="鍥姐�佺渷銆佸湴甯傘�佸尯鍘裤�佽閬撶瓑璇︾粏淇℃伅" - maxlength="50" - /> </el-form-item - ></el-col> - </el-row> - <el-row :gutter="20"> - <el-col :span="24"> - <el-form-item label="鏍囩" prop="desc"> - <div class="xinz-inf"> - <el-tag - :key="tag.tagname" - type="success" - v-for="tag in dynamicTags" - v-if="tag.isoperation != 3" - closable - :disable-transitions="false" - @close="handleClose(tag)" - > - {{ tag.tagname }} - </el-tag> - <el-select - v-if="inputVisible" - v-model="inputValue" - @change="handleInputConfirm" - filterable - allow-create - default-first-option - placeholder="璇烽�夋嫨/鏌ヨ" - > - <el-option - v-for="item in options" - :key="item.tagid" - :label="item.tagname" - :value="item.tagname" - > - </el-option> - </el-select> - - <el-button - v-else - class="button-new-tag" - size="small" - @click="showInput" - >+ 鏂板鏍囩</el-button - > - </div> - </el-form-item> - </el-col> - </el-row> - </el-form> - </div> - </div> - <div class="top-message"> - <div class="headline">鐥呭彶</div> - <div class="detailed"> - <el-form :model="form" label-width="100px"> - <el-row> - <el-col :span="8"> - <el-form-item label="杩囧線鐤剧梾" prop="name"> - <el-input - v-model="form.pastIllnesses" - placeholder="璇疯緭鍏�" - maxlength="30" - /> - </el-form-item> - </el-col> - <el-col :span="8"> - <el-form-item label="鑽墿杩囨晱" prop="sex"> - <el-input - v-model="form.drugAllergy" - placeholder="璇疯緭鍏ュ叿浣撹嵂鐗�/鏃�" - maxlength="30" - /> - </el-form-item> - </el-col> - <el-col :span="8"> - <el-form-item label="瀹舵棌鐥呭彶" prop="age"> - <el-input - v-model="form.familyHistory" - placeholder="璇疯緭鍏ュ叿浣撶柧鐥�/鏃�" - maxlength="30" - /> - </el-form-item> - </el-col> - </el-row> - <el-row> - <el-col :span="8"> - <el-form-item label="鎵嬫湳鍙�" prop="name"> - <el-input - v-model="form.surgicalHistory" - placeholder="璇疯緭鍏ユ墜鏈�/鏃�" - maxlength="30" - /> - </el-form-item> - </el-col> - <el-col :span="8"> - <el-form-item label="鐢熻偛鍙�" prop="age"> - <el-input - v-model="form.reproductiveHistory" - placeholder="璇疯緭鍏ヨ儙鏁�/鏃�" - maxlength="30" - /> - </el-form-item> - </el-col> - <el-col :span="8"> - <el-form-item label="鏈堢粡鍙�" prop="menstrualHistory"> - <el-radio-group v-model="form.menstrualHistory"> - <el-radio label="1">鏈�</el-radio> - <el-radio label="2">鏃�</el-radio> - </el-radio-group> - </el-form-item> - </el-col> - </el-row> - <el-row> - <el-col :span="8"> - <el-form-item label="鍚哥儫鎯呭喌" prop="smoking"> - <el-radio-group v-model="form.smoking"> - <el-radio label="1">鏈�</el-radio> - <el-radio label="2">鏃�</el-radio> - </el-radio-group> - </el-form-item> - </el-col> - <el-col :span="8"> - <el-form-item label="楗厭鎯呭喌" prop="drink"> - <el-radio-group v-model="form.drink"> - <el-radio label="1">鏈�</el-radio> - <el-radio label="2">鏃�</el-radio> - </el-radio-group> - </el-form-item> - </el-col> - <el-col :span="8"> - <el-form-item label="杩愬姩鎯呭喌" prop="motion"> - <el-radio-group v-model="form.motion"> - <el-radio label="1">鏈�</el-radio> - <el-radio label="2">鏃�</el-radio> - </el-radio-group> - </el-form-item> - </el-col> - </el-row> - <el-row> - <el-col :span="12"> - <el-form-item label="楗鎯呭喌" prop="diet"> - <el-radio-group v-model="form.diet"> - <el-radio label="1">杩囧害楗</el-radio> - <el-radio label="2">姝e父楗</el-radio> - <el-radio label="3">椋熸涓嶆尟</el-radio> - </el-radio-group> - </el-form-item> </el-col - ><el-col :span="12"> - <el-form-item label="蹇冪悊鎯呭喌" prop="psychology"> - <el-radio-group v-model="form.psychology"> - <el-radio label="1">蹇冩儏鎰夋偊</el-radio> - <el-radio label="2">杞诲井鐒﹁檻</el-radio> - <el-radio label="3">鎶戦儊</el-radio> - </el-radio-group> - </el-form-item> - </el-col> - </el-row> - </el-form> - </div> - </div> - <!-- 鑱旂郴鐢佃瘽 --> - <div class="bottom-message"> - <div class="headline"> - 浜插睘鍙风爜缁存姢<span style="margin-right: 60px"> </span> - <el-button type="primary" @click="addcompiletb">+鏂板</el-button> - </div> - <div class="Table-screen"> - <el-table - :data="tableData" - style="width: 100%" - :row-class-name="tableRowClassName" - > - <el-table-column prop="id" label="搴忓彿" width="180"> - </el-table-column> - <el-table-column prop="contactname" label="濮撳悕" width="180"> - </el-table-column> - <el-table-column prop="contactway" label="鑱旂郴鏂瑰紡" width="180"> - </el-table-column> - <el-table-column prop="relation" label="鍏崇郴"> </el-table-column> - <el-table-column - label-class-name="columcz" - fixed="right" - label="鎿嶄綔" - width="300" - > - <template slot-scope="scope"> - <el-button - type="success" - size="small" - @click="defaulttb(scope.row)" - >璁句负榛樿鑱旂郴鏂瑰紡</el-button - > - <el-button - @click="compiletb(scope.row)" - type="warning" - size="small" - >缂栬緫</el-button - > - - <el-button @click="deltb(scope.row)" type="danger" size="small" - >鍒犻櫎</el-button - > - </template> - </el-table-column> - </el-table> - </div> - </div> - </div> - <!-- 鍖荤枟妗f --> - <div class="medical-record" v-else-if="activeName == 'medical'"> - <!-- 闂ㄨ瘖 --> - <div v-if="sonactiveName == 'outpatient'"> - <el-table :data="serviceData" style="width: 100%"> - <el-table-column - label="灏辫瘖鏃堕棿" - align="center" - key="createTime" - prop="createTime" - width="160" - > - <template slot-scope="scope"> - <span>{{ formatTime(scope.row.createTime) }}</span> - </template> - </el-table-column> - - <el-table-column - label="闂ㄨ瘖鍙�" - align="center" - key="patid" - prop="patid" - /> - <el-table-column - label="濮撳悕" - align="center" - key="patname" - prop="patname" - /> - - <el-table-column - label="鑱旂郴鐢佃瘽" - align="center" - key="telcode" - prop="telcode" - width="120" - /> - <el-table-column - label="鍏ラ櫌璇婃柇" - align="center" - key="diagname" - prop="diagname" - width="190" - /> - <el-table-column - label="鍑洪櫌璇婃柇" - align="center" - key="leavediagname" - prop="leavediagname" - width="190" - /> - - <el-table-column - label="灏辫瘖绉戝" - align="center" - key="deptname" - prop="deptname" - width="120" - /> - <el-table-column - label="鎵�鍦ㄧ梾鍖�" - align="center" - key="leavehospitaldistrictname" - prop="leavehospitaldistrictname" - width="120" - /> - <el-table-column - label="涓绘不鍖荤敓" - align="center" - key="drname" - prop="drname" - width="120" - /> - - <el-table-column - label="璐d换鎶ゅ+" - align="center" - key="nurseName" - prop="nurseName" - width="120" - /> - </el-table> - <pagination - v-show="total > 0" - :total="total" - :page.sync="queryParams.pageNum" - :limit.sync="queryParams.pageSize" - @pagination="getList" - /> - </div> - <!-- 浣忛櫌 --> - <div v-if="sonactiveName == 'inhospital'"> - <el-table :data="serviceDatary" style="width: 100%"> - <el-table-column - label="浣忛櫌鍙�" - align="center" - key="patno" - prop="patno" - width="180" - /> - <el-table-column - label="濮撳悕" - align="center" - key="patname" - prop="patname" - /> - <el-table-column - label="鑱旂郴鐢佃瘽" - align="center" - key="telcode" - prop="telcode" - width="120" - /> - <el-table-column - label="鍏ラ櫌璇婃柇" - align="center" - key="diagname" - prop="diagname" - width="190" - /> - <el-table-column - label="鍑洪櫌璇婃柇" - align="center" - key="leavediagname" - prop="leavediagname" - width="190" - /> - - <el-table-column - label="灏辫瘖绉戝" - align="center" - key="deptname" - prop="deptname" - width="120" - /> - <el-table-column - label="鎵�鍦ㄧ梾鍖�" - align="center" - key="leavehospitaldistrictname" - prop="leavehospitaldistrictname" - width="120" - /> - <el-table-column - label="涓绘不鍖荤敓" - align="center" - key="drname" - prop="drname" - width="120" - /> - - <el-table-column - label="璐d换鎶ゅ+" - align="center" - key="nurseName" - prop="nurseName" - width="120" - /> - <el-table-column - label="搴婁綅鍙�" - align="center" - key="bedNo" - prop="bedNo" - width="120" - /> - - </el-table> - </div> - <!-- 鍑洪櫌 --> - <div v-if="sonactiveName == 'checkout'"> - <el-table :data="serviceDatacy" style="width: 100%"> - <el-table-column - label="浣忛櫌鍙�" - align="center" - key="patno" - prop="patno" - width="120" - /> - <el-table-column - label="濮撳悕" - align="center" - key="patname" - prop="patname" - /> - <el-table-column - label="鑱旂郴鐢佃瘽" - align="center" - key="telcode" - prop="telcode" - width="120" - /> - <el-table-column - label="鍏ラ櫌璇婃柇" - align="center" - key="diagname" - prop="diagname" - width="190" - /> - <el-table-column - label="鍑洪櫌璇婃柇" - align="center" - key="leavediagname" - prop="leavediagname" - width="190" - /> - - <el-table-column - label="灏辫瘖绉戝" - align="center" - key="deptname" - prop="deptname" - width="120" - /> - <el-table-column - label="鎵�鍦ㄧ梾鍖�" - align="center" - key="leavehospitaldistrictname" - prop="leavehospitaldistrictname" - width="120" - /> - <el-table-column - label="涓绘不鍖荤敓" - align="center" - key="drname" - prop="drname" - width="120" - /> - - <el-table-column - label="璐d换鎶ゅ+" - align="center" - key="nurseName" - prop="nurseName" - width="120" - /> - - <el-table-column - label="搴婁綅鍙�" - align="center" - key="bedNo" - prop="bedNo" - width="120" - /> - - </el-table> - </div> - </div> - - <!-- 鏈嶅姟璁板綍 --> - <div - class="medical-recordc" - style="margin-top: 20px; font-size: 20px !important" - v-else-if="activeName == 'serve'" - > - <div style="margin-bottom: 15px" v-for="item in record"> - <el-card class="box-card"> - <div - style=" - font-size: 22px; - padding-left: 5px; - margin: 15px 0; - 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> - </div> - <el-divider></el-divider> - <div style="margin-top: 10px"> - 鏈嶅姟鍚嶇О锛�<span style="color: #2775b6" - >{{ item.templatename }}</span - > - </div> - <div style="margin-top: 10px"> - 鍒涘缓鏃堕棿锛�<span style="color: #2775b6" - >{{item.createTime}}</span - > - </div> - <div style="margin-top: 10px"> - 瀹屾垚鏃堕棿锛�<span style="color: #2775b6" - >{{ item.finishtime }}</span - > - </div> - <div style="margin-top: 10px"> - <el-row :gutter="20"> - <el-col :span="12" - >绉戝锛� - <span style="color: #2775b6">{{ item.deptname }}</span></el-col - > - <el-col :span="12" - >鐥呭尯锛� - <span style="color: #2775b6">{{ item.leavehospitaldistrictname }}</span></el-col - > - - </el-row> - </div> - - <div - style=" - font-size: 20px; - padding-left: 5px; - margin: 15px 0; - border-left: 4px solid rgb(65, 161, 190); - " - > - 浜哄伐璁板綍 - </div> - <div style="margin-top: 10px"> - <el-row :gutter="20"> - <el-col :span="6" - >璐熻矗浜猴細 - <span style="color: #2775b6">{{ item.createBy }}</span></el-col - > - <el-col :span="6" - >涓绘不鍖荤敓锛� - <span style="color: #2775b6">{{ item.drname }}</span></el-col - > - <el-col :span="6" - >璐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> - - </div> - <!-- <div style="margin-top: 10px"> - 澶囨敞锛� - <span style="color: #2775b6">鎻愰啋娉ㄦ剰楗鍋ュ悍</span> - </div> --> - </el-card> - </div> - </div> - <!-- 鍋ュ悍鐩戞祴 --> - <!-- <div class="medical-record" v-show="activeName == 'monitor'"> - <div v-show="sontwoactiveName == 'blood'" style="display: flex"> - <div - id="xyeCharts" - class="sontwoactiveName" - style="width: 880px; height: 560px" - ></div> - <div style="width: 400px"> - <el-card class="box-card"> - <SFtable - :currentList="tableDatalist" - :tableLabel="tableLabelxy" - :center="false" - :multiplechoice="false" - /> - </el-card> - </div> - </div> - <div v-show="sontwoactiveName == 'glucose'" style="display: flex"> - <div - id="xteCharts" - class="sontwoactiveName" - style="width: 880px; height: 560px" - ></div> - <div style="width: 400px"> - <el-card class="box-card"> - <SFtable - :currentList="tableDatalist" - :tableLabel="tableLabelxt" - :center="false" - :multiplechoice="false" - /> - </el-card> - </div> - </div> - <div v-show="sontwoactiveName == 'weight'" style="display: flex"> - <div - id="tzeCharts" - class="sontwoactiveName" - style="width: 880px; height: 560px" - ></div> - <div style="width: 400px"> - <el-card class="box-card"> - <SFtable - :currentList="tableDatalist" - :tableLabel="tableLabeltz" - :center="false" - :multiplechoice="false" - /> - </el-card> - </div> - </div> - <div v-show="sontwoactiveName == 'heartrate'" style="display: flex"> - <div - id="xleCharts" - class="sontwoactiveName" - style="width: 880px; height: 560px" - ></div> - <div style="width: 400px"> - <el-card class="box-card"> - <SFtable - :currentList="tableDatalist" - :tableLabel="tableLabelxl" - :center="false" - :multiplechoice="false" - /> - </el-card> - </div> - </div> - <div v-show="sontwoactiveName == 'bloodoxygen'" style="display: flex"> - <div - id="xueyangeCharts" - class="sontwoactiveName" - style="width: 880px; height: 560px" - ></div> - <div style="width: 400px"> - <el-card class="box-card"> - <SFtable - :currentList="tableDatalist" - :tableLabel="tableLabelxueyang" - :center="false" - :multiplechoice="false" - /> - </el-card> - </div> - </div> - <div v-show="sontwoactiveName == 'animalheat'" style="display: flex"> - <div - id="tweCharts" - class="sontwoactiveName" - style="width: 880px; height: 560px" - ></div> - <div style="width: 400px"> - <el-card class="box-card"> - <SFtable - :currentList="tableDatalist" - :tableLabel="tableLabeltw" - :center="false" - :multiplechoice="false" - /> - </el-card> - </div> - </div> - </div> --> - - <el-dialog :title="titletb" :visible.sync="AddanumberVisible"> - <el-form :model="numberform" label-width="100px"> - <el-form-item label="濮撳悕"> - <el-input v-model="numberform.contactname"></el-input> - </el-form-item> - <el-form-item label="鑱旂郴鐢佃瘽"> - <el-input v-model="numberform.telcode"></el-input> - </el-form-item> - <el-form-item label="鍏崇郴"> - <el-input v-model="numberform.relation"></el-input> - </el-form-item> - </el-form> - <div slot="footer" class="dialog-footer"> - <el-button @click="AddanumberVisible = false">鍙� 娑�</el-button> - <el-button type="primary" @click="archivecontact">纭� 瀹�</el-button> - </div> - </el-dialog> - </div> -</template> - -<script> -import userAvatar from "./userAvatar"; -import userInfo from "./userInfo"; -import resetPwd from "./resetPwd"; -import * as echarts from "echarts"; -import SFtable from "@/components/SFtable"; //琛ㄦ牸缁勪欢 -import { listtag } from "@/api/system/label"; -import { - messagelistpatient, - addmedicalhistory, - getmedicalhistory, - editmedicalhistory, - addcontactinformation, - editcontactinformation, - getcontactinformation, - delcontactinformation, - listcontactinformation, - alterpatient, - Patientclinic, -} from "@/api/patient/homepage"; - -import { - getsearchrResults, - getTaskservelist, -} from "@/api/AiCentre/index"; -import { listPatouthosp } from "@/api/smartor/patouthosp"; -import { listpatient } from "@/api/patient/record"; - -export default { - name: "Profile", - components: { userAvatar, userInfo, resetPwd, SFtable }, - data() { - return { - userform: {}, - roleGroup: {}, - postGroup: {}, - form: {}, - mznumber: 14, - zynumber: 34, - jynumber: 32, - jcnumber: 12, - tjnumber: 12, - yynumber: 12, - total: 0, // 鎬绘潯鏁� - titletb: "鏂板鑱旂郴鏂瑰紡", - activeTab: "userinfo", - id: "", - loading: false, - activeName: "health", //涓�绫诲鑸� - sonactiveName: "inhospital", //鍋ュ悍鐩戞祴瀵艰埅 - sontwoactiveName: "blood", //鍖荤枟妗f瀵艰埅 - dynamicTags: [], - record: [ - { - name: "瀹f暀浠诲姟", - 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:'浜旂梾鍖�', - }, - // { - // name: "闂嵎璋冩煡", - // }, - ], - inputVisible: false, - AddanumberVisible: false, - inputValue: "", - // 鏌ヨ鍙傛暟 - queryParams: { - pageNum: 1, - pageSize: 10, - jobName: undefined, - jobGroup: undefined, - status: undefined, - }, - numberform: {}, - echartdom: {}, - xtechartdom: {}, - tzechartdom: {}, - tableData: [], - tableDatalist: [ - { - id: 12, - date: "2016-05-02", - name: "121", - address: "89", - }, - { - id: 12, - date: "2016-05-02", - name: "121", - address: "89", - }, - { - id: 12, - date: "2016-05-02", - name: "121", - address: "89", - }, - ], - serviceData: [], - serviceDatary: [], - serviceDatacy: [], - options: [ - { - value: "1", - label: "浼氬憳", - }, - { - value: "2", - label: "绯栧翱鐥�", - }, - { - value: "3", - label: "楂樿鍘�", - }, - { - value: "4", - label: "浣撴", - }, - ], - tableLabelxy: [ - { label: "娴嬮噺鏃堕棿", width: "", prop: "name" }, - { label: "鏀剁缉鍘�", width: "", prop: "sex" }, - { label: "鑸掑紶鍘�", width: "", prop: "age" }, - ], - tableLabelxt: [ - { label: "娴嬮噺鏃堕棿", width: "", prop: "name" }, - { label: "鏀剁缉鍘�", width: "", prop: "sex" }, - { label: "鑸掑紶鍘�", width: "", prop: "age" }, - ], - tableLabeltz: [ - { label: "娴嬮噺鏃堕棿", width: "", prop: "name" }, - { label: "韬珮", width: "", prop: "sex" }, - { label: "浣撻噸", width: "", prop: "age" }, - { label: "BMI鎸囨暟", width: "", prop: "update_by" }, - ], - tableLabelxl: [ - { label: "娴嬮噺鏃堕棿", width: "", prop: "name" }, - { label: "蹇冪巼", width: "", prop: "sex" }, - ], - tableLabelxueyang: [ - { label: "娴嬮噺鏃堕棿", width: "", prop: "name" }, - { label: "琛�姘чケ鍜屽害", width: "", prop: "sex" }, - ], - tableLabeltw: [ - { label: "娴嬮噺鏃堕棿", width: "", prop: "name" }, - { label: "浣撴俯", width: "", prop: "sex" }, - ], - // 琛ㄥ崟鏍¢獙 - rules: { - name: [ - { required: true, message: "鐢ㄦ埛鍚嶇О涓嶈兘涓虹┖", trigger: "blur" }, - { - min: 2, - max: 20, - message: "鐢ㄦ埛鍚嶇О闀垮害蹇呴』浠嬩簬 2 鍜� 20 涔嬮棿", - trigger: "blur", - }, - ], - - sex: [{ required: true, message: "鎬у埆涓嶈兘涓虹┖", trigger: "blur" }], - age: [{ required: true, message: "骞撮緞涓嶈兘涓虹┖", trigger: "blur" }], - nation: [{ required: true, message: "姘戞棌涓嶈兘涓虹┖", trigger: "blur" }], - telcode: [ - { required: true, message: "鑱旂郴鏂瑰紡涓嶈兘涓虹┖", trigger: "blur" }, - { - pattern: /^1[3|4|5|6|7|8|9][0-9]\d{8}$/, - message: "璇疯緭鍏ユ纭殑鎵嬫満鍙风爜", - trigger: "blur", - }, - ], - idcardtype: [ - { required: true, message: "璇佷欢绫诲瀷涓嶈兘涓虹┖", trigger: "blur" }, - ], - idcardno: [ - { required: true, message: "璇佷欢鍙疯兘涓虹┖", trigger: "blur" }, - ], - placeOfResidence: [ - { required: true, message: "灞呬綇鍦颁笉鑳戒负绌�", trigger: "blur" }, - ], - }, - }; - }, - created() { - this.id = this.$route.query.id; - this.getuserinfo(); - this.gettabList(); - this.$nextTick(function () { - this.echartdom = document.getElementById("xyeCharts"); - this.xtechartdom = document.getElementById("xteCharts"); - this.tzechartdom = document.getElementById("tzeCharts"); - this.xlechartdom = document.getElementById("xleCharts"); - this.xueyangechartdom = document.getElementById("xueyangeCharts"); - this.twechartdom = document.getElementById("tweCharts"); - - this.echartsInit(); - this.xtechartsInit(); - this.tzechartsInit(); - this.xlechartsInit(); - this.xueyangechartsInit(); - this.twechartsInit(); - }); - }, - - methods: { - // 鏌ヨ鍖荤枟妗f鍚勫垪琛ㄤ俊鎭� - getList(type) { - this.loading = true; - if (type == 0) { - // 闂ㄨ瘖璁板綍 - listPatouthosp({ patid: this.id }).then((response) => { - if (response.code == 200) { - // this.serviceData = response.rows; - this.serviceData = []; - } - }); - } else if (type == 1) { - listpatient({ patid: this.id, cry: 0 }).then((response) => { - if (response.code == 200) { - this.serviceDatary = response.rows; - } - }); - } else if (type == 2) { - listpatient({ patid: this.id, cry: 1 }).then((response) => { - if (response.code == 200) { - this.serviceDatacy = response.rows; - console.log(this.serviceDatacy); - this.$forceUpdate() - } - }); - } - }, - getcontactlist() { - listcontactinformation({ patid: this.id }).then((response) => { - this.tableData = response.rows; - }); - }, - processElement(element) { - return { ...element, isoperation: null }; - }, - // 鑾峰彇鍩虹淇℃伅 - getuserinfo() { - const queryParams = { - pid: Number(this.id), - allhosp: "0", - pageNum: 1, - }; - // 鎮h�呭熀纭�淇℃伅 - messagelistpatient(queryParams).then((response) => { - this.userform = response.rows[0]; - // this.dynamicTags = response.rows[0].tagList; - this.dynamicTags = response.rows[0].tagList.map(this.processElement); - console.log(this.dynamicTags); - }); - // 鐥呭彶淇℃伅 - getmedicalhistory({ pid: this.id }).then((res) => { - if (res.code == 200 && res.rows[0]) { - this.form = res.rows[0]; - } - }); - // 鑱旂郴淇℃伅 - this.getcontactlist(); - }, - // 淇濆瓨鎮h�呮。妗� - savefile() { - this.$refs["userform"].validate((valid) => { - if (valid) { - this.userform.isoperation = 2; - this.userform.tagList = this.dynamicTags; - alterpatient(this.userform).then((res) => { - if (res.code == 200) { - this.$modal.msgSuccess("鍩虹淇℃伅淇濆瓨鎴愬姛"); - } else { - this.$modal.msgError("鍩虹淇℃伅淇敼澶辫触"); - } - }); - // 鐥呭彶 - this.medicalhistory(); - } - }); - }, - // 鐥呭彶 - medicalhistory() { - if (this.form.id) { - editmedicalhistory(this.form).then((res) => { - if (res.code == 200) { - this.$modal.msgSuccess("鐥呭彶淇濆瓨鎴愬姛"); - } else { - this.$modal.msgError("鐥呭彶淇敼澶辫触"); - } - }); - } else { - this.form.pid = this.id; - addmedicalhistory(this.form).then((res) => { - if (res.code == 200) { - this.$modal.msgSuccess("鐥呭彶淇濆瓨鎴愬姛"); - } else { - this.$modal.msgError("鐥呭彶淇敼澶辫触"); - } - }); - } - }, - // 鑱旂郴鏂瑰紡--------------- - archivecontact() { - if (this.numberform.id) { - editcontactinformation(this.numberform).then((res) => { - if (res.code == 200) { - this.$modal.msgSuccess("鑱旂郴鏂瑰紡淇敼鎴愬姛"); - this.getcontactlist(); - this.AddanumberVisible = false; - } else { - this.$modal.msgError("鑱旂郴鏂瑰紡淇敼澶辫触"); - } - }); - } else { - this.numberform.patid = this.id; - addcontactinformation(this.numberform).then((res) => { - if (res.code == 200) { - this.$modal.msgSuccess("鑱旂郴鏂瑰紡鏂板鎴愬姛"); - this.getcontactlist(); - this.AddanumberVisible = false; - } else { - this.$modal.msgError("鑱旂郴鏂瑰紡鏂板澶辫触"); - } - }); - } - this.numberform = {}; - }, - deltb(row) { - this.$modal - .confirm("鏄惁纭鍒犻櫎璇ユ暟鎹」锛�") - .then(() => { - if (row.id) { - delcontactinformation(row.id).then((res) => { - if (res.code == 200) { - this.$modal.msgSuccess("鑱旂郴鏂瑰紡鍒犻櫎鎴愬姛"); - this.getcontactlist(); - } else { - this.$modal.msgError("鑱旂郴鏂瑰紡鍒犻櫎澶辫触"); - } - }); - } else { - let index = this.tableData.indexOf(obj); - this.tableData.splice(index, 1); - } - this.$modal.msgSuccess("鍒犻櫎鎴愬姛"); - }) - .catch(() => {}); - }, - addcompiletb() { - this.titletb = "鏂板鑱旂郴鏂瑰紡"; - this.AddanumberVisible = true; - }, - compiletb(row) { - this.numberform = row; - this.titletb = "淇敼鑱旂郴鏂瑰紡"; - this.AddanumberVisible = true; - }, - defaulttb(row) { - this.$modal - .confirm("鏄惁纭璁剧疆璇ユ暟鎹」涓洪粯璁よ仈绯讳汉锛�") - .then(() => { - this.tableData.forEach((obj, index) => { - if (obj === row) { - obj.isdefault = 1; - this.numberform = obj; - this.archivecontact(); - } else if (obj.isdefault == 1) { - obj.isdefault = 0; - this.numberform = obj; - this.archivecontact(); - } else { - obj.isdefault = 0; - } - }); - this.$modal.msgSuccess("璁剧疆鎴愬姛"); - }) - .catch(() => {}); - }, - tableRowClassName({ row, rowIndex }) { - if (row.isdefault == "1") { - return "warning-row"; - } - return ""; - }, - // tab鍒囨崲 - handleClick(tab, event) { - if (tab.index == "1") { - this.getList(1); - }else if (tab.index == "2") { -this.handleClickfw(); - } - }, - handleClickson(tab, event) { - console.log(tab, "son"); - this.getList(tab.index); - }, - // 鏌ヨ鏈嶅姟璁板綍 - handleClickfw(){ - getTaskservelist({ - patid: this.id, - }).then((res) => { - if (res.code == 200) { - this.record = res.rows; - } - }); - }, - // 鑱旂郴鏂瑰紡鏂板 - Addanumber() {}, - // 鏍囩-------------------------- - /** 鏌ヨ鏍囩鍒楄〃 */ - gettabList() { - const tagqueryParams = { - pageNum: 1, - pageSize: 10000, - tagcategoryid: "0", - }; - listtag(tagqueryParams).then((response) => { - this.options = response.rows; - console.log(this.options, "鏍囩"); - }); - }, - remoteMethod(value) { - const illnessqueryParams = { - pageNum: 1, - pageSize: 100, - tagname: value, - tagcategoryid: "0", - }; - this.loading = true; - setTimeout(() => { - this.loading = false; - listtag(illnessqueryParams).then((response) => { - this.options = response.rows; - }); - }, 200); - }, - handleClose(tag) { - const lindex = this.dynamicTags.indexOf(tag); - // this.dynamicTags.splice(this.dynamicTags.indexOf(tag), 1); - this.dynamicTags[lindex].isoperation = 3; - }, - - showInput() { - this.inputVisible = true; - console.log("灞曠ず"); - }, - - handleInputConfirm() { - let tagvalue = {}; - let tagname = this.inputValue; - if (tagname) { - listtag({ - pageNum: 1, - pageSize: 1000, - tagcategoryid: "0", - tagname: tagname, - }).then((res) => { - if (res.rows[0]) { - tagvalue = res.rows[0]; - tagvalue.isoperation = 1; - } else { - tagvalue = { - tagname: tagname, - isoperation: 1, - }; - } - console.log(tagvalue); - // this.userform.tagList.push(tagvalue); - this.dynamicTags.push(tagvalue); - console.log(this.userform.tagList); - console.log(this.dynamicTags); - }); - } - console.log("鍏充簡"); - this.inputVisible = false; - this.inputValue = ""; - }, - - // 琛�鍘嬪浘琛ㄩ儴鍒� - echartsInit() { - // 鍩轰簬鍑嗗濂界殑dom锛屽垵濮嬪寲echarts瀹炰緥 - var myxyChart = echarts.init(this.echartdom); - var option = { - title: { - text: "鍘嗗彶琛�鍘嬭褰�", - }, - tooltip: { - trigger: "axis", - }, - legend: {}, - toolbox: { - show: true, - feature: { - dataZoom: { - yAxisIndex: "none", - }, - dataView: { readOnly: false }, - magicType: { type: ["line", "bar"] }, - restore: {}, - saveAsImage: {}, - }, - }, - xAxis: { - type: "category", - boundaryGap: false, - data: ["涓�鏈�", "浜屾湀", "涓夋湀", "鍥涙湀", "浜旀湀", "鍏湀", "涓冩湀"], - }, - yAxis: { - type: "value", - axisLabel: { - formatter: "{value}", - }, - }, - series: [ - { - name: "鏀剁缉鍘�", - type: "line", - data: [100, 120, 130, 121, 132, 142, 119], - itemStyle: { - normal: { - color: "#ff7979", - }, - }, - markPoint: { - data: [{ type: "max", name: "鑸掑紶鍘嬮珮鍊�" }], - }, - markLine: { - data: [{ yAxis: 140, name: "姝e父鑸掑紶鍘嬮珮鍊�" }], - }, - }, - { - name: "鑸掑紶鍘�", - type: "line", - data: [71, 79, 82, 85, 93, 82, 90], - itemStyle: { - normal: { - color: "#409eff", - }, - }, - markPoint: { - data: [{ name: "鍛ㄦ渶浣�", type: "min" }], - }, - markLine: { - data: [{ yAxis: 80, name: "姝e父鑸掑紶鍘嬮珮鍊�" }], - }, - }, - ], - }; - // 浣跨敤鍒氭寚瀹氱殑閰嶇疆椤瑰拰鏁版嵁鏄剧ず鍥捐〃銆� - myxyChart.setOption(option); - }, - // 琛�绯栧浘琛� - xtechartsInit() { - // 鍩轰簬鍑嗗濂界殑dom锛屽垵濮嬪寲echarts瀹炰緥 - - var myxyChart = echarts.init(this.xtechartdom); - const data = [ - ["2000-06-05", 116], - ["2000-06-06", 129], - ["2000-06-07", 135], - ["2000-06-08", 86], - ["2000-06-09", 73], - ["2000-06-10", 85], - ["2000-06-11", 73], - ["2000-06-12", 68], - ["2000-06-13", 92], - ["2000-06-14", 130], - ["2000-06-15", 245], - ["2000-06-16", 139], - ["2000-06-17", 115], - ["2000-06-18", 111], - ["2000-06-19", 309], - ["2000-06-20", 206], - ["2000-06-21", 137], - ["2000-06-22", 128], - ["2000-06-23", 85], - ]; - const dateList = data.map(function (item) { - return item[0]; - }); - const valueList = data.map(function (item) { - return item[1]; - }); - var option = { - title: { - text: "鍘嗗彶琛�绯栬褰�", - }, - // 渚ц竟灏忓姛鑳� - toolbox: { - show: true, - feature: { - dataZoom: { - yAxisIndex: "none", - }, - dataView: { readOnly: false }, - magicType: { type: ["line", "bar"] }, - restore: {}, - saveAsImage: {}, - }, - }, - visualMap: [ - { - show: false, - type: "continuous", - seriesIndex: 0, - min: 0, - max: 400, - }, - ], - title: [ - { - left: "center", - text: "琛�绯栧巻鍙茬洃娴�", - }, - ], - tooltip: { - trigger: "axis", - }, - xAxis: [ - { - data: dateList, - }, - ], - yAxis: [{}], - series: [ - { - type: "line", - showSymbol: false, - data: valueList, - lineStyle: { - width: 3, - type: "solid", - color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [ - { - offset: 0, - color: "#FE7D2F", - }, - { - offset: 1, - color: "#F9D423", - }, - ]), - }, - }, - ], - }; - // 浣跨敤鍒氭寚瀹氱殑閰嶇疆椤瑰拰鏁版嵁鏄剧ず鍥捐〃銆� - myxyChart.setOption(option); - }, - // 浣撻噸鍥捐〃 - tzechartsInit() { - // 鍩轰簬鍑嗗濂界殑dom锛屽垵濮嬪寲echarts瀹炰緥 - - var myxyChart = echarts.init(this.tzechartdom); - var option = { - title: { - text: "浣撻噸鎸囨爣鍥�", - }, - tooltip: { - trigger: "axis", - }, - legend: { - data: ["韬珮", "浣撻噸", "BMI鎸囨暟"], - }, - grid: { - left: "3%", - right: "4%", - bottom: "3%", - containLabel: true, - }, - toolbox: { - feature: { - saveAsImage: {}, - }, - }, - xAxis: { - type: "category", - boundaryGap: false, - data: ["涓�鏈�", "浜屾湀", "涓夋湀", "鍥涙湀", "浜旀湀", "鍏湀", "涓冩湀"], - }, - yAxis: { - type: "value", - }, - series: [ - { - name: "韬珮", - type: "line", - stack: "Total", - data: [120, 132, 101, 134, 90, 230, 210], - }, - { - name: "浣撻噸", - type: "line", - stack: "Total", - data: [220, 182, 191, 234, 290, 330, 310], - }, - - { - name: "BMI鎸囨暟", - type: "line", - stack: "Total", - data: [320, 332, 301, 334, 390, 330, 320], - }, - ], - }; - // 浣跨敤鍒氭寚瀹氱殑閰嶇疆椤瑰拰鏁版嵁鏄剧ず鍥捐〃銆� - myxyChart.setOption(option); - }, - // 蹇冪巼 - xlechartsInit() { - var myxyChart = echarts.init(this.xlechartdom); - const data = [ - ["2000-06-05", 116], - ["2000-06-06", 129], - ["2000-06-07", 135], - ["2000-06-08", 86], - ["2000-06-09", 73], - ["2000-06-10", 85], - ["2000-06-11", 73], - ["2000-06-12", 68], - ["2000-06-13", 92], - ["2000-06-14", 130], - ["2000-06-15", 245], - ["2000-06-16", 139], - ["2000-06-17", 115], - ["2000-06-18", 111], - ["2000-06-19", 309], - ["2000-06-20", 206], - ["2000-06-21", 137], - ["2000-06-22", 128], - ["2000-06-23", 85], - ]; - const dateList = data.map(function (item) { - return item[0]; - }); - const valueList = data.map(function (item) { - return item[1]; - }); - var option = { - title: { - text: "鍘嗗彶蹇冪巼璁板綍", - }, - visualMap: [ - { - show: false, - type: "continuous", - seriesIndex: 0, - min: 0, - max: 400, - }, - ], - - tooltip: { - trigger: "axis", - }, - xAxis: [ - { - data: dateList, - }, - ], - yAxis: [{}], - series: [ - { - type: "line", - showSymbol: false, - data: valueList, - lineStyle: { - width: 3, - type: "solid", - color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [ - { - offset: 0, - color: "#22a2c3", - }, - { - offset: 1, - color: "#b0d5df", - }, - ]), - }, - }, - ], - }; - // 浣跨敤鍒氭寚瀹氱殑閰嶇疆椤瑰拰鏁版嵁鏄剧ず鍥捐〃銆� - myxyChart.setOption(option); - }, - // 琛�姘� - xueyangechartsInit() { - var myxyChart = echarts.init(this.xueyangechartdom); - const data = [ - ["2000-06-05", 116], - ["2000-06-06", 129], - ["2000-06-07", 135], - ["2000-06-08", 86], - ["2000-06-09", 73], - ["2000-06-10", 85], - ["2000-06-11", 73], - ["2000-06-12", 68], - ["2000-06-13", 92], - ["2000-06-14", 130], - ["2000-06-15", 245], - ["2000-06-16", 139], - ["2000-06-17", 115], - ["2000-06-18", 111], - ["2000-06-19", 309], - ["2000-06-20", 206], - ["2000-06-21", 137], - ["2000-06-22", 128], - ["2000-06-23", 85], - ]; - const dateList = data.map(function (item) { - return item[0]; - }); - const valueList = data.map(function (item) { - return item[1]; - }); - var option = { - title: { - text: "鍘嗗彶琛�姘ц褰�", - }, - visualMap: [ - { - show: false, - type: "continuous", - seriesIndex: 0, - min: 0, - max: 400, - }, - ], - - tooltip: { - trigger: "axis", - }, - xAxis: [ - { - data: dateList, - }, - ], - yAxis: [{}], - series: [ - { - type: "line", - showSymbol: false, - data: valueList, - lineStyle: { - width: 3, - type: "solid", - color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [ - { - offset: 0, - color: "#45b787", - }, - { - offset: 1, - color: "#c4d7d6", - }, - ]), - }, - }, - ], - }; - // 浣跨敤鍒氭寚瀹氱殑閰嶇疆椤瑰拰鏁版嵁鏄剧ず鍥捐〃銆� - myxyChart.setOption(option); - }, - // 浣撴俯 - twechartsInit() { - var myxyChart = echarts.init(this.twechartdom); - console.log(myxyChart); - const data = [ - ["2000-06-05", 36.8], - ["2000-06-06", 36.2], - ["2000-06-07", 37.8], - ["2000-06-08", 37.8], - ["2000-06-09", 37.2], - ["2000-06-10", 36.2], - ["2000-06-11", 37.8], - ["2000-06-12", 36.9], - ["2000-06-13", 36.8], - ["2000-06-14", 36.4], - ["2000-06-15", 37.1], - ["2000-06-16", 36.9], - ["2000-06-17", 36.4], - ["2000-06-18", 38.8], - ["2000-06-19", 37.5], - ["2000-06-20", 36.6], - ["2000-06-21", 36.8], - ["2000-06-22", 36.2], - ["2000-06-23", 37.8], - ]; - const dateList = data.map(function (item) { - return item[0]; - }); - const valueList = data.map(function (item) { - return item[1]; - }); - var option = { - title: { - text: "鍘嗗彶浣撴俯璁板綍", - }, - visualMap: [ - { - show: false, - type: "continuous", - seriesIndex: 0, - min: 0, - max: 400, - }, - ], - - tooltip: { - trigger: "axis", - }, - xAxis: [ - { - data: dateList, - }, - ], - yAxis: [{}], - series: [ - { - type: "line", - showSymbol: false, - data: valueList, - }, - ], - }; - // 浣跨敤鍒氭寚瀹氱殑閰嶇疆椤瑰拰鏁版嵁鏄剧ず鍥捐〃銆� - myxyChart.setOption(option); - }, - }, -}; -</script> - -<style lang="scss" scoped> -.personages { - height: 88px; - width: 100%; - background-color: #5e86f9; - border-radius: 5px; - padding: 20px; - margin-bottom: 10px; - line-height: 48px; - font-size: 25px; - font-weight: 600; - color: #ffffff; - .headportrait { - display: flex; - .text-center { - width: 55px; - height: 55px; - margin-right: 10px; - img { - width: 100%; - height: 100%; - border-radius: 50%; - } - } - .text-title { - font-size: 20px; - font-weight: 500; - color: #ecfcfc; - } - } -} -.xinz-inf { - font-size: 18px; - // white-space: nowrap; - overflow: hidden; - text-overflow: ellipsis; - - line-height: 48px; - - .el-tag + .el-tag { - margin-left: 10px; - } - .button-new-tag { - margin-left: 10px; - height: 32px; - line-height: 30px; - padding-top: 0; - padding-bottom: 0; - } - .input-new-tag { - width: 90px; - margin-left: 10px; - vertical-align: bottom; - } -} -.el-tabs--border-card { - // font-size: 25px; - .mulsz { - font-size: 25px; - margin-top: 20px; - } -} -.information-content { - margin-top: 20px; - 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); - .top-message { - margin-top: 25px; - margin-left: 100px; - .detailed { - width: 88%; - border-radius: 8px; - padding: 30px; - margin-bottom: 30px; - background-color: #ddf0f8; - .bg-purple { - margin-bottom: 20px; - } - .spanvalue { - display: inline-block; - min-width: 200px; - border-bottom: 1px solid rgb(172, 172, 172); - } - } - } - - .headline { - font-size: 25px; - padding-left: 5px; - margin-bottom: 10px; - border-left: 8px solid rgb(65, 161, 190); - } - .headlines { - font-size: 25px; - display: flex; - width: 88%; - justify-content: space-between; - padding-left: 5px; - margin-bottom: 10px; - border-left: 8px solid rgb(65, 161, 190); - } - .bottom-message { - margin-bottom: 25px; - margin-left: 100px; - .Table-screen { - width: 88%; - padding: 30px; - margin-bottom: 30px; - border-radius: 8px; - background-color: #ddf0f8; - font-size: 20px !important; - } - } -} -.medical-record { - 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); -} -.sontwoactiveName { - margin: 0 auto; -} -::v-deep.el-table .warning-row { - background: oldlace; -} -</style> diff --git a/src/views/patient/patient/profile/resetPwd.vue b/src/views/patient/patient/profile/resetPwd.vue deleted file mode 100644 index 64e8f8c..0000000 --- a/src/views/patient/patient/profile/resetPwd.vue +++ /dev/null @@ -1,68 +0,0 @@ -<template> - <el-form ref="form" :model="user" :rules="rules" label-width="80px"> - <el-form-item label="鏃у瘑鐮�" prop="oldPassword"> - <el-input v-model="user.oldPassword" placeholder="璇疯緭鍏ユ棫瀵嗙爜" type="password" show-password/> - </el-form-item> - <el-form-item label="鏂板瘑鐮�" prop="newPassword"> - <el-input v-model="user.newPassword" placeholder="璇疯緭鍏ユ柊瀵嗙爜" type="password" show-password/> - </el-form-item> - <el-form-item label="纭瀵嗙爜" prop="confirmPassword"> - <el-input v-model="user.confirmPassword" placeholder="璇风‘璁ゆ柊瀵嗙爜" type="password" show-password/> - </el-form-item> - <el-form-item> - <el-button type="primary" size="mini" @click="submit">淇濆瓨</el-button> - <el-button type="danger" size="mini" @click="close">鍏抽棴</el-button> - </el-form-item> - </el-form> -</template> - -<script> -import { updateUserPwd } from "@/api/system/user"; - -export default { - data() { - const equalToPassword = (rule, value, callback) => { - if (this.user.newPassword !== value) { - callback(new Error("涓ゆ杈撳叆鐨勫瘑鐮佷笉涓�鑷�")); - } else { - callback(); - } - }; - return { - user: { - oldPassword: undefined, - newPassword: undefined, - confirmPassword: undefined - }, - // 琛ㄥ崟鏍¢獙 - rules: { - oldPassword: [ - { required: true, message: "鏃у瘑鐮佷笉鑳戒负绌�", trigger: "blur" } - ], - newPassword: [ - { required: true, message: "鏂板瘑鐮佷笉鑳戒负绌�", trigger: "blur" }, - { min: 6, max: 20, message: "闀垮害鍦� 6 鍒� 20 涓瓧绗�", trigger: "blur" } - ], - confirmPassword: [ - { required: true, message: "纭瀵嗙爜涓嶈兘涓虹┖", trigger: "blur" }, - { required: true, validator: equalToPassword, trigger: "blur" } - ] - } - }; - }, - methods: { - submit() { - this.$refs["form"].validate(valid => { - if (valid) { - updateUserPwd(this.user.oldPassword, this.user.newPassword).then(response => { - this.$modal.msgSuccess("淇敼鎴愬姛"); - }); - } - }); - }, - close() { - this.$tab.closePage(); - } - } -}; -</script> diff --git a/src/views/patient/patient/profile/userAvatar.vue b/src/views/patient/patient/profile/userAvatar.vue deleted file mode 100644 index 70d8487..0000000 --- a/src/views/patient/patient/profile/userAvatar.vue +++ /dev/null @@ -1,187 +0,0 @@ -<template> - <div> - <div class="user-info-head" @click="editCropper()"><img v-bind:src="options.img" title="鐐瑰嚮涓婁紶澶村儚" class="img-circle img-lg" /></div> - <el-dialog :title="title" :visible.sync="open" width="800px" append-to-body @opened="modalOpened" @close="closeDialog"> - <el-row> - <el-col :xs="24" :md="12" :style="{height: '350px'}"> - <vue-cropper - ref="cropper" - :img="options.img" - :info="true" - :autoCrop="options.autoCrop" - :autoCropWidth="options.autoCropWidth" - :autoCropHeight="options.autoCropHeight" - :fixedBox="options.fixedBox" - :outputType="options.outputType" - @realTime="realTime" - v-if="visible" - /> - </el-col> - <el-col :xs="24" :md="12" :style="{height: '350px'}"> - <div class="avatar-upload-preview"> - <img :src="previews.url" :style="previews.img" /> - </div> - </el-col> - </el-row> - <br /> - <el-row> - <el-col :lg="2" :sm="3" :xs="3"> - <el-upload action="#" :http-request="requestUpload" :show-file-list="false" :before-upload="beforeUpload"> - <el-button size="small"> - 閫夋嫨 - <i class="el-icon-upload el-icon--right"></i> - </el-button> - </el-upload> - </el-col> - <el-col :lg="{span: 1, offset: 2}" :sm="2" :xs="2"> - <el-button icon="el-icon-plus" size="small" @click="changeScale(1)"></el-button> - </el-col> - <el-col :lg="{span: 1, offset: 1}" :sm="2" :xs="2"> - <el-button icon="el-icon-minus" size="small" @click="changeScale(-1)"></el-button> - </el-col> - <el-col :lg="{span: 1, offset: 1}" :sm="2" :xs="2"> - <el-button icon="el-icon-refresh-left" size="small" @click="rotateLeft()"></el-button> - </el-col> - <el-col :lg="{span: 1, offset: 1}" :sm="2" :xs="2"> - <el-button icon="el-icon-refresh-right" size="small" @click="rotateRight()"></el-button> - </el-col> - <el-col :lg="{span: 2, offset: 6}" :sm="2" :xs="2"> - <el-button type="primary" size="small" @click="uploadImg()">鎻� 浜�</el-button> - </el-col> - </el-row> - </el-dialog> - </div> -</template> - -<script> -import store from "@/store"; -import { VueCropper } from "vue-cropper"; -import { uploadAvatar } from "@/api/system/user"; -import { debounce } from '@/utils' - -export default { - components: { VueCropper }, - props: { - user: { - type: Object - } - }, - data() { - return { - // 鏄惁鏄剧ず寮瑰嚭灞� - open: false, - // 鏄惁鏄剧ずcropper - visible: false, - // 寮瑰嚭灞傛爣棰� - title: "淇敼澶村儚", - options: { - img: store.getters.avatar, //瑁佸壀鍥剧墖鐨勫湴鍧� - autoCrop: true, // 鏄惁榛樿鐢熸垚鎴浘妗� - autoCropWidth: 200, // 榛樿鐢熸垚鎴浘妗嗗搴� - autoCropHeight: 200, // 榛樿鐢熸垚鎴浘妗嗛珮搴� - fixedBox: true, // 鍥哄畾鎴浘妗嗗ぇ灏� 涓嶅厑璁告敼鍙� - outputType:"png" // 榛樿鐢熸垚鎴浘涓篜NG鏍煎紡 - }, - previews: {}, - resizeHandler: null - }; - }, - methods: { - // 缂栬緫澶村儚 - editCropper() { - this.open = true; - }, - // 鎵撳紑寮瑰嚭灞傜粨鏉熸椂鐨勫洖璋� - modalOpened() { - this.visible = true; - if (!this.resizeHandler) { - this.resizeHandler = debounce(() => { - this.refresh() - }, 100) - } - window.addEventListener("resize", this.resizeHandler) - }, - // 鍒锋柊缁勪欢 - refresh() { - this.$refs.cropper.refresh(); - }, - // 瑕嗙洊榛樿鐨勪笂浼犺涓� - requestUpload() { - }, - // 鍚戝乏鏃嬭浆 - rotateLeft() { - this.$refs.cropper.rotateLeft(); - }, - // 鍚戝彸鏃嬭浆 - rotateRight() { - this.$refs.cropper.rotateRight(); - }, - // 鍥剧墖缂╂斁 - changeScale(num) { - num = num || 1; - this.$refs.cropper.changeScale(num); - }, - // 涓婁紶棰勫鐞� - beforeUpload(file) { - if (file.type.indexOf("image/") == -1) { - this.$modal.msgError("鏂囦欢鏍煎紡閿欒锛岃涓婁紶鍥剧墖绫诲瀷,濡傦細JPG锛孭NG鍚庣紑鐨勬枃浠躲��"); - } else { - const reader = new FileReader(); - reader.readAsDataURL(file); - reader.onload = () => { - this.options.img = reader.result; - }; - } - }, - // 涓婁紶鍥剧墖 - uploadImg() { - this.$refs.cropper.getCropBlob(data => { - let formData = new FormData(); - formData.append("avatarfile", data); - uploadAvatar(formData).then(response => { - this.open = false; - this.options.img = process.env.VUE_APP_BASE_API + response.imgUrl; - store.commit('SET_AVATAR', this.options.img); - this.$modal.msgSuccess("淇敼鎴愬姛"); - this.visible = false; - }); - }); - }, - // 瀹炴椂棰勮 - realTime(data) { - this.previews = data; - }, - // 鍏抽棴绐楀彛 - closeDialog() { - this.options.img = store.getters.avatar - this.visible = false; - window.removeEventListener("resize", this.resizeHandler) - } - } -}; -</script> -<style scoped lang="scss"> -.user-info-head { - position: relative; - display: inline-block; - height: 120px; -} - -.user-info-head:hover:after { - content: '+'; - position: absolute; - left: 0; - right: 0; - top: 0; - bottom: 0; - color: #eee; - background: rgba(0, 0, 0, 0.5); - font-size: 24px; - font-style: normal; - -webkit-font-smoothing: antialiased; - -moz-osx-font-smoothing: grayscale; - cursor: pointer; - line-height: 110px; - border-radius: 50%; -} -</style> diff --git a/src/views/patient/patient/profile/userInfo.vue b/src/views/patient/patient/profile/userInfo.vue deleted file mode 100644 index c09a20b..0000000 --- a/src/views/patient/patient/profile/userInfo.vue +++ /dev/null @@ -1,75 +0,0 @@ -<template> - <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 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-radio-group v-model="user.sex"> - <el-radio label="0">鐢�</el-radio> - <el-radio label="1">濂�</el-radio> - </el-radio-group> - </el-form-item> - <el-form-item> - <el-button type="primary" size="mini" @click="submit">淇濆瓨</el-button> - <el-button type="danger" size="mini" @click="close">鍏抽棴</el-button> - </el-form-item> - </el-form> -</template> - -<script> -import { updateUserProfile } from "@/api/system/user"; - -export default { - props: { - user: { - type: Object - } - }, - data() { - return { - // 琛ㄥ崟鏍¢獙 - rules: { - nickName: [ - { required: true, message: "鐢ㄦ埛鏄电О涓嶈兘涓虹┖", trigger: "blur" } - ], - email: [ - { required: true, message: "閭鍦板潃涓嶈兘涓虹┖", trigger: "blur" }, - { - type: "email", - message: "璇疯緭鍏ユ纭殑閭鍦板潃", - trigger: ["blur", "change"] - } - ], - phonenumber: [ - { required: true, message: "鎵嬫満鍙风爜涓嶈兘涓虹┖", trigger: "blur" }, - { - pattern: /^1[3|4|5|6|7|8|9][0-9]\d{8}$/, - message: "璇疯緭鍏ユ纭殑鎵嬫満鍙风爜", - trigger: "blur" - } - ] - } - }; - }, - methods: { - submit() { - this.$refs["form"].validate(valid => { - if (valid) { - updateUserProfile(this.user).then(response => { - this.$modal.msgSuccess("淇敼鎴愬姛"); - }); - } - }); - }, - close() { - this.$tab.closePage(); - } - } -}; -</script> diff --git a/src/views/patient/physical/index.vue b/src/views/patient/physical/index.vue deleted file mode 100644 index 0518e42..0000000 --- a/src/views/patient/physical/index.vue +++ /dev/null @@ -1,1348 +0,0 @@ -<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 }} - </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" - size="small" - :inline="true" - v-show="showSearch" - label-width="98px" - > - <el-form-item label="浠诲姟鍚嶇О"> - <el-input - v-model="topqueryParams.taskName" - placeholder="璇烽�夋嫨浠诲姟鍚嶇О" - ></el-input> - </el-form-item> - - <el-form-item label="鍑洪櫌鏃堕棿"> - <el-date-picker - v-model="dateRange" - style="width: 240px" - value-format="yyyy-MM-dd" - type="daterange" - range-separator="-" - start-placeholder="寮�濮嬫棩鏈�" - end-placeholder="缁撴潫鏃ユ湡" - ></el-date-picker> - </el-form-item> - - <el-form-item label="鎮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" - :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(1)" - >鎼滅储</el-button - > - <el-button icon="el-icon-refresh" size="medium" @click="resetQuery" - >閲嶇疆</el-button - > - </el-form-item> - </el-form> - <el-divider></el-divider> - <el-row :gutter="10" class="mb8"> - <el-col :span="1.5"> - <el-button - type="primary" - plain - icon="el-icon-plus" - size="medium" - @click="handleAdd" - >鏂板</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"> - <el-button - type="warning" - plain - icon="el-icon-warning-outline" - size="medium" - @click="toleadExport(1)" - >鎵ц澶辫触</el-button - > - </div> - </div> - </el-col> - <el-col :span="1.5"> - <div class="documentf"> - <div class="document"> - <el-button - type="danger" - plain - icon="el-icon-warning" - size="medium" - @click="toleadExport(2)" - >缁撴灉寮傚父</el-button - > - </div> - </div> - </el-col> - </el-row> - <el-table - v-loading="loading" - :data="userList" - height="660" - :row-class-name="tableRowClassName" - @selection-change="handleSelectionChange" - > - <el-table-column type="selection" width="50" align="center" /> - <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 - align="center" - key="sendname" - prop="sendname" - /> - <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="createBy" - prop="createBy" - 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="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="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="icdName" - prop="icdName" - width="120" - :show-overflow-tooltip="true" - > - </el-table-column> --> - - <el-table-column - label="鍑洪櫌闅忚妯℃澘鍚嶇О" - align="center" - key="templatename" - prop="templatename" - width="200" - /> - <el-table-column - label="浠诲姟鎵ц鏂瑰紡" - align="center" - key="preachform" - prop="preachform" - width="160" - :show-overflow-tooltip="true" - > - <template slot-scope="scope"> - <span v-for="item in scope.row.preachform">{{ item }}銆� </span> - </template> - </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="浠诲姟缁撴灉璇存槑" - 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" - fixed="right" - width="200" - class-name="small-padding fixed-width" - > - <template slot-scope="scope"> - <!-- <el-tooltip - class="item" - effect="dark" - content="閲嶆柊闅忚" - placement="top" - > - <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 - > - </template> - </el-table-column> - </el-table> - - <pagination - v-show="total > 0" - :total="total" - :page.sync="topqueryParams.pageNum" - :limit.sync="topqueryParams.pageSize" - @pagination="getList" - /> - </el-row> - <!-- 娣诲姞鎴栦慨鏀归棬璇婇殢璁垮璇濇 --> - <el-dialog - :title="title" - :visible.sync="addalteropen" - width="700px" - append-to-body - > - <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-select> - </el-form-item> - </el-col> - </el-row> - <el-row :gutter="20"> - <el-col :span="24"> - <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> - </div> - </el-dialog> - <!-- 淇敼鍙戦�佹椂闂村璇濇 --> - <el-dialog - title="鍙戦�佹椂闂磋缃�" - :visible.sync="modificationVisible" - width="45%" - > - <div style="margin-bottom: 20px; color: red"> - 缁熶竴淇敼褰撳ぉ鏈彂閫佺殑浠诲姟鏃堕棿 - </div> - - <el-form - :model="ruleForm" - :rules="rules" - ref="ruleForm" - label-width="120px" - class="demo-ruleForm" - > - <el-form-item label="鍙戦�佹棩鏈�"> - <el-date-picker - v-model="ruleForm.value1" - type="date" - placeholder="閫夋嫨鏃ユ湡" - > - </el-date-picker> - </el-form-item> - - <el-form-item label="鏃堕棿娈�" prop="type"> - <el-checkbox-group v-model="ruleForm.type"> - <el-checkbox label="涓婂崍" name="type"></el-checkbox> - <el-checkbox label="涓嬪崍" name="type"></el-checkbox> - <el-checkbox label="鏅氫笂" name="type"></el-checkbox> - </el-checkbox-group> - </el-form-item> - <el-form-item label="涓婂崍鏃堕棿鍖洪棿" required> - <el-time-picker - is-range - v-model="ruleForm.value2" - range-separator="鑷�" - start-placeholder="寮�濮嬫椂闂�" - end-placeholder="缁撴潫鏃堕棿" - placeholder="閫夋嫨鏃堕棿鑼冨洿" - > - </el-time-picker> - </el-form-item> - <el-form-item label="涓嬪崍鏃堕棿鍖洪棿" required> - <el-time-picker - is-range - v-model="ruleForm.value3" - range-separator="鑷�" - start-placeholder="寮�濮嬫椂闂�" - end-placeholder="缁撴潫鏃堕棿" - placeholder="閫夋嫨鏃堕棿鑼冨洿" - > - </el-time-picker> - </el-form-item> - <el-form-item label="鏅氫笂鏃堕棿鍖洪棿" required> - <el-time-picker - is-range - v-model="ruleForm.value4" - range-separator="鑷�" - start-placeholder="寮�濮嬫椂闂�" - end-placeholder="缁撴潫鏃堕棿" - placeholder="閫夋嫨鏃堕棿鑼冨洿" - > - </el-time-picker> - </el-form-item> - </el-form> - - <span slot="footer" class="dialog-footer"> - <el-button @click="modificationVisible = false">鍙� 娑�</el-button> - <el-button type="primary" @click="modificationVisible = false" - >纭� 瀹�</el-button - > - </span> - </el-dialog> - </div> -</template> - -<script> -import { - listUser, - getUser, - delUser, - addUser, - updateUser, - resetUserPwd, - changeUserStatus, -} from "@/api/system/user"; -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: "Discharge", - 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, - // 鐢ㄦ埛琛ㄦ牸鏁版嵁 - userList: null, - // 寮瑰嚭灞傛爣棰� - title: "鏂板闂ㄨ瘖闅忚", - // 鏄惁鏄剧ず淇敼銆佹坊鍔犲脊鍑哄眰 - addalteropen: false, - // 淇敼鍙戦�佹椂闂村璇濇 - modificationVisible: false, - // 閮ㄩ棬鍚嶇О - deptName: undefined, - // 榛樿瀵嗙爜 - initPassword: undefined, - // 鏃ユ湡鑼冨洿 - dateRange: [], - // 宀椾綅閫夐」 - postOptions: [], - ruleForm: { - type: [], - }, - dynamicTags: ["閫夐」涓�", "閫夐」浜�", "閫夐」涓�"], //閫夐」 - inputVisible: false, - ycvalue: "", - yfsvalue: "", - inputValue: "", - preachform: "", - previewVisible: false, //闂ㄨ瘖闅忚棰勮寮规 - radio: "", - radios: [], - previewtype: 2, //棰勮闂ㄨ瘖闅忚绫诲瀷 - total: 0, // 鎬绘潯鏁� - ImportQuantity: 999, //瀵奸棬璇婇殢璁挎暟閲� - //棰勮闂ㄨ瘖闅忚淇℃伅 - previewvalue: { - username: "杩欎釜鍖荤敓瀵逛綘鎬庝箞鏍�", - }, - value: [], - list: [], - - sourcetype: [ - { - value: 1, - label: "绉戝", - children: [], - }, - { - 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: "", - totagid: "", - types: "", - nickName: "", - qystatus: "", - btstatus: "", - }, - // 鏌ヨ鍙傛暟 - topqueryParams: { - pageNum: 1, - pageSize: 10, - serviceType: 1, - searchscope: 3, - scopetype: [], - leaveldeptcodes: [], - leavehospitaldistrictcodes: [], - }, - 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父", - }, - ], - errtype: "", - leavehospitaldistrictcode: "", - serviceState: [], - checkboxlist: [], - // 琛ㄥ崟鏍¢獙 - rules: {}, - }; - }, - watch: {}, - created() { - 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; - }); - }, - activated() { - this.getList(1); - }, - methods: { - /** 鏌ヨ闂ㄨ瘖闅忚鏈嶅姟鍒楄〃 */ - getList(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); - } - // 鎺ュ彈寮傚父璺宠浆 - if (this.errtype) { - this.topqueryParams.leavehospitaldistrictcodes.push( - this.leavehospitaldistrictcode - ); - console.log(this.topqueryParams.leavehospitaldistrictcodes, "11"); - } - 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.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; - }, - // 娣诲姞寮规鎼滅储 - remoteMethod(query) { - if (query !== "") { - this.loading = true; - setTimeout(() => { - this.loading = false; - this.options = this.list.filter((item) => { - return item.label.toLowerCase().indexOf(query.toLowerCase()) > -1; - }); - }, 200); - } else { - this.options = []; - } - }, - // 闂ㄨ瘖闅忚鐘舵�佷慨鏀� - handleStatusChange(row) { - let text = row.status === "0" ? "鍚敤" : "鍋滅敤"; - this.$modal - .confirm('纭瑕�"' + text + '""' + row.userName + '"鐢ㄦ埛鍚楋紵') - .then(function () { - return changeUserStatus(row.userId, row.status); - }) - .then(() => { - this.$modal.msgSuccess(text + "鎴愬姛"); - }) - .catch(function () { - row.status = row.status === "0" ? "1" : "0"; - }); - }, - // 鍙栨秷鎸夐挳 - cancel() { - this.addalteropen = false; - this.reset(); - }, - // 琛ㄥ崟閲嶇疆 - reset() { - this.form = { - userId: undefined, - deptId: undefined, - userName: undefined, - nickName: undefined, - password: undefined, - phonenumber: undefined, - email: undefined, - sex: undefined, - status: "0", - remark: undefined, - postIds: [], - roleIds: [], - }; - this.resetForm("form"); - }, - /** 鎼滅储鎸夐挳鎿嶄綔 */ - handleQuery(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]; - - this.getList(refresh); - }, - // 鎮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; - } - }, - /** 閲嶇疆鎸夐挳鎿嶄綔 */ - resetQuery() { - this.dateRange = []; - this.topqueryParams = { - pageNum: 1, - pageSize: 10, - serviceType: 1, - searchscope: 2, - }; - this.handleQuery(1); - }, - // 澶氶�夋閫変腑鏁版嵁 - handleSelectionChange(selection) { - this.ids = selection.map((item) => item.userId); - this.single = selection.length != 1; - this.multiple = !selection.length; - }, - //鍒犻櫎閫夐」 - handleClose(tag) { - this.dynamicTags.splice(this.dynamicTags.indexOf(tag), 1); - }, - //瑙﹀彂鏂板杈撳叆 - showInput() { - this.inputVisible = true; - this.$nextTick((_) => { - this.$refs.saveTagInput.$refs.input.focus(); - }); - }, - //鑾峰彇澶卞幓鐒︾偣瑙﹀彂 - handleInputConfirm() { - let inputValue = this.inputValue; - if (inputValue) { - this.dynamicTags.push(inputValue); - } - this.inputVisible = false; - this.inputValue = ""; - }, - /** 鏂板鎸夐挳鎿嶄綔 */ - handleAdd() { - this.$router.push({ - path: "/followvisit/QuestionnaireTask", - query: { - type: 2, - serviceType: 1, - }, - }); - }, - - /** 閲嶇疆瀵嗙爜鎸夐挳鎿嶄綔 */ - handleResetPwd(row) { - this.$prompt('璇疯緭鍏�"' + row.userName + '"鐨勬柊瀵嗙爜', "鎻愮ず", { - confirmButtonText: "纭畾", - cancelButtonText: "鍙栨秷", - closeOnClickModal: false, - inputPattern: /^.{5,20}$/, - inputErrorMessage: "鐢ㄦ埛瀵嗙爜闀垮害蹇呴』浠嬩簬 5 鍜� 20 涔嬮棿", - }) - .then(({ value }) => { - resetUserPwd(row.userId, value).then((response) => { - this.$modal.msgSuccess("淇敼鎴愬姛锛屾柊瀵嗙爜鏄細" + value); - }); - }) - .catch(() => {}); - }, - - /** 鎻愪氦鎸夐挳 */ - 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.getList(1); - }); - } else { - addUser(this.form).then((response) => { - this.$modal.msgSuccess("鏂板鎴愬姛"); - this.open = false; - this.getList(1); - }); - } - } - }); - }, - /** 鍒犻櫎鎸夐挳鎿嶄綔 */ - handleDelete(row) { - const userIds = row.userId || this.ids; - this.$modal - .confirm('鏄惁纭鍒犻櫎鐢ㄦ埛缂栧彿涓�"' + userIds + '"鐨勬暟鎹」锛�') - .then(function () { - return delUser(userIds); - }) - .then(() => { - this.getList(1); - this.$modal.msgSuccess("鍒犻櫎鎴愬姛"); - }) - .catch(() => {}); - }, - // 鍏ㄩ儴鍋滄 - AllStop() { - this.$modal - .confirm("鏄惁鍋滄鍏ㄩ儴浠诲姟锛�") - .then(function () { - return console.log("鍋滄鎴愬姛"); - }) - .then(() => { - this.getList(1); - this.$modal.msgWarning("鍋滄鎴愬姛"); - }) - .catch(() => {}); - }, - // 鍏ㄩ儴寮�濮� - AllStarted() { - this.$modal - .confirm("鏄惁寮�鍚叏閮ㄤ换鍔★紵") - .then(function () { - return console.log("寮�鍚垚鍔�"); - }) - .then(() => { - this.getList(1); - this.$modal.msgSuccess("寮�鍚垚鍔�"); - }) - .catch(() => {}); - }, - // 浠诲姟閲嶇疆 - TaskReset() { - this.$modal - .confirm("鏄惁閲嶇疆閫変腑鐨勪换鍔¢」锛�") - .then(function () { - return console.log("閫変腑鎴愬姛"); - }) - .then(() => { - this.getList(1); - this.$modal.msgSuccess("閲嶇疆鎴愬姛"); - }) - .catch(() => {}); - }, - // 璁剧疆鍙戦�佹椂闂� - Sendtimesetting() { - this.modificationVisible = true; - }, - // 璺宠浆璇︽儏椤� - 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, - id: row.id, - Voicetype: type, - }, - }); - }, - // 渚挎嵎鎸夐挳 - 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( - "smartor/serviceSubtask/export", - { - ...this.topqueryParams, - }, - `user_${new Date().getTime()}.xlsx` - ); - }, - // 寮傚父鍒楁覆鏌� - tableRowClassName({ row, rowIndex }) { - if (row.excep == 1) { - return "warning-row"; - } - return ""; - }, - }, -}; -</script> - -<style lang="scss" scoped> -.el-button--primary.is-plain { - color: #ffffff; - background: #409eff; - border-color: #4fabe9; -} - -.document { - // width: 100px; - height: 50px; -} -::v-deep.el-table .warning-row { - background: #eec4c4; -} - -.documentf { - display: flex; - justify-content: flex-end; -} - -.download { - text-align: center; - - .el-upload__tip { - font-size: 23px; - } - - .el-upload__text { - font-size: 23px; - } -} - -.uploading { - margin-top: 20px; - margin: 20px; - padding: 30px; - background: #ffffff; - border: 1px solid #dcdfe6; - -webkit-box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.12), - 0 0 6px 0 rgba(0, 0, 0, 0.04); -} - -.el-tag + .el-tag { - margin-left: 10px; -} - -.button-new-tag { - margin-left: 10px; - height: 32px; - line-height: 30px; - padding-top: 0; - padding-bottom: 0; -} - -.input-new-tag { - width: 90px; - margin-left: 10px; - vertical-align: bottom; -} - -.drexamine { - display: flex; - align-items: center; - justify-content: center; - padding: 30px; - background: #daeaf5; - - img { - width: 100px; - height: 100px; - } -} - -.qrcode-dialo { - // text-align: center; - // display: flex; - margin: 20px; - padding: 30px; - background: #edf1f7; - border: 1px solid #dcdfe6; - -webkit-box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.12), - 0 0 6px 0 rgba(0, 0, 0, 0.04); - - .topic-dev { - margin-bottom: 25px; - font-size: 20px !important; - - .dev-text { - margin-bottom: 10px; - } - } -} -::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; - 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/propaganda/Missioncreation.vue b/src/views/patient/propaganda/Missioncreation.vue deleted file mode 100644 index e50cc2b..0000000 --- a/src/views/patient/propaganda/Missioncreation.vue +++ /dev/null @@ -1,1822 +0,0 @@ -<template> - <div class="Questionnairemanagement"> - <!-- 涓婁晶鏍� --> - <div class="sidecolumn"> - <div> - <el-steps simple :active="Editprogress"> - <el-step - icon="el-icon-edit" - title="鍩虹淇℃伅" - description="閫夋嫨妯℃澘銆佸舰寮忕瓑鍩虹淇℃伅" - ></el-step> - <el-step - icon="el-icon-user" - title="浠诲姟涓讳綋" - description="鍦ㄦ湰閮ㄩ�夋嫨鏈嶅姟鎮h��" - ></el-step> - </el-steps> - </div> - </div> - <!-- 涓嬩晶鏁版嵁 --> - <div class="leftvlue" style="margin: 0 20px"> - <!-- 鍩烘湰淇℃伅 --> - <div v-if="Editprogress == 1"> - <el-alert title="閫夋嫨妯℃澘銆佸舰寮忕瓑鍩虹淇℃伅" type="success" effect="dark"> - </el-alert> - <div class="leftvlue-jbxx"> - <!-- 鍩虹淇℃伅 --> - <div class="examine-jic"> - <div class="headline"> - <div>鍩虹淇℃伅</div> - </div> - <div class="jic-value"> - <el-form ref="form" :model="form" label-width="105px"> - <el-row :gutter="20"> - <el-col :span="12" - ><el-form-item label="浠诲姟鍚嶇О"> - <el-input - style="width: 220px" - v-model="form.taskName" - placeholder="璇疯緭鍏ヤ换鍔″悕绉�" - /> </el-form-item - ></el-col> - <el-col :span="8" - ><el-form-item label="妯℃澘鍚嶇О"> - <el-input - style="width: 220px" - :disabled="true" - v-model="form.templatename" - placeholder="璇峰湪涓嬪垪閫夋嫨" - /> </el-form-item - ></el-col> - <el-col :span="4"> - <el-button - type="primary" - icon="el-icon-edit" - @click="drawermb = true" - circle - ></el-button> - <el-button - v-if="form.templatename" - type="success" - icon="el-icon-search" - @click="previewfnm" - circle - ></el-button> - </el-col> - <!-- <el-col :span="2"> - <el-button - v-if="form.templatename" - type="success" - icon="el-icon-search" - @click="previewfnm" - circle - ></el-button> - </el-col> --> - </el-row> - - <el-form-item label="浠诲姟鎻忚堪"> - <el-input - type="textarea" - v-model="form.taskDesc" - placeholder="璇疯緭鍏ヤ换鍔℃弿杩�" - /> - </el-form-item> - <el-row> - <el-col :span="20" - ><el-form-item label="閫傜敤绉戝" prop="region"> - <el-select - v-model="form.deptcode" - style="width: 400px" - size="medium" - filterable - placeholder="璇烽�夋嫨绉戝" - > - <el-option - class="ruleFormaa" - v-for="item in belongDepts" - :key="item.deptCode" - :label="item.deptName" - :value="item.deptCode" - > - </el-option> - </el-select> </el-form-item - ></el-col> - </el-row> - <el-row> - <el-col :span="20" - ><el-form-item label="閫傜敤鐥呭尯" prop="region"> - <el-select - v-model="form.leavehospitaldistrictcode" - style="width: 400px" - size="medium" - filterable - placeholder="璇烽�夋嫨鐥呭尯" - > - <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-form-item label="鍙戦�佽缃細" v-if="currenttype != 2"> - <el-radio-group v-model="form.sendType"> - <el-radio :label="1">鏃堕棿娈靛彂閫�</el-radio> - <el-radio :label="3">鏃堕棿鐐瑰彂閫�</el-radio> - <el-radio :label="2">鍗冲埢鍙戦��</el-radio> - </el-radio-group> - </el-form-item> - <el-form-item label="鍙戦�佹棩鏈燂細" v-if="form.sendType == 1"> - <el-date-picker - v-model="daytime" - @change="changeTimeday" - type="daterange" - range-separator="鑷�" - start-placeholder="寮�濮嬫棩鏈�" - end-placeholder="缁撴潫鏃ユ湡" - value-format="yyyy-MM-dd" - > - </el-date-picker> - </el-form-item> - - <el-form-item label="鍙戦�佹椂闂寸偣锛�" v-if="form.sendType == 3"> - <div style="display: flex"> - <div style="margin-right: 10px"> - <el-date-picker - v-model="time4" - value-format="yyyy-MM-dd HH:mm:ss" - @change="Totaldate" - type="datetime" - placeholder="閫夋嫨鏃ユ湡鏃堕棿" - > - </el-date-picker> - </div> - </div> - </el-form-item> - - <el-form-item label="鍙戦�佹椂闂存锛�" v-if="form.sendType == 1"> - <div style="display: flex"> - <div style="margin-right: 10px"> - <span style="font-size: 18px; margin-right: 10px">鈶�</span> - <el-time-picker - is-range - arrow-control - @change="changeTime" - v-model="time1" - range-separator="鑷�" - start-placeholder="寮�濮嬫椂闂�" - end-placeholder="缁撴潫鏃堕棿" - placeholder="閫夋嫨鏃堕棿鑼冨洿" - value-format="HH:mm:ss" - > - </el-time-picker> - </div> - <div style="margin-right: 10px"> - <span style="font-size: 18px; margin-right: 10px">鈶�</span> - <el-time-picker - is-range - arrow-control - @change="changeTime" - v-model="time2" - range-separator="鑷�" - start-placeholder="寮�濮嬫椂闂�" - end-placeholder="缁撴潫鏃堕棿" - placeholder="閫夋嫨鏃堕棿鑼冨洿" - value-format="HH:mm:ss" - > - </el-time-picker> - </div> - <div style="margin-right: 10px"> - <span style="font-size: 18px; margin-right: 10px">鈶�</span> - <el-time-picker - is-range - arrow-control - @change="changeTime" - v-model="time3" - range-separator="鑷�" - start-placeholder="寮�濮嬫椂闂�" - end-placeholder="缁撴潫鏃堕棿" - placeholder="閫夋嫨鏃堕棿鑼冨洿" - value-format="HH:mm:ss" - > - </el-time-picker> - </div> - </div> - </el-form-item> - <el-row> - <el-col :span="12" - ><el-form-item label="寮�鍦虹櫧" prop="kcb"> - <el-input - type="textarea" - :rows="3" - v-model="form.kcb" - placeholder="璇疯緭鍏ュ紑鍦虹櫧" - /> </el-form-item - ></el-col> - <el-col :span="12" - ><el-form-item label="缁撴潫璇�" prop="jsy"> - <el-input - type="textarea" - :rows="3" - v-model="form.jsy" - placeholder="璇疯緭鍏ョ粨鏉熻" - /> </el-form-item - ></el-col> - </el-row> - <el-form-item label="鏈嶅姟褰㈠紡"> - <el-checkbox-group v-model="checkList"> - <el-checkbox - v-for="(item, index) in checkboxlist" - :key="index" - :label="item.value" - > - {{ item.label }}</el-checkbox - > - </el-checkbox-group> - </el-form-item> - </el-form> - </div> - </div> - <div class="examine-jic"> - <div class="headline"> - <div>鍙橀噺鍖归厤閲忓弬</div> - </div> - <div class="examine-jic"> - <div class="jic-value"> - <el-row :gutter="20"> - <el-table :data="variableList" style="width: 100%"> - <el-table-column - prop="name" - align="center" - label="鍙橀噺鍚嶇О" - > - </el-table-column> - <el-table-column prop="value" align="center" label="鍖归厤绗�"> - </el-table-column> - <el-table-column label="鏇挎崲鍊�" align="center"> - <template slot-scope="scope"> - <el-input - :disabled="scope.row.default" - v-model="scope.row.fill" - placeholder="璇疯緭鍏ュ唴瀹�" - ></el-input> - </template> - </el-table-column> - <el-table-column label="鎿嶄綔" align="center"> - <template slot-scope="scope"> - <!-- <el-button - size="mini" - @click="variableEdit(scope.$index, scope.row)" - >缂栬緫</el-button - > --> - <el-button - size="mini" - type="danger" - @click="variableDelete(scope.$index, scope.row)" - >鍒犻櫎</el-button - > - </template> - </el-table-column> - </el-table> - </el-row> - </div> - </div> - </div> - </div> - <el-button type="success" @click="nextstep('ruleForm')">{{ - quote ? "绔嬪嵆鍒涘缓" : "浠诲姟璇︽儏閰嶇疆" - }}</el-button> - <el-button @click="resetForm('ruleForm')">閲嶇疆</el-button> - </div> - - <!-- 浠诲姟璇︽儏 --> - <div v-if="Editprogress == 2"> - <el-alert title="鍦ㄦ湰闃舵閫夋嫨瀹f暀鐥呬汉" type="success" effect="dark"> - </el-alert> - <div class="leftvlue-jbxx"> - <div class="examine-jic"> - <div class="headline"> - <div>鎮h�呭垪琛�</div> - </div> - <div class="examine-jic"> - <div class="jic-value"> - <el-row :gutter="20"> - <!--鐢ㄦ埛鏁版嵁--> - <!-- <el-form - :model="topqueryParams" - ref="queryForm" - size="small" - :inline="true" - v-show="showSearch" - label-width="98px" - > - <el-form-item label="鎮h�呭悕绉�"> - <el-input v-model="topqueryParams.name"></el-input> - </el-form-item> - - <el-form-item label="灏辫瘖绉戝"> - <el-input v-model="topqueryParams.deptName"></el-input> - </el-form-item> - <el-form-item> - <el-button - type="primary" - icon="el-icon-search" - size="medium" - @click="handleQuery" - >鎼滅储</el-button - > - <el-button - icon="el-icon-refresh" - size="medium" - @click="resetQuery" - >閲嶇疆</el-button - > - <el-button - icon="el-icon-upload2" - size="medium" - type="warning" - >褰撳墠鎮h�呬竴閿彂閫�</el-button - > - </el-form-item> - </el-form> --> - <!-- <el-divider></el-divider> --> - <el-row :gutter="10" class="mb8"> - <el-col :span="1.5"> - <el-select - v-model="patientqueryParams.allhosp" - placeholder="璇烽�夋嫨鏂板绫诲瀷" - > - <el-option - v-for="item in taskoptions" - :key="item.value" - :label="item.label" - :value="item.value" - > - </el-option> - </el-select> - </el-col> - <el-col :span="1.5"> - <el-button - type="primary" - plain - icon="el-icon-plus" - size="medium" - :disabled="!patientqueryParams.allhosp" - @click="handleAddpatient" - >鏂板</el-button - > - </el-col> - - <el-col :span="1.5"> - <el-button - type="danger" - plain - icon="el-icon-delete" - size="medium" - :disabled="multiple" - @click="handleDelete" - >鍒犻櫎</el-button - > - </el-col> - <el-col :span="1.5"> - <el-button - type="info" - plain - icon="el-icon-upload2" - size="medium" - @click="handleImport" - - >瀵煎叆</el-button - > - </el-col> - - <!-- <el-col :span="1.5"> </el-col> --> - </el-row> - <!-- 閫変腑鎮h�呭垪琛� --> - <SFtable - @details="detailhz" - @handleUpdate="handleUpdate" - :currentList="overallCase" - :tableLabel="tableLabelhzwb" - :serialnumber="false" - :searchTrue="true" - :multiplechoice="false" - :controlxz="false" - :typeinfo="2" - /> - <pagination - v-show="total > 0" - :total="total" - :page.sync="topqueryParams.pageNum" - :limit.sync="topqueryParams.pageSize" - @pagination="getList" - /> - </el-row> - </div> - </div> - </div> - </div> - <el-button type="primary" @click="laststep()">涓婁竴姝�</el-button> - <el-button type="success" @click="submitForm('ruleForm')">{{ - quote ? "绔嬪嵆鍒涘缓" : "纭浠诲姟閰嶇疆" - }}</el-button> - <el-button @click="resetForm('ruleForm')">閲嶇疆</el-button> - </div> - </div> - <!-- 娣诲姞鎮h�� --> - <el-dialog - title="閫夋嫨鎮h��" - :visible.sync="dialogVisiblepatient" - width="70%" - :before-close="handleClosehz" - :close-on-click-modal="false" - > - <div class="examine-jic"> - <div class="jic-value"> - <el-row :gutter="20"> - <!--鐢ㄦ埛鏁版嵁--> - <el-form - :model="patientqueryParams" - ref="queryForm" - size="small" - :inline="true" - v-show="showSearch" - label-width="98px" - > - <el-form-item label="鎮h�咃細"> - <el-input - v-model="patientqueryParams.name" - @keyup.enter.native="handleQuery" - ></el-input> - </el-form-item> - <el-select - v-model="patientqueryParams.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> - <el-button - type="primary" - icon="el-icon-search" - size="medium" - @click="handleQuery" - >鎼滅储</el-button - > - <el-button - icon="el-icon-refresh" - size="medium" - @click="resetQuery" - >鍙栨秷鍒涘缓</el-button - > - </el-form-item> - </el-form> - <!-- 閫夋嫨鎮h�呭垪琛� --> - <SFtable - ref="multipleTable" - @handleUpdate="handleUpdate" - @handleSelectionChange="handleSelectionChange" - :currentList="patientuserList" - :tableLabel="tableLabelhz" - :serialnumber="false" - :center="false" - :typeinfo="3" - /> - </el-row> - <pagination - v-show="patienttotal > 0" - :total="patienttotal" - :page.sync="patientqueryParams.pageNum" - :limit.sync="patientqueryParams.pageSize" - @pagination="handleAddpatient" - /> - </div> - </div> - <span slot="footer" class="dialog-footer"> - <el-button @click="dialogVisiblepatient = false">鍙� 娑�</el-button> - <el-button type="primary" @click="AddDispatchpatients" - >纭畾娣诲姞</el-button - > - </span> - </el-dialog> - <!-- 妯℃澘棰勮 --> - <el-dialog title="妯℃澘棰勮" :visible.sync="previewtf" width="60%"> - <div class="preview-left"> - <!-- 鍗曢�� --> - <div v-html="htmlRichText"></div> - </div> - <span slot="footer" class="dialog-footer"> - <!-- <el-button @click="previewGo">鍓嶅線妯℃澘璇︽儏淇敼</el-button> --> - <el-button type="primary" @click="previewFn">纭浣跨敤</el-button> - </span> - </el-dialog> - <!-- 鐢ㄦ埛瀵煎叆瀵硅瘽妗� --> - <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-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" - :disabled="upload.isUploading" - :on-progress="handleFileUploadProgress" - :on-success="handleFileSuccess" - 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> - <!-- <el-link - type="success" - :underline="false" - style="font-size: 24px; vertical-align: baseline" - href="http://m.qpic.cn/psc?/V50ZTolo1AIhq00dqrJP2169QM2VHGTU/ruAMsa53pVQWN7FLK88i5qfmCJclyMduqqL6kjE4h7TXDAjimVtmLmTyGVfF4qlkyOISsYQ4Mxx705X2tkXEIUPrfCS4L4yK.f11SmO8Tq0!/b&bo=twb0AgAAAAADB2U!&rf=viewer_4" - target="_blank" - > - 鏌ョ湅妯℃澘</el-link - > --> - </div> - </el-upload> - </div> - - <!-- 瀹屾垚 --> - <div class="drexamine" v-else-if="dractive == 2"> - <div style="display: flex"> - <img src="@/assets/images/瀵煎叆.png" /> - <p>瀵煎叆鎮h�呮垚鍔燂紒</p> - <p> - 鏈鎴愬姛瀵煎叆<span style="color: #72d3a9; font-size: 20px">{{ - uploadingData.length - }}</span - >浣嶆偅鑰� - </p> - </div> - - <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="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> - <el-table-column prop="createTime" width="200" 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 slot="footer"> - <el-button type="primary" @click="submitFileForm">{{ - dractive == 1 ? "涓嬩竴姝�" : "鍔犲叆浠诲姟" - }}</el-button> - <el-button @click="submitclose">鍙� 娑�</el-button> - </div> - </el-dialog> - <el-drawer - title="瀹f暀鍐呭鍒楄〃" - :visible.sync="drawermb" - direction="rtl" - size="50%" - > - <div class="headline"></div> - <div style="margin: 20px"> - <div class="jic-value"> - <el-row :gutter="20"> - <!--鐢ㄦ埛鏁版嵁--> - <el-form - :model="topqueryParams" - ref="queryForm" - size="small" - :inline="true" - v-show="showSearch" - label-width="98px" - > - <el-form-item label="瀹f暀鍚嶇О"> - <el-input v-model="topqueryParams.preachname"></el-input> - </el-form-item> - <el-form-item label="瀹f暀鍒嗙被" prop="region"> - <el-select - v-model="topqueryParams.assortid" - size="medium" - filterable - placeholder="璇烽�夋嫨鍒嗙被" - > - <el-option-group - v-for="group in sortlist" - :key="group.id" - :label="group.assortname" - > - <el-option - v-for="item in group.heLibraryAssortList" - :key="item.id" - :label="item.assortname" - :value="item.id" - > - </el-option> - </el-option-group> - </el-select> - </el-form-item> - - <!-- <el-form-item label="閫傜敤褰㈠紡" prop="status"> - <el-select v-model="topqueryParams.topica" placeholder="璇烽�夋嫨"> - <el-option - v-for="item in taskoptions" - :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.topicd" 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="Acquisitiontypeget" - >鎼滅储</el-button - > - <el-button - icon="el-icon-refresh" - size="medium" - @click="resetQuery" - >閲嶇疆</el-button - > - </el-form-item> - </el-form> - <el-divider></el-divider> - <!-- 閫夋嫨妯℃澘鍒楄〃 --> - <SFtable - @selectfn="selectfn" - :currentList="userList" - :tableLabel="tableLabel" - :serialnumber="false" - :controlsc="false" - :multiplechoice="false" - :typeinfo="1" - /> - <pagination - v-show="total > 0" - :total="total" - :page.sync="topqueryParams.pageNum" - :limit.sync="topqueryParams.pageSize" - @pagination="Acquisitiontypeget" - /> - </el-row> - </div> - </div> - </el-drawer> - </div> -</template> - -<script> -import { messagelistpatient } from "@/api/patient/homepage"; -import axios from "axios"; - -import store from "@/store"; -import { - getTaskpatient, - getlibrarylist, - getFollowuplist, - getQtemplatelist, - TaskQuestioncomit, - getTaskInfo, - gethetaskinfo, - delhetaskinfo, - Editsingletask, - getheLibraryAssort, -} from "@/api/AiCentre/index"; -import { listDept } from "@/api/system/dept"; -import { getToken } from "@/utils/auth"; -import SFtable from "@/components/SFtable"; //琛ㄦ牸缁勪欢 - -export default { - name: "ServiceDetails", - data() { - return { - title: "瀹f暀鍐呭鍒楄〃", - currenttype: 1, //1瀹f暀2闂ㄨ瘖3鍑洪櫌4澶嶈瘖5浣撴6闂嵎 - id: "", // - previewid: "", //浠诲姟妯℃澘浼犻�抜d - libName: "", - overallCase: [], //閫夋嫨鎮h�呮�� - allpids: [], - libId: null, //妯℃澘搴撴ā鏉縤d - Editprogress: 1, //缂栬緫杩涘害 - drawermb: false, //閫夋嫨妯℃澘寮圭獥 - previewtf: false, //棰勮 - loading: false, // 閬僵灞� - patientloading: false, // 閬僵灞� - dialogVisiblepatient: false, //娣诲姞鎮h�呭脊妗� - radio: 1, - checkboxlist: [], - // 绉戝/鐥呭尯 - belongWards: [], - belongWards: [], - tableLabel: [], - questionList: [], - uploadingData: [], - htmlRichText: "<p>Hello, <strong>world</strong>!</p>", - // 鎮h�呰〃鍗� - tableLabelhz: [ - { label: "鍑洪櫌鏃ユ湡", width: "150", prop: "inhosptime" }, - { label: "鎮h��", width: "", prop: "name" }, - { label: "韬唤璇�", width: "200", prop: "sfzh" }, - { label: "鎬у埆", width: "", prop: "sex" }, - { label: "骞撮緞", width: "", prop: "age" }, - { label: "璐d换鎶ゅ+", width: "", prop: "nurseName" }, - { label: "涓绘不鍖荤敓", width: "", prop: "drname" }, - { label: "绉戝", width: "240", prop: "dept" }, - { label: "鐥呭尯", width: "240", prop: "leavehospitaldistrictname" }, - ], - // 鎮h�呰〃鍗� - tableLabelhzwb: [ - { label: "鍑洪櫌鏃ユ湡", width: "150", prop: "endtime" }, - { label: "鎮h��", width: "", prop: "name" }, - { label: "韬唤璇�", width: "200", prop: "sfzh" }, - { label: "鎬у埆", width: "", prop: "sex" }, - { label: "骞撮緞", width: "", prop: "age" }, - { label: "璐d换鎶ゅ+", width: "", prop: "nurseName" }, - { label: "涓绘不鍖荤敓", width: "", prop: "drname" }, - { label: "绉戝", width: "180", prop: "deptName" }, - { label: "鐥呭尯", width: "150", prop: "leavehospitaldistrictname" }, - ], - - tableLabelxj: [ - { label: "鍒涘缓浜�", width: "", prop: "createBy" }, - { label: "瀹f暀鍚嶇О", width: "180", prop: "preachname" }, - { label: "瀹f暀鎻忚堪", width: "180", prop: "preachcontent" }, - // { label: "瀹f暀褰㈠紡", width: "", prop: "playType" }, - { label: "閫傜敤鏂瑰紡", width: "", prop: "suitway" }, - { label: "淇敼鏃ユ湡", width: "", prop: "uploadTime" }, - ], - // 鍙橀噺 - tableLabelvariable: [ - { label: "鍙橀噺鍚嶇О", width: "", prop: "variablename" }, - { label: "鍖归厤绗�", width: "", prop: "character" }, - { label: "鏇挎崲鍊�", width: "", prop: "Replacementvalue" }, - ], - preachform: [ - { label: "绾夸笅", value: 1 }, - { label: "鐢佃瘽", value: 2 }, - { label: "灏忕▼搴�", value: 3 }, - { label: "鐭俊", value: 4 }, - { label: "寰俊鍏紬", value: 5 }, - { label: "閽夐拤", value: 6 }, - { label: "鏅鸿兘鏈哄櫒浜�", value: 7 }, - ], - upload: { - // 鏄惁鏄剧ず寮瑰嚭灞傦紙鐢ㄦ埛瀵煎叆锛� - open: false, - // 寮瑰嚭灞傛爣棰橈紙鐢ㄦ埛瀵煎叆锛� - title: "", - // 鏄惁绂佺敤涓婁紶 - isUploading: false, - // 鏄惁鏇存柊宸茬粡瀛樺湪鐨勭敤鎴锋暟鎹� - updateSupport: 0, - // 璁剧疆涓婁紶鐨勮姹傚ご閮� - headers: { Authorization: "Bearer " + getToken() }, - // 涓婁紶鐨勫湴鍧� - url: process.env.VUE_APP_BASE_API + "/smartor/import/importPatInfo", - }, - //瀵煎叆杩涘害 - dractive: 1, - // 鏃堕棿澶勭悊 - daytime: [], //鏃ユ湡 - applydaytime: [], //璁$畻鏃ユ湡 - time1: "", //涓婂崍鏃堕棿娈� - time2: "", //涓嬪崍鏃堕棿娈� - time3: "", //鏅氫笂鏃堕棿娈� - time4: "", //鏅氫笂鏃堕棿娈� - topqueryParams: { - pageNum: 1, // - pageSize: 10, - }, - checkList: [], - deliverytopqueryParams: { - pageNum: 1, // - pageSize: 10, - }, - patientqueryParams: { - pageNum: 1, // - pageSize: 10, - }, - topicoptions: [{ children: [{ children: [] }] }], - showSearch: true, // - total: 0, // - sontotal: 0, // - patienttotal: 0, // - // 閫変腑鏁扮粍 - ids: [], - // 闈炲崟涓鐢� - single: true, - // 闈炲涓鐢� - multiple: true, - // 鐢ㄦ埛琛ㄦ牸鏁版嵁 - userList: [], //妯℃澘鍒楄〃 - patientuserList: [], //閫夋嫨鎮h�呭垪琛� - sonuserList: [], //閫変腑鎮h�呭垪琛� - delvariableList: [], //鍒犻櫎鍙橀噺涓存椂瀛樺偍 - variableList: [ - { - name: "濮撳悕", - value: "${name}", - fill: "娲惧彂鏃惰嚜鍔ㄥ尮閰�", - default: true, - }, - { - name: "鍦板潃", - value: "${dzz}", - fill: "娲惧彂鏃惰嚜鍔ㄥ尮閰�", - default: true, - }, - { - name: "鐢佃瘽", - value: "${dhh}", - fill: "娲惧彂鏃惰嚜鍔ㄥ尮閰�", - default: true, - }, - ], //鍙橀噺鍒楄〃 - transitionList: [ - { - name: "濮撳悕", - value: "${name}", - fill: "娲惧彂鏃惰嚜鍔ㄥ尮閰�", - default: true, - }, - { - name: "鍦板潃", - value: "${dzz}", - fill: "娲惧彂鏃惰嚜鍔ㄥ尮閰�", - default: true, - }, - { - name: "鐢佃瘽", - value: "${dhh}", - fill: "娲惧彂鏃惰嚜鍔ㄥ尮閰�", - default: true, - }, - ], - variableListTime: [], - sortlist: [], - tasktopic: null, //鏂板绫诲瀷 - SelectPatientslist: [], - form: { - patTaskRelevances: [], - sendType: 1, - templatename: "", - templateid: null, - libtemplateid: null, - kcb: "浜茬埍鐨勬偅鑰�-瀹跺睘锛屾偍濂斤紒鎴戜滑鏄禉涓尰澶т簩闄㈢殑鍖绘姢浜哄憳锛屼负浜嗘洿濂藉湴浜嗚В鎮ㄧ殑搴峰鎯呭喌锛岃鎮ㄦ娊涓�鐐瑰疂璐垫椂闂达紝瑙傜湅杩欎唤瀹f暀璧勮銆�", - jsy: "鐢熸椿涓婅鍔抽�哥粨鍚堬紝娉ㄦ剰浼戞伅鍜岃惀鍏伙紝閫傚綋閿荤偧锛屾垝鐑熼檺閰掞紝淇濇寔蹇冩儏鑸掔晠锛屽畾鏈熷璇娿�傞偅鏈瀹f暀鍐呭灏卞埌杩欓噷锛岀鎮ㄨ韩浣撳仴搴凤紒", - }, - taskoptions: [ - { - value: "1", - label: "鍑洪櫌鐥呬汉", - }, - { - value: "4", - label: "鍦ㄩ櫌鐥呬汉", - }, - { - value: "2", - label: "闂ㄨ瘖鐥呬汉", - }, - { - value: "3", - label: "浣撴鐥呬汉", - }, - ], - source: [ - { - value: 0, - label: "鎵�灞炴偅鑰�", - }, - { - value: 1, - label: "绉戝鎮h��", - }, - { - value: 2, - label: "鐥呭尯鎮h��", - }, - ], - quote: false, - }; - }, - components: { SFtable }, - - created() { - this.id = this.$route.query.id; - this.form.type = this.$route.query.type; - this.newadd = this.$route.query.newadd; - this.belongWards = store.getters.belongWards; - this.belongDepts = store.getters.belongDepts; - this.form.typename = this.$route.query.typename; - this.form.serviceType = Number(this.$route.query.serviceType); - this.listDept(); - this.Acquisitiontype(); - this.Getdetails(); - this.getheLibraryAssort(); - }, - - methods: { - // { - // 濮撳悕: { "${name}": "榫欏偛澶�" }, - // 鍦板潃: { "${dzz}": "榫欏" }, - // 鐢佃瘽: { "${dhh}": "鍏釜鍏�" }, - // } - // 鍙橀噺杞崲瀵硅薄杞暟缁� - convertFormat1ToFormat2(data) { - let result = []; - for (let key in data) { - let innerKey = Object.keys(data[key])[0]; - result.push({ - name: key, - value: innerKey, - fill: data[key][innerKey], - }); - } - return result; - }, - // 鏁扮粍杞璞� - convertFormat2ToFormat1(data) { - let result = {}; - data.forEach((item) => { - let innerObj = {}; - innerObj[item.value] = item.fill; - result[item.name] = innerObj; - }); - return result; - }, - Acquisitiontypeget() { - console.log(2211); - - getlibrarylist(this.topqueryParams).then((response) => { - this.userList = response.rows; - this.total = response.total; - }); - }, - // 鑾峰彇褰撳墠绫诲瀷 - Acquisitiontype() { - let queryParams = { - pageNum: this.topqueryParams.pageNum, - pageSize: this.topqueryParams.pageSize, - isavailable: "", - }; - this.currenttype = this.$route.query.type; - this.title = "瀹f暀鍐呭鍒楄〃"; - this.tableLabel = this.tableLabelxj; - if (this.form.serviceType == 4) { - this.checkboxlist = [ - { - value: "2", - label: "绾歌川", - }, - - { - value: "4", - label: "鐭俊", - }, - { - value: "5", - label: "寰俊鍏紬鍙�", - }, - { - value: "6", - label: "寰俊灏忕▼搴�", - }, - - { - value: "8", - label: "鏅鸿兘鏈哄櫒浜�", - }, - ]; - } else if (this.form.serviceType == 8) { - this.checkboxlist = [ - { - value: "4", - label: "鐭俊", - }, - { - value: "5", - label: "寰俊鍏紬鍙�", - }, - { - value: "6", - label: "寰俊灏忕▼搴�", - }, - - { - value: "8", - label: "鏅鸿兘鏈哄櫒浜�", - }, - { - value: "9", - label: "閽夐拤", - }, - ]; - } - getlibrarylist(queryParams).then((response) => { - this.userList = response.rows; - this.total = response.total; - }); - }, - nextstep() { - if (this.Editprogress <= 3) { - return this.Editprogress++; - } - }, - // 淇濆瓨 - submitForm(formName) { - this.form.preachform = this.checkList.join(","); - // this.formatFn(1); - if (!this.form.patTaskRelevances[0]) { - this.$modal.msgError("璇烽�夋嫨鐥呬汉"); - return; - } - if (!this.form.templatename) { - this.$modal.msgError("鏈�夋嫨妯℃澘"); - return; - } - const filteredArray = this.variableList.filter( - (item) => - item.name !== "濮撳悕" && item.name !== "鐢佃瘽" && item.name !== "鍦板潃" - ); - console.log(filteredArray, "瀛樺墠鍙橀噺"); - this.form.textParam = this.convertFormat2ToFormat1(filteredArray); - if (this.form.taskid) { - this.form.isoperation = 2; - } else { - this.form.isoperation = 1; - this.form.sendState=1; - } - if (!this.form.type) { - this.form.type = this.$route.query.type; - } - this.form.leaveldeptcodes = store.getters.belongDepts.map( - (obj) => obj.deptCode - ); - this.form.leavehospitaldistrictcodes = store.getters.belongWards.map( - (obj) => obj.districtCode - ); - Editsingletask(this.form).then((res) => { - if (res.code == 200) { - if (this.form.taskid) { - this.$modal.msgSuccess("鏂板鎴愬姛"); - } else { - this.$modal.msgSuccess("淇敼鎴愬姛"); - } - this.$router.push({ - path: "/followvisit/tasklist", - query: { tasktopic: this.form.serviceType }, - }); - } - }); - }, - // ----------------------琛ㄦ牸瀛愮粍浠朵簨浠� - // 閫夋嫨妯℃澘骞堕瑙� - selectfn(row, type) { - // 妯℃澘鎯呭喌涓嬭幏鍙栨ā鏉夸俊鎭� - this.libName = row.preachname; - this.htmlRichText = null; - this.libId = row.id; - console.log(row, "row"); - this.Tasktemplate = row; - this.previewtf = true; - this.previewid = row.svyid; - console.log(this.questionList, "questionList"); - // this.Variablehandling(row.svyLibScripts, 1); - console.log(row.htmlRichText); - axios - .get(row.htmlRichText) - .then((response) => { - console.log(response.data, "鏁版嵁"); // 杈撳嚭鑾峰彇鍒扮殑鏂囦欢鍐呭 - this.htmlRichText = response.data; - this.htmlRichText = this.addStyleToImages(this.htmlRichText); - }) - .catch((error) => { - this.$modal.msgError("鑾峰彇瀵屾枃鏈け璐�"); - console.error("Failed to fetch file:", error); - }); - }, - // 棰勮妯℃澘 - previewfnm() { - getlibrarylist({ id: this.form.libtemplateid }).then((res) => { - this.libName = res.rows[0].preachname; - this.htmlRichText = null; - this.libId = res.rows[0].id; - this.Tasktemplate = res.rows[0]; - this.previewtf = true; - this.previewid = res.rows[0].svyid; - axios - .get(res.rows[0].htmlRichText) - .then((response) => { - this.htmlRichText = response.data; - this.htmlRichText = this.addStyleToImages(this.htmlRichText); - }) - .catch((error) => { - this.$modal.msgError("鑾峰彇瀵屾枃鏈け璐�"); - console.error("Failed to fetch file:", error); - }); - }); - }, - addStyleToImages(html) { - return html.replace( - /<img([^>]*)style=(['"])(?:(?!\2).)*\2([^>]*)>/g, - '<img$1style="width:100%;height:auto;"$3>' - ); - }, - - // 瀛愪换鍔′簩绾у脊妗� - handleAddpatient(row) { - this.allpids = []; - this.overallCase.forEach((item) => { - this.allpids.push(item.patid); - }); - if (this.patientqueryParams.allhosp == 1) { - this.tableLabelhz = [ - { label: "鍑洪櫌鏃ユ湡", width: "150", prop: "endtime" }, - { label: "鎮h��", width: "", prop: "name" }, - { label: "韬唤璇�", width: "200", prop: "sfzh" }, - { label: "鎬у埆", width: "", prop: "sex" }, - { label: "骞撮緞", width: "", prop: "age" }, - { label: "璐d换鎶ゅ+", width: "", prop: "nurseName" }, - { label: "鍖荤敓", width: "", prop: "drname" }, - { label: "绉戝", width: "180", prop: "dept" }, - { label: "鐥呭尯", width: "150", prop: "leavehospitaldistrictname" }, - ]; - } else if (this.patientqueryParams.allhosp == 2) { - this.tableLabelhz = [ - { label: "搴忓彿", width: "", prop: "patid" }, - { label: "鎮h�呭悕绉�", width: "", prop: "name" }, - { label: "鎬у埆", width: "", prop: "sex" }, - { label: "骞撮緞", width: "", prop: "age" }, - { label: "璇婃柇", width: "", prop: "diagname" }, - { label: "灏辫瘖绉戝", width: "", prop: "deptName" }, - { label: "鍏ラ櫌鏃ユ湡", width: "", prop: "inhosptime" }, - { label: "鍒涘缓浜�", width: "", prop: "createBy" }, - ]; - } - if (this.allpids[0]) { - this.patientqueryParams.pids = this.allpids; - } else { - this.patientqueryParams.pids = null; - } - // 绫诲瀷鍒ゆ柇 - if (this.patientqueryParams.allhosp == 1) { - this.patientqueryParams.cry = 1; - } else if (this.patientqueryParams.allhosp == 4) { - this.patientqueryParams.cry = 0; - this.patientqueryParams.allhosp = "1"; - } - if (this.patientqueryParams.searchscope == 1) { - this.patientqueryParams.leaveldeptcodes = store.getters.belongDepts.map( - (obj) => obj.deptCode - ); - this.patientqueryParams.leavehospitaldistrictcodes = []; - } else if (this.patientqueryParams.searchscope == 2) { - this.patientqueryParams.leavehospitaldistrictcodes = - store.getters.belongWards.map((obj) => obj.districtCode); - this.patientqueryParams.leaveldeptcodes = []; - } else { - this.patientqueryParams.leaveldeptcodes = store.getters.belongDepts.map( - (obj) => obj.deptCode - ); - this.patientqueryParams.leavehospitaldistrictcodes = - store.getters.belongWards.map((obj) => obj.districtCode); - } - - getTaskpatient(this.patientqueryParams).then((response) => { - console.log(response); - this.patientuserList = response.rows; - this.patienttotal = response.total; - this.loading = false; - this.Restorecheck(); - }); - this.dialogVisiblepatient = true; - }, - handleUpdate() {}, - handleDelete() {}, - handleExport() {}, - - // 閫夋嫨鎮h�呰〃鏁版嵁 - handleSelectionChange(selection,type) { - console.log("澶氶�夋偅鑰�"); - this.SelectPatientslist = selection; - this.multiple = !selection.length; - - // 璧嬪�肩粰鏁翠綋閫変腑鏁扮粍 - this.SelectPatientslist.forEach((item) => { - const isExist = this.overallCase.find((obj) => obj.name == item.name); - if (!isExist) { - item.isoperation = 1; - item.patid = item.id; - if (item.idcardno) { - item.sfzh = item.idcardno; - } - if (type) { - item.hospType=type - }else{ - item.hospType = this.patientqueryParams.allhosp; - } - this.overallCase.push(item); - this.form.patTaskRelevances.push(item); - } - }); - }, - // 鍒囨崲椤靛悗鎭㈠閫変腑 - Restorecheck() { - console.log(this.overallCase, "this.overallCase"); - const allid = this.overallCase.map((item) => item.patid); - const overlap = this.patientuserList.filter((value) => { - return allid.includes(value.patid); - }); - // 淇濇寔ids鍜屽綋鍓嶉〉闈㈢殑鍚屾鎬� - this.SelectPatientslist = overlap; - console.log(this.SelectPatientslist, "杩涘叆鍒嗛〉SelectPatientslist"); - - this.toggleSelection(overlap); - }, - // 鎸傝浇閫夋嫨鐘舵�� - toggleSelection(rows) { - if (rows) { - this.decision = true; - this.$nextTick(() => { - rows.forEach((row) => { - this.$refs.multipleTable.toggleRowSelection(row, true); - }); - this.decision = false; - }); - console.log(123); - } else { - this.$refs.multipleTable.clearSelection(); - } - }, - // 鍒犻櫎閫変腑鎮h�� - detailhz(row, info) { - this.$modal - .confirm('鏄惁纭鍒犻櫎鎮h��"' + row.name + '"鐨勬湇鍔¢」锛�') - .then(() => { - let indexa = this.overallCase.indexOf(row); - let indexb = this.form.patTaskRelevances.indexOf(row); - this.overallCase.splice(indexa, 1); - this.form.patTaskRelevances[indexb].isoperation = 3; - this.$modal.msgSuccess("鍒犻櫎鎴愬姛"); - }); - }, - getList() {}, - handleQuery() { - this.handleAddpatient(); - }, - resetQuery() {}, - handleClosehz() { - this.dialogVisiblepatient = false; - }, - // 涓婁竴姝� - laststep() { - this.Editprogress--; - }, - // 鎻愪氦琛ㄥ崟 - resetForm(formName) { - this.$refs[formName].resetFields(); - }, - // 棰勮妯℃澘 - PreviewTemplate() {}, - Acknowledgereference() { - this.quote = true; - }, - // 鑾峰彇璇︽儏 - Getdetails() { - this.form = { - patTaskRelevances: [], - sendType: 1, - templatename: "", - templateid: null, - libtemplateid: null, - serviceType: Number(this.$route.query.serviceType), - kcb: "浜茬埍鐨勬偅鑰�-瀹跺睘锛屾偍濂斤紒鎴戜滑鏄禉涓尰澶т簩闄㈢殑鍖绘姢浜哄憳锛屼负浜嗘洿濂藉湴浜嗚В鎮ㄧ殑搴峰鎯呭喌锛岃鎮ㄦ娊涓�鐐瑰疂璐垫椂闂达紝瀹屾垚杩欎唤闅忚闂嵎銆�", - jsy: "鐢熸椿涓婅鍔抽�哥粨鍚堬紝娉ㄦ剰浼戞伅鍜岃惀鍏伙紝閫傚綋閿荤偧锛屾垝鐑熼檺閰掞紝淇濇寔蹇冩儏鑸掔晠锛屽畾鏈熷璇娿�傞偅鏈鍥炶灏卞埌杩欓噷锛岀鎮ㄨ韩浣撳仴搴凤紒", - }; - - if (this.id) { - getTaskInfo({ taskid: this.id }).then((res) => { - let filteredArray = ""; - console.log(2233); - if (res.code == 200) { - this.form = res.data; - - this.form.patTaskRelevances = this.form.patTaskRelevances - ? this.form.patTaskRelevances - : []; - this.overallCase = this.form.patTaskRelevances.concat(); - this.checkList = this.form.preachform.split(","); - console.log(this.form.showDate, "this.form"); - if (this.form.daytime) this.daytime = this.form.showDate.split(","); - console.log(this.newadd, "渚濈収"); - - if (this.form.showTimeMorn) { - if (this.form.sendType == 3) { - this.time4 = this.form.showTimeMorn; - } else { - this.time1 = this.form.showTimeMorn.split(","); - } - } - if (this.form.showTimeNoon) - this.time2 = this.form.showTimeNoon.split(","); - if (this.form.showTimeNight) - this.time3 = this.form.showTimeNight.split(","); - console.log(1122); - filteredArray = this.convertFormat1ToFormat2(this.form.textParam); - this.variableList = this.transitionList.concat(filteredArray); - } else { - this.$modal.msgError(res.code); - } - if (this.newadd) { - this.neWaddfn(); - } - }); - } - }, - // 渚濈収鏂板鏃跺鐞� - neWaddfn() { - this.id = null; - // this.form.taskName = ""; - this.form.taskid = null; - console.log("渚濈収"); - this.overallCase = []; - this.form.patTaskRelevances = []; - this.daytime = []; //鏃ユ湡 - this.applydaytime = []; //璁$畻鏃ユ湡 - this.time1 = ""; //涓婂崍鏃堕棿娈� - this.time2 = ""; //涓嬪崍鏃堕棿娈� - this.time3 = ""; //鏅氫笂鏃堕棿娈� - this.time4 = ""; //鏅氫笂鏃堕棿娈� - }, - getheLibraryAssort() { - // 瀹f暀鍒嗙被 - getheLibraryAssort({}).then((res) => { - this.sortlist = res.rows; - console.log(this.sortlist); - }); - }, - // 鑾峰彇绉戝鍒楄〃 - listDept() { - listDept().then((res) => { - this.topicoptions = this.handleTree(res.data, "deptId"); - console.log(this.topicoptions, "topicoptions"); - }); - }, - // 鏂板娲鹃�佹偅鑰� - AddDispatchpatients() { - // this.SelectPatientslist.forEach((item) => { - // item.isoperation = 1; - // }); - // this.form.patTaskRelevances.push(...this.SelectPatientslist); - // this.overallCase.push(...this.SelectPatientslist); - this.dialogVisiblepatient = false; - }, - - variableDelete(index, row) { - this.variableList.splice(index, 1); - row.isoperation = 3; - this.delvariableList.push(row); - console.log(index, row); - }, - // 鏃堕棿---------- - changeTime(row) { - console.log(row, "鏃堕棿"); - this.processingTime(); - }, - Totaldate(row) { - console.log(row, "鏃堕棿"); - this.form.sendTimeslot = [{ begantime: row, endtime: row, xh: 1 }]; - this.form.showTimeMorn = row; - console.log(this.form.sendTimeslot, "鏃堕棿"); - }, - changeTimeday(row) { - const startDate = new Date(row[0]); - const endDate = new Date(row[1]); - this.applydaytime = this.getDates(startDate, endDate); - this.processingTime(); - }, - getDates(startDate, endDate) { - const dates = []; - let currentDate = new Date(startDate); - - while (currentDate <= endDate) { - dates.push(this.$moment(currentDate).format("YYYY-MM-DD")); - currentDate.setDate(currentDate.getDate() + 1); - } - - return dates; - }, - // 鏃堕棿鏈�缁堝鐞嗘柟娉� - processingTime() { - const combinedData = []; - let serialnumber = 1; - if (this.time3[0]) { - serialnumber = 3; - } else if (this.time2[0]) { - serialnumber = 2; - } else if (this.time1[0]) { - serialnumber = 1; - } else { - return; - } - - for (let i = 0; i < this.applydaytime.length; i++) { - combinedData.push({ - begantime: `${this.applydaytime[i]} ${this.time1[0]}`, - endtime: `${this.applydaytime[i]} ${this.time1[1]}`, - xh: serialnumber * i + 1, - }); - if (serialnumber >= 2) { - combinedData.push({ - begantime: `${this.applydaytime[i]} ${this.time2[0]}`, - endtime: `${this.applydaytime[i]} ${this.time2[1]}`, - xh: serialnumber * i + 2, - }); - } - if (serialnumber >= 3) { - combinedData.push({ - begantime: `${this.applydaytime[i]} ${this.time3[0]}`, - endtime: `${this.applydaytime[i]} ${this.time3[1]}`, - xh: serialnumber * i + 3, - }); - } - } - this.form.sendTimeslot = combinedData; - // 灞曠ず鏁版嵁涓存椂瀛樺偍鏃ユ湡銆佹棭銆佷腑銆佹櫄 - - this.form.showDate = this.daytime.join(","); - if (this.time1) this.form.showTimeMorn = this.time1.join(","); - if (this.time2) this.form.showTimeNoon = this.time2.join(","); - if (this.time3) this.form.showTimeNight = this.time3.join(","); - console.log(combinedData, "combinedData"); - }, - // 鏌ョ湅妯℃澘 - previewGo() { - this.$router.push({ - path: "/knowledge/tpuconfigurat/", - query: { id: this.previewid, task: true, data: this.form }, - }); - }, - previewFn() { - this.Tasktemplate.id = null; - - this.Tasktemplate.templateid = this.libId; - this.Tasktemplate.isoperation = 1; - TaskQuestioncomit(this.Tasktemplate).then((response) => { - console.log(response); - this.previewtf = false; - this.form.templateid = response.data; - this.form.libtemplateid = this.libId; - this.form.templatename = this.libName; - this.$modal.msgSuccess("閫夋嫨妯℃澘鎴愬姛"); - }); - }, - // 澶勭悊鏈嶅姟褰㈠紡 - formatFn(type) { - console.log(this.preachform, "preachform"); - console.log(this.checkList, "checklist"); - let list = []; - let formlist = []; - if (type == 1) { - this.preachform.forEach((item) => { - this.checkList.forEach((obj) => { - if (item.label == obj) { - list.push(item.value); - } - }); - }); - console.log(list, "list"); - this.form.preachform = list.join(","); - } else { - console.log(this.form.preachform, "this.form.preachform"); - formlist = this.form.preachform.split(","); - console.log(11); - this.preachform.forEach((item) => { - formlist.forEach((obj) => { - if (item.value == obj) { - list.push(item.label); - } - }); - }); - this.checkList = list; - } - }, - /** 瀵煎叆鎸夐挳鎿嶄綔 */ - handleImport() { - this.upload.title = "鐢ㄦ埛瀵煎叆"; - this.upload.open = true; - }, - handleFileUploadProgress(event, file, fileList) { - this.upload.isUploading = true; - }, - // 鏂囦欢涓婁紶鎴愬姛澶勭悊 - handleFileSuccess(response, file, fileList) { - this.upload.isUploading = false; - this.uploadingData = response.rows; - - this.$refs.upload.clearFiles(); - }, - // 鎻愪氦涓婁紶鏂囦欢 - submitFileForm() { - // 涓婁紶 - if (this.dractive == 1) { - this.$refs.upload.submit(); - this.dractive++; - } else if (this.dractive == 2) { - this.handleSelectionChange(this.uploadingData,4); - this.upload.open = false; - this.dractive = 1 - } - }, - - /** 涓嬭浇妯℃澘鎿嶄綔 */ - importTemplate() { - this.download( - "smartor/import/getImportPatTemplate", - {}, - `user_template_${new Date().getTime()}.xlsx` - ); - }, - submitclose() { - this.upload.open = false; - this.dractive = 1; - }, - }, -}; -</script> - -<style lang="scss" scoped> -.Questionnairemanagement { -} -.leftvlue-jbxx { - margin-top: 10px; -} -.sidecolumn { - width: 100%; - // min-height: 12vh; - margin: 20px; - margin-bottom: 0; - 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); -} -.leftvlue { - // display: flex; - // flex: 1; - width: 100%; - margin-top: 20px; - // margin: 20px; - padding: 30px; - background: #ffff; - border: 1px solid #dcdfe6; - -webkit-box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.12), - 0 0 6px 0 rgba(0, 0, 0, 0.04); -} -.examine-jic { - .headline { - font-size: 24px; - border-left: 5px solid #41a1be; - padding-left: 5px; - margin-bottom: 10px; - display: flex; - justify-content: space-between; - .Add-details { - font-size: 18px; - color: #02a7f0; - cursor: pointer; - } - } - .jic-value { - font-size: 20px; - border-top: 1px solid #a7abac; - padding: 10px; - margin-bottom: 10px; - .details-jic { - padding: 10px 15px; - 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); - .details-title { - display: flex; - justify-content: space-between; - margin-bottom: 10px; - div:nth-child(2) { - color: #02a7f0; - cursor: pointer; - } - } - .details-renw { - background: #e4ebfc; - padding: 15px 5px; - border-radius: 5px; - margin-bottom: 20px; - } - } - } -} -// .leftvlue-jbxx { -// margin-bottom: 50px; -// font-size: 20px; -// span { -// position: absolute; -// right: 80px; -// } -// .demo-cascader { -// margin-right: 20px; -// } -// .PreviewTemplate { -// color: #02a7f0; -// cursor: pointer; -// font-size: 20px; -// margin: 0 20px; -// } -// } -.preview-left { - margin: 20px; - // margin: 20px; - padding: 30px; - background: #ffff; - border: 1px solid #dcdfe6; - -webkit-box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.12), - 0 0 6px 0 rgba(0, 0, 0, 0.04); - .topic-dev { - margin-bottom: 25px; - font-size: 20px !important; - .dev-text { - margin-bottom: 10px; - } - } -} -.jic-value { - font-size: 20px; - border-top: 1px solid #a7abac; - padding: 10px; - margin-bottom: 10px; - .details-jic { - padding: 10px 15px; - 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); - .details-title { - display: flex; - justify-content: space-between; - margin-bottom: 10px; - div:nth-child(2) { - color: #02a7f0; - cursor: pointer; - } - } - .details-renw { - background: #e4ebfc; - padding: 15px 5px; - border-radius: 5px; - margin-bottom: 20px; - } - } -} -.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: 20px; - background: #daeaf5; - img { - width: 50px; - height: 50px; - } -} -.button-textsc { - color: #28cfe6; -} -.button-textxg { - color: #de7897; -} -::v-deep .addtopic-input { - input { - background: #02a7f0; - color: #edf1f7; - width: 150px; - } -} -::v-deep.el-step.is-vertical .el-step__title { - font-size: 25px; -} -::v-deep.el-row { - margin-bottom: 10px; -} -// ::v-deep.el-input--medium { -// font-size: 24px !important; -// } -::v-deep.ruleFormaa.el-select { - display: inline-block; - position: relative; - width: 700px; -} -.el-select__tags { - font-size: 20px; - max-width: 888px !important; -} -::v-deep.el-radio__inner { - width: 22px; - height: 22px; -} -// ::v-deep.topic-dev.el-radio__label { -// font-size: 24px; -// } -::v-deep.el-radio-group { - span { - font-size: 24px; - } -} -::v-deep.el-input.is-disabled .el-input__inner { - background-color: #f5f7fa; - border-color: #dfe4ed; - color: rgb(253, 66, 66); - cursor: not-allowed; -} -::v-deep.el-checkbox-group { - span { - font-size: 24px; - } -} -</style> diff --git a/src/views/patient/propaganda/Missionotice.vue b/src/views/patient/propaganda/Missionotice.vue deleted file mode 100644 index 60a681c..0000000 --- a/src/views/patient/propaganda/Missionotice.vue +++ /dev/null @@ -1,720 +0,0 @@ -<template> - <div class="app-container"> - <el-row :gutter="20"> - <!--鐢ㄦ埛鏁版嵁--> - <el-form - :model="topqueryParams" - ref="queryForm" - size="small" - :inline="true" - v-show="showSearch" - label-width="98px" - > - <el-form-item label="浠诲姟鍚嶇О"> - <el-input v-model="topqueryParams.name"></el-input> - </el-form-item> - <el-form-item label="瀹℃牳浜�"> - <el-input v-model="topqueryParams.name"></el-input> - </el-form-item> - <el-form-item label="瀹℃牳鏃堕棿"> - <el-date-picker - v-model="dateRange" - style="width: 240px" - value-format="yyyy-MM-dd" - type="daterange" - range-separator="-" - start-placeholder="寮�濮嬫棩鏈�" - end-placeholder="缁撴潫鏃ユ湡" - ></el-date-picker> - </el-form-item> - <el-form-item label="閫氱煡绫诲瀷" prop="status"> - <el-select v-model="topqueryParams.topic" placeholder="璇烽�夋嫨"> - <el-option - v-for="item in topicoptions" - :key="item.value" - :label="item.label" - :value="item.value" - > - </el-option> - </el-select> - </el-form-item> - <el-form-item label="妯℃澘" prop="status"> - <el-select v-model="topqueryParams.topic" placeholder="璇烽�夋嫨"> - <el-option - v-for="item in topicoptions" - :key="item.value" - :label="item.label" - :value="item.value" - > - </el-option> - </el-select> - </el-form-item> - <el-form-item label="閫氱煡鐘舵��" prop="status"> - <el-select v-model="topqueryParams.topic" placeholder="璇烽�夋嫨"> - <el-option - v-for="item in topicoptions" - :key="item.value" - :label="item.label" - :value="item.value" - > - </el-option> - </el-select> - </el-form-item> - <el-form-item> - <el-button - type="primary" - icon="el-icon-search" - size="medium" - @click="handleQuery" - >鎼滅储</el-button - > - <el-button icon="el-icon-refresh" size="medium" @click="resetQuery" - >閲嶇疆</el-button - > - </el-form-item> - </el-form> - <el-divider></el-divider> - <el-row :gutter="10" class="mb8"> - <el-col :span="1.5"> - <el-button - type="primary" - plain - icon="el-icon-plus" - size="medium" - @click="handleAdd" - v-hasPermi="['system:user:add']" - >鏂板</el-button - > - </el-col> - <el-col :span="1.5"> - <el-button - type="success" - plain - icon="el-icon-edit" - size="medium" - :disabled="single" - @click="handleUpdate" - v-hasPermi="['system:user:edit']" - >淇敼</el-button - > - </el-col> - <el-col :span="1.5"> - <el-button - type="danger" - plain - icon="el-icon-delete" - size="medium" - :disabled="multiple" - @click="handleDelete" - v-hasPermi="['system:user:remove']" - >鍒犻櫎</el-button - > - </el-col> - <el-col :span="19"> - <div class="documentf"> - <div class="document"> - <el-button - type="warning" - plain - icon="el-icon-download" - size="medium" - @click="handleExport" - v-hasPermi="['system:user:export']" - >瀵煎嚭</el-button - > - </div> - </div> - </el-col> - <!-- <el-col :span="1.5"> </el-col> --> - </el-row> - <el-table - v-loading="loading" - :data="userList" - @selection-change="handleSelectionChange" - > - <el-table-column type="selection" width="50" align="center" /> - <el-table-column fixed label="搴忓彿" align="center" key="id" prop="id" /> - <el-table-column - label="濮撳悕" - fixed - align="center" - key="sendname" - prop="sendname" - /> - <el-table-column - label="闂ㄨ瘖鍙�/鐥呭巻鍙�" - align="center" - sortable - key="medicalRecordNo" - prop="medicalRecordNo" - width="150" - /> - - <el-table-column label="骞撮緞" align="center" key="age" prop="age" /> - <el-table-column label="搴婂彿" align="center" key="badNo" prop="badNo" /> - <el-table-column - label="绉戝/鐥呭尯" - align="center" - key="dept" - prop="dept" - width="120" - > - </el-table-column> - - <el-table-column - label="鐤剧梾鍚嶇О" - align="center" - key="icdName" - prop="icdName" - width="120" - :show-overflow-tooltip="true" - > - </el-table-column> - - <el-table-column - label="閫氱煡妯℃澘" - align="center" - key="templatename" - prop="templatename" - width="120" - > - </el-table-column> - <el-table-column - label="閫氱煡鏂瑰紡" - align="center" - key="serviceform" - prop="serviceform" - width="120" - > - </el-table-column> - <el-table-column - label="鎿嶄綔浜哄憳" - align="center" - key="operatePerson" - prop="operatePerson" - width="120" - /> - - <el-table-column - label="灏辫瘖鏃堕棿" - align="center" - key="visitTime" - prop="visitTime" - width="160" - > - </el-table-column> - <el-table-column - label="閫氱煡鏃堕棿" - align="center" - key="senddate" - prop="senddate" - width="160" - > - </el-table-column> - - <el-table-column - fixed="right" - label="浠诲姟璇︽儏" - align="center" - width="200" - class-name="small-padding fixed-width" - > - <template slot-scope="scope"> - <el-button - size="medium" - type="text" - @click="handleUpdate(scope.row)" - v-hasPermi="['system:user:edit']" - ><span class="button-xq" - ><i class="el-icon-s-data"></i>璇︽儏</span - ></el-button - > - <el-button - size="medium" - type="text" - @click="handleDelete(scope.row)" - v-hasPermi="['system:user:edit']" - ><span class="button-sc" - ><i class="el-icon-delete"></i>鍒犻櫎</span - ></el-button - > - </template> - </el-table-column> - </el-table> - - <pagination - v-show="total > 0" - :total="total" - :page.sync="topqueryParams.pageNum" - :limit.sync="topqueryParams.pageSize" - @pagination="getList" - /> - </el-row> - </div> -</template> - -<script> -import { - listUser, - getUser, - delUser, - addUser, - updateUser, - resetUserPwd, - changeUserStatus, -} from "@/api/system/user"; -import { - getTaskservelist, - getTaskInfo, - Editsingletask, -} from "@/api/AiCentre/index"; -import { gethetasklist, delhetaskinfo } from "@/api/AiCentre/index"; -import Treeselect from "@riophae/vue-treeselect"; -import "@riophae/vue-treeselect/dist/vue-treeselect.css"; - -export default { - name: "User", - dicts: ["sys_normal_disable", "sys_user_sex"], - components: { Treeselect }, - data() { - return { - // 閬僵灞� - loading: true, - // 閫変腑鏁扮粍 - ids: [], - // 闈炲崟涓鐢� - single: true, - // 闈炲涓鐢� - multiple: true, - // 鏄剧ず鎼滅储鏉′欢 - showSearch: true, - // 鎬绘潯鏁� - total: 0, - // 鐢ㄦ埛琛ㄦ牸鏁版嵁 - userList: null, - // 寮瑰嚭灞傛爣棰� - title: "鏂板闂ㄨ瘖閫氱煡", - - // 閮ㄩ棬鍚嶇О - deptName: undefined, - // 榛樿瀵嗙爜 - initPassword: undefined, - // 鏃ユ湡鑼冨洿 - dateRange: [], - // 宀椾綅閫夐」 - postOptions: [], - // 瑙掕壊閫夐」 - roleOptions: [], - dynamicTags: ["閫夐」涓�", "閫夐」浜�", "閫夐」涓�"], //閫夐」 - inputVisible: false, - inputValue: "", - previewVisible: false, //闂ㄨ瘖閫氱煡棰勮寮规 - radio: "", - radios: [], - previewtype: 2, //棰勮闂ㄨ瘖閫氱煡绫诲瀷 - total: 0, // 鎬绘潯鏁� - ImportQuantity: 999, //瀵奸棬璇婇�氱煡鏁伴噺 - //棰勮闂ㄨ瘖閫氱煡淇℃伅 - previewvalue: { - username: "杩欎釜鍖荤敓瀵逛綘鎬庝箞鏍�", - }, - value: [], - list: [], - loading: false, - states: ["Alabama", "North Dakota", "Ohio", "Oklahoma", "Oregon", ,], - pickerOptions: { - disabledDate(time) { - return time.getTime() > Date.now(); - }, - shortcuts: [ - { - text: "浠婂ぉ", - onClick(picker) { - picker.$emit("pick", new Date()); - }, - }, - { - text: "鏄ㄥぉ", - onClick(picker) { - const date = new Date(); - date.setTime(date.getTime() - 3600 * 1000 * 24); - picker.$emit("pick", date); - }, - }, - { - text: "涓�鍛ㄥ墠", - onClick(picker) { - const date = new Date(); - date.setTime(date.getTime() - 3600 * 1000 * 24 * 7); - picker.$emit("pick", date); - }, - }, - ], - }, - // 琛ㄥ崟鍙傛暟 - form: { - phonenumber: "", - totagid: "", - types: "", - nickName: "", - qystatus: "", - btstatus: "", - }, - // 鏌ヨ鍙傛暟 - topqueryParams: { - pageNum: 1, - pageSize: 10, - type: 1, - }, - propss: { multiple: true }, - options: [], - - topicoptions: [ - { - value: 1, - label: "寰呭鏍�", - }, - { - value: 2, - label: "鎵ц涓�", - }, - { - value: 3, - label: "鎵ц瀹屾垚", - }, - { - value: 4, - label: "宸插仠姝�", - }, - ], - // 琛ㄥ崟鏍¢獙 - rules: { - userName: [ - { required: true, message: "鐢ㄦ埛鍚嶇О涓嶈兘涓虹┖", trigger: "blur" }, - { - min: 2, - max: 20, - message: "鐢ㄦ埛鍚嶇О闀垮害蹇呴』浠嬩簬 2 鍜� 20 涔嬮棿", - trigger: "blur", - }, - ], - nickName: [ - { required: true, message: "鐢ㄦ埛鏄电О涓嶈兘涓虹┖", trigger: "blur" }, - ], - password: [ - { required: true, message: "鐢ㄦ埛瀵嗙爜涓嶈兘涓虹┖", trigger: "blur" }, - { - min: 5, - max: 20, - message: "鐢ㄦ埛瀵嗙爜闀垮害蹇呴』浠嬩簬 5 鍜� 20 涔嬮棿", - trigger: "blur", - }, - ], - email: [ - { - type: "email", - message: "璇疯緭鍏ユ纭殑閭鍦板潃", - trigger: ["blur", "change"], - }, - ], - phonenumber: [ - { - pattern: /^1[3|4|5|6|7|8|9][0-9]\d{8}$/, - message: "璇疯緭鍏ユ纭殑鎵嬫満鍙风爜", - trigger: "blur", - }, - ], - IDnumber: [ - { - pattern: - /^\d{6}((((((19|20)\d{2})(0[13-9]|1[012])(0[1-9]|[12]\d|30))|(((19|20)\d{2})(0[13578]|1[02])31)|((19|20)\d{2})02(0[1-9]|1\d|2[0-8])|((((19|20)([13579][26]|[2468][048]|0[48]))|(2000))0229))\d{3})|((((\d{2})(0[13-9]|1[012])(0[1-9]|[12]\d|30))|((\d{2})(0[13578]|1[02])31)|((\d{2})02(0[1-9]|1\d|2[0-8]))|(([13579][26]|[2468][048]|0[048])0229))\d{2}))(\d|X|x)$/, - message: "璇疯緭鍏ユ纭殑韬唤璇佸彿鐮�", - trigger: "blur", - }, - ], - }, - }; - }, - watch: {}, - created() { - this.getList(); - this.getConfigKey("sys.user.initPassword").then((response) => { - this.initPassword = response.msg; - }); - }, - // 鎼滅储 - mounted() { - this.list = this.states.map((item) => { - return { value: `value:${item}`, label: `label:${item}` }; - }); - }, - methods: { - /** 鏌ヨ闂ㄨ瘖閫氱煡鍒楄〃 */ - getList() { - this.loading = true; - getTaskservelist(this.topqueryParams).then((response) => { - this.userList = response.rows; - this.total = response.total; - this.loading = false; - }); - }, - // 鏌ョ湅闂ㄨ瘖閫氱煡璇︽儏 - Referencequestion(row) { - this.previewVisible = true; - }, - // 娣诲姞寮规鎼滅储 - remoteMethod(query) { - if (query !== "") { - this.loading = true; - setTimeout(() => { - this.loading = false; - this.options = this.list.filter((item) => { - return item.label.toLowerCase().indexOf(query.toLowerCase()) > -1; - }); - }, 200); - } else { - this.options = []; - } - }, - // 闂ㄨ瘖閫氱煡鐘舵�佷慨鏀� - handleStatusChange(row) { - let text = row.status === "0" ? "鍚敤" : "鍋滅敤"; - this.$modal - .confirm('纭瑕�"' + text + '""' + row.userName + '"鐢ㄦ埛鍚楋紵') - .then(function () { - return changeUserStatus(row.id, row.status); - }) - .then(() => { - this.$modal.msgSuccess(text + "鎴愬姛"); - }) - .catch(function () { - row.status = row.status === "0" ? "1" : "0"; - }); - }, - // 鍙栨秷鎸夐挳 - cancel() { - this.addalteropen = false; - this.reset(); - }, - // 琛ㄥ崟閲嶇疆 - reset() { - this.form = { - id: undefined, - deptId: undefined, - userName: undefined, - nickName: undefined, - password: undefined, - phonenumber: undefined, - email: undefined, - sex: undefined, - status: "0", - remark: undefined, - postIds: [], - roleIds: [], - }; - this.resetForm("form"); - }, - /** 鎼滅储鎸夐挳鎿嶄綔 */ - handleQuery() { - this.topqueryParams.pageNum = 1; - this.getList(); - }, - /** 閲嶇疆鎸夐挳鎿嶄綔 */ - resetQuery() { - this.dateRange = []; - this.resetForm("queryForm"); - this.topqueryParams.deptId = undefined; - this.$refs.tree.setCurrentKey(null); - this.handleQuery(); - }, - // 澶氶�夋閫変腑鏁版嵁 - handleSelectionChange(selection) { - this.ids = selection.map((item) => item.userId); - this.single = selection.length != 1; - this.multiple = !selection.length; - }, - //鍒犻櫎閫夐」 - handleClose(tag) { - this.dynamicTags.splice(this.dynamicTags.indexOf(tag), 1); - }, - //瑙﹀彂鏂板杈撳叆 - showInput() { - this.inputVisible = true; - this.$nextTick((_) => { - this.$refs.saveTagInput.$refs.input.focus(); - }); - }, - //鑾峰彇澶卞幓鐒︾偣瑙﹀彂 - handleInputConfirm() { - let inputValue = this.inputValue; - if (inputValue) { - this.dynamicTags.push(inputValue); - } - this.inputVisible = false; - this.inputValue = ""; - }, - /** 鏂板鎸夐挳鎿嶄綔 */ - handleAdd() { - this.$router.push({ - path: "/followvisit/Missioncreation", - query: { - type: 1, - serviceType:8, - }, - }); - }, - /** 淇敼鎸夐挳鎿嶄綔 */ - handleUpdate(row) { - this.$router.push({ - path: "/followvisit/record/detailpage/", - query: { id: "1", type: row.hosptype }, - }); - }, - /** 鍒犻櫎鎸夐挳鎿嶄綔 */ - handleDelete(row) { - const userIds = row.id || this.ids; - this.$modal - .confirm('鏄惁纭鍒犻櫎鐢ㄦ埛缂栧彿涓�"' + ids + '"鐨勬暟鎹」锛�') - .then(function () { - return delhetaskinfo(ids); - }) - .then(() => { - this.getList(); - this.$modal.msgSuccess("鍒犻櫎鎴愬姛"); - }) - .catch(() => {}); - }, - /** 瀵煎嚭鎸夐挳鎿嶄綔 */ - handleExport() { - this.download( - "system/user/export", - { - ...this.topqueryParams, - }, - `user_${new Date().getTime()}.xlsx` - ); - }, - }, -}; -</script> - -<style lang="scss" scoped> -.el-button--primary.is-plain { - color: #ffffff; - background: #409eff; - border-color: #4fabe9; -} - -.document { - width: 100px; - height: 50px; -} - -.documentf { - display: flex; - justify-content: flex-end; -} - -.download { - text-align: center; - - .el-upload__tip { - font-size: 23px; - } - - .el-upload__text { - font-size: 23px; - } -} - -.uploading { - margin-top: 20px; - margin: 20px; - padding: 30px; - background: #ffffff; - border: 1px solid #dcdfe6; - -webkit-box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.12), - 0 0 6px 0 rgba(0, 0, 0, 0.04); -} - -.el-tag + .el-tag { - margin-left: 10px; -} - -.button-new-tag { - margin-left: 10px; - height: 32px; - line-height: 30px; - padding-top: 0; - padding-bottom: 0; -} - -.input-new-tag { - width: 90px; - margin-left: 10px; - vertical-align: bottom; -} - -.drexamine { - display: flex; - align-items: center; - justify-content: center; - padding: 30px; - background: #daeaf5; - - img { - width: 100px; - height: 100px; - } -} - -.qrcode-dialo { - // text-align: center; - // display: flex; - margin: 20px; - padding: 30px; - background: #edf1f7; - border: 1px solid #dcdfe6; - -webkit-box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.12), - 0 0 6px 0 rgba(0, 0, 0, 0.04); - - .topic-dev { - margin-bottom: 25px; - font-size: 20px !important; - - .dev-text { - margin-bottom: 10px; - } - } -} -.button-bb { - font-weight: 500; - color: #2ba05c; -} -.button-xq { - font-weight: 500; - color: #409eff; -} -.button-sc { - font-weight: 500; - color: #dd302a; -} -.button-zx { - background: #4fabe9; - padding: 5px; - border-radius: 1px; - color: #ffffff; -} - -::v-deep.el-radio-group { - span { - font-size: 24px; - } -} - -::v-deep.el-checkbox-group { - span { - font-size: 24px; - } -} -</style> diff --git a/src/views/patient/propaganda/QuestionnaireTask.vue b/src/views/patient/propaganda/QuestionnaireTask.vue deleted file mode 100644 index 1506a6f..0000000 --- a/src/views/patient/propaganda/QuestionnaireTask.vue +++ /dev/null @@ -1,2236 +0,0 @@ -<template> - <div class="Questionnairemanagement"> - <!-- 涓婁晶鏍� --> - <div class="sidecolumn"> - <div> - <el-steps simple :active="Editprogress"> - <el-step - icon="el-icon-edit" - title="鍩虹淇℃伅" - description="閫夋嫨妯℃澘銆佸舰寮忕瓑鍩虹淇℃伅" - ></el-step> - <el-step - icon="el-icon-user" - title="浠诲姟涓讳綋" - description="鍦ㄦ湰閮ㄩ�夋嫨鏈嶅姟鎮h��" - ></el-step> - </el-steps> - </div> - </div> - <!-- 涓嬩晶鏁版嵁 --> - <div class="leftvlue" style="margin: 0 20px"> - <!-- 鍩烘湰淇℃伅 --> - <div v-if="Editprogress == 1"> - <el-alert title="閫夋嫨妯℃澘銆佸舰寮忕瓑鍩虹淇℃伅" type="success" effect="dark"> - </el-alert> - <div class="leftvlue-jbxx"> - <!-- 鍩虹淇℃伅 --> - <div class="examine-jic"> - <div class="headline"> - <div>鍩虹淇℃伅</div> - </div> - <div class="jic-value"> - <el-form - ref="form" - :model="form" - :rules="rules" - label-width="125px" - > - <el-row :gutter="20"> - <el-col :span="12" - ><el-form-item label="浠诲姟鍚嶇О" prop="taskName"> - <el-input - style="width: 220px" - v-model="form.taskName" - placeholder="璇疯緭鍏ヤ换鍔″悕绉�" - /> </el-form-item - ></el-col> - <el-col :span="12" - ><el-form-item label="浠诲姟绫诲瀷"> - <el-select - v-model="serviceType" - placeholder="璇烽�夋嫨鏂板绫诲瀷" - > - <el-option - v-for="item in tasktypes" - :key="item.value" - :label="item.label" - :value="item.value" - > - </el-option> - </el-select> </el-form-item - ></el-col> - </el-row> - - <el-form-item label="浠诲姟鎻忚堪" prop="taskDesc"> - <el-input - type="textarea" - v-model="form.taskDesc" - placeholder="璇疯緭鍏ヤ换鍔℃弿杩�" - /> - </el-form-item> - <el-form-item label="鏈嶅姟褰㈠紡"> - <el-checkbox-group v-model="checkList"> - <el-checkbox - v-for="(item, index) in checkboxlist" - :key="index" - :label="item.value" - :disabled="!item.disabled" - > - {{ item.label }}</el-checkbox - > - </el-checkbox-group> - </el-form-item> - <el-form-item label="鏄惁闀挎湡" prop="longTask"> - <el-radio-group v-model="form.longTask"> - <el-radio :label="0">鏅�氫换鍔�</el-radio> - <el-radio :label="1">闀挎湡浠诲姟</el-radio> - </el-radio-group> - </el-form-item> - <el-form-item - label="鎵ц璁剧疆" - prop="sendType" - v-if="!form.longTask" - > - <el-radio-group v-model="form.sendType"> - <el-radio :label="1">鏃堕棿娈垫墽琛�</el-radio> - <el-radio :label="3">鏃堕棿鐐规墽琛�</el-radio> - <el-radio :label="2">鍗冲埢鎵ц</el-radio> - </el-radio-group> - </el-form-item> - <el-form-item - label="鎵ц鏃ユ湡" - v-if="form.sendType == 1 && !form.longTask" - prop="daytime" - > - <el-date-picker - v-model="daytime" - @change="changeTimeday" - type="daterange" - range-separator="鑷�" - start-placeholder="寮�濮嬫棩鏈�" - end-placeholder="缁撴潫鏃ユ湡" - value-format="yyyy-MM-dd" - > - </el-date-picker> - </el-form-item> - - <el-form-item - label="鎵ц鏃堕棿鐐�" - v-if="form.sendType == 3 && !form.longTask" - prop="daytime" - > - <div style="display: flex"> - <div style="margin-right: 10px"> - <el-date-picker - v-model="time4" - value-format="yyyy-MM-dd HH:mm:ss" - @change="Totaldate" - type="datetime" - placeholder="閫夋嫨鏃ユ湡鏃堕棿" - > - </el-date-picker> - </div> - </div> - </el-form-item> - - <el-form-item - label="鎵ц鏃堕棿娈�" - v-if="form.sendType == 1 && !form.longTask" - prop="daytime" - > - <div style="display: flex"> - <div style="margin-right: 10px"> - <span style="font-size: 18px; margin-right: 10px">鈶�</span> - <el-time-picker - is-range - arrow-control - @change="changeTime" - v-model="time1" - range-separator="鑷�" - start-placeholder="寮�濮嬫椂闂�" - end-placeholder="缁撴潫鏃堕棿" - placeholder="閫夋嫨鏃堕棿鑼冨洿" - value-format="HH:mm:ss" - > - </el-time-picker> - </div> - <div style="margin-right: 10px"> - <span style="font-size: 18px; margin-right: 10px">鈶�</span> - <el-time-picker - is-range - arrow-control - @change="changeTime" - v-model="time2" - range-separator="鑷�" - start-placeholder="寮�濮嬫椂闂�" - end-placeholder="缁撴潫鏃堕棿" - placeholder="閫夋嫨鏃堕棿鑼冨洿" - value-format="HH:mm:ss" - > - </el-time-picker> - </div> - <div style="margin-right: 10px"> - <span style="font-size: 18px; margin-right: 10px">鈶�</span> - <el-time-picker - is-range - arrow-control - @change="changeTime" - v-model="time3" - range-separator="鑷�" - start-placeholder="寮�濮嬫椂闂�" - end-placeholder="缁撴潫鏃堕棿" - placeholder="閫夋嫨鏃堕棿鑼冨洿" - value-format="HH:mm:ss" - > - </el-time-picker> - </div> - </div> - </el-form-item> - <el-row> - <el-col :span="20" - ><el-form-item label="閫傜敤绉戝" prop="region"> - <el-select - v-model="form.deptcode" - style="width: 400px" - size="medium" - filterable - placeholder="璇烽�夋嫨绉戝" - > - <el-option - class="ruleFormaa" - v-for="item in belongDepts" - :key="item.deptCode" - :label="item.deptName" - :value="item.deptCode" - > - </el-option> - </el-select> </el-form-item - ></el-col> - </el-row> - <el-row> - <el-col :span="20" - ><el-form-item label="閫傜敤鐥呭尯" prop="region"> - <!-- <el-cascader - style="width: 400px" - v-model="form.leavehospitaldistrictcode" - :options="topicoptions" - :props="propstask" - :show-all-levels="false" - clearable - > - <template slot-scope="{ node, data }"> - <span>{{ data.deptName }}</span> - <span v-if="!node.isLeaf"> - ({{ data.children.length }}) - </span> - </template> - </el-cascader> --> - <el-select - v-model="form.leavehospitaldistrictcode" - style="width: 400px" - size="medium" - filterable - placeholder="璇烽�夋嫨鐥呭尯" - > - <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> - <el-col :span="12" - ><el-form-item label="寮�鍦虹櫧" prop="kcb"> - <el-input - type="textarea" - :rows="3" - v-model="form.kcb" - placeholder="璇疯緭鍏ュ紑鍦虹櫧" - /> </el-form-item - ></el-col> - <el-col :span="12" - ><el-form-item label="缁撴潫璇�" prop="jsy"> - <el-input - type="textarea" - :rows="3" - v-model="form.jsy" - placeholder="璇疯緭鍏ョ粨鏉熻" - /> </el-form-item - ></el-col> - </el-row> - </el-form> - </div> - </div> - <div class="examine-jic"> - <div class="headline"> - <div>浠诲姟浣跨敤妯℃澘</div> - <div style="margin-left: 20px"> - <el-form ref="forms"> - <el-form-item label=""> - <el-input - style="width: 300px" - :disabled="true" - v-model="form.templatename" - placeholder="璇风偣鍑诲彸渚ч�夋嫨" - /> - <el-button - style="margin-left: 10px" - type="primary" - icon="el-icon-edit" - @click="drawermb = true" - circle - ></el-button> - - <el-button - v-if="form.templatename" - type="success" - icon="el-icon-search" - @click="previewfnmb" - circle - ></el-button> - </el-form-item> - </el-form> - </div> - </div> - - <div class="examine-jic"> - <div class="jic-value"> - <div style="margin-bottom: 10px">妯℃澘涓娇鐢ㄧ殑鍙橀噺锛�</div> - - <el-row :gutter="20"> - <el-table :data="variableList" style="width: 100%"> - <el-table-column - prop="name" - align="center" - label="鍙橀噺鍚嶇О" - > - </el-table-column> - <el-table-column prop="value" align="center" label="鍖归厤绗�"> - </el-table-column> - <el-table-column label="鏇挎崲鍊�" align="center"> - <template slot-scope="scope"> - <el-input - :disabled="scope.row.default" - v-model="scope.row.fill" - placeholder="璇疯緭鍏ュ唴瀹�" - ></el-input> - </template> - </el-table-column> - <el-table-column label="鎿嶄綔" align="center"> - <template slot-scope="scope"> - <!-- <el-button - size="mini" - @click="variableEdit(scope.$index, scope.row)" - >缂栬緫</el-button - > --> - <el-button - size="mini" - type="danger" - @click="variableDelete(scope.$index, scope.row)" - >鍒犻櫎</el-button - > - </template> - </el-table-column> - </el-table> - </el-row> - </div> - </div> - </div> - </div> - <el-button type="success" @click="nextstep('ruleForm')">{{ - quote ? "绔嬪嵆鍒涘缓" : "浠诲姟璇︽儏閰嶇疆" - }}</el-button> - <el-button @click="resetForm('ruleForm')">閲嶇疆</el-button> - </div> - <!-- 浠诲姟璇︽儏 --> - <div v-if="Editprogress == 2"> - <el-alert title="鍦ㄦ湰闃舵閫夋嫨瀹f暀鐥呬汉" type="success" effect="dark"> - </el-alert> - <div class="leftvlue-jbxx"> - <div class="examine-jic"> - <div class="headline"> - <div>鎮h�呭垪琛�</div> - </div> - <div class="examine-jic"> - <div class="jic-value"> - <el-row :gutter="20"> - <el-row :gutter="10" class="mb8"> - <el-col :span="1.5"> - <el-select - v-model="patientqueryParams.allhosp" - placeholder="璇烽�夋嫨鏂板绫诲瀷" - > - <el-option - v-for="item in taskoptions" - :key="item.value" - :label="item.label" - :value="item.value" - > - </el-option> - </el-select> - </el-col> - - <el-col :span="1.5"> - <el-button - type="primary" - plain - icon="el-icon-plus" - size="medium" - :disabled="!patientqueryParams.allhosp" - @click="handleQuery" - >鏂板</el-button - > - </el-col> - - <!-- <el-col :span="1.5"> - <el-button - type="danger" - plain - icon="el-icon-delete" - size="medium" - :disabled="multiple" - @click="handleDelete" - >鍒犻櫎</el-button - > - </el-col> --> - - <!-- <el-col :span="1.5"> </el-col> --> - </el-row> - <!-- 閫変腑鎮h�呭垪琛� --> - <SFtable - @details="detailhz" - @handleUpdate="handleUpdate" - :currentList="overallCase" - :tableLabel="tableLabelhzwb" - :serialnumber="false" - :searchTrue="true" - :multiplechoice="false" - :controlxz="false" - :typeinfo="2" - /> - <pagination - v-show="total > 0" - :total="total" - :page.sync="topqueryParams.pageNum" - :limit.sync="topqueryParams.pageSize" - @pagination="getList" - /> - </el-row> - </div> - </div> - </div> - </div> - <el-button type="primary" @click="laststep()">涓婁竴姝�</el-button> - <el-button type="success" @click="submitForm('ruleForm')">{{ - quote ? "绔嬪嵆鍒涘缓" : "纭浠诲姟閰嶇疆" - }}</el-button> - <el-button @click="resetForm('ruleForm')">閲嶇疆</el-button> - </div> - </div> - <!-- 娣诲姞鎮h�� --> - <el-dialog - title="閫夋嫨鎮h��" - :visible.sync="dialogVisiblepatient" - width="70%" - :before-close="handleClosehz" - :close-on-click-modal="false" - > - <div class="examine-jic"> - <div class="jic-value"> - <el-row :gutter="20"> - <!--鐢ㄦ埛鏁版嵁--> - <el-form - :model="patientqueryParams" - ref="queryForm" - size="small" - :inline="true" - v-show="showSearch" - label-width="98px" - > - <el-form-item label="鎮h�咃細"> - <el-input - v-model="patientqueryParams.name" - @keyup.enter.native="handleQuery" - ></el-input> - </el-form-item> - <el-select - v-model="patientqueryParams.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> - <el-button - type="primary" - icon="el-icon-search" - size="medium" - @click="handleQuery" - >鎼滅储</el-button - > - <el-button - icon="el-icon-refresh" - size="medium" - @click="resetQuery" - >鍙栨秷鍒涘缓</el-button - > - </el-form-item> - </el-form> - <!-- 閫夋嫨鎮h�呭垪琛� --> - <SFtable - ref="multipleTable" - @handleUpdate="handleUpdate" - @handleSelectionChange="handleSelectionChange" - :currentList="patientuserList" - :tableLabel="tableLabelhz" - :serialnumber="false" - :center="false" - :typeinfo="3" - /> - </el-row> - <pagination - v-show="patienttotal > 0" - :total="patienttotal" - :page.sync="patientqueryParams.pageNum" - :limit.sync="patientqueryParams.pageSize" - @pagination="handleAddpatient" - /> - </div> - </div> - <span slot="footer" class="dialog-footer"> - <el-button @click="dialogVisiblepatient = false">鍙� 娑�</el-button> - <el-button type="primary" @click="AddDispatchpatients" - >纭畾娣诲姞</el-button - > - </span> - </el-dialog> - <!-- 妯℃澘棰勮 --> - <el-dialog title="妯℃澘棰勮" :visible.sync="previewtf" width="70%"> - <el-tabs type="border-card"> - <el-tab-pane label="妯℃澘鍩虹鏁版嵁" - ><div class="preview-left"> - <el-form :model="objyl" label-width="100px" class="demo-objyl"> - <el-row :gutter="10"> - <el-col :span="14"> - <el-form-item label="闂嵎鍒嗙被" prop="categoryid"> - <el-select - v-model="objyl.categoryid" - size="medium" - filterable - placeholder="璇烽�夋嫨鍒嗙被" - > - <el-option-group - v-for="group in optionsclass" - :key="group.id" - :label="group.name" - > - <el-option - v-for="item in group.svyLibTemplateCategoryList" - :key="item.id" - :label="item.name" - :value="item.id" - > - </el-option> - </el-option-group> - </el-select> - </el-form-item> - </el-col> - <el-col :span="10"> - <el-form-item label="璇勪环绫诲瀷" prop="scoreType"> - <el-select - v-model="objyl.scoreType" - placeholder="璇烽�夋嫨鍒嗙被" - > - <el-option - v-for="group in appraiselist" - :key="group.value" - :label="group.label" - :value="group.value" - > - </el-option> - </el-select> - </el-form-item> - </el-col> - </el-row> - <el-row :gutter="20"> - <el-col :span="14"> - <el-form-item label="鍙敤鐘舵��" prop="isenable"> - <el-radio-group v-model="objyl.isenable"> - <el-radio - v-for="(item, index) in usable" - :label="item.value" - >{{ item.label }}</el-radio - > - </el-radio-group> - </el-form-item> - </el-col> - <el-col :span="8"> - <el-form-item label="鐗堟湰鍙�" prop="name"> - <el-input - v-model="objyl.version" - placeholder="榛樿1.0" - ></el-input> - </el-form-item> - </el-col> - </el-row> - <el-form-item label="闂嵎鏍囬" prop="svyname"> - <div style="width: 400px"> - <el-input v-model="objyl.svyname"></el-input> - </div> - </el-form-item> - <el-form-item label="闂嵎鏂瑰紡" prop="suitway"> - <el-select - style="width: 400px" - v-model="objyl.suitway" - size="medium" - multiple - filterable - placeholder="璇烽�夋嫨鍒嗙被" - > - <el-option - class="ruleFormaa" - v-for="item in mode" - :key="item.value" - :label="item.label" - :value="item.value" - > - </el-option> - </el-select> - </el-form-item> - <el-row :gutter="20" v-if="form.longTask"> - <el-col :span="14"> - <el-form-item label="闀挎湡浠诲姟" prop="longTemp"> - <el-radio-group v-model="objyl.longTemp"> - <el-radio - v-for="(item, index) in longtype" - :label="item.value" - >{{ item.label }}</el-radio - > - </el-radio-group> - </el-form-item> - </el-col> - <el-col :span="8"> - <el-form-item label="浠诲姟鍛ㄦ湡" prop="name"> - <el-input - v-model="objyl.sendDay" - placeholder="榛樿5澶╁悗" - ></el-input> - </el-form-item> - </el-col> - </el-row> - <el-row> - <el-col :span="20" - ><el-form-item label="閫傜敤绉戝" prop="region"> - <el-select - style="width: 400px" - v-model="tempDetpRelevanceslist" - size="medium" - multiple - filterable - placeholder="璇烽�夋嫨绉戝" - > - <el-option - class="ruleFormaa" - v-for="item in belongDepts" - :key="item.deptCode" - :label="item.deptName" - :value="item.deptCode" - > - </el-option> - </el-select> </el-form-item - ></el-col> - </el-row> - <el-row> - <el-col :span="20" - ><el-form-item label="閫傜敤鐥呭尯" prop="region"> - <el-select - v-model="tempbelongWards" - style="width: 400px" - size="medium" - multiple - filterable - placeholder="璇烽�夋嫨绉戝" - > - <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> - - <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" - :rows="2" - placeholder="璇疯緭鍏ュ唴瀹�" - v-model="objyl.description" - > - </el-input - ></el-form-item> - - <el-form-item label="闂嵎缁撴潫璇�" prop="conclusion"> - <el-input - type="textarea" - :rows="2" - placeholder="璇疯緭鍏ュ唴瀹�" - v-model="objyl.conclusion" - > - </el-input - ></el-form-item> - </el-form></div - ></el-tab-pane> - <el-tab-pane label="闂灞曠ず" - ><div class="preview-left"> - <div v-for="item in questionList"> - <!-- 鍗曢�� --> - <div - class="scriptTopic-dev" - :key="item.sort" - v-if="item.scriptType == 1" - > - <div class="dev-text"> - {{ item.sort }}銆乕鍗曢�塢<span>{{ item.scriptContent }}</span> - </div> - <div class="dev-xx"> - <el-radio-group v-model="item.remark"> - <el-radio - v-for="(items, index) in item.svyLibTemplateTargetoptions" - :key="index" - :label="index" - >{{ items.optioncontent }}</el-radio - > - </el-radio-group> - </div> - </div> - <!-- 澶氶�� --> - <div - class="scriptTopic-dev" - :key="item.sort" - v-if="item.scriptType == 2" - > - <div class="dev-text"> - {{ item.sort }}銆乕澶氶�塢<span>{{ item.scriptContent }}</span> - </div> - <div class="dev-xx"> - <el-checkbox-group v-model="qremark"> - <el-checkbox - v-for="(items, index) in item.svyLibTemplateTargetoptions" - :key="index" - :label="index" - > - {{ items.optioncontent }} - </el-checkbox> - </el-checkbox-group> - </div> - </div> - <!-- 濉┖ --> - <div - class="scriptTopic-dev" - :key="item.sort" - v-if="item.scriptType == 4" - > - <div class="dev-text"> - {{ item.sort }}銆乕闂瓟]<span>{{ item.scriptContent }}</span> - </div> - <div class="dev-xx"> - <el-input - placeholder="璇疯緭鍏ョ瓟妗�" - v-model="item.radioas" - clearable - > - </el-input> - </div> - </div> - </div></div - ></el-tab-pane> - </el-tabs> - - <span slot="footer" class="dialog-footer"> - <!-- <el-button @click="previewGo">淇濆瓨妯℃澘璇︽儏淇敼</el-button> --> - <el-button type="primary" @click="Departmenttreatment" - >淇濆瓨浣跨敤</el-button - > - </span> - </el-dialog> - <el-drawer - title="闂嵎鍐呭鍒楄〃" - :visible.sync="drawermb" - direction="rtl" - size="50%" - > - <div class="headline"></div> - <div class="examine-jic"> - <div class="jic-value"> - <el-row :gutter="20"> - <!--鐢ㄦ埛鏁版嵁--> - - <el-form - :model="topqueryParams" - ref="queryForm" - size="small" - :inline="true" - v-show="showSearch" - label-width="98px" - > - <el-form-item label="闂嵎鍚嶇О"> - <el-input v-model="topqueryParams.svyname"></el-input> - </el-form-item> - <!-- <el-form-item label="閫傜敤褰㈠紡" prop="status"> - <el-select v-model="topqueryParams.topica" placeholder="璇烽�夋嫨"> - <el-option - v-for="item in taskoptions" - :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="handleQuerymb" - >鎼滅储</el-button - > - <el-button - icon="el-icon-refresh" - size="medium" - @click="resetQuery" - >閲嶇疆</el-button - > - </el-form-item> - </el-form> - <el-divider></el-divider> - <!-- 閫夋嫨妯℃澘鍒楄〃 --> - <SFtable - @selectfn="selectfn" - :currentList="userList" - :tableLabel="tableLabel" - :serialnumber="false" - :controlsc="false" - :multiplechoice="false" - :typeinfo="1" - /> - <pagination - v-show="total > 0" - :total="total" - :page.sync="topqueryParams.pageNum" - :limit.sync="topqueryParams.pageSize" - @pagination="Acquisitiontype" - /> - </el-row> - </div> - </div> - </el-drawer> - </div> -</template> - -<script> -import { messagelistpatient } from "@/api/patient/homepage"; -import store from "@/store"; -import { - getTaskpatient, - getlibrarylist, - getFollowuplist, - getQtemplatelist, - getQtemplateobj, - TaskQuestioncomit, - deleteTaskQuestioncomit, - Questionnairetaskgetson, - getTaskQuestioncomit, - depthospgetson, - getillness, - Editsingletask, - getQtemplateclassify, - depthospgetsonlist, -} from "@/api/AiCentre/index"; - -import SFtable from "@/components/SFtable"; //琛ㄦ牸缁勪欢 - -export default { - name: "ServiceDetails", - data() { - return { - title: "瀹f暀鍐呭鍒楄〃", - currenttype: 1, //1瀹f暀2闂ㄨ瘖3鍑洪櫌4澶嶈瘖5浣撴6闂嵎 - id: "", // - previewid: "", //浠诲姟妯℃澘浼犻�抜d - libName: "", - objyl: {}, - overallCase: [], //閫夋嫨鎮h�呮�� - allpids: [], - appraiselist: [], - optionsclass: [], - illnesslist: [], - mode: [], - libId: null, //妯℃澘搴撴ā鏉縤d - Editprogress: 1, //缂栬緫杩涘害 - drawermb: false, //閫夋嫨妯℃澘寮圭獥 - previewtf: false, //棰勮 - loading: false, // 閬僵灞� - patientloading: false, // 閬僵灞� - dialogVisiblepatient: false, //娣诲姞鎮h�呭脊妗� - radio: 1, - checkboxlist: [], - tableLabel: [], - questionList: [], - usable: [ - { value: "0", label: "鍙敤" }, - { value: "1", label: "鍋滅敤" }, - ], - required: [ - { value: "1", label: "蹇呭~" }, - { value: "2", label: "涓嶅繀濉�" }, - ], - props: { multiple: true, value: "deptCode", label: "deptName" }, - propstask: { value: "deptCode", label: "deptName" }, - // 鎮h�呰〃鍗� - tableLabelhz: [ - { label: "鍑洪櫌鏃ユ湡", width: "150", prop: "inhosptime" }, - { label: "鎮h��", width: "", prop: "name" }, - { label: "韬唤璇�", width: "200", prop: "idcardno" }, - { label: "鎬у埆", width: "", prop: "sex" }, - { label: "骞撮緞", width: "", prop: "age" }, - { label: "璐d换鎶ゅ+", width: "", prop: "nurseName" }, - { label: "涓绘不鍖荤敓", width: "", prop: "drname" }, - { label: "绉戝", width: "240", prop: "dept" }, - { label: "鐥呭尯", width: "240", prop: "leavehospitaldistrictname" }, - ], - // 鎮h�呰〃鍗� - tableLabelhzwb: [ - { label: "鍑洪櫌鏃ユ湡", width: "150", prop: "endtime" }, - { label: "鎮h��", width: "", prop: "name" }, - { label: "韬唤璇�", width: "200", prop: "sfzh" }, - { label: "鎬у埆", width: "", prop: "sex" }, - { label: "骞撮緞", width: "", prop: "age" }, - { label: "鍑洪櫌澶╂暟", width: "", prop: "endDay" }, - { label: "璐d换鎶ゅ+", width: "", prop: "nurseName" }, - { label: "涓绘不鍖荤敓", width: "", prop: "drname" }, - { label: "绉戝", width: "180", prop: "deptName" }, - { label: "鐥呭尯", width: "150", prop: "leavehospitaldistrictname" }, - ], - - tableLabelwj: [ - { label: "闂嵎鏍囬", width: "", prop: "svyname" }, - { label: "闂嵎鎻忚堪", width: "", prop: "description" }, - { label: "淇敼鏃ユ湡", width: "", prop: "updateTime" }, - { label: "鍒涘缓浜�", width: "", prop: "createBy" }, - ], - // 鍙橀噺 - tableLabelvariable: [ - { label: "鍙橀噺鍚嶇О", width: "", prop: "variablename" }, - { label: "鍖归厤绗�", width: "", prop: "character" }, - { label: "鏇挎崲鍊�", width: "", prop: "Replacementvalue" }, - ], - preachform: [ - { label: "澶氬獟浣�", value: 1 }, - { label: "绾歌川", value: 2 }, - { label: "鐢佃瘽", value: 3 }, - { label: "鐭俊", value: 4 }, - { label: "寰俊鍏紬鍙�", value: 5 }, - { label: "寰俊灏忕▼搴�", value: 6 }, - { label: "鏀粯瀹�", value: 7 }, - { label: "鏅鸿兘灏忕▼搴�", value: 8 }, - { label: "閽夐拤", value: 9 }, - { label: "绾夸笅锛堢焊璐級", value: 10 }, - { label: "绾夸笂锛堢煭淇�/閽夐拤鐨勬枃鏈�侀棶鍗烽摼鎺ワ級", value: 11 }, - ], - // 鏃堕棿澶勭悊 - daytime: [], //鏃ユ湡 - applydaytime: [], //璁$畻鏃ユ湡 - time1: "", //涓婂崍鏃堕棿娈� - time2: "", //涓嬪崍鏃堕棿娈� - time3: "", //鏅氫笂鏃堕棿娈� - time4: "", //鏅氫笂鏃堕棿娈� - topqueryParams: { - pageNum: 1, // - pageSize: 10, - }, - checkList: [], - deliverytopqueryParams: { - pageNum: 1, // - pageSize: 10, - }, - patientqueryParams: { - pageNum: 1, // - pageSize: 10, - topica: 1, //0鍏ㄩ儴1绉戝2鐥呭尯 - }, - topicoptions: [{ children: [{ children: [] }] }], - showSearch: true, // - total: 0, // - sontotal: 0, // - patienttotal: 0, // - // 閫変腑鏁扮粍 - ids: [], - // 闈炲崟涓鐢� - single: true, - // 闈炲涓鐢� - multiple: true, - // 鐢ㄦ埛琛ㄦ牸鏁版嵁 - userList: [], //妯℃澘鍒楄〃 - multiplechoice: [], //澶氶�夌粨鏋� - patientuserList: [], //閫夋嫨鎮h�呭垪琛� - sonuserList: [], //閫変腑鎮h�呭垪琛� - delvariableList: [], //鍒犻櫎鍙橀噺涓存椂瀛樺偍 - longtype: [ - { value: 0, label: "鏅�氫换鍔�" }, - { value: 1, label: "闀挎湡浠诲姟" }, - ], - variableList: [ - { - name: "濮撳悕", - value: "${name}", - fill: "娲惧彂鏃惰嚜鍔ㄥ尮閰�", - default: true, - }, - { - name: "鍦板潃", - value: "${dzz}", - fill: "娲惧彂鏃惰嚜鍔ㄥ尮閰�", - default: true, - }, - { - name: "鐢佃瘽", - value: "${dhh}", - fill: "娲惧彂鏃惰嚜鍔ㄥ尮閰�", - default: true, - }, - ], //鍙橀噺鍒楄〃 - transitionList: [ - { - name: "濮撳悕", - value: "${name}", - fill: "娲惧彂鏃惰嚜鍔ㄥ尮閰�", - default: true, - }, - { - name: "鍦板潃", - value: "${dzz}", - fill: "娲惧彂鏃惰嚜鍔ㄥ尮閰�", - default: true, - }, - { - name: "鐢佃瘽", - value: "${dhh}", - fill: "娲惧彂鏃惰嚜鍔ㄥ尮閰�", - default: true, - }, - ], - variableListTime: [], - tasktopic: null, //鏂板绫诲瀷 - SelectPatientslist: [], - form: { - patTaskRelevances: [], - sendType: 1, - longTask: 0, - templatename: "", - templateid: null, - libtemplateid: null, - kcb: "浜茬埍鐨勬偅鑰�/瀹跺睘锛屾偍濂斤紒鎴戜滑鏄禉涓尰澶т簩闄㈢殑鍖绘姢浜哄憳锛屼负浜嗘洿濂藉湴浜嗚В鎮ㄧ殑搴峰鎯呭喌锛岃鎮ㄦ娊涓�鐐瑰疂璐垫椂闂达紝瑙傜湅杩欎唤瀹f暀璧勮銆�", - jsy: "璇锋偍娉ㄦ剰浼戞伅鍜岃惀鍏伙紝鐢熸椿涓婅鍔抽�哥粨鍚堬紝閫傚綋閿荤偧锛屾垝鐑熼檺閰掞紝淇濇寔蹇冩儏鑸掔晠锛屽畾鏈熷璇娿�傞偅鏈瀹f暀鍐呭灏卞埌杩欓噷锛岀鎮ㄨ韩浣撳仴搴凤紒", - }, - taskoptions: [ - { - value: "1", - label: "鍑洪櫌鐥呬汉", - }, - { - value: "4", - label: "鍦ㄩ櫌鐥呬汉", - }, - { - value: "2", - label: "闂ㄨ瘖鐥呬汉", - }, - { - value: "3", - label: "浣撴鐥呬汉", - }, - ], - source: [ - { - value: 0, - label: "鎵�灞炴偅鑰�", - }, - { - value: 1, - label: "绉戝鎮h��", - }, - { - value: 2, - label: "鐥呭尯鎮h��", - }, - ], - - tasktypes: [ - { - value: 1, - label: "鐩戞祴璇勪及", - }, - { - value: 2, - label: "鍑洪櫌闅忚", - }, - { - value: 3, - label: "闂ㄨ瘖闅忚", - }, - { - value: 4, - label: "瀹f暀鍏虫��", - }, - { - value: 5, - label: "澶嶈瘖绠$悊", - }, - { - value: 6, - label: "婊℃剰搴﹁皟鏌�", - }, - { - value: 7, - label: "鎮h�呮姤鍛�", - }, - - { - value: 8, - label: "鍏朵粬閫氱煡", - }, - ], - // 绉戝/鐥呭尯 - belongWards: [], - belongWards: [], - deptlist: [], - hosplist: [], - tempDetpRelevanceslist: [], //绉戝鏁版嵁 - tempDetpRelevanceslistform: [], //绉戝鏁版嵁 - tempbelongWards: [], //鐥呭尯鏁版嵁 - tempbelongWardsform: [], //鐥呭尯鏁版嵁 - rules: { - taskName: [ - { required: true, message: "浠诲姟鍚嶇О涓嶈兘涓虹┖", trigger: "blur" }, - { - min: 2, - max: 30, - message: "浠诲姟鍚嶇О闀垮害蹇呴』浠嬩簬 2 鍜� 30 涔嬮棿", - trigger: "blur", - }, - ], - sendType: [ - { required: true, message: "鍙戦�佽缃笉鑳戒负绌�", trigger: "blur" }, - ], - deptcode: [ - { required: true, message: "閫傜敤绉戝涓嶈兘涓虹┖", trigger: "blur" }, - ], - leavehospitaldistrictcode: [ - { required: true, message: "閫傜敤鐥呭尯涓嶈兘涓虹┖", trigger: "blur" }, - ], - }, - // 绉戝闄㈠尯鏌ヨ鍏ュ弬 - queryParamsdept: { - tempid: "", - type: 11, - }, - quote: false, - serviceType: null, - }; - }, - components: { SFtable }, - - created() { - this.appraiselist = store.getters.appraiselist; - this.belongWards = store.getters.belongWards; - this.belongDepts = store.getters.belongDepts; - this.mode = store.getters.Askmode; - this.id = this.$route.query.id; - this.newadd = this.$route.query.newadd; - this.form.type = this.$route.query.type; - this.form.typename = this.$route.query.typename; - this.serviceType = Number(this.$route.query.serviceType); - this.form.serviceType = Number(this.$route.query.serviceType); - this.Acquisitiontype(); - this.Getdetails(); - this.getQtemplateclassify(); - }, - activated() { - if (this.id != this.$route.query.id) { - this.Acquisitiontype(); - this.Getdetails(); - this.getQtemplateclassify(); - } - }, - - methods: { - // { - // 濮撳悕: { "${name}": "榫欏偛澶�" }, - // 鍦板潃: { "${dzz}": "榫欏" }, - // 鐢佃瘽: { "${dhh}": "鍏釜鍏�" }, - // } - // 鍙橀噺杞崲瀵硅薄杞暟缁� - convertFormat1ToFormat2(data) { - let result = []; - for (let key in data) { - let innerKey = Object.keys(data[key])[0]; - result.push({ - name: key, - value: innerKey, - fill: data[key][innerKey], - }); - } - return result; - }, - // 鏁扮粍杞璞� - convertFormat2ToFormat1(data) { - let result = {}; - data.forEach((item) => { - let innerObj = {}; - innerObj[item.value] = item.fill; - result[item.name] = innerObj; - }); - return result; - }, - // 鑾峰彇褰撳墠绫诲瀷 - Acquisitiontype() { - let queryParams = { - pageNum: this.topqueryParams.pageNum, - pageSize: this.topqueryParams.pageSize, - isenable: "", - }; - this.currenttype = this.$route.query.type; - this.title = "闂嵎鍐呭鍒楄〃"; - this.tableLabel = this.tableLabelwj; - if (this.form.serviceType == 1) { - this.checkboxlist = [ - { - value: "1", - label: "浜哄伐", - }, - - { - value: "2", - label: "绾歌川", - }, - { - value: "4", - label: "鐭俊", - disabled:true, - }, - { - value: "5", - label: "寰俊鍏紬鍙�", - }, - { label: "寰俊灏忕▼搴�", value: 6 }, - ]; - } else if (this.form.serviceType == 6) { - this.checkboxlist = [ - { - value: "3", - label: "鐢佃瘽", - }, - { - value: "4", - label: "鐭俊", - disabled:true, - }, - { - value: "5", - label: "寰俊鍏紬鍙�", - }, - { - value: "6", - label: "寰俊灏忕▼搴�", - }, - - { - value: "8", - label: "鏅鸿兘鏈哄櫒浜�", - }, - ]; - } else if (this.form.serviceType == 7) { - this.checkboxlist = [ - { - value: "1", - label: "浜哄伐", - }, - { - value: "2", - label: "绾歌川", - }, - { - value: "3", - label: "鐢佃瘽", - }, - { - value: "4", - label: "鐭俊", - disabled:true, - }, - { - value: "5", - label: "寰俊鍏紬鍙�", - }, - { - value: "6", - label: "寰俊灏忕▼搴�", - }, - ]; - } else if (this.form.serviceType == 2 || this.form.serviceType == 3|| this.form.serviceType == 5|| this.form.serviceType == 4) { - this.checkboxlist = [ - { - value: "1", - label: "浜哄伐", - }, - { - value: "3", - label: "鐢佃瘽", - }, - { - value: "4", - label: "鐭俊", - disabled:true, - }, - { - value: "5", - label: "寰俊鍏紬鍙�", - }, - { - value: "6", - label: "寰俊灏忕▼搴�", - }, - - { - value: "8", - label: "鏅鸿兘鏈哄櫒浜�", - }, - ]; - } - getQtemplatelist(this.topqueryParams).then((response) => { - this.userList = response.rows; - this.total = response.total; - }); - }, - nextstep() { - this.$refs["form"].validate((valid) => { - if (valid) { - if (this.Editprogress <= 3) { - return this.Editprogress++; - } - } else { - this.$modal.msgError("琛ㄥ崟鍐呭鏈畬鍠勶紝璇锋鏌�"); - } - }); - }, - // 淇濆瓨 - submitForm(formName) { - if (this.time4 && this.form.sendType == 3) - this.form.showTimeMorn = this.time4; - this.form.sendTimeslot = [ - { - begantime: this.time4, - endtime: "", - xh: 1, - }, - ]; - - if (this.checkList[0]) { - this.form.preachform = this.checkList.join(","); - } else { - this.$modal.msgError("璇烽�夋嫨鏈嶅姟绫诲瀷"); - return; - } - if (!this.form.patTaskRelevances[0] && !this.form.longTask) { - this.$modal.msgError("璇烽�夋嫨鐥呬汉"); - return; - } - if (!this.form.templatename) { - this.$modal.msgError("鏈�夋嫨妯℃澘"); - return; - } - if ((this.form.sendType == 1 && this.time1) || this.form.sendType == 2) { - } else if ( - (this.form.sendType == 3 && this.time4) || - this.form.longTask - ) { - } else { - return this.$modal.msgError("鏃堕棿淇℃伅缂哄け"); - } - const filteredArray = this.variableList.filter( - (item) => - item.name !== "濮撳悕" && item.name !== "鐢佃瘽" && item.name !== "鍦板潃" - ); - this.form.textParam = this.convertFormat2ToFormat1(filteredArray); - if (this.form.taskid) { - this.form.isoperation = 2; - } else { - this.form.isoperation = 1; - } - if (!this.form.type) { - this.form.type = this.$route.query.type; - } - this.form.serviceType = this.serviceType; - this.form.leaveldeptcodes = store.getters.belongDepts.map( - (obj) => obj.deptCode - ); - this.form.leavehospitaldistrictcodes = store.getters.belongWards.map( - (obj) => obj.districtCode - ); - console.log(this.form.longTask); - console.log(this.form.preachform); - - if (this.form.longTask && this.form.preachform == 6) { - this.form.patCycle = 1; - } - Editsingletask(this.form).then((res) => { - if (res.code == 200) { - if (this.form.taskid) { - this.$modal.msgSuccess("淇敼鎴愬姛"); - } else { - this.puttaskid(res.data); - this.$modal.msgSuccess("鏂板鎴愬姛"); - } - this.$router.push({ - path: "/followvisit/tasklist", - query: { tasktopic: this.form.serviceType }, - }); - } - }); - }, - // 缁欎换鍔℃ā鏉胯祴鍊间换鍔d - puttaskid(data) { - getTaskQuestioncomit(this.form.templateid).then((res) => { - if (res.code == 200) { - this.objyl = res.data; - if (this.objyl.taskid == data.taskId) { - this.objyl.isoperation = 2; - } else { - this.objyl.isoperation = 1; - } - this.objyl.taskid = data.taskId; - if (!this.objyl.sendDay) { - this.objyl.sendDay='5'; - } - TaskQuestioncomit(this.objyl).then((response) => { - this.previewtf = false; - this.form.libtemplateid = this.objyl.svyid; - this.form.templateid = response.data; - // this.putbelongDepts(response.data); - this.form.templatename = this.objyl.svyname; - this.$modal.msgSuccess("閫夋嫨妯℃澘鎴愬姛"); - }); - } - }); - }, - // ----------------------琛ㄦ牸瀛愮粍浠朵簨浠� - - // 閫夋嫨棰勮 - selectfn(row, type) { - // 妯℃澘鎯呭喌涓嬭幏鍙栨ā鏉夸俊鎭� - if (type == 1) { - this.libName = row.svyname; - this.libId = row.svyid; - this.questionList = row.svyTemplateLibScripts; - getQtemplateobj({ svyid: row.svyid }).then((res) => { - if (res.code == 200) { - this.objyl = res.rows[0]; - if (this.form.longTask) { - this.objyl.longTemp = 1; - } - this.queryParamsdept.type = 1; - this.queryParamsdept.tempid = row.svyid; - this.listDept(); - - this.objyl.suitway = this.objyl.suitway.split(","); - this.questionList = res.rows[0].svyTemplateLibScripts; - this.getillness(row.svyid); - this.previewtf = true; - } - }); - console.log(row.svyTemplateLibScripts); - this.previewid = row.svyid; - this.Variablehandling(row.svyTemplateLibScripts, 1); - } else if (type == 2) { - } else if (type == 3) { - } - }, - // 棰勮 - previewfnmb() { - getTaskQuestioncomit(this.form.templateid).then((res) => { - if (res.code == 200) { - console.log(res, "棰勮鏁版嵁"); - this.objyl = res.data; - if (this.objyl.suitway) - this.objyl.suitway = this.objyl.suitway.split(","); - this.queryParamsdept.tempid = this.form.templateid; - this.queryParamsdept.type = 11; - this.getillness(this.form.libtemplateid); - // 鎵ц鑾峰彇璇ヤ换鍔℃ā鏉縤d - this.listDept(); - this.previewtf = true; - getQtemplateobj({ svyid: this.form.libtemplateid }).then((res) => { - if (res.code == 200) { - this.questionList = res.rows[0].svyTemplateLibScripts; - this.objyl.svyTemplateLibScripts = - res.rows[0].svyTemplateLibScripts; - } - }); - } - }); - }, - getillness(id) { - if (id) { - getillness({ outid: id, type: 5 }).then((res) => { - this.illnesslist = res.rows; - this.illnesslist.forEach((item) => { - item.icdname = item.icd10name; - }); - }); - } - }, - // 澶勭悊闂灞傚彉閲� - Variablehandling(arr, type) { - let Variablist = []; - if (type == 1) { - // 寰幆闂 - arr.forEach((res) => { - // 寰幆閫夐」 - JSON.parse(res.otherdata).forEach((item) => { - if (item.default != 1) { - Variablist.push({ - value: item.variate, - fill: "", - name: item.variatename, - }); - } - }); - }); - const Aarr = Variablist.filter( - (obj, index, self) => - index === - self.findIndex((t) => t.name === obj.name && t.value === obj.value) - ); - - this.variableList = this.transitionList.concat(Aarr); - // this.form.textParam = this.convertFormat2ToFormat1(this.variableList); - } - }, - // 瀛愪换鍔′簩绾у脊妗� - handleAddpatient(row) { - this.allpids = []; - this.overallCase.forEach((item) => { - this.allpids.push(item.patid); - }); - if ( - this.patientqueryParams.allhosp == 1 || - (this.patientqueryParams.allhosp == 1 && - this.patientqueryParams.cry == 1) - ) { - this.tableLabelhz = [ - // { label: "鍏ラ櫌鏃ユ湡", width: "170", prop: "starttime" }, - { label: "鍑洪櫌鏃ユ湡", width: "150", prop: "endtime" }, - { label: "鎮h��", width: "", prop: "name" }, - { label: "韬唤璇�", width: "200", prop: "idcardno" }, - { label: "鎬у埆", width: "", prop: "sex" }, - { label: "骞撮緞", width: "", prop: "age" }, - { label: "鍑洪櫌澶╂暟", width: "", prop: "endDay" }, - { label: "璐d换鎶ゅ+", width: "", prop: "nurseName" }, - { label: "鍖荤敓", width: "", prop: "drname" }, - { label: "绉戝", width: "180", prop: "dept" }, - { label: "鐥呭尯", width: "150", prop: "leavehospitaldistrictname" }, - ]; - } else if (this.patientqueryParams.allhosp == 4) { - this.tableLabelhz = [ - { label: "鍏ラ櫌鏃ユ湡", width: "150", prop: "starttime" }, - { label: "鎮h��", width: "", prop: "name" }, - { label: "韬唤璇�", width: "200", prop: "idcardno" }, - { label: "鎬у埆", width: "", prop: "sex" }, - { label: "骞撮緞", width: "", prop: "age" }, - { label: "鍑洪櫌澶╂暟", width: "", prop: "endDay" }, - { label: "璐d换鎶ゅ+", width: "", prop: "nurseName" }, - { label: "鍖荤敓", width: "", prop: "drname" }, - { label: "绉戝", width: "180", prop: "dept" }, - { label: "鐥呭尯", width: "150", prop: "leavehospitaldistrictname" }, - ]; - } - if (this.allpids[0]) { - this.patientqueryParams.pids = this.allpids; - } else { - this.patientqueryParams.pids = null; - } - // 绫诲瀷鍒ゆ柇 - if (this.patientqueryParams.allhosp == 1) { - this.patientqueryParams.cry = 1; - } else if (this.patientqueryParams.allhosp == 4) { - this.patientqueryParams.cry = 0; - this.patientqueryParams.allhosp = "1"; - } - // 鏉ユ簮鍒ゆ柇 - - if (this.patientqueryParams.searchscope == 1) { - this.patientqueryParams.leaveldeptcodes = store.getters.belongDepts.map( - (obj) => obj.deptCode - ); - this.patientqueryParams.leavehospitaldistrictcodes = []; - } else if (this.patientqueryParams.searchscope == 2) { - this.patientqueryParams.leavehospitaldistrictcodes = - store.getters.belongWards.map((obj) => obj.districtCode); - this.patientqueryParams.leaveldeptcodes = []; - } else { - this.patientqueryParams.leaveldeptcodes = store.getters.belongDepts.map( - (obj) => obj.deptCode - ); - this.patientqueryParams.leavehospitaldistrictcodes = - store.getters.belongWards.map((obj) => obj.districtCode); - } - getTaskpatient(this.patientqueryParams).then((response) => { - this.patientuserList = response.rows; - this.patientuserList.forEach((item) => { - if (item.endtime) { - item.endDay = this.daysBetween(item.endtime); - } - }); - this.patienttotal = response.total; - this.loading = false; - this.Restorecheck(); - }); - this.dialogVisiblepatient = true; - }, - handleUpdate() {}, - handleDelete() {}, - handleExport() {}, - // 閫夋嫨鎮h�呰〃鏁版嵁 - handleSelectionChange(selection) { - this.SelectPatientslist = structuredClone(selection); - this.multiple = !selection.length; - - // 璧嬪�肩粰鏁翠綋閫変腑鏁扮粍 - this.SelectPatientslist.forEach((item) => { - const isExist = this.overallCase.find((obj) => obj.name == item.name); - if (!isExist) { - item.isoperation = 1; - item.patid = item.id; - item.hospType = this.patientqueryParams.allhosp; - item.sfzh = item.idcardno; - item.deptCode = item.deptcode; - item.deptName = item.dept; - item.admindate = item.inhosptime; - item.sfzh = item.idcardno; - this.overallCase.push(item); - this.form.patTaskRelevances.push(item); - } - }); - }, - // 鍒囨崲椤靛悗鎭㈠閫変腑 - Restorecheck() { - const allid = this.overallCase.map((item) => item.patid); - const overlap = this.patientuserList.filter((value) => { - return allid.includes(value.patid); - }); - // 淇濇寔ids鍜屽綋鍓嶉〉闈㈢殑鍚屾鎬� - this.SelectPatientslist = overlap; - this.toggleSelection(overlap); - }, - // 鎸傝浇閫夋嫨鐘舵�� - toggleSelection(rows) { - if (rows) { - this.decision = true; - this.$nextTick(() => { - rows.forEach((row) => { - this.$refs.multipleTable.toggleRowSelection(row, true); - }); - this.decision = false; - }); - } else { - this.$refs.multipleTable.clearSelection(); - } - }, - // 鍒犻櫎閫変腑鎮h�� - detailhz(row, info) { - this.$modal - .confirm('鏄惁纭鍒犻櫎鎮h��"' + row.name + '"鐨勬湇鍔¢」锛�') - .then(() => { - let indexa = this.overallCase.indexOf(row); - let indexb = this.form.patTaskRelevances.indexOf(row); - this.overallCase.splice(indexa, 1); - this.form.patTaskRelevances[indexb].isoperation = 3; - this.$modal.msgSuccess("鍒犻櫎鎴愬姛"); - }); - }, - getList() {}, - handleQuery() { - if (this.patientqueryParams.topica == 0) { - this.patientqueryParams.leavehospitaldistrictcodes = - store.getters.leavehospitaldistrictcodes; - this.patientqueryParams.leaveldeptcodes = store.getters.leaveldeptcodes; - } else if (this.patientqueryParams.topica == 1) { - this.patientqueryParams.leavehospitaldistrictcodes = null; - this.patientqueryParams.leaveldeptcodes = store.getters.leaveldeptcodes; - } else if (this.patientqueryParams.topica == 2) { - this.patientqueryParams.leavehospitaldistrictcodes = - store.getters.leavehospitaldistrictcodes; - this.patientqueryParams.leaveldeptcodes = null; - } - this.handleAddpatient(); - }, - resetQuery() {}, - handleQuerymb() { - getQtemplatelist(this.topqueryParams).then((response) => { - this.userList = response.rows; - this.total = response.total; - }); - }, - handleClosehz() { - this.dialogVisiblepatient = false; - }, - // 涓婁竴姝� - laststep() { - this.Editprogress--; - }, - // 鎻愪氦琛ㄥ崟 - resetForm(formName) { - this.$refs[formName].resetFields(); - }, - // 棰勮妯℃澘 - PreviewTemplate() {}, - Acknowledgereference() { - this.quote = true; - }, - // 鑾峰彇璇︽儏 - Getdetails() { - this.form = { - patTaskRelevances: [], - sendType: 1, - templatename: "", - templateid: null, - libtemplateid: null, - kcb: "浜茬埍鐨勬偅鑰�/瀹跺睘锛屾偍濂斤紒鎴戜滑鏄禉涓尰澶т簩闄㈢殑鍖绘姢浜哄憳锛屼负浜嗘洿濂藉湴浜嗚В鎮ㄧ殑搴峰鎯呭喌锛岃鎮ㄦ娊涓�鐐瑰疂璐垫椂闂达紝瀹屾垚杩欎唤闅忚闂嵎銆�", - jsy: "璇锋偍娉ㄦ剰浼戞伅鍜岃惀鍏伙紝鐢熸椿涓婅鍔抽�哥粨鍚堬紝閫傚綋閿荤偧锛屾垝鐑熼檺閰掞紝淇濇寔蹇冩儏鑸掔晠锛屽畾鏈熷璇娿�傞偅鏈鍥炶灏卞埌杩欓噷锛岀鎮ㄨ韩浣撳仴搴凤紒", - }; - - this.questionList = []; - if (this.id) { - Questionnairetaskgetson({ taskid: this.id }).then((res) => { - let filteredArray = ""; - if (res.code == 200) { - this.form = res.data; - this.form.serviceType = this.serviceType; - this.form.patTaskRelevances = this.form.patTaskRelevances - ? this.form.patTaskRelevances - : []; - this.overallCase = this.form.patTaskRelevances.concat(); - this.checkList = this.form.preachform.split(","); - - this.overallCase.forEach((item) => { - if (item.endtime) { - item.endDay = this.daysBetween(item.endtime); - } - }); - if (this.form.showDate) - this.daytime = this.form.showDate.split(","); - if (this.form.showTimeMorn) { - if (this.form.sendType == 3) { - this.time4 = this.form.showTimeMorn; - } else { - this.time1 = this.form.showTimeMorn.split(","); - } - } - if (this.form.showTimeNoon) - this.time2 = this.form.showTimeNoon.split(","); - if (this.form.showTimeNight) - this.time3 = this.form.showTimeNight.split(","); - filteredArray = this.convertFormat1ToFormat2(this.form.textParam); - this.variableList = this.transitionList.concat(filteredArray); - } else { - this.$modal.msgError(res.code); - } - - if (this.newadd) { - this.neWaddfn(); - } - }); - } - }, - // 渚濈収鏂板鏃跺鐞� - neWaddfn() { - this.id = null; - this.form.taskName = ""; - this.form.taskid = null; - this.overallCase = []; - this.form.patTaskRelevances = []; - this.daytime = []; //鏃ユ湡 - this.applydaytime = []; //璁$畻鏃ユ湡 - this.time1 = ""; //涓婂崍鏃堕棿娈� - this.time2 = ""; //涓嬪崍鏃堕棿娈� - this.time3 = ""; //鏅氫笂鏃堕棿娈� - this.time4 = ""; //鏅氫笂鏃堕棿娈� - }, - // 鑾峰彇绉戝鍒楄〃 - listDept() { - this.tempDetpRelevanceslist = []; - this.tempbelongWards = []; - depthospgetsonlist(this.queryParamsdept).then((res) => { - if (res.code == 200) { - let arr = res.rows; - arr.forEach((item) => { - if (item.deptType == 1) { - this.deptlist.push(item); - this.tempDetpRelevanceslist.push(item.deptCode); - } else if (item.deptType == 2) { - this.hosplist.push(item); - this.tempbelongWards.push(item.deptCode); - } - }); - } - }); - }, - getQtemplateclassify() { - getQtemplateclassify({}).then((res) => { - this.optionsclass = res.rows; - }); - }, - // 鏂板娲鹃�佹偅鑰� - AddDispatchpatients() { - // this.SelectPatientslist.forEach((item) => { - // item.isoperation = 1; - // }); - // this.form.patTaskRelevances.push(...this.SelectPatientslist); - // this.overallCase.push(...this.SelectPatientslist); - this.dialogVisiblepatient = false; - }, - - variableDelete(index, row) { - this.variableList.splice(index, 1); - row.isoperation = 3; - this.delvariableList.push(row); - }, - // 鏃堕棿---------- - changeTime(row) { - this.processingTime(); - }, - Totaldate(row) { - this.form.sendTimeslot = [{ begantime: row, endtime: row, xh: 1 }]; - this.form.showTimeMorn = row; - }, - changeTimeday(row) { - const startDate = new Date(row[0]); - const endDate = new Date(row[1]); - this.applydaytime = this.getDates(startDate, endDate); - this.processingTime(); - }, - getDates(startDate, endDate) { - const dates = []; - let currentDate = new Date(startDate); - - while (currentDate <= endDate) { - dates.push(this.$moment(currentDate).format("YYYY-MM-DD")); - currentDate.setDate(currentDate.getDate() + 1); - } - - return dates; - }, - // 鏃堕棿鏈�缁堝鐞嗘柟娉� - processingTime() { - const combinedData = []; - let serialnumber = 1; - if (this.time3[0]) { - serialnumber = 3; - } else if (this.time2[0]) { - serialnumber = 2; - } else if (this.time1[0]) { - serialnumber = 1; - } else { - return; - } - - for (let i = 0; i < this.applydaytime.length; i++) { - combinedData.push({ - begantime: `${this.applydaytime[i]} ${this.time1[0]}`, - endtime: `${this.applydaytime[i]} ${this.time1[1]}`, - xh: serialnumber * i + 1, - }); - if (serialnumber >= 2) { - combinedData.push({ - begantime: `${this.applydaytime[i]} ${this.time2[0]}`, - endtime: `${this.applydaytime[i]} ${this.time2[1]}`, - xh: serialnumber * i + 2, - }); - } - if (serialnumber >= 3) { - combinedData.push({ - begantime: `${this.applydaytime[i]} ${this.time3[0]}`, - endtime: `${this.applydaytime[i]} ${this.time3[1]}`, - xh: serialnumber * i + 3, - }); - } - } - this.form.sendTimeslot = combinedData; - // 灞曠ず鏁版嵁涓存椂瀛樺偍鏃ユ湡銆佹棭銆佷腑銆佹櫄 - - this.form.showDate = this.daytime.join(","); - if (this.time1) this.form.showTimeMorn = this.time1.join(","); - if (this.time2) this.form.showTimeNoon = this.time2.join(","); - if (this.time3) this.form.showTimeNight = this.time3.join(","); - }, - // 鏌ョ湅妯℃澘 - previewGo() { - this.$router.push({ - path: "/knowledge/tpuconfigurat/", - query: { id: this.previewid, task: true, data: this.form }, - }); - }, - // 淇濆瓨/鏇存柊浠诲姟妯℃澘 - previewFn() { - if (Array.isArray(this.objyl.suitway)) { - this.objyl.suitway = this.objyl.suitway.join(","); - } - this.objyl.svyTemplateLibScripts.forEach((item) => { - item.svyTaskTemplateTargetoptions = item.svyLibTemplateTargetoptions; - }); - this.objyl.svyTaskTemplateScriptVOS = this.objyl.svyTemplateLibScripts; - this.objyl.templateid = this.objyl.svyid; - - this.objyl.isoperation = 1; - console.log(this.objyl.id); - if (!this.objyl.sendDay) { - this.objyl.sendDay='5'; - } - - if (this.objyl.id) { - deleteTaskQuestioncomit(this.objyl.id).then((res) => { - if (res.code == 200) { - (this.objyl.id = null), - TaskQuestioncomit(this.objyl).then((response) => { - this.previewtf = false; - this.form.libtemplateid = this.objyl.svyid; - this.form.templateid = response.data; - this.putbelongDepts(response.data); - this.form.templatename = this.objyl.svyname; - this.$modal.msgSuccess("閫夋嫨妯℃澘鎴愬姛"); - }); - } - }); - } else { - TaskQuestioncomit(this.objyl).then((response) => { - this.previewtf = false; - this.form.libtemplateid = this.objyl.svyid; - this.form.templateid = response.data; - this.putbelongDepts(response.data); - this.form.templatename = this.objyl.svyname; - this.$modal.msgSuccess("閫夋嫨妯℃澘鎴愬姛"); - }); - } - }, - // 淇濆瓨绉戝/鐥呭尯 - putbelongDepts(id) { - this.tempDetpRelevanceslistform.forEach((item) => { - item.tempid = id; - }); - this.tempbelongWardsform.forEach((item) => { - item.tempid = id; - }); - depthospgetson(this.tempDetpRelevanceslistform).then((res) => { - if (res.code == 200) { - this.$modal.msgSuccess("绉戝鏇存柊鎴愬姛"); - this.tempDetpRelevanceslistform = []; - } - }); - depthospgetson(this.tempbelongWardsform).then((res) => { - if (res.code == 200) { - this.$modal.msgSuccess("鐥呭尯鏇存柊鎴愬姛"); - this.tempbelongWardsform = []; - } - }); - }, - // 澶勭悊鏈嶅姟褰㈠紡 - formatFn(type) { - let list = []; - let formlist = []; - if (type == 1) { - this.preachform.forEach((item) => { - this.checkList.forEach((obj) => { - if (item.label == obj) { - list.push(item.value); - } - }); - }); - console.log(list, "list"); - this.form.preachform = list.join(","); - } else { - console.log(this.form.preachform, "this.form.preachform"); - formlist = this.form.preachform.split(","); - console.log(11); - this.preachform.forEach((item) => { - formlist.forEach((obj) => { - if (item.value == obj) { - list.push(item.label); - } - }); - }); - this.checkList = list; - } - }, - // 绉戝澶勭悊 - Departmenttreatment() { - this.tempDetpRelevanceslist.forEach((item) => { - this.tempDetpRelevanceslistform.push({ - deptType: 1, - longTemp: this.form.longTask, - deptCode: item, - tempid: null, - type: 11, - }); - }); - - this.tempbelongWards.forEach((item) => { - this.tempbelongWardsform.push({ - deptType: 2, - longTemp: this.form.longTask, - deptCode: item, - tempid: null, - type: 11, - }); - }); - console.log(33); - - setTimeout(() => { - this.previewFn(); - }, 1000); - }, - }, -}; -</script> - -<style lang="scss" scoped> -.Questionnairemanagement { -} -.leftvlue-jbxx { - margin-top: 10px; -} -.sidecolumn { - width: 100%; - // min-height: 12vh; - margin: 20px; - margin-bottom: 0; - 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); -} -.leftvlue { - // display: flex; - // flex: 1; - width: 100%; - margin-top: 20px; - // margin: 20px; - padding: 30px; - background: #ffff; - border: 1px solid #dcdfe6; - -webkit-box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.12), - 0 0 6px 0 rgba(0, 0, 0, 0.04); -} -.examine-jic { - margin: 20px; - .headline { - font-size: 24px; - height: 40px; - border-left: 5px solid #41a1be; - padding-left: 5px; - margin-bottom: 10px; - display: flex; - // justify-content: space-between; - .Add-details { - font-size: 18px; - color: #02a7f0; - cursor: pointer; - } - } - .jic-value { - font-size: 20px; - border-top: 1px solid #a7abac; - padding: 10px; - margin-bottom: 10px; - .details-jic { - padding: 10px 15px; - 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); - .details-title { - display: flex; - justify-content: space-between; - margin-bottom: 10px; - div:nth-child(2) { - color: #02a7f0; - cursor: pointer; - } - } - .details-renw { - background: #e4ebfc; - padding: 15px 5px; - border-radius: 5px; - margin-bottom: 20px; - } - } - } -} -.xinz-infs { - font-size: 18px; - line-height: 48px; - - .el-tag + .el-tag { - margin-left: 10px; - } -} -// .leftvlue-jbxx { -// margin-bottom: 50px; -// font-size: 20px; -// span { -// position: absolute; -// right: 80px; -// } -// .demo-cascader { -// margin-right: 20px; -// } -// .PreviewTemplate { -// color: #02a7f0; -// cursor: pointer; -// font-size: 20px; -// margin: 0 20px; -// } -// } -.preview-left { - margin: 20px; - // margin: 20px; - padding: 30px; - background: #ffff; - // border: 1px solid #dcdfe6; - // -webkit-box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.12), - // 0 0 6px 0 rgba(0, 0, 0, 0.04); - .scriptTopic-dev { - margin-bottom: 25px; - font-size: 20px !important; - .dev-text { - margin-bottom: 10px; - } - } -} -.jic-value { - font-size: 20px; - border-top: 1px solid #a7abac; - padding: 10px; - margin-bottom: 10px; - .details-jic { - padding: 10px 15px; - 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); - .details-title { - display: flex; - justify-content: space-between; - margin-bottom: 10px; - div:nth-child(2) { - color: #02a7f0; - cursor: pointer; - } - } - .details-renw { - background: #e4ebfc; - padding: 15px 5px; - border-radius: 5px; - margin-bottom: 20px; - } - } -} -::v-deep .addtopic-input { - input { - background: #02a7f0; - color: #edf1f7; - width: 150px; - } -} -::v-deep.el-step.is-vertical .el-step__title { - font-size: 25px; -} -::v-deep.el-row { - margin-bottom: 10px; -} -// ::v-deep.el-input--medium { -// font-size: 24px !important; -// } -::v-deep.ruleFormaa.el-select { - display: inline-block; - position: relative; - width: 700px; -} -.el-select__tags { - font-size: 20px; - max-width: 888px !important; -} -::v-deep.el-radio__inner { - width: 22px; - height: 22px; -} -// ::v-deep.topic-dev.el-radio__label { -// font-size: 24px; -// } -::v-deep.el-radio-group { - span { - font-size: 18px; - } -} -::v-deep.el-input.is-disabled .el-input__inner { - background-color: #f5f7fa; - border-color: #dfe4ed; - color: rgb(253, 66, 66); - cursor: not-allowed; -} -::v-deep.el-checkbox-group { - span { - font-size: 18px; - } -} -</style> diff --git a/src/views/patient/propaganda/index.vue b/src/views/patient/propaganda/index.vue deleted file mode 100644 index 87dc142..0000000 --- a/src/views/patient/propaganda/index.vue +++ /dev/null @@ -1,1153 +0,0 @@ -<template> - <div class="app-container"> - <el-row :gutter="20"> - <!--鐢ㄦ埛鏁版嵁--> - <el-form - :model="topqueryParams" - ref="queryForm" - size="small" - :inline="true" - v-show="showSearch" - label-width="98px" - > - <el-form-item label="浠诲姟鍚嶇О"> - <el-input - v-model="topqueryParams.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-date-picker - v-model="dateRange" - style="width: 240px" - value-format="yyyy-MM-dd" - type="daterange" - range-separator="-" - start-placeholder="寮�濮嬫棩鏈�" - end-placeholder="缁撴潫鏃ユ湡" - ></el-date-picker> - </el-form-item> - - <el-form-item label="鎮h�呭鍚�" prop="sendname"> - <el-input - v-model="topqueryParams.sendname" - placeholder="璇疯緭鍏ユ偅鑰呭鍚�" - ></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-form-item> - - <el-form-item label="瀹f暀鐘舵��" prop="status"> - <el-select v-model="topqueryParams.sendstate" placeholder="璇烽�夋嫨"> - <el-option - v-for="item in topicoptions" - :key="item.value" - :label="item.label" - :value="item.value" - > - </el-option> - </el-select> - </el-form-item> - <el-form-item label="缁撴灉鐘舵��" prop="status"> - <el-select v-model="topqueryParams.excep" placeholder="璇烽�夋嫨"> - <el-option - v-for="item in topicoptionsyj" - :key="item.value" - :label="item.label" - :value="item.value" - > - </el-option> - </el-select> - </el-form-item> - <el-form-item> - <el-button - type="primary" - icon="el-icon-search" - size="medium" - @click="handleQuery" - >鎼滅储</el-button - > - <el-button icon="el-icon-refresh" size="medium" @click="resetQuery" - >閲嶇疆</el-button - > - </el-form-item> - </el-form> - <el-divider></el-divider> - <el-row :gutter="10" class="mb8"> - <el-col :span="1.5"> - <el-button - type="primary" - plain - icon="el-icon-plus" - size="medium" - @click="handleAdd" - >鏂板</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"> - <el-button - type="warning" - plain - icon="el-icon-warning-outline" - size="medium" - @click="toleadExport(1)" - >鎵ц澶辫触</el-button - > - </div> - </div> - </el-col> - <el-col :span="1.5"> - <div class="documentf"> - <div class="document"> - <el-button - type="danger" - plain - icon="el-icon-warning" - size="medium" - @click="toleadExport(2)" - >缁撴灉寮傚父</el-button - > - </div> - </div> - </el-col> - </el-row> - <el-table - v-loading="loading" - :data="userList" - height="560" - @selection-change="handleSelectionChange" - > - <el-table-column type="selection" width="50" align="center" /> - <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 - align="center" - key="sendname" - prop="sendname" - /> - <el-table-column - label="瀹f暀鐘舵��" - 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="缁撴灉鐘舵��" - align="center" - key="excep" - prop="excep" - width="120" - > - <template slot-scope="scope"> - <div v-if="scope.row.sendstate == 6"> - <dict-tag - :options="dict.type.sys_yujing" - :value="scope.row.excep" - /> - </div> - <div v-else> - <span></span> - </div> - </template> - </el-table-column> - <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="鍑洪櫌鏃ユ湡" - 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="璐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="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="icdName" - prop="icdName" - width="120" - :show-overflow-tooltip="true" - > - </el-table-column> --> - - <el-table-column - label="妯℃澘鍚嶇О" - align="center" - key="templatename" - prop="templatename" - :show-overflow-tooltip="true" - width="200" - /> - - <el-table-column - label="瀹f暀浜哄憳" - align="center" - key="createBy" - prop="createBy" - width="120" - /> - - <!-- <el-table-column - fixed="right" - 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 - 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> - <el-table-column - fixed="right" - label="瀹f暀鏃堕棿" - 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="瀹f暀鐘舵��" - 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> - </el-table-column> --> - </el-table> - - <pagination - v-show="total > 0" - :total="total" - :page.sync="topqueryParams.pageNum" - :limit.sync="topqueryParams.pageSize" - @pagination="getList" - /> - </el-row> - <!-- 娣诲姞鎴栦慨鏀归棬璇婂鏁欏璇濇 --> - <el-dialog - :title="title" - :visible.sync="addalteropen" - width="700px" - append-to-body - > - <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="瀹f暀绫诲瀷"> - <el-select v-model="form.region" placeholder="璇烽�夋嫨瀹f暀绫诲瀷"> - <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="闂ㄨ瘖瀹f暀瑕佹眰"> - <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> - </div> - </el-dialog> - <!-- 淇敼鍙戦�佹椂闂村璇濇 --> - <el-dialog - title="鍙戦�佹椂闂磋缃�" - :visible.sync="modificationVisible" - width="45%" - > - <div style="margin-bottom: 20px; color: red"> - 缁熶竴淇敼褰撳ぉ鏈彂閫佺殑浠诲姟鏃堕棿 - </div> - - <el-form - :model="ruleForm" - :rules="rules" - ref="ruleForm" - label-width="120px" - class="demo-ruleForm" - > - <el-form-item label="鍙戦�佹棩鏈�"> - <el-date-picker - v-model="ruleForm.value1" - type="date" - placeholder="閫夋嫨鏃ユ湡" - > - </el-date-picker> - </el-form-item> - - <el-form-item label="鏃堕棿娈�" prop="type"> - <el-checkbox-group v-model="ruleForm.type"> - <el-checkbox label="涓婂崍" name="type"></el-checkbox> - <el-checkbox label="涓嬪崍" name="type"></el-checkbox> - <el-checkbox label="鏅氫笂" name="type"></el-checkbox> - </el-checkbox-group> - </el-form-item> - <el-form-item label="涓婂崍鏃堕棿鍖洪棿" required> - <el-time-picker - is-range - v-model="ruleForm.value2" - range-separator="鑷�" - start-placeholder="寮�濮嬫椂闂�" - end-placeholder="缁撴潫鏃堕棿" - placeholder="閫夋嫨鏃堕棿鑼冨洿" - > - </el-time-picker> - </el-form-item> - <el-form-item label="涓嬪崍鏃堕棿鍖洪棿" required> - <el-time-picker - is-range - v-model="ruleForm.value3" - range-separator="鑷�" - start-placeholder="寮�濮嬫椂闂�" - end-placeholder="缁撴潫鏃堕棿" - placeholder="閫夋嫨鏃堕棿鑼冨洿" - > - </el-time-picker> - </el-form-item> - <el-form-item label="鏅氫笂鏃堕棿鍖洪棿" required> - <el-time-picker - is-range - v-model="ruleForm.value4" - range-separator="鑷�" - start-placeholder="寮�濮嬫椂闂�" - end-placeholder="缁撴潫鏃堕棿" - placeholder="閫夋嫨鏃堕棿鑼冨洿" - > - </el-time-picker> - </el-form-item> - </el-form> - - <span slot="footer" class="dialog-footer"> - <el-button @click="modificationVisible = false">鍙� 娑�</el-button> - <el-button type="primary" @click="modificationVisible = false" - >纭� 瀹�</el-button - > - </span> - </el-dialog> - </div> -</template> - -<script> -import { - listUser, - getUser, - delUser, - addUser, - updateUser, - resetUserPwd, - changeUserStatus, -} from "@/api/system/user"; -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: "Discharge", - 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, - // 鐢ㄦ埛琛ㄦ牸鏁版嵁 - 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, - 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(); - }, - 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, - }, - 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父", - }, - ], - serviceState: [], - // 琛ㄥ崟鏍¢獙 - rules: {}, - }; - }, - watch: {}, - created() { - this.serviceState = store.getters.serviceState; - this.getList(); - this.getConfigKey("sys.user.initPassword").then((response) => { - this.initPassword = response.msg; - }); - }, - activated() { - this.getList(); - }, - // 鎼滅储 - mounted() { - this.list = this.states.map((item) => { - return { value: `value:${item}`, label: `label:${item}` }; - }); - }, - 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 { - this.topqueryParams.leaveldeptcodes = store.getters.belongDepts.map( - (obj) => obj.deptCode - ); - this.topqueryParams.leavehospitaldistrictcodes = - store.getters.belongWards.map((obj) => obj.districtCode); - } - this.loading = true; - getTaskservelist(this.topqueryParams).then((response) => { - this.userList = response.rows[0].serviceSubtaskList; - this.userList.forEach((item) => { - if (item.endtime) { - item.endDay = this.daysBetween(item.endtime); - } - }); - this.total = response.total; - this.loading = false; - }); - }, - // 鏌ョ湅闂ㄨ瘖瀹f暀璇︽儏 - Referencequestion(row) { - this.previewVisible = true; - }, - // 娣诲姞寮规鎼滅储 - remoteMethod(query) { - if (query !== "") { - this.loading = true; - setTimeout(() => { - this.loading = false; - this.options = this.list.filter((item) => { - return item.label.toLowerCase().indexOf(query.toLowerCase()) > -1; - }); - }, 200); - } else { - this.options = []; - } - }, - // 闂ㄨ瘖瀹f暀鐘舵�佷慨鏀� - handleStatusChange(row) { - let text = row.status === "0" ? "鍚敤" : "鍋滅敤"; - this.$modal - .confirm('纭瑕�"' + text + '""' + row.userName + '"鐢ㄦ埛鍚楋紵') - .then(function () { - return changeUserStatus(row.userId, row.status); - }) - .then(() => { - this.$modal.msgSuccess(text + "鎴愬姛"); - }) - .catch(function () { - row.status = row.status === "0" ? "1" : "0"; - }); - }, - // 鍙栨秷鎸夐挳 - cancel() { - this.addalteropen = false; - this.reset(); - }, - // 琛ㄥ崟閲嶇疆 - reset() { - this.form = { - userId: undefined, - deptId: undefined, - userName: undefined, - nickName: undefined, - password: undefined, - phonenumber: undefined, - email: undefined, - sex: undefined, - status: "0", - remark: undefined, - postIds: [], - roleIds: [], - }; - this.resetForm("form"); - }, - /** 鎼滅储鎸夐挳鎿嶄綔 */ - handleQuery() { - 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 { - 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]; - - this.getList(); - }, - /** 閲嶇疆鎸夐挳鎿嶄綔 */ - resetQuery() { - this.dateRange = []; - this.topqueryParams = { - pageNum: 1, - pageSize: 10, - serviceType: 4, - }; - this.handleQuery(); - }, - // 澶氶�夋閫変腑鏁版嵁 - handleSelectionChange(selection) { - this.ids = selection.map((item) => item.userId); - this.single = selection.length != 1; - this.multiple = !selection.length; - }, - //鍒犻櫎閫夐」 - handleClose(tag) { - this.dynamicTags.splice(this.dynamicTags.indexOf(tag), 1); - }, - //瑙﹀彂鏂板杈撳叆 - showInput() { - this.inputVisible = true; - this.$nextTick((_) => { - this.$refs.saveTagInput.$refs.input.focus(); - }); - }, - //鑾峰彇澶卞幓鐒︾偣瑙﹀彂 - handleInputConfirm() { - let inputValue = this.inputValue; - if (inputValue) { - this.dynamicTags.push(inputValue); - } - this.inputVisible = false; - this.inputValue = ""; - }, - /** 鏂板鎸夐挳鎿嶄綔 */ - handleAdd() { - this.$router.push({ - path: "/followvisit/Missioncreation", - query: { - type: 3, - serviceType: 4, - }, - }); - }, - - /** 鎻愪氦鎸夐挳 */ - 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.getList(); - }); - } else { - addUser(this.form).then((response) => { - this.$modal.msgSuccess("鏂板鎴愬姛"); - this.open = false; - this.getList(); - }); - } - } - }); - }, - - // 鍏ㄩ儴鍋滄 - AllStop() { - this.$modal - .confirm("鏄惁鍋滄鍏ㄩ儴浠诲姟锛�") - .then(function () { - return console.log("鍋滄鎴愬姛"); - }) - .then(() => { - this.getList(); - this.$modal.msgWarning("鍋滄鎴愬姛"); - }) - .catch(() => {}); - }, - // 鍏ㄩ儴寮�濮� - AllStarted() { - this.$modal - .confirm("鏄惁寮�鍚叏閮ㄤ换鍔★紵") - .then(function () { - return console.log("寮�鍚垚鍔�"); - }) - .then(() => { - this.getList(); - this.$modal.msgSuccess("寮�鍚垚鍔�"); - }) - .catch(() => {}); - }, - - // 璁剧疆鍙戦�佹椂闂� - Sendtimesetting() { - this.modificationVisible = true; - }, - - // 渚挎嵎鎸夐挳 - 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.download( - "system/user/export", - { - ...this.topqueryParams, - }, - `user_${new Date().getTime()}.xlsx` - ); - }, - }, -}; -</script> - -<style lang="scss" scoped> -.el-button--primary.is-plain { - color: #ffffff; - background: #409eff; - border-color: #4fabe9; -} - -.document { - // width: 100px; - height: 50px; -} - -.documentf { - display: flex; - justify-content: flex-end; -} - -.download { - text-align: center; - - .el-upload__tip { - font-size: 23px; - } - - .el-upload__text { - font-size: 23px; - } -} - -.uploading { - margin-top: 20px; - margin: 20px; - padding: 30px; - background: #ffffff; - border: 1px solid #dcdfe6; - -webkit-box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.12), - 0 0 6px 0 rgba(0, 0, 0, 0.04); -} - -.el-tag + .el-tag { - margin-left: 10px; -} - -.button-new-tag { - margin-left: 10px; - height: 32px; - line-height: 30px; - padding-top: 0; - padding-bottom: 0; -} - -.input-new-tag { - width: 90px; - margin-left: 10px; - vertical-align: bottom; -} - -.drexamine { - display: flex; - align-items: center; - justify-content: center; - padding: 30px; - background: #daeaf5; - - img { - width: 100px; - height: 100px; - } -} - -.qrcode-dialo { - // text-align: center; - // display: flex; - margin: 20px; - padding: 30px; - background: #edf1f7; - border: 1px solid #dcdfe6; - -webkit-box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.12), - 0 0 6px 0 rgba(0, 0, 0, 0.04); - - .topic-dev { - margin-bottom: 25px; - font-size: 20px !important; - - .dev-text { - margin-bottom: 10px; - } - } -} -.button-bb { - font-weight: 500; - 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/propaganda/particty copy.vue b/src/views/patient/propaganda/particty copy.vue deleted file mode 100644 index e10301d..0000000 --- a/src/views/patient/propaganda/particty copy.vue +++ /dev/null @@ -1,1437 +0,0 @@ -<template> - <div class="Questionnairemanagement"> - <!-- 涓婁晶鏍� --> - <div class="sidecolumn"> - <div> - <el-steps simple :active="Editprogress"> - <el-step - icon="el-icon-edit" - title="鍩虹淇℃伅" - description="閫夋嫨妯℃澘銆佸舰寮忕瓑鍩虹淇℃伅" - ></el-step> - <el-step - icon="el-icon-user" - title="浠诲姟涓讳綋" - description="鍦ㄦ湰閮ㄩ�夋嫨鏈嶅姟鎮h��" - ></el-step> - </el-steps> - </div> - </div> - <!-- 涓嬩晶鏁版嵁 --> - <div class="leftvlue" style="margin: 0 20px"> - <!-- 鍩烘湰淇℃伅 --> - <div v-if="Editprogress == 1"> - <el-alert title="閫夋嫨妯℃澘銆佸舰寮忕瓑鍩虹淇℃伅" type="success" effect="dark"> - </el-alert> - <div class="leftvlue-jbxx"> - <!-- 鍩虹淇℃伅 --> - <div class="examine-jic"> - <div class="headline"> - <div>鍩虹淇℃伅</div> - </div> - <div class="jic-value"> - <el-form ref="form" :model="form" label-width="105px"> - <el-row :gutter="20"> - <el-col :span="12" - ><el-form-item label="浠诲姟鍚嶇О"> - <el-input - style="width: 220px" - v-model="form.taskName" - placeholder="璇疯緭鍏ヤ换鍔″悕绉�" - /> </el-form-item - ></el-col> - <el-col :span="8" - ><el-form-item label="妯℃澘鍚嶇О"> - <el-input - style="width: 220px" - :disabled="true" - v-model="form.templatename" - placeholder="鐐瑰嚮鍙充晶閫夋嫨" - /> </el-form-item - ></el-col> - <el-col :span="4"> - <el-button - type="primary" - icon="el-icon-edit" - @click="drawermb = true" - circle - ></el-button> - </el-col> - </el-row> - - <el-form-item label="浠诲姟鎻忚堪"> - <el-input - type="textarea" - v-model="form.taskDesc" - placeholder="璇疯緭鍏ヤ换鍔℃弿杩�" - /> - </el-form-item> - <el-form-item label="鍙戦�佽缃細"> - <el-radio-group v-model="form.sendType"> - <el-radio :label="1">鏃堕棿娈靛彂閫�</el-radio> - <el-radio :label="3">鏃堕棿鐐瑰彂閫�</el-radio> - <el-radio :label="2">鍗冲埢鍙戦��</el-radio> - </el-radio-group> - </el-form-item> - <el-form-item label="鍙戦�佹棩鏈燂細" v-if="form.sendType == 1"> - <el-date-picker - v-model="daytime" - @change="changeTimeday" - type="daterange" - range-separator="鑷�" - start-placeholder="寮�濮嬫棩鏈�" - end-placeholder="缁撴潫鏃ユ湡" - value-format="yyyy-MM-dd" - > - </el-date-picker> - </el-form-item> - - <el-form-item label="鍙戦�佹椂闂寸偣锛�" v-if="form.sendType == 3"> - <div style="display: flex"> - <div style="margin-right: 10px"> - <el-date-picker - v-model="time4" - value-format="yyyy-MM-dd HH:mm:ss" - @change="Totaldate" - type="datetime" - placeholder="閫夋嫨鏃ユ湡鏃堕棿" - > - </el-date-picker> - </div> - </div> - </el-form-item> - - <el-form-item label="鍙戦�佹椂闂存锛�" v-if="form.sendType == 1"> - <div style="display: flex"> - <div style="margin-right: 10px"> - <span style="font-size: 18px; margin-right: 10px" - >鏃堕棿娈典竴</span - > - <el-time-picker - is-range - arrow-control - @change="changeTime" - v-model="time1" - range-separator="鑷�" - start-placeholder="寮�濮嬫椂闂�" - end-placeholder="缁撴潫鏃堕棿" - placeholder="閫夋嫨鏃堕棿鑼冨洿" - value-format="HH:mm:ss" - > - </el-time-picker> - </div> - <div style="margin-right: 10px"> - <span style="font-size: 18px; margin-right: 10px" - >鏃堕棿娈典簩</span - > - <el-time-picker - is-range - arrow-control - @change="changeTime" - v-model="time2" - range-separator="鑷�" - start-placeholder="寮�濮嬫椂闂�" - end-placeholder="缁撴潫鏃堕棿" - placeholder="閫夋嫨鏃堕棿鑼冨洿" - value-format="HH:mm:ss" - > - </el-time-picker> - </div> - <div style="margin-right: 10px"> - <span style="font-size: 18px; margin-right: 10px" - >鏃堕棿娈典笁</span - > - <el-time-picker - is-range - arrow-control - @change="changeTime" - v-model="time3" - range-separator="鑷�" - start-placeholder="寮�濮嬫椂闂�" - end-placeholder="缁撴潫鏃堕棿" - placeholder="閫夋嫨鏃堕棿鑼冨洿" - value-format="HH:mm:ss" - > - </el-time-picker> - </div> - </div> - </el-form-item> - <el-form-item label="鏈嶅姟褰㈠紡"> - <el-checkbox-group v-model="checkList"> - <el-checkbox - v-for="(item, index) in checkboxlist" - :key="index" - :label="item.value" - > - {{ item.label }}</el-checkbox - > - </el-checkbox-group> - </el-form-item> - </el-form> - </div> - </div> - <div class="examine-jic"> - <div class="headline"> - <div>鍙橀噺鍖归厤閲忓弬</div> - </div> - <div class="examine-jic"> - <div class="jic-value"> - <el-row :gutter="20"> - <el-table :data="variableList" style="width: 100%"> - <el-table-column - prop="name" - align="center" - label="鍙橀噺鍚嶇О" - > - </el-table-column> - <el-table-column prop="value" align="center" label="鍖归厤绗�"> - </el-table-column> - <el-table-column label="鏇挎崲鍊�" align="center"> - <template slot-scope="scope"> - <el-input - :disabled="scope.row.default" - v-model="scope.row.fill" - placeholder="璇疯緭鍏ュ唴瀹�" - ></el-input> - </template> - </el-table-column> - <el-table-column label="鎿嶄綔" align="center"> - <template slot-scope="scope"> - <!-- <el-button - size="mini" - @click="variableEdit(scope.$index, scope.row)" - >缂栬緫</el-button - > --> - <el-button - size="mini" - type="danger" - @click="variableDelete(scope.$index, scope.row)" - >鍒犻櫎</el-button - > - </template> - </el-table-column> - </el-table> - </el-row> - </div> - </div> - </div> - </div> - <el-button type="success" @click="nextstep('ruleForm')">{{ - quote ? "绔嬪嵆鍒涘缓" : "浠诲姟璇︽儏閰嶇疆" - }}</el-button> - <el-button @click="resetForm('ruleForm')">閲嶇疆</el-button> - </div> - - <!-- 浠诲姟璇︽儏 --> - <div v-if="Editprogress == 2"> - <el-alert title="鍦ㄦ湰闃舵閫夋嫨闅忚鐥呬汉" type="success" effect="dark"> - </el-alert> - <div class="leftvlue-jbxx"> - <div class="examine-jic"> - <div class="headline"> - <div>鎮h�呭垪琛�</div> - </div> - <div class="examine-jic"> - <div class="jic-value"> - <el-row :gutter="20"> - <!--鐢ㄦ埛鏁版嵁--> - - <el-row :gutter="10" class="mb8"> - <el-col :span="1.5"> - <el-select - v-model="patientqueryParams.allhosp" - placeholder="璇烽�夋嫨鏂板绫诲瀷" - > - <el-option - v-for="item in taskoptions" - :key="item.value" - :label="item.label" - :value="item.value" - > - </el-option> - </el-select> - </el-col> - <el-col :span="1.5"> - <el-button - type="primary" - plain - icon="el-icon-plus" - size="medium" - :disabled="!patientqueryParams.allhosp" - @click="handleAddpatient" - >鏂板</el-button - > - </el-col> - - <el-col :span="1.5"> - <el-button - type="danger" - plain - icon="el-icon-delete" - size="medium" - :disabled="multiple" - @click="handleDelete" - >鍒犻櫎</el-button - > - </el-col> - - <!-- <el-col :span="1.5"> </el-col> --> - </el-row> - <!-- 閫変腑鎮h�呭垪琛� --> - <SFtable - @details="detailhz" - @handleUpdate="handleUpdate" - :currentList="overallCase" - :tableLabel="tableLabelhz" - :serialnumber="false" - :searchTrue="true" - :multiplechoice="false" - :controlxz="false" - :typeinfo="2" - /> - <pagination - v-show="total > 0" - :total="total" - :page.sync="topqueryParams.pageNum" - :limit.sync="topqueryParams.pageSize" - @pagination="getList" - /> - </el-row> - </div> - </div> - </div> - </div> - <el-button type="primary" @click="laststep()">涓婁竴姝�</el-button> - <el-button type="success" @click="submitForm('ruleForm')">{{ - quote ? "绔嬪嵆鍒涘缓" : "纭浠诲姟閰嶇疆" - }}</el-button> - <el-button @click="resetForm('ruleForm')">閲嶇疆</el-button> - </div> - </div> - <!-- 娣诲姞鎮h�� --> - <el-dialog - title="閫夋嫨鎮h��" - :visible.sync="dialogVisiblepatient" - width="70%" - :before-close="handleClosehz" - :close-on-click-modal="false" - > - <div class="examine-jic"> - <div class="jic-value"> - <el-row :gutter="20"> - <!--鐢ㄦ埛鏁版嵁--> - <el-form - :model="patientqueryParams" - ref="queryForm" - size="small" - :inline="true" - v-show="showSearch" - label-width="98px" - > - <el-form-item label="鎮h�呭悕绉帮細"> - <el-input - v-model="patientqueryParams.name" - @keyup.enter.native="handleQuery" - ></el-input> - </el-form-item> - <el-form-item label="鍒涘缓鏃堕棿"> - <el-date-picker - v-model="dateRange" - style="width: 240px" - value-format="yyyy-MM-dd" - type="daterange" - range-separator="-" - start-placeholder="寮�濮嬫棩鏈�" - end-placeholder="缁撴潫鏃ユ湡" - ></el-date-picker> - </el-form-item> - - <el-form-item> - <el-button - type="primary" - icon="el-icon-search" - size="medium" - @click="handleQuery" - >鎼滅储</el-button - > - <el-button - icon="el-icon-refresh" - size="medium" - @click="resetQuery" - >閲嶇疆</el-button - > - </el-form-item> - </el-form> - <!-- 閫夋嫨鎮h�呭垪琛� --> - <SFtable - ref="multipleTable" - @handleUpdate="handleUpdate" - @handleSelectionChange="handleSelectionChange" - :currentList="patientuserList" - :tableLabel="tableLabelhz" - :serialnumber="false" - :center="false" - :typeinfo="3" - /> - </el-row> - <pagination - v-show="patienttotal > 0" - :total="patienttotal" - :page.sync="patientqueryParams.pageNum" - :limit.sync="patientqueryParams.pageSize" - @pagination="handleAddpatient" - /> - </div> - </div> - <span slot="footer" class="dialog-footer"> - <el-button @click="dialogVisiblepatient = false">鍙� 娑�</el-button> - <el-button type="primary" @click="AddDispatchpatients" - >纭畾娣诲姞</el-button - > - </span> - </el-dialog> - <el-dialog title="妯℃澘棰勮" :visible.sync="previewtf" width="60%"> - <div class="preview-left"> - <!-- 鍗曢�� --> - <div - class="scriptTopic-dev" - v-for="(item, index) in questionList" - :key="item.aaa" - > - <div class="dev-text"> - {{ index + 1 }}銆�<span>{{ item.scriptContent }}</span> - </div> - - <div class="dev-xx" v-if="item.valueType == 1"> - <el-radio-group v-model="item.radio"> - <el-radio - v-for="(items, index) in item.ivrLibaScriptTargetoptionList" - :key="items.id" - :label="items.id" - >{{ items.targetvalue }} - </el-radio> - </el-radio-group> - </div> - <div v-else> - <el-input - type="textarea" - placeholder="鏈幏鍙栧埌淇℃伅" - v-model.sync="item.scriptResult" - :rows="2" - /> - </div> - </div> - </div> - <span slot="footer" class="dialog-footer"> - <el-button @click="previewGo">鍓嶅線妯℃澘璇︽儏淇敼</el-button> - <el-button type="primary" @click="previewFn">纭浣跨敤</el-button> - </span> - </el-dialog> - <el-drawer - title="闅忚鍐呭鍒楄〃" - :visible.sync="drawermb" - direction="rtl" - size="50%" - > - <div class="headline"></div> - <div class="examine-jic"> - <div class="jic-value"> - <el-row :gutter="20"> - <!--鐢ㄦ埛鏁版嵁--> - - <el-form - :model="topqueryParams" - ref="queryForm" - size="small" - :inline="true" - v-show="showSearch" - label-width="98px" - > - <el-form-item label="闅忚鍚嶇О"> - <el-input v-model="topqueryParams.templateName"></el-input> - </el-form-item> - - <el-form-item label="閫傜敤绉戝" prop="status"> - <el-select v-model="topqueryParams.topicd" 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="region"> - <el-select - v-model="topqueryParams.assortid" - size="medium" - filterable - placeholder="璇烽�夋嫨鍒嗙被" - > - <el-option-group - v-for="group in indexAssortlist" - :key="group.id" - :label="group.indexAssortName" - > - <el-option - v-for="item in group.ivrLibaTemplateAssortList" - :key="item.id" - :label="item.indexAssortName" - :value="item.id" - > - </el-option> - </el-option-group> - </el-select> - </el-form-item> - <el-form-item> - <el-button - type="primary" - icon="el-icon-search" - size="medium" - @click="handleQuery" - >鎼滅储</el-button - > - <el-button - icon="el-icon-refresh" - size="medium" - @click="resetQuery" - >閲嶇疆</el-button - > - </el-form-item> - </el-form> - <el-divider></el-divider> - <!-- 閫夋嫨妯℃澘鍒楄〃 --> - <SFtable - @selectfn="selectfn" - :currentList="userList" - :tableLabel="tableLabel" - :controlsc="false" - :multiplechoice="false" - :typeinfo="1" - /> - <pagination - v-show="total > 0" - :total="total" - :page.sync="topqueryParams.pageNum" - :limit.sync="topqueryParams.pageSize" - @pagination="Acquisitiontype" - /> - </el-row> - </div> - </div> - </el-drawer> - </div> -</template> - -<script> -import { messagelistpatient } from "@/api/patient/homepage"; -import store from "@/store"; -import { - getTaskpatient, - getlibrarylist, - getFollowuplist, - getQtemplatelist, - TaskTemplatecomit, - getTaskInfo, - gethetaskinfo, - delhetaskinfo, - Editsingletask, - getvFollowup, - getFollowupclassify, -} from "@/api/AiCentre/index"; -import { listDept } from "@/api/system/dept"; - -import SFtable from "@/components/SFtable"; //琛ㄦ牸缁勪欢 - -export default { - name: "serviceDetailsa", - data() { - const endDate = new Date(); - const startDate = new Date(); - startDate.setDate(endDate.getDate() - 7); // 璁剧疆寮�濮嬫棩鏈熶负褰撳墠鏃ユ湡鍓�7澶� - return { - title: "闅忚鍐呭鍒楄〃", - currenttype: 1, //1闅忚2闂嵎3閫氱煡瀹f暀 - id: "", // - previewid: "", //浠诲姟妯℃澘浼犻�抜d - libName: "", - overallCase: [], //閫夋嫨鎮h�呮�� - // 鏃ユ湡鑼冨洿 - dateRange: [startDate, endDate], - allpids: [], - libId: null, //妯℃澘搴撴ā鏉縤d - nhh: null, //鏄惁渚濈収鏂板 - Editprogress: 1, //缂栬緫杩涘害 - drawermb: false, //閫夋嫨妯℃澘寮圭獥 - previewtf: false, //棰勮 - loading: false, // 閬僵灞� - patientloading: false, // 閬僵灞� - dialogVisiblepatient: false, //娣诲姞鎮h�呭脊妗� - radio: 1, - checkboxlist: [], - tableLabel: [], - questionList: [], - // 鎮h�呰〃鍗� - tableLabelhz: [ - { label: "鎮h�呭悕绉�", width: "", prop: "name" }, - { label: "鎬у埆", width: "", prop: "sex" }, - { label: "骞撮緞", width: "", prop: "age" }, - { label: "灏辫瘖绉戝", width: "", prop: "deptName" }, - { label: "鍏ラ櫌鏃ユ湡", width: "", prop: "birthdate" }, - { label: "鍒涘缓浜猴紙缂猴級", width: "", prop: "update_by" }, - ], - - tableLabelmz: [ - { label: "闅忚鍚嶇О", width: "", prop: "templateName" }, - { label: "涓昏鍐呭", width: "", prop: "note" }, - { label: "淇敼鏃ユ湡", width: "", prop: "updateTime" }, - { label: "鍒涘缓浜猴紙缂猴級", width: "", prop: "updateBy" }, - ], - - // 鏈嶅姟褰㈠紡 - preachform: [ - { label: "绾夸笅", value: 1 }, - { label: "鐢佃瘽", value: 2 }, - { label: "灏忕▼搴�", value: 3 }, - { label: "鐭俊", value: 4 }, - { label: "寰俊鍏紬", value: 5 }, - { label: "閽夐拤", value: 6 }, - { label: "鏅鸿兘鏈哄櫒浜�", value: 7 }, - ], - // 鏃堕棿澶勭悊 - daytime: [], //鏃ユ湡 - applydaytime: [], //璁$畻鏃ユ湡 - time1: "", //涓婂崍鏃堕棿娈� - time2: "", //涓嬪崍鏃堕棿娈� - time3: "", //鏅氫笂鏃堕棿娈� - time4: "", //鏅氫笂鏃堕棿娈� - topqueryParams: { - pageNum: 1, // - pageSize: 10, - }, - checkList: [], - deliverytopqueryParams: { - pageNum: 1, // - pageSize: 10, - }, - patientqueryParams: { - pageNum: 1, // - pageSize: 10, - }, - topicoptions: [{ children: [{ children: [] }] }], - showSearch: true, // - total: 0, // - sontotal: 0, // - patienttotal: 0, // - // 閫変腑鏁扮粍 - ids: [], - // 闈炲崟涓鐢� - single: true, - // 闈炲涓鐢� - multiple: true, - // 鐢ㄦ埛琛ㄦ牸鏁版嵁 - userList: [], //妯℃澘鍒楄〃 - patientuserList: [], //閫夋嫨鎮h�呭垪琛� - sonuserList: [], //閫変腑鎮h�呭垪琛� - delvariableList: [], //鍒犻櫎鍙橀噺涓存椂瀛樺偍 - indexAssortlist: [], - - variableList: [ - { - name: "濮撳悕", - value: "${name}", - fill: "娲惧彂鏃惰嚜鍔ㄥ尮閰�", - default: true, - }, - { - name: "鍦板潃", - value: "${dzz}", - fill: "娲惧彂鏃惰嚜鍔ㄥ尮閰�", - default: true, - }, - { - name: "鐢佃瘽", - value: "${dhh}", - fill: "娲惧彂鏃惰嚜鍔ㄥ尮閰�", - default: true, - }, - ], //鍙橀噺鍒楄〃 - transitionList: [ - { - name: "濮撳悕", - value: "${name}", - fill: "娲惧彂鏃惰嚜鍔ㄥ尮閰�", - default: true, - }, - { - name: "鍦板潃", - value: "${dzz}", - fill: "娲惧彂鏃惰嚜鍔ㄥ尮閰�", - default: true, - }, - { - name: "鐢佃瘽", - value: "${dhh}", - fill: "娲惧彂鏃惰嚜鍔ㄥ尮閰�", - default: true, - }, - ], - variableListTime: [], - tasktopic: null, //鏂板绫诲瀷 - SelectPatientslist: [], - form: { - patTaskRelevances: [], - sendType: 1, - templatename: "", - templateid: null, - libtemplateid: null, - }, - taskoptions: [ - { - value: "1", - label: "鍑洪櫌鐥呬汉", - }, - { - value: "2", - label: "闂ㄨ瘖鐥呬汉", - }, - { - value: "3", - label: "浣撴鐥呬汉", - }, - ], - quote: false, - serviceType:null, - - }; - }, - components: { SFtable }, - - created() { - this.id = this.$route.query.id; - this.form.type = this.$route.query.type; - this.serviceType = Number(this.$route.query.serviceType); - this.form.serviceType = Number(this.$route.query.serviceType); - this.form.nhh = this.$route.query.nhh; - this.listDept(); - this.Acquisitiontype(); - this.Getdetails(); - }, - - methods: { - // { - // 濮撳悕: { "${name}": "榫欏偛澶�" }, - // 鍦板潃: { "${dzz}": "榫欏" }, - // 鐢佃瘽: { "${dhh}": "鍏釜鍏�" }, - // } - // 鍙橀噺杞崲瀵硅薄杞暟缁� - convertFormat1ToFormat2(data) { - let result = []; - for (let key in data) { - let innerKey = Object.keys(data[key])[0]; - result.push({ - name: key, - value: innerKey, - fill: data[key][innerKey], - }); - } - return result; - }, - // 鏁扮粍杞璞� - convertFormat2ToFormat1(data) { - let result = {}; - data.forEach((item) => { - let innerObj = {}; - innerObj[item.value] = item.fill; - result[item.name] = innerObj; - }); - return result; - }, - // 鑾峰彇褰撳墠绫诲瀷 - Acquisitiontype() { - let queryParams = { - pageNum: this.topqueryParams.pageNum, - pageSize: this.topqueryParams.pageSize, - isavailable: "", - }; - this.currenttype = this.$route.query.type; - // 鍑洪櫌銆侀棬璇娿�佷笓鐥呴殢璁� - this.title = "闅忚鍐呭鍒楄〃"; - this.tableLabel = this.tableLabelmz; - if (this.form.serviceType == 2 || this.form.serviceType == 3) { - this.checkboxlist = [ - { - value: "1", - label: "浜哄伐", - }, - { - value: "3", - label: "鐢佃瘽", - }, - { - value: "4", - label: "鐭俊", - }, - { - value: "5", - label: "寰俊鍏紬鍙�", - }, - { - value: "6", - label: "寰俊灏忕▼搴�", - }, - - { - value: "8", - label: "鏅鸿兘鏈哄櫒浜�", - }, - ]; - } else if (this.form.serviceType == 5) { - this.checkboxlist = [ - { - value: "3", - label: "鐢佃瘽", - }, - { - value: "4", - label: "鐭俊", - }, - { - value: "5", - label: "寰俊鍏紬鍙�", - }, - { - value: "6", - label: "寰俊灏忕▼搴�", - }, - - { - value: "8", - label: "鏅鸿兘鏈哄櫒浜�", - }, - ]; - } - - getFollowuplist(queryParams).then((response) => { - this.userList = response.rows; - this.total = response.total; - }); - }, - - nextstep() { - if (this.Editprogress <= 3) { - return this.Editprogress++; - } - }, - // 淇濆瓨 - submitForm(formName) { - this.form.preachform = this.checkList.join(","); - // this.formatFn(1); - if (!this.form.patTaskRelevances[0]) { - this.$modal.msgError("璇烽�夋嫨鐥呬汉"); - return; - } - const filteredArray = this.variableList.filter( - (item) => - item.name !== "濮撳悕" && item.name !== "鐢佃瘽" && item.name !== "鍦板潃" - ); - console.log(filteredArray, "瀛樺墠鍙橀噺"); - this.form.textParam = this.convertFormat2ToFormat1(filteredArray); - if (this.form.taskid) { - this.form.isoperation = 2; - } else { - this.form.isoperation = 1; - } - this.form.serviceType=this.serviceType; - Editsingletask(this.form).then((res) => { - if (res.code == 200) { - if (this.form.taskid) { - this.$modal.msgSuccess("鏂板鎴愬姛"); - } else { - this.$modal.msgSuccess("淇敼鎴愬姛"); - } - this.$router.push({ - path: "/followvisit/tasklist", - query: { tasktopic: this.form.serviceType }, - }); - } - }); - }, - // ----------------------琛ㄦ牸瀛愮粍浠朵簨浠� - // 纭閫夋嫨妯℃澘鏀惧叆浠诲姟妯℃澘 - selectfn(row, type) { - // 妯℃澘鎯呭喌涓嬭幏鍙栨ā鏉夸俊鎭� - console.log(row, "閫夋嫨妯℃澘"); - this.libName = row.templateName; - this.libId = row.id; - getvFollowup({ id: row.id }).then((res) => { - if (res.code == 200) { - this.Tasktemplate = res.data; - const data = res.data; - this.questionList = data.ivrLibaTemplateScriptVOList; - this.previewtf = true; - this.previewid = data.id; - console.log(this.questionList, "questionList"); - this.Variablehandling(data.ivrLibaTemplateScriptVOList, 1); - } - }); - }, - // 澶勭悊闂灞傚彉閲� - Variablehandling(arr, type) { - let Variablist = []; - this.variableList = []; //鍙橀噺鍒楄〃 - if (type == 1) { - console.log(arr); - // 寰幆闂 - arr.forEach((res) => { - console.log(JSON.parse(res.otherdata), "ss"); - // 寰幆閫夐」 - JSON.parse(res.otherdata).forEach((item) => { - if (item.default != 1) { - Variablist.push({ - value: item.variate, - fill: "", - name: item.variatename, - }); - } - }); - }); - const Aarr = Variablist.filter( - (obj, index, self) => - index === - self.findIndex((t) => t.name === obj.name && t.value === obj.value) - ); - this.variableList = this.transitionList.concat(Aarr); - console.log(this.variableList, "variableList"); - // this.form.textParam = this.convertFormat2ToFormat1(this.variableList); - } - }, - // 瀛愪换鍔′簩绾у脊妗� - handleAddpatient(row) { - console.log(this.overallCase, "ssaaa"); - this.allpids = []; - this.overallCase.forEach((item) => { - this.allpids.push(item.patid); - }); - if (this.patientqueryParams.allhosp == 1) { - this.tableLabelhz = [ - { label: "鎮h�呭悕绉�", width: "", prop: "name" }, - { label: "鎬у埆", width: "", prop: "sex" }, - { label: "骞撮緞", width: "", prop: "age" }, - { label: "涓讳换鍖诲笀", width: "", prop: "drname" }, - { label: "灏辫瘖绉戝", width: "", prop: "deptName" }, - { label: "鍏ラ櫌鏃ユ湡", width: "", prop: "birthdate" }, - { label: "鍒涘缓浜�", width: "", prop: "createBy" }, - ]; - } else if (this.patientqueryParams.allhosp == 2) { - this.tableLabelhz = [ - { label: "鎮h�呭悕绉�", width: "", prop: "name" }, - { label: "鎬у埆", width: "", prop: "sex" }, - { label: "骞撮緞", width: "", prop: "age" }, - { label: "璇婃柇", width: "", prop: "diagname" }, - { label: "灏辫瘖绉戝", width: "", prop: "deptName" }, - { label: "鍏ラ櫌鏃ユ湡", width: "", prop: "birthdate" }, - { label: "鍒涘缓浜�", width: "", prop: "createBy" }, - ]; - } - if (this.allpids[0]) { - this.patientqueryParams.pids = this.allpids; - console.log(this.patientqueryParams.pids); - } else { - this.patientqueryParams.pids = null; - } - - getTaskpatient( - this.addDateRange(this.patientqueryParams, this.dateRange) - ).then((response) => { - this.patientuserList = response.rows; - this.patienttotal = response.total; - this.loading = false; - this.Restorecheck(); - }); - this.dialogVisiblepatient = true; - }, - handleUpdate() {}, - handleDelete() {}, - handleExport() {}, - // 閫変腑鎮h�呰〃 - handlePitchionChange() {}, - // 閫夋嫨鎮h�呰〃鏁版嵁 - handleSelectionChange(selection) { - console.log("澶氶�夋偅鑰�"); - this.SelectPatientslist = selection; - this.multiple = !selection.length; - - // 璧嬪�肩粰鏁翠綋閫変腑鏁扮粍 - this.SelectPatientslist.forEach((item) => { - const isExist = this.overallCase.find((obj) => obj.name == item.name); - if (!isExist) { - console.log(this.patientqueryParams.allhosp, "allhosp"); - item.isoperation = 1; - item.patid = item.id; - item.hospType = this.patientqueryParams.allhosp; - this.overallCase.push(item); - this.form.patTaskRelevances.push(item); - console.log(this.overallCase, "this.overallCase"); - } - }); - }, - // 鍒囨崲椤靛悗鎭㈠閫変腑 - Restorecheck() { - console.log(this.overallCase, "this.overallCase"); - const allid = this.overallCase.map((item) => item.id); - const overlap = this.patientuserList.filter((value) => { - return allid.includes(value.id); - }); - console.log(overlap, "overlap"); - - // 淇濇寔ids鍜屽綋鍓嶉〉闈㈢殑鍚屾鎬� - this.SelectPatientslist = overlap; - console.log(this.SelectPatientslist, "杩涘叆鍒嗛〉SelectPatientslist"); - - this.toggleSelection(overlap); - }, - // 鎸傝浇閫夋嫨鐘舵�� - toggleSelection(rows) { - if (rows) { - this.decision = true; - this.$nextTick(() => { - rows.forEach((row) => { - this.$refs.multipleTable.toggleRowSelection(row, true); - }); - this.decision = false; - }); - console.log(123); - } else { - this.$refs.multipleTable.clearSelection(); - } - }, - // 鍒犻櫎閫変腑鎮h�� - detailhz(row, info) { - this.$modal - .confirm('鏄惁纭鍒犻櫎鎮h��"' + row.name + '"鐨勬湇鍔¢」锛�') - .then(() => { - let indexa = this.overallCase.indexOf(row); - let indexb = this.form.patTaskRelevances.indexOf(row); - this.overallCase.splice(indexa, 1); - this.form.patTaskRelevances[indexb].isoperation = 3; - this.$modal.msgSuccess("鍒犻櫎鎴愬姛"); - }); - }, - getList() {}, - handleQuery() { - this.handleAddpatient(); - }, - resetQuery() { - this.dateRange = []; - // 鏌ヨ鍙傛暟 - this.queryParams = { - pageNum: 1, - pageSize: 10, - userName: undefined, - phonenumber: undefined, - status: undefined, - deptId: undefined, - }; - }, - handleClosehz() { - this.dialogVisiblepatient = false; - }, - // 涓婁竴姝� - laststep() { - this.Editprogress--; - }, - // 鎻愪氦琛ㄥ崟 - resetForm(formName) { - this.$refs[formName].resetFields(); - }, - // 棰勮妯℃澘 - PreviewTemplate() {}, - Acknowledgereference() { - this.quote = true; - }, - // 鑾峰彇璇︽儏 - Getdetails() { - if (this.id) { - getTaskInfo({ taskid: this.id }).then((res) => { - let filteredArray = ""; - console.log(2233); - if (res.code == 200) { - this.form = res.data; - this.form.serviceType=this.serviceType; - this.overallCase = this.form.patTaskRelevances.concat(); - this.checkList = this.form.preachform.split(","); - console.log(this.form.showDate, "this.form"); - this.daytime = this.form.showDate.split(","); - this.changeTimeday(this.daytime); - if (this.form.showTimeMorn) { - if (this.form.sendType == 3) { - this.time4 = this.form.showTimeMorn; - } else { - this.time1 = this.form.showTimeMorn.split(","); - } - } - if (this.form.showTimeNoon) - this.time2 = this.form.showTimeNoon.split(","); - if (this.form.showTimeNight) - this.time3 = this.form.showTimeNight.split(","); - console.log(1122); - filteredArray = this.convertFormat1ToFormat2(this.form.textParam); - this.variableList = this.transitionList.concat(filteredArray); - } else { - this.$modal.msgError(res.code); - } - }); - } - getFollowupclassify({}).then((res) => { - this.indexAssortlist = res.rows; - }); - }, - // 鑾峰彇绉戝鍒楄〃 - listDept() { - listDept().then((res) => { - this.topicoptions = this.handleTree(res.data, "deptId"); - console.log(this.topicoptions, "topicoptions"); - }); - }, - // 鏂板娲鹃�佹偅鑰� - AddDispatchpatients() { - // this.SelectPatientslist.forEach((item) => { - // item.isoperation = 1; - // }); - // this.form.patTaskRelevances.push(...this.SelectPatientslist); - // this.overallCase.push(...this.SelectPatientslist); - this.dialogVisiblepatient = false; - }, - - variableDelete(index, row) { - this.variableList.splice(index, 1); - row.isoperation = 3; - this.delvariableList.push(row); - console.log(index, row); - }, - // 鏃堕棿---------- - changeTime(row) { - console.log(row, "鏃堕棿"); - this.processingTime(); - }, - Totaldate(row) { - console.log(row, "鏃堕棿"); - this.form.sendTimeslot = [{ begantime: row, endtime: row, xh: 1 }]; - this.form.showTimeMorn = row; - console.log(this.form.sendTimeslot, "鏃堕棿"); - }, - changeTimeday(row) { - console.log(row, "鏃ユ湡"); - const startDate = new Date(row[0]); - const endDate = new Date(row[1]); - this.applydaytime = this.getDates(startDate, endDate); - if (!top) { - this.processingTime(); - } - }, - getDates(startDate, endDate) { - const dates = []; - let currentDate = new Date(startDate); - - while (currentDate <= endDate) { - dates.push(this.$moment(currentDate).format("YYYY-MM-DD")); - currentDate.setDate(currentDate.getDate() + 1); - } - - return dates; - }, - // 鏃堕棿鏈�缁堝鐞嗘柟娉� - processingTime() { - const combinedData = []; - let serialnumber = 1; - if (this.time3[0]) { - serialnumber = 3; - } else if (this.time2[0]) { - serialnumber = 2; - } else if (this.time1[0]) { - serialnumber = 1; - } else { - return; - } - - for (let i = 0; i < this.applydaytime.length; i++) { - combinedData.push({ - begantime: `${this.applydaytime[i]} ${this.time1[0]}`, - endtime: `${this.applydaytime[i]} ${this.time1[1]}`, - xh: serialnumber * i + 1, - }); - if (serialnumber >= 2) { - combinedData.push({ - begantime: `${this.applydaytime[i]} ${this.time2[0]}`, - endtime: `${this.applydaytime[i]} ${this.time2[1]}`, - xh: serialnumber * i + 2, - }); - } - if (serialnumber >= 3) { - combinedData.push({ - begantime: `${this.applydaytime[i]} ${this.time3[0]}`, - endtime: `${this.applydaytime[i]} ${this.time3[1]}`, - xh: serialnumber * i + 3, - }); - } - } - this.form.sendTimeslot = combinedData; - // 灞曠ず鏁版嵁涓存椂瀛樺偍鏃ユ湡銆佹棭銆佷腑銆佹櫄 - console.log(this.daytime); - - this.form.showDate = this.daytime.join(","); - if (this.time1) this.form.showTimeMorn = this.time1.join(","); - if (this.time2) this.form.showTimeNoon = this.time2.join(","); - if (this.time3) this.form.showTimeNight = this.time3.join(","); - console.log(combinedData, "combinedData"); - }, - // 鏌ョ湅妯℃澘 - previewGo() { - this.$router.push({ - path: "/knowledge/tpuconfigurat/", - query: { id: this.previewid, task: true, data: this.form }, - }); - }, - previewFn() { - let id = this.Tasktemplate.id; - this.Tasktemplate.id = null; - this.Tasktemplate.ivrLibaTemplateScriptVOList.forEach((item) => { - item.ivrTaskScriptTargetoptionList = item.ivrLibaScriptTargetoptionList; - }); - console.log(this.Tasktemplate.ivrLibaTemplateScriptVOList); - - this.Tasktemplate.ivrTaskTemplateScriptVOList = - this.Tasktemplate.ivrLibaTemplateScriptVOList; - this.Tasktemplate.ivrLibaTemplateTagList = null; - this.Tasktemplate.tempDetpRelevances = null; - this.Tasktemplate.libtemplateid = id; - this.Tasktemplate.isoperation = 1; - this.Tasktemplate.libtemplatename = this.Tasktemplate.templatename; - console.log(this.libName, this.libId); - - TaskTemplatecomit(this.Tasktemplate).then((response) => { - console.log(response); - this.previewtf = false; - this.form.templateid = response.data; - this.form.libtemplateid = this.libId; - this.form.templatename = this.libName; - console.log(this.form.templatename, "ss"); - this.$modal.msgSuccess("閫夋嫨妯℃澘鎴愬姛", this.form.templatename); - }); - }, - // 澶勭悊鏈嶅姟褰㈠紡 - formatFn(type) { - console.log(this.preachform, "preachform"); - console.log(this.checkList, "checklist"); - let list = []; - let formlist = []; - if (type == 1) { - this.preachform.forEach((item) => { - this.checkList.forEach((obj) => { - if (item.label == obj) { - list.push(item.value); - } - }); - }); - this.form.preachform = list.join(","); - } else { - console.log(this.form.preachform, "this.form.preachform"); - formlist = this.form.preachform.split(","); - console.log(11); - this.preachform.forEach((item) => { - formlist.forEach((obj) => { - if (item.value == obj) { - list.push(item.label); - } - }); - }); - this.checkList = list; - } - }, - }, -}; -</script> - -<style lang="scss" scoped> -.Questionnairemanagement { -} -.leftvlue-jbxx { - margin-top: 10px; -} -.sidecolumn { - width: 100%; - // min-height: 12vh; - margin: 20px; - margin-bottom: 0; - 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); -} -.leftvlue { - // display: flex; - // flex: 1; - width: 100%; - margin-top: 20px; - // margin: 20px; - padding: 30px; - background: #ffff; - border: 1px solid #dcdfe6; - -webkit-box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.12), - 0 0 6px 0 rgba(0, 0, 0, 0.04); -} -.examine-jic { - margin: 20px; - .headline { - font-size: 24px; - border-left: 5px solid #41a1be; - padding-left: 5px; - margin-bottom: 10px; - display: flex; - justify-content: space-between; - .Add-details { - font-size: 18px; - color: #02a7f0; - cursor: pointer; - } - } - .jic-value { - font-size: 20px; - border-top: 1px solid #a7abac; - padding: 10px; - margin-bottom: 10px; - .details-jic { - padding: 10px 15px; - 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); - .details-title { - display: flex; - justify-content: space-between; - margin-bottom: 10px; - div:nth-child(2) { - color: #02a7f0; - cursor: pointer; - } - } - .details-renw { - background: #e4ebfc; - padding: 15px 5px; - border-radius: 5px; - margin-bottom: 20px; - } - } - } -} -// .leftvlue-jbxx { -// margin-bottom: 50px; -// font-size: 20px; -// span { -// position: absolute; -// right: 80px; -// } -// .demo-cascader { -// margin-right: 20px; -// } -// .PreviewTemplate { -// color: #02a7f0; -// cursor: pointer; -// font-size: 20px; -// margin: 0 20px; -// } -// } -.preview-left { - margin: 20px; - // margin: 20px; - padding: 30px; - background: #ffff; - border: 1px solid #dcdfe6; - -webkit-box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.12), - 0 0 6px 0 rgba(0, 0, 0, 0.04); - .scriptTopic-dev { - margin-bottom: 25px; - font-size: 20px !important; - .dev-text { - margin-bottom: 10px; - } - } -} -.jic-value { - font-size: 20px; - border-top: 1px solid #a7abac; - padding: 10px; - margin-bottom: 10px; - .details-jic { - padding: 10px 15px; - 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); - .details-title { - display: flex; - justify-content: space-between; - margin-bottom: 10px; - div:nth-child(2) { - color: #02a7f0; - cursor: pointer; - } - } - .details-renw { - background: #e4ebfc; - padding: 15px 5px; - border-radius: 5px; - margin-bottom: 20px; - } - } -} -::v-deep .addtopic-input { - input { - background: #02a7f0; - color: #edf1f7; - width: 150px; - } -} -::v-deep.el-step.is-vertical .el-step__title { - font-size: 25px; -} -::v-deep.el-row { - margin-bottom: 10px; -} -// ::v-deep.el-input--medium { -// font-size: 24px !important; -// } -::v-deep.ruleFormaa.el-select { - display: inline-block; - position: relative; - width: 700px; -} -.el-select__tags { - font-size: 20px; - max-width: 888px !important; -} -::v-deep.el-radio__inner { - width: 22px; - height: 22px; -} -// ::v-deep.scriptTopic-dev.el-radio__label { -// font-size: 24px; -// } -::v-deep.el-radio-group { - span { - font-size: 24px; - } -} -::v-deep.el-input.is-disabled .el-input__inner { - background-color: #f5f7fa; - border-color: #dfe4ed; - color: rgb(253, 66, 66); - cursor: not-allowed; -} -::v-deep.el-checkbox-group { - span { - font-size: 24px; - } -} -</style> diff --git a/src/views/patient/propaganda/particty.vue b/src/views/patient/propaganda/particty.vue deleted file mode 100644 index 2da9e48..0000000 --- a/src/views/patient/propaganda/particty.vue +++ /dev/null @@ -1,2309 +0,0 @@ -<template> - <div class="Questionnairemanagement"> - <!-- 涓婁晶鏍� --> - <div class="sidecolumn"> - <div> - <el-steps simple :active="Editprogress"> - <el-step - icon="el-icon-edit" - title="鍩虹淇℃伅" - description="閫夋嫨妯℃澘銆佸舰寮忕瓑鍩虹淇℃伅" - ></el-step> - <el-step - icon="el-icon-user" - title="浠诲姟涓讳綋" - description="鍦ㄦ湰閮ㄩ�夋嫨鏈嶅姟鎮h��" - ></el-step> - </el-steps> - </div> - </div> - <!-- 涓嬩晶鏁版嵁 --> - <div class="leftvlue" style="margin: 0 20px"> - <!-- 鍩烘湰淇℃伅 --> - <div v-if="Editprogress == 1"> - <el-alert title="閫夋嫨妯℃澘銆佸舰寮忕瓑鍩虹淇℃伅" type="success" effect="dark"> - </el-alert> - <div class="leftvlue-jbxx"> - <!-- 鍩虹淇℃伅 --> - <div class="examine-jic"> - <div class="headline"> - <div>鍩虹淇℃伅</div> - </div> - <div class="jic-value"> - <el-form - ref="form" - :model="form" - :rules="rules" - label-width="125px" - > - <el-row :gutter="20"> - <el-col :span="12" - ><el-form-item label="浠诲姟鍚嶇О" prop="taskName"> - <el-input - style="width: 220px" - v-model="form.taskName" - placeholder="璇疯緭鍏ヤ换鍔″悕绉�" - /> </el-form-item - ></el-col> - <el-col :span="12" - ><el-form-item label="浠诲姟绫诲瀷"> - <el-select - v-model="serviceType" - placeholder="璇烽�夋嫨鏂板绫诲瀷" - > - <el-option - v-for="item in tasktypes" - :key="item.value" - :label="item.label" - :value="item.value" - > - </el-option> - </el-select> </el-form-item - ></el-col> - </el-row> - - <el-form-item label="浠诲姟鎻忚堪" prop="taskDesc"> - <el-input - type="textarea" - v-model="form.taskDesc" - placeholder="璇疯緭鍏ヤ换鍔℃弿杩�" - /> - </el-form-item> - <el-form-item label="鏈嶅姟褰㈠紡"> - <el-checkbox-group - v-model="checkList" - @change="handleCheckedCitiesChange" - > - <el-checkbox - v-for="(item, index) in checkboxlist" - :key="index" - :label="item.value" - :disabled="!item.disabled" - @change="checkboxChange($event, item.value)" - > - {{ item.label }}</el-checkbox - > - </el-checkbox-group> - </el-form-item> - <div class="xinz-infs"> - <el-form-item label="鏈嶅姟鎵ц椤哄簭" prop="daytime"> - <el-tag - :key="tag.label" - type="success" - v-for="(tag, index) in foncheckList" - closable - :disable-transitions="false" - @close="handleClosetag(tag)" - > - ({{ index + 1 }}){{ tag.label }} - </el-tag> - </el-form-item> - </div> - <el-form-item label="鏄惁闀挎湡" prop="longTask"> - <el-radio-group v-model="form.longTask"> - <el-radio :label="0">鏅�氫换鍔�</el-radio> - <el-radio :label="1">闀挎湡浠诲姟</el-radio> - </el-radio-group> - </el-form-item> - <el-form-item - label="鎵ц璁剧疆" - prop="sendType" - v-if="!form.longTask" - > - <el-radio-group v-model="form.sendType"> - <el-radio :label="1">鏃堕棿娈垫墽琛�</el-radio> - <el-radio :label="3">鏃堕棿鐐规墽琛�</el-radio> - <el-radio :label="2">鍗冲埢鎵ц</el-radio> - </el-radio-group> - </el-form-item> - <el-form-item - label="鎵ц鏃ユ湡" - v-if="form.sendType == 1 && !form.longTask" - prop="daytime" - > - <el-date-picker - v-model="daytime" - @change="changeTimeday" - type="daterange" - range-separator="鑷�" - start-placeholder="寮�濮嬫棩鏈�" - end-placeholder="缁撴潫鏃ユ湡" - value-format="yyyy-MM-dd" - > - </el-date-picker> - </el-form-item> - - <el-form-item - label="鎵ц鏃堕棿鐐�" - v-if="form.sendType == 3 && !form.longTask" - prop="daytime" - > - <div style="display: flex"> - <div style="margin-right: 10px"> - <el-date-picker - v-model="time4" - value-format="yyyy-MM-dd HH:mm:ss" - @change="Totaldate" - type="datetime" - placeholder="閫夋嫨鏃ユ湡鏃堕棿" - > - </el-date-picker> - </div> - </div> - </el-form-item> - - <el-form-item - label="鎵ц鏃堕棿娈�" - v-if="form.sendType == 1 && !form.longTask" - prop="daytime" - > - <div style="display: flex"> - <div style="margin-right: 10px"> - <span style="font-size: 18px; margin-right: 10px">鈶�</span> - <el-time-picker - is-range - arrow-control - @change="changeTime" - v-model="time1" - range-separator="鑷�" - start-placeholder="寮�濮嬫椂闂�" - end-placeholder="缁撴潫鏃堕棿" - placeholder="閫夋嫨鏃堕棿鑼冨洿" - value-format="HH:mm:ss" - > - </el-time-picker> - </div> - <div style="margin-right: 10px"> - <span style="font-size: 18px; margin-right: 10px">鈶�</span> - <el-time-picker - is-range - arrow-control - @change="changeTime" - v-model="time2" - range-separator="鑷�" - start-placeholder="寮�濮嬫椂闂�" - end-placeholder="缁撴潫鏃堕棿" - placeholder="閫夋嫨鏃堕棿鑼冨洿" - value-format="HH:mm:ss" - > - </el-time-picker> - </div> - <div style="margin-right: 10px"> - <span style="font-size: 18px; margin-right: 10px">鈶�</span> - <el-time-picker - is-range - arrow-control - @change="changeTime" - v-model="time3" - range-separator="鑷�" - start-placeholder="寮�濮嬫椂闂�" - end-placeholder="缁撴潫鏃堕棿" - placeholder="閫夋嫨鏃堕棿鑼冨洿" - value-format="HH:mm:ss" - > - </el-time-picker> - </div> - </div> - </el-form-item> - <el-row> - <el-col :span="20" - ><el-form-item label="閫傜敤绉戝" prop="region"> - <el-select - v-model="form.deptcode" - style="width: 400px" - size="medium" - filterable - placeholder="璇烽�夋嫨绉戝" - > - <el-option - class="ruleFormaa" - v-for="item in belongDepts" - :key="item.deptCode" - :label="item.label" - :value="item.deptCode" - > - </el-option> - </el-select> </el-form-item - ></el-col> - </el-row> - <el-row> - <el-col :span="20" - ><el-form-item label="閫傜敤鐥呭尯" prop="region"> - <!-- <el-cascader - style="width: 400px" - v-model="form.leavehospitaldistrictcode" - :options="topicoptions" - :props="propstask" - :show-all-levels="false" - clearable - > - <template slot-scope="{ node, data }"> - <span>{{ data.deptName }}</span> - <span v-if="!node.isLeaf"> - ({{ data.children.length }}) - </span> - </template> - </el-cascader> --> - <el-select - v-model="form.leavehospitaldistrictcode" - style="width: 400px" - size="medium" - filterable - placeholder="璇烽�夋嫨鐥呭尯" - > - <el-option - class="ruleFormaa" - v-for="item in belongWards" - :key="item.deptCode" - :label="item.label" - :value="item.deptCode" - > - </el-option> - </el-select> </el-form-item - ></el-col> - </el-row> - <el-row> - <el-col :span="12" - ><el-form-item label="寮�鍦虹櫧" prop="kcb"> - <el-input - type="textarea" - :rows="3" - v-model="form.kcb" - placeholder="璇疯緭鍏ュ紑鍦虹櫧" - /> </el-form-item - ></el-col> - <el-col :span="12" - ><el-form-item label="缁撴潫璇�" prop="jsy"> - <el-input - type="textarea" - :rows="3" - v-model="form.jsy" - placeholder="璇疯緭鍏ョ粨鏉熻" - /> </el-form-item - ></el-col> - </el-row> - </el-form> - </div> - </div> - <div class="examine-jic"> - <div class="headline"> - <div>浠诲姟浣跨敤妯℃澘</div> - <div style="margin-left: 20px"> - <el-form ref="forms"> - <el-form-item label=""> - <el-input - style="width: 300px" - :disabled="true" - v-model="form.templatename" - placeholder="璇风偣鍑诲彸渚ч�夋嫨" - /> - <el-button - v-if=" - (form.templateid && form.sendState == 1) || - !form.templateid - " - style="margin-left: 10px" - type="primary" - icon="el-icon-edit" - @click="drawermb = true" - circle - ></el-button> - - <el-button - v-if="form.templatename" - type="success" - icon="el-icon-search" - @click="previewfnmb()" - circle - ></el-button> - </el-form-item> - </el-form> - </div> - </div> - - <div class="examine-jic"> - <div class="jic-value"> - <div style="margin-bottom: 10px">妯℃澘涓娇鐢ㄧ殑鍙橀噺锛�</div> - - <el-row :gutter="20"> - <el-table :data="variableList" style="width: 100%"> - <el-table-column - prop="name" - align="center" - label="鍙橀噺鍚嶇О" - > - </el-table-column> - <el-table-column prop="value" align="center" label="鍖归厤绗�"> - </el-table-column> - <el-table-column label="鏇挎崲鍊�" align="center"> - <template slot-scope="scope"> - <el-input - :disabled="scope.row.default" - v-model="scope.row.fill" - placeholder="璇疯緭鍏ュ唴瀹�" - ></el-input> - </template> - </el-table-column> - <el-table-column label="鎿嶄綔" align="center"> - <template slot-scope="scope"> - <!-- <el-button - size="mini" - @click="variableEdit(scope.$index, scope.row)" - >缂栬緫</el-button - > --> - <el-button - size="mini" - type="danger" - @click="variableDelete(scope.$index, scope.row)" - >鍒犻櫎</el-button - > - </template> - </el-table-column> - </el-table> - </el-row> - </div> - </div> - </div> - </div> - <el-button type="success" @click="nextstep('ruleForm')">{{ - quote ? "绔嬪嵆鍒涘缓" : "浠诲姟璇︽儏閰嶇疆" - }}</el-button> - <el-button @click="resetForm('ruleForm')">閲嶇疆</el-button> - </div> - <!-- 浠诲姟璇︽儏 --> - <div v-if="Editprogress == 2"> - <el-alert title="鍦ㄦ湰闃舵閫夋嫨鐥呬汉" type="success" effect="dark"> - </el-alert> - <div class="leftvlue-jbxx"> - <div class="examine-jic"> - <div class="headline"> - <div>鎮h�呭垪琛�</div> - </div> - <div class="examine-jic"> - <div class="jic-value"> - <el-row :gutter="20"> - <el-row :gutter="10" class="mb8"> - <el-col :span="1.5"> - <el-select - v-model="patientqueryParams.allhosp" - placeholder="璇烽�夋嫨鏂板绫诲瀷" - > - <el-option - v-for="item in taskoptions" - :key="item.value" - :label="item.label" - :value="item.value" - > - </el-option> - </el-select> - </el-col> - - <el-col :span="1.5"> - - - <el-button - type="primary" - plain - icon="el-icon-plus" - size="medium" - :disabled="!patientqueryParams.allhosp" - @click="handleQuery" - >鏂板</el-button - > - - </el-col> - - <!-- <el-col :span="1.5"> - <el-button - type="danger" - plain - icon="el-icon-delete" - size="medium" - :disabled="multiple" - @click="handleDelete" - >鍒犻櫎</el-button - > - </el-col> --> - - <!-- <el-col :span="1.5"> </el-col> --> - </el-row> - <!-- 閫変腑鎮h�呭垪琛� --> - <SFtable - @details="detailhz" - @handleUpdate="handleUpdate" - :currentList="overallCase" - :tableLabel="tableLabelhzwb" - :serialnumber="false" - :searchTrue="true" - :multiplechoice="false" - :controlxz="false" - :typeinfo="2" - /> - <pagination - v-show="total > 0" - :total="total" - :page.sync="topqueryParams.pageNum" - :limit.sync="topqueryParams.pageSize" - @pagination="getList" - /> - </el-row> - </div> - </div> - </div> - </div> - <el-button type="primary" @click="laststep()">涓婁竴姝�</el-button> - <el-button type="success" @click="submitForm('ruleForm')">{{ - quote ? "绔嬪嵆鍒涘缓" : "纭浠诲姟閰嶇疆" - }}</el-button> - <el-button @click="resetForm('ruleForm')">閲嶇疆</el-button> - </div> - </div> - <!-- 娣诲姞鎮h�� --> - <el-dialog - title="閫夋嫨鎮h��" - :visible.sync="dialogVisiblepatient" - width="70%" - :before-close="handleClosehz" - :close-on-click-modal="false" - > - <div class="examine-jic"> - <div class="jic-value"> - <el-row :gutter="20"> - <!--鐢ㄦ埛鏁版嵁--> - <el-form - :model="patientqueryParams" - ref="queryForm" - size="small" - :inline="true" - v-show="showSearch" - label-width="98px" - > - <el-form-item label="鎮h�咃細"> - <el-input - v-model="patientqueryParams.name" - @keyup.enter.native="handleQuery" - ></el-input> - </el-form-item> - <el-select - v-model="patientqueryParams.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> - <el-button - type="primary" - icon="el-icon-search" - size="medium" - @click="handleQuery" - >鎼滅储</el-button - > - <el-button - icon="el-icon-refresh" - size="medium" - @click="resetQuery" - >鍙栨秷鍒涘缓</el-button - > - </el-form-item> - </el-form> - <!-- 閫夋嫨鎮h�呭垪琛� --> - <SFtable - ref="multipleTable" - @handleUpdate="handleUpdate" - @handleSelectionChange="handleSelectionChange" - :currentList="patientuserList" - :tableLabel="tableLabelhz" - :serialnumber="false" - :center="false" - :typeinfo="3" - /> - </el-row> - <pagination - v-show="patienttotal > 0" - :total="patienttotal" - :page.sync="patientqueryParams.pageNum" - :limit.sync="patientqueryParams.pageSize" - @pagination="handleAddpatient" - /> - </div> - </div> - <span slot="footer" class="dialog-footer"> - <el-button @click="dialogVisiblepatient = false">鍙� 娑�</el-button> - <el-button type="primary" @click="AddDispatchpatients" - >纭畾娣诲姞</el-button - > - </span> - </el-dialog> - <!-- 妯℃澘棰勮 --> - <el-dialog title="妯℃澘棰勮" :visible.sync="previewtf" width="70%"> - <el-tabs type="border-card"> - <el-tab-pane label="妯℃澘鍩虹鏁版嵁" - ><div class="preview-left"> - <el-form :model="objyl" label-width="100px" class="demo-objyl"> - <el-row :gutter="10"> - <el-col :span="14"> - <el-form-item label="闅忚鍒嗙被" prop="assortid"> - <el-select - v-model="objyl.assortid" - size="medium" - filterable - placeholder="璇烽�夋嫨鍒嗙被" - > - <el-option-group - v-for="group in optionsclass" - :key="group.id" - :label="group.indexAssortName" - > - <el-option - v-for="item in group.ivrLibaTemplateAssortList" - :key="item.id" - :label="item.indexAssortName" - :value="item.id" - > - </el-option> - </el-option-group> - </el-select> - </el-form-item> - </el-col> - </el-row> - <el-row :gutter="20"> - <el-col :span="14"> - <el-form-item label="鍙敤鐘舵��" prop="isenable"> - <el-radio-group v-model="objyl.isenable"> - <el-radio - v-for="(item, index) in usable" - :label="item.value" - >{{ item.label }}</el-radio - > - </el-radio-group> - </el-form-item> - </el-col> - <el-col :span="8"> - <el-form-item label="鐗堟湰鍙�" prop="name"> - <el-input - v-model="objyl.version" - placeholder="榛樿1.0" - ></el-input> - </el-form-item> - </el-col> - </el-row> - <el-form-item label="闅忚鏍囬" prop="templateName"> - <div style="width: 400px"> - <el-input v-model="objyl.templateName"></el-input> - </div> - </el-form-item> - <el-form-item label="闅忚鏂瑰紡" prop="suitway"> - <el-select - style="width: 400px" - v-model="objyl.suitway" - size="medium" - multiple - filterable - placeholder="璇烽�夋嫨鍒嗙被" - > - <el-option - class="ruleFormaa" - v-for="item in mode" - :key="item.value" - :label="item.label" - :value="item.value" - > - </el-option> - </el-select> - </el-form-item> - <el-row :gutter="20" v-if="form.longTask"> - <el-col :span="14"> - <el-form-item label="闀挎湡浠诲姟" prop="longTemp"> - <el-radio-group v-model="objyl.longTemp"> - <el-radio - v-for="(item, index) in longtype" - :label="item.value" - >{{ item.label }}</el-radio - > - </el-radio-group> - </el-form-item> - </el-col> - <el-col :span="8"> - <el-form-item label="浠诲姟鍛ㄦ湡" prop="name"> - <el-input - v-model="objyl.sendDay" - placeholder="榛樿5澶╁悗" - ></el-input> - </el-form-item> - </el-col> - </el-row> - <el-row> - <el-col :span="20" - ><el-form-item label="閫傜敤绉戝" prop="region"> - <el-select - style="width: 400px" - v-model="tempDetpRelevanceslist" - size="medium" - multiple - filterable - placeholder="璇烽�夋嫨绉戝" - > - <el-option - class="ruleFormaa" - v-for="item in belongDepts" - :key="item.deptCode" - :label="item.label" - :value="item.deptCode" - > - </el-option> - </el-select> </el-form-item - ></el-col> - </el-row> - <el-row> - <el-col :span="20" - ><el-form-item label="閫傜敤鐥呭尯" prop="region"> - <el-select - v-model="tempbelongWards" - style="width: 400px" - size="medium" - multiple - filterable - placeholder="璇烽�夋嫨绉戝" - > - <el-option - class="ruleFormaa" - v-for="item in belongWards" - :key="item.deptCode" - :label="item.label" - :value="item.deptCode" - > - </el-option> - </el-select> </el-form-item - ></el-col> - </el-row> - - <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" - :rows="2" - placeholder="璇疯緭鍏ュ唴瀹�" - v-model="objyl.description" - > - </el-input - ></el-form-item> - - <el-form-item label="闅忚缁撴潫璇�" prop="conclusion"> - <el-input - type="textarea" - :rows="2" - placeholder="璇疯緭鍏ュ唴瀹�" - v-model="objyl.conclusion" - > - </el-input - ></el-form-item> - </el-form></div - ></el-tab-pane> - <el-tab-pane label="闂灞曠ず" - ><div class="preview-left"> - <div v-for="item in questionList"> - <!-- 鍗曢�� --> - <div - class="scriptTopic-dev" - :key="item.sort" - v-if="item.scriptType == 1" - > - <div class="dev-text"> - {{ item.sort }}銆乕鍗曢�塢<span>{{ item.scriptContent }}</span> - </div> - <div class="dev-xx"> - <el-radio-group v-model="item.remark"> - <el-radio - v-for="( - items, index - ) in item.ivrLibaScriptTargetoptionList" - :key="index" - :label="index" - >{{ items.targetvalue }}</el-radio - > - </el-radio-group> - </div> - </div> - <!-- 澶氶�� --> - <div - class="scriptTopic-dev" - :key="item.sort" - v-if="item.scriptType == 2" - > - <div class="dev-text"> - {{ item.sort }}銆乕澶氶�塢<span>{{ item.scriptContent }}</span> - </div> - <div class="dev-xx"> - <el-checkbox-group v-model="qremark"> - <el-checkbox - v-for="( - items, index - ) in item.ivrLibaScriptTargetoptionList" - :key="index" - :label="index" - > - {{ items.targetvalue }} - </el-checkbox> - </el-checkbox-group> - </div> - </div> - <!-- 濉┖ --> - <div - class="scriptTopic-dev" - :key="item.sort" - v-if="item.scriptType == 4" - > - <div class="dev-text"> - {{ item.sort }}銆乕闂瓟]<span>{{ item.scriptContent }}</span> - </div> - <div class="dev-xx"> - <el-input - placeholder="璇疯緭鍏ョ瓟妗�" - v-model="item.radioas" - clearable - > - </el-input> - </div> - </div> - </div></div - ></el-tab-pane> - </el-tabs> - - <span slot="footer" class="dialog-footer"> - <!-- <el-button @click="previewGo">淇濆瓨妯℃澘璇︽儏淇敼</el-button> --> - <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="Modifytemplate" - >{{ - previewtftype ? "鍓嶅線淇敼宸查�夋嫨妯℃澘" : "鏂板淇濆瓨骞跺墠寰�淇敼" - }}</el-button - > - </span> - </el-dialog> - <el-drawer - title="闅忚鍐呭鍒楄〃" - :visible.sync="drawermb" - direction="rtl" - size="50%" - > - <div class="headline"></div> - <div class="examine-jic"> - <div class="jic-value"> - <el-row :gutter="20"> - <!--鐢ㄦ埛鏁版嵁--> - - <el-form - :model="topqueryParams" - ref="queryForm" - size="small" - :inline="true" - v-show="showSearch" - label-width="98px" - > - <el-form-item label="闅忚鍚嶇О"> - <el-input v-model="topqueryParams.templateName"></el-input> - </el-form-item> - <!-- <el-form-item label="閫傜敤褰㈠紡" prop="status"> - <el-select v-model="topqueryParams.topica" placeholder="璇烽�夋嫨"> - <el-option - v-for="item in taskoptions" - :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="handleQuerymb" - >鎼滅储</el-button - > - <el-button - icon="el-icon-refresh" - size="medium" - @click="resetQuery" - >閲嶇疆</el-button - > - </el-form-item> - </el-form> - <el-divider></el-divider> - <!-- 閫夋嫨妯℃澘鍒楄〃 --> - <SFtable - @selectfn="selectfn" - :currentList="userList" - :tableLabel="tableLabel" - :serialnumber="false" - :controlsc="false" - :multiplechoice="false" - :typeinfo="1" - /> - <pagination - v-show="total > 0" - :total="total" - :page.sync="topqueryParams.pageNum" - :limit.sync="topqueryParams.pageSize" - @pagination="Acquisitiontype" - /> - </el-row> - </div> - </div> - </el-drawer> - </div> -</template> - -<script> -import { messagelistpatient } from "@/api/patient/homepage"; -import store from "@/store"; -import { - getTaskpatient, - getlibrarylist, - getFollowuplist, - getvFollowup, - Taskparticty, - deleteTaskparticty, - getTaskInfo, - getTaskparticty, - depthospgetson, - getillness, - Editsingletask, - getFollowupclassify, - depthospgetsonlist, -} from "@/api/AiCentre/index"; -import { deptTreeSelect } from "@/api/system/user"; - -import SFtable from "@/components/SFtable"; //琛ㄦ牸缁勪欢 - -export default { - name: "Particty", - data() { - return { - title: "瀹f暀鍐呭鍒楄〃", - currenttype: 1, //1瀹f暀2闂ㄨ瘖3鍑洪櫌4澶嶈瘖5浣撴6闅忚 - id: "", // - previewid: "", //浠诲姟妯℃澘浼犻�抜d - libName: "", - username: "", - objyl: {}, - overallCase: [], //閫夋嫨鎮h�呮�� - allpids: [], - appraiselist: [], - optionsclass: [], - illnesslist: [], - mode: [], - libId: null, //妯℃澘搴撴ā鏉縤d - Editprogress: 1, //缂栬緫杩涘害 - drawermb: false, //閫夋嫨妯℃澘寮圭獥 - previewtf: false, //棰勮 - previewtftype: 0, //棰勮鎯呭喌0鏂版ā鏉块瑙�1宸查�夋嫨妯℃澘淇敼 - loading: false, // 閬僵灞� - patientloading: false, // 閬僵灞� - dialogVisiblepatient: false, //娣诲姞鎮h�呭脊妗� - radio: 1, - checkboxlist: [], - tableLabel: [], - questionList: [], - skip: false, - usable: [ - { value: "0", label: "鍙敤" }, - { value: "1", label: "鍋滅敤" }, - ], - required: [ - { value: "1", label: "蹇呭~" }, - { value: "2", label: "涓嶅繀濉�" }, - ], - props: { multiple: true, value: "deptCode", label: "deptName" }, - propstask: { value: "deptCode", label: "deptName" }, - // 鎮h�呰〃鍗� - tableLabelhz: [ - { label: "鍑洪櫌鏃ユ湡", width: "150", prop: "inhosptime" }, - { label: "鎮h��", width: "", prop: "name" }, - { label: "韬唤璇�", width: "200", prop: "idcardno" }, - { label: "鐢佃瘽鍙风爜", width: "180", prop: "telcode" }, - { label: "鎬у埆", width: "", prop: "sex" }, - { label: "骞撮緞", width: "", prop: "age" }, - { label: "璐d换鎶ゅ+", width: "", prop: "nurseName" }, - { label: "涓绘不鍖荤敓", width: "", prop: "drname" }, - { label: "绉戝", width: "240", prop: "dept" }, - { label: "鐥呭尯", width: "240", prop: "leavehospitaldistrictname" }, - ], - // 鎮h�呰〃鍗� - tableLabelhzwb: [ - { label: "鍑洪櫌鏃ユ湡", width: "150", prop: "endtime" }, - { label: "鎮h��", width: "", prop: "name" }, - { label: "韬唤璇�", width: "200", prop: "sfzh" }, - { label: "鐢佃瘽鍙风爜", width: "180", prop: "telcode" }, - { label: "鎬у埆", width: "", prop: "sex" }, - { label: "骞撮緞", width: "", prop: "age" }, - { label: "鍑洪櫌澶╂暟", width: "", prop: "endDay" }, - { label: "璐d换鎶ゅ+", width: "", prop: "nurseName" }, - { label: "涓绘不鍖荤敓", width: "", prop: "drname" }, - { label: "绉戝", width: "180", prop: "deptName" }, - { label: "鐥呭尯", width: "150", prop: "leavehospitaldistrictname" }, - ], - - tableLabelwj: [ - { label: "鍒涘缓浜�", width: "", prop: "createBy" }, - { label: "妯℃澘鏍囬", width: "", prop: "templateName" }, - { label: "闅忚鎻忚堪", width: "", prop: "note" }, - { label: "淇敼鏃ユ湡", width: "", prop: "updateTime" }, - ], - // 鍙橀噺 - tableLabelvariable: [ - { label: "鍙橀噺鍚嶇О", width: "", prop: "variablename" }, - { label: "鍖归厤绗�", width: "", prop: "character" }, - { label: "鏇挎崲鍊�", width: "", prop: "Replacementvalue" }, - ], - preachform: [ - { label: "澶氬獟浣�", value: 1 }, - { label: "绾歌川", value: 2 }, - { label: "鐢佃瘽", value: 3 }, - { label: "鐭俊", value: 4 }, - { label: "寰俊鍏紬鍙�", value: 5 }, - { label: "寰俊灏忕▼搴�", value: 6 }, - { label: "鏀粯瀹�", value: 7 }, - { label: "鏅鸿兘灏忕▼搴�", value: 8 }, - { label: "閽夐拤", value: 9 }, - { label: "绾夸笅锛堢焊璐級", value: 10 }, - { label: "绾夸笂锛堢煭淇�/閽夐拤鐨勬枃鏈�侀殢璁块摼鎺ワ級", value: 11 }, - ], - // 鏃堕棿澶勭悊 - daytime: [], //鏃ユ湡 - applydaytime: [], //璁$畻鏃ユ湡 - time1: "", //涓婂崍鏃堕棿娈� - time2: "", //涓嬪崍鏃堕棿娈� - time3: "", //鏅氫笂鏃堕棿娈� - time4: "", //鏅氫笂鏃堕棿娈� - topqueryParams: { - pageNum: 1, // - pageSize: 10, - }, - checkList: [], - foncheckList: [], - formatvalue: { - format1: "", - format2: "", - format3: "", - }, - deliverytopqueryParams: { - pageNum: 1, // - pageSize: 10, - }, - patientqueryParams: { - pageNum: 1, // - pageSize: 10, - topica: 1, //0鍏ㄩ儴1绉戝2鐥呭尯 - }, - topicoptions: [{ children: [{ children: [] }] }], - showSearch: true, // - total: 0, // - sontotal: 0, // - patienttotal: 0, // - // 閫変腑鏁扮粍 - ids: [], - // 闈炲崟涓鐢� - single: true, - // 闈炲涓鐢� - multiple: true, - // 鐢ㄦ埛琛ㄦ牸鏁版嵁 - userList: [], //妯℃澘鍒楄〃 - multiplechoice: [], //澶氶�夌粨鏋� - patientuserList: [], //閫夋嫨鎮h�呭垪琛� - sonuserList: [], //閫変腑鎮h�呭垪琛� - delvariableList: [], //鍒犻櫎鍙橀噺涓存椂瀛樺偍 - longtype: [ - { value: 0, label: "鏅�氫换鍔�" }, - { value: 1, label: "闀挎湡浠诲姟" }, - ], - variableList: [ - { - name: "濮撳悕", - value: "${name}", - fill: "娲惧彂鏃惰嚜鍔ㄥ尮閰�", - default: true, - }, - { - name: "鍦板潃", - value: "${dzz}", - fill: "娲惧彂鏃惰嚜鍔ㄥ尮閰�", - default: true, - }, - { - name: "鐢佃瘽", - value: "${dhh}", - fill: "娲惧彂鏃惰嚜鍔ㄥ尮閰�", - default: true, - }, - ], //鍙橀噺鍒楄〃 - transitionList: [ - { - name: "濮撳悕", - value: "${name}", - fill: "娲惧彂鏃惰嚜鍔ㄥ尮閰�", - default: true, - }, - { - name: "鍦板潃", - value: "${dzz}", - fill: "娲惧彂鏃惰嚜鍔ㄥ尮閰�", - default: true, - }, - { - name: "鐢佃瘽", - value: "${dhh}", - fill: "娲惧彂鏃惰嚜鍔ㄥ尮閰�", - default: true, - }, - ], - variableListTime: [], - tasktopic: null, //鏂板绫诲瀷 - SelectPatientslist: [], - form: { - patTaskRelevances: [], - sendType: 3, - longTask: 0, - templatename: "", - templateid: null, - libtemplateid: null, - kcb: "浜茬埍鐨勬偅鑰�/瀹跺睘锛屾偍濂斤紒鎴戜滑鏄禉涓尰澶т簩闄㈢殑鍖绘姢浜哄憳锛屼负浜嗘洿濂藉湴浜嗚В鎮ㄧ殑搴峰鎯呭喌锛岃鎮ㄦ娊涓�鐐瑰疂璐垫椂闂达紝杩涜鏈鍥炶鏈嶅姟銆�", - jsy: "璇锋偍娉ㄦ剰浼戞伅鍜岃惀鍏伙紝鐢熸椿涓婅鍔抽�哥粨鍚堬紝閫傚綋閿荤偧锛屾垝鐑熼檺閰掞紝淇濇寔蹇冩儏鑸掔晠锛屽畾鏈熷璇娿�傞偅鏈鍥炶鍐呭灏卞埌杩欓噷锛岀鎮ㄨ韩浣撳仴搴凤紒", - }, - taskoptions: [ - { - value: "1", - label: "鍑洪櫌鐥呬汉", - }, - { - value: "4", - label: "鍦ㄩ櫌鐥呬汉", - }, - { - value: "2", - label: "闂ㄨ瘖鐥呬汉", - }, - { - value: "3", - label: "浣撴鐥呬汉", - }, - ], - source: [ - { - value: 0, - label: "鎵�灞炴偅鑰�", - }, - { - value: 1, - label: "绉戝鎮h��", - }, - { - value: 2, - label: "鐥呭尯鎮h��", - }, - ], - - tasktypes: [ - { - value: 1, - label: "鐩戞祴璇勪及", - }, - { - value: 2, - label: "鍑洪櫌闅忚", - }, - { - value: 3, - label: "闂ㄨ瘖闅忚", - }, - { - value: 4, - label: "瀹f暀鍏虫��", - }, - { - value: 5, - label: "澶嶈瘖绠$悊", - }, - { - value: 6, - label: "婊℃剰搴﹁皟鏌�", - }, - { - value: 7, - label: "鎮h�呮姤鍛�", - }, - - { - value: 8, - label: "鍏朵粬閫氱煡", - }, - ], - // 绉戝/鐥呭尯 - belongWards: [], - deptlist: [], - hosplist: [], - tempDetpRelevanceslist: [], //绉戝鏁版嵁 - tempDetpRelevanceslistform: [], //绉戝鏁版嵁 - tempbelongWards: [], //鐥呭尯鏁版嵁 - tempbelongWardsform: [], //鐥呭尯鏁版嵁 - rules: { - taskName: [ - { required: true, message: "浠诲姟鍚嶇О涓嶈兘涓虹┖", trigger: "blur" }, - { - min: 2, - max: 30, - message: "浠诲姟鍚嶇О闀垮害蹇呴』浠嬩簬 2 鍜� 30 涔嬮棿", - trigger: "blur", - }, - ], - sendType: [ - { required: true, message: "鍙戦�佽缃笉鑳戒负绌�", trigger: "blur" }, - ], - deptcode: [ - { required: true, message: "閫傜敤绉戝涓嶈兘涓虹┖", trigger: "blur" }, - ], - leavehospitaldistrictcode: [ - { required: true, message: "閫傜敤鐥呭尯涓嶈兘涓虹┖", trigger: "blur" }, - ], - }, - // 绉戝闄㈠尯鏌ヨ鍏ュ弬 - queryParamsdept: { - tempid: "", - type: 2, - }, - belongDepts:[], - quote: false, - serviceType: null, - }; - }, - components: { SFtable }, - - created() { - this.appraiselist = store.getters.appraiselist; - // this.belongWards = store.getters.belongWards; - // this.belongDepts = store.getters.belongDepts; - this.username = store.getters.name; - this.mode = store.getters.Askmode; - this.id = this.$route.query.id; - this.newadd = this.$route.query.newadd; - this.form.type = this.$route.query.type; - this.form.typename = this.$route.query.typename; - this.serviceType = Number(this.$route.query.serviceType); - this.form.serviceType = Number(this.$route.query.serviceType); - this.Acquisitiontype(); - this.Getdetails(); - this.getDeptTree(); - this.getFollowupclassify(); - }, - activated() { - console.log(this.id, "CS", this.$route.query.id); - if (this.id != this.$route.query.id) { - this.id = this.$route.query.id; - this.newadd = this.$route.query.newadd; - this.form.type = this.$route.query.type; - this.form.typename = this.$route.query.typename; - this.serviceType = Number(this.$route.query.serviceType); - this.form.serviceType = Number(this.$route.query.serviceType); - - this.Acquisitiontype(); - this.Getdetails(); - this.getDeptTree(); - this.getFollowupclassify(); - } - }, - - methods: { - // 鍙橀噺杞崲瀵硅薄杞暟缁� - convertFormat1ToFormat2(data) { - let result = []; - for (let key in data) { - let innerKey = Object.keys(data[key])[0]; - result.push({ - name: key, - value: innerKey, - fill: data[key][innerKey], - }); - } - return result; - }, - // 鏁扮粍杞璞� - convertFormat2ToFormat1(data) { - let result = {}; - data.forEach((item) => { - let innerObj = {}; - innerObj[item.value] = item.fill; - result[item.name] = innerObj; - }); - return result; - }, - getDeptTree() { - // 绉戝鍒楄〃 - deptTreeSelect().then((response) => { - let flatArray = this.flattenArray(response.data); - this.belongWards = flatArray; - this.belongDepts = flatArray; - }); - }, - flattenArray(multiArray) { - let result = []; - - // 閫掑綊鍑芥暟锛岀敤浜庡皢澶氱骇鏁扮粍杞崲涓轰竴缁存暟缁勶紝鍙寘鍚渶搴曞眰鐨勫厓绱� - function flatten(element) { - // 濡傛灉褰撳墠鍏冪礌鏈夊瓙鍏冪礌锛岀户缁�掑綊 - if (element.children && element.children.length > 0) { - element.children.forEach((child) => flatten(child)); - } else { - // 鍏嬮殕鍏冪礌浠ラ伩鍏嶄慨鏀瑰師濮嬫暟鎹� - let item = JSON.parse(JSON.stringify(element)); - result.push(item); // 灏嗘渶搴曞眰鐨勫厓绱犳坊鍔犲埌缁撴灉鏁扮粍 - } - } - - // 浠庨《灞傚厓绱犲紑濮嬮�掑綊 - multiArray.forEach((element) => flatten(element)); - return result; // 杩斿洖鍙寘鍚渶搴曞眰鍏冪礌鐨勪竴缁存暟缁� - }, - // 鑾峰彇褰撳墠绫诲瀷 - Acquisitiontype() { - let queryParams = { - pageNum: this.topqueryParams.pageNum, - pageSize: this.topqueryParams.pageSize, - isenable: "", - }; - this.currenttype = this.$route.query.type; - this.title = "闅忚鍐呭鍒楄〃"; - this.tableLabel = this.tableLabelwj; - if (this.form.serviceType == 1) { - this.checkboxlist = [ - { - value: "1", - label: "浜哄伐", - }, - { - value: "2", - label: "绾歌川", - }, - { - value: "4", - label: "鐭俊", - disabled:true, - }, - { - value: "5", - label: "寰俊鍏紬鍙�", - }, - ]; - } else if (this.form.serviceType == 6) { - this.checkboxlist = [ - { - value: "3", - label: "鐢佃瘽", - }, - { - value: "4", - label: "鐭俊", - disabled:true, - }, - { - value: "5", - label: "寰俊鍏紬鍙�", - }, - { - value: "6", - label: "寰俊灏忕▼搴�", - }, - - { - value: "8", - label: "鏅鸿兘鏈哄櫒浜�", - }, - ]; - } else if (this.form.serviceType == 7 || this.form.serviceType == 5) { - this.checkboxlist = [ - { - value: "1", - label: "浜哄伐", - }, - { - value: "2", - label: "绾歌川", - }, - { - value: "3", - label: "鐢佃瘽", - }, - { - value: "4", - label: "鐭俊", - disabled:true, - }, - { - value: "5", - label: "寰俊鍏紬鍙�", - }, - { - value: "6", - label: "寰俊灏忕▼搴�", - }, - ]; - } else if (this.form.serviceType == 2 || this.form.serviceType == 3) { - this.checkboxlist = [ - { - value: "1", - label: "浜哄伐", - }, - { - value: "3", - label: "鐢佃瘽", - }, - { - value: "4", - label: "鐭俊", - disabled:true, - }, - { - value: "5", - label: "寰俊鍏紬鍙�", - }, - { - value: "6", - label: "寰俊灏忕▼搴�", - }, - - { - value: "8", - label: "鏅鸿兘鏈哄櫒浜�", - }, - ]; - } - getFollowuplist(this.topqueryParams).then((response) => { - this.userList = response.rows; - this.total = response.total; - }); - }, - nextstep() { - this.$refs["form"].validate((valid) => { - if (valid) { - if (this.Editprogress <= 3) { - return this.Editprogress++; - } - } else { - this.$modal.msgError("琛ㄥ崟鍐呭鏈畬鍠勶紝璇锋鏌�"); - } - }); - }, - // 淇濆瓨 - submitForm(formName) { - if (this.time4 && this.form.sendType == 3) - this.form.showTimeMorn = this.time4; - this.form.sendTimeslot = [ - { - begantime: this.time4, - endtime: "", - xh: 1, - }, - ]; - if ( - (this.belongWards[0] || this.belongWards[0]) && - this.username == "andmin" - ) { - if (this.tempbelongWards[0] || this.tempbelongWards[0]) { - } else { - this.$modal.msgError("璇烽�夋嫨绉戝鎴栫梾鍖�"); - return; - } - } - if (this.checkList[0]) { - this.form.preachform = this.checkList.join(","); - } else { - this.$modal.msgError("璇烽�夋嫨鏈嶅姟绫诲瀷"); - return; - } - if (!this.form.patTaskRelevances[0] && !this.form.longTask) { - this.$modal.msgError("璇烽�夋嫨鐥呬汉"); - return; - } - if (!this.form.templatename) { - this.$modal.msgError("鏈�夋嫨妯℃澘"); - return; - } - if ((this.form.sendType == 1 && this.time1) || this.form.sendType == 2) { - } else if ( - (this.form.sendType == 3 && this.time4) || - this.form.longTask - ) { - } else { - return this.$modal.msgError("鏃堕棿淇℃伅缂哄け"); - } - const filteredArray = this.variableList.filter( - (item) => - item.name !== "濮撳悕" && item.name !== "鐢佃瘽" && item.name !== "鍦板潃" - ); - this.form.textParam = this.convertFormat2ToFormat1(filteredArray); - if (this.form.taskid) { - this.form.isoperation = 2; - } else { - this.form.isoperation = 1; - } - if (!this.form.type) { - this.form.type = this.$route.query.type; - } - this.form.serviceType = this.serviceType; - this.form.leaveldeptcodes = store.getters.belongDepts.map( - (obj) => obj.deptCode - ); - this.form.leavehospitaldistrictcodes = store.getters.belongWards.map( - (obj) => obj.districtCode - ); - Editsingletask(this.form).then((res) => { - if (res.code == 200) { - if (this.form.taskid) { - this.$modal.msgSuccess("淇敼鎴愬姛"); - } else { - this.puttaskid(res.data); - this.$modal.msgSuccess("鏂板鎴愬姛"); - } - this.$router.push({ - path: "/followvisit/tasklist", - query: { tasktopic: this.form.serviceType }, - }); - } - }); - }, - // 缁欎换鍔℃ā鏉胯祴鍊间换鍔d - puttaskid(data) { - getTaskparticty(this.form.templateid).then((res) => { - if (res.code == 200) { - this.objyl = res.data; - this.objyl.isoperation = 2; - this.objyl.taskid = data.taskId; - if (!this.objyl.sendDa) { - this.objyl.sendDay='5'; - } - console.log(this.objyl.sendDay,'this.objyl.sendDay'); - - Taskparticty(this.objyl).then((response) => { - this.previewtf = false; - this.form.libtemplateid = this.objyl.id; - this.form.templateid = response.data; - // this.putbelongDepts(response.data); - this.form.templatename = this.objyl.templateName; - this.$modal.msgSuccess("閫夋嫨妯℃澘鎴愬姛"); - }); - } - }); - }, - // ----------------------琛ㄦ牸瀛愮粍浠朵簨浠� - - // 閫夋嫨棰勮 - selectfn(row, type) { - // 妯℃澘鎯呭喌涓嬭幏鍙栨ā鏉夸俊鎭� - if (type == 1) { - this.libName = row.templateName; - this.libId = row.id; - this.questionList = row.ivrLibaTemplateScriptVOList; - getvFollowup({ id: row.id }).then((res) => { - if (res.code == 200) { - this.objyl = res.data; - if (this.form.longTask) { - this.objyl.sendDay = 5; - } - this.queryParamsdept.type = 2; - this.queryParamsdept.tempid = row.id; - this.listDept(); - - this.objyl.suitway = this.objyl.suitway.split(","); - this.questionList = res.data.ivrLibaTemplateScriptVOList; - this.getillness(row.id); - this.Variablehandling(res.data.ivrLibaTemplateScriptVOList, 1); - this.previewtf = true; - } - }); - this.previewid = row.id; - } else if (type == 2) { - } else if (type == 3) { - } - }, - // 棰勮 - previewfnmb() { - getTaskparticty(this.form.templateid).then((res) => { - if (res.code == 200) { - this.objyl = res.data; - if (this.objyl.suitway) - this.objyl.suitway = this.objyl.suitway.split(","); - this.queryParamsdept.tempid = this.form.templateid; - this.queryParamsdept.type = 21; - // 鐤剧梾 - this.getillness(this.form.libtemplateid); - // 鎵ц鑾峰彇璇ヤ换鍔℃ā鏉縤d - this.listDept(); - getvFollowup({ id: this.form.libtemplateid }).then((res) => { - if (res.code == 200) { - this.previewtf = true; - this.previewtftype = 1; - this.questionList = res.data.ivrLibaTemplateScriptVOList; - this.objyl.ivrLibaTemplateScriptVOList = - res.data.ivrLibaTemplateScriptVOList; - } else { - } - }); - } - }); - }, - getillness(id) { - if (id) { - getillness({ outid: id, type: 5 }).then((res) => { - this.illnesslist = res.rows; - this.illnesslist.forEach((item) => { - item.icdname = item.icd10name; - }); - }); - } - }, - // 澶勭悊闂灞傚彉閲� - Variablehandling(arr, type) { - let Variablist = []; - if (type == 1) { - // 寰幆闂 - arr.forEach((res) => { - // 寰幆閫夐」 - JSON.parse(res.otherdata).forEach((item) => { - if (item.default != 1) { - Variablist.push({ - value: item.variate, - fill: "", - name: item.variatename, - }); - } - }); - }); - - const Aarr = Variablist.filter( - (obj, index, self) => - index === - self.findIndex((t) => t.name === obj.name && t.value === obj.value) - ); - - this.variableList = this.transitionList.concat(Aarr); - // this.form.textParam = this.convertFormat2ToFormat1(this.variableList); - } - }, - // 瀛愪换鍔′簩绾у脊妗� - handleAddpatient(row) { - this.allpids = []; - this.overallCase.forEach((item) => { - this.allpids.push(item.patid); - }); - if (this.patientqueryParams.allhosp == 1) { - this.tableLabelhz = [ - // { label: "鍏ラ櫌鏃ユ湡", width: "170", prop: "starttime" }, - { label: "鍑洪櫌鏃ユ湡", width: "150", prop: "endtime" }, - { label: "鎮h��", width: "", prop: "name" }, - { label: "韬唤璇�", width: "200", prop: "idcardno" }, - { label: "鐢佃瘽鍙风爜", width: "180", prop: "telcode" }, - { label: "鎬у埆", width: "", prop: "sex" }, - { label: "骞撮緞", width: "", prop: "age" }, - { label: "鍑洪櫌澶╂暟", width: "", prop: "endDay" }, - { label: "璐d换鎶ゅ+", width: "", prop: "nurseName" }, - { label: "鍖荤敓", width: "", prop: "drname" }, - { label: "绉戝", width: "180", prop: "dept" }, - { label: "鐥呭尯", width: "150", prop: "leavehospitaldistrictname" }, - ]; - } else if (this.patientqueryParams.allhosp == 4) { - this.tableLabelhz = [ - { label: "鍏ラ櫌鏃ユ湡", width: "150", prop: "starttime" }, - { label: "鎮h��", width: "", prop: "name" }, - { label: "韬唤璇�", width: "200", prop: "idcardno" }, - { label: "鐢佃瘽鍙风爜", width: "180", prop: "telcode" }, - { label: "鎬у埆", width: "", prop: "sex" }, - { label: "骞撮緞", width: "", prop: "age" }, - { label: "鍑洪櫌澶╂暟", width: "", prop: "endDay" }, - { label: "璐d换鎶ゅ+", width: "", prop: "nurseName" }, - { label: "鍖荤敓", width: "", prop: "drname" }, - { label: "绉戝", width: "180", prop: "dept" }, - { label: "鐥呭尯", width: "150", prop: "leavehospitaldistrictname" }, - ]; - } - if (this.allpids[0]) { - this.patientqueryParams.pids = this.allpids; - } else { - this.patientqueryParams.pids = null; - } - // 绫诲瀷鍒ゆ柇 - if (this.patientqueryParams.allhosp == 1) { - this.patientqueryParams.cry = 1; - } else if (this.patientqueryParams.allhosp == 4) { - this.patientqueryParams.cry = 0; - this.patientqueryParams.allhosp = "1"; - } - // 鏉ユ簮鍒ゆ柇 - - if (this.patientqueryParams.searchscope == 1) { - this.patientqueryParams.leaveldeptcodes = store.getters.belongDepts.map( - (obj) => obj.deptCode - ); - this.patientqueryParams.leavehospitaldistrictcodes = []; - } else if (this.patientqueryParams.searchscope == 2) { - this.patientqueryParams.leavehospitaldistrictcodes = - store.getters.belongWards.map((obj) => obj.districtCode); - this.patientqueryParams.leaveldeptcodes = []; - } else { - this.patientqueryParams.leaveldeptcodes = store.getters.belongDepts.map( - (obj) => obj.deptCode - ); - this.patientqueryParams.leavehospitaldistrictcodes = - store.getters.belongWards.map((obj) => obj.districtCode); - } - getTaskpatient(this.patientqueryParams).then((response) => { - this.patientuserList = response.rows; - this.patientuserList.forEach((item) => { - if (item.endtime) { - item.endDay = this.daysBetween(item.endtime); - } - }); - this.patienttotal = response.total; - this.loading = false; - this.Restorecheck(); - }); - this.dialogVisiblepatient = true; - }, - handleUpdate() {}, - handleDelete() {}, - handleExport() {}, - // 閫夋嫨鎮h�呰〃鏁版嵁 - handleSelectionChange(selection) { - this.SelectPatientslist = structuredClone(selection); - this.multiple = !selection.length; - - // 璧嬪�肩粰鏁翠綋閫変腑鏁扮粍 - this.SelectPatientslist.forEach((item) => { - const isExist = this.overallCase.find((obj) => obj.name == item.name); - if (!isExist) { - item.isoperation = 1; - item.patid = item.id; - item.hospType = this.patientqueryParams.allhosp; - item.sfzh = item.idcardno; - item.deptCode = item.deptcode; - item.deptName = item.dept; - item.admindate = item.inhosptime; - item.sfzh = item.idcardno; - this.overallCase.push(item); - this.form.patTaskRelevances.push(item); - } - }); - }, - // 鍒囨崲椤靛悗鎭㈠閫変腑 - Restorecheck() { - const allid = this.overallCase.map((item) => item.patid); - const overlap = this.patientuserList.filter((value) => { - return allid.includes(value.patid); - }); - // 淇濇寔ids鍜屽綋鍓嶉〉闈㈢殑鍚屾鎬� - this.SelectPatientslist = overlap; - this.toggleSelection(overlap); - }, - // 鎸傝浇閫夋嫨鐘舵�� - toggleSelection(rows) { - if (rows) { - this.decision = true; - this.$nextTick(() => { - rows.forEach((row) => { - this.$refs.multipleTable.toggleRowSelection(row, true); - }); - this.decision = false; - }); - } else { - this.$refs.multipleTable.clearSelection(); - } - }, - // 鍒犻櫎閫変腑鎮h�� - detailhz(row, info) { - this.$modal - .confirm('鏄惁纭鍒犻櫎鎮h��"' + row.name + '"鐨勬湇鍔¢」锛�') - .then(() => { - let indexa = this.overallCase.indexOf(row); - let indexb = this.form.patTaskRelevances.indexOf(row); - this.overallCase.splice(indexa, 1); - this.form.patTaskRelevances[indexb].isoperation = 3; - this.$modal.msgSuccess("鍒犻櫎鎴愬姛"); - }); - }, - getList() {}, - handleQuery() { - if (this.patientqueryParams.topica == 0) { - this.patientqueryParams.leavehospitaldistrictcodes = - store.getters.leavehospitaldistrictcodes; - this.patientqueryParams.leaveldeptcodes = store.getters.leaveldeptcodes; - } else if (this.patientqueryParams.topica == 1) { - this.patientqueryParams.leavehospitaldistrictcodes = null; - this.patientqueryParams.leaveldeptcodes = store.getters.leaveldeptcodes; - } else if (this.patientqueryParams.topica == 2) { - this.patientqueryParams.leavehospitaldistrictcodes = - store.getters.leavehospitaldistrictcodes; - this.patientqueryParams.leaveldeptcodes = null; - } - this.handleAddpatient(); - }, - resetQuery() {}, - handleQuerymb() { - getFollowuplist(this.topqueryParams).then((response) => { - this.userList = response.rows; - this.total = response.total; - }); - }, - handleClosehz() { - this.dialogVisiblepatient = false; - }, - // 涓婁竴姝� - laststep() { - this.Editprogress--; - }, - // 鎻愪氦琛ㄥ崟 - resetForm(formName) { - this.$refs[formName].resetFields(); - }, - // 棰勮妯℃澘 - PreviewTemplate() {}, - Acknowledgereference() { - this.quote = true; - }, - // 鑾峰彇璇︽儏 - Getdetails() { - this.form = { - patTaskRelevances: [], - sendType: 1, - templatename: "", - templateid: null, - libtemplateid: null, - kcb: "浜茬埍鐨勬偅鑰�/瀹跺睘锛屾偍濂斤紒鎴戜滑鏄禉涓尰澶т簩闄㈢殑鍖绘姢浜哄憳锛屼负浜嗘洿濂藉湴浜嗚В鎮ㄧ殑搴峰鎯呭喌锛岃鎮ㄦ娊涓�鐐瑰疂璐垫椂闂达紝瀹屾垚杩欎唤闅忚銆�", - jsy: "璇锋偍娉ㄦ剰浼戞伅鍜岃惀鍏伙紝鐢熸椿涓婅鍔抽�哥粨鍚堬紝閫傚綋閿荤偧锛屾垝鐑熼檺閰掞紝淇濇寔蹇冩儏鑸掔晠锛屽畾鏈熷璇娿�傞偅鏈鍥炶灏卞埌杩欓噷锛岀鎮ㄨ韩浣撳仴搴凤紒", - }; - - this.questionList = []; - if (this.id) { - getTaskInfo({ taskid: this.id }).then((res) => { - let filteredArray = ""; - if (res.code == 200) { - this.form = res.data; - this.form.serviceType = this.serviceType; - this.form.patTaskRelevances = this.form.patTaskRelevances - ? this.form.patTaskRelevances - : []; - this.overallCase = this.form.patTaskRelevances.concat(); - this.checkList = this.form.preachform.split(","); - - this.overallCase.forEach((item) => { - if (item.endtime) { - item.endDay = this.daysBetween(item.endtime); - } - }); - if (this.form.showDate) - this.daytime = this.form.showDate.split(","); - if (this.form.showTimeMorn) { - if (this.form.sendType == 3) { - this.time4 = this.form.showTimeMorn; - } else { - this.time1 = this.form.showTimeMorn.split(","); - } - } - if (this.form.showTimeNoon) - this.time2 = this.form.showTimeNoon.split(","); - if (this.form.showTimeNight) - this.time3 = this.form.showTimeNight.split(","); - filteredArray = this.convertFormat1ToFormat2(this.form.textParam); - this.variableList = this.transitionList.concat(filteredArray); - } else { - this.$modal.msgError(res.code); - } - - if (this.newadd) { - this.neWaddfn(); - } - }); - } - }, - // 渚濈収鏂板鏃跺鐞� - neWaddfn() { - this.id = null; - this.form.taskName = ""; - this.form.sendState = null; - this.form.taskid = null; - this.overallCase = []; - this.form.patTaskRelevances = []; - this.daytime = []; //鏃ユ湡 - this.applydaytime = []; //璁$畻鏃ユ湡 - this.time1 = ""; //涓婂崍鏃堕棿娈� - this.time2 = ""; //涓嬪崍鏃堕棿娈� - this.time3 = ""; //鏅氫笂鏃堕棿娈� - this.time4 = ""; //鏅氫笂鏃堕棿娈� - }, - // 鑾峰彇绉戝鍒楄〃 - listDept() { - this.tempDetpRelevanceslist = []; - this.tempbelongWards = []; - depthospgetsonlist(this.queryParamsdept).then((res) => { - if (res.code == 200) { - let arr = res.rows; - arr.forEach((item) => { - if (item.deptType == 1) { - this.deptlist.push(item); - this.tempDetpRelevanceslist.push(item.deptCode); - } else if (item.deptType == 2) { - this.hosplist.push(item); - this.tempbelongWards.push(item.deptCode); - } - }); - } - }); - }, - getFollowupclassify() { - getFollowupclassify({}).then((res) => { - this.optionsclass = res.rows; - }); - }, - // 鏂板娲鹃�佹偅鑰� - AddDispatchpatients() { - // this.SelectPatientslist.forEach((item) => { - // item.isoperation = 1; - // }); - // this.form.patTaskRelevances.push(...this.SelectPatientslist); - // this.overallCase.push(...this.SelectPatientslist); - this.dialogVisiblepatient = false; - }, - - variableDelete(index, row) { - this.variableList.splice(index, 1); - row.isoperation = 3; - this.delvariableList.push(row); - }, - // 鏃堕棿---------- - changeTime(row) { - this.processingTime(); - }, - Totaldate(row) { - this.form.sendTimeslot = [{ begantime: row, endtime: row, xh: 1 }]; - this.form.showTimeMorn = row; - }, - changeTimeday(row) { - const startDate = new Date(row[0]); - const endDate = new Date(row[1]); - this.applydaytime = this.getDates(startDate, endDate); - this.processingTime(); - }, - getDates(startDate, endDate) { - const dates = []; - let currentDate = new Date(startDate); - - while (currentDate <= endDate) { - dates.push(this.$moment(currentDate).format("YYYY-MM-DD")); - currentDate.setDate(currentDate.getDate() + 1); - } - - return dates; - }, - // 鏃堕棿鏈�缁堝鐞嗘柟娉� - processingTime() { - const combinedData = []; - let serialnumber = 1; - if (this.time3[0]) { - serialnumber = 3; - } else if (this.time2[0]) { - serialnumber = 2; - } else if (this.time1[0]) { - serialnumber = 1; - } else { - return; - } - - for (let i = 0; i < this.applydaytime.length; i++) { - combinedData.push({ - begantime: `${this.applydaytime[i]} ${this.time1[0]}`, - endtime: `${this.applydaytime[i]} ${this.time1[1]}`, - xh: serialnumber * i + 1, - }); - if (serialnumber >= 2) { - combinedData.push({ - begantime: `${this.applydaytime[i]} ${this.time2[0]}`, - endtime: `${this.applydaytime[i]} ${this.time2[1]}`, - xh: serialnumber * i + 2, - }); - } - if (serialnumber >= 3) { - combinedData.push({ - begantime: `${this.applydaytime[i]} ${this.time3[0]}`, - endtime: `${this.applydaytime[i]} ${this.time3[1]}`, - xh: serialnumber * i + 3, - }); - } - } - this.form.sendTimeslot = combinedData; - // 灞曠ず鏁版嵁涓存椂瀛樺偍鏃ユ湡銆佹棭銆佷腑銆佹櫄 - - this.form.showDate = this.daytime.join(","); - if (this.time1) this.form.showTimeMorn = this.time1.join(","); - if (this.time2) this.form.showTimeNoon = this.time2.join(","); - if (this.time3) this.form.showTimeNight = this.time3.join(","); - }, - - // 淇濆瓨/鏇存柊浠诲姟妯℃澘 - previewFn() { - if (Array.isArray(this.objyl.suitway)) { - this.objyl.suitway = this.objyl.suitway.join(","); - } - this.objyl.ivrLibaTemplateScriptVOList.forEach((item) => { - item.ivrTaskScriptTargetoptionList = item.ivrLibaScriptTargetoptionList; - }); - this.objyl.ivrTaskTemplateScriptVOList = - this.objyl.ivrLibaTemplateScriptVOList; - this.objyl.isoperation = 1; - if (this.form.id) { - this.objyl.taskid = this.form.id; - } - if (!this.objyl.sendDay) { - this.objyl.sendDay='5'; - } - if (this.form.templateid) { - deleteTaskparticty(this.form.templateid).then((res) => { - if (res.code == 200) { - Taskparticty(this.objyl).then((response) => { - this.previewtf = false; - this.form.libtemplateid = this.objyl.id; - this.form.templateid = response.data; - this.putbelongDepts(response.data); - this.form.templatename = this.objyl.templateName; - this.$modal.msgSuccess("鏇挎崲妯℃澘鎴愬姛"); - this.drawermb = false; //閫夋嫨妯℃澘寮圭獥 - this.previewtf = false; //棰勮 - if (this.skip) { - // 璺宠浆鍓嶅線淇敼 - this.$router.push({ - path: "/knowledge/taskub/", - query: { id: response.data }, - }); - } - }); - } - }); - } else { - Taskparticty(this.objyl).then((response) => { - this.previewtf = false; - this.form.libtemplateid = this.objyl.id; - this.form.templateid = response.data; - this.putbelongDepts(response.data); - this.form.templatename = this.objyl.templateName; - this.$modal.msgSuccess("閫夋嫨妯℃澘鎴愬姛"); - this.drawermb = false; //閫夋嫨妯℃澘寮圭獥 - this.previewtf = false; //棰勮 - if (this.skip) { - // 璺宠浆鍓嶅線淇敼 - this.$router.push({ - path: "/knowledge/taskub/", - query: { id: response.data }, - }); - } - }); - } - }, - // 淇濆瓨绉戝/鐥呭尯 - putbelongDepts(id) { - this.tempDetpRelevanceslistform.forEach((item) => { - item.tempid = id; - }); - this.tempbelongWardsform.forEach((item) => { - item.tempid = id; - }); - depthospgetson(this.tempDetpRelevanceslistform).then((res) => { - if (res.code == 200) { - this.$modal.msgSuccess("绉戝鏇存柊鎴愬姛"); - this.tempDetpRelevanceslistform = []; - } - }); - depthospgetson(this.tempbelongWardsform).then((res) => { - if (res.code == 200) { - this.$modal.msgSuccess("鐥呭尯鏇存柊鎴愬姛"); - this.tempbelongWardsform = []; - } - }); - }, - checkboxChange(checked, value) {}, - // 鏈嶅姟褰㈠紡閫夊彇 - handleCheckedCitiesChange(row) { - console.log(row, "鏈嶅姟"); - this.foncheckList = this.checkboxlist.filter((obj) => - row.includes(obj.value) - ); - }, - // 鏈嶅姟褰㈠紡鍒犻櫎 - handleClosetag(tag) { - console.log(tag, "tag"); - console.log(this.foncheckList, "foncheckList"); - this.checkList = this.checkList.filter((item) => item != tag.value); - this.foncheckList = this.foncheckList.filter( - (obj) => obj.value !== tag.value - ); - console.log(this.checkList, "checkList"); - }, - // 绉戝澶勭悊 - Departmenttreatment() { - this.tempDetpRelevanceslist.forEach((item) => { - this.tempDetpRelevanceslistform.push({ - deptType: 1, - longTemp: this.form.longTask, - deptCode: item, - tempid: null, - type: 21, - }); - }); - - this.tempbelongWards.forEach((item) => { - this.tempbelongWardsform.push({ - deptType: 2, - longTemp: this.form.longTask, - deptCode: item, - tempid: null, - type: 21, - }); - }); - console.log(33); - - setTimeout(() => { - this.previewFn(); - }, 1000); - }, - // 鍓嶅線淇敼 - Modifytemplate() { - if (this.form.templateid && this.previewtftype) { - this.$modal.confirm("鏄惁鍓嶅線淇敼浠诲姟妯℃澘璇︾粏鍐呭锛�").then(() => { - this.drawermb = false; //閫夋嫨妯℃澘寮圭獥 - this.previewtf = false; //棰勮 - this.$router.push({ - path: "/knowledge/taskub/", - query: { id: this.form.templateid }, - }); - }); - } else { - this.$modal - .confirm("褰撳墠涓哄熀纭�棰勮鏄惁鍒涘缓浠诲姟妯℃澘骞跺墠寰�淇敼璇︽儏锛�") - .then(() => { - // 璧板彇鍏堢粦瀹氬悗淇敼鎿嶄綔 - this.Departmenttreatment(); - this.skip = true; - }); - } - }, - }, -}; -</script> - -<style lang="scss" scoped> -.Questionnairemanagement { -} -.leftvlue-jbxx { - margin-top: 10px; -} -.sidecolumn { - width: 100%; - // min-height: 12vh; - margin: 20px; - margin-bottom: 0; - 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); -} -.leftvlue { - // display: flex; - // flex: 1; - width: 100%; - margin-top: 20px; - // margin: 20px; - padding: 30px; - background: #ffff; - border: 1px solid #dcdfe6; - -webkit-box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.12), - 0 0 6px 0 rgba(0, 0, 0, 0.04); -} -.examine-jic { - margin: 20px; - .headline { - font-size: 24px; - height: 40px; - border-left: 5px solid #41a1be; - padding-left: 5px; - margin-bottom: 10px; - display: flex; - // justify-content: space-between; - .Add-details { - font-size: 18px; - color: #02a7f0; - cursor: pointer; - } - } - .jic-value { - font-size: 20px; - border-top: 1px solid #a7abac; - padding: 10px; - margin-bottom: 10px; - .details-jic { - padding: 10px 15px; - 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); - .details-title { - display: flex; - justify-content: space-between; - margin-bottom: 10px; - div:nth-child(2) { - color: #02a7f0; - cursor: pointer; - } - } - .details-renw { - background: #e4ebfc; - padding: 15px 5px; - border-radius: 5px; - margin-bottom: 20px; - } - } - } -} -.xinz-infs { - font-size: 18px; - line-height: 48px; - - .el-tag + .el-tag { - margin-left: 10px; - } -} - -.preview-left { - margin: 20px; - // margin: 20px; - padding: 30px; - background: #ffff; - // border: 1px solid #dcdfe6; - // -webkit-box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.12), - // 0 0 6px 0 rgba(0, 0, 0, 0.04); - .scriptTopic-dev { - margin-bottom: 25px; - font-size: 20px !important; - .dev-text { - margin-bottom: 10px; - } - } -} -.jic-value { - font-size: 20px; - border-top: 1px solid #a7abac; - padding: 10px; - margin-bottom: 10px; - .details-jic { - padding: 10px 15px; - 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); - .details-title { - display: flex; - justify-content: space-between; - margin-bottom: 10px; - div:nth-child(2) { - color: #02a7f0; - cursor: pointer; - } - } - .details-renw { - background: #e4ebfc; - padding: 15px 5px; - border-radius: 5px; - margin-bottom: 20px; - } - } -} -::v-deep .addtopic-input { - input { - background: #02a7f0; - color: #edf1f7; - width: 150px; - } -} -::v-deep.el-step.is-vertical .el-step__title { - font-size: 25px; -} -::v-deep.el-row { - margin-bottom: 10px; -} -// ::v-deep.el-input--medium { -// font-size: 24px !important; -// } -::v-deep.ruleFormaa.el-select { - display: inline-block; - position: relative; - width: 700px; -} -.el-select__tags { - font-size: 20px; - max-width: 888px !important; -} -::v-deep.el-radio__inner { - width: 22px; - height: 22px; -} -// ::v-deep.topic-dev.el-radio__label { -// font-size: 24px; -// } -::v-deep.el-radio-group { - span { - font-size: 18px; - } -} -::v-deep.el-input.is-disabled .el-input__inner { - background-color: #f5f7fa; - border-color: #dfe4ed; - color: rgb(253, 66, 66); - cursor: not-allowed; -} -::v-deep.el-checkbox-group { - span { - font-size: 18px; - } -} -</style> diff --git a/src/views/patient/questionnaire/index.vue b/src/views/patient/questionnaire/index.vue deleted file mode 100644 index 2212a6a..0000000 --- a/src/views/patient/questionnaire/index.vue +++ /dev/null @@ -1,1039 +0,0 @@ -<template> - <div class="app-container"> - <el-row :gutter="20"> - <!--鐢ㄦ埛鏁版嵁--> - - <el-form - :model="topqueryParams" - ref="queryForm" - size="small" - :inline="true" - v-show="showSearch" - label-width="98px" - > - <el-form-item label="闂嵎浜哄鍚�"> - <el-input v-model="topqueryParams.name"></el-input> - </el-form-item> - <el-form-item label="闂嵎鏃堕棿"> - <el-date-picker - v-model="dateRange" - style="width: 240px" - value-format="yyyy-MM-dd" - type="daterange" - range-separator="-" - start-placeholder="寮�濮嬫棩鏈�" - end-placeholder="缁撴潫鏃ユ湡" - ></el-date-picker> - </el-form-item> - <el-form-item label="闂嵎绫诲瀷" prop="status"> - <el-select v-model="topqueryParams.topic" placeholder="璇烽�夋嫨"> - <el-option - v-for="item in topicoptions" - :key="item.value" - :label="item.label" - :value="item.value" - > - </el-option> - </el-select> - </el-form-item> - <el-form-item label="闂嵎鍚嶇О" prop="status"> - <el-input v-model="topqueryParams.name"></el-input> - </el-form-item> - <el-form-item label="鍙戦�佺姸鎬�" prop="status"> - <el-select v-model="topqueryParams.topic" placeholder="璇烽�夋嫨"> - <el-option - v-for="item in topicoptions" - :key="item.value" - :label="item.label" - :value="item.value" - > - </el-option> - </el-select> - </el-form-item> - <el-form-item> - <el-button - type="primary" - icon="el-icon-search" - size="medium" - @click="handleQuery" - >鎼滅储</el-button - > - <el-button icon="el-icon-refresh" size="medium" @click="resetQuery" - >閲嶇疆</el-button - > - </el-form-item> - </el-form> - <el-divider></el-divider> - <el-row :gutter="10" class="mb8"> - <el-col :span="1.5"> - <el-button - type="primary" - plain - icon="el-icon-plus" - size="medium" - @click="handleAdd" - v-hasPermi="['system:user:add']" - >鏂板</el-button - > - </el-col> - <el-col :span="1.5"> - <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"> - <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" - size="medium" - @click="AllStop" - 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="primary" - icon="el-icon-remove" - size="medium" - @click="Sendtimesetting" - v-hasPermi="['system:user:export']" - >鍙戦�佹椂闂磋缃�</el-button - > - </div> - </div> - </el-col> - - <!-- <el-col :span="1.5"> </el-col> --> - </el-row> - <el-table - v-loading="loading" - :data="userList" - @selection-change="handleSelectionChange" - > - <el-table-column type="selection" width="50" align="center" /> - <el-table-column - label="搴忓彿" - fixed - align="center" - key="userId" - prop="userId" - /> - - <el-table-column - label="濮撳悕" - fixed - align="center" - key="patientname" - prop="patientname" - /> - <el-table-column - label="搴婂彿" - align="center" - sortable - key="bedNo" - prop="bedNo" - width="120" - /> - <el-table-column label="骞撮緞" align="center" key="age" prop="age" /> - <el-table-column - label="绉戝/鐥呭尯" - align="center" - key="phonenumber" - prop="phonenumber" - width="120" - > - </el-table-column> - - <el-table-column - label="闂嵎鍚嶇О" - align="center" - key="topicnumber" - prop="topicnumber" - width="120" - :show-overflow-tooltip="true" - > - <template slot-scope="scope"> - <div>鏈悗搴峰甯歌瘑</div> - </template> - </el-table-column> - <el-table-column - label="鍙戦�佹柟寮�" - align="center" - key="topicnumberc" - prop="topicnumberc" - width="120" - :show-overflow-tooltip="true" - > - <template slot-scope="scope"> - <div>鎵归噺</div> - </template> - </el-table-column> - <el-table-column - label="鍙戦�佸唴瀹�" - align="center" - key="topicnumberb" - prop="topicnumberb" - width="120" - /> - <el-table-column - label="鍙戦�佷汉鍛�" - align="center" - key="topicnumberaa" - prop="topicnumberaa" - width="120" - /> - - <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="鍥炲鏃堕棿" - 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="鍙戦�佺姸鎬�" - align="center" - key="topicnumbera" - prop="topicnumbera" - width="120" - :show-overflow-tooltip="true" - > - <template slot-scope="scope"> - <div>宸插彂閫佹湭棰嗗彇</div> - </template> - </el-table-column> - <el-table-column - label="鎿嶄綔" - fixed="right" - align="center" - width="200" - class-name="small-padding fixed-width" - > - <template slot-scope="scope"> - <!-- <el-button - size="medium" - type="text" - @click="followupvisit(scope.row)" - v-hasPermi="['system:user:edit']" - ><span class="button-bb" - ><i class="el-icon-s-promotion"></i>閲嶆柊鍙戦��</span - ></el-button - > - <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']" - ><span class="button-zx" - ><i class="el-icon-s-order"></i>鏌ョ湅璇︽儏</span - ></el-button - > - </template> - </el-table-column> - </el-table> - - <pagination - v-show="total > 0" - :total="total" - :page.sync="topqueryParams.pageNum" - :limit.sync="topqueryParams.pageSize" - @pagination="getList" - /> - </el-row> - <!-- 娣诲姞鎴栦慨鏀归棬璇婇殢璁垮璇濇 --> - <el-dialog - :title="title" - :visible.sync="addalteropen" - width="700px" - append-to-body - > - <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-select> - </el-form-item> - </el-col> - </el-row> - <el-row :gutter="20"> - <el-col :span="24"> - <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> - </div> - </el-dialog> - <!-- 淇敼鍙戦�佹椂闂村璇濇 --> - <el-dialog - title="鍙戦�佹椂闂磋缃�" - :visible.sync="modificationVisible" - width="45%" - > - <div style="margin-bottom: 20px; color: red"> - 缁熶竴淇敼褰撳ぉ鏈彂閫佺殑浠诲姟鏃堕棿 - </div> - - <el-form - :model="ruleForm" - :rules="rules" - ref="ruleForm" - label-width="120px" - class="demo-ruleForm" - > - <el-form-item label="鍙戦�佹棩鏈�"> - <el-date-picker - v-model="ruleForm.value1" - type="date" - placeholder="閫夋嫨鏃ユ湡" - > - </el-date-picker> - </el-form-item> - - <el-form-item label="鏃堕棿娈�" prop="type"> - <el-checkbox-group v-model="ruleForm.type"> - <el-checkbox label="涓婂崍" name="type"></el-checkbox> - <el-checkbox label="涓嬪崍" name="type"></el-checkbox> - <el-checkbox label="鏅氫笂" name="type"></el-checkbox> - </el-checkbox-group> - </el-form-item> - <el-form-item label="涓婂崍鏃堕棿鍖洪棿" required> - <el-time-picker - is-range - v-model="ruleForm.value2" - range-separator="鑷�" - start-placeholder="寮�濮嬫椂闂�" - end-placeholder="缁撴潫鏃堕棿" - placeholder="閫夋嫨鏃堕棿鑼冨洿" - > - </el-time-picker> - </el-form-item> - <el-form-item label="涓嬪崍鏃堕棿鍖洪棿" required> - <el-time-picker - is-range - v-model="ruleForm.value3" - range-separator="鑷�" - start-placeholder="寮�濮嬫椂闂�" - end-placeholder="缁撴潫鏃堕棿" - placeholder="閫夋嫨鏃堕棿鑼冨洿" - > - </el-time-picker> - </el-form-item> - <el-form-item label="鏅氫笂鏃堕棿鍖洪棿" required> - <el-time-picker - is-range - v-model="ruleForm.value4" - range-separator="鑷�" - start-placeholder="寮�濮嬫椂闂�" - end-placeholder="缁撴潫鏃堕棿" - placeholder="閫夋嫨鏃堕棿鑼冨洿" - > - </el-time-picker> - </el-form-item> - </el-form> - - <span slot="footer" class="dialog-footer"> - <el-button @click="modificationVisible = false">鍙� 娑�</el-button> - <el-button type="primary" @click="modificationVisible = false" - >纭� 瀹�</el-button - > - </span> - </el-dialog> - </div> -</template> - -<script> -import { - getUser, - delUser, - addUser, - updateUser, - resetUserPwd, - changeUserStatus, -} from "@/api/system/user"; -import { getTaskservelist } from "@/api/AiCentre/index"; - -import Treeselect from "@riophae/vue-treeselect"; -import "@riophae/vue-treeselect/dist/vue-treeselect.css"; - -export default { - name: "User", - dicts: ["sys_normal_disable", "sys_user_sex"], - components: { Treeselect }, - data() { - return { - // 閬僵灞� - loading: true, - // 閫変腑鏁扮粍 - ids: [], - // 闈炲崟涓鐢� - single: true, - // 闈炲涓鐢� - multiple: true, - // 鏄剧ず鎼滅储鏉′欢 - showSearch: true, - // 鎬绘潯鏁� - total: 0, - // 鐢ㄦ埛琛ㄦ牸鏁版嵁 - userList: null, - // 寮瑰嚭灞傛爣棰� - title: "鏂板闂ㄨ瘖闅忚", - // 鏄惁鏄剧ず淇敼銆佹坊鍔犲脊鍑哄眰 - addalteropen: false, - // 淇敼鍙戦�佹椂闂村璇濇 - modificationVisible: false, - // 閮ㄩ棬鍚嶇О - deptName: undefined, - // 榛樿瀵嗙爜 - initPassword: undefined, - // 鏃ユ湡鑼冨洿 - dateRange: [], - // 宀椾綅閫夐」 - postOptions: [], - ruleForm: { - type: [], - }, - dynamicTags: ["閫夐」涓�", "閫夐」浜�", "閫夐」涓�"], //閫夐」 - inputVisible: false, - inputValue: "", - previewVisible: false, //闂ㄨ瘖闅忚棰勮寮规 - radio: "", - radios: [], - previewtype: 2, //棰勮闂ㄨ瘖闅忚绫诲瀷 - total: 0, // 鎬绘潯鏁� - 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(); - }, - 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:7, - - }, - propss: { multiple: true }, - options: [], - - topicoptions: [ - { - value: 1, - label: "寰呭鏍�", - }, - { - value: 2, - label: "鎵ц涓�", - }, - { - value: 3, - label: "鎵ц瀹屾垚", - }, - { - value: 4, - label: "宸插仠姝�", - }, - ], - // 琛ㄥ崟鏍¢獙 - rules: { - userName: [ - { required: true, message: "鐢ㄦ埛鍚嶇О涓嶈兘涓虹┖", trigger: "blur" }, - { - min: 2, - max: 20, - message: "鐢ㄦ埛鍚嶇О闀垮害蹇呴』浠嬩簬 2 鍜� 20 涔嬮棿", - trigger: "blur", - }, - ], - nickName: [ - { required: true, message: "鐢ㄦ埛鏄电О涓嶈兘涓虹┖", trigger: "blur" }, - ], - password: [ - { required: true, message: "鐢ㄦ埛瀵嗙爜涓嶈兘涓虹┖", trigger: "blur" }, - { - min: 5, - max: 20, - message: "鐢ㄦ埛瀵嗙爜闀垮害蹇呴』浠嬩簬 5 鍜� 20 涔嬮棿", - trigger: "blur", - }, - ], - email: [ - { - type: "email", - message: "璇疯緭鍏ユ纭殑閭鍦板潃", - trigger: ["blur", "change"], - }, - ], - phonenumber: [ - { - pattern: /^1[3|4|5|6|7|8|9][0-9]\d{8}$/, - message: "璇疯緭鍏ユ纭殑鎵嬫満鍙风爜", - trigger: "blur", - }, - ], - IDnumber: [ - { - pattern: - /^\d{6}((((((19|20)\d{2})(0[13-9]|1[012])(0[1-9]|[12]\d|30))|(((19|20)\d{2})(0[13578]|1[02])31)|((19|20)\d{2})02(0[1-9]|1\d|2[0-8])|((((19|20)([13579][26]|[2468][048]|0[48]))|(2000))0229))\d{3})|((((\d{2})(0[13-9]|1[012])(0[1-9]|[12]\d|30))|((\d{2})(0[13578]|1[02])31)|((\d{2})02(0[1-9]|1\d|2[0-8]))|(([13579][26]|[2468][048]|0[048])0229))\d{2}))(\d|X|x)$/, - message: "璇疯緭鍏ユ纭殑韬唤璇佸彿鐮�", - trigger: "blur", - }, - ], - }, - }; - }, - watch: {}, - created() { - this.getList(); - this.getConfigKey("sys.user.initPassword").then((response) => { - this.initPassword = response.msg; - }); - }, - // 鎼滅储 - mounted() { - this.list = this.states.map((item) => { - return { value: `value:${item}`, label: `label:${item}` }; - }); - }, - methods: { - /** 鏌ヨ闂ㄨ瘖闅忚鍒楄〃 */ - getList() { - this.loading = true; - getTaskservelist(this.topqueryParams).then((response) => { - this.userList = response.rows; - this.total = response.total; - this.loading = false; - }); - }, - // 鏌ョ湅闂ㄨ瘖闅忚璇︽儏 - Referencequestion(row) { - this.previewVisible = true; - }, - // 娣诲姞寮规鎼滅储 - remoteMethod(query) { - if (query !== "") { - this.loading = true; - setTimeout(() => { - this.loading = false; - this.options = this.list.filter((item) => { - return item.label.toLowerCase().indexOf(query.toLowerCase()) > -1; - }); - }, 200); - } else { - this.options = []; - } - }, - // 闂ㄨ瘖闅忚鐘舵�佷慨鏀� - handleStatusChange(row) { - let text = row.status === "0" ? "鍚敤" : "鍋滅敤"; - this.$modal - .confirm('纭瑕�"' + text + '""' + row.userName + '"鐢ㄦ埛鍚楋紵') - .then(function () { - return changeUserStatus(row.userId, row.status); - }) - .then(() => { - this.$modal.msgSuccess(text + "鎴愬姛"); - }) - .catch(function () { - row.status = row.status === "0" ? "1" : "0"; - }); - }, - // 鍙栨秷鎸夐挳 - cancel() { - this.addalteropen = false; - this.reset(); - }, - // 琛ㄥ崟閲嶇疆 - reset() { - this.form = { - userId: undefined, - deptId: undefined, - userName: undefined, - nickName: undefined, - password: undefined, - phonenumber: undefined, - email: undefined, - sex: undefined, - status: "0", - remark: undefined, - postIds: [], - roleIds: [], - }; - this.resetForm("form"); - }, - /** 鎼滅储鎸夐挳鎿嶄綔 */ - handleQuery() { - this.topqueryParams.pageNum = 1; - this.getList(); - }, - /** 閲嶇疆鎸夐挳鎿嶄綔 */ - resetQuery() { - this.dateRange = []; - this.resetForm("queryForm"); - this.topqueryParams.deptId = undefined; - this.$refs.tree.setCurrentKey(null); - this.handleQuery(); - }, - // 澶氶�夋閫変腑鏁版嵁 - handleSelectionChange(selection) { - this.ids = selection.map((item) => item.userId); - this.single = selection.length != 1; - this.multiple = !selection.length; - }, - //鍒犻櫎閫夐」 - handleClose(tag) { - this.dynamicTags.splice(this.dynamicTags.indexOf(tag), 1); - }, - //瑙﹀彂鏂板杈撳叆 - showInput() { - this.inputVisible = true; - this.$nextTick((_) => { - this.$refs.saveTagInput.$refs.input.focus(); - }); - }, - //鑾峰彇澶卞幓鐒︾偣瑙﹀彂 - handleInputConfirm() { - let inputValue = this.inputValue; - if (inputValue) { - this.dynamicTags.push(inputValue); - } - this.inputVisible = false; - this.inputValue = ""; - }, - /** 鏂板鎸夐挳鎿嶄綔 */ - handleAdd() { - this.$router.push({ - path: "/followvisit/QuestionnaireTask", - query: { - type: 2, - serviceType: 7, - }, - }); - }, - - /** 閲嶇疆瀵嗙爜鎸夐挳鎿嶄綔 */ - handleResetPwd(row) { - this.$prompt('璇疯緭鍏�"' + row.userName + '"鐨勬柊瀵嗙爜', "鎻愮ず", { - confirmButtonText: "纭畾", - cancelButtonText: "鍙栨秷", - closeOnClickModal: false, - inputPattern: /^.{5,20}$/, - inputErrorMessage: "鐢ㄦ埛瀵嗙爜闀垮害蹇呴』浠嬩簬 5 鍜� 20 涔嬮棿", - }) - .then(({ value }) => { - resetUserPwd(row.userId, value).then((response) => { - this.$modal.msgSuccess("淇敼鎴愬姛锛屾柊瀵嗙爜鏄細" + value); - }); - }) - .catch(() => {}); - }, - - /** 鎻愪氦鎸夐挳 */ - 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.getList(); - }); - } else { - addUser(this.form).then((response) => { - this.$modal.msgSuccess("鏂板鎴愬姛"); - this.open = false; - this.getList(); - }); - } - } - }); - }, - /** 鍒犻櫎鎸夐挳鎿嶄綔 */ - handleDelete(row) { - const userIds = row.userId || this.ids; - this.$modal - .confirm('鏄惁纭鍒犻櫎鐢ㄦ埛缂栧彿涓�"' + userIds + '"鐨勬暟鎹」锛�') - .then(function () { - return delUser(userIds); - }) - .then(() => { - this.getList(); - this.$modal.msgSuccess("鍒犻櫎鎴愬姛"); - }) - .catch(() => {}); - }, - // 鍏ㄩ儴鍋滄 - AllStop() { - this.$modal - .confirm("鏄惁鍋滄鍏ㄩ儴浠诲姟锛�") - .then(function () { - return console.log("鍋滄鎴愬姛"); - }) - .then(() => { - this.getList(); - this.$modal.msgWarning("鍋滄鎴愬姛"); - }) - .catch(() => {}); - }, - // 鍏ㄩ儴寮�濮� - AllStarted() { - this.$modal - .confirm("鏄惁寮�鍚叏閮ㄤ换鍔★紵") - .then(function () { - return console.log("寮�鍚垚鍔�"); - }) - .then(() => { - this.getList(); - this.$modal.msgSuccess("寮�鍚垚鍔�"); - }) - .catch(() => {}); - }, - // 浠诲姟閲嶇疆 - TaskReset() { - this.$modal - .confirm("鏄惁閲嶇疆閫変腑鐨勪换鍔¢」锛�") - .then(function () { - return console.log("閫変腑鎴愬姛"); - }) - .then(() => { - this.getList(); - this.$modal.msgSuccess("閲嶇疆鎴愬姛"); - }) - .catch(() => {}); - }, - // 璁剧疆鍙戦�佹椂闂� - Sendtimesetting() { - this.modificationVisible = true; - }, - // 璺宠浆璇︽儏椤� - Seedetails(row) { - this.$router.push({ - path: "/followvisit/QuestionnaireTask", - query: { taskid: row.taskid, patid: row.patid }, - }); - }, - // 瀵煎叆鎸夐挳 - toleadExport() {}, - /** 瀵煎嚭鎸夐挳鎿嶄綔 */ - handleExport() { - this.download( - "system/user/export", - { - ...this.topqueryParams, - }, - `user_${new Date().getTime()}.xlsx` - ); - }, - }, -}; -</script> - -<style lang="scss" scoped> -.el-button--primary.is-plain { - color: #ffffff; - background: #409eff; - border-color: #4fabe9; -} - -.document { - // width: 100px; - height: 50px; -} - -.documentf { - display: flex; - justify-content: flex-end; -} - -.download { - text-align: center; - - .el-upload__tip { - font-size: 23px; - } - - .el-upload__text { - font-size: 23px; - } -} - -.uploading { - margin-top: 20px; - margin: 20px; - padding: 30px; - background: #ffffff; - border: 1px solid #dcdfe6; - -webkit-box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.12), - 0 0 6px 0 rgba(0, 0, 0, 0.04); -} - -.el-tag + .el-tag { - margin-left: 10px; -} - -.button-new-tag { - margin-left: 10px; - height: 32px; - line-height: 30px; - padding-top: 0; - padding-bottom: 0; -} - -.input-new-tag { - width: 90px; - margin-left: 10px; - vertical-align: bottom; -} - -.drexamine { - display: flex; - align-items: center; - justify-content: center; - padding: 30px; - background: #daeaf5; - - img { - width: 100px; - height: 100px; - } -} - -.qrcode-dialo { - // text-align: center; - // display: flex; - margin: 20px; - padding: 30px; - background: #edf1f7; - border: 1px solid #dcdfe6; - -webkit-box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.12), - 0 0 6px 0 rgba(0, 0, 0, 0.04); - - .topic-dev { - margin-bottom: 25px; - font-size: 20px !important; - - .dev-text { - margin-bottom: 10px; - } - } -} -.button-bb { - font-weight: 500; - 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/subsequent/index.vue b/src/views/patient/subsequent/index.vue deleted file mode 100644 index a48448d..0000000 --- a/src/views/patient/subsequent/index.vue +++ /dev/null @@ -1,1063 +0,0 @@ -<template> - <div class="app-container"> - <el-row :gutter="20"> - <!--鐢ㄦ埛鏁版嵁--> - - <el-form - :model="topqueryParams" - ref="queryForm" - size="small" - :inline="true" - v-show="showSearch" - label-width="98px" - > - <el-form-item label="浠诲姟鍚嶇О"> - <el-input v-model="topqueryParams.name"></el-input> - </el-form-item> - <el-form-item label="瀹℃牳浜�"> - <el-input v-model="topqueryParams.name"></el-input> - </el-form-item> - <el-form-item label="瀹℃牳鏃堕棿"> - <el-date-picker - v-model="dateRange" - style="width: 240px" - value-format="yyyy-MM-dd" - type="daterange" - range-separator="-" - start-placeholder="寮�濮嬫棩鏈�" - end-placeholder="缁撴潫鏃ユ湡" - ></el-date-picker> - </el-form-item> - <el-form-item label="澶嶈瘖绫诲瀷" prop="status"> - <el-select v-model="topqueryParams.topic" placeholder="璇烽�夋嫨"> - <el-option - v-for="item in topicoptions" - :key="item.value" - :label="item.label" - :value="item.value" - > - </el-option> - </el-select> - </el-form-item> - <el-form-item label="妯℃澘" prop="status"> - <el-select v-model="topqueryParams.topic" placeholder="璇烽�夋嫨"> - <el-option - v-for="item in topicoptions" - :key="item.value" - :label="item.label" - :value="item.value" - > - </el-option> - </el-select> - </el-form-item> - <el-form-item label="澶嶈瘖鐘舵��" prop="status"> - <el-select v-model="topqueryParams.topic" placeholder="璇烽�夋嫨"> - <el-option - v-for="item in topicoptions" - :key="item.value" - :label="item.label" - :value="item.value" - > - </el-option> - </el-select> - </el-form-item> - <el-form-item> - <el-button - type="primary" - icon="el-icon-search" - size="medium" - @click="handleQuery" - >鎼滅储</el-button - > - <el-button icon="el-icon-refresh" size="medium" @click="resetQuery" - >閲嶇疆</el-button - > - </el-form-item> - </el-form> - <el-divider></el-divider> - <el-row :gutter="10" class="mb8"> - <el-col :span="1.5"> - <el-button - type="primary" - plain - icon="el-icon-plus" - size="medium" - @click="handleAdd" - v-hasPermi="['system:user:add']" - >鏂板</el-button - > - </el-col> - <el-col :span="1.5"> - <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"> - <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" - size="medium" - @click="AllStop" - 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="primary" - icon="el-icon-remove" - size="medium" - @click="Sendtimesetting" - v-hasPermi="['system:user:export']" - >鍙戦�佹椂闂磋缃�</el-button - > - </div> - </div> - </el-col> - - <!-- <el-col :span="1.5"> </el-col> --> - </el-row> - <el-table - v-loading="loading" - :data="userList" - @selection-change="handleSelectionChange" - > - <el-table-column type="selection" width="50" align="center" /> - <el-table-column label="搴忓彿" fixed align="center" key="id" prop="id" /> - <el-table-column - label="濮撳悕" - fixed - align="center" - key="sendname" - prop="sendname" - /> - - <el-table-column - 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" - width="120" - > - <template slot-scope="scope"> - <div>澶栫闂ㄨ瘖</div> - </template> - </el-table-column> - - <el-table-column - label="鐤剧梾鍚嶇О" - align="center" - key="topicnumber" - prop="topicnumber" - 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 - 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="鍥炲鏃堕棿" - 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> - </template> - </el-table-column> - <el-table-column - label="鎿嶄綔" - fixed="right" - align="center" - width="200" - class-name="small-padding fixed-width" - > - <template slot-scope="scope"> - <el-tooltip - class="item" - effect="dark" - content="閲嶆柊閫氱煡" - placement="top" - > - <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-tooltip - class="item" - effect="dark" - content="鏌ョ湅浠诲姟璇︽儏" - placement="top" - > - <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> - - <pagination - v-show="total > 0" - :total="total" - :page.sync="topqueryParams.pageNum" - :limit.sync="topqueryParams.pageSize" - @pagination="getList" - /> - </el-row> - <!-- 娣诲姞鎴栦慨鏀归棬璇婇殢璁垮璇濇 --> - <el-dialog - :title="title" - :visible.sync="addalteropen" - width="700px" - append-to-body - > - <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-select> - </el-form-item> - </el-col> - </el-row> - <el-row :gutter="20"> - <el-col :span="24"> - <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> - </div> - </el-dialog> - <!-- 淇敼鍙戦�佹椂闂村璇濇 --> - <el-dialog - title="鍙戦�佹椂闂磋缃�" - :visible.sync="modificationVisible" - width="45%" - > - <div style="margin-bottom: 20px; color: red"> - 缁熶竴淇敼褰撳ぉ鏈彂閫佺殑浠诲姟鏃堕棿 - </div> - - <el-form - :model="ruleForm" - :rules="rules" - ref="ruleForm" - label-width="120px" - class="demo-ruleForm" - > - <el-form-item label="鍙戦�佹棩鏈�"> - <el-date-picker - v-model="ruleForm.value1" - type="date" - placeholder="閫夋嫨鏃ユ湡" - > - </el-date-picker> - </el-form-item> - - <el-form-item label="鏃堕棿娈�" prop="type"> - <el-checkbox-group v-model="ruleForm.type"> - <el-checkbox label="涓婂崍" name="type"></el-checkbox> - <el-checkbox label="涓嬪崍" name="type"></el-checkbox> - <el-checkbox label="鏅氫笂" name="type"></el-checkbox> - </el-checkbox-group> - </el-form-item> - <el-form-item label="涓婂崍鏃堕棿鍖洪棿" required> - <el-time-picker - is-range - v-model="ruleForm.value2" - range-separator="鑷�" - start-placeholder="寮�濮嬫椂闂�" - end-placeholder="缁撴潫鏃堕棿" - placeholder="閫夋嫨鏃堕棿鑼冨洿" - > - </el-time-picker> - </el-form-item> - <el-form-item label="涓嬪崍鏃堕棿鍖洪棿" required> - <el-time-picker - is-range - v-model="ruleForm.value3" - range-separator="鑷�" - start-placeholder="寮�濮嬫椂闂�" - end-placeholder="缁撴潫鏃堕棿" - placeholder="閫夋嫨鏃堕棿鑼冨洿" - > - </el-time-picker> - </el-form-item> - <el-form-item label="鏅氫笂鏃堕棿鍖洪棿" required> - <el-time-picker - is-range - v-model="ruleForm.value4" - range-separator="鑷�" - start-placeholder="寮�濮嬫椂闂�" - end-placeholder="缁撴潫鏃堕棿" - placeholder="閫夋嫨鏃堕棿鑼冨洿" - > - </el-time-picker> - </el-form-item> - </el-form> - - <span slot="footer" class="dialog-footer"> - <el-button @click="modificationVisible = false">鍙� 娑�</el-button> - <el-button type="primary" @click="modificationVisible = false" - >纭� 瀹�</el-button - > - </span> - </el-dialog> - </div> -</template> - -<script> -import { - listUser, - getUser, - delUser, - addUser, - updateUser, - resetUserPwd, - changeUserStatus, -} from "@/api/system/user"; -import Treeselect from "@riophae/vue-treeselect"; -import { getTaskservelist } from "@/api/AiCentre/index"; - -import "@riophae/vue-treeselect/dist/vue-treeselect.css"; - -export default { - name: "User", - dicts: ["sys_normal_disable", "sys_user_sex"], - components: { Treeselect }, - data() { - return { - // 閬僵灞� - loading: true, - // 閫変腑鏁扮粍 - ids: [], - // 闈炲崟涓鐢� - single: true, - // 闈炲涓鐢� - multiple: true, - // 鏄剧ず鎼滅储鏉′欢 - showSearch: true, - // 鎬绘潯鏁� - total: 0, - // 鐢ㄦ埛琛ㄦ牸鏁版嵁 - userList: null, - // 寮瑰嚭灞傛爣棰� - title: "鏂板闂ㄨ瘖闅忚", - // 鏄惁鏄剧ず淇敼銆佹坊鍔犲脊鍑哄眰 - addalteropen: false, - // 淇敼鍙戦�佹椂闂村璇濇 - modificationVisible: false, - // 閮ㄩ棬鍚嶇О - deptName: undefined, - // 榛樿瀵嗙爜 - initPassword: undefined, - // 鏃ユ湡鑼冨洿 - dateRange: [], - // 宀椾綅閫夐」 - postOptions: [], - ruleForm: { - type: [], - }, - dynamicTags: ["閫夐」涓�", "閫夐」浜�", "閫夐」涓�"], //閫夐」 - inputVisible: false, - inputValue: "", - previewVisible: false, //闂ㄨ瘖闅忚棰勮寮规 - radio: "", - radios: [], - previewtype: 2, //棰勮闂ㄨ瘖闅忚绫诲瀷 - total: 0, // 鎬绘潯鏁� - 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(); - }, - 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, - userName: undefined, - tagid: undefined, - topic: undefined, - }, - propss: { multiple: true }, - options: [], - - topicoptions: [ - { - value: 1, - label: "寰呭鏍�", - }, - { - value: 2, - label: "鎵ц涓�", - }, - { - value: 3, - label: "鎵ц瀹屾垚", - }, - { - value: 4, - label: "宸插仠姝�", - }, - ], - // 琛ㄥ崟鏍¢獙 - rules: { - userName: [ - { required: true, message: "鐢ㄦ埛鍚嶇О涓嶈兘涓虹┖", trigger: "blur" }, - { - min: 2, - max: 20, - message: "鐢ㄦ埛鍚嶇О闀垮害蹇呴』浠嬩簬 2 鍜� 20 涔嬮棿", - trigger: "blur", - }, - ], - nickName: [ - { required: true, message: "鐢ㄦ埛鏄电О涓嶈兘涓虹┖", trigger: "blur" }, - ], - password: [ - { required: true, message: "鐢ㄦ埛瀵嗙爜涓嶈兘涓虹┖", trigger: "blur" }, - { - min: 5, - max: 20, - message: "鐢ㄦ埛瀵嗙爜闀垮害蹇呴』浠嬩簬 5 鍜� 20 涔嬮棿", - trigger: "blur", - }, - ], - email: [ - { - type: "email", - message: "璇疯緭鍏ユ纭殑閭鍦板潃", - trigger: ["blur", "change"], - }, - ], - phonenumber: [ - { - pattern: /^1[3|4|5|6|7|8|9][0-9]\d{8}$/, - message: "璇疯緭鍏ユ纭殑鎵嬫満鍙风爜", - trigger: "blur", - }, - ], - IDnumber: [ - { - pattern: - /^\d{6}((((((19|20)\d{2})(0[13-9]|1[012])(0[1-9]|[12]\d|30))|(((19|20)\d{2})(0[13578]|1[02])31)|((19|20)\d{2})02(0[1-9]|1\d|2[0-8])|((((19|20)([13579][26]|[2468][048]|0[48]))|(2000))0229))\d{3})|((((\d{2})(0[13-9]|1[012])(0[1-9]|[12]\d|30))|((\d{2})(0[13578]|1[02])31)|((\d{2})02(0[1-9]|1\d|2[0-8]))|(([13579][26]|[2468][048]|0[048])0229))\d{2}))(\d|X|x)$/, - message: "璇疯緭鍏ユ纭殑韬唤璇佸彿鐮�", - trigger: "blur", - }, - ], - }, - }; - }, - watch: {}, - created() { - this.getList(); - this.getConfigKey("sys.user.initPassword").then((response) => { - this.initPassword = response.msg; - }); - }, - // 鎼滅储 - mounted() { - this.list = this.states.map((item) => { - return { value: `value:${item}`, label: `label:${item}` }; - }); - }, - methods: { - /** 鏌ヨ闂ㄨ瘖闅忚鍒楄〃 */ - getList() { - this.loading = true; - getTaskservelist(this.topqueryParams).then((response) => { - this.userList = response.rows; - this.total = response.total; - this.loading = false; - }); - }, - // 鏌ョ湅闂ㄨ瘖闅忚璇︽儏 - Referencequestion(row) { - this.previewVisible = true; - }, - // 娣诲姞寮规鎼滅储 - remoteMethod(query) { - if (query !== "") { - this.loading = true; - setTimeout(() => { - this.loading = false; - this.options = this.list.filter((item) => { - return item.label.toLowerCase().indexOf(query.toLowerCase()) > -1; - }); - }, 200); - } else { - this.options = []; - } - }, - // 闂ㄨ瘖闅忚鐘舵�佷慨鏀� - handleStatusChange(row) { - let text = row.status === "0" ? "鍚敤" : "鍋滅敤"; - this.$modal - .confirm('纭瑕�"' + text + '""' + row.userName + '"鐢ㄦ埛鍚楋紵') - .then(function () { - return changeUserStatus(row.userId, row.status); - }) - .then(() => { - this.$modal.msgSuccess(text + "鎴愬姛"); - }) - .catch(function () { - row.status = row.status === "0" ? "1" : "0"; - }); - }, - // 鍙栨秷鎸夐挳 - cancel() { - this.addalteropen = false; - this.reset(); - }, - // 琛ㄥ崟閲嶇疆 - reset() { - this.form = { - userId: undefined, - deptId: undefined, - userName: undefined, - nickName: undefined, - password: undefined, - phonenumber: undefined, - email: undefined, - sex: undefined, - status: "0", - remark: undefined, - postIds: [], - roleIds: [], - }; - this.resetForm("form"); - }, - /** 鎼滅储鎸夐挳鎿嶄綔 */ - handleQuery() { - this.topqueryParams.pageNum = 1; - this.getList(); - }, - /** 閲嶇疆鎸夐挳鎿嶄綔 */ - resetQuery() { - this.dateRange = []; - this.resetForm("queryForm"); - this.topqueryParams.deptId = undefined; - this.$refs.tree.setCurrentKey(null); - this.handleQuery(); - }, - // 澶氶�夋閫変腑鏁版嵁 - handleSelectionChange(selection) { - this.ids = selection.map((item) => item.userId); - this.single = selection.length != 1; - this.multiple = !selection.length; - }, - //鍒犻櫎閫夐」 - handleClose(tag) { - this.dynamicTags.splice(this.dynamicTags.indexOf(tag), 1); - }, - //瑙﹀彂鏂板杈撳叆 - showInput() { - this.inputVisible = true; - this.$nextTick((_) => { - this.$refs.saveTagInput.$refs.input.focus(); - }); - }, - //鑾峰彇澶卞幓鐒︾偣瑙﹀彂 - handleInputConfirm() { - let inputValue = this.inputValue; - if (inputValue) { - this.dynamicTags.push(inputValue); - } - this.inputVisible = false; - this.inputValue = ""; - }, - /** 鏂板鎸夐挳鎿嶄綔 */ - handleAdd() { - this.$router.push({ - path: "/followvisit/particty", - query: { - type: 3, - serviceType: 5, - }, - }); - }, - - /** 閲嶇疆瀵嗙爜鎸夐挳鎿嶄綔 */ - handleResetPwd(row) { - this.$prompt('璇疯緭鍏�"' + row.userName + '"鐨勬柊瀵嗙爜', "鎻愮ず", { - confirmButtonText: "纭畾", - cancelButtonText: "鍙栨秷", - closeOnClickModal: false, - inputPattern: /^.{5,20}$/, - inputErrorMessage: "鐢ㄦ埛瀵嗙爜闀垮害蹇呴』浠嬩簬 5 鍜� 20 涔嬮棿", - }) - .then(({ value }) => { - resetUserPwd(row.userId, value).then((response) => { - this.$modal.msgSuccess("淇敼鎴愬姛锛屾柊瀵嗙爜鏄細" + value); - }); - }) - .catch(() => {}); - }, - - /** 鎻愪氦鎸夐挳 */ - 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.getList(); - }); - } else { - addUser(this.form).then((response) => { - this.$modal.msgSuccess("鏂板鎴愬姛"); - this.open = false; - this.getList(); - }); - } - } - }); - }, - /** 鍒犻櫎鎸夐挳鎿嶄綔 */ - handleDelete(row) { - const userIds = row.userId || this.ids; - this.$modal - .confirm('鏄惁纭鍒犻櫎鐢ㄦ埛缂栧彿涓�"' + userIds + '"鐨勬暟鎹」锛�') - .then(function () { - return delUser(userIds); - }) - .then(() => { - this.getList(); - this.$modal.msgSuccess("鍒犻櫎鎴愬姛"); - }) - .catch(() => {}); - }, - // 鍏ㄩ儴鍋滄 - AllStop() { - this.$modal - .confirm("鏄惁鍋滄鍏ㄩ儴浠诲姟锛�") - .then(function () { - return console.log("鍋滄鎴愬姛"); - }) - .then(() => { - this.getList(); - this.$modal.msgWarning("鍋滄鎴愬姛"); - }) - .catch(() => {}); - }, - // 鍏ㄩ儴寮�濮� - AllStarted() { - this.$modal - .confirm("鏄惁寮�鍚叏閮ㄤ换鍔★紵") - .then(function () { - return console.log("寮�鍚垚鍔�"); - }) - .then(() => { - this.getList(); - this.$modal.msgSuccess("寮�鍚垚鍔�"); - }) - .catch(() => {}); - }, - // 浠诲姟閲嶇疆 - TaskReset() { - this.$modal - .confirm("鏄惁閲嶇疆閫変腑鐨勪换鍔¢」锛�") - .then(function () { - return console.log("閫変腑鎴愬姛"); - }) - .then(() => { - this.getList(); - this.$modal.msgSuccess("閲嶇疆鎴愬姛"); - }) - .catch(() => {}); - }, - // 璁剧疆鍙戦�佹椂闂� - Sendtimesetting() { - this.modificationVisible = true; - }, - // 璺宠浆璇︽儏椤� - Seedetails() { - this.$router.push({ - path: "/followvisit/record/detailpage/", - query: { id: "1" }, - }); - }, - // 瀵煎叆鎸夐挳 - toleadExport() {}, - /** 瀵煎嚭鎸夐挳鎿嶄綔 */ - handleExport() { - this.download( - "system/user/export", - { - ...this.topqueryParams, - }, - `user_${new Date().getTime()}.xlsx` - ); - }, - }, -}; -</script> - -<style lang="scss" scoped> -.el-button--primary.is-plain { - color: #ffffff; - background: #409eff; - border-color: #4fabe9; -} - -.document { - // width: 100px; - height: 50px; -} - -.documentf { - display: flex; - justify-content: flex-end; -} - -.download { - text-align: center; - - .el-upload__tip { - font-size: 23px; - } - - .el-upload__text { - font-size: 23px; - } -} - -.uploading { - margin-top: 20px; - margin: 20px; - padding: 30px; - background: #ffffff; - border: 1px solid #dcdfe6; - -webkit-box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.12), - 0 0 6px 0 rgba(0, 0, 0, 0.04); -} - -.el-tag + .el-tag { - margin-left: 10px; -} - -.button-new-tag { - margin-left: 10px; - height: 32px; - line-height: 30px; - padding-top: 0; - padding-bottom: 0; -} - -.input-new-tag { - width: 90px; - margin-left: 10px; - vertical-align: bottom; -} - -.drexamine { - display: flex; - align-items: center; - justify-content: center; - padding: 30px; - background: #daeaf5; - - img { - width: 100px; - height: 100px; - } -} - -.qrcode-dialo { - // text-align: center; - // display: flex; - margin: 20px; - padding: 30px; - background: #edf1f7; - border: 1px solid #dcdfe6; - -webkit-box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.12), - 0 0 6px 0 rgba(0, 0, 0, 0.04); - - .topic-dev { - margin-bottom: 25px; - font-size: 20px !important; - - .dev-text { - margin-bottom: 10px; - } - } -} -.button-bb { - font-weight: 500; - 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/viewvant/Graph/methods.js b/src/views/patient/viewvant/Graph/methods.js deleted file mode 100644 index 2065bd2..0000000 --- a/src/views/patient/viewvant/Graph/methods.js +++ /dev/null @@ -1,152 +0,0 @@ -import '@antv/x6-vue-shape'; -import { Graph,Shape,Addon,FunctionExt} from '@antv/x6' -// 鎷栨嫿鐢熸垚鍥涜竟褰㈡垨鑰呭渾褰� -export const startDragToGraph = (graph,type,e) =>{ - const node = - type === 'Rect' - ? graph.createNode({ - width: 100, - height: 60, - attrs: { - label: { - text: '姝f柟褰㈣妭鐐�', - fill: '#000000', - fontSize: 14, - textWrap: { - width: -10, - height: -10, - ellipsis: true - } - }, - body: { - stroke: '#000000', - strokeWidth: 1, - fill: '#ffffff' - } - }, - ports: ports - }) - : type === 'Circle'?graph.createNode({ - shape: 'ellipse', - width: 100, - height: 100, - attrs: { - label: { - text: '鍦嗗舰鑺傜偣', - fill: '#000000', - fontSize: 14, - textWrap: { - width: -20, - height: -10, - ellipsis: true - } - }, - body: { - stroke: '#000000', - strokeWidth: 1, - fill: '#ffffff' - } - }, - ports: ports - }): - graph.createNode({ - shape: 'polygon', - x: 40, - y: 40, - width: 120, - height: 120, - attrs: { - label: { - text: '鏉′欢鑺傜偣', - fill: '#000000', - fontSize: 14, - textWrap: { - width: -50, - height: '70%', - ellipsis: true - } - }, - body: { - fill: '#ffffff', - stroke: '#000000', - refPoints: '0,10 10,0 20,10 10,20', - strokeWidth: 1 - } - }, - ports: ports - }) - const dnd = new Addon.Dnd({target:graph}) - dnd.start(node,e) -} -const ports = { - groups: { - // 杈撳叆閾炬帴妗╃兢缁勫畾涔� - top: { - position: 'top', - attrs: { - circle: { - r: 4, - magnet: true, - stroke: '#2D8CF0', - strokeWidth: 2, - fill: '#fff', - }, - }, - }, - // 杈撳嚭閾炬帴妗╃兢缁勫畾涔� - bottom: { - position: 'bottom', - attrs: { - circle: { - r: 4, - magnet: true, - stroke: '#2D8CF0', - strokeWidth: 2, - fill: '#fff', - }, - }, - }, - left: { - position: 'left', - attrs: { - circle: { - r: 4, - magnet: true, - stroke: '#2D8CF0', - strokeWidth: 2, - fill: '#fff', - }, - }, - }, - right: { - position: 'right', - attrs: { - circle: { - r: 4, - magnet: true, - stroke: '#2D8CF0', - strokeWidth: 2, - fill: '#fff', - }, - }, - }, - }, - items: [ - { - id: 'port1', - group: 'top', - }, - { - id: 'port2', - group: 'bottom', - }, - { - id: 'port3', - group: 'left', - }, - { - id: 'port4', - group: 'right', - } - ], -} \ No newline at end of file diff --git a/src/views/patient/viewvant/RightDrawer.vue b/src/views/patient/viewvant/RightDrawer.vue deleted file mode 100644 index 17b57f3..0000000 --- a/src/views/patient/viewvant/RightDrawer.vue +++ /dev/null @@ -1,331 +0,0 @@ -<template> - <div class="drawer_container"> - <div v-if="drawerType === 'grid'"> - <div class="drawer_title">鐢诲竷鑳屾櫙璁剧疆</div> - <div class="drawer_wrap"> - <el-form label-position="left" label-width="85px"> - <el-form-item label="鏄惁鏄剧ず缃戞牸" label-width="100px"> - <el-switch v-model="showGrid" @change="changeGrid" /> - </el-form-item> - <div v-show="showGrid"> - <el-form-item label="缃戞牸绫诲瀷"> - <el-radio-group v-model="grid.type" @change="changeGridcardtype"> - <el-radio - v-for="item in gridcardtypeList" - :label="item.value" - :key="item.value" - > - <span>{{ item.label }}</span> - </el-radio> - </el-radio-group> - </el-form-item> - <el-form-item label-width="70px" label="缃戞牸澶у皬"> - <el-slider - v-model="grid.size" - :min="0" - :max="30" - @change="changeGrid" - ></el-slider> - </el-form-item> - <el-form-item label="缃戞牸棰滆壊"> - <el-color-picker v-model="grid.args.color" @change="changeGrid" /> - </el-form-item> - <el-form-item label-width="85px" label="缃戞牸绾垮搴�"> - <el-slider - v-model="grid.args.thickness" - :min="0" - :max="20" - @change="changeGrid" - ></el-slider> - </el-form-item> - </div> - </el-form> - </div> - </div> - <div v-if="drawerType === 'node'"> - <div class="drawer_title">浠诲姟鑺傜偣璁剧疆</div> - <div class="drawer_wrap"> - <el-form label-position="left" label-width="80px"> - <el-form-item label="浠诲姟鍚嶇О"> - <el-input - v-model="drawerNode.nodeText" - @change="changeNodeText" - ></el-input> - </el-form-item> - <el-form-item label="浠诲姟鎵ц浜�" label-width="80px"> - <el-input - v-model="drawerNode.nodeText" - @change="changeNodeText" - ></el-input> - </el-form-item> - <el-form-item label="鑺傜偣鑳屾櫙"> - <el-color-picker v-model="drawerNode.fill" @change="changeFill" /> - </el-form-item> - <el-form-item label-width="70px" label="瀛椾綋澶у皬"> - <el-slider - v-model="drawerNode.fontSize" - :min="10" - :max="20" - @change="changefontSize" - ></el-slider> - </el-form-item> - <el-form-item label="瀛椾綋棰滆壊"> - <el-color-picker - v-model="drawerNode.fontFill" - @change="changeFontFill" - /> - </el-form-item> - <el-form-item label-width="70px" label="杈规瀹藉害"> - <el-slider - v-model="drawerNode.strokeWidth" - :min="0" - :max="10" - @change="changeStrokeWidth" - ></el-slider> - </el-form-item> - <el-form-item label="杈规棰滆壊"> - <el-color-picker - v-model="drawerNode.stroke" - @change="changeStroke" - /> - </el-form-item> - <el-form-item label="鍔熻兘"> - <el-button type="primary" icon="el-icon-upload" @click="toTopZIndex" - >缃《</el-button - > - <el-button - type="danger" - class="margin-left-10" - icon="el-icon-delete" - @click="deleteNode" - >鍒犻櫎</el-button - > - </el-form-item> - </el-form> - <el-button - type="success" - class="margin-left-10" - icon="el-icon-download" - @click="exportData" - >淇濆瓨</el-button - > - </div> - </div> - <div v-if="drawerType === 'edge'"> - <div class="drawer_title">绾挎潯璁剧疆</div> - <div class="drawer_wrap"> - <el-form label-position="left" label-width="80px"> - <el-form-item label="绾挎潯鏂囨湰"> - <el-input - v-model="drawerEdge.EdgeText" - @change="changeEdgeText" - ></el-input> - </el-form-item> - <el-form-item label="绾挎潯瀹藉害" label-width="80px"> - <el-slider - v-model="drawerEdge.edgeWidth" - :min="1" - :max="10" - @change="changeEdgeWidth" - ></el-slider> - </el-form-item> - <el-form-item label="绾挎潯棰滆壊"> - <el-color-picker - v-model="drawerEdge.edgeColor" - @change="changeEdgeColor" - /> - </el-form-item> - <el-form-item label="鍔熻兘"> - <el-button type="primary" icon="el-icon-upload" @click="toTopZIndex" - >缃《</el-button - > - <el-button - type="danger" - class="margin-left-10" - icon="el-icon-delete" - @click="deleteNode" - >鍒犻櫎</el-button - > - </el-form-item> - </el-form> - <el-button - type="success" - class="margin-left-10" - icon="el-icon-download" - @click="exportData" - >淇濆瓨</el-button - > - </div> - </div> - </div> -</template> - -<script> -export default { - name: "RightDrawer", - data() { - return { - gridcardtypeList: [ - { - label: "鍥涜竟缃戞牸", - value: "mesh", - }, - { - label: "鐐圭姸缃戞牸", - value: "dot", - }, - ], - baseData: "", - showGrid: true, - drawerNode: { - fill: "", - nodeText: "", - fontSize: null, - fontFill: "", - strokeWidth: null, - stroke: "", - }, - drawerEdge: { - EdgeText: "", - edgeWidth: null, - edgeColor: "", - }, - }; - }, - props: { - drawerType: { - type: String, - }, - selectCell: { - type: String | Object, - }, - graph: { - type: String | Object, - }, - grid: { - type: Object, - }, - }, - created() {}, - mounted() {}, - watch: { - selectCell: { - handler(val) { - if (val) { - if (val.isNode()) { - //鑺傜偣 - this.drawerNode.fill = val.store.data.attrs.body.fill; - this.drawerNode.nodeText = val.store.data.attrs.label.text; - this.drawerNode.fontFill = val.store.data.attrs.label.fill; - this.drawerNode.fontSize = Number( - val.store.data.attrs.label.fontSize - ); - this.drawerNode.strokeWidth = Number( - val.store.data.attrs.body.strokeWidth - ); - this.drawerNode.stroke = val.store.data.attrs.body.stroke; - } else { - //杈� - this.drawerEdge.EdgeText = val.store.data.labels - ? val.store.data.labels[0].text - : ""; - this.drawerEdge.edgeWidth = Number( - val.store.data.attrs.line.strokeWidth - ); - this.drawerEdge.edgeColor = val.store.data.attrs.line.stroke; - } - } - }, - immediate: true, - deep: false, - }, - }, - methods: { - // 缃戞牸璁剧疆 - changeGrid() { - this.showGrid ? this.graph.showGrid() : this.graph.hideGrid(); - }, - changeGridcardtype(e) { - this.grid.type = e; - this.changeGrid(); - }, - changeGrid() { - this.graph.drawGrid({ - ...this.grid, - }); - }, - // 鑺傜偣璁剧疆 - changeStrokeWidth(val) { - this.selectCell.attr("body/strokeWidth", val); - }, - changefontSize(val) { - this.selectCell.attr("label/fontSize", val); - }, - changeNodeText() { - this.selectCell.attr("label/text", this.drawerNode.nodeText); - }, - changeStroke(val) { - this.drawerNode.stroke = val; - this.selectCell.attr("body/stroke", this.drawerNode.stroke); - }, - changeFontFill(val) { - this.drawerNode.fontFill = val; - this.selectCell.attr("label/fill", this.drawerNode.fontFill); - }, - changeFill(val) { - this.drawerNode.fill = val; - this.selectCell.attr("body/fill", val); - }, - // 杈硅缃� - changeEdgeText() { - console.log(this.drawerEdge.EdgeText); - this.selectCell.setLabels([ - { attrs: { label: { text: this.drawerEdge.EdgeText } } }, - ]); - }, - changeEdgeWidth(val) { - this.drawerEdge.edgeWidth = val; - this.selectCell.attr("line/strokeWidth", this.drawerEdge.edgeWidth); - }, - changeEdgeColor(val) { - this.drawerEdge.stroke = val; - this.selectCell.attr("line/stroke", this.drawerEdge.stroke); - }, - // 缃《 - toTopZIndex() { - this.selectCell.toFront(); - }, - // 鍒犻櫎 - deleteNode() { - this.$emit("deleteNode"); - }, - // 瀵煎嚭鏁版嵁 - exportData() { - this.baseData = this.graph.toJSON(); - console.log(this.baseData); - }, - // 瀵煎叆鏁版嵁 - importData() { - this.graph.fromJSON(this.baseData); - }, - }, -}; -</script> - -<style lang="scss" scoped> -.drawer_container { - max-width: 300px; - min-width: 300px; - .drawer_title { - border-bottom: 1px solid #e8eaec; - box-sizing: border-box; - padding: 14px 16px; - color: #333; - font-size: 16px; - } - .drawer_wrap { - box-sizing: border-box; - padding: 20px 10px 20px 20px; - } -} -</style> diff --git a/src/views/patient/viewvant/iconfont.css b/src/views/patient/viewvant/iconfont.css deleted file mode 100644 index 69ffd7b..0000000 --- a/src/views/patient/viewvant/iconfont.css +++ /dev/null @@ -1,61 +0,0 @@ -@font-face {font-family: "iconfont"; - src: url('//at.alicdn.com/t/font_2431749_zpzhmewttjs.eot?t=1616140304099'); /* IE9 */ - src: url('//at.alicdn.com/t/font_2431749_zpzhmewttjs.eot?t=1616140304099#iefix') format('embedded-opentype'), /* IE6-IE8 */ - url('data:application/x-font-woff2;charset=utf-8;base64,d09GMgABAAAAAAcIAAsAAAAADSQAAAa5AAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHEIGVgCERAqLMIkZATYCJAMwCxoABCAFhG0HgR8bKgvIHpIkgUACBRSoggUOKIjP/f7dk5wLL/mApIo8nlACkiISprasWRgCBZxXQtm584/b+jBAHSFWvOesbOKSlDIYjmEkXiYhl9HgRTcxcDHm8tTimv7056HNYxRxTLSRlsmEREhikrZI5EhUKDmyiGfTXagwKNuNpyGAo4kICFOKKljAFoVFBWasUsiEwDaTQxsEQpqMK65U5CSISM0h4gXghP17+cIgsQVDZGHPmrqksAHkBOqLt5DWqmWhHQv2ba8CjK4DCwwAUJCrlY3nsX5wAAi3qI+yB0AVTCDi4J8Pf573vO35jOeG5w9e5L6oe/HYagViddhmrCJUcUvuhwGUmJSE3F7/5RkiBA8SQ2MFQDnb7SFIhEJIQsQQkhEphDxEAqENkYMwA2EhGBAOwgOEgXwuIoJ8HUIg/7gaf0xX1ACoA8h5gBlLwl7IoMUg9zEmnm9I7uZUu1O7SONibZ5Lo40oYcJM5e7kfo07CTCLHPCylEsFbhlM8DvdCN3oMq9Vbxpc48xiGyPdilWuHJZuTUOjq6Gpz409nGvUn8gVddfhEGwKpWAnk+KQiIg0uw0KLww1VGdn01hEOPGm0PpZIipwOw2uHMMUndaFTbMEP87Z/IxNZ2UX66mBc4yEbuNALXHNOGiWfur6gdl4g6vBWadzbrPf2qluXCJtjnFg3RQo67R6yOpXTgp0Yo+KXj/1cPy1WYjePrIyvb9waIhrsXBu3GCZzeydCoZecPe/8VQ8pajIYJhvdDF/OI33E4zXOOcsHIvFb9EQd2jIZapeq4On3GDduOGiW8s+a2Z3rGhDDuS+ZzdjxxVv0sKrifa7r/uQF13r0K6BGYfXEcj711Ptj6wFO4t2nXEHDjLvHIszb18QbcUed9bgymD6ytUiLp3NZqw44DHadDCQvvqwF3/+ITnMo46GyTK188w9hz99DdB9a13oJ72XcSD9WMXHjxcOHDivx1zav49+cBrL/Jmk3gKSMwSHwXF1K5bW1J6P3mHxgo7/z797t53Ntopwu3tz/r+MmK0t5dHng21sonLjuFFm+ZF0Icy67E7SDzMYOmhQi9BQ/2F79gzzBwmP+yP+H2rOqge5kOwB8d0Jd8WH+jpKSzbRL9jRN+ZQ7rHcaqWqPypPmweyf/4i+X9/V8AwMQquXd11leRWRbpWjBSTX/WH3ydtvXixkF7gRwKf34yDwfiHrUHM0eylS/f7tPvs5/Hr6/m89UjYY+kyX7Hvs2ex9b4DXzWdz8vx+LRz6VL26A4u+x7mfGWlLWameUtBNFP6cS6wUlZCd59DK7lbe9SaOCb/CAmgIDgCIfhpDG3mH3006yDxwsk1tkjFyEx2COQltcHv5qdWe2/PPDwSqE4U/HCeandTBXYXyi/Y2TzTKXafXZoSZiMf8n0ofVGF7tdKvnYS87zbNC8jTpCrCGDomYxNW0zUTbBpy6YlJngT1QQeO9NB4WU6UxIc3kAoZNDbH7wlg/aevZ6MyeOTnaYFUHMYOdQAVyv/sTm1NbgimqG0s1+zvk17JNArmR+u3/J7iz48mecd+GThmPDqTffEm2o2bakeqNkIhpxz+vN70CPO03TsmPkZw7fBl0HR6QffM30mj3gPU/V7J3mC/p8AyI4dhDIB2fs5kCMA7Eziw+VZWvvQagHZbyXYOLMSoQJ7cP899owtAQDsNeJ9kj7CYxlYgQ7qH37Egvx/pEcx4VXCUb59xj9b6v+253lXp731bY9ImEKKAbT/J1lRkLGSEpZByBfofDPpwW5WdSQCFDAXG/ikZnC8Cn6KrWXc30eiEh3j95+ojGBIaARLSgdBKQMQ4RkCMSnjwdFP8fWecjAgRHNAH+MJCCVsBkMRt8FSwkWCUu5BRBXvIKZEIHDMFqc7erpEAedjEiEuaUBEnYhCjCqloojDbmadRKZpFmLpoBVxJJha0YPERsXkR4olSgm2jXPUbbI4HJciUgxtQYrI8yTNzSiiwtBGiRiPkuO4Ki06Wlp1bpQYbQEwk8GQIATXqg0giOg0VyAGRYl0exy48Pt1SJChoRkhWMOGC3MOEjDUKHaPEEsUMQhCcUyJ2vBY5qtpQ0YcOK1IQeRyDJQWEIpoRUIzH0RBUFUf1ogEMThRyHv0q0gjmm4lxcai9p9oecR3AA5W1wIxYkUlklgSSSUnTrwUSCHpRhwTKmRy3KkF1aglKlRxcT+CqeUakUKIkoSKuBSKSIiKNUq4AG1XRta1u7strkG75BqhgiJWYOJmCaVV06EQKilqu78Qk9io5UKlWK6xaSwO4KgGAAAA') format('woff2'), - url('//at.alicdn.com/t/font_2431749_zpzhmewttjs.woff?t=1616140304099') format('woff'), - url('//at.alicdn.com/t/font_2431749_zpzhmewttjs.ttf?t=1616140304099') format('truetype'), /* chrome, firefox, opera, Safari, Android, iOS 4.2+ */ - url('//at.alicdn.com/t/font_2431749_zpzhmewttjs.svg?t=1616140304099#iconfont') format('svg'); /* iOS 4.1- */ - } - - .iconfont { - font-family: "iconfont" !important; - font-size: 16px; - font-style: normal; - -webkit-font-smoothing: antialiased; - -moz-osx-font-smoothing: grayscale; - } - - .icon-straight:before { - content: "\e752"; - } - - .icon-mousepointershubiao:before { - content: "\e6df"; - } - - .icon-ai28:before { - content: "\e68e"; - } - - .icon-baocun:before { - content: "\e60b"; - } - - .icon-Down-Right:before { - content: "\e741"; - } - - .icon-tuozhuai:before { - content: "\e636"; - } - - .icon-circle:before { - content: "\e642"; - } - - .icon-quxian:before { - content: "\e637"; - } - - .icon-square:before { - content: "\e676"; - } - - .icon-shanchu:before { - content: "\e696"; - } - - .icon-jiantou:before { - content: "\e7e2"; - } - \ No newline at end of file diff --git a/src/views/patient/viewvant/index.scss b/src/views/patient/viewvant/index.scss deleted file mode 100644 index efd0921..0000000 --- a/src/views/patient/viewvant/index.scss +++ /dev/null @@ -1,102 +0,0 @@ - -.container_warp { - position: relative; - width: 100%; - height: 100vh; - display: flex; - .operating { - position: absolute; - top: 0; - z-index: 99; - background-color: #ffffff; - padding: 20px 10px; - box-shadow: 1px 1px 4px 0 #0a0a0a2e; - } -} - .btn-group { - border-right: 1px solid #efefef; - display: inline-block; - padding-left: 10px; - padding-right: 14px; - position: relative; - .btn-group_tips { - text-align: center; - top: 63px; - left: 1px; - position: absolute; - color: #fff; - display: flex; - align-items: center; - justify-content: center; - width: 120px; - height: 60px; - background: #515a6e; - border-radius: 6px; - animation: tips 4s; - transition: all 1s; - &:after { - content: ""; - width: 0; - height: 0; - position: absolute; - top: -5px; - left: 46%; - border-width: 0 5px 5px; - border-style: solid; - border-color: transparent transparent #515a6e; - } - } - &:last-of-type { - border-right: 0; - } - .btn { - display: inline-block; - margin: 2px; - width: 30px; - height: 30px; - line-height: 30px; - text-align: center; - cursor: pointer; - transition: all .4s; - border-radius: 6px; - border: 1px solid rgba(233, 233, 233, 0); - i { - font-size: 20px; - } - } - .currentArrow { - background: #2d8cf0; - color: #fff; - } -} - @keyframes tips { - 0% { - opacity: 0; - transform: scale(0); - } - 10% { - opacity: 1; - transform: scale(1); - } - 90% { - opacity: 1; - transform: scale(1); - } - 100% { - opacity: 0; - transform: scale(0); - } -} - .rotate-square { - display: inline-block; - transform: rotate(45deg); -} - .my-snapline { - color: #000; -} - .right_drawer { - height: 100%; - width: 300px; - border-left: 1px solid #eee; - background: #fff; -} \ No newline at end of file diff --git a/src/views/patient/viewvant/index.vue b/src/views/patient/viewvant/index.vue deleted file mode 100644 index 17601b5..0000000 --- a/src/views/patient/viewvant/index.vue +++ /dev/null @@ -1,322 +0,0 @@ -<template> - <div class="container_warp"> - <div id="containerChart"></div> - <RightDrawer - class="right_drawer" - :drawerType="type" - :selectCell="selectCell" - :graph="graph" - :grid="grid" - @deleteNode="deleteNode" - ></RightDrawer> - - <div class="operating"> - <div class="btn-group"> - <div - class="btn" - title="鍦嗗舰鑺傜偣" - @mousedown="startDrag('Circle', $event)" - > - <i class="iconfont icon-circle"></i> - </div> - <div - class="btn" - title="姝f柟褰㈣妭鐐�" - @mousedown="startDrag('Rect', $event)" - > - <i class="iconfont icon-square"></i> - </div> - <div class="btn" title="鏉′欢鑺傜偣"> - <i - class="iconfont icon-square rotate-square" - @mousedown="startDrag('polygon', $event)" - ></i> - </div> - <div class="btn-group_tips" v-if="showTips"> - 鎷栨嫿鐢熸垚<br />璧勪骇鎷撴墤鍥惧舰 - </div> - </div> - <div class="btn-group"> - <el-tooltip content="鐩寸嚎绠ご" placement="bottom"> - <div - :class="['btn', currentArrow === 1 ? 'currentArrow' : '']" - @click="changeEdgeType('normal')" - > - <i class="iconfont icon-ai28"></i> - </div> - </el-tooltip> - <el-tooltip content="鏇茬嚎绠ご" placement="bottom"> - <div - :class="['btn', currentArrow === 2 ? 'currentArrow' : '']" - @click="changeEdgeType('smooth')" - > - <i class="iconfont icon-Down-Right"></i> - </div> - </el-tooltip> - <el-tooltip content="鐩磋绠ご" placement="bottom"> - <div - :class="['btn', currentArrow === 3 ? 'currentArrow' : '']" - @click="changeEdgeType()" - > - <i class="iconfont icon-jiantou"></i> - </div> - </el-tooltip> - </div> - <div class="btn-group"> - <el-tooltip content="鍒犻櫎" placement="bottom"> - <div class="btn" @click="deleteNode()" style="margin-top: 5px"> - <i class="iconfont icon-shanchu"></i> - </div> - </el-tooltip> - <el-tooltip content="淇濆瓨PNG" placement="bottom"> - <div class="btn" @click="saveToPNG()" title="淇濆瓨"> - <i class="iconfont icon-baocun"></i> - </div> - </el-tooltip> - </div> - </div> - </div> -</template> - -<script> -import "@antv/x6-vue-shape"; -import { Graph, Shape, Addon, FunctionExt, DataUri } from "@antv/x6"; -import RightDrawer from "./RightDrawer"; -import insertCss from "insert-css"; -import { startDragToGraph } from "./Graph/methods.js"; -const data = {}; -export default { - data() { - return { - graph: "", - value1: true, - type: "grid", - selectCell: "", - connectEdgeType: { - //杩炵嚎鏂瑰紡 - connector: "normal", - router: { - name: "", - }, - }, - showTips: false, - currentArrow: 1, - grid: { - // 缃戞牸璁剧疆 - size: 20, // 缃戞牸澶у皬 10px - visible: true, // 娓叉煋缃戞牸鑳屾櫙 - type: "mesh", - args: { - color: "#D0D0D0", - thickness: 1, // 缃戞牸绾垮搴�/缃戞牸鐐瑰ぇ灏� - factor: 10, - }, - }, - }; - }, - components: { - RightDrawer, - }, - methods: { - initX6() { - var _that = this; - this.graph = new Graph({ - container: document.getElementById("containerChart"), - width: 1700, - height: "100%", - grid: _that.grid, - resizing: { - //璋冩暣鑺傜偣瀹介珮 - enabled: true, - orthogonal: false, - }, - selecting: true, //鍙�� - snapline: true, - interacting: { - edgeLabelMovable: true, - }, - connecting: { - // 鑺傜偣杩炴帴 - anchor: "center", - connectionPoint: "anchor", - allowBlank: false, - snap: true, - createEdge() { - return new Shape.Edge({ - attrs: { - line: { - stroke: "#1890ff", - strokeWidth: 1, - targetMarker: { - name: "classic", - size: 8, - }, - strokeDasharray: 0, //铏氱嚎 - style: { - animation: "ant-line 30s infinite linear", - }, - }, - }, - label: { - text: "", - }, - connector: _that.connectEdgeType.connector, - router: { - name: _that.connectEdgeType.router.name || "", - }, - zIndex: 0, - }); - }, - }, - highlighting: { - magnetAvailable: { - name: "stroke", - args: { - padding: 4, - attrs: { - strokeWidth: 4, - stroke: "#6a6c8a", - }, - }, - }, - }, - }); - insertCss(` - @keyframes ant-line { - to { - stroke-dashoffset: -1000 - } - } - `); - this.graph.fromJSON(data); - // 閲嶅仛銆俹ptions 灏嗚浼犻�掑埌浜嬩欢鍥炶皟涓�� - this.graph.history.redo(); - // 鎾ら攢銆俹ptions 灏嗚浼犻�掑埌浜嬩欢鍥炶皟涓� - this.graph.history.undo(); - // 榧犳爣绉诲叆绉诲嚭鑺傜偣 - this.graph.on( - "node:mouseenter", - FunctionExt.debounce(() => { - const container = document.getElementById("containerChart"); - const ports = container.querySelectorAll(".x6-port-body"); - this.showPorts(ports, true); - }), - 500 - ); - // 榧犳爣绉诲紑鑺傜偣 - this.graph.on("node:mouseleave", () => { - const container = document.getElementById("containerChart"); - const ports = container.querySelectorAll(".x6-port-body"); - this.showPorts(ports, false); - }); - // 鍗曞嚮绌虹櫧 - this.graph.on("blank:click", () => { - this.type = "grid"; - }); - // 鍗曞嚮鑺傜偣鎴栬竟 - this.graph.on("cell:click", ({ cell }) => { - this.type = cell.isNode() ? "node" : "edge"; - }); - // 閫変腑鐨勮妭鐐�/杈瑰彂鐢熸敼鍙�(澧炲垹)鏃惰Е鍙戙�� - this.graph.on("selection:changed", (args) => { - args.added.forEach((cell) => { - this.selectCell = cell; - if (cell.isEdge()) { - cell.isEdge() && cell.attr("line/strokeDasharray", 5); //铏氱嚎铓傝殎绾� - cell.addTools([ - { - name: "vertices", - args: { - padding: 4, - attrs: { - strokeWidth: 0.1, - stroke: "#2d8cf0", - fill: "#ffffff", - }, - }, - }, - ]); - } - }); - args.removed.forEach((cell) => { - cell.isEdge() && cell.attr("line/strokeDasharray", 0); //姝e父绾� - cell.removeTools(); - }); - }); - }, - showPorts(ports, show) { - for (let i = 0, len = ports.length; i < len; i = i + 1) { - ports[i].style.visibility = show ? "visible" : "hidden"; - } - }, - // 鎷栨嫿鐢熸垚姝f柟褰㈡垨鑰呭渾褰� - startDrag(type, e) { - startDragToGraph(this.graph, type, e); - }, - // 鍒犻櫎鑺傜偣 - deleteNode() { - const cell = this.graph.getSelectedCells(); - this.graph.removeCells(cell); - this.type = "grid"; - }, - // 淇濆瓨png - saveToPNG() { - this.$nextTick(() => { - this.graph.toPNG( - (dataUri) => { - // 涓嬭浇 - DataUri.downloadDataUri(dataUri, "璧勪骇鎷撴墤鍥�.png"); - }, - { - backgroundColor: "white", - padding: { - top: 50, - right: 50, - bottom: 50, - left: 50, - }, - quality: 1, - copyStyles: false, - } - ); - }); - }, - // 鏀瑰彉杈瑰舰鐘� - changeEdgeType(e) { - if (e === "normal") { - this.connectEdgeType = { - connector: "normal", - router: { name: "" }, - }; - this.currentArrow = 1; - } else if (e === "smooth") { - this.connectEdgeType = { - connector: "smooth", - router: { name: "" }, - }; - this.currentArrow = 2; - } else { - this.connectEdgeType = { - connector: "normal", - router: { name: "manhattan" }, - }; - this.currentArrow = 3; - } - }, - }, - mounted() { - this.initX6(); - setTimeout(() => { - this.showTips = true; - }, 1000); - setTimeout(() => { - this.showTips = false; - }, 5000); - }, -}; -</script> - -<style lang="scss"> -@import "./iconfont.css"; -@import "./index.scss"; -</style> diff --git a/src/views/repositoryai/general/index.vue b/src/views/repositoryai/general/index.vue deleted file mode 100644 index 5e63317..0000000 --- a/src/views/repositoryai/general/index.vue +++ /dev/null @@ -1,795 +0,0 @@ -<template> - <div class="Questionnairemanagement"> - <!-- 宸︿晶鏍� --> - <div class="sidecolumn"> - <div class="sidecolumn-top"> - <div class="top-wj">閫氱敤搴撶被鍨�</div> - <div class="top-tj" @click="dialogFormVisible = true">+娣诲姞</div> - </div> - <div class="center-ss"> - <el-input - placeholder="璇疯緭鍏ュ唴瀹�" - v-model="sidecolumnval" - class="input-with-select" - size="medium " - > - </el-input> - </div> - - <div class="head-container" style="margin-top: 20px"> - <el-tree - :data="deptOptions" - :props="defaultProps" - :expand-on-click-node="false" - :filter-node-method="filterNode" - ref="tree" - node-key="id" - default-expand-all - highlight-current - @node-click="handleNodeClick" - > - <span class="custom-tree-node" slot-scope="{ node, data }"> - <span>{{ node.label }}</span> - <span> - <el-button - type="text" - icon="el-icon-delete" - circle - size="mini" - @click="() => remove(node, data)" - > - </el-button> - </span> - </span> - </el-tree> - </div> - </div> - <!-- 鍙充晶鏁版嵁 --> - <div class="leftvlue"> - <div class="leftvlue-bg"> - <el-row :gutter="20"> - <!--鐢ㄦ埛鏁版嵁--> - <el-col :span="24" :xs="24"> - <el-form - :model="queryParams" - ref="queryForm" - size="small" - :inline="true" - v-show="showSearch" - label-width="98px" - > - <el-form-item label="閫氱敤搴撳悕绉�" prop="userName"> - <el-input - v-model="queryParams.userName" - placeholder="璇疯緭鍏�" - clearable - style="width: 200px" - @keyup.enter.native="handleQuery" - /> - </el-form-item> - <el-form-item label="闂涓婚" prop="userName"> - <el-input - v-model="queryParams.userName" - placeholder="璇疯緭鍏�" - clearable - style="width: 200px" - @keyup.enter.native="handleQuery" - /> - </el-form-item> - - <el-form-item label="閫傜敤鏂瑰紡" prop="shape"> - <el-select v-model="queryParams.value" placeholder="璇烽�夋嫨"> - <el-option - v-for="item in mode" - :key="item.value" - :label="item.label" - :value="item.value" - > - </el-option> - </el-select> - </el-form-item> - - <el-form-item label="閫傜敤闄㈠尯" prop="classify"> - <el-select - v-model="queryParams.classifyvalue" - placeholder="璇烽�夋嫨" - > - <el-option - v-for="(item, index) in courtyardlist" - :key="item.value" - :label="item.label" - :value="item.value" - > - </el-option> - </el-select> - </el-form-item> - - <el-form-item> - <el-button - type="primary" - icon="el-icon-search" - size="medium" - @click="handleQuery" - >鎼滅储</el-button - > - <el-button - icon="el-icon-refresh" - size="medium" - @click="resetQuery" - >閲嶇疆</el-button - > - </el-form-item> - </el-form> - - <el-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="danger" - plain - icon="el-icon-delete" - size="medium" - :disabled="multiple" - @click="handleDelete" - v-hasPermi="['system:user:remove']" - >鍒犻櫎</el-button - > - </el-col> - </el-row> - <el-table - v-loading="loading" - :data="targetList" - @selection-change="handleSelectionChange" - > - <el-table-column type="selection" width="50" align="center" /> - <el-table-column label="搴忓彿" align="center" key="id" prop="id" /> - <el-table-column - label="閫氱敤搴撳悕绉�" - align="center" - key="extName" - prop="extName" - width="200" - :show-overflow-tooltip="true" - /> - <el-table-column - label="閫氱敤搴撹鏄�" - align="center" - key="note" - width="250" - prop="note" - :show-overflow-tooltip="true" - > - </el-table-column> - <el-table-column - label="鐗堟湰鍙�" - align="center" - key="version" - prop="version" - /><el-table-column - label="閫傜敤鏂瑰紡" - align="center" - key="suitWay" - prop="suitWay" - width="120" - > - <template slot-scope="scope"> - <span v-for="item in scope.row.suitWay">{{ item }}</span> - </template> - </el-table-column> - - <el-table-column - label="璇█" - align="center" - key="language" - prop="language" - width="120" - /> - - <el-table-column - label="鏄惁鍙敤" - align="center" - key="isEnable" - prop="isEnable" - > - <template slot-scope="scope"> - <dict-tag :options="usable" :value="scope.row.isEnable" /> - </template> - </el-table-column> - - <el-table-column - label="鎿嶄綔" - align="center" - fixed="right" - width="200" - class-name="small-padding fixed-width" - > - <template slot-scope="scope"> - <el-button - size="medium" - type="text" - @click="handleUpdate(scope.row)" - v-hasPermi="['system:user:edit']" - ><span class="button-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> - - <pagination - v-show="total > 0" - :total="total" - :page.sync="queryParams.pageNum" - :limit.sync="queryParams.pageSize" - @pagination="getList" - /> - </el-col> - </el-row> - </div> - </div> - - <!-- 娣诲姞绫诲埆寮规 --> - <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> - <el-radio-button label="瀛愬垎绫�"></el-radio-button> - </el-radio-group> - </div> --> - <!-- <el-divider></el-divider> --> - - <el-form :model="classifyform"> - <el-form-item label="璇烽�夋嫨闂澶х被" v-if="radio == '瀛愬垎绫�'"> - <el-select v-model="classifyform.pid" placeholder="璇烽�夋嫨"> - <el-option - v-for="item in deptOptions" - :key="item.intertcatid" - :label="item.categoryname" - :value="item.intertcatid" - > - </el-option> - </el-select> - </el-form-item> - <el-form-item label="璇疯緭鍏ョ被鍒悕绉�"> - <el-input - v-model="classifyform.categoryname" - autocomplete="off" - ></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="submitsidecolumn">纭� 瀹�</el-button> - </div> - </el-dialog> - </div> -</template> - -<script> -import { - getgenerallist, - addgeneral, - editgeneral, - delgeneralinfo, - delgeneralclassify, - getgeneralclassify, - addgeneralclassify, -} from "@/api/AiCentre/index"; -import { getToken } from "@/utils/auth"; -import Treeselect from "@riophae/vue-treeselect"; -import "@riophae/vue-treeselect/dist/vue-treeselect.css"; -import { listtag } from "@/api/system/label"; -import store from "@/store"; - -export default { - name: "questionnaire", - dicts: ["sys_normal_disable", "sys_user_sex"], - components: { Treeselect }, - data() { - return { - topactiveName: "Local", //椤堕儴閫夋嫨 - // 閬僵灞� - loading: false, - // 閫変腑鏁扮粍 - ids: [], - // 闈炲崟涓鐢� - single: true, - // 闈炲涓鐢� - multiple: true, - // 鏄剧ず鎼滅储鏉′欢 - showSearch: true, - measurement: false, - languagelist: [], - usable: [], - indexid: null, - // 鎬绘潯鏁� - total: 0, - idds: "", - amendtag: false, //鏄惁淇敼绫诲埆 - dialogFormVisible: false, //淇敼娣诲姞绫诲埆寮规 - deleteVisible: false, //鍒嗙被鍒犻櫎寮规 - deletefenl: "楂樿鍘�", //鍒犻櫎椤� - radio: "涓诲垎绫�", - testvalue: "", - testgovalue: "", - classifyform: { - categoryname: "", - }, //绫诲埆琛ㄥ崟 - // 琛ㄦ牸鏁版嵁 - targetList: null, - testuserList: [], - // 寮瑰嚭灞傛爣棰� - title: "", - // 鏄惁鏄剧ず寮瑰嚭灞� - open: false, - // 鏃ユ湡鑼冨洿 - dateRange: [], - - // 娣诲姞銆佷慨鏀瑰弬鏁� - indexform: {}, - - sidecolumnform: {}, //娣诲姞绫诲埆琛ㄥ崟 - dialogFormVisible: false, //娣诲姞绫诲埆寮规 - sidecolumnval: "", //绫诲埆鎼滅储 - indexopen: false, //寮规灞曠ず鍚� - courtyardlist: [], - mode: [], - optionstag: [], - targetoptionList: [], - deptOptions: [], - defaultProps: { - children: "ivrLibaTargetAssortList", - label: "categoryname", - }, - // 鏌ヨ鍙傛暟 - queryParams: { - pageNum: 1, - pageSize: 10, - }, - - // 琛ㄥ崟鏍¢獙 - rules: {}, - }; - }, - watch: { - // 鏍规嵁鍚嶇О绛涢�夐儴闂ㄦ爲 - sidecolumnval(val) { - this.$refs.tree.filter(val); - }, - }, - created() { - this.getList(); - this.getDeptTree(); - this.mode = store.getters.mode; - this.valuetype = store.getters.valuetype; - this.languagelist = store.getters.languagelist; - this.courtyardlist = store.getters.courtyardlist; - this.usable = store.getters.usable; - }, - - methods: { - /** 鏌ヨ閫氱敤搴撳垪琛� */ - getList() { - this.loading = true; - getgenerallist(this.queryParams).then((res) => { - this.targetList = res.rows; - this.total = res.total; - console.log(this.targetList); - this.loading = false; - }); - }, - - processElement(element) { - return { ...element, isoperation: 1 }; - }, - getIndexInArray(arr, obj) { - return arr.indexOf(obj); - }, - - //鍒犻櫎鍒嗙被 - deletefenlei(row) { - if (this.deleteVisible) { - // deletetagcategory(this.idds).then((response) => { - // console.log(response); - // this.gitclasify(); - // }); - this.deleteVisible = false; - this.idds = ""; - } else { - this.deleteVisible = true; - this.idds = row.tagcategoryid; - this.deletefenl = row.title; - } - }, - /** 鏌ヨ閮ㄩ棬涓嬫媺鏍戠粨鏋� */ - getDeptTree() { - getgeneralclassify({}).then((res) => { - this.deptOptions = res.rows; - console.log(res); - }); - }, - // 绛涢�夎妭鐐� - filterNode(value, data) { - if (!value) return true; - return data.categoryname.indexOf(value) !== -1; - }, - // 娣诲姞绫诲埆鏍� - submitsidecolumn() { - let calssvalue = {}; - if ( - this.classifyform.pid && - this.classifyform.categoryname && - this.radio == "瀛愬垎绫�" - ) { - const index = this.deptOptions.findIndex( - (obj) => obj.intertcatid == this.classifyform.pid - ); - calssvalue = this.deptOptions[index]; - console.log(calssvalue); - calssvalue.ivrLibaTargetAssortList.push(this.classifyform); - } else if (this.radio == "涓诲垎绫�" && this.classifyform.categoryname) { - this.classifyform.pid = null; - this.classifyform.ivrLibaTargetAssortList = []; - } else { - return this.$modal.msgError("璇峰~鍐欏畬鏁翠俊鎭�"); - } - - addgeneralclassify(this.classifyform).then((res) => { - this.getDeptTree(); - this.$modal.msgSuccess("鏂板鎴愬姛"); - this.classifyform = {}; - this.dialogFormVisible = false; - }); - }, - remove(a, b) { - if (b.pid) { - this.$modal - .confirm('鏄惁纭鍒犻櫎鍒嗙被椤逛负"' + b.categoryname + '"鐨勬暟鎹」锛�') - .then(function () { - return delgeneralclassify(b.intertcatid); - }) - .then(() => { - this.getDeptTree(); - this.$modal.msgSuccess("鍒犻櫎鎴愬姛"); - }) - .catch(() => {}); - } else { - this.$modal - .confirm( - '鏄惁纭鍒犻櫎涓�绾у垎绫�"' + - b.categoryname + - '"锛熷垹闄ゅ悗鍏朵笅鍒嗙被灏嗗綊绫烩�樻湭鍒嗙被鈥�' - ) - .then(() => { - return delgeneralclassify(b.intertcatid); - }) - .then(() => { - this.getDeptTree(); - this.$modal.msgSuccess("鍒犻櫎鎴愬姛"); - }) - .catch(() => {}); - } - }, - handleNodeClick(data) { - this.queryParams.groupID = data.intertcatid; - this.getList(); - }, - - // 鍙栨秷鎸夐挳 - cancel() { - this.indexopen = false; - this.reset(); - }, - - // 琛ㄥ崟閲嶇疆 - reset() { - this.indexform = { - suitWay: undefined, - id: undefined, - targetdesc: undefined, - baseTagList: [], - targetoptionList: [], - }; - this.resetForm("indexform"); - }, - /** 鎼滅储鎸夐挳鎿嶄綔 */ - handleQuery() { - this.queryParams.pageNum = 1; - this.getList(); - }, - /** 閲嶇疆鎸夐挳鎿嶄綔 */ - resetQuery() { - this.queryParams = { - pageNum: 1, - pageSize: 10, - }; - this.resetForm("queryForm"); - this.getList(); - this.handleQuery(); - }, - // 澶氶�夋閫変腑鏁版嵁 - handleSelectionChange(selection) { - this.ids = selection.map((item) => item.id); - this.single = selection.length != 1; - this.multiple = !selection.length; - }, - /** 鏂板鎸夐挳鎿嶄綔 */ - handleAdd() { - this.$router.push({ - path: "/knowledge/general/particulars/", - }); - }, - /** 淇敼鎸夐挳鎿嶄綔 */ - handleUpdate(row) { - this.$router.push({ - path: "/knowledge/general/particulars/", - query: { id: row.id }, - }); - }, - handlemeasurement(row) { - this.reset(); - this.title = "閫氱敤搴撹鎯�"; - this.indexopen = true; - this.measurement = true; - }, - // 淇敼鍒嗙被寮规 - popoveramend(tagcategoryid) { - this.idds = tagcategoryid; - this.amendtag = true; - this.dialogFormVisible = true; - }, - - /** 鏇存柊/淇敼鎻愪氦鎸夐挳 */ - submitForm: function () { - // this.indexform.targetoptionList=[] - this.$refs["indexform"].validate((valid) => { - this.indexform.targetoptionList = this.testuserList.concat( - this.targetoptionList - ); - if (valid) { - if (this.indexform.id != undefined) { - this.indexform.isoperation = 2; - editgeneral(this.indexform).then((response) => { - this.$modal.msgSuccess("淇敼鎴愬姛"); - this.indexopen = false; - this.getList(); - }); - } else { - this.indexform.targettype = "1"; - this.indexform.isoperation = 1; - addgeneral(this.indexform).then((response) => { - this.$modal.msgSuccess("鏂板鎴愬姛"); - this.indexopen = false; - this.getList(); - }); - } - } - }); - }, - /** 鍒犻櫎鎸夐挳鎿嶄綔 */ - handleDelete(row) { - const userIds = row.id || this.ids; - this.$modal - .confirm('鏄惁纭鍒犻櫎閫氱敤搴撳悕绉颁负"' + row.targetname + '"鐨勬暟鎹」锛�') - .then(function () { - return delgeneralinfo(userIds); - }) - .then(() => { - this.getList(); - this.$modal.msgSuccess("鍒犻櫎鎴愬姛"); - }) - .catch(() => {}); - }, - }, -}; -</script> - -<style lang="scss" scoped> -.Questionnairemanagement { - display: flex; -} -.xinz-inf { - font-size: 18px; - white-space: nowrap; - overflow: hidden; - text-overflow: ellipsis; - - line-height: 48px; - - .el-tag + .el-tag { - margin-left: 10px; - } - .button-new-tag { - margin-left: 10px; - height: 32px; - line-height: 30px; - padding-top: 0; - padding-bottom: 0; - } - .input-new-tag { - width: 90px; - margin-left: 10px; - vertical-align: bottom; - } -} -.xinz-infs { - font-size: 18px; - overflow: hidden; - text-overflow: ellipsis; - - line-height: 48px; - - .el-tag + .el-tag { - margin-left: 10px; - } - .button-new-tag { - margin-left: 10px; - height: 32px; - line-height: 30px; - padding-top: 0; - padding-bottom: 0; - } - .input-new-tag { - width: 90px; - margin-left: 10px; - vertical-align: bottom; - } -} -.sidecolumn { - width: 300px; - min-height: 100vh; - text-align: center; - // display: flex; - margin-top: 20px; - margin: 20px; - padding: 30px; - background: #fff; - 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); - .sidecolumn-top { - display: flex; - justify-content: space-between; - .top-wj { - font-size: 20px; - } - .top-tj { - font-size: 18px; - - color: rgb(0, 89, 255); - cursor: pointer; - } - } - .center-ss { - margin-top: 30px; - .input-with-select { - height: 40px !important; - } - } - .bottom-fl { - margin-top: 30px; - display: center !important; - } -} -.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); - .qrcode-text { - font-size: 20px; - span { - margin-left: 20px; - } - } - .qrcode-img { - width: 300px; - height: 400px; - } -} -::v-deep.el-tabs--left, -.el-tabs--right { - overflow: hidden; - align-items: center; - display: flex; -} -::v-deep.el-input--medium .el-input__inner { - height: 40px !important; -} -::v-deep.el-tabs--right .el-tabs__active-bar.is-right { - height: 40px; - width: 5px; - left: 0; -} -::v-deep.el-tabs--right .el-tabs__item.is-right { - display: block; - font-size: 20px; -} -.leftvlue { - // display: flex; - // flex: 1; - width: 80%; - margin-top: 20px; - // margin: 20px; - padding: 30px; - background: #ffff; - border: 1px solid #dcdfe6; - -webkit-box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.12), - 0 0 6px 0 rgba(0, 0, 0, 0.04); - .mulsz { - font-size: 20px; - } -} -::v-deep .el-tree-node__content { - display: -webkit-box; - display: -ms-flexbox; - display: flex; - -webkit-box-align: center; - -ms-flex-align: center; - align-items: center; - height: 46px; - font-size: 20px; - cursor: pointer; -} -::v-deep .el-tree { - position: relative; - cursor: default; - border-radius: 5px; - background: #eff8fe; - color: #606266; - border: 1px solid #bbe1fa; - // 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); -} -::v-deep - .el-tree--highlight-current - .el-tree-node.is-current - > .el-tree-node__content { - background-color: #7799fb; - color: #fff; -} -::v-deep .el-button--mini.is-circle { - padding: 7px; - margin: 0; - color: red; -} -.button-text { - color: rgb(70, 204, 238); -} -.button-textcs { - color: rgb(39, 167, 67); -} -.button-textxg { - color: rgb(35, 81, 233); -} -.button-textsc { - color: rgb(235, 23, 23); -} -</style> diff --git a/src/views/repositoryai/general/particulars/index.vue b/src/views/repositoryai/general/particulars/index.vue deleted file mode 100644 index 48608e6..0000000 --- a/src/views/repositoryai/general/particulars/index.vue +++ /dev/null @@ -1,633 +0,0 @@ -<template> - <div> - <el-card style="margin: 20px" class="box-card"> - <el-form - :model="baseForm" - :rules="bases" - ref="baseForm" - label-width="100px" - class="demo-baseForm" - > - <el-row :gutter="20"> - <el-col :span="12"> - <el-form-item label="妯℃澘鍚嶇О" prop="extName"> - <el-input - v-model="baseForm.extName" - placeholder="璇疯緭鍏�" - ></el-input> </el-form-item - ></el-col> - <el-col :span="12"> - <el-form-item label="妯℃澘鍒嗙被" prop="groupID"> - <el-select v-model="baseForm.groupID" placeholder="璇烽�夋嫨鍒嗙被"> - <el-option - v-for="item in deptOptions" - :key="item.intertcatid" - :label="item.categoryname" - :value="item.intertcatid" - > - </el-option> - </el-select> </el-form-item - ></el-col> - </el-row> - <el-row :gutter="20"> - <el-col :span="12"> - <el-form-item label="妯℃澘姒傝堪" prop="name"> - <el-input - v-model="baseForm.note" - placeholder="璇疯緭鍏�" - ></el-input> </el-form-item - ></el-col> - <el-col :span="12"> - <el-form-item label="鏄惁鍙敤" prop="resource"> - <el-select v-model="baseForm.isEnable" placeholder="璇烽�夋嫨鐘舵��"> - <el-option - v-for="item in usable" - :key="item.value" - :label="item.label" - :value="item.value" - > - </el-option> - </el-select> </el-form-item - ></el-col> - </el-row> - </el-form> - <div class="presentation"> - <div class="presentation-left"> - <div class="leftvlue-jbxx">璇濇湳鍒楄〃</div> - <el-divider></el-divider> - - <el-table :data="targetList" :row-class-name="tableRowClassName"> - <el-table-column - label="搴忓彿" - fixed - align="center" - key="id" - prop="id" - /> - - <el-table-column - label="闂鏂囨湰" - align="center" - key="switchText" - width="250" - prop="switchText" - :show-overflow-tooltip="true" - > - </el-table-column> - - <el-table-column - label="鏄惁鍙敤" - align="center" - key="isEnable" - prop="isEnable" - > - <template slot-scope="scope"> - <span>{{ scope.row.isEnable == 1 ? "鍋滅敤" : "鍚敤" }}</span> - </template> - </el-table-column> - <el-table-column - label="鏈�杩戜慨鏀�" - align="center" - key="updateTime" - width="250" - prop="updateTime" - :show-overflow-tooltip="true" - > - </el-table-column> - - <el-table-column - label="鎿嶄綔" - align="center" - fixed="right" - width="200" - class-name="small-padding fixed-width" - > - <template slot-scope="scope"> - <el-button - size="medium" - type="text" - @click="handleUpdate(scope.row, scope.$index)" - ><span class="button-textxg" - ><i class="el-icon-edit"></i>淇敼</span - ></el-button - > - - <el-button - size="medium" - type="text" - @click="handleDelete(scope.row)" - ><span class="button-textsc" - ><i class="el-icon-delete"></i>鍒犻櫎</span - ></el-button - > - </template> - </el-table-column> - </el-table> - </div> - <div class="presentation-right"> - <el-form - :model="ruleForm" - :rules="rules" - ref="ruleForm" - label-width="100px" - class="demo-ruleForm" - > - <div class="leftvlue-jbxx">璇濇湳缂栬緫</div> - <el-divider></el-divider> - <div style="margin: 15px; margin-top: 50px"> - <el-form-item label="璇濇湳鏂囨湰" prop="name"> - <el-input - v-model="ruleForm.switchText" - placeholder="璇疯緭鍏�" - ></el-input> - </el-form-item> - <el-row :gutter="20"> - <el-col :span="12"> - <el-form-item label="鏄惁鍚敤" prop="resource"> - <el-select v-model="ruleForm.isEnable" placeholder="璇烽�夋嫨"> - <el-option - v-for="item in usable" - :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="resource"> - <el-select v-model="ruleForm.isEnd" placeholder="璇烽�夋嫨"> - <el-option - v-for="item in usablend" - :key="item.value" - :label="item.label" - :value="item.value" - > - </el-option> - </el-select> </el-form-item - ></el-col> - </el-row> - <el-form-item label="闂璇煶" prop="verbaltrickyy"> - <el-upload - class="upload-demo" - action="https://jsonplaceholder.typicode.com/posts/" - :on-change="handleChange" - :file-list="fileList" - :limit="1" - :on-exceed="handleExceed" - > - <el-button size="small" type="primary">鐐瑰嚮涓婁紶</el-button> - </el-upload> - <!-- <el-input v-model="indexform.userName" maxlength="30" /> --> - </el-form-item> - - <el-form-item label="鍏抽敭瀛�(鍚�)" prop="desc"> - <div class="xinz-inf"> - <el-tag - :key="crux" - type="success" - v-for="crux in ruleForm.dynamiccruxs" - closable - effect="dark" - :disable-transitions="false" - @close="handleClosecrux(crux, ruleForm, 1)" - > - {{ crux }} - </el-tag> - <el-select - v-model="inputValue" - v-if="inputVisible" - @change="handleInputConfirm(ruleForm)" - filterable - remote - allow-create - reserve-keyword - default-first-option - :loading="loading" - placeholder="璇烽�夋嫨" - > - <el-option - v-for="ruleForms in regular" - :key="ruleForms.label" - :label="ruleForms.label" - :value="ruleForms.label" - > - </el-option> - </el-select> - <el-button - v-else - class="button-new-tag" - size="small" - @click="showInput(ruleForm)" - >+ 鏂板</el-button - > - </div> - </el-form-item> - <el-form-item label="鍏抽敭瀛�(闈�)" prop="desc"> - <div class="xinz-inf"> - <el-tag - :key="crux" - type="warning" - v-for="crux in ruleForm.nodynamiccruxs" - closable - effect="dark" - :disable-transitions="false" - @close="handleClosecrux(crux, ruleForm, 2)" - > - {{ crux }} - </el-tag> - <el-select - v-model="inputValue" - v-if="noinputVisible" - @change="handleInputConfirm(ruleForm)" - filterable - remote - allow-create - reserve-keyword - default-first-option - :loading="loading" - placeholder="璇烽�夋嫨" - > - <el-option - v-for="ruleForms in noregular" - :key="ruleForms.value" - :label="ruleForms.label" - :value="ruleForms.label" - > - </el-option> - </el-select> - <el-button - v-else - class="button-new-tag" - size="small" - @click="showInputno(ruleForm)" - >+ 鏂板</el-button - > - </div> - </el-form-item> - <el-form-item> - <el-button type="primary" @click="submitForm('ruleForm')" - >淇濆瓨妯℃澘</el-button - > - <el-button - v-if="ruleForm.id" - type="primary" - plain - @click="modification('edit')" - >淇濆瓨璇濇湳</el-button - > - <el-button - v-else - type="success" - plain - @click="modification('add')" - >鏂板璇濇湳</el-button - > - <el-button @click="resetForm('ruleForm')">鍏抽棴</el-button> - </el-form-item> - </div> - </el-form> - </div> - </div> - </el-card> - </div> -</template> - -<script> -import store from "@/store"; -import { - editgeneravaluel, - addgeneravaluel, - getgeneravaluelinfo, - addgeneral, - editgeneral, - getgeneralinfo, - getgeneralclassify, - delgeneravaluelinfo, - getgeneravaluellist, -} from "@/api/AiCentre/index"; -export default { - data() { - return { - loading: false, - id: null, - usable: [], - index: "", - languagelist: [], - deptOptions: [], - mode: [], - pitchon: "", - targetList: [], - fileList: [ - { - name: "food.jpeg", - url: "https://fuss10.elemecdn.com/3/63/4e7f3a15429bfda99bce42a18cdd1jpeg.jpeg?imageMogr2/thumbnail/360x360/format/webp/quality/100", - }, - ], - usablend: [ - { - value: 0, - label: "闈炵粨鏉熻", - }, - { - value: 1, - label: "缁撴潫璇�", - }, - ], - ruleForm: { - dynamiccruxs: [], - nodynamiccruxs: [], - }, - baseForm: { - extName: "", - }, - rules: {}, - bases: {}, - whether: 1, //1涓哄叧閿瘝锛�2涓哄惁瀹氬叧閿瘝 - inputValue: "", - inputVisible: false, - noinputVisible: false, - loading: false, - regular: [], - noregular: [], - nodynamiccruxs: ["鍒�", "涓�"], - dynamiccruxs: ["濂�"], - }; - }, - - created() { - this.id = this.$route.query.id; - this.getList(); - this.usable = store.getters.usablesz; - this.languagelist = store.getters.languagelist; - this.mode = store.getters.mode; - this.regular = store.getters.regular; - this.noregular = store.getters.noregular; - }, - - methods: { - getList() { - if (this.id) { - this.$modal.loading("璇风◢鍊�..."); - getgeneralinfo(this.id).then((res) => { - if (res.code == 200) { - this.baseForm = res.data; - } - this.$modal.closeLoading(); - }); - getgeneravaluellist({ extID: this.id }).then((res) => { - if (res.code == 200) { - this.targetList = res.rows; - } - this.$modal.closeLoading(); - }); - } - getgeneralclassify({}).then((res) => { - this.deptOptions = res.rows; - console.log(res); - }); - }, - /** 鏂板鎸夐挳鎿嶄綔 */ - handleAdd() {}, - /** 淇敼鎸夐挳鎿嶄綔 */ - handleUpdate(row, index) { - this.pitchon = row.switchText; - this.ruleForm = row; - this.index = index; - }, - // 鍒犻櫎 - handleDelete(item) { - this.$modal - .confirm("鏄惁纭鍒犻櫎璇ヨ瘽鏈」锛�") - .then((res) => { - if (item.id) { - delgeneravaluelinfo(item.id).then((res) => { - this.$modal.msgSuccess("鍒犻櫎鎴愬姛"); - }); - } - this.targetList = this.targetList.filter((obj) => obj !== item); - }) - .catch(() => {}); - }, - // 淇濆瓨涓昏〃 - submitForm() { - if (this.baseForm.id) { - editgeneral(this.baseForm).then((res) => { - if (res.code == 200) { - this.$modal.msgSuccess("淇敼鎴愬姛"); - this.savetalk(); - } - }); - } else { - addgeneral(this.baseForm).then((res) => { - if (res.code == 200) { - this.$modal.msgSuccess("鏂板鎴愬姛"); - this.baseForm.id = res.data.id; - this.id = res.data.id; - this.savetalk(); - } - }); - } - }, - // 淇濆瓨璇濇湳 - savetalk() { - this.targetList.forEach((obj) => { - if (obj.id) { - editgeneravaluel(obj).then((res) => { - this.getList(); - }); - } else { - obj.extID = this.baseForm.id; - addgeneravaluel(obj).then((res) => { - this.getList(); - }); - } - }); - }, - modification(type) { - if (type == "add") { - console.log(this.ruleForm, "ruleForm"); - this.targetList.push(this.ruleForm); - } else { - this.targetList[this.index] = this.ruleForm; - } - this.ruleForm = {}; - }, - // 鍏抽棴 - resetForm() { - this.$confirm("鍗冲皢閫�鍑洪〉闈�, 璇风‘璁ゆ暟鎹槸鍚︿繚瀛�?", "鎻愮ず", { - confirmButtonText: "纭畾", - cancelButtonText: "鍙栨秷", - type: "warning", - }) - .then(() => { - this.$router.go(-1); - }) - .catch(() => { - this.$message({ - type: "info", - message: "宸插彇娑�", - }); - }); - }, - // 鏂囦欢---------------------- - // 鎺у埗鏂囦欢 - handleChange(file, fileList) { - this.fileList = fileList.slice(-3); - }, - // 鏂囦欢瓒呭嚭涓暟闄愬埗鏃剁殑閽╁瓙 - handleExceed(files, fileList) { - this.$message.warning( - `褰撳墠闄愬埗閫夋嫨 1 涓枃浠讹紝鏈閫夋嫨浜� ${files.length} 涓枃浠讹紝鍏遍�夋嫨浜� ${ - files.length + fileList.length - } 涓枃浠禶 - ); - }, - tableRowClassName({ row, rowIndex }) { - if (row.switchText == this.pitchon) { - return "warning-row"; - } - return ""; - }, - // 姝e垯----------------- - // 鐢熸垚姝e垯 - generateRegex(row) { - let regex = ""; - let regexno = ""; - let hostregex = ""; - let hostregexno = ""; - - for (let i = 0; i < this.ruleForm.dynamiccruxs.length; i++) { - regex += `${this.ruleForm.dynamiccruxs[i]}|`; - } - for (let i = 0; i < this.ruleForm.nodynamiccruxs.length; i++) { - regexno += `${this.ruleForm.nodynamiccruxs[i]}|`; - } - regex = regex.slice(0, -1); - regexno = regexno.slice(0, -1); - hostregex = "(?=.*(?:" + `${regex}` + ")).*$"; - hostregexno = "^(?!.(?:" + `${regexno}` + ")).*$"; - this.ruleForm.selfRegex = hostregex; - this.ruleForm.selfRegex2 = hostregexno; - console.log(hostregex, "纭畾瀛楀尮閰�"); - console.log(hostregexno, "鍚﹀畾瀛楀尮閰�"); - }, - handleClosecrux(crux, item, whether) { - if (whether == 1) { - item.dynamiccruxs.splice(item.dynamiccruxs.indexOf(crux), 1); - console.log(1); - console.log(item.dynamiccruxs); - console.log(item.nodynamiccruxs); - } else { - console.log(2); - item.nodynamiccruxs.splice(item.nodynamiccruxs.indexOf(crux), 1); - } - this.generateRegex(item); - }, - handleInputConfirm(row) { - // let index = this.TargetoptionList.indexOf(row); - console.log(this.ruleForm.dynamiccruxs); - console.log(this.ruleForm.nodynamiccruxs); - if (this.whether == 1 && this.inputValue) { - console.log(1); - if (this.ruleForm.dynamiccruxs.indexOf(this.inputValue) == -1) { - this.ruleForm.dynamiccruxs.push(this.inputValue); - console.log(2); - } else { - this.$message.error("鍏抽敭瀛楀凡瀛樺湪"); - } - // this.inputVisible = false; - this.inputVisible = false; - } else if (this.whether == 2 && this.inputValue) { - console.log(this.ruleForm.nodynamiccruxs.indexOf(this.inputValue)); - if (this.ruleForm.nodynamiccruxs.indexOf(this.inputValue) == -1) { - this.ruleForm.nodynamiccruxs.push(this.inputValue); - } else { - this.$message.error("鍏抽敭瀛楀凡瀛樺湪"); - } - // this.noinputVisible = false; - this.noinputVisible = false; - } - this.generateRegex(row); - - this.inputValue = ""; - }, - showInput(row) { - // let index = this.TargetoptionList.indexOf(row); - this.inputVisible = true; - // this.$set(this.ruleForm, "inputVisible", true); - this.whether = 1; - }, - showInputno(row) { - // let index = this.TargetoptionList.indexOf(row); - this.noinputVisible = true; - // this.$set(this.ruleForm, "noinputVisible", true); - this.whether = 2; - }, - }, -}; -</script> - -<style lang="scss" scoped> -.elcardiv { - padding: 10px; - .leftvlue-jbxx { - font-size: 24px; - border-left: 5px solid #5788fe; - padding-left: 5px; - margin: 15px 0; - } -} -.presentation { - margin: 20px 0; - display: flex; - .presentation-left { - width: 60%; - // height: 500px; - } - .presentation-right { - width: 40%; - max-height: 688px; - padding: 0 20px; - font-size: 18px; - overflow: auto; - } - .leftvlue-jbxx { - font-size: 24px; - border-left: 5px solid #5788fe; - padding-left: 5px; - margin: 15px 0; - } -} -.button-textxg { - color: rgb(35, 81, 233); -} -.button-textsc { - color: rgb(235, 23, 23); -} -.topicxq { - background-color: #e2f5fc; - border-radius: 4px; - margin-top: 10px; - padding: 10px; -} - -.el-tag + .el-tag { - margin-left: 10px; -} -.button-new-tag { - margin-left: 10px; - height: 32px; - line-height: 30px; - padding-top: 0; - padding-bottom: 0; -} -.input-new-tag { - width: 90px; - margin-left: 10px; - vertical-align: bottom; -} -::v-deep.el-table .warning-row { - background: rgb(193, 208, 250); -} -</style> diff --git a/src/views/repositoryai/intention/index.vue b/src/views/repositoryai/intention/index.vue deleted file mode 100644 index d88f11f..0000000 --- a/src/views/repositoryai/intention/index.vue +++ /dev/null @@ -1,1639 +0,0 @@ -<template> - <div class="Questionnairemanagement"> - <!-- 宸︿晶鏍� --> - <div class="sidecolumn"> - <div class="sidecolumn-top"> - <div class="top-wj">鎸囨爣鍒嗙被</div> - <div class="top-tj" @click="dialogFormVisible = true">+娣诲姞</div> - </div> - <div class="center-ss"> - <el-input - placeholder="璇疯緭鍏ュ唴瀹�" - v-model="sidecolumnval" - class="input-with-select" - size="medium " - > - </el-input> - </div> - - <div class="head-container" style="margin-top: 20px"> - <el-tree - :data="deptOptions" - :props="defaultProps" - :expand-on-click-node="false" - :filter-node-method="filterNode" - ref="tree" - node-key="id" - default-expand-all - highlight-current - @node-click="handleNodeClick" - > - <span class="custom-tree-node" slot-scope="{ node, data }"> - <span>{{ node.label }}</span> - <span v-if="data.id > 0"> - <el-button - type="text" - icon="el-icon-delete" - circle - size="mini" - @click="() => remove(node, data)" - > - </el-button> - </span> - <span v-if="data.id > 0"> - <el-button - type="text" - circle - size="mini" - @click="() => altertag(node, data)" - ><span class="button-textxg" - ><i class="el-icon-edit-outline"></i - ></span> - </el-button> - </span> - </span> - </el-tree> - </div> - </div> - <!-- 鍙充晶鏁版嵁 --> - <div class="leftvlue"> - <div class="leftvlue-bg"> - <el-row :gutter="20"> - <!--鐢ㄦ埛鏁版嵁--> - <el-col :span="24" :xs="24"> - <el-form - :model="queryParams" - ref="queryForm" - size="small" - :inline="true" - v-show="showSearch" - label-width="98px" - > - <el-form-item label="鎸囨爣鍚嶇О" prop="userName"> - <el-input - v-model="queryParams.targetname" - placeholder="璇疯緭鍏�" - clearable - style="width: 200px" - @keyup.enter.native="handleQuery" - /> - </el-form-item> - <el-form-item label="鏍囩鍚嶇О" prop="userName"> - <el-input - v-model="queryParams.tagName" - placeholder="璇疯緭鍏�" - clearable - style="width: 200px" - @keyup.enter.native="handleQuery" - /> - </el-form-item> - <el-form-item label="閫傜敤鍦烘櫙" prop="shape"> - <el-select v-model="queryParams.suitWay" placeholder="璇烽�夋嫨"> - <el-option - v-for="item in mode" - :key="item.value" - :label="item.label" - :value="item.value" - > - </el-option> - </el-select> - </el-form-item> - <el-form-item label="鎸囨爣绫诲瀷" prop="classify"> - <el-select - v-model="queryParams.scriptType" - placeholder="璇烽�夋嫨" - > - <el-option - v-for="(item, index) in askvaluetype" - :key="item.value" - :label="item.label" - :value="item.value" - > - </el-option> - </el-select> - </el-form-item> - <el-form-item label="鏄惁鍙敤" prop="classify"> - <el-select - v-model="queryParams.isAvailable" - placeholder="璇烽�夋嫨" - > - <el-option - v-for="(item, index) in usable" - :key="item.value" - :label="item.label" - :value="item.value" - > - </el-option> - </el-select> - </el-form-item> - - <el-form-item> - <el-button - type="primary" - icon="el-icon-search" - size="medium" - @click="handleQuery" - >鎼滅储</el-button - > - <el-button - icon="el-icon-refresh" - size="medium" - @click="resetQuery" - >閲嶇疆</el-button - > - </el-form-item> - </el-form> - - <el-row :gutter="10" class="mb8"> - <el-col :span="1.5"> - <el-button - type="primary" - plain - icon="el-icon-plus" - size="medium" - @click="handleAdd" - - >鏂板</el-button - > - </el-col> - - <el-col :span="1.5"> - <el-button - type="danger" - plain - icon="el-icon-delete" - size="medium" - :disabled="multiple" - @click="handleDelete" - - >鍒犻櫎</el-button - > - </el-col> - - <!-- <el-col :span="1.5"> </el-col> --> - </el-row> - - <el-table - v-loading="loading" - :data="targetList" - @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="targetname" - prop="targetname" - :show-overflow-tooltip="true" - > - </el-table-column> - <el-table-column - label="鎸囨爣鎻忚堪" - align="center" - key="targetdesc" - prop="targetdesc" - :show-overflow-tooltip="true" - width="200" - /> - <el-table-column - label="鎸囨爣绫诲瀷" - align="center" - key="valueType" - prop="valueType" - :show-overflow-tooltip="true" - > - <template slot-scope="scope"> - <dict-tag - :options="valuetypelb" - :value="scope.row.valueType" - /> - </template> - </el-table-column> - - - <!-- <el-table-column - label="姝e父鍊艰寖鍥�" - align="center" - key="warndown" - prop="warndown" - width="200" - > - <template slot-scope="scope"> - <span>{{ scope.row.warnup }}~{{ scope.row.warndown }}</span> - </template> - </el-table-column> --> - <el-table-column - label="閫傜敤鍦烘櫙" - align="center" - key="suitWayList" - prop="suitWayList" - width="120" - > - <template slot-scope="scope"> - <dict-tag :options="mode" :value="scope.row.suitWayList" /> - </template> - </el-table-column> - <el-table-column - label="閫傜敤鐤剧梾" - align="center" - key="suitDisease" - prop="suitDisease" - width="120" - > - <template slot-scope="scope"> - <el-button - size="medium" - type="text" - @click="illnessUpdate(scope.row)" - - ><span class="button-textxg" - ><i class="el-icon-date"></i>璇︽儏</span - ></el-button - > - </template> - </el-table-column> - <el-table-column - label="璇█" - align="center" - key="language" - prop="language" - width="120" - /> - <el-table-column - label="鏄惁鍙敤" - align="center" - key="isAvailable" - prop="isAvailable" - > - <template slot-scope="scope"> - <dict-tag :options="usable" :value="scope.row.isAvailable" /> - </template> - </el-table-column> - - <el-table-column - label="鎿嶄綔" - fixed="right" - align="center" - width="200" - class-name="small-padding fixed-width" - > - <template slot-scope="scope"> - <el-button - size="medium" - type="text" - @click="handleUpdate(scope.row)" - - ><span class="button-textxg" - ><i class="el-icon-edit"></i>淇敼</span - ></el-button - > - <!-- <el-button - size="medium" - type="text" - @click="handlemeasurement(scope.row)" - v-hasPermi="['system:user:edit']" - ><span class="button-textcs" - ><i class="el-icon-help"></i>娴嬭瘯</span - ></el-button - > --> - <el-button - size="medium" - type="text" - @click="handleDelete(scope.row)" - - ><span class="button-textsc" - ><i class="el-icon-delete"></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="title" - :visible.sync="indexopen" - :close-on-click-modal="false" - width="900px" - append-to-body - > - <el-form - ref="indexform" - :model="indexform" - :rules="rules" - label-width="100px" - > - <div class="headline"> - <div class="basics">鍩虹淇℃伅</div> - </div> - <el-divider></el-divider> - <el-row v-if="!measurement"> - <el-col :span="12"> - <el-form-item label="鎸囨爣鍚嶇О" prop="targetname"> - <el-input - v-model="indexform.targetname" - placeholder="璇疯緭鍏ユ寚鏍囧悕绉�" - maxlength="40" - /> - </el-form-item> - </el-col> - <el-col :span="12"> - <el-form-item label="鎸囨爣鍒嗙被" prop="assortid"> - <el-select - style="width: 300px;" - v-model="indexform.assortid" - size="medium" - filterable - placeholder="璇烽�夋嫨鍒嗙被" - > - <el-option-group - v-for="group in deptOptions" - :key="group.id" - :label="group.indexAssortName" - > - <el-option - v-for="item in group.ivrLibaTargetAssortList" - :key="item.id" - :label="item.indexAssortName" - :value="item.id" - > - </el-option> - </el-option-group> - </el-select> - </el-form-item> - - </el-col> - </el-row> - <el-row v-if="!measurement"> - <el-col :span="24"> - <el-form-item label="鎸囨爣鎻忚堪" prop="targetdesc"> - <el-input - v-model="indexform.targetdesc" - placeholder="璇疯緭鍏ユ寚鏍囨弿杩�" - id="targetdesc" - @focus="currentInputId = 'targetdesc'" - maxlength="40" - /> - </el-form-item> </el-col - ></el-row> - <!-- deptOptions --> - <el-row v-if="!measurement"> - <el-col :span="8"> - <el-form-item label="鐗堟湰鍙�" prop="deptId"> - <el-input - v-model="indexform.version" - placeholder="榛樿1.0" - maxlength="40" - /> - </el-form-item> - </el-col> - <el-col :span="8"> - <el-form-item label="璇█" prop="language"> - <el-select - v-model="indexform.language" - placeholder="璇烽�夋嫨璇█" - > - <el-option - v-for="index in languagelist" - :key="index.value" - :label="index.label" - :value="index.value" - ></el-option> - </el-select> - </el-form-item> - </el-col> - <el-col :span="8"> - <el-form-item label="鏄惁鍙敤" prop="isAvailable"> - <el-radio-group v-model="indexform.isAvailable"> - <el-radio - v-for="(item, index) in usable" - :label="item.value" - >{{ item.label }}</el-radio - > - </el-radio-group> - </el-form-item> - </el-col> - </el-row> - - <!-- <el-form-item label="鎻掑叆濉┖" prop="scriptContent"> - <div style="display: flex; margin-bottom: 10px"> - <div class="tsgname" @click="tsgnameto">鎻掑叆濉┖</div> - </div> - </el-form-item> --> - <el-form-item label="鏍囩" prop="dynamicTags" v-if="!measurement"> - <div class="xinz-inf"> - <el-tag - :key="tag.tagname" - type="success" - v-for="tag in dynamicTags" - closable - :disable-transitions="false" - @close="handleClosetag(tag)" - > - {{ tag.tagname }} - </el-tag> - <el-select - v-model="inputValue" - v-if="inputVisible" - @change="handleInputConfirm" - filterable - allow-create - default-first-option - placeholder="璇烽�夋嫨" - > - <el-option - v-for="item in optionstag" - :key="item.tagid" - :label="item.tagname" - :value="item.tagname" - > - </el-option> - </el-select> - <el-button - v-else - class="button-new-tag" - size="small" - @click="showInput" - >+ 鏂板鏍囩</el-button - > - </div> - </el-form-item> - <el-row v-if="!measurement"> - <el-col :span="24"> - <el-form-item prop="valueType"> - <template #label> - 缁撴灉绫诲瀷 - <el-tooltip - class="item" - effect="light" - content="鏈被鍨嬩负缁撴灉鏀堕泦绫诲瀷锛涢�夐」鐢ㄤ簬鎸囧悜鎬ч鐩鏄惁绛夛紱鏂囨湰閫傜敤澶嶆潅鎯呭喌锛涙暟鍊肩敤浜庢敹闆嗘暟鍊煎瀷鏁版嵁" - placement="top-start" - > - <i class="el-icon-warning-outline"></i> - </el-tooltip> - <!-- 鍦ㄦ爣绛惧悗鎻掑叆绾㈣壊鏄熷彿 --> - </template> - <el-radio-group v-model="indexform.valueType"> - <el-radio :label="1">閫夐」</el-radio> - <el-radio :label="2">鏂囨湰</el-radio> - <el-radio :label="3">鏁板��</el-radio> - </el-radio-group> - </el-form-item> - </el-col></el-row - > - <el-row v-if="!measurement"> - <el-col :span="24"> - <el-form-item label="閫傜敤棰樺瀷" prop="scriptType"> - <el-radio-group - @input="Changtype" - v-model="indexform.scriptType" - > - <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-col></el-row - > - - <el-row v-if="!measurement"> - <el-col :span="24"> - <el-form-item label="閫傜敤鍦烘櫙" prop="suitWayList"> - <el-checkbox-group v-model="indexform.suitWayList"> - <el-checkbox v-for="item in mode" :label="item.value">{{ - item.label - }}</el-checkbox> - </el-checkbox-group> - </el-form-item> - </el-col> - </el-row> - <div v-if="indexform.scriptType == 1 || indexform.scriptType == 2"> - <div class="headline"> - <div class="basics">閫夐」璁剧疆</div> - </div> - <el-divider></el-divider> - </div> - <el-card - class="box-card" - style="margin-bottom: 20px" - v-if="indexform.scriptType == 1 || indexform.scriptType == 2" - > - <Regular - :TargetoptionList="testuserList" - :intent="false" - :hasValue="hasValue" - @addoption="addoption" - @deloption="deloption" - @syioption="syioption" - @xiayioption="xiayioption" - /> - </el-card> - <!-- <div v-if="indexform.scriptType == 3"> - <el-form-item label="鏀堕泦淇℃伅"> - <el-card class="box-card"> - <div v-for="item in testuserList" style="margin-bottom: 10px"> - <el-input - type="text" - placeholder="濉叆鏀堕泦淇℃伅" - v-model="indexform.optiondesc" - > - <el-button - slot="append" - @click="deloption(item)" - type="danger" - icon="el-icon-delete" - circle - ></el-button> - <span slot="prepend">{{ "(" + item.orderno + ")" }}</span> - </el-input> - </div> - </el-card> - </el-form-item> - </div> --> - <div class="headline"> - <div class="basics">鎸囨爣娴嬭瘯</div> - </div> - <el-divider></el-divider> - <el-row :gutter="20"> - <el-col :span="12"> - <el-form-item label="娴嬭瘯杈撳叆" prop="nickName"> - <el-input - v-model="indexform.content" - placeholder="璇疯緭鍏ユ祴璇曞唴瀹�" - maxlength="40" - /> - </el-form-item> - </el-col> - <el-col :span="4"> - <el-button type="success" @click="testtagerlist" - >寮�濮嬫祴璇�</el-button - > - </el-col> - </el-row> - </el-form> - <div> - <el-input - type="textarea" - :rows="4" - placeholder="姝ゅ灞曠ず璇嗗埆缁撴灉" - v-model="testgovalue" - > - </el-input> - </div> - <div slot="footer" class="dialog-footer"> - <el-button type="primary" @click="submitForm">淇� 瀛�</el-button> - <el-button @click="cancel">鍏� 闂�</el-button> - </div> - </el-dialog> - </div> - </div> - <!-- 娣诲姞鐤剧梾瀵硅瘽妗� --> - <el-dialog title="鎸囨爣鐤剧梾" :visible.sync="illnessVisible" width="50%"> - <div> - <div class="xinz-infs"> - <el-tag - :key="item.icd10name" - type="warning" - v-for="item in illnesslist" - closable - :disable-transitions="false" - @close="handleCloseillness(item)" - > - {{ item.icd10name }} - </el-tag> - <el-select - v-model="inputValue" - v-if="inputVisible" - @change="illnessConfirm" - :remote-method="remoteMethod" - filterable - remote - allow-create - default-first-option - placeholder="璇烽�夋嫨/鏌ヨ" - :loading="loading" - > - <el-option - v-for="item in optionsillness" - :key="item.icdid" - :label="item.icdname" - :value="item.icdid" - > - </el-option> - </el-select> - <el-button - v-else - class="button-new-tag" - size="small" - @click="showInput" - >+ 鏂板鐤剧梾</el-button - > - </div> - </div> - <span slot="footer" class="dialog-footer"> - <el-button @click="illnessVisible = false">鍙� 娑�</el-button> - <el-button type="primary" @click="confirmillness">纭� 瀹�</el-button> - </span> - </el-dialog> - <!-- 娣诲姞绫诲埆寮规 --> - <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> - <el-radio-button label="瀛愬垎绫�"></el-radio-button> - </el-radio-group> - </div> - <el-divider></el-divider> - - <el-form :model="classifyform"> - <el-form-item label="璇烽�夋嫨闂澶х被" v-if="radio == '瀛愬垎绫�'"> - <el-select v-model="classifyform.pid" placeholder="璇烽�夋嫨"> - <el-option - v-for="item in deptOptions" - :key="item.id" - :label="item.indexAssortName" - :value="item.id" - > - </el-option> - </el-select> - </el-form-item> - <el-form-item label="璇疯緭鍏ョ被鍒悕绉�"> - <el-input - v-model="classifyform.indexAssortName" - autocomplete="off" - ></el-input> - </el-form-item> - </el-form> - <div slot="footer" class="dialog-footer"> - <el-button @click="getDeptTree()">鍙� 娑�</el-button> - <el-button type="primary" @click="submitsidecolumn">纭� 瀹�</el-button> - </div> - </el-dialog> - </div> -</template> - -<script> -import { - gettargetInfo, - particulartarget, - gettargetInfoedit, - testtagerlist, - addtarget, - deletetarget, - getillnesslist, - illnesslistget, - getillness, - deltargetillness, - addtargetillness, - selectIvrLibaTargetAssortList, - addtreeselectIvrLibaTargetAssort, - edittreeselectIvrLibaTargetAssort, - delselectIvrLibaTargetAssort, -} from "@/api/AiCentre/index"; -import { getToken } from "@/utils/auth"; -import Treeselect from "@riophae/vue-treeselect"; -import Regular from "@/components/Regular"; //姝e垯缁勪欢 -import "@riophae/vue-treeselect/dist/vue-treeselect.css"; -import { listtag } from "@/api/system/label"; -import store from "@/store"; - -export default { - name: "questionnaire", - dicts: ["sys_normal_disable", "sys_user_sex"], - components: { Treeselect, Regular }, - data() { - return { - topactiveName: "Local", //椤堕儴閫夋嫨 - // 閬僵灞� - loading: false, - // 閫変腑鏁扮粍 - ids: [], - // 闈炲崟涓鐢� - single: true, - // 闈炲涓鐢� - multiple: true, - // 鏄剧ず鎼滅储鏉′欢 - showSearch: true, - measurement: false, - languagelist: [], - usable: [], - indexid: null, - // 鎬绘潯鏁� - total: 0, - idds: "", - amendtag: false, //鏄惁淇敼绫诲埆 - dialogFormVisible: false, //淇敼娣诲姞绫诲埆寮规 - deleteVisible: false, //鍒嗙被鍒犻櫎寮规 - deletefenl: "楂樿鍘�", //鍒犻櫎椤� - radio: "涓诲垎绫�", - testvalue: "", - testgovalue: "", - creatype: "", //鎸囨爣涓存椂绫诲瀷 - hasValue: true, - classifyform: { - categoryname: "", - }, //绫诲埆琛ㄥ崟 - // 琛ㄦ牸鏁版嵁 - targetList: null, - testuserList: [], - // 寮瑰嚭灞傛爣棰� - title: "", - // 鏄惁鏄剧ず寮瑰嚭灞� - open: false, - // 鏃ユ湡鑼冨洿 - dateRange: [], - // 宀椾綅閫夐」 - postOptions: [], - // 瑙掕壊閫夐」 - roleOptions: [], - // 娣诲姞銆佷慨鏀瑰弬鏁� - indexform: {}, - numberlb: 22, - numberlbs: 2, - deptOptions: [], - defaultProps: { - children: "ivrLibaTargetAssortList", - label: "indexAssortName", - }, - sidecolumnform: {}, //娣诲姞绫诲埆琛ㄥ崟 - dialogFormVisible: false, //娣诲姞绫诲埆寮规 - sidecolumnval: "", //绫诲埆鎼滅储 - indexopen: false, //寮规灞曠ず鍚� - inputVisible: false, - illnessVisible: false, //鎸囨爣鐤剧梾寮规 - inputValue: "", - propss: { multiple: true }, - dynamicTags: [], - illnesslist: [], - illnesslistapi: [], - optionsillness: [], - mode: [], - optionstag: [], - targetoptionList: [], - Temporarytype: "", - - // 鏌ヨ鍙傛暟 - queryParams: { - pageNum: 1, - pageSize: 10, - }, - askvaluetype: [], - - // 琛ㄥ崟鏍¢獙 - rules: { - targetname: [ - { required: true, message: "鎸囨爣鍚嶇О涓嶈兘涓虹┖", trigger: "blur" }, - ], - assortid: [ - { required: true, message: "鎸囨爣鍒嗙被涓嶈兘涓虹┖", trigger: "blur" }, - ], - language: [ - { required: true, message: "璇█涓嶈兘涓虹┖", trigger: "blur" }, - ], - isAvailable: [ - { required: true, message: "鍙敤鐘舵�佷笉鑳戒负绌�", trigger: "blur" }, - ], - targetdesc: [ - { required: true, message: "鎸囨爣鎻忚堪涓嶈兘涓虹┖", trigger: "blur" }, - ], - valueType: [ - { required: true, message: "缁撴灉绫诲瀷涓嶈兘涓虹┖", trigger: "blur" }, - ], - scriptType: [ - { required: true, message: "閫傜敤棰樺瀷涓嶈兘涓虹┖", trigger: "blur" }, - ], - suitWayList: [ - { required: true, message: "閫傜敤鍦烘櫙涓嶈兘涓虹┖", trigger: "blur" }, - ], - }, - }; - }, - watch: { - // 鏍规嵁鍚嶇О绛涢�夐儴闂ㄦ爲 - sidecolumnval(val) { - console.log(val); - this.$refs.tree.filter(val); - }, - }, - created() { - // 鍒濆鍖栨暟鎹� - this.getList(); - this.gettabList(); - this.getDeptTree(); - this.mode = store.getters.mode; - this.askvaluetype = store.getters.askvaluetype; - this.valuetypelb = store.getters.valuetypelb; - this.languagelist = store.getters.languagelist; - this.usable = store.getters.usable; - }, - methods: { - /** 鏌ヨ鎸囨爣鍒楄〃 */ - getList() { - this.loading = true; - gettargetInfo(this.queryParams).then((res) => { - this.targetList = res.rows; - this.total = res.total; - console.log(this.targetList); - this.loading = false; - }); - }, - - processElement(element) { - // 杩斿洖涓�涓柊鐨勫璞★紝灏唀lement瀵硅薄鐨勫睘鎬soperation璁剧疆涓�1 - return { ...element, isoperation: 1 }; - }, - // 杩斿洖鏁扮粍涓寚瀹氬厓绱犵殑绱㈠紩 - getIndexInArray(arr, obj) { - // 杩斿洖鏁扮粍涓寚瀹氬厓绱犵殑绱㈠紩 - return arr.indexOf(obj); - }, - changeselect(row) { - console.log(row); - this.hasValue = row.includes("2"); - }, - //鍒犻櫎鍒嗙被 - deletefenlei(row) { - if (this.deleteVisible) { - // deletetagcategory(this.idds).then((response) => { - // console.log(response); - // this.gitclasify(); - // }); - this.deleteVisible = false; - this.idds = ""; - } else { - this.deleteVisible = true; - this.idds = row.tagcategoryid; - this.deletefenl = row.title; - } - }, - // 渚挎嵎鏍囩鎻掑叆濉┖ - tsgnameto(row) { - let inputValueArr = ""; - let value = this.testuserList.length + 1; - - let el = document.querySelector("#" + this.currentInputId); - //el.selectionStart; 杩欏氨鏄綋鍓嶅厜鏍囨墍鍦ㄧ殑浣嶇疆锛堝瓧绗︿覆涓瓧绗︾殑index锛� - if (this.currentInputId == "targetdesc") { - inputValueArr = this.indexform.targetdesc.split(""); - } else { - return; - } - //灏嗚緭鍏ユ鍐呭鍒囨垚鏁扮粍锛屾柟渚垮悗缁搷浣� - // inputValueArr = this.inputValue.split(""); - // 鎷垮埌閫変腑鏂囧瓧鐨勯暱搴︼紙鍚庣画鍙互鐢ㄦ潵鏇挎崲閫変腑鐨勬枃瀛楋級 - let selectLength = el.selectionEnd - el.selectionStart; - // 灏嗚鎻掑叆/鏇挎崲鐨勬枃瀛楁彃鍏�/鏇挎崲锛坴alue.name鏄鎻掑叆/鏇挎崲鐨勫瓧绗︿覆锛� - inputValueArr.splice( - el.selectionStart, - selectLength, - "__" + value + "__" - ); - this.testuserList.push({ - orderno: value, - optiondesc: "", - isoperation: 1, - }); - // 鎶婃暟缁勯噸鏂拌浆鎹负瀛楃涓插苟璧嬪�� - inputValueArr = inputValueArr.join(""); - - console.log(inputValueArr); - if (this.currentInputId == "targetdesc") { - this.indexform.targetdesc = inputValueArr; - } else { - return; - } - }, - Changtype(item) { - console.log(this.testuserList); - console.log(item, "閫夐」鍙樻洿鐨勫鐞�"); - - if (item == 3 && this.testuserList[0].targetvalue) { - this.$modal - .confirm("鏇存敼绫诲瀷涓哄~绌哄悗閫夐」灏嗘竻绌烘槸鍚︾户缁紵") - .then(() => { - this.testuserList = []; - this.Temporarytype = this.indexform.scriptType; - }) - .catch(() => { - this.indexform.scriptType = this.Temporarytype; - }); - } else if (item == 3) { - this.testuserList = []; - this.Temporarytype = this.indexform.scriptType; - } - { - this.Temporarytype = this.indexform.scriptType; - } - }, - // 鐤剧梾----------------------- - illnessUpdate(row) { - this.illnessVisible = true; - this.indexid = row.id; - this.illnesslistapi = []; - const illnessqueryParams = { - pageNum: 1, - pageSize: 100, - }; - getillnesslist(illnessqueryParams).then((response) => { - console.log(response); - this.optionsillness = response.rows; - }); - getillness({ outid: row.id, type: 1 }).then((res) => { - this.illnesslist = res.rows; - console.log(res); - }); - }, - handleCloseillness(tag) { - this.illnesslist.splice(this.illnesslist.indexOf(tag), 1); - if (tag.id) { - this.illnesslistapi.push(tag.id); - } - }, - remoteMethod(value) { - const illnessqueryParams = { - pageNum: 1, - pageSize: 100, - icdname: value, - }; - this.loading = true; - setTimeout(() => { - this.loading = false; - getillnesslist(illnessqueryParams).then((response) => { - this.optionsillness = response.rows; - }); - }, 200); - }, - illnessConfirm(item) { - let opeavalue = {}; - let tagname = this.inputValue; - illnesslistget(item).then((res) => { - opeavalue = res.data; - opeavalue.outid = this.indexid; - opeavalue.type = "1"; - opeavalue.icd10id = opeavalue.icdid; - opeavalue.icd10name = opeavalue.icdname; - opeavalue.icd10code = opeavalue.icdcode; - if (tagname) { - this.illnesslist.push(opeavalue); - } - }); - console.log(this.illnesslist); - this.inputVisible = false; - this.inputValue = ""; - }, - confirmillness() { - this.illnesslist.forEach((item, index) => { - if (!item.id) { - addtargetillness(item).then((res) => {}); - } - }); - if (this.illnesslistapi.length) { - deltargetillness(this.illnesslistapi.join(",")).then((res) => {}); - } - this.illnessVisible = false; - this.$modal.msgSuccess("缂栬緫鎴愬姛"); - }, - - // 鏍囩----------------- - gettabList() { - const tagqueryParams = { - pageNum: 1, - pageSize: 1000, - tagcategoryid: "0", - }; - listtag(tagqueryParams).then((response) => { - console.log(response); - this.optionstag = response.rows; - }); - }, - handleClosetag(tag) { - console.log(tag); - console.log(this.dynamicTags.indexOf(tag)); - const lindex = this.dynamicTags.indexOf(tag); - this.dynamicTags.splice(this.dynamicTags.indexOf(tag), 1); - this.indexform.ivrLibaTargetTagList[lindex].delFlag = 3; - }, - handleInputConfirm() { - let tagvalue = {}; - let tagname = this.inputValue; - if (tagname) { - listtag({ - pageNum: 1, - pageSize: 1000, - tagcategoryid: "0", - tagname: tagname, - }).then((res) => { - if (res.rows[0]) { - tagvalue = res.rows[0]; - tagvalue.isoperation = 1; - } else { - tagvalue = { - tagname: tagname, - isoperation: 1, - }; - } - console.log(tagvalue); - this.indexform.ivrLibaTargetTagList.push(tagvalue); - this.dynamicTags.push(tagvalue); - console.log(this.indexform.ivrLibaTargetTagList); - console.log(this.dynamicTags); - }); - } - this.inputVisible = false; - this.inputValue = ""; - }, - showInput() { - this.inputVisible = true; - }, - //娴嬭瘯琛ㄥ崟 -------------------------- - addoption() { - const objvakue = { - guid: 1, - id: this.indexform.id, - targettype: this.indexform.targettype, - isoperation: 1, - isabnormal: 0, - targetvalue: "", - targetregex: "", - targetregex2: "", - picturePath: "", - dynamiccruxs: [], - nodynamiccruxs: [], - dynamiccruxsJson: "", - nodynamiccruxsJson: "", - }; - this.testuserList.push(objvakue); - // this.indexform.targetoptionList.push(objvakue); - console.log(this.testuserList); - this.sortFn(); - }, - deloption(item) { - const index = this.testuserList.indexOf(item); - if (index !== -1) { - this.testuserList[index].isoperation = 3; - this.targetoptionList.push(this.testuserList[index]); - console.log(this.targetoptionList, "aaaa.targetoptionList"); - this.testuserList.splice(index, 1); // 浠庣储寮曚綅缃垹闄や竴涓厓绱� - this.sortFn(); - - if (this.indexform.scriptType == 3) { - this.$modal.msgWarning( - "濉┖椤瑰凡鍒犻櫎璇锋墜鍔ㄥ垹闄ら鐩唴瀹逛腑瀵瑰簲鐨勫~绌洪」" - ); - } - } else { - console.log("鏈壘鍒拌瀵硅薄"); - } - }, - - syioption(row) { - const index = this.getIndexInArray(this.testuserList, row); - const item = this.testuserList.splice(index, 1)[0]; // 绉婚櫎鎸囧畾绱㈠紩澶勭殑鍏冪礌锛屽苟淇濆瓨鍒癷tem鍙橀噺涓� - this.testuserList.splice(index - 1, 0, item); // 灏唅tem鎻掑叆鍒扮储寮曚綅缃殑鍓嶄竴浣� - this.sortFn(); - }, - xiayioption(row) { - const index = this.getIndexInArray(this.testuserList, row); - const item = this.testuserList.splice(index, 1)[0]; // 绉婚櫎鎸囧畾绱㈠紩澶勭殑鍏冪礌锛屽苟淇濆瓨鍒癷tem鍙橀噺涓� - this.testuserList.splice(index + 1, 0, item); // 灏唅tem鎻掑叆鍒扮储寮曚綅缃殑鍓嶄竴浣� - this.sortFn(); - }, - sortFn() { - this.testuserList = this.testuserList.map((item, index) => { - return { - guid: index + 1, - targetvalue: item.targetvalue, - targetregex2: item.targetregex2, - targetregex: item.targetregex, - id: this.indexform.id, - targettype: this.indexform.targettype, - isoperation: item.targetoptionid ? 2 : 1, - categoryName: item.categoryName, - language: item.language, - dynamiccruxs: item.dynamiccruxs, - nodynamiccruxs: item.nodynamiccruxs, - dynamiccruxsJson: item.dynamiccruxsJson, - nodynamiccruxsJson: item.nodynamiccruxsJson, - targetoptionid: item.targetoptionid, - isabnormal: item.isabnormal, - picturePath: item.picturePath, - optiondesc: item.optiondesc, - }; - }); - console.log(this.testuserList); - }, - // --------------------- - - /** 鏌ヨ閮ㄩ棬涓嬫媺鏍戠粨鏋� */ - getDeptTree() { - selectIvrLibaTargetAssortList({}).then((res) => { - this.deptOptions = res.rows; - this.dialogFormVisible = false; - }); - }, - // 绛涢�夎妭鐐� - filterNode(value, data) { - if (!value) return true; - return data.indexAssortName.indexOf(value) !== -1; - }, - // 娣诲姞绫诲埆鏍� - submitsidecolumn() { - if (this.classifyform.id) { - edittreeselectIvrLibaTargetAssort(this.classifyform).then((res) => { - this.getDeptTree(); - this.$modal.msgSuccess("淇敼鎴愬姛"); - this.classifyform = {}; - this.dialogFormVisible = false; - }); - return; - } - let calssvalue = {}; - if ( - this.classifyform.pid && - this.classifyform.indexAssortName && - this.radio == "瀛愬垎绫�" - ) { - const index = this.deptOptions.findIndex( - (obj) => obj.id == this.classifyform.pid - ); - calssvalue = this.deptOptions[index]; - console.log(calssvalue); - calssvalue.ivrLibaTargetAssortList.push(this.classifyform); - } else if (this.radio == "涓诲垎绫�" && this.classifyform.indexAssortName) { - this.classifyform.pid = null; - this.classifyform.ivrLibaTargetAssortList = []; - } else { - return this.$modal.msgError("璇峰~鍐欏畬鏁翠俊鎭�"); - } - - addtreeselectIvrLibaTargetAssort(this.classifyform).then((res) => { - this.getDeptTree(); - this.$modal.msgSuccess("鏂板鎴愬姛"); - this.classifyform = {}; - this.dialogFormVisible = false; - }); - }, - remove(a, b) { - if (b.pid) { - this.$modal - .confirm('鏄惁纭鍒犻櫎鍒嗙被椤逛负"' + b.indexAssortName + '"鐨勬暟鎹」锛�') - .then(function () { - return delselectIvrLibaTargetAssort(b.id); - }) - .then(() => { - this.getDeptTree(); - this.$modal.msgSuccess("鍒犻櫎鎴愬姛"); - }) - .catch(() => {}); - } else { - this.$modal - .confirm( - '鏄惁纭鍒犻櫎涓�绾у垎绫�"' + - b.indexAssortName + - '"锛熷垹闄ゅ悗鍏朵笅鍒嗙被灏嗗綊绫烩�樻湭鍒嗙被鈥�' - ) - .then(() => { - return delselectIvrLibaTargetAssort(b.id); - }) - .then(() => { - this.getDeptTree(); - this.$modal.msgSuccess("鍒犻櫎鎴愬姛"); - }) - .catch(() => {}); - } - }, - altertag(a, b) { - this.dialogFormVisible = true; - if (!b.pid) { - this.radio = "涓诲垎绫�"; - } else { - this.radio = "瀛愬垎绫�"; - } - this.classifyform = b; - this.dialogFormVisible = true; - }, - handleNodeClick(data) { - this.queryParams.assortid = data.id; - this.getList(); - }, - - // 鍙栨秷鎸夐挳 - cancel() { - this.indexform = null; - this.indexopen = false; - this.reset(); - }, - - // 琛ㄥ崟閲嶇疆 - reset() { - this.indexform = { - suitWayList: undefined, - id: undefined, - targetdesc: undefined, - ivrLibaTargetTagList: [], - targetoptionList: [], - }; - // this.resetForm("indexform"); - }, - /** 鎼滅储鎸夐挳鎿嶄綔 */ - handleQuery() { - this.queryParams.pageNum = 1; - this.getList(); - }, - /** 閲嶇疆鎸夐挳鎿嶄綔 */ - resetQuery() { - this.dateRange = []; - this.resetForm("queryForm"); - this.queryParams = { - pageNum: 1, - pageSize: 10, - }; - this.$refs.tree.setCurrentKey(null); - this.handleQuery(); - }, - // 澶氶�夋閫変腑鏁版嵁 - handleSelectionChange(selection) { - this.ids = selection.map((item) => item.id); - this.single = selection.length != 1; - this.multiple = !selection.length; - }, - /** 鏂板鎸夐挳鎿嶄綔 */ - handleAdd() { - this.reset(); - this.title = "鏂板鎸囨爣"; - this.indexform = { - ivrLibaTargetTagList: [], - targetoptionList: [], - suitWayList: [], - }; - this.dynamicTags = []; - this.testuserList = [ - { - targettype: "1", - targetvalue: "", - targetregex: "", - targetregex2: "", - isoperation: 1, - isabnormal:0, - picturePath: "", - dynamiccruxs: [], - nodynamiccruxs: [], - dynamiccruxsJson: "", - nodynamiccruxsJson: "", - }, - ]; - this.indexopen = true; - this.measurement = false; - }, - /** 淇敼鎸夐挳鎿嶄綔 */ - handleUpdate(row) { - this.reset(); - this.title = "鎸囨爣璇︽儏"; - this.indexform = {}; - this.indexform = row; - this.indexform.scriptType = Number(row.scriptType); - this.Temporarytype = this.indexform.scriptType; - if (!row.targetoptionList[0]) { - row.targetoptionList = [ - { - targettype: "1", - targetvalue: "", - targetregex: "", - targetregex2: "", - isoperation: 1, - orderno: 1, - dynamiccruxs: [], - nodynamiccruxs: [], - dynamiccruxsJson: "", - nodynamiccruxsJson: "", - }, - ]; - } - this.dynamicTags = row.ivrLibaTargetTagList.map(this.processElement); - this.testuserList = row.targetoptionList; - console.log(this.testuserList, "bbbb"); - this.testvalue = ""; - this.indexopen = true; - this.measurement = false; - }, - handlemeasurement(row) { - this.reset(); - this.title = "鎸囨爣璇︽儏"; - this.indexopen = true; - this.measurement = true; - }, - // 淇敼鍒嗙被寮规 - popoveramend(tagcategoryid) { - this.idds = tagcategoryid; - this.amendtag = true; - this.dialogFormVisible = true; - }, - - /** 鏇存柊/淇敼鎻愪氦鎸夐挳 */ - submitForm: function () { - // this.indexform.targetoptionList = this.indexform.targetoptionList.map( - // (res) => { - // res.isoperation = 2; - // return res; - // } - // ); - - this.$refs["indexform"].validate((valid) => { - this.indexform.targetoptionList = this.testuserList.concat( - this.targetoptionList - ); - console.log(this.indexform.targetoptionList, "11"); - this.indexform.targetoptionList.forEach((item) => { - if (item.isoperation != 3 && item.targetoptionid) { - console.log(item, "item"); - item.isoperation = 2; - } else { - } - }); - if (valid) { - this.indexform.optionDesc = this.testuserList - .filter((item) => item.isoperation != 3) - .map((item) => item.targetvalue) - .join(", "); - if (!this.indexform.version) this.indexform.version = "1.0"; - if (this.indexform.id != undefined) { - this.indexform.isoperation = 2; - gettargetInfoedit(this.indexform).then((response) => { - this.$modal.msgSuccess("淇敼鎴愬姛"); - this.indexopen = false; - this.getList(); - }); - } else { - this.indexform.targettype = "1"; - this.indexform.isoperation = 1; - gettargetInfoedit(this.indexform).then((response) => { - this.$modal.msgSuccess("鏂板鎴愬姛"); - this.indexopen = false; - this.getList(); - }); - } - } - }); - }, - // 娴嬭瘯琛ㄥ崟 - testtagerlist() { - if (this.indexform.content) { - let data = this.indexform; - data.targetoptionList = this.testuserList.concat(this.targetoptionList); - testtagerlist(data).then((res) => { - this.$modal.msgSuccess("娴嬭瘯鎴愬姛"); - this.testgovalue = res.msg; - this.getList(); - }); - } else { - this.$modal.msgError("璇峰~鍐欐祴璇曞唴瀹�"); - return; - } - }, - /** 鍒犻櫎鎸夐挳鎿嶄綔 */ - handleDelete(row) { - const userIds = row.id || this.ids; - this.$modal - .confirm('鏄惁纭鍒犻櫎鎸囨爣鍚嶇О涓�"' + row.targetname + '"鐨勬暟鎹」锛�') - .then(function () { - return deletetarget(userIds); - }) - .then(() => { - this.getList(); - this.$modal.msgSuccess("鍒犻櫎鎴愬姛"); - }) - .catch(() => {}); - }, - }, -}; -</script> - -<style lang="scss" scoped> -.Questionnairemanagement { - display: flex; -} -.xinz-inf { - font-size: 18px; - white-space: nowrap; - overflow: hidden; - text-overflow: ellipsis; - - line-height: 48px; - - .el-tag + .el-tag { - margin-left: 10px; - } - .button-new-tag { - margin-left: 10px; - height: 32px; - line-height: 30px; - padding-top: 0; - padding-bottom: 0; - } - .input-new-tag { - width: 90px; - margin-left: 10px; - vertical-align: bottom; - } -} -.xinz-infs { - font-size: 18px; - overflow: hidden; - text-overflow: ellipsis; - - line-height: 48px; - - .el-tag + .el-tag { - margin-left: 10px; - } - .button-new-tag { - margin-left: 10px; - height: 32px; - line-height: 30px; - padding-top: 0; - padding-bottom: 0; - } - .input-new-tag { - width: 90px; - margin-left: 10px; - vertical-align: bottom; - } -} -.sidecolumn { - width: 300px; - min-height: 100vh; - text-align: center; - // display: flex; - margin-top: 20px; - margin: 20px; - padding: 30px; - background: #fff; - 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); - .sidecolumn-top { - display: flex; - justify-content: space-between; - .top-wj { - font-size: 20px; - } - .top-tj { - font-size: 18px; - - color: rgb(0, 89, 255); - cursor: pointer; - } - } - .center-ss { - margin-top: 30px; - .input-with-select { - height: 40px !important; - } - } - .bottom-fl { - margin-top: 30px; - display: center !important; - } -} -.tsgname { - width: 90px; - margin-right: 10px; - text-align: center; - cursor: pointer; - height: 40px; - line-height: 40px; - background: #66c18c; - color: #ffff; - font-size: 18px; - border-radius: 5px; -} -.tsgname:hover { - background: #20894d; -} -.headline { - display: flex; - justify-content: space-between; - font-size: 20px; - border-left: 4px solid #41a1be; - padding-left: 5px; - margin: 15px 0; -} -.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); - .qrcode-text { - font-size: 20px; - span { - margin-left: 20px; - } - } - .qrcode-img { - width: 300px; - height: 400px; - } -} -::v-deep.el-tabs--left, -.el-tabs--right { - overflow: hidden; - align-items: center; - display: flex; -} -::v-deep.el-input--medium .el-input__inner { - height: 40px !important; -} -::v-deep.el-tabs--right .el-tabs__active-bar.is-right { - height: 40px; - width: 5px; - left: 0; -} -::v-deep.el-tabs--right .el-tabs__item.is-right { - display: block; - font-size: 20px; -} -.leftvlue { - // display: flex; - // flex: 1; - width: 80%; - margin-top: 20px; - // margin: 20px; - padding: 30px; - background: #ffff; - border: 1px solid #dcdfe6; - -webkit-box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.12), - 0 0 6px 0 rgba(0, 0, 0, 0.04); - .mulsz { - font-size: 20px; - } -} -::v-deep .el-tree-node__content { - display: -webkit-box; - display: -ms-flexbox; - display: flex; - -webkit-box-align: center; - -ms-flex-align: center; - align-items: center; - height: 46px; - font-size: 20px; - cursor: pointer; -} -::v-deep .el-tree { - position: relative; - cursor: default; - border-radius: 5px; - background: #eff8fe; - color: #606266; - border: 1px solid #bbe1fa; - // 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); -} -::v-deep - .el-tree--highlight-current - .el-tree-node.is-current - > .el-tree-node__content { - background-color: #7799fb; - color: #fff; -} -::v-deep .el-button--mini.is-circle { - padding: 7px; - margin: 0; - color: red; -} -.button-text { - color: rgb(70, 204, 238); -} -.button-textcs { - color: rgb(39, 167, 67); -} -.button-textxg { - color: rgb(35, 81, 233); -} -.button-textsc { - color: rgb(235, 23, 23); -} -</style> diff --git a/src/views/repositoryai/matching/index.vue b/src/views/repositoryai/matching/index.vue deleted file mode 100644 index 7f17e17..0000000 --- a/src/views/repositoryai/matching/index.vue +++ /dev/null @@ -1,752 +0,0 @@ -<template> - <div class="app-container"> - <el-row :gutter="20"> - <!--鐢ㄦ埛鏁版嵁--> - <el-col :span="24" :xs="24"> - <el-form - :model="topqueryParams" - ref="queryForm" - size="small" - :inline="true" - v-show="showSearch" - label-width="98px" - > - <el-form-item label="棰樼洰鏂囨湰" prop="text"> - <el-input - v-model="topqueryParams.text" - placeholder="璇疯緭鍏�" - clearable - style="width: 200px" - @keyup.enter.native="handleQuery" - /> - </el-form-item> - <el-form-item label="鍏宠仈鎸囨爣" prop="relevance"> - <el-input - v-model="topqueryParams.relevance" - placeholder="璇疯緭鍏�" - clearable - style="width: 200px" - @keyup.enter.native="handleQuery" - /> </el-form-item - ><el-form-item label="鎵嬫満鍙�" prop="phonenumber"> - <el-input - v-model="topqueryParams.phonenumber" - placeholder="璇疯緭鍏ユ墜鏈哄彿" - clearable - style="width: 200px" - @keyup.enter.native="handleQuery" - /> - </el-form-item> - <br /> - <el-form-item label="鍒涘缓鏃堕棿"> - <el-date-picker - v-model="dateRange" - style="width: 240px" - value-format="yyyy-MM-dd" - type="daterange" - range-separator="-" - start-placeholder="寮�濮嬫棩鏈�" - end-placeholder="缁撴潫鏃ユ湡" - ></el-date-picker> - </el-form-item> - - <el-form-item> - <el-button - type="primary" - icon="el-icon-search" - size="medium" - @click="handleQuery" - >鎼滅储</el-button - > - <el-button icon="el-icon-refresh" size="medium" @click="resetQuery" - >閲嶇疆</el-button - > - </el-form-item> - </el-form> - <el-divider></el-divider> - <el-row :gutter="10" class="mb8"> - <el-col :span="1.5"> - <el-button - type="primary" - plain - icon="el-icon-plus" - size="medium" - @click="handleAdd" - v-hasPermi="['system:user:add']" - >鏂板</el-button - > - </el-col> - <el-col :span="1.5"> - <el-button - type="success" - plain - icon="el-icon-edit" - size="medium" - :disabled="single" - @click="handleUpdate" - v-hasPermi="['system:user:edit']" - >淇敼</el-button - > - </el-col> - <el-col :span="1.5"> - <el-button - type="danger" - plain - icon="el-icon-delete" - size="medium" - :disabled="multiple" - @click="handleDelete" - v-hasPermi="['system:user:remove']" - >鍒犻櫎</el-button - > - </el-col> - <el-col :span="19"> - <div class="documentf"> - <div class="document"> - <el-button - type="warning" - plain - icon="el-icon-download" - size="medium" - @click="handleExport" - v-hasPermi="['system:user:export']" - >瀵煎嚭</el-button - > - </div> - </div> - </el-col> - <!-- <el-col :span="1.5"> </el-col> --> - </el-row> - <!-- <right-toolbar - :showSearch.sync="showSearch" - @queryTable="getList" - :columns="columns" - ></right-toolbar> --> - <el-table - v-loading="loading" - :data="userList" - @selection-change="handleSelectionChange" - > - <el-table-column type="selection" width="50" align="center" /> - <el-table-column - label="搴忓彿" - align="center" - key="userId" - prop="userId" - /> - - <el-table-column - label="濮撳悕" - align="center" - key="userName" - prop="userName" - :show-overflow-tooltip="true" - /> - <el-table-column - label="鎵嬫満鍙�" - align="center" - key="phonenumber" - prop="phonenumber" - /> - <el-table-column - label="妯℃澘鍚嶇О" - align="center" - key="templateName" - prop="templateName" - /> - <el-table-column - label="闂鏂囨湰" - align="center" - key="problem" - prop="problem" - width="180" - /> - <el-table-column - label="闂鍥炲" - align="center" - key="replyz" - prop="replyz" - /> - - <el-table-column - label="鎾斁璇煶" - align="center" - key="topicnumber" - prop="topicnumber" - width="350" - > - <template slot-scope="scope"> - <my-audio - :theUrl="scope.row.url" - :theControlList="scope.row.controlList" - ></my-audio> - </template> - </el-table-column> - <el-table-column - label="鍖归厤鎴愬姛璇彞" - align="center" - key="replya" - prop="replya" - /> - <el-table-column - label="鍏宠仈鎸囨爣" - align="center" - key="replys" - prop="replys" - /> - <el-table-column - label="鎸囨爣鍊�" - align="center" - key="replyc" - prop="replyc" - /> - <el-table-column - label="鍥炲鏃堕棿" - align="center" - prop="createTime" - width="160" - > - <template slot-scope="scope"> - <span>{{ formatTime(scope.row.createTime) }}</span> - </template> - </el-table-column> - <el-table-column - label="鎿嶄綔" - align="center" - width="180" - class-name="small-padding fixed-width" - > - <template slot-scope="scope"> - <el-button - size="medium" - type="text" - icon="el-icon-edit" - class="icon-edit" - @click="Referencequestion(scope.row)" - v-hasPermi="['system:user:edit']" - >缂栬緫璇濇湳</el-button - > - <el-button - size="medium" - type="text" - icon="el-icon-s-claim" - class="icon-s-claim" - @click="handleUpdate(scope.row)" - v-hasPermi="['system:user:edit']" - >娴嬭瘯鍖归厤</el-button - > - </template> - </el-table-column> - </el-table> - - <pagination - v-show="total > 0" - :total="total" - :page.sync="topqueryParams.pageNum" - :limit.sync="topqueryParams.pageSize" - @pagination="getList" - /> - </el-col> - </el-row> - - <!-- 娣诲姞鎴栦慨鏀归鐩厤缃璇濇 --> - <!-- 鎸囨爣缂栬緫 --> - <el-dialog :visible.sync="indicatorVisible" width="700px"> - <div class="headline"> - <div class="basics">闂閰嶇疆</div> - <div class="headbottom"> - <el-button - type="primary" - icon="el-icon-circle-plus-outline" - @click="addzbiao" - >娣诲姞鎸囨爣</el-button - > - <el-button type="primary" icon="el-icon-s-claim">淇濆瓨</el-button> - <el-button type="primary" icon="el-icon-document" - >鏇存柊鎸囨爣瑙勫垯鑷虫ā鏉�</el-button - > - </div> - </div> - <div class="valuetop" v-for="(item, index) in deployList" :key="item.id"> - <div class="val-text"> - <div> - 鏈夋棤澶嶆煡 <span>{{ item.name }}</span> - </div> - <div class="text-icon" @click="deletei(index)"> - <i class="el-icon-delete" /> - </div> - </div> - <div class="val-bon"> - <el-form ref="form" :model="form" label-width="80px"> - <el-form-item label="鎸囨爣绫诲瀷"> - <el-radio-group v-model="form.resource"> - <el-radio label="閫夐」"></el-radio> - <el-radio label="鏂囨湰"></el-radio> - <el-radio label="鏁扮粍"></el-radio> - </el-radio-group> - </el-form-item> - <el-form-item label="鎸囨爣鍚嶇О"> - <el-input v-model="form.name"></el-input> - </el-form-item> - <el-form-item label="鎸囨爣鍊�"> - <el-input v-model="item.name"></el-input> - </el-form-item> - <el-form-item label="鐗规畩璧勬簮"> - <el-radio-group v-model="form.resource"> - <el-radio label="鍩虹"></el-radio> - <el-radio label="鑷畾涔�"></el-radio> - </el-radio-group> - </el-form-item> - <el-form-item label="鍩虹瑙勫垯"> - <el-input type="textarea" v-model="item.valuetop"></el-input> - </el-form-item> - </el-form> - </div> - </div> - <span slot="footer" class="dialog-footer"> - <el-button @click="indicatorVisible = false">鍏抽棴</el-button> - </span> - </el-dialog> - </div> -</template> - -<script> -import { - listUser, - delUser, - addUser, - updateUser, - changeUserStatus, -} from "@/api/system/user"; - -import myAudio from "./myAudio.vue"; -export default { - name: "User", - dicts: ["sys_normal_disable", "sys_user_sex"], - components: { myAudio }, - data() { - return { - // 閬僵灞� - loading: true, - // 閫変腑鏁扮粍 - ids: [], - // 闈炲崟涓鐢� - single: true, - // 闈炲涓鐢� - multiple: true, - // 鏄剧ず鎼滅储鏉′欢 - showSearch: true, - // 鎬绘潯鏁� - total: 0, - // 鐢ㄦ埛琛ㄦ牸鏁版嵁 - userList: [ - { - userId: 1, - userName: "鐜嬩簲", - phonenumber: "13802963330", - templateName: "涔屾媺", - problem: "鏈�杩戞�庝箞鏍�", - reply: "sas", - url: "", - controlList: "onlyOnePlaying", - }, - { - userId: 1, - userName: "寮犱簲", - phonenumber: "13802963330", - templateName: "涔屾媺", - problem: "鏈�杩戞�庝箞鏍�", - reply: "sas", - url: "", - controlList: "onlyOnePlaying", - }, - ], - deployList: [ - { - id: 1, - name: "鏈�", - valuetop: - "(?!.*蹇榺.*涓峾.*娌�)^.*(鏄瘄鏈墊瀵箌鍋殀浣渱妫�|鏌澶嶈瘖|濂絴鍙傚姞|澶嶈瘖|鍘�(杩噟濂絴浜唡瀹寍鍖婚櫌)|鏉�(杩噟浜唡鍖婚櫌))|娌¢敊|瀵瑰憖|鍙兘|(宸茬粡|鏃�)鍘讳簡|寮�浜嗚嵂|鑵板甫|鍚婂甫|瑕佺殑|(?<!娌�)鏈夌殑|琛ㄥ甫,10;瑕�,5", - }, - { - id: 2, - name: "涓嶇煡閬�", - valuetop: - "(涓峾娌璋亅楝紎鎬庝箞).*(鐥厊鍙兘|鐭ラ亾|浜嗚В|娓呮|鎳倈鏄庣櫧|纭|纭畾|鏅撳緱|鐭ユ檽|璁ゅ緱|璇嗗緱|鍗拌薄|鐔熸倝|璁皘浼殀鍏冲績|鍏虫敞|娉ㄦ剰|鍛婅瘔|閫氱煡|鍚�)", - }, - ], - // 寮瑰嚭灞傛爣棰� - title: "", - - // 鏃ユ湡鑼冨洿 - dateRange: [], - - inputValue: "", - indicatorVisible: false, //鎸囨爣缂栬緫寮规 - radio: "", - radios: [], - previewtype: 2, //棰勮棰樼洰绫诲瀷 - total: 0, // 鎬绘潯鏁� - ImportQuantity: 999, //瀵奸鐩暟閲� - //棰勮棰樼洰淇℃伅 - previewvalue: { - username: "杩欎釜鍖荤敓瀵逛綘鎬庝箞鏍�", - }, - // 琛ㄥ崟鍙傛暟 - form: { - phonenumber: "", - totagid: "", - types: "", - nickName: "", - qystatus: "", - btstatus: "", - }, - //瀵煎叆杩涘害 - dractive: 1, - // 瀵煎叆灞曠ず琛ㄥ崟 - uploadingData: {}, - // 鏌ヨ鍙傛暟 - topqueryParams: { - pageNum: 1, - pageSize: 10, - userName: undefined, - tagid: undefined, - topic: undefined, - }, - propss: { multiple: true }, - - // 琛ㄥ崟鏍¢獙 - rules: { - userName: [ - { required: true, message: "鐢ㄦ埛鍚嶇О涓嶈兘涓虹┖", trigger: "blur" }, - { - min: 2, - max: 20, - message: "鐢ㄦ埛鍚嶇О闀垮害蹇呴』浠嬩簬 2 鍜� 20 涔嬮棿", - trigger: "blur", - }, - ], - nickName: [ - { required: true, message: "鐢ㄦ埛鏄电О涓嶈兘涓虹┖", trigger: "blur" }, - ], - password: [ - { required: true, message: "鐢ㄦ埛瀵嗙爜涓嶈兘涓虹┖", trigger: "blur" }, - { - min: 5, - max: 20, - message: "鐢ㄦ埛瀵嗙爜闀垮害蹇呴』浠嬩簬 5 鍜� 20 涔嬮棿", - trigger: "blur", - }, - ], - email: [ - { - type: "email", - message: "璇疯緭鍏ユ纭殑閭鍦板潃", - trigger: ["blur", "change"], - }, - ], - phonenumber: [ - { - pattern: /^1[3|4|5|6|7|8|9][0-9]\d{8}$/, - message: "璇疯緭鍏ユ纭殑鎵嬫満鍙风爜", - trigger: "blur", - }, - ], - IDnumber: [ - { - pattern: - /^\d{6}((((((19|20)\d{2})(0[13-9]|1[012])(0[1-9]|[12]\d|30))|(((19|20)\d{2})(0[13578]|1[02])31)|((19|20)\d{2})02(0[1-9]|1\d|2[0-8])|((((19|20)([13579][26]|[2468][048]|0[48]))|(2000))0229))\d{3})|((((\d{2})(0[13-9]|1[012])(0[1-9]|[12]\d|30))|((\d{2})(0[13578]|1[02])31)|((\d{2})02(0[1-9]|1\d|2[0-8]))|(([13579][26]|[2468][048]|0[048])0229))\d{2}))(\d|X|x)$/, - message: "璇疯緭鍏ユ纭殑韬唤璇佸彿鐮�", - trigger: "blur", - }, - ], - }, - }; - }, - watch: {}, - created() { - this.getList(); - }, - methods: { - /** 鏌ヨ棰樼洰鍒楄〃 */ - getList() { - this.loading = true; - listUser(this.addDateRange(this.topqueryParams, this.dateRange)).then( - (response) => { - // this.userList = response.rows; - this.total = response.total; - this.loading = false; - } - ); - }, - // 缂栬緫璇濇湳鎸囨爣 - Referencequestion(row) { - this.indicatorVisible = true; - }, - // 鏂板鎸囨爣 - addzbiao() { - const ids = this.deployList.length + 1; - console.log(ids); - this.deployList.push({ - id: ids, - name: "", - valuetop: "", - }); - }, - // 鍒犻櫎鎸囨爣 - deletei(index) { - console.log(index); - this.deployList.splice(index, 1); - }, - - // 棰樼洰鐘舵�佷慨鏀� - handleStatusChange(row) { - let text = row.status === "0" ? "鍚敤" : "鍋滅敤"; - this.$modal - .confirm('纭瑕�"' + text + '""' + row.userName + '"鐢ㄦ埛鍚楋紵') - .then(function () { - return changeUserStatus(row.userId, row.status); - }) - .then(() => { - this.$modal.msgSuccess(text + "鎴愬姛"); - }) - .catch(function () { - row.status = row.status === "0" ? "1" : "0"; - }); - }, - // 鍙栨秷鎸夐挳 - cancel() { - this.reset(); - }, - // 琛ㄥ崟閲嶇疆 - reset() { - this.form = { - userId: undefined, - deptId: undefined, - userName: undefined, - nickName: undefined, - password: undefined, - phonenumber: undefined, - email: undefined, - sex: undefined, - status: "0", - remark: undefined, - postIds: [], - roleIds: [], - }; - this.resetForm("form"); - }, - /** 鎼滅储鎸夐挳鎿嶄綔 */ - handleQuery() { - this.topqueryParams.pageNum = 1; - this.getList(); - }, - /** 閲嶇疆鎸夐挳鎿嶄綔 */ - resetQuery() { - this.dateRange = []; - this.resetForm("queryForm"); - this.topqueryParams.deptId = undefined; - this.$refs.tree.setCurrentKey(null); - this.handleQuery(); - }, - // 澶氶�夋閫変腑鏁版嵁 - handleSelectionChange(selection) { - this.ids = selection.map((item) => item.userId); - this.single = selection.length != 1; - this.multiple = !selection.length; - }, - //鍒犻櫎閫夐」 - handleClose(tag) { - this.dynamicTags.splice(this.dynamicTags.indexOf(tag), 1); - }, - - /** 鏂板鎸夐挳鎿嶄綔 */ - handleAdd() { - this.reset(); - }, - /** 淇敼鎸夐挳鎿嶄綔 */ - handleUpdate(row) { - 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.getList(); - }); - } else { - addUser(this.form).then((response) => { - this.$modal.msgSuccess("鏂板鎴愬姛"); - this.open = false; - this.getList(); - }); - } - } - }); - }, - /** 鍒犻櫎鎸夐挳鎿嶄綔 */ - handleDelete(row) { - const userIds = row.userId || this.ids; - this.$modal - .confirm('鏄惁纭鍒犻櫎鐢ㄦ埛缂栧彿涓�"' + userIds + '"鐨勬暟鎹」锛�') - .then(function () { - return delUser(userIds); - }) - .then(() => { - this.getList(); - this.$modal.msgSuccess("鍒犻櫎鎴愬姛"); - }) - .catch(() => {}); - }, - /** 瀵煎嚭鎸夐挳鎿嶄綔 */ - handleExport() { - this.download( - "system/user/export", - { - ...this.topqueryParams, - }, - `user_${new Date().getTime()}.xlsx` - ); - }, - }, -}; -</script> - -<style lang="scss" scoped> -.el-button--primary.is-plain { - color: #ffffff; - background: #409eff; - border-color: #4fabe9; -} -.document { - width: 100px; - height: 50px; -} -.documentf { - display: flex; - justify-content: flex-end; -} -.download { - text-align: center; - .el-upload__tip { - font-size: 23px; - } - .el-upload__text { - font-size: 23px; - } -} -.uploading { - margin-top: 20px; - margin: 20px; - padding: 30px; - background: #ffffff; - border: 1px solid #dcdfe6; - -webkit-box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.12), - 0 0 6px 0 rgba(0, 0, 0, 0.04); -} -.el-tag + .el-tag { - margin-left: 10px; -} -.button-new-tag { - margin-left: 10px; - height: 32px; - line-height: 30px; - padding-top: 0; - padding-bottom: 0; -} -.input-new-tag { - width: 90px; - margin-left: 10px; - vertical-align: bottom; -} -.drexamine { - display: flex; - align-items: center; - justify-content: center; - padding: 30px; - background: #daeaf5; - img { - width: 100px; - height: 100px; - } -} -.qrcode-dialo { - // text-align: center; - // display: flex; - margin: 20px; - padding: 30px; - background: #edf1f7; - border: 1px solid #dcdfe6; - -webkit-box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.12), - 0 0 6px 0 rgba(0, 0, 0, 0.04); - .topic-dev { - margin-bottom: 25px; - font-size: 20px !important; - .dev-text { - margin-bottom: 10px; - } - } -} -.headline { - display: flex; - height: 50px; - margin: 15px; - margin-bottom: 0; - padding: 0 20px 20px 20px; - line-height: 50px; - background: #92c5f0; - justify-content: space-between; -} -.valuetop { - .val-text { - display: flex; - height: 50px; - margin: 15px; - margin-bottom: 0; - // padding: 0 20px 20px 20px; - padding: 0 20px; - align-items: center; - background: #92c5f0; - justify-content: space-between; - .text-icon { - width: 35px; - height: 35px; - line-height: 35px; - text-align: center; - background: #fafafa; - cursor: pointer; - border-radius: 5px; - } - } - .val-bon { - margin: 15px; - margin-top: 0; - padding: 30px; - background: #f2f5fc; - 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); - } -} -.icon-s-claim { - color: #409eff; -} -.icon-edit { - color: rgb(5, 212, 212); -} -::v-deep.el-radio-group { - span { - font-size: 24px; - } -} -::v-deep.el-checkbox-group { - span { - font-size: 24px; - } -} -</style> diff --git a/src/views/repositoryai/matching/myAudio.vue b/src/views/repositoryai/matching/myAudio.vue deleted file mode 100644 index 1b0f274..0000000 --- a/src/views/repositoryai/matching/myAudio.vue +++ /dev/null @@ -1,288 +0,0 @@ -<template> - <div - class="di main-wrap" - v-loading="audio.waiting" - element-loading-text="闊宠棰戝姞杞戒腑" - element-loading-spinner="el-icon-loading" - > - <!-- 杩欓噷璁剧疆浜唕ef灞炴�у悗锛屽湪vue缁勪欢涓紝灏卞彲浠ョ敤this.$refs.audio鏉ヨ闂dom鍏冪礌 --> - <audio - ref="audio" - class="dn" - :src="url" - :preload="audio.preload" - @play="onPlay" - @error="onError" - @waiting="onWaiting" - @pause="onPause" - @timeupdate="onTimeupdate" - @loadedmetadata="onLoadedmetadata" - ></audio> - <div> - <!-- 鎾斁 --> - <i - class="el-icon-microphone" - v-if="audio.playing == true" - style="color: rgb(10 243 61); font-size: 18px" - ></i> - <i class="el-icon-microphone" v-else style="font-size: 18px"></i> - <el-button style="margin: 0 10px" type="text" @click="startPlayOrPause">{{ - audio.playing | transPlayPause - }}</el-button> - - <!-- 鎾斁鏈�澶ф椂闂� --> - <span type="info">{{ audio.maxTime | formatSecond }}</span> - - <!-- 蹇繘鎸夐挳 --> - <el-button - v-show="!controlList.noSpeed" - type="text" - @click="changeSpeed" - >{{ audio.speed | transSpeed }}</el-button - > - <a - :href="url" - v-show="!controlList.noDownload" - target="_blank" - class="download" - download - >涓嬭浇</a - > - <br /> - - <!-- 鎾斁鏃堕棿 --> - <!-- <el-tag type="info">{{ audio.currentTime | formatSecond }}</el-tag> --> - - <!-- 鎾斁杩涘害鏉� --> - <el-slider - v-show="!controlList.noProcess" - v-model="sliderTime" - :format-tooltip="formatProcessToolTip" - @change="changeCurrentTime" - class="slider" - ></el-slider> - - <!-- 闈欓煶鎸夐挳 --> - <!-- <el-button - v-show="!controlList.noMuted" - type="text" - @click="startMutedOrNot" - >{{ audio.muted | transMutedOrNot }}</el-button - > --> - - <!-- 闊抽噺澶у皬 --> - <el-slider - v-show="!controlList.noVolume" - v-model="volume" - :format-tooltip="formatVolumeToolTip" - @change="changeVolume" - class="slider" - ></el-slider> - </div> - </div> -</template> - -<script> -function realFormatSecond(second) { - var secondType = typeof second; - if (secondType === "number" || secondType === "string") { - second = parseInt(second); - var hours = Math.floor(second / 3600); - second = second - hours * 3600; - var mimute = Math.floor(second / 60); - second = second - mimute * 60; - return ( - hours + ":" + ("0" + mimute).slice(-2) + ":" + ("0" + second).slice(-2) - ); - } else { - return "0:00:00"; - } -} -export default { - // 鐖朵紶瀛� - props: { - theUrl: { - type: String, - required: true, - }, - theSpeeds: { - type: Array, - default() { - return [1, 1.5, 2]; - }, - }, - theControlList: { - type: String, - default: "", - }, - }, - data() { - return { - url: this.theUrl, - audio: { - currentTime: 0, - maxTime: 0, // 闊抽鏃堕暱 - playing: false, // 鏄惁鍦ㄦ挱鏀� - muted: false, - speed: 1, - waiting: false, - preload: "auto", - }, - sliderTime: 0, - volume: 100, - speeds: this.theSpeeds, - controlList: { - // 涓嶆樉绀轰笅杞� - noDownload: false, - // 涓嶆樉绀洪潤闊� - noMuted: false, - // 涓嶆樉绀洪煶閲忔潯 - noVolume: false, - // 涓嶆樉绀鸿繘搴︽潯 - noProcess: false, - // 鍙兘鎾斁涓�涓� - onlyOnePlaying: false, - // 涓嶈蹇繘鎸夐挳 - noSpeed: false, - }, - }; - }, - methods: { - changeSpeed() { - let index = this.speeds.indexOf(this.audio.speed) + 1; - this.audio.speed = this.speeds[index % this.speeds.length]; - this.$refs.audio.playbackRate = this.audio.speed; - }, - startMutedOrNot() { - this.$refs.audio.muted = !this.$refs.audio.muted; - this.audio.muted = this.$refs.audio.muted; - }, - // 闊抽噺鏉oolTip - formatVolumeToolTip(index) { - return "闊抽噺鏉�: " + index; - }, - // 杩涘害鏉oolTip - formatProcessToolTip(index = 0) { - index = parseInt((this.audio.maxTime / 100) * index); - return "杩涘害鏉�: " + realFormatSecond(index); - }, - // 闊抽噺鏀瑰彉 - changeVolume(index = 0) { - this.$refs.audio.volume = index / 100; - this.volume = index; - }, - // 鎾斁璺宠浆 - changeCurrentTime(index) { - this.$refs.audio.currentTime = parseInt( - (index / 100) * this.audio.maxTime - ); - }, - //鏄剧ず鎾斁鎴栬�呮殏鍋� - startPlayOrPause() { - return this.audio.playing ? this.pausePlay() : this.startPlay(); - }, - // 寮�濮嬫挱鏀� - startPlay() { - // console.log("鎾斁"); - this.$refs.audio.play(); - }, - // 鏆傚仠鎾斁 - pausePlay() { - // console.log("鏆傚仠"); - this.$refs.audio.pause(); - }, - - // 闊抽鏆傚仠鏃惰Е鍙� - onPause() { - this.audio.playing = false; - }, - // 闊抽閿欒鏃惰Е鍙� - onError() { - // this.audio.waiting = true; - }, - // 闊抽鍑嗗鏃惰Е鍙� - onWaiting(res) { - console.log("绛夊緟", res); - }, - // 闊抽鎾斁鏃惰Е鍙� - onPlay(res) { - // console.log("鎾斁", res); - this.audio.playing = true; - this.audio.loading = false; - if (!this.controlList.onlyOnePlaying) { - return; - } - let target = res.target; - let audios = document.getElementsByTagName("audio"); //鑾峰彇鎵�鏈夎棰戞爣绛� - [...audios].forEach((item) => { - if (item !== target) { - item.pause(); - } - }); - }, - // 鎾斁鏁伴噺闄愬埗锛堝悓鏃跺彧鑳芥挱鏀句竴涓級 - setControlList() { - // 娉ㄦ剰鐖剁粍浠朵紶鐨勫�兼槸鍚︽弧瓒宠姹� - let controlList = this.theControlList.split(" "); - controlList.forEach((item) => { - if (this.controlList[item] !== undefined) { - this.controlList[item] = true; - } - }); - }, - - // 褰搕imeupdate浜嬩欢澶ф姣忕涓�娆★紝鐢ㄦ潵鏇存柊闊抽娴佺殑褰撳墠鎾斁鏃堕棿 - onTimeupdate(res) { - this.audio.currentTime = res.target.currentTime; - this.sliderTime = parseInt( - (this.audio.currentTime / this.audio.maxTime) * 100 - ); - }, - - // 褰撳姞杞借闊虫祦鍏冩暟鎹畬鎴愬悗锛屼細瑙﹀彂璇ヤ簨浠剁殑鍥炶皟鍑芥暟 - onLoadedmetadata(res) { - // console.log("鍔犺浇", res); - this.audio.waiting = false; // 鍙栨秷绛夊緟鐘舵�� - this.audio.maxTime = parseInt(res.target.duration); - }, - }, - // 杩囨护灞炴�� - filters: { - formatSecond(second = 0) { - return realFormatSecond(second); - }, - transPlayPause(value) { - return value ? "鏆傚仠" : "鎾斁"; - }, - transMutedOrNot(value) { - return value ? "鏀鹃煶" : "闈欓煶"; - }, - transSpeed(value) { - return "蹇繘: x" + value; - }, - }, - created() { - this.setControlList(); - }, -}; -</script> - -<style scoped> -.slider { - display: inline-block; - width: 100px; - position: relative; - top: 14px; - margin-left: 15px; -} -.di { - display: inline-block; -} -.download { - color: #409eff; - margin-left: 15px; -} -.dn { - display: none; -} -</style> diff --git a/src/views/repositoryai/templateku/configurat/index.vue b/src/views/repositoryai/templateku/configurat/index.vue deleted file mode 100644 index a7023e7..0000000 --- a/src/views/repositoryai/templateku/configurat/index.vue +++ /dev/null @@ -1,2534 +0,0 @@ -<template> - <div class="Questionnairemanagement"> - <!-- 宸︿晶鏍� --> - <div class="sidecolumn"> - <div> - <el-steps finish-status="success" :active="Editprogress" simple> - <el-step> - <template slot="title"> - <span style="cursor: pointer" @click="Editprogress = 1" - >鍩虹淇℃伅</span - > - </template> - </el-step> - <el-step> - <template slot="title"> - <span style="cursor: pointer" @click="Editprogress = 2" - >闅忚妯℃澘棰樼洰</span - > - </template> - </el-step> - <el-step description="鏌ョ湅闅忚妯℃澘棰勮锛屽彲瀵煎嚭PDF"> - <template slot="title"> - <span style="cursor: pointer" @click="preview">闅忚妯℃澘棰勮</span> - </template> - </el-step> - </el-steps> - </div> - </div> - <!-- 鍙充晶鏁版嵁 --> - <div class="leftvlue"> - <!-- 鍩烘湰淇℃伅 --> - <div v-if="Editprogress == 1"> - <div class="leftvlue-jbxx">鍩烘湰淇℃伅</div> - <el-divider></el-divider> - <el-form - :model="ruleForm" - :rules="rules" - ref="ruleForm" - label-width="120px" - class="demo-ruleForm" - > - <el-row> - <el-col :span="12"> - <el-form-item label="妯℃澘鍚嶇О" prop="region"> - <div> - <el-input - v-model="ruleForm.templateName" - placeholder="璇疯緭鍏ュ悕绉�" - ></el-input> - </div> - </el-form-item> - </el-col> - <el-col :span="12"> - <el-form-item label="闅忚妯℃澘鍒嗙被" prop="region"> - <el-select - v-model="ruleForm.assortid" - size="medium" - filterable - placeholder="璇烽�夋嫨鍒嗙被" - > - <el-option-group - v-for="group in indexAssortlist" - :key="group.id" - :label="group.indexAssortName" - > - <el-option - v-for="item in group.ivrLibaTemplateAssortList" - :key="item.id" - :label="item.indexAssortName" - :value="item.id" - > - </el-option> - </el-option-group> - </el-select> - </el-form-item> - </el-col> - </el-row> - <el-row> - <el-col :span="12"> - <el-form-item label="妯℃澘绠�浠�" prop="note"> - <div> - <el-input - type="textarea" - placeholder="璇疯緭鍏ョ畝浠�" - v-model="ruleForm.note" - ></el-input> - </div> - </el-form-item> - </el-col> - </el-row> - - <el-row :gutter="20"> - <el-col :span="12"> - <el-form-item label="鐗堟湰鍙�" prop="version"> - <el-input - style="width: 220px" - v-model="ruleForm.version" - placeholder="榛樿1.0.1" - ></el-input> </el-form-item - ></el-col> - <el-col :span="12"> - <el-form-item label="鍙敤鐘舵��" prop="region"> - <el-select - v-model="ruleForm.isenable" - size="medium" - placeholder="璇烽�夋嫨" - > - <el-option - class="ruleFormaa" - v-for="item in usable" - :key="item.value" - :label="item.label" - :value="item.value" - > - </el-option> - </el-select> </el-form-item - ></el-col> - </el-row> - - <el-row :gutter="20"> - <el-col :span="12"> - <el-form-item label="璇█" prop="name"> - <el-select - v-model="ruleForm.language" - size="medium" - filterable - placeholder="璇烽�夋嫨璇█" - > - <el-option - class="ruleFormaa" - v-for="item in languagelist" - :key="item.label" - :label="item.label" - :value="item.label" - > - </el-option> - </el-select> </el-form-item - ></el-col> - <el-col :span="12"> - <el-form-item label="鎾姤浼樺厛" prop="playType"> - <el-select - v-model="ruleForm.playType" - size="medium" - filterable - placeholder="璇烽�夋嫨璇█" - > - <el-option - class="ruleFormaa" - v-for="item in precedencetype" - :key="item.value" - :label="item.label" - :value="item.value" - > - </el-option> - </el-select> </el-form-item - ></el-col> - </el-row> - <el-form-item label="闅忚鏂瑰紡" prop="region"> - <el-select - style="width: 500px" - v-model="ruleForm.suitway" - size="medium" - multiple - filterable - placeholder="璇烽�夋嫨鍒嗙被锛堝閫夛級" - > - <el-option - class="ruleFormaa" - v-for="item in mode" - :key="item.value" - :label="item.label" - :value="item.value" - > - </el-option> - </el-select> - </el-form-item> - <el-form-item label="鏍囩" prop="desc"> - <div class="xinz-inf"> - <el-tag - :key="tag.tagname" - type="success" - v-for="tag in dynamicTags" - closable - :disable-transitions="false" - @close="handleClosetag(tag)" - > - {{ tag.tagname }} - </el-tag> - <el-select - v-model="inputValue" - v-if="inputVisible" - @change="handleInputConfirm" - filterable - remote - allow-create - reserve-keyword - default-first-option - :remote-method="remoteMethodtag" - :loading="loading" - placeholder="璇烽�夋嫨" - > - <el-option - v-for="item in optionstag" - :key="item.tagid" - :label="item.tagname" - :value="item.tagname" - > - </el-option> - </el-select> - <el-button - v-else - class="button-new-tag" - size="small" - @click="showInput" - >+ 鏂板鏍囩</el-button - > - </div> - </el-form-item> - <div class="xinz-infs"> - <el-form-item label="閫傜敤鐤剧梾" prop="region"> - <el-tag - v-for="tag in displayedTags" - :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> - <div style="margin-left: 120px; margin-bottom: 10px"> - <el-button type="warning" @click="$refs.child.handleAddpatient()" - >鐤剧梾璇︽儏</el-button - > - </div> - <el-form-item label="閫傜敤閫氱敤搴�" prop="region"> - <el-select - style="width: 500px" - v-model="ruleForm.submoduleID" - size="medium" - multiple - filterable - placeholder="璇烽�夋嫨閫氱敤搴�" - > - <el-option - class="ruleFormaa" - v-for="item in generallist" - :key="item.id" - :label="item.extName" - :value="item.id" - > - </el-option> - </el-select> - </el-form-item> - <el-form-item label="閫傜敤闄㈠尯" prop="region"> - <el-select - style="width: 500px" - v-model="ruleForm.campus" - size="medium" - multiple - filterable - placeholder="璇烽�夋嫨鍒嗙被" - > - <el-option - class="ruleFormaa" - v-for="item in courtyardlist" - :key="item.label" - :label="item.label" - :value="item.label" - > - </el-option> - </el-select> - </el-form-item> - <el-row> - <el-col :span="20" - ><el-form-item label="閫傜敤绉戝" prop="region"> - <el-select - v-model="tempDetpRelevanceslist" - @remove-tag="removetag" - style="width: 55vw" - size="medium" - multiple - filterable - placeholder="璇烽�夋嫨绉戝" - > - <el-option - class="ruleFormaa" - v-for="item in flatArray" - :key="item.deptCode" - :label="item.label" - :value="item.deptCode" - > - </el-option> - </el-select> </el-form-item - ></el-col> - </el-row> - <el-row> - <el-col :span="20" - ><el-form-item label="閫傜敤鐥呭尯" prop="region"> - <el-select - v-model="tempbelongWards" - @remove-tag="removehpsp" - style="width: 55vw" - size="medium" - multiple - filterable - placeholder="璇烽�夋嫨绉戝" - > - <el-option - class="ruleFormaa" - v-for="item in flatArray" - :key="item.deptCode" - :label="item.label" - :value="item.deptCode" - > - </el-option> - </el-select> </el-form-item - ></el-col> - </el-row> - <el-row> - <el-col :span="12" - ><el-form-item label="寮�鍦虹櫧" prop="revisitBefore"> - <el-input - type="textarea" - :rows="3" - v-model="ruleForm.revisitBefore" - placeholder="璇疯緭鍏ュ紑鍦虹櫧" - /> </el-form-item - ></el-col> - <el-col :span="12" - ><el-form-item label="缁撴潫璇�" prop="revisitAfter"> - <el-input - type="textarea" - :rows="3" - v-model="ruleForm.revisitAfter" - placeholder="璇疯緭鍏ョ粨鏉熻" - /> </el-form-item - ></el-col> - </el-row> - - <el-row :gutter="20"> - <el-col :span="8"> - <el-form-item label="闈欓粯鏃堕棿(绉�)" prop="name"> - <div style="width: 40%"> - <el-input - v-model="ruleForm.silencetime" - ></el-input></div></el-form-item - ></el-col> - <el-col :span="8"> - <el-form-item label="闈欓粯娆℃暟" prop="name"> - <div style="width: 40%"> - <el-input - v-model="ruleForm.noVoiceNum" - ></el-input></div></el-form-item - ></el-col> - <el-col :span="8"> - <el-form-item label="鏃犲尮閰嶉噸澶�(娆�)" prop="region"> - <div style="width: 40%"> - <el-input v-model="ruleForm.mateNum"></el-input> - </div> </el-form-item - ></el-col> - </el-row> - <el-form-item> - <el-button type="success" plain @click="nextstep('ruleForm')" - >涓嬩竴姝�</el-button - > - <el-button type="info" @click="closeFm('ruleForm')">鍏抽棴</el-button> - <el-button - type="success" - @click="Departmenttreatment('ruleForm')" - >{{ task ? "淇濆瓨鍒颁换鍔℃ā鏉�" : "淇濆瓨闅忚妯℃澘鍩虹淇℃伅" }}</el-button - > - </el-form-item> - </el-form> - </div> - <!-- 闅忚妯℃澘璁剧疆 --> - <div v-if="Editprogress == 2"> - <div class="leftvlue-jbxx">闅忚妯℃澘棰樼洰璁剧疆</div> - <el-divider></el-divider> - <div class="addtopic"> - <el-button - type="primary" - icon="el-icon-plus" - round - @click="getaddtopiclist" - >娣诲姞棰樼洰</el-button - > - <el-button - type="success" - icon="el-icon-edit-outline" - round - @click="Operateit = !Operateit" - >{{ !Operateit ? "缂栬緫棰樼洰" : "瀹屾暣淇℃伅灞曠ず" }}</el-button - > - </div> - <div class="presentation"> - <div :class="Operateit ? 'presentation-left' : 'spresentation-left'"> - <el-card class="box-card" style="min-height: 688px"> - <el-table - v-loading="loading" - :data="ruleForm.ivrLibaTemplateScriptVOList" - > - <el-table-column - label="缂栧彿" - align="center" - key="sort" - prop="sort" - /> - <el-table-column - label="鏍囬" - align="center" - key="scriptTopic" - prop="scriptTopic" - :show-overflow-tooltip="true" - /> - <el-table-column - v-if="!Operateit" - label="闂璇濇湳" - align="center" - key="scriptContent" - prop="scriptContent" - :show-overflow-tooltip="true" - /> - <el-table-column - v-if="!Operateit" - label="闂璇濇湳" - align="center" - key="scriptContent" - prop="scriptContent" - :show-overflow-tooltip="true" - /> - <el-table-column - label="涓嬮璺宠浆" - align="center" - key="nextScriptno" - prop="nextScriptno" - :show-overflow-tooltip="true" - > - <template slot-scope="scope"> - <span>{{ - scope.row.nextScriptno == 0 - ? "宸叉槸鏈�鍚庝竴棰�" - : scope.row.nextScriptno - }}</span> - </template> - </el-table-column> - - <el-table-column - label="鎿嶄綔" - v-if="Operateit" - align="center" - width="250" - class-name="small-padding fixed-width" - > - <template slot-scope="scope"> - <el-button - icon="el-icon-edit" - type="primary" - circle - @click="handleUpdate(scope.row)" - ></el-button> - <el-button - type="danger" - icon="el-icon-delete" - circle - @click="handleDelete(scope.row)" - ></el-button> - <el-button - @click="syioption(scope.row)" - type="success" - icon="el-icon-top" - circle - ></el-button> - <el-button - @click="xiayioption(scope.row)" - type="success" - icon="el-icon-bottom" - circle - ></el-button> - </template> - </el-table-column> - </el-table> - </el-card> - </div> - <div class="presentation-right" v-if="Operateit"> - <el-card class="box-card"> - <el-form - :model="topicobj" - :inline="true" - class="demo-form-inline" - > - <div class="headline">棰樼洰璁剧疆璇︽儏</div> - <el-row> - <el-col :span="24" - ><el-form-item label="棰樼洰鏍囬"> - <el-input - v-model="topicobj.scriptTopic" - placeholder="璇蜂粠宸︿晶鍒楄〃閫夋嫨" - ></el-input> </el-form-item - ></el-col> - </el-row> - <el-row> - <el-col :span="24" - ><el-form-item label="闂璇濇湳"> - <el-input - type="textarea" - style="width: 600px" - v-model="topicobj.scriptContent" - placeholder="璇蜂粠宸︿晶鍒楄〃閫夋嫨" - ></el-input> </el-form-item - ></el-col> - </el-row> - <el-row :gutter="10"> - <el-col :span="12" - ><el-form-item label="闂鑺傜偣"> - <el-input - v-model="topicobj.sort" - placeholder="璇蜂粠宸︿晶鍒楄〃閫夋嫨" - :disabled="true" - ></el-input> </el-form-item - ></el-col> - <el-col :span="12" - ><el-form-item label="涓嬮璺宠浆"> - <el-input - v-model="topicobj.nextScriptno" - placeholder="璇疯緭鍏ラ鍙�" - ></el-input> </el-form-item - ></el-col> - </el-row> - - <el-row :gutter="10"> - <el-col :span="12" - ><el-form-item label="鏄惁蹇呭~"> - <el-select - v-model="topicobj.isMust" - placeholder="榛樿蹇呭~" - > - <el-option - v-for="item in required" - :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-select - v-model="topicobj.scriptType" - placeholder="璇烽�夋嫨" - :disabled="true" - > - <el-option - v-for="item in askvaluetype" - :key="item.value" - :label="item.label" - :value="item.value" - > - </el-option> - </el-select> </el-form-item - ></el-col> - </el-row> - <el-form-item - label="鏄惁鐢遍�夐」閰嶇疆璺宠浆" - v-if="topicobj.scriptType == 1" - > - <el-radio-group v-model="topicobj.branchFlag"> - <el-radio :label="'1'">鏄�</el-radio> - <el-radio :label="'0'">鍚�</el-radio> - </el-radio-group> - </el-form-item> - <el-form-item label="閫変腑鎻愮ず" v-if="topicobj.scriptType != 1"> - <el-input - style="width: 24vw" - type="textarea" - autosize - placeholder="璇疯緭鍏ュ唴瀹�" - v-model="topicobj.prompt" - > - </el-input - ></el-form-item> - <el-row> - <el-col :span="24" - ><el-form-item label="璇煶鏂囨湰"> - <el-input - type="textarea" - style="width: 600px" - v-model="topicobj.ivrtext" - placeholder="璇蜂粠宸︿晶鍒楄〃閫夋嫨" - ></el-input> </el-form-item - ></el-col> - </el-row> - <el-row> - <el-col :span="6"> - <el-form-item label="璇煶鏂囦欢" prop="verbaltrickyy"> - <el-upload - class="upload-demo" - :action="uploadImgUrl" - :headers="headers" - :show-file-list="false" - :on-success=" - (response, file) => handleChanges(response, file, 1) - " - accept=".wav,.mp3" - :limit="1" - > - <el-button size="small" type="primary" - >鐐瑰嚮涓婁紶</el-button - > - </el-upload> - </el-form-item> - </el-col> - <el-col :span="6"> - <span - style="font-size: 18px; margin-top: 10px" - v-if="topicobj.ivrVoice" - >{{ - topicobj.ivrVoice.substring( - topicobj.ivrVoice.lastIndexOf("/") + 1 - ) - }}</span - > - </el-col> - <el-col :span="6"> - <mini-audio - :audio-source=" - topicobj.ivrVoice - ? topicobj.ivrVoice - : 'https://example.com/example.mp3' - " - ></mini-audio> - </el-col> - </el-row> - <div class="topicxq" v-if="topicobj.scriptType == 4"> - <el-row> - <el-col :span="20"> - <el-form-item label="鏀堕泦鍐呭"> - <el-input - style="width: 400px" - type="textarea" - v-model="topicobj.value" - placeholder="闂鏀堕泦鍐呭" - ></el-input> - </el-form-item> - </el-col> - </el-row> - </div> - <div v-else> - <div class="headline"> - <div class="basics">閫夐」璁剧疆</div> - <!-- <div class="headbottom"> - <el-button - type="primary" - icon="el-icon-circle-plus-outline" - @click="addzbiao" - >娣诲姞鎸囨爣</el-button - > - </div> --> - </div> - - <Regular - :TargetoptionList="topicobj.ivrLibaScriptTargetoptionList" - @deloption="deloption" - @branchFlagfn="branchFlagfn" - :branchFlag="topicobj.branchFlag ? true : false" - :controlsc="false" - :scriptType="topicobj.scriptType" - /> - <!-- 鏃犲尮閰嶇被鍨� --> - <div class="topicxq"> - <el-row :gutter="10"> - <el-col :span="20" - ><el-form-item label="鏃犲尮閰嶈瘽鏈�"> - <el-input - type="textarea" - style="width: 400px" - placeholder="璇疯緭鍏�" - v-model="topicobj.noMatchText" - show-word-limit - > - </el-input> </el-form-item - ></el-col> - </el-row> - <el-row> - <el-col :span="6"> - <el-form-item label="鏃犲尮閰嶈闊�" prop="verbaltrickyy"> - <el-upload - class="upload-demo" - :action="uploadImgUrl" - :show-file-list="false" - :headers="headers" - :on-success=" - (response, file) => - handleChanges(response, file, 2) - " - accept=".wav,.mp3" - :limit="1" - > - <el-button size="small" type="primary" - >鐐瑰嚮涓婁紶</el-button - > - </el-upload> - </el-form-item> - </el-col> - <el-col :span="6"> - <span - style="font-size: 12px" - v-if="topicobj.nomatchvoice" - >{{ - topicobj.nomatchvoice.substring( - topicobj.nomatchvoice.lastIndexOf("/") + 1 - ) - }}</span - > - </el-col> - <el-col :span="6"> - <mini-audio - :audio-source=" - topicobj.nomatchvoice - ? topicobj.nomatchvoice - : 'https://example.com/example.mp3' - " - ></mini-audio> - </el-col> - </el-row> - </div> - <div class="topicxq"> - <el-row :gutter="10"> - <el-col :span="20" - ><el-form-item label="鍚笉娓呰瘽鏈�"> - <el-input - style="width: 400px" - type="textarea" - placeholder="璇疯緭鍏�" - v-model="topicobj.noClearlyText" - show-word-limit - > - </el-input> </el-form-item - ></el-col> - </el-row> - - <el-row> - <el-col :span="6"> - <el-form-item label="鍚笉娓呰闊�" prop="verbaltrickyy"> - <el-upload - class="upload-demo" - :action="uploadImgUrl" - :show-file-list="false" - :headers="headers" - :on-success=" - (response, file) => - handleChanges(response, file, 4) - " - accept=".wav,.mp3" - :limit="1" - > - <el-button size="small" type="primary" - >鐐瑰嚮涓婁紶</el-button - > - </el-upload> - </el-form-item> - </el-col> - <el-col :span="6"> - <span - style="font-size: 12px" - v-if="topicobj.noclearlyvoice" - >{{ - topicobj.noclearlyvoice.substring( - topicobj.noclearlyvoice.lastIndexOf("/") + 1 - ) - }}</span - > - </el-col> - <el-col :span="6"> - <mini-audio - :audio-source=" - topicobj.noclearlyvoice - ? topicobj.noclearlyvoice - : 'https://example.com/example.mp3' - " - ></mini-audio> - </el-col> - </el-row> - </div> - <div class="topicxq"> - <el-row :gutter="10"> - <el-col :span="20" - ><el-form-item label="闈欓粯璇濇湳"> - <el-input - type="textarea" - style="width: 400px" - placeholder="璇疯緭鍏�" - v-model="topicobj.slienceText" - show-word-limit - > - </el-input> </el-form-item - ></el-col> - </el-row> - - <el-row> - <el-col :span="6"> - <el-form-item label="闈欓粯璇煶" prop="verbaltrickyy"> - <el-upload - class="upload-demo" - :action="uploadImgUrl" - :show-file-list="false" - :headers="headers" - :on-success=" - (response, file) => - handleChanges(response, file, 3) - " - accept=".wav,.mp3" - :limit="1" - > - <el-button size="small" type="primary" - >鐐瑰嚮涓婁紶</el-button - > - </el-upload> - </el-form-item> - </el-col> - <el-col :span="6"> - <span - style="font-size: 12px" - v-if="topicobj.sliencevoice" - >{{ - topicobj.sliencevoice.substring( - topicobj.sliencevoice.lastIndexOf("/") + 1 - ) - }}</span - > - </el-col> - <el-col :span="6"> - <mini-audio - :audio-source=" - topicobj.sliencevoice - ? topicobj.sliencevoice - : 'https://example.com/example.mp3' - " - ></mini-audio> - </el-col> - </el-row> - </div> - </div> - </el-form> - </el-card> - </div> - </div> - - <el-button type="success" @click="Departmenttreatment('ruleForm')">{{ - task ? "淇濆瓨鍒颁换鍔℃ā鏉�" : "淇濆瓨棰樼洰鏁版嵁" - }}</el-button> - <el-button type="primary" plain @click="laststep()">涓婁竴姝�</el-button> - <el-button type="success" plain @click="preview('ruleForm')" - >鏌ョ湅棰勮</el-button - > - <el-button type="info" @click="closeFm('ruleForm')">鍏抽棴</el-button> - </div> - <!-- 闅忚妯℃澘棰勮 --> - <div v-if="Editprogress == 3"> - <div class="leftvlue-jbxx">闅忚妯℃澘闂棰勮</div> - <el-divider></el-divider> - - <div class="preview-left"> - <div v-for="item in valssu"> - <!-- 鍗曢�� --> - <div - class="scriptTopic-dev" - :key="item.sort" - v-if="item.valueType == 1" - > - <div class="dev-text"> - {{ item.sort }}銆乕鍗曢�塢<span>{{ item.scriptContent }}</span> - </div> - <div class="dev-xx"> - <el-radio-group v-model="item.remark"> - <el-radio - v-for="(items, index) in item.ivrLibaScriptTargetoptionList" - :key="index" - :label="index" - >{{ items.targetvalue }}</el-radio - > - </el-radio-group> - </div> - </div> - <!-- 澶氶�� --> - <div - class="scriptTopic-dev" - :key="item.sort" - v-if="item.valueType == 2" - > - <div class="dev-text"> - {{ item.sort }}銆乕澶氶�塢<span>{{ item.scriptContent }}</span> - </div> - <div class="dev-xx"> - <el-checkbox-group v-model="item.remark"> - <el-checkbox - v-for="(items, index) in item.ivrLibaScriptTargetoptionList" - :key="index" - :label="index" - > - {{ items.targetvalue }} - </el-checkbox> - </el-checkbox-group> - </div> - </div> - <!-- 濉┖ --> - <div - class="scriptTopic-dev" - :key="item.sort" - v-if="item.valueType == 3" - > - <div class="dev-text"> - {{ item.sort }}銆乕濉┖]<span>{{ item.scriptContent }}</span> - </div> - <div class="dev-xx"> - <el-input placeholder="璇疯緭鍏ョ瓟妗�" v-model="radioas" clearable> - </el-input> - </div> - </div> - </div> - </div> - <el-button type="primary" plain @click="laststep()">涓婁竴姝�</el-button> - <el-button type="warning" @click="measurement()">鍓嶅線娴嬭瘯</el-button> - <el-button type="info" @click="closeFm('ruleForm')">鍏抽棴</el-button> - </div> - </div> - <!-- 娣诲姞棰樼洰寮圭獥 --> - <el-drawer - title="娣诲姞棰樼洰" - @close="$forceUpdate()" - @closed="$forceUpdate()" - :visible.sync="drawer" - custom-class="demo-drawer" - size="50%" - > - <div style="margin: 0 25px"> - <el-tabs v-model="activeName"> - <el-tab-pane label="棰樺簱閫夊彇" name="first"> - <div class="preview-left"> - <el-form - :model="queryParams" - ref="queryForm" - size="small" - :inline="true" - label-width="98px" - > - <el-form-item label="鏍囬" prop="userName"> - <el-input - v-model="queryParams.scriptTopic" - placeholder="璇疯緭鍏�" - clearable - style="width: 200px" - @keyup.enter.native="getaddtopiclist" - /> - </el-form-item> - - <el-form-item> - <el-button - type="primary" - icon="el-icon-search" - size="medium" - @click="getaddtopiclist" - >鎼滅储</el-button - > - <el-button - icon="el-icon-refresh" - size="medium" - @click="resetQuery" - >閲嶇疆</el-button - > - </el-form-item> - </el-form> - <el-table v-loading="loading" :data="userList"> - <el-table-column - label="鏍囬" - align="center" - key="scriptTopic" - prop="scriptTopic" - width="100" - /> - <el-table-column - label="闂璇濇湳" - align="center" - key="scriptContent" - prop="scriptContent" - width="200" - :show-overflow-tooltip="true" - /> - <el-table-column - label="闂绫诲瀷" - align="center" - key="valueType" - prop="valueType" - width="120" - > - <template slot-scope="scope"> - <dict-tag - :options="valuetypes" - :value="scope.row.valueType" - /> - </template> - </el-table-column> - <el-table-column - label="閫夐」鍐呭" - align="center" - key="targetoptions" - prop="targetoptions" - width="200" - :show-overflow-tooltip="true" - /> - - <el-table-column - label="鎿嶄綔" - align="center" - class-name="small-padding fixed-width" - > - <template slot-scope="scope"> - <el-button - size="medium" - type="text" - @click="addtopic(scope.row)" - ><span class="button-textxg" - ><i class="el-icon-circle-plus-outline"></i>娣诲姞</span - ></el-button - > - </template> - </el-table-column> - </el-table> - <pagination - :total="total" - :page.sync="queryParams.pageNum" - :limit.sync="queryParams.pageSize" - @pagination="getaddtopiclist" - /> - </div> - </el-tab-pane> - <el-tab-pane label="鎵嬪姩閰嶇疆" name="second"> - <div class="preview-left"> - <el-form - :inline="true" - :model="indexform" - class="demo-form-inline" - > - <div class="headline"> - 棰樼洰璁剧疆璇︽儏 - <span style="margin-left: 30px" - ><el-button type="primary" @click="Submittopicobj" - >淇濆瓨鏂板</el-button - ></span - > - </div> - <el-divider></el-divider> - <div> - <el-row :gutter="10"> - <el-col :span="12"> - <el-form-item label="棰樼洰鏍囬"> - <el-input - v-model="indexform.scriptTopic" - placeholder="璇疯緭鍏ラ鐩爣棰�" - ></el-input> - </el-form-item> - </el-col> - <el-col :span="12"> - <el-form-item label="闂鑺傜偣"> - <el-input - v-model="indexform.sort" - placeholder="璇疯緭鍏ラ棶棰樿妭鐐�" - ></el-input> - </el-form-item> - </el-col> - </el-row> - <el-row :gutter="10"> - <el-col :span="18" - ><el-form-item label="闂璇濇湳"> - <el-input - style="width: 600px" - type="textarea" - v-model="indexform.scriptContent" - placeholder="璇蜂粠宸︿晶鍒楄〃閫夋嫨" - ></el-input> </el-form-item - ></el-col> - </el-row> - <el-row :gutter="10"> - <el-col :span="12" - ><el-form-item label="鏄惁蹇呭~"> - <el-select - v-model="indexform.isMust" - placeholder="榛樿蹇呭~" - > - <el-option - v-for="item in required" - :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-select - v-model="indexform.valueType" - placeholder="璇烽�夋嫨" - :disabled="true" - > - <el-option - v-for="item in valuetype" - :key="item.value" - :label="item.label" - :value="item.value" - > - </el-option> - </el-select> </el-form-item - ></el-col> --> - </el-row> - <el-form-item - label="閫変腑鎻愮ず" - v-if="topicobj.scriptType != 1" - > - <el-input - style="width: 24vw" - type="textarea" - autosize - placeholder="璇疯緭鍏ュ唴瀹�" - v-model="indexform.prompt" - > - </el-input - ></el-form-item> - <el-row :gutter="10"> - <el-col :span="18" - ><el-form-item label="璇煶鏂囨湰"> - <el-input - style="width: 600px" - type="textarea" - v-model="indexform.ivrtext" - placeholder="璇蜂粠宸︿晶鍒楄〃閫夋嫨" - ></el-input> </el-form-item - ></el-col> - </el-row> - <el-row> - <el-col :span="6"> - <el-form-item label="璇煶鏂囦欢" prop="verbaltrickyy"> - <el-upload - class="upload-demo" - :action="uploadImgUrl" - :headers="headers" - :show-file-list="false" - :on-success=" - (response, file) => handleChange(response, file, 1) - " - accept=".wav,.mp3" - :limit="1" - > - <el-button size="small" type="primary" - >鐐瑰嚮涓婁紶</el-button - > - </el-upload> - </el-form-item> - </el-col> - <el-col :span="6"> - <span - style="font-size: 18px; margin-top: 10px" - v-if="indexform.ivrVoice" - >{{ - indexform.ivrVoice.substring( - indexform.ivrVoice.lastIndexOf("/") + 1 - ) - }}</span - > - </el-col> - <el-col :span="6"> - <mini-audio - :audio-source=" - indexform.ivrVoice - ? indexform.ivrVoice - : 'https://example.com/example.mp3' - " - ></mini-audio> - </el-col> - </el-row> - </div> - <div> - <el-form-item label="鎸囨爣鍚嶇О" prop="deptId"> - <el-input - v-model="indexform.targetname" - placeholder="璇疯緭鍏ユ寚鏍囧悕绉�" - maxlength="20" - /> - </el-form-item> - <el-form-item label="鎸囨爣鎻忚堪" prop="deptId"> - <el-input - v-model="indexform.targetdesc" - placeholder="璇疯緭鍏ユ寚鏍囨弿杩�" - maxlength="60" - /> - </el-form-item> - - <el-row> - <el-col :span="20"> - <el-form-item label="鍊肩被鍨�"> - <el-radio-group v-model="indexform.valueType"> - <el-radio :label="1">閫夐」</el-radio> - <el-radio :label="2">鏂囨湰</el-radio> - <el-radio :label="3">鏁板��</el-radio> - </el-radio-group> - </el-form-item> - </el-col> - </el-row> - <el-row> - <el-col :span="20"> - <el-form-item label="棰樼洰绫诲瀷"> - <el-radio-group - @input="typeselection" - v-model="indexform.scriptType" - > - <el-radio :label="1">鍗曢��</el-radio> - <!-- <el-radio :label="2">澶氶��</el-radio> --> - <el-radio :label="4">闂瓟</el-radio> - </el-radio-group> - </el-form-item> - </el-col> - </el-row> - </div> - <div class="topicxq" v-show="indexform.scriptType == 4"> - <el-row> - <el-col :span="20"> - <el-form-item label="鏀堕泦鍐呭"> - <el-input - style="width: 400px" - type="textarea" - v-model="indexform.value" - placeholder="闂鏀堕泦鍐呭" - ></el-input> - </el-form-item> - </el-col> - </el-row> - </div> - - <div v-show="indexform.scriptType == 1"> - <div class="headline"> - <div class="basics">閫夐」璁剧疆</div> - </div> - <el-divider></el-divider> - <Regular - :TargetoptionList="indexform.ivrLibaScriptTargetoptionList" - @deloption="deloption" - @addoption="addoptionson" - :controlsc="false" - :addoption="true" - /> - <!-- 鏃犲尮閰嶇被鍨� --> - <div class="topicxq"> - <el-row :gutter="10"> - <el-col :span="20" - ><el-form-item label="鏃犲尮閰嶈瘽鏈�"> - <el-input - type="textarea" - style="width: 400px" - placeholder="璇疯緭鍏�" - v-model="indexform.noMatchText" - show-word-limit - > - </el-input> </el-form-item - ></el-col> - </el-row> - <el-row> - <el-col :span="6"> - <el-form-item label="鏃犲尮閰嶈闊�" prop="verbaltrickyy"> - <el-upload - class="upload-demo" - :action="uploadImgUrl" - :show-file-list="false" - :headers="headers" - :on-success=" - (response, file) => - handleChange(response, file, 2) - " - accept=".wav,.mp3" - :limit="1" - > - <el-button size="small" type="primary" - >鐐瑰嚮涓婁紶</el-button - > - </el-upload> - </el-form-item> - </el-col> - <el-col :span="6"> - <span - style="font-size: 12px" - v-if="indexform.nomatchvoice" - >{{ - indexform.nomatchvoice.substring( - indexform.nomatchvoice.lastIndexOf("/") + 1 - ) - }}</span - > - </el-col> - <el-col :span="6"> - <mini-audio - :audio-source=" - indexform.nomatchvoice - ? indexform.nomatchvoice - : 'https://example.com/example.mp3' - " - ></mini-audio> - </el-col> - </el-row> - </div> - - <div class="topicxq"> - <el-row :gutter="10"> - <el-col :span="20" - ><el-form-item label="闈欓粯璇濇湳"> - <el-input - type="textarea" - style="width: 400px" - placeholder="璇疯緭鍏�" - v-model="indexform.slienceText" - show-word-limit - > - </el-input> </el-form-item - ></el-col> - </el-row> - - <el-row> - <el-col :span="6"> - <el-form-item label="闈欓粯璇煶" prop="verbaltrickyy"> - <el-upload - class="upload-demo" - :action="uploadImgUrl" - :show-file-list="false" - :headers="headers" - :on-success=" - (response, file) => - handleChange(response, file, 3) - " - accept=".wav,.mp3" - :limit="1" - > - <el-button size="small" type="primary" - >鐐瑰嚮涓婁紶</el-button - > - </el-upload> - </el-form-item> - </el-col> - <el-col :span="6"> - <span - style="font-size: 12px" - v-if="indexform.sliencevoice" - >{{ - indexform.sliencevoice.substring( - indexform.sliencevoice.lastIndexOf("/") + 1 - ) - }}</span - > - </el-col> - <el-col :span="6"> - <mini-audio - :audio-source=" - indexform.sliencevoice - ? indexform.sliencevoice - : 'https://example.com/example.mp3' - " - ></mini-audio> - </el-col> - </el-row> - </div> - <div class="topicxq"> - <el-row :gutter="10"> - <el-col :span="20" - ><el-form-item label="鍚笉娓呰瘽鏈�"> - <el-input - style="width: 400px" - type="textarea" - placeholder="璇疯緭鍏�" - v-model="indexform.noClearlyText" - show-word-limit - > - </el-input> </el-form-item - ></el-col> - </el-row> - - <el-row> - <el-col :span="6"> - <el-form-item label="鍚笉娓呰闊�" prop="verbaltrickyy"> - <el-upload - class="upload-demo" - :action="uploadImgUrl" - :show-file-list="false" - :headers="headers" - :on-success=" - (response, file) => - handleChange(response, file, 4) - " - accept=".wav,.mp3" - :limit="1" - > - <el-button size="small" type="primary" - >鐐瑰嚮涓婁紶</el-button - > - </el-upload> - </el-form-item> - </el-col> - <el-col :span="6"> - <span - style="font-size: 12px" - v-if="indexform.noclearlyvoice" - >{{ - indexform.noclearlyvoice.substring( - indexform.noclearlyvoice.lastIndexOf("/") + 1 - ) - }}</span - > - </el-col> - <el-col :span="6"> - <mini-audio - :audio-source=" - indexform.noclearlyvoice - ? indexform.noclearlyvoice - : 'https://example.com/example.mp3' - " - ></mini-audio> - </el-col> - </el-row> - </div> - </div> - </el-form> - </div> - </el-tab-pane> - </el-tabs> - </div> - </el-drawer> - <!-- 娣诲姞閫傜敤鐤剧梾绐楀彛 --> - <Optional-Form - ref="child" - :dialogVisiblepatient="dialogVisiblepatient" - :overallCase="illnesslist" - @addoption="dialogVisiblepatient = false" - @kkoption="dialogVisiblepatient = true" - /> - </div> -</template> - -<script> -import { listtag } from "@/api/system/label"; -import store from "@/store"; -import { listDept } from "@/api/system/dept"; -import Regular from "@/components/Regular"; //姝e垯缁勪欢 -import { - getFollowupclassify, - delFollowupclassify, - addFollowupclassify, - addtargetillness, - getvFollowup, - compileFollowup, - getverbaltricklist, - getverbaltrick, - delFollowupinfo, - Followupinfo, - getFollowuplist, - deltargetillness, - getillnesslist, - depthospgetson, - depthospgetsonlist, - illnesslistget, - getillness, - getgenerallist, - depthospgetsondel -} from "@/api/AiCentre/index"; -import OptionalForm from "@/components/OptionalForm"; //姝e垯缁勪欢 -import { getToken } from "@/utils/auth"; -import { deptTreeSelect } from "@/api/system/user"; - -export default { - name: "tpuconfigurat", - components: { Regular, OptionalForm }, - data() { - return { - headers: { - Authorization: "Bearer " + getToken(), - }, - uploadImgUrl: process.env.VUE_APP_BASE_API + "/common/uploadSort", - Editprogress: 1, //缂栬緫杩涘害 - loading: false, // 閬僵灞� - drawer: false, //鎺у埗灞曞紑 - radios: [], //澶氶�夐閫変腑 - radioas: "", //濉┖棰樼瓟妗� - task: null, //鏄惁鏉ヨ嚜浠诲姟 - taskform: null, //浠诲姟淇℃伅 - Operateit: true, - indexform: { - ivrLibaScriptTargetoptionList: [], - }, - labelInfovalue: [], //鏍囩涓存椂瀛樺偍 - deptNamesvalue: [], //绉戝涓存椂瀛樺偍 - dialogVisiblepatient: false, //閫傜敤鐤剧梾绐楀彛 - dynamicTags: [], - indexAssortlist: [], - inputValue: "", - inputValueillness: "", - topicobj: { - noMatchText: "鎶辨瓑锛屾垜娌℃湁鍚噦锛屾偍鑳藉啀璇翠竴閬嶅悧?", - noClearlyText: "鎶辨瓑锛屾垜娌℃湁鍚竻鎮ㄨ鐨勮瘽锛屾偍鍙互鍐嶈涓�娆″悧?", - slienceText: "鎶辨瓑锛屾垜娌℃湁鍚埌鎮ㄨ鐨勮瘽锛屾偍鍙互鍐嶈涓�娆″悧?", - }, - total: 1, - id: "", - ruleForm: { - templateName: "", - revisitBefore: - "浜茬埍鐨勬偅鑰�/瀹跺睘锛屾偍濂斤紒鎴戜滑鏄禉涓尰澶т簩闄㈢殑鍖绘姢浜哄憳锛屼负浜嗘洿濂藉湴浜嗚В鎮ㄧ殑搴峰鎯呭喌锛岃鎮ㄦ娊涓�鐐瑰疂璐垫椂闂达紝瀹屾垚杩欎唤闅忚銆�", - revisitAfter: - "璇锋偍娉ㄦ剰浼戞伅鍜岃惀鍏伙紝鐢熸椿涓婅鍔抽�哥粨鍚堬紝閫傚綋閿荤偧锛屾垝鐑熼檺閰掞紝淇濇寔蹇冩儏鑸掔晠锛屽畾鏈熷璇娿�傞偅鏈鍥炶灏卞埌杩欓噷锛岀鎮ㄨ韩浣撳仴搴凤紒", - ivrLibaTemplateTagList: [], - ivrLibaTemplateScriptVOList: [], - tempDetpRelevances: [], - }, - rules: {}, - optionstag: [], - prefollowuplist: [], - postfollowuplist: [], - tempDetpRelevanceslist: [], //绉戝鏁版嵁 - tempDetpRelevanceslistform: [], //绉戝鏁版嵁 - tempbelongWards: [], //鐥呭尯鏁版嵁 - tempbelongWardsform: [], //鐥呭尯鏁版嵁 - generallist: [ - { value: "1", label: "闅忚閫氱敤搴撲竴" }, - { value: "2", label: "闅忚浜屽簱" }, - ], - - fileList: [ - { - name: "food.jpeg", - url: "https://fuss10.elemecdn.com/3/63/4e7f3a15429bfda99bce42a18cdd1jpeg.jpeg?imageMogr2/thumbnail/360x360/format/webp/quality/100", - }, - ], - administrativelist: [ - { value: "1", label: "蹇冨绉�" }, - { value: "2", label: "蹇冨唴绉�" }, - ], - standbylist: [], - themelist: [], - languagelist: [], - courtyardlist: [], - precedencetype: [], - usable: [], - required: [], - valuetype: [], - valuetypes: [], - askvaluetype: [], - mode: [], - inputVisible: false, - inputVisibleillness: false, - illnessVisible: false, //鎸囨爣鐤剧梾寮规 - deptOptions: [], - optionsillness: [], - illnesslistapi: [], - illnesslist: [], - defaultProps: { - children: "ivrLibaTemplateAssortList", - label: "indexAssortName", - }, - tempDetpRelevanceslist: [], - delScriptVOList: [], - optionIndex: "", - activeName: "first", - variablelist: [ - { variatename: "濮撳悕", variate: "${name}", default: 1 }, - { variatename: "鐢佃瘽", variate: "${phone}", default: 1 }, - { variatename: "鐥呮儏", variate: "${illness}", default: 1 }, - ], - deptlist: [], - hosplist: [], - flatArray: [], - props: { multiple: true, value: "deptId", label: "deptName" }, - - variablelist: [ - { - variable: "paitent", - value: "琛ㄧず鎮h�呯殑鏍囪瘑", - }, - ], - queryParamsdept: { - tempid: "", - type: 2, - }, - - valssu: [], - radio: "", - addvalue: "娣诲姞棰樼洰", - // 棰樼洰琛ㄦ牸鏁版嵁 - userList: [], - belongWards: [], - belongDepts: [], - // 鏌ヨ鍙傛暟 - queryParams: { - pageNum: 1, - pageSize: 10, - userName: undefined, - phonenumber: undefined, - status: undefined, - deptId: undefined, - IDnumber: undefined, - }, - }; - }, - activated() { - if (this.id != this.$route.query.id) { - console.log(1); - - this.RoutingDataProcessing(); - this.gettabList(); - this.getvFollowup(); - this.auxiliary(); - } else { - this.tempDetpRelevanceslistform = []; - this.tempbelongWardsform = []; - } - }, - - created() { - this.RoutingDataProcessing(); - this.gettabList(); - this.getvFollowup(); - this.auxiliary(); - this.getDeptTree(); - this.mode = store.getters.mode; - console.log(this.mode,'this.mode'); - this.usable = store.getters.usable; - this.required = store.getters.required; - this.valuetype = store.getters.valuetype; - this.valuetypes = store.getters.valuetypelb; - this.askvaluetype = store.getters.askvaluetype; - this.languagelist = store.getters.languagelist; - this.courtyardlist = store.getters.courtyardlist; - this.precedencetype = store.getters.precedencetype; - this.belongWards = store.getters.belongWards; - this.belongDepts = store.getters.belongDepts; - }, - mounted() {}, - 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: { - //鍏叡鏂规硶-------------------- - getIndexInArray(arr, obj) { - return arr.indexOf(obj); - }, - processElement(element) { - return { ...element, isoperation: 0 }; - }, - // 璺敱鏁版嵁澶勭悊 - RoutingDataProcessing() { - this.id = this.$route.query.id; - this.task = this.$route.query.task; - this.queryParamsdept.tempid = this.id; - }, - // 鑾峰彇绉戝鏍� - getDeptTree() { - // 绉戝鍒楄〃 - deptTreeSelect().then((response) => { - this.deptOptions = response.data; - this.flatArray = this.flattenArray(response.data); - }); - }, - flattenArray(multiArray) { - let result = []; - - // 閫掑綊鍑芥暟锛岀敤浜庡皢澶氱骇鏁扮粍杞崲涓轰竴缁存暟缁勶紝鍙寘鍚渶搴曞眰鐨勫厓绱� - function flatten(element) { - // 濡傛灉褰撳墠鍏冪礌鏈夊瓙鍏冪礌锛岀户缁�掑綊 - if (element.children && element.children.length > 0) { - element.children.forEach((child) => flatten(child)); - } else { - // 鍏嬮殕鍏冪礌浠ラ伩鍏嶄慨鏀瑰師濮嬫暟鎹� - let item = JSON.parse(JSON.stringify(element)); - result.push(item); // 灏嗘渶搴曞眰鐨勫厓绱犳坊鍔犲埌缁撴灉鏁扮粍 - } - } - - // 浠庨《灞傚厓绱犲紑濮嬮�掑綊 - multiArray.forEach((element) => flatten(element)); - return result; // 杩斿洖鍙寘鍚渶搴曞眰鍏冪礌鐨勪竴缁存暟缁� - }, - // 鑾峰彇琛ㄥ崟鏁版嵁 - getvFollowup() { - if (this.id) { - getvFollowup({ id: this.id }).then((res) => { - if (res.code == 200) { - console.log(2211); - this.ruleForm = res.data; - if (this.ruleForm.deptNames) - console.log(this.ruleForm.suitway,'suitway'); - this.ruleForm.suitway = this.ruleForm.suitway.split(","); - console.log(this.ruleForm.suitway,'suitway'); - if (this.ruleForm.campus) - this.ruleForm.campus = this.ruleForm.campus.split(","); - this.ruleForm.submoduleID = this.ruleForm.submoduleID.split(","); - this.ruleForm.submoduleID = this.ruleForm.submoduleID.map((res) => { - return Number(res); - }); - - this.dynamicTags = this.ruleForm.ivrLibaTemplateTagList; - - this.dynamicTags = this.ruleForm.ivrLibaTemplateTagList.map( - this.processElement - ); - this.sortFn(); - } - }); - getillness({ outid: this.id, type: 3 }).then((res) => { - this.illnesslist = res.rows; - this.illnesslist.forEach((item) => { - item.icdname = item.icd10name; - }); - }); - } else { - this.ruleForm = { - templateName: "", - ivrLibaTemplateTagList: [], - ivrLibaTemplateScriptVOList: [], - tempDetpRelevances: [], - }; - this.deptOptions = []; - this.optionsillness = []; - this.illnesslistapi = []; - this.illnesslist = []; - this.dynamicTags = []; - this.tempDetpRelevanceslist = []; - } - }, - // 闄勫睘鏁版嵁琛� - auxiliary() { - // 鍒嗙被 - getFollowupclassify({}).then((res) => { - this.indexAssortlist = res.rows; - }); - this.tempDetpRelevanceslist = []; - this.tempbelongWards = []; - - if (this.id) { - depthospgetsonlist(this.queryParamsdept).then((res) => { - if (res.code == 200) { - let arr = res.rows; - console.log(arr, "arr"); - - arr.forEach((item) => { - if (item.deptType == 1) { - console.log(this.deptlist, "11"); - this.deptlist.push(item); - console.log("22"); - this.tempDetpRelevanceslist.push(item.deptCode); - } else if (item.deptType == 2) { - this.hosplist.push(item); - this.tempbelongWards.push(item.deptCode); - console.log("33"); - } - }); - } - }); - } - - // 鐤剧梾 - getillnesslist({ - pageNum: 1, - pageSize: 100, - }).then((response) => { - this.optionsillness = response.rows; - }); - getgenerallist({ - pageNum: 1, - pageSize: 100, - }).then((res) => { - this.generallist = res.rows; - }); - // 鐤剧梾鍒� - }, - // 閫夐」閰嶇疆璺宠浆瑙﹀彂 - branchFlagfn(row) { - if (this.topicobj.branchFlag == 1 && this.topicobj.nextScriptno != 0) { - this.topicobj.nextScriptno = - this.topicobj.ivrLibaScriptTargetoptionList[0].nextQuestion; - } - }, - //淇濆瓨 - submitForm(formName) { - if (this.ruleForm.id) { - this.ruleForm.isoperation = 2; - } else { - this.ruleForm.isoperation = 1; - } - if (!this.ruleForm.assortid) { - this.ruleForm.assortid = -1; - } - this.ruleForm.labelInfo = JSON.stringify(this.dynamicTags); - if (Array.isArray(this.ruleForm.suitway)) - this.ruleForm.suitway = this.ruleForm.suitway.join(","); - if (Array.isArray(this.ruleForm.campus)) - this.ruleForm.campus = this.ruleForm.campus.join(","); - if (Array.isArray(this.ruleForm.submoduleID)) - this.ruleForm.submoduleID = this.ruleForm.submoduleID.join(","); - - // 鎻愪氦 - this.ruleForm.ivrLibaTemplateScriptVOList.forEach((res) => { - if (!res.isoperation) { - res.isoperation = 2; - } - res.ivrLibaScriptTargetoptionList = - res.ivrLibaScriptTargetoptionList.map((item) => { - if (!item.isoperation) { - item.isoperation = 2; - item.templateID = this.ruleForm.id; - } - return item; - }); - }); - this.delScriptVOList.forEach((item) => { - this.ruleForm.ivrLibaTemplateScriptVOList.push(item); - }); - // compileFollowup(this.ruleForm).then((res) => { - // if (res.code == 200) { - // this.$modal.msgSuccess("缂栬緫鎴愬姛"); - // this.$modal.closeLoading(); - // this.confirmillness(res.data); - // // window.location.reload(); - // // const obj = { path: "/knowledge/tpuconfigurat/?id=" + this.id }; - // // this.$tab.closeOpenPage(obj); - // } else { - // this.$modal.msgError("淇濆瓨澶辫触"); - // this.$modal.closeLoading(); - // } - // }); - if (this.id) { - this.ruleForm.isoperation = 2; - this.ruleForm.tempDetpRelevances = []; - compileFollowup(this.ruleForm).then((res) => { - if (res.code == 200) { - this.$modal.msgSuccess("淇敼鎴愬姛"); - this.confirmillness(); - this.putbelongDepts(this.id); - // this.$modal.closeLoading(); - // this.$router.go(-1); - window.location.reload(); - } else { - this.$modal.closeLoading(); - } - }); - } else { - this.ruleForm.isoperation = 1; - this.ruleForm.version = this.ruleForm.version - ? this.ruleForm.version - : "1.0"; - this.ruleForm.tempDetpRelevances = []; - compileFollowup(this.ruleForm).then((res) => { - if (res.code == 200) { - this.$modal.msgSuccess("鏂板鎴愬姛"); - this.confirmillness(res.data); - this.putbelongDepts(res.data); - this.$modal.closeLoading(); - this.$router.go(-1); - } else { - this.$modal.closeLoading(); - } - }); - } - }, - confirmillness(guid) { - this.illnesslist.forEach((item, index) => { - if (guid) { - item.outid = guid; - } else { - console.log(this.ruleForm); - item.outid = this.ruleForm.id; - } - item.icd10name = item.icdname; - item.icd10code = item.icdcode; - item.type = 3; - if (!item.id) { - addtargetillness(item).then((res) => {}); - } - }); - this.illnessVisible = false; - this.$modal.msgSuccess("缂栬緫鎴愬姛"); - }, - // 绉戝澶勭悊 - Departmenttreatment() { - this.$modal.loading("姝e湪淇淇濆瓨鏁版嵁锛岃绋嶅��..."); - this.tempDetpRelevanceslist.forEach((item) => { - let result = this.deptlist.some((obj) => obj.deptCode == item); - - if (!result) { - this.tempDetpRelevanceslistform.push({ - deptType: 1, - longTemp: this.ruleForm.longTemp, - deptCode: item, - tempid: this.id, - type: 2, - }); - } - }); - this.tempbelongWards.forEach((item) => { - let result = this.hosplist.some((obj) => obj.deptCode == item); - if (!result) { - this.tempbelongWardsform.push({ - deptType: 2, - longTemp: this.ruleForm.longTemp, - deptCode: item, - tempid: this.id, - type: 2, - // 1 : 闂嵎妯℃澘搴搃d銆�11锛氶棶鍗蜂换鍔℃ā鏉垮簱id锛�2 :璇煶闂嵎搴搃d銆�21锛氳闊充换鍔℃ā鏉垮簱id锛�3 : 瀹f暀妯℃澘搴搃d锛�33锛氬鏁欎换鍔℃ā鏉垮簱id - }); - } - }); - setTimeout(() => { - this.submitForm(); - }, 1000); - // this.submitForm(); - }, - // 淇濆瓨绉戝/鐥呭尯 - putbelongDepts(id) { - this.tempDetpRelevanceslistform.forEach((item) => { - if (!item.tempid) item.tempid = id; - }); - - this.tempbelongWardsform.forEach((item) => { - if (!item.tempid) item.tempid = id; - }); - if (this.tempDetpRelevanceslistform.length > 0) { - depthospgetson(this.tempDetpRelevanceslistform).then((res) => { - if (res.code == 200) { - this.$modal.msgSuccess("绉戝鏂板鎴愬姛"); - } - }); - } - if (this.tempbelongWardsform.length > 0) { - depthospgetson(this.tempbelongWardsform).then((res) => { - if (res.code == 200) { - this.$modal.msgSuccess("闄㈠尯鏂板鎴愬姛"); - } - }); - } - }, - // 涓嬩竴姝� - nextstep() { - if (this.Editprogress <= 2) { - return this.Editprogress++; - } - }, - // 涓婁竴姝� - laststep() { - this.Editprogress = this.Editprogress - 1; - }, - // 鍏抽棴 - closeFm() { - this.$confirm("閫�鍑轰笉浼氫繚鐣欓〉闈㈠唴瀹规洿鏀�, 鏄惁缁х画?", "鎻愮ず", { - confirmButtonText: "纭畾", - cancelButtonText: "鍙栨秷", - type: "warning", - }) - .then(() => { - const obj = { path: "/knowledge/templateku/" }; - this.$tab.closeOpenPage(obj); - }) - .catch(() => { - this.$message({ - type: "info", - message: "宸插彇娑�", - }); - }); - }, - //鎺у埗璇煶鏂囦欢(鏂�) - handleChange(response, file, additionalParam) { - console.log(response); - console.log(additionalParam); - if (additionalParam == 1) { - this.indexform.ivrVoice = response.url; - } else if (additionalParam == 2) { - this.indexform.nomatchvoice = response.url; - } else if (additionalParam == 3) { - this.indexform.sliencevoice = response.url; - } else if (additionalParam == 4) { - this.indexform.noclearlyvoice = response.url; - } - this.$forceUpdate(); - }, - //鎺у埗璇煶鏂囦欢 - handleChanges(response, file, additionalParam) { - console.log(response); - console.log(additionalParam); - if (additionalParam == 1) { - this.topicobj.ivrVoice = response.url; - } else if (additionalParam == 2) { - this.topicobj.nomatchvoice = response.url; - } else if (additionalParam == 3) { - this.topicobj.sliencevoice = response.url; - } else if (additionalParam == 4) { - this.topicobj.noclearlyvoice = response.url; - } - this.$forceUpdate(); - }, - // 鏂囦欢瓒呭嚭涓暟闄愬埗鏃剁殑閽╁瓙 - handleExceed(files, fileList) { - this.$message.warning( - `褰撳墠闄愬埗閫夋嫨 1 涓枃浠讹紝鏈閫夋嫨浜� ${files.length} 涓枃浠讹紝鍏遍�夋嫨浜� ${ - files.length + fileList.length - } 涓枃浠禶 - ); - }, - // 鏍囩----------------- - gettabList() { - const tagqueryParams = { - pageNum: 1, - pageSize: 1000, - tagcategoryid: "0", - }; - listtag(tagqueryParams).then((response) => { - this.optionstag = response.rows; - }); - }, - handleClosetag(tag) { - const lindex = this.dynamicTags.indexOf(tag); - this.dynamicTags.splice(this.dynamicTags.indexOf(tag), 1); - this.ruleForm.ivrLibaTemplateTagList[lindex].isoperation = 3; - }, - handleInputConfirm() { - let tagvalue = {}; - let tagname = this.inputValue; - if (tagname) { - listtag({ - pageNum: 1, - pageSize: 1000, - tagcategoryid: "0", - tagname: tagname, - }).then((res) => { - if (res.rows[0]) { - tagvalue = res.rows[0]; - tagvalue.isoperation = 1; - } else { - tagvalue = { - tagname: tagname, - isoperation: 1, - }; - } - const exists = this.dynamicTags.some( - (department) => department.tagname === tagname - ); - if (exists) { - this.$modal.msgError("鏍囩閲嶅"); - return; - } - this.ruleForm.ivrLibaTemplateTagList.push(tagvalue); - this.dynamicTags.push(tagvalue); - }); - } - this.inputVisible = false; - this.inputValue = ""; - }, - remoteMethodtag(query) { - if (query !== "") { - this.loading = true; - setTimeout(() => { - this.loading = false; - listtag({ tagname: query, tagcategoryid: "0" }).then((res) => { - this.optionstag = res.rows; - }); - }, 200); - } else { - this.optionstag = []; - } - }, - showInput() { - this.inputVisible = true; - }, - //璇濇湳棰樼洰---------------- - addzbiao() {}, - resetQuery() { - this.queryParams = { pageNum: 1, pageSize: 10 }; - this.getaddtopiclist(); - }, - getaddtopiclist() { - this.drawer = true; - getverbaltricklist(this.queryParams).then((res) => { - this.loading = false; - this.userList = res.rows; - this.total = res.total; - console.log(this.userList); - }); - }, - addtopic(row) { - if ( - this.ruleForm.ivrLibaTemplateScriptVOList.some( - (obj) => obj.scriptTopic == row.scriptTopic - ) - ) { - this.$modal.msgError("璇ラ鐩凡瀛樺湪"); - return; - } - getverbaltrick({ id: row.id }).then((res) => { - console.log(res, "璇︽儏"); - res.data.isoperation = 1; - res.data.pid = this.ruleForm.id; - res.data.ivrLibaScriptTargetoptionList.forEach((item) => { - item.isoperation = 1; - }); - this.ruleForm.ivrLibaTemplateScriptVOList.push(res.data); - this.sortFn(); - this.$modal.msgSuccess("娣诲姞鎴愬姛"); - }); - }, - handleDelete(row) { - this.$modal - .confirm('鏄惁纭鍒犻櫎闂锛�"' + row.scriptTopic + '?') - .then(() => { - this.ruleForm.ivrLibaTemplateScriptVOList.splice( - this.ruleForm.ivrLibaTemplateScriptVOList.indexOf(row), - 1 - ); - row.isoperation = 3; - if (row.id) { - this.delScriptVOList.push(row); - } - this.sortFn(); - this.$modal.msgSuccess("宸插垹闄わ紝淇濆瓨妯℃澘鐢熸晥"); - }) - .catch(() => {}); - }, - handleUpdate(row) { - console.log(row); - this.optionIndex = this.ruleForm.ivrLibaTemplateScriptVOList.indexOf(row); - if (row.ivrLibaScriptTargetoptionList.length) { - console.log(11); - this.topicobj = row; - this.topicobj.valueType = row.valueType; - } else { - getverbaltrick({ id: row.id }).then((res) => { - if (res.data) { - this.topicobj = res.data; - console.log(res.data, "topicobj"); - } else { - this.topicobj = row; - console.log("娌℃壘鍒伴�夐」锛岃鏌ョ湅闂搴撴槸鍚︽纭厤缃�"); - } - }); - } - }, - syioption(row) { - const index = this.getIndexInArray( - this.ruleForm.ivrLibaTemplateScriptVOList, - row - ); - const item = this.ruleForm.ivrLibaTemplateScriptVOList.splice( - index, - 1 - )[0]; // 绉婚櫎鎸囧畾绱㈠紩澶勭殑鍏冪礌锛屽苟淇濆瓨鍒癷tem鍙橀噺涓� - this.ruleForm.ivrLibaTemplateScriptVOList.splice(index - 1, 0, item); // 灏唅tem鎻掑叆鍒扮储寮曚綅缃殑鍓嶄竴浣� - this.sortFn(); - }, - xiayioption(row) { - const index = this.getIndexInArray( - this.ruleForm.ivrLibaTemplateScriptVOList, - row - ); - const item = this.ruleForm.ivrLibaTemplateScriptVOList.splice( - index, - 1 - )[0]; // 绉婚櫎鎸囧畾绱㈠紩澶勭殑鍏冪礌锛屽苟淇濆瓨鍒癷tem鍙橀噺涓� - this.ruleForm.ivrLibaTemplateScriptVOList.splice(index + 1, 0, item); // 灏唅tem鎻掑叆鍒扮储寮曚綅缃殑鍓嶄竴浣� - this.sortFn(); - }, - // 闂鎺掑簭 - sortFn() { - console.log(this.ruleForm.ivrLibaTemplateScriptVOList); - - this.ruleForm.ivrLibaTemplateScriptVOList.forEach((item, index) => { - item.sort = Number(index) + 1; - console.log(this.ruleForm.ivrLibaTemplateScriptVOList.length); - console.log(item.sort); - - if (item.sort == this.ruleForm.ivrLibaTemplateScriptVOList.length) { - item.nextScriptno = 0; - } else { - item.nextScriptno = item.sort + 1; - } - if (item.ivrLibaScriptTargetoptionList&&!item.branchFlag) { - item.ivrLibaScriptTargetoptionList.forEach((items) => { - items.nextQuestion = Number(item.sort) + 1; - }); - } - }); - this.$forceUpdate(); - - console.log(this.ruleForm.ivrLibaTemplateScriptVOList); - }, - // -----------------------璇濇湳閫夐」 - deloption(item) { - const index = this.topicobj.ivrLibaScriptTargetoptionList.indexOf(item); - if (index != -1) { - if (item.id) { - console.log(item, "chunz"); - item.isoperation = 3; - console.log(this.topicobj.ivrLibaScriptTargetoptionList); - this.$forceUpdate(); - } else { - this.topicobj.ivrLibaScriptTargetoptionList.splice(index, 1); // 浠庣储寮曚綅缃垹闄や竴涓厓绱� - } - // this.sortFn(); - } else { - console.log("鏈壘鍒拌瀵硅薄"); - } - }, - // 淇敼棰樼洰淇℃伅 - Submittopicobj() { - this.$modal - .confirm( - '鏄惁纭鏂板鍚嶇О涓�"' + this.indexform.scriptTopic + '"鐨勯棶棰樻暟鎹紵' - ) - .then(() => { - this.indexform.isoperation = 1; - this.indexform.pid = this.ruleForm.id; - this.indexform.ivrLibaScriptTargetoptionList.forEach((item) => { - item.isoperation = 1; - }); - this.ruleForm.ivrLibaTemplateScriptVOList.push(this.indexform); - this.indexform = { - ivrLibaScriptTargetoptionList: [], - }; - this.drawer = false; - - this.sortFn(); - this.$modal.msgSuccess("棰樼洰鏂板鎴愬姛锛屼繚瀛樻ā鏉跨敓鏁�"); - }); - }, - - // --------------------- - resetForm(formName) { - this.$refs[formName].resetFields(); - }, - // 绉戝鍒犻櫎瑙﹀彂 - removetag(row) { - let result = this.deptlist - .filter((item) => item.deptCode == row) - .map((item) => item.id); - console.log(result.length); - if (result.length) { - depthospgetsondel(result).then((res) => { - if (res.code) { - } - }); - } - }, - // 鍒犻櫎鍒犻櫎瑙﹀彂 - removehpsp(row) { - let result = this.hosplist - .filter((item) => item.deptCode == row) - .map((item) => item.id); - if (result.length) { - depthospgetsondel(result).then((res) => { - if (res.code) { - } - }); - } - }, - // 棰勮--------------- - preview() { - console.log(this.ruleForm); - this.valssu = this.ruleForm.ivrLibaTemplateScriptVOList; - this.Editprogress = 3; - }, - // 鍓嶅線娴嬭瘯 - measurement() { - this.$modal - .confirm("鍗冲皢鍓嶅線妯℃澘娴嬭瘯椤甸潰锛岃纭妯℃澘鏁版嵁宸蹭繚瀛樸��") - .then((res) => { - this.$router.push({ - path: "/knowledge/templateku/configurat/measurement", - query: { - id: this.id, - name: this.ruleForm.templateName, - timeout: this.ruleForm.silencetime, - }, - }); - }) - .catch(() => {}); - }, - // 鏂板缓妯℃澘涓复鏃堕鐩� - // 棰樼洰绫诲瀷鏇存崲 - typeselection(row) { - if (row == 1 && !this.indexform.ivrLibaScriptTargetoptionList.length) { - this.indexform.ivrLibaScriptTargetoptionList.push({ - guid: 1, - isoperation: 1, - targetvalue: "", - targetregex: "", - targetregex2: "", - dynamiccruxs: [], - nodynamiccruxs: [], - dynamiccruxsJson: "", - nodynamiccruxsJson: "", - }); - } - this.$forceUpdate(); - }, - addoptionson() { - this.indexform.ivrLibaScriptTargetoptionList.push({ - guid: 1, - isoperation: 1, - targetvalue: "", - targetregex: "", - targetregex2: "", - dynamiccruxs: [], - nodynamiccruxs: [], - dynamiccruxsJson: "", - nodynamiccruxsJson: "", - }); - }, - }, -}; -</script> - -<style lang="scss" scoped> -.Questionnairemanagement { - // display: flex; -} -.sidecolumn { - margin: 20px; - margin-bottom: 0; - 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); -} -.leftvlue { - // display: flex; - // flex: 1; - // width: 80%; - margin: 20px; - padding: 30px; - background: #ffff; - border: 1px solid #dcdfe6; - -webkit-box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.12), - 0 0 6px 0 rgba(0, 0, 0, 0.04); - .mulsz { - font-size: 20px; - } - .leftvlue-jbxx { - font-size: 24px; - border-left: 5px solid #41a1be; - padding-left: 5px; - margin: 15px 0; - } - .demo-cascader { - margin-right: 20px; - } - .PreviewTemplate { - color: #02a7f0; - cursor: pointer; - font-size: 20px; - margin: 0 20px; - } -} -.preview-left { - margin: 20px; - // margin: 20px; - padding: 30px; - background: #ffff; - border: 1px solid #dcdfe6; - -webkit-box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.12), - 0 0 6px 0 rgba(0, 0, 0, 0.04); - .scriptTopic-dev { - margin-bottom: 25px; - font-size: 20px !important; - .dev-text { - margin-bottom: 10px; - } - } - .headline { - display: flex; - justify-content: space-between; - font-size: 20px; - border-left: 3px solid #41a1be; - padding-left: 5px; - margin: 15px 0; - } - .topicxq { - background-color: #e2f5fc; - border-radius: 4px; - margin-top: 10px; - padding-left: 10px; - padding-top: 15px; - } -} -.xinz-inf { - font-size: 18px; - white-space: nowrap; - overflow: hidden; - text-overflow: ellipsis; - - line-height: 48px; - - .el-tag + .el-tag { - margin-left: 10px; - } - .button-new-tag { - margin-left: 10px; - height: 32px; - line-height: 30px; - padding-top: 0; - padding-bottom: 0; - } - .input-new-tag { - width: 90px; - margin-left: 10px; - vertical-align: bottom; - } -} - -.xinz-infs { - font-size: 18px; - line-height: 48px; - - .el-tag + .el-tag { - margin-left: 10px; - } -} -.addtopic { - margin-top: 30px; -} -.presentation { - margin: 20px 0; - display: flex; - .presentation-left { - width: 45%; - // height: 500px; - .button-textxg { - color: #024df0; - } - .button-textsc { - color: #f52727; - } - } - .spresentation-left { - width: 100%; - // height: 500px; - .button-textxg { - color: #024df0; - } - .button-textsc { - color: #f52727; - } - } - .presentation-right { - width: 55%; - max-height: 688px; - margin: 0 20px; - font-size: 18px; - -webkit-box-shadow: 0 2px 4px 0 rgba(32, 32, 32, 0.12), - 0 0 6px 0 rgba(58, 57, 57, 0.04); - overflow: auto; - .headline { - display: flex; - justify-content: space-between; - font-size: 20px; - border-left: 3px solid #41a1be; - padding-left: 5px; - margin: 15px 0; - } - .topicxq { - background-color: #e2f5fc; - border-radius: 4px; - margin-top: 10px; - padding-left: 10px; - padding-top: 15px; - } - } -} -::v-deep .addtopic-input { - input { - background: #02a7f0; - color: #edf1f7; - width: 150px; - } -} -::v-deep.el-step.is-vertical .el-step__title { - font-size: 20px; -} -::v-deep.el-input--medium { - font-size: 18px !important; -} -::v-deep.ruleFormaa.el-select { - display: inline-block; - position: relative; - width: 700px; -} -.el-select__tags { - font-size: 20px; - max-width: 888px !important; -} -::v-deep.el-radio__inner { - width: 22px; - height: 22px; -} -// ::v-deep.topic-dev.el-radio__label { -// font-size: 24px; -// } -::v-deep.el-radio-group { - span { - font-size: 20px; - } -} -::v-deep.el-checkbox-group { - span { - font-size: 20px; - } -} -// ::v-deep.el-form-item--medium .el-form-item__content { -// line-height: 36px; -// display: flex; -// } -</style> diff --git a/src/views/repositoryai/templateku/configurat/measurement.vue b/src/views/repositoryai/templateku/configurat/measurement.vue deleted file mode 100644 index d9fc2a2..0000000 --- a/src/views/repositoryai/templateku/configurat/measurement.vue +++ /dev/null @@ -1,366 +0,0 @@ -<template> - <!-- 鑱婅繛椤甸潰璁板綍 --> - <div class="Followupdetailspage"> - <div> - <el-card class="box-card"> - <div slot="header" class="clearfix"> - <span>{{ TemplateName }}</span> - <el-button - style="float: right; padding: 3px 0; color: red" - type="text" - @click="$router.go(-1)" - >閫�鍑烘祴璇�</el-button - > - <el-button - style="float: right; padding: 3px 0; margin-right: 10px" - type="text" - @click="drawer = true" - >鏌ョ湅鍖归厤缁撴灉</el-button - > - </div> - <div class="borderdiv"> - <div v-for="item in Answerline"> - <div class="leftside" v-if="item.isEat == 1"> - <i class="el-icon-phone-outline"></i><span>{{ item.value }}</span> - </div> - <div class="offside" v-else-if="item.isEat == 2"> - <i class="el-icon-user"></i> - <div class="offside-value"> - <el-input :disabled="true" v-model="item.value"></el-input> - </div> - </div> - <div class="offside" v-else-if="item.isEat == 3"> - <i class="el-icon-user"></i> - <div class="offside-value"> - <el-input v-model="item.value"></el-input> - <el-radio v-model="radio" label="1">澶囬�夐」</el-radio> - <el-radio v-model="radio" label="2">澶囬�夐」2</el-radio> - <el-radio v-model="radio" label="3">澶囬�夐」3</el-radio> - <el-radio v-model="radio" label="4">澶囬�夐」4</el-radio> - </div> - </div> - </div> - </div> - <div style="margin-top: 15px"> - <el-input - placeholder="璇疯緭鍏ュ唴瀹�" - @keyup.enter.native="sendFn" - v-model="answer" - > - <el-button - style="background-color: #7799fa; color: #ffff; border: 0" - @click="sendFn" - slot="append" - type="primary" - >鍙戦��</el-button - > - </el-input> - </div> - </el-card> - <el-drawer title="鍖归厤缁撴灉" :visible.sync="drawer" direction="rtl"> - <div class="preview-left"> - <!-- 鍗曢�� --> - <div - class="topic-dev" - v-for="(item, index) in questionList" - :key="item.aaa" - > - <div class="dev-text"> - {{ index + 1 }}銆�<span>{{ item.scriptContent }}</span> - </div> - - <div class="dev-xx" v-if="item.valueType == 1"> - <el-radio-group v-model="item.radio"> - <el-radio - v-for="(items, index) in item.ivrLibaScriptTargetoptionList" - :key="items.id" - :label="items.id" - >{{ items.targetvalue }}</el-radio - > - </el-radio-group> - </div> - <div v-else> - <el-input - type="textarea" - placeholder="鏈幏鍙栧埌淇℃伅" - v-model.sync="item.questionResult" - :rows="2" - /> - </div> - </div> - </div> - </el-drawer> - </div> - </div> -</template> - -<script> -import { - sendWebsocket, - websocketSend, - closeWebsocket, -} from "@/websocket/websocket.js"; -import store from "@/store"; -export default { - data() { - return { - answer: "", //鍥炵瓟 - id: null, - TemplateName: "闅忚妯℃澘鍚嶇О", //妯℃澘鍚� - radio: "1", - userid: "", - input: "杩樹笉閿�", - drawer: false, - radio: "2", - code: "", - timeout: "5", - Answerline: [], - questionList: [], - }; - }, - - created() { - this.TemplateName = this.$route.query.name; - this.userid = store.getters.Id; - console.log(store.getters.Id,'11'); - - this.requstWs(); //杩涘叆椤甸潰鍒涘缓杩炴帴 - }, - mounted() { - // 鑾峰彇class涓篵orderdiv鐨勫厓绱� - const borderdiv = document.querySelector(".borderdiv"); - - // 鍒涘缓涓�涓狹utationObserver瀹炰緥锛岀敤浜庣洃鍚厓绱犵殑鍙樺寲 - const observer = new MutationObserver(() => { - // 褰撳厓绱犻珮搴﹀彉鍖栨椂锛屽皢婊氬姩鏉℃粴鍔ㄥ埌鏈�涓嬫柟 - borderdiv.scrollTop = borderdiv.scrollHeight; - }); - - // 閰嶇疆MutationObserver瀹炰緥鐨勮瀵熺洰鏍囧拰瑙傚療閫夐」 - observer.observe(borderdiv, { - attributes: true, - childList: true, - subtree: true, - }); - - // 褰撲笉鍐嶉渶瑕佺洃鍚椂锛屽彲浠ヤ娇鐢╠isconnect鏂规硶鍋滄瑙傚療 - // observer.disconnect(); - }, - - methods: { - // 寤虹珛杩炴帴 - requstWs(message, next, file) { - console.log("杩炴帴"); - this.id = this.$route.query.id; - this.timeout = this.$route.query.timeout; - // 闃叉鐢ㄦ埛澶氭杩炵画鐐瑰嚮鍙戣捣璇锋眰锛屾墍浠ヨ鍏堝叧闂笂娆$殑ws璇锋眰銆� - closeWebsocket(); - console.log(this.id); - const obj = { - type: "text", - userId: this.userid, - templateId: this.id, - content: null, - }; - // 鍙戣捣ws璇锋眰 - sendWebsocket( - "ws://9.208.2.190:8095/chat?userId="+this.userid, - obj, - this.wsMessage, - this.wsError - ); - }, - // 鎺ユ敹ws杩斿洖鐨勬暟鎹� - wsMessage(data) { - let dataJson = data; - let timerId = null; - dataJson = JSON.parse(dataJson); - dataJson = JSON.parse(dataJson); - console.log(dataJson, "鏁版嵁"); - // 棣栨鎺ユ敹鏁版嵁 - // if (!this.Answerline[0]) { - // this.Answerline.push({ - // value: dataJson.kcb, - // isEat: 1, - // }); - // } - - - - // 浼樺厛鍔犲叆閫氱敤搴撳尮閰嶆枃鏈� - if (dataJson.nowQuestion.submoduleText) { - this.Answerline.push({ - value: dataJson.nowQuestion.submoduleText, - isEat: 1, - }); - } - // 鏄惁缁撴潫 - if (dataJson.jsy) { - this.Answerline.push({ - value: dataJson.jsy, - isEat: 1, - }); - } else if (dataJson.nowQuestion.scriptContent) { - this.Answerline.push({ - value: dataJson.nowQuestion.scriptContent, - isEat: 1, - }); - } - this.questionList = dataJson.questionList; - this.questionList = this.questionList.map((item) => { - item.ivrLibaScriptTargetoptionList.forEach((row) => { - if (row.isUserOperation) { - item.radio = row.id; - } - }); - return item; - }); - if (!dataJson.jsy) { - timerId = setTimeout(() => { - if (!this.answer) { - this.sendFn(); // 鍚庤皟鐢� - } - }, this.timeout * 1000); - }else{ - clearTimeout(timerId) - } - console.log(this.questionList); - - // IMUI.appendMessage(data); - }, - //ws閿欒鍥炶皟 - wsError(data) { - console.log(data); - }, - - sendFn() { - console.log("鍙戦��"); - - // 娑堟伅鍙戦�� - const obj = { - type: "text", - userId: this.userid, - templateId: "", - questionMessage: { content: this.answer }, - }; - console.log(obj, "鍏ュ弬"); - // 鍙戣捣ws璇锋眰 - sendWebsocket( - "ws://9.208.2.190:8095/chat?userId="+this.userid, - obj, - this.wsMessage, - this.wsError - ); - this.Answerline.push({ - value: this.answer, - isEat: 2, - }); - this.answer = ""; - }, - }, -}; -</script> - -<style lang="scss" scoped> -.Followupdetailspage { - margin: 10px; -} -.Followuserinfo { - margin: 20px 10px; - align-items: center; - padding: 30px; - background: #ffff; - border: 1px solid #dcdfe6; - -webkit-box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.12), - 0 0 6px 0 rgba(0, 0, 0, 0.04); - .userinfo-text { - font-size: 20px; - margin-right: 20px; - margin-bottom: 10px; - } - .userinfo-value { - color: rgb(15, 139, 211); - span { - margin-right: 20px; - } - } -} -.borderdiv { - height: 100vh; - font-size: 20px; - padding: 30px; - max-height: 700px; - overflow: auto; - .leftside { - margin-bottom: 30px; - max-width: 566px; - margin-left: 20px; - padding: 10px; - color: #fff; - background: rgb(110, 196, 247); - border-radius: 10px; - span { - word-wrap: break-word; - } - } - .offside { - display: flex; - flex-direction: row-reverse; - margin-bottom: 10px; - .offside-value { - padding: 10px; - background: rgb(217, 173, 253); - border-radius: 10px; - color: #fff; - margin-right: 20px; - } - } -} -.preview-left { - margin: 20px; - // margin: 20px; - padding: 30px; - background: #ffff; - border: 1px solid #dcdfe6; - -webkit-box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.12), - 0 0 6px 0 rgba(0, 0, 0, 0.04); - .topic-dev { - margin-bottom: 25px; - font-size: 20px !important; - .dev-text { - margin-bottom: 10px; - } - } -} -::v-deep.offside-value .el-radio__label { - color: #fff; -} -::v-deep.el-input.is-disabled .el-input__inner { - background-color: #fff; - border-color: #dfe4ed; - color: #000; - cursor: not-allowed; -} -.mulsz { - font-size: 25px; - margin-top: 20px; -} -.text { - font-size: 14px; -} - -.item { - margin-bottom: 18px; -} -.clearfix { - font-size: 20px; -} -.clearfix:before, -.clearfix:after { - display: table; - content: ""; -} -.clearfix:after { - clear: both; -} -</style> diff --git a/src/views/repositoryai/templateku/configurat/taskub.vue b/src/views/repositoryai/templateku/configurat/taskub.vue deleted file mode 100644 index d3807f1..0000000 --- a/src/views/repositoryai/templateku/configurat/taskub.vue +++ /dev/null @@ -1,2531 +0,0 @@ -<template> - <div class="Questionnairemanagement"> - <!-- 宸︿晶鏍� --> - <div class="sidecolumn"> - <div> - <el-steps finish-status="success" :active="Editprogress" simple> - <el-step> - <template slot="title"> - <span style="cursor: pointer" @click="Editprogress = 1" - >鍩虹淇℃伅</span - > - </template> - </el-step> - <el-step> - <template slot="title"> - <span style="cursor: pointer" @click="Editprogress = 2" - >闅忚妯℃澘棰樼洰</span - > - </template> - </el-step> - <el-step description="鏌ョ湅闅忚妯℃澘棰勮锛屽彲瀵煎嚭PDF"> - <template slot="title"> - <span style="cursor: pointer" @click="preview">闅忚妯℃澘棰勮</span> - </template> - </el-step> - </el-steps> - </div> - </div> - <!-- 鍙充晶鏁版嵁 --> - <div class="leftvlue"> - <!-- 鍩烘湰淇℃伅 --> - <div v-if="Editprogress == 1"> - <div class="leftvlue-jbxx">鍩烘湰淇℃伅</div> - <el-divider></el-divider> - <el-form - :model="ruleForm" - :rules="rules" - ref="ruleForm" - label-width="120px" - class="demo-ruleForm" - > - <el-row> - <el-col :span="12"> - <el-form-item label="妯℃澘鍚嶇О" prop="region"> - <div> - <el-input - v-model="ruleForm.templateName" - placeholder="璇疯緭鍏ュ悕绉�" - ></el-input> - </div> - </el-form-item> - </el-col> - <el-col :span="12"> - <el-form-item label="闅忚妯℃澘鍒嗙被" prop="region"> - <el-select - v-model="ruleForm.assortid" - size="medium" - filterable - placeholder="璇烽�夋嫨鍒嗙被" - > - <el-option-group - v-for="group in indexAssortlist" - :key="group.id" - :label="group.indexAssortName" - > - <el-option - v-for="item in group.ivrLibaTemplateAssortList" - :key="item.id" - :label="item.indexAssortName" - :value="item.id" - > - </el-option> - </el-option-group> - </el-select> - </el-form-item> - </el-col> - </el-row> - <el-row> - <el-col :span="12"> - <el-form-item label="妯℃澘绠�浠�" prop="note"> - <div> - <el-input - type="textarea" - placeholder="璇疯緭鍏ョ畝浠�" - v-model="ruleForm.note" - ></el-input> - </div> - </el-form-item> - </el-col> - </el-row> - - <el-row :gutter="20"> - <el-col :span="12"> - <el-form-item label="鐗堟湰鍙�" prop="version"> - <el-input - style="width: 220px" - v-model="ruleForm.version" - placeholder="榛樿1.0.1" - ></el-input> </el-form-item - ></el-col> - <el-col :span="12"> - <el-form-item label="鍙敤鐘舵��" prop="region"> - <el-select - v-model="ruleForm.isenable" - size="medium" - placeholder="璇烽�夋嫨" - > - <el-option - class="ruleFormaa" - v-for="item in usable" - :key="item.value" - :label="item.label" - :value="item.value" - > - </el-option> - </el-select> </el-form-item - ></el-col> - </el-row> - - <el-row :gutter="20"> - <el-col :span="12"> - <el-form-item label="璇█" prop="name"> - <el-select - v-model="ruleForm.language" - size="medium" - filterable - placeholder="璇烽�夋嫨璇█" - > - <el-option - class="ruleFormaa" - v-for="item in languagelist" - :key="item.label" - :label="item.label" - :value="item.label" - > - </el-option> - </el-select> </el-form-item - ></el-col> - <el-col :span="12"> - <el-form-item label="鎾姤浼樺厛" prop="playType"> - <el-select - v-model="ruleForm.playType" - size="medium" - filterable - placeholder="璇烽�夋嫨璇█" - > - <el-option - class="ruleFormaa" - v-for="item in precedencetype" - :key="item.value" - :label="item.label" - :value="item.value" - > - </el-option> - </el-select> </el-form-item - ></el-col> - </el-row> - <el-form-item label="闅忚鏂瑰紡" prop="region"> - <el-select - style="width: 500px" - v-model="ruleForm.suitway" - size="medium" - multiple - filterable - placeholder="璇烽�夋嫨鍒嗙被锛堝閫夛級" - > - <el-option - class="ruleFormaa" - v-for="item in mode" - :key="item.value" - :label="item.label" - :value="item.value" - > - </el-option> - </el-select> - </el-form-item> - <el-form-item label="鏍囩" prop="desc"> - <div class="xinz-inf"> - <el-tag - :key="tag.tagname" - type="success" - v-for="tag in dynamicTags" - closable - :disable-transitions="false" - @close="handleClosetag(tag)" - > - {{ tag.tagname }} - </el-tag> - <el-select - v-model="inputValue" - v-if="inputVisible" - @change="handleInputConfirm" - filterable - remote - allow-create - reserve-keyword - default-first-option - :remote-method="remoteMethodtag" - :loading="loading" - placeholder="璇烽�夋嫨" - > - <el-option - v-for="item in optionstag" - :key="item.tagid" - :label="item.tagname" - :value="item.tagname" - > - </el-option> - </el-select> - <el-button - v-else - class="button-new-tag" - size="small" - @click="showInput" - >+ 鏂板鏍囩</el-button - > - </div> - </el-form-item> - <div class="xinz-infs"> - <el-form-item label="閫傜敤鐤剧梾" prop="region"> - <el-tag - v-for="tag in displayedTags" - :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> - <div style="margin-left: 120px; margin-bottom: 10px"> - <el-button type="warning" @click="$refs.child.handleAddpatient()" - >鐤剧梾璇︽儏</el-button - > - </div> - <el-form-item label="閫傜敤閫氱敤搴�" prop="region"> - <el-select - style="width: 500px" - v-model="ruleForm.submoduleID" - size="medium" - multiple - filterable - placeholder="璇烽�夋嫨閫氱敤搴�" - > - <el-option - class="ruleFormaa" - v-for="item in generallist" - :key="item.id" - :label="item.extName" - :value="item.id" - > - </el-option> - </el-select> - </el-form-item> - <el-form-item label="閫傜敤闄㈠尯" prop="region"> - <el-select - style="width: 500px" - v-model="ruleForm.campus" - size="medium" - multiple - filterable - placeholder="璇烽�夋嫨鍒嗙被" - > - <el-option - class="ruleFormaa" - v-for="item in courtyardlist" - :key="item.label" - :label="item.label" - :value="item.label" - > - </el-option> - </el-select> - </el-form-item> - <el-row> - <el-col :span="20" - ><el-form-item label="閫傜敤绉戝" prop="region"> - <el-select - v-model="tempDetpRelevanceslist" - @remove-tag="removetag" - style="width: 55vw" - size="medium" - multiple - filterable - placeholder="璇烽�夋嫨绉戝" - > - <el-option - class="ruleFormaa" - v-for="item in flatArray" - :key="item.deptCode" - :label="item.label" - :value="item.deptCode" - > - </el-option> - </el-select> </el-form-item - ></el-col> - </el-row> - <el-row> - <el-col :span="20" - ><el-form-item label="閫傜敤鐥呭尯" prop="region"> - <el-select - v-model="tempbelongWards" - @remove-tag="removehpsp" - style="width: 55vw" - size="medium" - multiple - filterable - placeholder="璇烽�夋嫨绉戝" - > - <el-option - class="ruleFormaa" - v-for="item in flatArray" - :key="item.deptCode" - :label="item.label" - :value="item.deptCode" - > - </el-option> - </el-select> </el-form-item - ></el-col> - </el-row> - <el-row> - <el-col :span="12" - ><el-form-item label="寮�鍦虹櫧" prop="revisitBefore"> - <el-input - type="textarea" - :rows="3" - v-model="ruleForm.revisitBefore" - placeholder="璇疯緭鍏ュ紑鍦虹櫧" - /> </el-form-item - ></el-col> - <el-col :span="12" - ><el-form-item label="缁撴潫璇�" prop="revisitAfter"> - <el-input - type="textarea" - :rows="3" - v-model="ruleForm.revisitAfter" - placeholder="璇疯緭鍏ョ粨鏉熻" - /> </el-form-item - ></el-col> - </el-row> - - <el-row :gutter="20"> - <el-col :span="8"> - <el-form-item label="闈欓粯鏃堕棿(绉�)" prop="name"> - <div style="width: 40%"> - <el-input - v-model="ruleForm.silencetime" - ></el-input></div></el-form-item - ></el-col> - <el-col :span="8"> - <el-form-item label="闈欓粯娆℃暟" prop="name"> - <div style="width: 40%"> - <el-input - v-model="ruleForm.noVoiceNum" - ></el-input></div></el-form-item - ></el-col> - <el-col :span="8"> - <el-form-item label="鏃犲尮閰嶉噸澶�(娆�)" prop="region"> - <div style="width: 40%"> - <el-input v-model="ruleForm.mateNum"></el-input> - </div> </el-form-item - ></el-col> - </el-row> - <el-form-item> - <el-button type="success" plain @click="nextstep('ruleForm')" - >涓嬩竴姝�</el-button - > - <el-button type="info" @click="closeFm('ruleForm')">鍏抽棴</el-button> - <el-button - type="success" - @click="Departmenttreatment('ruleForm')" - >{{ task ? "淇濆瓨鍒颁换鍔℃ā鏉�" : "淇濆瓨闅忚妯℃澘鍩虹淇℃伅" }}</el-button - > - </el-form-item> - </el-form> - </div> - <!-- 闅忚妯℃澘璁剧疆 --> - <div v-if="Editprogress == 2"> - <div class="leftvlue-jbxx">闅忚妯℃澘棰樼洰璁剧疆</div> - <el-divider></el-divider> - <div class="addtopic"> - <el-button - type="primary" - icon="el-icon-plus" - round - @click="getaddtopiclist" - >娣诲姞棰樼洰</el-button - > - <el-button - type="success" - icon="el-icon-edit-outline" - round - @click="Operateit = !Operateit" - >{{ !Operateit ? "缂栬緫棰樼洰" : "瀹屾暣淇℃伅灞曠ず" }}</el-button - > - </div> - <div class="presentation"> - <div :class="Operateit ? 'presentation-left' : 'spresentation-left'"> - <el-card class="box-card" style="min-height: 688px"> - <el-table - v-loading="loading" - :data="ruleForm.ivrTaskTemplateScriptVOList" - > - <el-table-column - label="缂栧彿" - align="center" - key="sort" - prop="sort" - /> - <el-table-column - label="鏍囬" - align="center" - key="scriptTopic" - prop="scriptTopic" - :show-overflow-tooltip="true" - /> - <el-table-column - v-if="!Operateit" - label="闂璇濇湳" - align="center" - key="scriptContent" - prop="scriptContent" - :show-overflow-tooltip="true" - /> - <el-table-column - v-if="!Operateit" - label="闂璇濇湳" - align="center" - key="scriptContent" - prop="scriptContent" - :show-overflow-tooltip="true" - /> - <el-table-column - label="涓嬮璺宠浆" - align="center" - key="nextScriptno" - prop="nextScriptno" - :show-overflow-tooltip="true" - > - <template slot-scope="scope"> - <span>{{ - scope.row.nextScriptno == 0 - ? "宸叉槸鏈�鍚庝竴棰�" - : scope.row.nextScriptno - }}</span> - </template> - </el-table-column> - - <el-table-column - label="鎿嶄綔" - v-if="Operateit" - align="center" - width="250" - class-name="small-padding fixed-width" - > - <template slot-scope="scope"> - <el-button - icon="el-icon-edit" - type="primary" - circle - @click="handleUpdate(scope.row)" - ></el-button> - <el-button - type="danger" - icon="el-icon-delete" - circle - @click="handleDelete(scope.row)" - ></el-button> - <el-button - @click="syioption(scope.row)" - type="success" - icon="el-icon-top" - circle - ></el-button> - <el-button - @click="xiayioption(scope.row)" - type="success" - icon="el-icon-bottom" - circle - ></el-button> - </template> - </el-table-column> - </el-table> - </el-card> - </div> - <div class="presentation-right" v-if="Operateit"> - <el-card class="box-card"> - <el-form - :model="topicobj" - :inline="true" - class="demo-form-inline" - > - <div class="headline">棰樼洰璁剧疆璇︽儏</div> - <el-row> - <el-col :span="24" - ><el-form-item label="棰樼洰鏍囬"> - <el-input - v-model="topicobj.scriptTopic" - placeholder="璇蜂粠宸︿晶鍒楄〃閫夋嫨" - ></el-input> </el-form-item - ></el-col> - </el-row> - <el-row> - <el-col :span="24" - ><el-form-item label="闂璇濇湳"> - <el-input - type="textarea" - style="width: 600px" - v-model="topicobj.scriptContent" - placeholder="璇蜂粠宸︿晶鍒楄〃閫夋嫨" - ></el-input> </el-form-item - ></el-col> - </el-row> - <el-row :gutter="10"> - <el-col :span="12" - ><el-form-item label="闂鑺傜偣"> - <el-input - v-model="topicobj.sort" - placeholder="璇蜂粠宸︿晶鍒楄〃閫夋嫨" - :disabled="true" - ></el-input> </el-form-item - ></el-col> - <el-col :span="12" - ><el-form-item label="涓嬮璺宠浆"> - <el-input - v-model="topicobj.nextScriptno" - placeholder="璇疯緭鍏ラ鍙�" - ></el-input> </el-form-item - ></el-col> - </el-row> - - <el-row :gutter="10"> - <el-col :span="12" - ><el-form-item label="鏄惁蹇呭~"> - <el-select - v-model="topicobj.isMust" - placeholder="榛樿蹇呭~" - > - <el-option - v-for="item in required" - :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-select - v-model="topicobj.scriptType" - placeholder="璇烽�夋嫨" - :disabled="true" - > - <el-option - v-for="item in askvaluetype" - :key="item.value" - :label="item.label" - :value="item.value" - > - </el-option> - </el-select> </el-form-item - ></el-col> - </el-row> - <el-form-item - label="鏄惁鐢遍�夐」閰嶇疆璺宠浆" - v-if="topicobj.scriptType == 1" - > - <el-radio-group v-model="topicobj.branchFlag"> - <el-radio :label="'1'">鏄�</el-radio> - <el-radio :label="'0'">鍚�</el-radio> - </el-radio-group> - </el-form-item> - <el-form-item label="閫変腑鎻愮ず" v-if="topicobj.scriptType != 1"> - <el-input - style="width: 24vw" - type="textarea" - autosize - placeholder="璇疯緭鍏ュ唴瀹�" - v-model="topicobj.prompt" - > - </el-input - ></el-form-item> - <el-row> - <el-col :span="24" - ><el-form-item label="璇煶鏂囨湰"> - <el-input - type="textarea" - style="width: 600px" - v-model="topicobj.ivrtext" - placeholder="璇蜂粠宸︿晶鍒楄〃閫夋嫨" - ></el-input> </el-form-item - ></el-col> - </el-row> - <el-row> - <el-col :span="6"> - <el-form-item label="璇煶鏂囦欢" prop="verbaltrickyy"> - <el-upload - class="upload-demo" - :action="uploadImgUrl" - :headers="headers" - :show-file-list="false" - :on-success=" - (response, file) => handleChanges(response, file, 1) - " - accept=".wav,.mp3" - :limit="1" - > - <el-button size="small" type="primary" - >鐐瑰嚮涓婁紶</el-button - > - </el-upload> - </el-form-item> - </el-col> - <el-col :span="6"> - <span - style="font-size: 18px; margin-top: 10px" - v-if="topicobj.ivrVoice" - >{{ - topicobj.ivrVoice.substring( - topicobj.ivrVoice.lastIndexOf("/") + 1 - ) - }}</span - > - </el-col> - <el-col :span="6"> - <mini-audio - :audio-source=" - topicobj.ivrVoice - ? topicobj.ivrVoice - : 'https://example.com/example.mp3' - " - ></mini-audio> - </el-col> - </el-row> - <div class="topicxq" v-if="topicobj.scriptType == 4"> - <el-row> - <el-col :span="20"> - <el-form-item label="鏀堕泦鍐呭"> - <el-input - style="width: 400px" - type="textarea" - v-model="topicobj.value" - placeholder="闂鏀堕泦鍐呭" - ></el-input> - </el-form-item> - </el-col> - </el-row> - </div> - <div v-else> - <div class="headline"> - <div class="basics">閫夐」璁剧疆</div> - <!-- <div class="headbottom"> - <el-button - type="primary" - icon="el-icon-circle-plus-outline" - @click="addzbiao" - >娣诲姞鎸囨爣</el-button - > - </div> --> - </div> - - <Regular - :TargetoptionList="topicobj.ivrTaskScriptTargetoptionList" - @deloption="deloption" - @branchFlagfn="branchFlagfn" - :branchFlag="topicobj.branchFlag ? true : false" - :controlsc="false" - :scriptType="topicobj.scriptType" - /> - <!-- 鏃犲尮閰嶇被鍨� --> - <div class="topicxq"> - <el-row :gutter="10"> - <el-col :span="20" - ><el-form-item label="鏃犲尮閰嶈瘽鏈�"> - <el-input - type="textarea" - style="width: 400px" - placeholder="璇疯緭鍏�" - v-model="topicobj.noMatchText" - show-word-limit - > - </el-input> </el-form-item - ></el-col> - </el-row> - <el-row> - <el-col :span="6"> - <el-form-item label="鏃犲尮閰嶈闊�" prop="verbaltrickyy"> - <el-upload - class="upload-demo" - :action="uploadImgUrl" - :show-file-list="false" - :headers="headers" - :on-success=" - (response, file) => - handleChanges(response, file, 2) - " - accept=".wav,.mp3" - :limit="1" - > - <el-button size="small" type="primary" - >鐐瑰嚮涓婁紶</el-button - > - </el-upload> - </el-form-item> - </el-col> - <el-col :span="6"> - <span - style="font-size: 12px" - v-if="topicobj.nomatchvoice" - >{{ - topicobj.nomatchvoice.substring( - topicobj.nomatchvoice.lastIndexOf("/") + 1 - ) - }}</span - > - </el-col> - <el-col :span="6"> - <mini-audio - :audio-source=" - topicobj.nomatchvoice - ? topicobj.nomatchvoice - : 'https://example.com/example.mp3' - " - ></mini-audio> - </el-col> - </el-row> - </div> - <div class="topicxq"> - <el-row :gutter="10"> - <el-col :span="20" - ><el-form-item label="鍚笉娓呰瘽鏈�"> - <el-input - style="width: 400px" - type="textarea" - placeholder="璇疯緭鍏�" - v-model="topicobj.noClearlyText" - show-word-limit - > - </el-input> </el-form-item - ></el-col> - </el-row> - - <el-row> - <el-col :span="6"> - <el-form-item label="鍚笉娓呰闊�" prop="verbaltrickyy"> - <el-upload - class="upload-demo" - :action="uploadImgUrl" - :show-file-list="false" - :headers="headers" - :on-success=" - (response, file) => - handleChanges(response, file, 4) - " - accept=".wav,.mp3" - :limit="1" - > - <el-button size="small" type="primary" - >鐐瑰嚮涓婁紶</el-button - > - </el-upload> - </el-form-item> - </el-col> - <el-col :span="6"> - <span - style="font-size: 12px" - v-if="topicobj.noclearlyvoice" - >{{ - topicobj.noclearlyvoice.substring( - topicobj.noclearlyvoice.lastIndexOf("/") + 1 - ) - }}</span - > - </el-col> - <el-col :span="6"> - <mini-audio - :audio-source=" - topicobj.noclearlyvoice - ? topicobj.noclearlyvoice - : 'https://example.com/example.mp3' - " - ></mini-audio> - </el-col> - </el-row> - </div> - <div class="topicxq"> - <el-row :gutter="10"> - <el-col :span="20" - ><el-form-item label="闈欓粯璇濇湳"> - <el-input - type="textarea" - style="width: 400px" - placeholder="璇疯緭鍏�" - v-model="topicobj.slienceText" - show-word-limit - > - </el-input> </el-form-item - ></el-col> - </el-row> - - <el-row> - <el-col :span="6"> - <el-form-item label="闈欓粯璇煶" prop="verbaltrickyy"> - <el-upload - class="upload-demo" - :action="uploadImgUrl" - :show-file-list="false" - :headers="headers" - :on-success=" - (response, file) => - handleChanges(response, file, 3) - " - accept=".wav,.mp3" - :limit="1" - > - <el-button size="small" type="primary" - >鐐瑰嚮涓婁紶</el-button - > - </el-upload> - </el-form-item> - </el-col> - <el-col :span="6"> - <span - style="font-size: 12px" - v-if="topicobj.sliencevoice" - >{{ - topicobj.sliencevoice.substring( - topicobj.sliencevoice.lastIndexOf("/") + 1 - ) - }}</span - > - </el-col> - <el-col :span="6"> - <mini-audio - :audio-source=" - topicobj.sliencevoice - ? topicobj.sliencevoice - : 'https://example.com/example.mp3' - " - ></mini-audio> - </el-col> - </el-row> - </div> - </div> - </el-form> - </el-card> - </div> - </div> - - <el-button type="success" @click="Departmenttreatment('ruleForm')">{{ - task ? "淇濆瓨鍒颁换鍔℃ā鏉�" : "淇濆瓨棰樼洰鏁版嵁" - }}</el-button> - <el-button type="primary" plain @click="laststep()">涓婁竴姝�</el-button> - <el-button type="success" plain @click="preview('ruleForm')" - >鏌ョ湅棰勮</el-button - > - <el-button type="info" @click="closeFm('ruleForm')">鍏抽棴</el-button> - </div> - <!-- 闅忚妯℃澘棰勮 --> - <div v-if="Editprogress == 3"> - <div class="leftvlue-jbxx">闅忚妯℃澘闂棰勮</div> - <el-divider></el-divider> - - <div class="preview-left"> - <div v-for="item in valssu"> - <!-- 鍗曢�� --> - <div - class="scriptTopic-dev" - :key="item.sort" - v-if="item.valueType == 1" - > - <div class="dev-text"> - {{ item.sort }}銆乕鍗曢�塢<span>{{ item.scriptContent }}</span> - </div> - <div class="dev-xx"> - <el-radio-group v-model="item.remark"> - <el-radio - v-for="(items, index) in item.ivrTaskScriptTargetoptionList" - :key="index" - :label="index" - >{{ items.targetvalue }}</el-radio - > - </el-radio-group> - </div> - </div> - <!-- 澶氶�� --> - <div - class="scriptTopic-dev" - :key="item.sort" - v-if="item.valueType == 2" - > - <div class="dev-text"> - {{ item.sort }}銆乕澶氶�塢<span>{{ item.scriptContent }}</span> - </div> - <div class="dev-xx"> - <el-checkbox-group v-model="item.remark"> - <el-checkbox - v-for="(items, index) in item.ivrTaskScriptTargetoptionList" - :key="index" - :label="index" - > - {{ items.targetvalue }} - </el-checkbox> - </el-checkbox-group> - </div> - </div> - <!-- 濉┖ --> - <div - class="scriptTopic-dev" - :key="item.sort" - v-if="item.valueType == 3" - > - <div class="dev-text"> - {{ item.sort }}銆乕濉┖]<span>{{ item.scriptContent }}</span> - </div> - <div class="dev-xx"> - <el-input placeholder="璇疯緭鍏ョ瓟妗�" v-model="radioas" clearable> - </el-input> - </div> - </div> - </div> - </div> - <el-button type="primary" plain @click="laststep()">涓婁竴姝�</el-button> - <el-button type="warning" @click="measurement()">鍓嶅線娴嬭瘯</el-button> - <el-button type="info" @click="closeFm('ruleForm')">鍏抽棴</el-button> - </div> - </div> - <!-- 娣诲姞棰樼洰寮圭獥 --> - <el-drawer - title="娣诲姞棰樼洰" - @close="$forceUpdate()" - @closed="$forceUpdate()" - :visible.sync="drawer" - custom-class="demo-drawer" - size="50%" - > - <div style="margin: 0 25px"> - <el-tabs v-model="activeName"> - <el-tab-pane label="棰樺簱閫夊彇" name="first"> - <div class="preview-left"> - <el-form - :model="queryParams" - ref="queryForm" - size="small" - :inline="true" - label-width="98px" - > - <el-form-item label="鏍囬" prop="userName"> - <el-input - v-model="queryParams.scriptTopic" - placeholder="璇疯緭鍏�" - clearable - style="width: 200px" - @keyup.enter.native="getaddtopiclist" - /> - </el-form-item> - - <el-form-item> - <el-button - type="primary" - icon="el-icon-search" - size="medium" - @click="getaddtopiclist" - >鎼滅储</el-button - > - <el-button - icon="el-icon-refresh" - size="medium" - @click="resetQuery" - >閲嶇疆</el-button - > - </el-form-item> - </el-form> - <el-table v-loading="loading" :data="userList"> - <el-table-column - label="鏍囬" - align="center" - key="scriptTopic" - prop="scriptTopic" - width="100" - /> - <el-table-column - label="闂璇濇湳" - align="center" - key="scriptContent" - prop="scriptContent" - width="200" - :show-overflow-tooltip="true" - /> - <el-table-column - label="闂绫诲瀷" - align="center" - key="valueType" - prop="valueType" - width="120" - > - <template slot-scope="scope"> - <dict-tag - :options="valuetypes" - :value="scope.row.valueType" - /> - </template> - </el-table-column> - <el-table-column - label="閫夐」鍐呭" - align="center" - key="targetoptions" - prop="targetoptions" - width="200" - :show-overflow-tooltip="true" - /> - - <el-table-column - label="鎿嶄綔" - align="center" - class-name="small-padding fixed-width" - > - <template slot-scope="scope"> - <el-button - size="medium" - type="text" - @click="addtopic(scope.row)" - ><span class="button-textxg" - ><i class="el-icon-circle-plus-outline"></i>娣诲姞</span - ></el-button - > - </template> - </el-table-column> - </el-table> - <pagination - :total="total" - :page.sync="queryParams.pageNum" - :limit.sync="queryParams.pageSize" - @pagination="getaddtopiclist" - /> - </div> - </el-tab-pane> - <el-tab-pane label="鎵嬪姩閰嶇疆" name="second"> - <div class="preview-left"> - <el-form - :inline="true" - :model="indexform" - class="demo-form-inline" - > - <div class="headline"> - 棰樼洰璁剧疆璇︽儏 - <span style="margin-left: 30px" - ><el-button type="primary" @click="Submittopicobj" - >淇濆瓨鏂板</el-button - ></span - > - </div> - <el-divider></el-divider> - <div> - <el-row :gutter="10"> - <el-col :span="12"> - <el-form-item label="棰樼洰鏍囬"> - <el-input - v-model="indexform.scriptTopic" - placeholder="璇疯緭鍏ラ鐩爣棰�" - ></el-input> - </el-form-item> - </el-col> - <el-col :span="12"> - <el-form-item label="闂鑺傜偣"> - <el-input - v-model="indexform.sort" - placeholder="璇疯緭鍏ラ棶棰樿妭鐐�" - ></el-input> - </el-form-item> - </el-col> - </el-row> - <el-row :gutter="10"> - <el-col :span="18" - ><el-form-item label="闂璇濇湳"> - <el-input - style="width: 600px" - type="textarea" - v-model="indexform.scriptContent" - placeholder="璇蜂粠宸︿晶鍒楄〃閫夋嫨" - ></el-input> </el-form-item - ></el-col> - </el-row> - <el-row :gutter="10"> - <el-col :span="12" - ><el-form-item label="鏄惁蹇呭~"> - <el-select - v-model="indexform.isMust" - placeholder="榛樿蹇呭~" - > - <el-option - v-for="item in required" - :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-select - v-model="indexform.valueType" - placeholder="璇烽�夋嫨" - :disabled="true" - > - <el-option - v-for="item in valuetype" - :key="item.value" - :label="item.label" - :value="item.value" - > - </el-option> - </el-select> </el-form-item - ></el-col> --> - </el-row> - <el-form-item - label="閫変腑鎻愮ず" - v-if="topicobj.scriptType != 1" - > - <el-input - style="width: 24vw" - type="textarea" - autosize - placeholder="璇疯緭鍏ュ唴瀹�" - v-model="indexform.prompt" - > - </el-input - ></el-form-item> - <el-row :gutter="10"> - <el-col :span="18" - ><el-form-item label="璇煶鏂囨湰"> - <el-input - style="width: 600px" - type="textarea" - v-model="indexform.ivrtext" - placeholder="璇蜂粠宸︿晶鍒楄〃閫夋嫨" - ></el-input> </el-form-item - ></el-col> - </el-row> - <el-row> - <el-col :span="6"> - <el-form-item label="璇煶鏂囦欢" prop="verbaltrickyy"> - <el-upload - class="upload-demo" - :action="uploadImgUrl" - :headers="headers" - :show-file-list="false" - :on-success=" - (response, file) => handleChange(response, file, 1) - " - accept=".wav,.mp3" - :limit="1" - > - <el-button size="small" type="primary" - >鐐瑰嚮涓婁紶</el-button - > - </el-upload> - </el-form-item> - </el-col> - <el-col :span="6"> - <span - style="font-size: 18px; margin-top: 10px" - v-if="indexform.ivrVoice" - >{{ - indexform.ivrVoice.substring( - indexform.ivrVoice.lastIndexOf("/") + 1 - ) - }}</span - > - </el-col> - <el-col :span="6"> - <mini-audio - :audio-source=" - indexform.ivrVoice - ? indexform.ivrVoice - : 'https://example.com/example.mp3' - " - ></mini-audio> - </el-col> - </el-row> - </div> - <div> - <el-form-item label="鎸囨爣鍚嶇О" prop="deptId"> - <el-input - v-model="indexform.targetname" - placeholder="璇疯緭鍏ユ寚鏍囧悕绉�" - maxlength="20" - /> - </el-form-item> - <el-form-item label="鎸囨爣鎻忚堪" prop="deptId"> - <el-input - v-model="indexform.targetdesc" - placeholder="璇疯緭鍏ユ寚鏍囨弿杩�" - maxlength="60" - /> - </el-form-item> - - <el-row> - <el-col :span="20"> - <el-form-item label="鍊肩被鍨�"> - <el-radio-group v-model="indexform.valueType"> - <el-radio :label="1">閫夐」</el-radio> - <el-radio :label="2">鏂囨湰</el-radio> - <el-radio :label="3">鏁板��</el-radio> - </el-radio-group> - </el-form-item> - </el-col> - </el-row> - <el-row> - <el-col :span="20"> - <el-form-item label="棰樼洰绫诲瀷"> - <el-radio-group - @input="typeselection" - v-model="indexform.scriptType" - > - <el-radio :label="1">鍗曢��</el-radio> - <!-- <el-radio :label="2">澶氶��</el-radio> --> - <el-radio :label="4">闂瓟</el-radio> - </el-radio-group> - </el-form-item> - </el-col> - </el-row> - </div> - <div class="topicxq" v-show="indexform.scriptType == 4"> - <el-row> - <el-col :span="20"> - <el-form-item label="鏀堕泦鍐呭"> - <el-input - style="width: 400px" - type="textarea" - v-model="indexform.value" - placeholder="闂鏀堕泦鍐呭" - ></el-input> - </el-form-item> - </el-col> - </el-row> - </div> - - <div v-show="indexform.scriptType == 1"> - <div class="headline"> - <div class="basics">閫夐」璁剧疆</div> - </div> - <el-divider></el-divider> - <Regular - :TargetoptionList="indexform.ivrTaskScriptTargetoptionList" - @deloption="deloption" - @addoption="addoptionson" - :controlsc="false" - :addoption="true" - /> - <!-- 鏃犲尮閰嶇被鍨� --> - <div class="topicxq"> - <el-row :gutter="10"> - <el-col :span="20" - ><el-form-item label="鏃犲尮閰嶈瘽鏈�"> - <el-input - type="textarea" - style="width: 400px" - placeholder="璇疯緭鍏�" - v-model="indexform.noMatchText" - show-word-limit - > - </el-input> </el-form-item - ></el-col> - </el-row> - <el-row> - <el-col :span="6"> - <el-form-item label="鏃犲尮閰嶈闊�" prop="verbaltrickyy"> - <el-upload - class="upload-demo" - :action="uploadImgUrl" - :show-file-list="false" - :headers="headers" - :on-success=" - (response, file) => - handleChange(response, file, 2) - " - accept=".wav,.mp3" - :limit="1" - > - <el-button size="small" type="primary" - >鐐瑰嚮涓婁紶</el-button - > - </el-upload> - </el-form-item> - </el-col> - <el-col :span="6"> - <span - style="font-size: 12px" - v-if="indexform.nomatchvoice" - >{{ - indexform.nomatchvoice.substring( - indexform.nomatchvoice.lastIndexOf("/") + 1 - ) - }}</span - > - </el-col> - <el-col :span="6"> - <mini-audio - :audio-source=" - indexform.nomatchvoice - ? indexform.nomatchvoice - : 'https://example.com/example.mp3' - " - ></mini-audio> - </el-col> - </el-row> - </div> - - <div class="topicxq"> - <el-row :gutter="10"> - <el-col :span="20" - ><el-form-item label="闈欓粯璇濇湳"> - <el-input - type="textarea" - style="width: 400px" - placeholder="璇疯緭鍏�" - v-model="indexform.slienceText" - show-word-limit - > - </el-input> </el-form-item - ></el-col> - </el-row> - - <el-row> - <el-col :span="6"> - <el-form-item label="闈欓粯璇煶" prop="verbaltrickyy"> - <el-upload - class="upload-demo" - :action="uploadImgUrl" - :show-file-list="false" - :headers="headers" - :on-success=" - (response, file) => - handleChange(response, file, 3) - " - accept=".wav,.mp3" - :limit="1" - > - <el-button size="small" type="primary" - >鐐瑰嚮涓婁紶</el-button - > - </el-upload> - </el-form-item> - </el-col> - <el-col :span="6"> - <span - style="font-size: 12px" - v-if="indexform.sliencevoice" - >{{ - indexform.sliencevoice.substring( - indexform.sliencevoice.lastIndexOf("/") + 1 - ) - }}</span - > - </el-col> - <el-col :span="6"> - <mini-audio - :audio-source=" - indexform.sliencevoice - ? indexform.sliencevoice - : 'https://example.com/example.mp3' - " - ></mini-audio> - </el-col> - </el-row> - </div> - <div class="topicxq"> - <el-row :gutter="10"> - <el-col :span="20" - ><el-form-item label="鍚笉娓呰瘽鏈�"> - <el-input - style="width: 400px" - type="textarea" - placeholder="璇疯緭鍏�" - v-model="indexform.noClearlyText" - show-word-limit - > - </el-input> </el-form-item - ></el-col> - </el-row> - - <el-row> - <el-col :span="6"> - <el-form-item label="鍚笉娓呰闊�" prop="verbaltrickyy"> - <el-upload - class="upload-demo" - :action="uploadImgUrl" - :show-file-list="false" - :headers="headers" - :on-success=" - (response, file) => - handleChange(response, file, 4) - " - accept=".wav,.mp3" - :limit="1" - > - <el-button size="small" type="primary" - >鐐瑰嚮涓婁紶</el-button - > - </el-upload> - </el-form-item> - </el-col> - <el-col :span="6"> - <span - style="font-size: 12px" - v-if="indexform.noclearlyvoice" - >{{ - indexform.noclearlyvoice.substring( - indexform.noclearlyvoice.lastIndexOf("/") + 1 - ) - }}</span - > - </el-col> - <el-col :span="6"> - <mini-audio - :audio-source=" - indexform.noclearlyvoice - ? indexform.noclearlyvoice - : 'https://example.com/example.mp3' - " - ></mini-audio> - </el-col> - </el-row> - </div> - </div> - </el-form> - </div> - </el-tab-pane> - </el-tabs> - </div> - </el-drawer> - <!-- 娣诲姞閫傜敤鐤剧梾绐楀彛 --> - <Optional-Form - ref="child" - :dialogVisiblepatient="dialogVisiblepatient" - :overallCase="illnesslist" - @addoption="dialogVisiblepatient = false" - @kkoption="dialogVisiblepatient = true" - /> - </div> -</template> - -<script> -import { listtag } from "@/api/system/label"; -import store from "@/store"; -import { listDept } from "@/api/system/dept"; -import Regular from "@/components/Regular"; //姝e垯缁勪欢 -import { - getFollowupclassify, - addtargetillness, - getTaskFollowup, - Taskparticty, - getverbaltricklist, - getverbaltrick, - delFollowupinfo, - Followupinfo, - getFollowuplist, - deltargetillness, - getillnesslist, - depthospgetson, - depthospgetsonlist, - illnesslistget, - getillness, - getgenerallist, - depthospgetsondel -} from "@/api/AiCentre/index"; -import OptionalForm from "@/components/OptionalForm"; //姝e垯缁勪欢 -import { getToken } from "@/utils/auth"; -import { deptTreeSelect } from "@/api/system/user"; - -export default { - name: "tpuconfigurat", - components: { Regular, OptionalForm }, - data() { - return { - headers: { - Authorization: "Bearer " + getToken(), - }, - uploadImgUrl: process.env.VUE_APP_BASE_API + "/common/uploadSort", - Editprogress: 1, //缂栬緫杩涘害 - loading: false, // 閬僵灞� - drawer: false, //鎺у埗灞曞紑 - radios: [], //澶氶�夐閫変腑 - radioas: "", //濉┖棰樼瓟妗� - task: null, //鏄惁鏉ヨ嚜浠诲姟 - taskform: null, //浠诲姟淇℃伅 - Operateit: true, - indexform: { - ivrTaskScriptTargetoptionList: [], - }, - labelInfovalue: [], //鏍囩涓存椂瀛樺偍 - deptNamesvalue: [], //绉戝涓存椂瀛樺偍 - dialogVisiblepatient: false, //閫傜敤鐤剧梾绐楀彛 - dynamicTags: [], - indexAssortlist: [], - inputValue: "", - inputValueillness: "", - topicobj: { - noMatchText: "鎶辨瓑锛屾垜娌℃湁鍚噦锛屾偍鑳藉啀璇翠竴閬嶅悧?", - noClearlyText: "鎶辨瓑锛屾垜娌℃湁鍚竻鎮ㄨ鐨勮瘽锛屾偍鍙互鍐嶈涓�娆″悧?", - slienceText: "鎶辨瓑锛屾垜娌℃湁鍚埌鎮ㄨ鐨勮瘽锛屾偍鍙互鍐嶈涓�娆″悧?", - }, - total: 1, - id: "", - ruleForm: { - templateName: "", - revisitBefore: - "浜茬埍鐨勬偅鑰�/瀹跺睘锛屾偍濂斤紒鎴戜滑鏄禉涓尰澶т簩闄㈢殑鍖绘姢浜哄憳锛屼负浜嗘洿濂藉湴浜嗚В鎮ㄧ殑搴峰鎯呭喌锛岃鎮ㄦ娊涓�鐐瑰疂璐垫椂闂达紝瀹屾垚杩欎唤闅忚銆�", - revisitAfter: - "璇锋偍娉ㄦ剰浼戞伅鍜岃惀鍏伙紝鐢熸椿涓婅鍔抽�哥粨鍚堬紝閫傚綋閿荤偧锛屾垝鐑熼檺閰掞紝淇濇寔蹇冩儏鑸掔晠锛屽畾鏈熷璇娿�傞偅鏈鍥炶灏卞埌杩欓噷锛岀鎮ㄨ韩浣撳仴搴凤紒", - ivrLibaTemplateTagList: [], - ivrTaskTemplateScriptVOList: [], - tempDetpRelevances: [], - }, - rules: {}, - optionstag: [], - prefollowuplist: [], - postfollowuplist: [], - tempDetpRelevanceslist: [], //绉戝鏁版嵁 - tempDetpRelevanceslistform: [], //绉戝鏁版嵁 - tempbelongWards: [], //鐥呭尯鏁版嵁 - tempbelongWardsform: [], //鐥呭尯鏁版嵁 - generallist: [ - { value: "1", label: "闅忚閫氱敤搴撲竴" }, - { value: "2", label: "闅忚浜屽簱" }, - ], - - fileList: [ - { - name: "food.jpeg", - url: "https://fuss10.elemecdn.com/3/63/4e7f3a15429bfda99bce42a18cdd1jpeg.jpeg?imageMogr2/thumbnail/360x360/format/webp/quality/100", - }, - ], - administrativelist: [ - { value: "1", label: "蹇冨绉�" }, - { value: "2", label: "蹇冨唴绉�" }, - ], - standbylist: [], - themelist: [], - languagelist: [], - courtyardlist: [], - precedencetype: [], - usable: [], - required: [], - valuetype: [], - valuetypes: [], - askvaluetype: [], - mode: [], - inputVisible: false, - inputVisibleillness: false, - illnessVisible: false, //鎸囨爣鐤剧梾寮规 - deptOptions: [], - optionsillness: [], - illnesslistapi: [], - illnesslist: [], - defaultProps: { - children: "ivrLibaTemplateAssortList", - label: "indexAssortName", - }, - tempDetpRelevanceslist: [], - delScriptVOList: [], - optionIndex: "", - activeName: "first", - variablelist: [ - { variatename: "濮撳悕", variate: "${name}", default: 1 }, - { variatename: "鐢佃瘽", variate: "${phone}", default: 1 }, - { variatename: "鐥呮儏", variate: "${illness}", default: 1 }, - ], - deptlist: [], - hosplist: [], - flatArray: [], - props: { multiple: true, value: "deptId", label: "deptName" }, - - variablelist: [ - { - variable: "paitent", - value: "琛ㄧず鎮h�呯殑鏍囪瘑", - }, - ], - queryParamsdept: { - tempid: "", - type: 2, - }, - - valssu: [], - radio: "", - addvalue: "娣诲姞棰樼洰", - // 棰樼洰琛ㄦ牸鏁版嵁 - userList: [], - belongWards: [], - belongDepts: [], - // 鏌ヨ鍙傛暟 - queryParams: { - pageNum: 1, - pageSize: 10, - userName: undefined, - phonenumber: undefined, - status: undefined, - deptId: undefined, - IDnumber: undefined, - }, - }; - }, - activated() { - if (this.id != this.$route.query.id) { - console.log(1); - - this.RoutingDataProcessing(); - this.gettabList(); - this.getvFollowup(); - this.auxiliary(); - } else { - this.tempDetpRelevanceslistform = []; - this.tempbelongWardsform = []; - } - }, - - created() { - this.RoutingDataProcessing(); - this.gettabList(); - this.getvFollowup(); - this.auxiliary(); - this.getDeptTree(); - this.mode = store.getters.mode; - this.usable = store.getters.usable; - this.required = store.getters.required; - this.valuetype = store.getters.valuetype; - this.valuetypes = store.getters.valuetypelb; - this.askvaluetype = store.getters.askvaluetype; - this.languagelist = store.getters.languagelist; - this.courtyardlist = store.getters.courtyardlist; - this.precedencetype = store.getters.precedencetype; - this.belongWards = store.getters.belongWards; - this.belongDepts = store.getters.belongDepts; - }, - mounted() {}, - 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: { - //鍏叡鏂规硶-------------------- - getIndexInArray(arr, obj) { - return arr.indexOf(obj); - }, - processElement(element) { - return { ...element, isoperation: 0 }; - }, - // 璺敱鏁版嵁澶勭悊 - RoutingDataProcessing() { - this.id = this.$route.query.id; - this.task = this.$route.query.task; - this.queryParamsdept.tempid = this.id; - }, - // 鑾峰彇绉戝鏍� - getDeptTree() { - // 绉戝鍒楄〃 - deptTreeSelect().then((response) => { - this.deptOptions = response.data; - this.flatArray = this.flattenArray(response.data); - }); - }, - flattenArray(multiArray) { - let result = []; - - // 閫掑綊鍑芥暟锛岀敤浜庡皢澶氱骇鏁扮粍杞崲涓轰竴缁存暟缁勶紝鍙寘鍚渶搴曞眰鐨勫厓绱� - function flatten(element) { - // 濡傛灉褰撳墠鍏冪礌鏈夊瓙鍏冪礌锛岀户缁�掑綊 - if (element.children && element.children.length > 0) { - element.children.forEach((child) => flatten(child)); - } else { - // 鍏嬮殕鍏冪礌浠ラ伩鍏嶄慨鏀瑰師濮嬫暟鎹� - let item = JSON.parse(JSON.stringify(element)); - result.push(item); // 灏嗘渶搴曞眰鐨勫厓绱犳坊鍔犲埌缁撴灉鏁扮粍 - } - } - - // 浠庨《灞傚厓绱犲紑濮嬮�掑綊 - multiArray.forEach((element) => flatten(element)); - return result; // 杩斿洖鍙寘鍚渶搴曞眰鍏冪礌鐨勪竴缁存暟缁� - }, - // 鑾峰彇琛ㄥ崟鏁版嵁 - getvFollowup() { - if (this.id) { - getTaskFollowup(this.id).then((res) => { - if (res.code == 200) { - console.log(res, "浠诲姟妯℃澘"); - this.ruleForm = res.data; - if (this.ruleForm.deptNames) - // this.tempDetpRelevanceslist = JSON.parse(this.ruleForm.deptNames); - this.ruleForm.suitway = this.ruleForm.suitway.split(","); - if (this.ruleForm.campus) - this.ruleForm.campus = this.ruleForm.campus.split(","); - this.ruleForm.submoduleID = this.ruleForm.submoduleID.split(","); - console.log(this.ruleForm.submoduleID, "submoduleID"); - - this.ruleForm.submoduleID = this.ruleForm.submoduleID.map((res) => { - return Number(res); - }); - - this.dynamicTags = this.ruleForm.ivrLibaTemplateTagList; - if (this.ruleForm.ivrLibaTemplateTagList) - this.dynamicTags = this.ruleForm.ivrLibaTemplateTagList.map( - this.processElement - ); - this.sortFn(); - } - }); - getillness({ outid: this.id, type: 3 }).then((res) => { - this.illnesslist = res.rows; - this.illnesslist.forEach((item) => { - item.icdname = item.icd10name; - }); - }); - } else { - this.ruleForm = { - templateName: "", - ivrLibaTemplateTagList: [], - ivrTaskTemplateScriptVOList: [], - tempDetpRelevances: [], - }; - this.deptOptions = []; - this.optionsillness = []; - this.illnesslistapi = []; - this.illnesslist = []; - this.dynamicTags = []; - this.tempDetpRelevanceslist = []; - } - }, - // 闄勫睘鏁版嵁琛� - auxiliary() { - // 鍒嗙被 - getFollowupclassify({}).then((res) => { - this.indexAssortlist = res.rows; - }); - this.tempDetpRelevanceslist = []; - this.tempbelongWards = []; - - if (this.id) { - depthospgetsonlist(this.queryParamsdept).then((res) => { - if (res.code == 200) { - let arr = res.rows; - console.log(arr, "arr"); - - arr.forEach((item) => { - if (item.deptType == 1) { - console.log(this.deptlist, "11"); - this.deptlist.push(item); - console.log("22"); - this.tempDetpRelevanceslist.push(item.deptCode); - } else if (item.deptType == 2) { - this.hosplist.push(item); - this.tempbelongWards.push(item.deptCode); - console.log("33"); - } - }); - } - }); - } - - // 鐤剧梾 - getillnesslist({ - pageNum: 1, - pageSize: 100, - }).then((response) => { - this.optionsillness = response.rows; - }); - getgenerallist({ - pageNum: 1, - pageSize: 100, - }).then((res) => { - this.generallist = res.rows; - }); - // 鐤剧梾鍒� - }, - // 閫夐」閰嶇疆璺宠浆瑙﹀彂 - branchFlagfn(row) { - if (this.topicobj.branchFlag == 1 && this.topicobj.nextScriptno != 0) { - this.topicobj.nextScriptno = - this.topicobj.ivrTaskScriptTargetoptionList[0].nextQuestion; - } - }, - //淇濆瓨 - submitForm(formName) { - if (this.ruleForm.id) { - this.ruleForm.isoperation = 2; - } else { - this.ruleForm.isoperation = 1; - } - if (!this.ruleForm.assortid) { - this.ruleForm.assortid = -1; - } - this.ruleForm.labelInfo = JSON.stringify(this.dynamicTags); - if (Array.isArray(this.ruleForm.suitway)) - this.ruleForm.suitway = this.ruleForm.suitway.join(","); - if (Array.isArray(this.ruleForm.campus)) - this.ruleForm.campus = this.ruleForm.campus.join(","); - if (Array.isArray(this.ruleForm.submoduleID)) - this.ruleForm.submoduleID = this.ruleForm.submoduleID.join(","); - - // 鎻愪氦 - this.ruleForm.ivrTaskTemplateScriptVOList.forEach((res) => { - if (!res.isoperation) { - res.isoperation = 2; - } - res.ivrTaskScriptTargetoptionList = - res.ivrTaskScriptTargetoptionList.map((item) => { - if (!item.isoperation) { - item.isoperation = 2; - item.templateID = this.ruleForm.id; - } - return item; - }); - }); - this.delScriptVOList.forEach((item) => { - this.ruleForm.ivrTaskTemplateScriptVOList.push(item); - }); - // Taskparticty(this.ruleForm).then((res) => { - // if (res.code == 200) { - // this.$modal.msgSuccess("缂栬緫鎴愬姛"); - // this.$modal.closeLoading(); - // this.confirmillness(res.data); - // // window.location.reload(); - // // const obj = { path: "/knowledge/tpuconfigurat/?id=" + this.id }; - // // this.$tab.closeOpenPage(obj); - // } else { - // this.$modal.msgError("淇濆瓨澶辫触"); - // this.$modal.closeLoading(); - // } - // }); - if (this.id) { - this.ruleForm.isoperation = 2; - this.ruleForm.tempDetpRelevances = []; - Taskparticty(this.ruleForm).then((res) => { - if (res.code == 200) { - this.$modal.msgSuccess("淇敼鎴愬姛"); - this.confirmillness(); - this.putbelongDepts(this.id); - this.$modal.closeLoading(); - this.$router.go(-1); - // window.location.reload(); - } else { - this.$modal.closeLoading(); - } - }); - } else { - this.ruleForm.isoperation = 1; - this.ruleForm.version = this.ruleForm.version - ? this.ruleForm.version - : "1.0"; - this.ruleForm.tempDetpRelevances = []; - Taskparticty(this.ruleForm).then((res) => { - if (res.code == 200) { - this.$modal.msgSuccess("鏂板鎴愬姛"); - this.confirmillness(res.data); - this.putbelongDepts(res.data); - this.$modal.closeLoading(); - this.$router.go(-1); - } else { - this.$modal.closeLoading(); - } - }); - } - }, - confirmillness(guid) { - this.illnesslist.forEach((item, index) => { - if (guid) { - item.outid = guid; - } else { - console.log(this.ruleForm); - item.outid = this.ruleForm.id; - } - item.icd10name = item.icdname; - item.icd10code = item.icdcode; - item.type = 3; - if (!item.id) { - addtargetillness(item).then((res) => {}); - } - }); - this.illnessVisible = false; - this.$modal.msgSuccess("缂栬緫鎴愬姛"); - }, - // 绉戝澶勭悊 - Departmenttreatment() { - this.$modal.loading("姝e湪淇淇濆瓨鏁版嵁锛岃绋嶅��..."); - this.tempDetpRelevanceslist.forEach((item) => { - let result = this.deptlist.some((obj) => obj.deptCode == item); - - if (!result) { - this.tempDetpRelevanceslistform.push({ - deptType: 1, - longTemp: this.ruleForm.longTemp, - deptCode: item, - tempid: this.id, - type: 2, - }); - } - }); - this.tempbelongWards.forEach((item) => { - let result = this.hosplist.some((obj) => obj.deptCode == item); - if (!result) { - this.tempbelongWardsform.push({ - deptType: 2, - longTemp: this.ruleForm.longTemp, - deptCode: item, - tempid: this.id, - type: 2, - // 1 : 闂嵎妯℃澘搴搃d銆�11锛氶棶鍗蜂换鍔℃ā鏉垮簱id锛�2 :璇煶闂嵎搴搃d銆�21锛氳闊充换鍔℃ā鏉垮簱id锛�3 : 瀹f暀妯℃澘搴搃d锛�33锛氬鏁欎换鍔℃ā鏉垮簱id - }); - } - }); - setTimeout(() => { - this.submitForm(); - }, 1000); - // this.submitForm(); - }, - // 淇濆瓨绉戝/鐥呭尯 - putbelongDepts(id) { - this.tempDetpRelevanceslistform.forEach((item) => { - if (!item.tempid) item.tempid = id; - }); - - this.tempbelongWardsform.forEach((item) => { - if (!item.tempid) item.tempid = id; - }); - if (this.tempDetpRelevanceslistform.length > 0) { - depthospgetson(this.tempDetpRelevanceslistform).then((res) => { - if (res.code == 200) { - this.$modal.msgSuccess("绉戝鏂板鎴愬姛"); - } - }); - } - if (this.tempbelongWardsform.length > 0) { - depthospgetson(this.tempbelongWardsform).then((res) => { - if (res.code == 200) { - this.$modal.msgSuccess("闄㈠尯鏂板鎴愬姛"); - } - }); - } - }, - // 涓嬩竴姝� - nextstep() { - if (this.Editprogress <= 2) { - return this.Editprogress++; - } - }, - // 涓婁竴姝� - laststep() { - this.Editprogress = this.Editprogress - 1; - }, - // 鍏抽棴 - closeFm() { - this.$confirm("閫�鍑轰笉浼氫繚鐣欓〉闈㈠唴瀹规洿鏀�, 鏄惁缁х画?", "鎻愮ず", { - confirmButtonText: "纭畾", - cancelButtonText: "鍙栨秷", - type: "warning", - }) - .then(() => { - const obj = { path: "/knowledge/templateku/" }; - this.$tab.closeOpenPage(obj); - }) - .catch(() => { - this.$message({ - type: "info", - message: "宸插彇娑�", - }); - }); - }, - //鎺у埗璇煶鏂囦欢(鏂�) - handleChange(response, file, additionalParam) { - console.log(response); - console.log(additionalParam); - if (additionalParam == 1) { - this.indexform.ivrVoice = response.url; - } else if (additionalParam == 2) { - this.indexform.nomatchvoice = response.url; - } else if (additionalParam == 3) { - this.indexform.sliencevoice = response.url; - } else if (additionalParam == 4) { - this.indexform.noclearlyvoice = response.url; - } - this.$forceUpdate(); - }, - //鎺у埗璇煶鏂囦欢 - handleChanges(response, file, additionalParam) { - console.log(response); - console.log(additionalParam); - if (additionalParam == 1) { - this.topicobj.ivrVoice = response.url; - } else if (additionalParam == 2) { - this.topicobj.nomatchvoice = response.url; - } else if (additionalParam == 3) { - this.topicobj.sliencevoice = response.url; - } else if (additionalParam == 4) { - this.topicobj.noclearlyvoice = response.url; - } - this.$forceUpdate(); - }, - // 鏂囦欢瓒呭嚭涓暟闄愬埗鏃剁殑閽╁瓙 - handleExceed(files, fileList) { - this.$message.warning( - `褰撳墠闄愬埗閫夋嫨 1 涓枃浠讹紝鏈閫夋嫨浜� ${files.length} 涓枃浠讹紝鍏遍�夋嫨浜� ${ - files.length + fileList.length - } 涓枃浠禶 - ); - }, - // 鏍囩----------------- - gettabList() { - const tagqueryParams = { - pageNum: 1, - pageSize: 1000, - tagcategoryid: "0", - }; - listtag(tagqueryParams).then((response) => { - this.optionstag = response.rows; - }); - }, - handleClosetag(tag) { - const lindex = this.dynamicTags.indexOf(tag); - this.dynamicTags.splice(this.dynamicTags.indexOf(tag), 1); - this.ruleForm.ivrLibaTemplateTagList[lindex].isoperation = 3; - }, - handleInputConfirm() { - let tagvalue = {}; - let tagname = this.inputValue; - if (tagname) { - listtag({ - pageNum: 1, - pageSize: 1000, - tagcategoryid: "0", - tagname: tagname, - }).then((res) => { - if (res.rows[0]) { - tagvalue = res.rows[0]; - tagvalue.isoperation = 1; - } else { - tagvalue = { - tagname: tagname, - isoperation: 1, - }; - } - const exists = this.dynamicTags.some( - (department) => department.tagname === tagname - ); - if (exists) { - this.$modal.msgError("鏍囩閲嶅"); - return; - } - this.ruleForm.ivrLibaTemplateTagList.push(tagvalue); - this.dynamicTags.push(tagvalue); - }); - } - this.inputVisible = false; - this.inputValue = ""; - }, - remoteMethodtag(query) { - if (query !== "") { - this.loading = true; - setTimeout(() => { - this.loading = false; - listtag({ tagname: query, tagcategoryid: "0" }).then((res) => { - this.optionstag = res.rows; - }); - }, 200); - } else { - this.optionstag = []; - } - }, - showInput() { - this.inputVisible = true; - }, - //璇濇湳棰樼洰---------------- - addzbiao() {}, - resetQuery() { - this.queryParams = { pageNum: 1, pageSize: 10 }; - this.getaddtopiclist(); - }, - getaddtopiclist() { - this.drawer = true; - getverbaltricklist(this.queryParams).then((res) => { - this.loading = false; - this.userList = res.rows; - this.total = res.total; - console.log(this.userList); - }); - }, - addtopic(row) { - if ( - this.ruleForm.ivrTaskTemplateScriptVOList.some( - (obj) => obj.scriptTopic == row.scriptTopic - ) - ) { - this.$modal.msgError("璇ラ鐩凡瀛樺湪"); - return; - } - getverbaltrick({ id: row.id }).then((res) => { - console.log(res, "璇︽儏"); - res.data.isoperation = 1; - res.data.pid = this.ruleForm.id; - res.data.ivrTaskScriptTargetoptionList.forEach((item) => { - item.isoperation = 1; - }); - this.ruleForm.ivrTaskTemplateScriptVOList.push(res.data); - this.sortFn(); - this.$modal.msgSuccess("娣诲姞鎴愬姛"); - }); - }, - handleDelete(row) { - this.$modal - .confirm('鏄惁纭鍒犻櫎闂锛�"' + row.scriptTopic + '"锛�') - .then(() => { - this.ruleForm.ivrTaskTemplateScriptVOList.splice( - this.ruleForm.ivrTaskTemplateScriptVOList.indexOf(row), - 1 - ); - row.isoperation = 3; - if (row.id) { - this.delScriptVOList.push(row); - } - this.sortFn(); - this.$modal.msgSuccess("宸插垹闄わ紝淇濆瓨妯℃澘鐢熸晥"); - }) - .catch(() => {}); - }, - handleUpdate(row) { - console.log(row, "鍗曚綋鏁版嵁"); - this.optionIndex = this.ruleForm.ivrTaskTemplateScriptVOList.indexOf(row); - if (row.ivrTaskScriptTargetoptionList.length) { - this.topicobj = row; - this.topicobj.valueType = row.valueType; - } else { - getverbaltrick({ id: row.id }).then((res) => { - if (res.data) { - this.topicobj = res.data; - console.log(res.data, "topicobj"); - } else { - this.topicobj = row; - console.log("娌℃壘鍒伴�夐」锛岃鏌ョ湅闂搴撴槸鍚︽纭厤缃�"); - } - }); - } - }, - syioption(row) { - const index = this.getIndexInArray( - this.ruleForm.ivrTaskTemplateScriptVOList, - row - ); - const item = this.ruleForm.ivrTaskTemplateScriptVOList.splice( - index, - 1 - )[0]; // 绉婚櫎鎸囧畾绱㈠紩澶勭殑鍏冪礌锛屽苟淇濆瓨鍒癷tem鍙橀噺涓� - this.ruleForm.ivrTaskTemplateScriptVOList.splice(index - 1, 0, item); // 灏唅tem鎻掑叆鍒扮储寮曚綅缃殑鍓嶄竴浣� - this.sortFn(); - }, - xiayioption(row) { - const index = this.getIndexInArray( - this.ruleForm.ivrTaskTemplateScriptVOList, - row - ); - const item = this.ruleForm.ivrTaskTemplateScriptVOList.splice( - index, - 1 - )[0]; // 绉婚櫎鎸囧畾绱㈠紩澶勭殑鍏冪礌锛屽苟淇濆瓨鍒癷tem鍙橀噺涓� - this.ruleForm.ivrTaskTemplateScriptVOList.splice(index + 1, 0, item); // 灏唅tem鎻掑叆鍒扮储寮曚綅缃殑鍓嶄竴浣� - this.sortFn(); - }, - // 闂鎺掑簭 - sortFn() { - console.log(this.ruleForm.ivrTaskTemplateScriptVOList); - - this.ruleForm.ivrTaskTemplateScriptVOList.forEach((item, index) => { - item.sort = Number(index) + 1; - console.log(this.ruleForm.ivrTaskTemplateScriptVOList.length); - console.log(item.sort); - - if (item.sort == this.ruleForm.ivrTaskTemplateScriptVOList.length) { - item.nextScriptno = 0; - } else { - item.nextScriptno = item.sort + 1; - } - if (item.ivrTaskScriptTargetoptionList && !item.branchFlag) { - item.ivrTaskScriptTargetoptionList.forEach((items) => { - items.nextQuestion = Number(item.sort) + 1; - }); - } - }); - this.$forceUpdate(); - - console.log(this.ruleForm.ivrTaskTemplateScriptVOList); - }, - // -----------------------璇濇湳閫夐」 - deloption(item) { - const index = this.topicobj.ivrTaskScriptTargetoptionList.indexOf(item); - if (index != -1) { - if (item.id) { - console.log(item, "chunz"); - item.isoperation = 3; - console.log(this.topicobj.ivrTaskScriptTargetoptionList); - this.$forceUpdate(); - } else { - this.topicobj.ivrTaskScriptTargetoptionList.splice(index, 1); // 浠庣储寮曚綅缃垹闄や竴涓厓绱� - } - // this.sortFn(); - } else { - console.log("鏈壘鍒拌瀵硅薄"); - } - }, - // 淇敼棰樼洰淇℃伅 - Submittopicobj() { - this.$modal - .confirm( - '鏄惁纭鏂板鍚嶇О涓�"' + this.indexform.scriptTopic + '"鐨勯棶棰樻暟鎹紵' - ) - .then(() => { - this.indexform.isoperation = 1; - this.indexform.pid = this.ruleForm.id; - this.indexform.ivrTaskScriptTargetoptionList.forEach((item) => { - item.isoperation = 1; - }); - this.ruleForm.ivrTaskTemplateScriptVOList.push(this.indexform); - this.indexform = { - ivrTaskScriptTargetoptionList: [], - }; - this.drawer = false; - - this.sortFn(); - this.$modal.msgSuccess("棰樼洰鏂板鎴愬姛锛屼繚瀛樻ā鏉跨敓鏁�"); - }); - }, - - // --------------------- - resetForm(formName) { - this.$refs[formName].resetFields(); - }, - // 绉戝鍒犻櫎瑙﹀彂 - removetag(row) { - let result = this.deptlist - .filter((item) => item.deptCode == row) - .map((item) => item.id); - console.log(result.length); - if (result.length) { - depthospgetsondel(result).then((res) => { - if (res.code) { - } - }); - } - }, - // 鍒犻櫎鍒犻櫎瑙﹀彂 - removehpsp(row) { - let result = this.hosplist - .filter((item) => item.deptCode == row) - .map((item) => item.id); - if (result.length) { - depthospgetsondel(result).then((res) => { - if (res.code) { - } - }); - } - }, - // 棰勮--------------- - preview() { - console.log(this.ruleForm); - this.valssu = this.ruleForm.ivrTaskTemplateScriptVOList; - this.Editprogress = 3; - }, - // 鍓嶅線娴嬭瘯 - measurement() { - this.$modal - .confirm("鍗冲皢鍓嶅線妯℃澘娴嬭瘯椤甸潰锛岃纭妯℃澘鏁版嵁宸蹭繚瀛樸��") - .then((res) => { - this.$router.push({ - path: "/knowledge/templateku/configurat/measurement", - query: { - id: this.id, - name: this.ruleForm.templateName, - timeout: this.ruleForm.silencetime, - }, - }); - }) - .catch(() => {}); - }, - // 鏂板缓妯℃澘涓复鏃堕鐩� - // 棰樼洰绫诲瀷鏇存崲 - typeselection(row) { - if (row == 1 && !this.indexform.ivrTaskScriptTargetoptionList.length) { - this.indexform.ivrTaskScriptTargetoptionList.push({ - guid: 1, - isoperation: 1, - targetvalue: "", - targetregex: "", - targetregex2: "", - dynamiccruxs: [], - nodynamiccruxs: [], - dynamiccruxsJson: "", - nodynamiccruxsJson: "", - }); - } - this.$forceUpdate(); - }, - addoptionson() { - this.indexform.ivrTaskScriptTargetoptionList.push({ - guid: 1, - isoperation: 1, - targetvalue: "", - targetregex: "", - targetregex2: "", - dynamiccruxs: [], - nodynamiccruxs: [], - dynamiccruxsJson: "", - nodynamiccruxsJson: "", - }); - }, - }, -}; -</script> - -<style lang="scss" scoped> -.Questionnairemanagement { - // display: flex; -} -.sidecolumn { - margin: 20px; - margin-bottom: 0; - 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); -} -.leftvlue { - // display: flex; - // flex: 1; - // width: 80%; - margin: 20px; - padding: 30px; - background: #ffff; - border: 1px solid #dcdfe6; - -webkit-box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.12), - 0 0 6px 0 rgba(0, 0, 0, 0.04); - .mulsz { - font-size: 20px; - } - .leftvlue-jbxx { - font-size: 24px; - border-left: 5px solid #41a1be; - padding-left: 5px; - margin: 15px 0; - } - .demo-cascader { - margin-right: 20px; - } - .PreviewTemplate { - color: #02a7f0; - cursor: pointer; - font-size: 20px; - margin: 0 20px; - } -} -.preview-left { - margin: 20px; - // margin: 20px; - padding: 30px; - background: #ffff; - border: 1px solid #dcdfe6; - -webkit-box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.12), - 0 0 6px 0 rgba(0, 0, 0, 0.04); - .scriptTopic-dev { - margin-bottom: 25px; - font-size: 20px !important; - .dev-text { - margin-bottom: 10px; - } - } - .headline { - display: flex; - justify-content: space-between; - font-size: 20px; - border-left: 3px solid #41a1be; - padding-left: 5px; - margin: 15px 0; - } - .topicxq { - background-color: #e2f5fc; - border-radius: 4px; - margin-top: 10px; - padding-left: 10px; - padding-top: 15px; - } -} -.xinz-inf { - font-size: 18px; - white-space: nowrap; - overflow: hidden; - text-overflow: ellipsis; - - line-height: 48px; - - .el-tag + .el-tag { - margin-left: 10px; - } - .button-new-tag { - margin-left: 10px; - height: 32px; - line-height: 30px; - padding-top: 0; - padding-bottom: 0; - } - .input-new-tag { - width: 90px; - margin-left: 10px; - vertical-align: bottom; - } -} - -.xinz-infs { - font-size: 18px; - line-height: 48px; - - .el-tag + .el-tag { - margin-left: 10px; - } -} -.addtopic { - margin-top: 30px; -} -.presentation { - margin: 20px 0; - display: flex; - .presentation-left { - width: 45%; - // height: 500px; - .button-textxg { - color: #024df0; - } - .button-textsc { - color: #f52727; - } - } - .spresentation-left { - width: 100%; - // height: 500px; - .button-textxg { - color: #024df0; - } - .button-textsc { - color: #f52727; - } - } - .presentation-right { - width: 55%; - max-height: 688px; - margin: 0 20px; - font-size: 18px; - -webkit-box-shadow: 0 2px 4px 0 rgba(32, 32, 32, 0.12), - 0 0 6px 0 rgba(58, 57, 57, 0.04); - overflow: auto; - .headline { - display: flex; - justify-content: space-between; - font-size: 20px; - border-left: 3px solid #41a1be; - padding-left: 5px; - margin: 15px 0; - } - .topicxq { - background-color: #e2f5fc; - border-radius: 4px; - margin-top: 10px; - padding-left: 10px; - padding-top: 15px; - } - } -} -::v-deep .addtopic-input { - input { - background: #02a7f0; - color: #edf1f7; - width: 150px; - } -} -::v-deep.el-step.is-vertical .el-step__title { - font-size: 20px; -} -::v-deep.el-input--medium { - font-size: 18px !important; -} -::v-deep.ruleFormaa.el-select { - display: inline-block; - position: relative; - width: 700px; -} -.el-select__tags { - font-size: 20px; - max-width: 888px !important; -} -::v-deep.el-radio__inner { - width: 22px; - height: 22px; -} -// ::v-deep.topic-dev.el-radio__label { -// font-size: 24px; -// } -::v-deep.el-radio-group { - span { - font-size: 20px; - } -} -::v-deep.el-checkbox-group { - span { - font-size: 20px; - } -} -// ::v-deep.el-form-item--medium .el-form-item__content { -// line-height: 36px; -// display: flex; -// } -</style> diff --git a/src/views/repositoryai/templateku/index.vue b/src/views/repositoryai/templateku/index.vue deleted file mode 100644 index 6e95827..0000000 --- a/src/views/repositoryai/templateku/index.vue +++ /dev/null @@ -1,1108 +0,0 @@ -<template> - <div class="Questionnairemanagement"> - <!-- 宸︿晶鏍� --> - <div class="sidecolumn"> - <div class="sidecolumn-top"> - <div class="top-wj">妯℃澘绫诲瀷</div> - <div class="top-tj" @click="Newcategory">+娣诲姞</div> - </div> - <div class="center-ss"> - <el-input - placeholder="璇疯緭鍏ュ唴瀹�" - v-model="sidecolumnval" - class="input-with-select" - size="medium " - > - </el-input> - </div> - <div class="head-container" style="margin-top: 20px"> - <el-tree - :data="deptOptions" - :props="defaultProps" - :expand-on-click-node="false" - :filter-node-method="filterNode" - ref="tree" - node-key="id" - default-expand-all - highlight-current - @node-click="handleNodeClick" - > - <span class="custom-tree-node" slot-scope="{ node, data }"> - <span>{{ node.label }}</span> - <span v-if="data.id > 0"> - <el-button - type="text" - icon="el-icon-delete" - circle - size="mini" - @click="() => remove(node, data)" - > - </el-button> - </span> - <span v-if="data.id > 0"> - <el-button - type="text" - circle - size="mini" - @click="() => altertag(node, data)" - ><span class="button-textxg" - ><i class="el-icon-edit-outline"></i - ></span> - </el-button> - </span> - </span> - </el-tree> - </div> - </div> - <!-- 鍙充晶鏁版嵁 --> - <div class="leftvlue"> - <div class="leftvlue-bg"> - <el-row :gutter="20"> - <!--鐢ㄦ埛鏁版嵁--> - <el-col :span="24" :xs="24"> - <el-form - :model="queryParams" - ref="queryForm" - size="small" - :inline="true" - v-show="showSearch" - label-width="98px" - > - <el-form-item label="妯℃澘鏍囬" prop="templateName"> - <el-input - v-model="queryParams.templateName" - placeholder="璇疯緭鍏�" - clearable - style="width: 200px" - @keyup.enter.native="handleQuery" - /> - </el-form-item> - <el-form-item label="閫傜敤闄㈠尯" prop="region"> - <el-select - v-model="campus" - size="medium" - multiple - filterable - placeholder="璇烽�夋嫨鍒嗙被" - > - <el-option - class="ruleFormaa" - v-for="item in courtyardlist" - :key="item.label" - :label="item.label" - :value="item.label" - > - </el-option> - </el-select> - </el-form-item> - <el-form-item label="鍙敤鐘舵��" prop="usestate"> - <el-select v-model="queryParams.usestate" placeholder="璇烽�夋嫨"> - <el-option - v-for="item in qyoptions" - :key="item.value" - :label="item.label" - :value="item.value" - > - </el-option> - </el-select> - </el-form-item> - - <el-form-item> - <el-button - type="primary" - icon="el-icon-search" - size="medium" - @click="handleQuery" - >鎼滅储</el-button - > - <el-button - icon="el-icon-refresh" - size="medium" - @click="resetQuery" - >閲嶇疆</el-button - > - </el-form-item> - </el-form> - - <el-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="danger" - plain - icon="el-icon-delete" - size="medium" - :disabled="multiple" - @click="handleDelete" - v-hasPermi="['system:user:remove']" - >鍒犻櫎</el-button - > - </el-col> - <!-- <el-col :span="1.5"> </el-col> --> - </el-row> - <!-- 鏍囧噯妯℃澘 --> - <el-table - v-loading="loading" - :data="userList" - :border="true" - @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="templateName" - prop="templateName" - width="200" - :show-overflow-tooltip="true" - /> - <el-table-column - label="涓昏鍐呭" - align="center" - key="note" - prop="note" - width="200" - :show-overflow-tooltip="true" - /> - - <el-table-column - label="閫傜敤鐤剧梾" - align="center" - key="aphonenumber" - prop="aphonenumber" - > - <template slot-scope="scope"> - <el-button - size="medium" - type="text" - @click="illnessUpdate(scope.row)" - v-hasPermi="['system:user:edit']" - ><span class="button-textxg" - ><i class="el-icon-date"></i>璇︽儏</span - ></el-button - > - </template> - </el-table-column> - - <el-table-column - label="鏍囩" - align="center" - key="labelInfo" - prop="labelInfo" - width="160" - :show-overflow-tooltip="true" - > - <template slot-scope="scope"> - <div v-if="scope.row.labelInfo"> - <span v-for="item in JSON.parse(scope.row.labelInfo)">{{ - item.tagname - }}</span> - </div> - <div v-else> - <span>鏃�</span> - </div> - </template> - </el-table-column> - <el-table-column - label="閫傜敤闄㈠尯" - align="center" - key="campus" - prop="campus" - width="160" - :show-overflow-tooltip="true" - > - <template slot-scope="scope"> - <div v-if="scope.row.campus"> - <span v-for="item in scope.row.campus.split(',')" - >{{ item }}銆� - </span> - </div> - <div v-else> - <span>鏃�</span> - </div> - </template> - </el-table-column> - - <el-table-column - label="璧勬枡褰㈠紡" - align="center" - key="playType" - prop="playType" - width="120" - > - <template slot-scope="scope"> - <dict-tag - :options="precedencetype" - :value="scope.row.playType" - /> - </template> - </el-table-column> - <el-table-column - label="鐗堟湰鍙�" - align="center" - key="versions" - prop="versions" - width="120" - /> - <el-table-column - label="鏈�杩戜慨鏀�" - align="center" - key="updateTime" - prop="updateTime" - width="120" - /> - <el-table-column label="鍙敤鐘舵��" align="center" key="usestate"> - <template slot-scope="scope"> - <dict-tag :options="qyoptions" :value="scope.row.usestate" /> - </template> - </el-table-column> - - <el-table-column - label="鎿嶄綔" - fixed="right" - align="center" - width="200" - class-name="small-padding fixed-width" - > - <template slot-scope="scope"> - <el-button - size="medium" - type="text" - @click="compileUpdate(scope.row)" - ><span class="button-bji" - ><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-solid"></i>鍒犻櫎</span - ></el-button - > - <el-button - size="medium" - type="text" - @click="preview(scope.row)" - v-hasPermi="['system:user:remove']" - ><span class=".button-xiazai" - ><i class="el-icon-s-management"></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> - </div> - </div> - <!-- 娣诲姞绫诲埆寮规 --> - <el-dialog - :title="title" - width="30%" - :close-on-click-modal="false" - :visible.sync="dialogFormVisible" - > - <div style="text-align: center; margin-bottom: 20px"> - <el-radio-group v-model="radio"> - <el-radio-button label="涓诲垎绫�" v-show="zifon"></el-radio-button> - <el-radio-button label="瀛愬垎绫�" v-show="zufon"></el-radio-button> - </el-radio-group> - </div> - <el-divider></el-divider> - <el-form :model="classifyform"> - <el-form-item label="璇烽�夋嫨闂澶х被" v-if="radio == '瀛愬垎绫�'"> - <el-select v-model="classifyform.pid" placeholder="璇烽�夋嫨"> - <el-option - v-for="item in deptOptions" - :key="item.id" - :label="item.indexAssortName" - :value="item.id" - > - </el-option> - </el-select> - </el-form-item> - <el-form-item label="璇疯緭鍏ョ被鍒悕绉�"> - <el-input - v-model="classifyform.indexAssortName" - autocomplete="off" - ></el-input> - </el-form-item> - </el-form> - <div slot="footer" class="dialog-footer"> - <el-button @click="getDeptTree()">鍙� 娑�</el-button> - <el-button type="primary" @click="submitsidecolumn">纭� 瀹�</el-button> - </div> - </el-dialog> - <!-- 娣诲姞鐤剧梾瀵硅瘽妗� --> - <el-dialog title="鎸囨爣鐤剧梾" :visible.sync="illnessVisible" width="50%"> - <div> - <div class="xinz-infs"> - <el-tag - :key="item.icd10name" - type="warning" - v-for="item in illnesslist" - closable - :disable-transitions="false" - @close="handleCloseillness(item)" - > - {{ item.icd10name }} - </el-tag> - <el-select - v-model="inputValue" - v-if="inputVisible" - @change="illnessConfirm" - :remote-method="remoteMethod" - filterable - remote - allow-create - default-first-option - placeholder="璇烽�夋嫨/鏌ヨ" - :loading="loading" - > - <el-option - v-for="item in optionsillness" - :key="item.icdid" - :label="item.icdname" - :value="item.icdid" - > - </el-option> - </el-select> - <el-button - v-else - class="button-new-tag" - size="small" - @click="showInput" - >+ 鏂板鐤剧梾</el-button - > - </div> - </div> - <span slot="footer" class="dialog-footer"> - <el-button @click="illnessVisible = false">鍙� 娑�</el-button> - <el-button type="primary" @click="confirmillness">纭� 瀹�</el-button> - </span> - </el-dialog> - <!-- 闅忚棰樼洰棰勮 --> - <el-dialog title="闅忚棰樼洰棰勮" :visible.sync="topicVisible" width="50%"> - <div class="preview-left"> - <div v-for="item in topicform.ivrLibaTemplateScriptVOList"> - <!-- 鍗曢�� --> - <div - class="scriptTopic-dev" - :key="item.targetid" - v-if="item.valueType == 1" - > - <div class="dev-text"> - {{ item.targetid }}銆乕鍗曢�塢<span>{{ item.scriptContent }}</span> - </div> - <div class="dev-xx"> - <el-radio-group v-model="item.remark"> - <el-radio - v-for="(items, index) in item.ivrLibaScriptTargetoptionList" - :key="index" - :label="index" - >{{ items.targetvalue }}</el-radio - > - </el-radio-group> - </div> - </div> - <!-- 澶氶�� --> - <div - class="scriptTopic-dev" - :key="item.targetid" - v-if="item.valueType == 2" - > - <div class="dev-text"> - {{ item.targetid }}銆乕澶氶�塢<span>{{ item.scriptContent }}</span> - </div> - <div class="dev-xx"> - <el-checkbox-group v-model="item.remark"> - <el-checkbox - v-for="(items, index) in item.ivrLibaScriptTargetoptionList" - :key="index" - :label="index" - > - {{ items.targetvalue }} - </el-checkbox> - </el-checkbox-group> - </div> - </div> - <!-- 濉┖ --> - <div - class="scriptTopic-dev" - :key="item.targetid" - v-if="item.valueType == 3" - > - <div class="dev-text"> - {{ item.targetid }}銆乕濉┖]<span>{{ item.scriptContent }}</span> - </div> - <div class="dev-xx"> - <el-input placeholder="璇疯緭鍏ョ瓟妗�" v-model="radioas" clearable> - </el-input> - </div> - </div> - </div> - </div> - </el-dialog> - </div> -</template> - -<script> -import store from "@/store"; - -import { - getFollowupclassify, - delFollowupclassify, - addFollowupclassify, - editFollowupclassify, - addtargetillness, - getvFollowup, - compileFollowup, - delFollowupinfo, - getverbaltricklist, - Followupinfo, - getFollowuplist, - getillnesslist, - illnesslistget, - getillness, -} from "@/api/AiCentre/index"; -import { listDept } from "@/api/system/dept"; -export default { - name: "templateku", - data() { - return { - topactiveName: "Local", //椤堕儴閫夋嫨 - // 閬僵灞� - loading: false, - // 閫変腑鏁扮粍 - ids: [], - // 闈炲崟涓鐢� - single: true, - // 闈炲涓鐢� - multiple: true, - // 鏄剧ず鎼滅储鏉′欢 - showSearch: true, - // 鎬绘潯鏁� - total: 0, - namequestionnaire: "", - haoquestionnaire: "", - topicform: {}, - topicVisible: false, - idds: "", - amendtag: false, //鏄惁淇敼绫诲埆 - dialogFormVisible: false, //淇敼娣诲姞绫诲埆寮规 - deleteVisible: false, //鍒嗙被鍒犻櫎寮规 - deletefenl: "楂樿鍘�", //鍒犻櫎椤� - classifyform: { - categoryname: "", - }, //绫诲埆琛ㄥ崟 - // 琛ㄦ牸鏁版嵁 - userList: [], - // 寮瑰嚭灞傛爣棰� - title: "鏂板绫诲埆", - // 鏄惁鏄剧ず寮瑰嚭灞� - open: false, - // 鏃ユ湡鑼冨洿 - dateRange: [], - // 宀椾綅閫夐」 - postOptions: [], - // 瑙掕壊閫夐」 - roleOptions: [], - precedencetype: [], - // 娣诲姞銆佷慨鏀瑰弬鏁� - indexform: {}, - numberlb: 22, - numberlbs: 2, - sidecolumnform: {}, //娣诲姞绫诲埆琛ㄥ崟 - dialogFormVisible: false, //娣诲姞绫诲埆寮规 - sidecolumnval: "", //绫诲埆鎼滅储 - // 鎾姤鏂瑰紡 - qyoptionbo: [], - //绫诲埆鍒楄〃 - editableTabs: [], - // 鏌ヨ鍙傛暟 - queryParams: { - pageNum: 1, - pageSize: 10, - }, - campus: [], - // 琛ㄥ崟鏍¢獙 - rules: {}, - indexid: null, - inputValue: "", - radio: "涓诲垎绫�", - zufon: true, - zifon: true, - inputVisible: false, - illnessVisible: false, //鎸囨爣鐤剧梾寮规 - deptOptions: [], - optionsillness: [], - illnesslistapi: [], - illnesslist: [], - defaultProps: { - children: "ivrLibaTemplateAssortList", - label: "indexAssortName", - }, - deptList: [], - props: { multiple: true, value: "deptId", label: "deptName" }, - mode: [], - languagelist: [], - qyoptions: [], - courtyardlist: [], - }; - }, - watch: { - // 鏍规嵁鍚嶇О绛涢�夐儴闂ㄦ爲 - sidecolumnval(val) { - this.$refs.tree.filter(val); - }, - }, - created() { - this.getList(); - this.getDeptTree(); - this.zufon = true; - this.zifon = true; - this.mode = store.getters.mode; - this.languagelist = store.getters.languagelist; - this.qyoptions = store.getters.usable; - this.precedencetype = store.getters.precedencetype; - this.courtyardlist = store.getters.courtyardlist; - }, - - methods: { - /** 鏌ヨ淇℃伅 */ - getList() { - this.queryParams.campus = this.campus.join(","); - getFollowuplist(this.queryParams).then((res) => { - console.log(res); - console.log(this.userList); - this.userList = res.rows; - this.total = res.total; - - console.log(this.userList[0].campus.split(",")); - }); - listDept({ pageNum: 1, pageSize: 10 }).then((response) => { - this.deptList = this.handleTree(response.data, "deptId"); - }); - }, - - // 澶嶅埗妯℃澘 - copyfn() {}, - // 涓嬭浇妯℃澘 - downloadfn() {}, - // 璺宠浆缂栬緫璇濇湳椤甸潰 - compileUpdate(row) { - // this.$router.replace("/tpuconfigurat"); - this.$router.push({ - path: "/knowledge/tpuconfigurat/", - query: { id: row.id }, - }); - }, - - //鎼滅储绫诲埆 - sidecolumnss() {}, - // 渚挎嵎鏍囩 - tsgnameto() {}, - // 鍒囨崲鍏变韩/鏈湴 - tophandleClick() {}, - // 鍙栨秷鎸夐挳 - cancel() { - this.reset(); - }, - - // 琛ㄥ崟閲嶇疆 - reset() { - this.form = { - userId: undefined, - deptId: undefined, - userName: undefined, - nickName: undefined, - password: undefined, - phonenumber: undefined, - email: undefined, - sex: undefined, - status: "0", - remark: undefined, - postIds: [], - roleIds: [], - }; - this.resetForm("form"); - }, - /** 鎼滅储鎸夐挳鎿嶄綔 */ - handleQuery() { - this.queryParams.pageNum = 1; - this.getList(); - }, - /** 閲嶇疆鎸夐挳鎿嶄綔 */ - resetQuery() { - this.dateRange = []; - this.resetForm("queryForm"); - this.queryParams.deptId = undefined; - this.$refs.tree.setCurrentKey(null); - this.handleQuery(); - }, - // 澶氶�夋閫変腑鏁版嵁 - handleSelectionChange(selection) { - this.ids = selection.map((item) => item.id); - this.single = selection.length != 1; - this.multiple = !selection.length; - }, - /** 鏂板鎸夐挳鎿嶄綔 */ - handleAdd() { - this.$router.push({ - path: "/knowledge/tpuconfigurat/", - query: { id: null, assortid: this.queryParams.assortid }, - }); - }, - - /** 鍒犻櫎鎸夐挳鎿嶄綔 */ - handleDelete(row) { - const userids = row.id || this.ids; - this.$modal - .confirm('鏄惁纭鍒犻櫎鐢ㄦ埛缂栧彿涓�"' + userids + '"鐨勬暟鎹」锛�') - .then(function () { - return delFollowupinfo(userids); - }) - .then(() => { - this.getList(); - this.$modal.msgSuccess("鍒犻櫎鎴愬姛"); - }) - .catch(() => {}); - }, - // 鍒嗙被鏍�----------------------------------------- - // 淇敼鍒嗙被寮规 - popoveramend(tagcategoryid) { - this.idds = tagcategoryid; - this.amendtag = true; - this.dialogFormVisible = true; - }, - // 鏌ヨ鏍� - getDeptTree() { - getFollowupclassify({}).then((res) => { - this.deptOptions = res.rows; - this.dialogFormVisible = false; - }); - }, - - // 娣诲姞绫诲埆鏍� - submitsidecolumn() { - if (this.classifyform.id) { - editFollowupclassify(this.classifyform).then((res) => { - this.getDeptTree(); - this.$modal.msgSuccess("淇敼鎴愬姛"); - this.classifyform = {}; - this.dialogFormVisible = false; - }); - return; - } - let calssvalue = {}; - if ( - this.classifyform.pid && - this.classifyform.indexAssortName && - this.radio == "瀛愬垎绫�" - ) { - const index = this.deptOptions.findIndex( - (obj) => obj.id == this.classifyform.pid - ); - calssvalue = this.deptOptions[index]; - calssvalue.ivrLibaTemplateAssortList.push(this.classifyform); - } else if (this.radio == "涓诲垎绫�" && this.classifyform.indexAssortName) { - this.classifyform.pid = null; - this.classifyform.ivrLibaTemplateAssortList = []; - } else { - return this.$modal.msgError("璇峰~鍐欏畬鏁翠俊鎭�"); - } - addFollowupclassify(this.classifyform).then((res) => { - this.getDeptTree(); - this.$modal.msgSuccess("鏂板鎴愬姛"); - this.classifyform = {}; - this.dialogFormVisible = false; - }); - }, - remove(a, b) { - if (b.pid) { - this.$modal - .confirm('鏄惁纭鍒犻櫎鍒嗙被椤逛负"' + b.indexAssortName + '"鐨勬暟鎹」锛�') - .then(function () { - return delFollowupclassify(b.id); - }) - .then(() => { - this.getDeptTree(); - this.$modal.msgSuccess("鍒犻櫎鎴愬姛"); - }) - .catch(() => {}); - } else { - this.$modal - .confirm( - '鏄惁纭鍒犻櫎涓�绾у垎绫�"' + - b.indexAssortName + - '"锛熷垹闄ゅ悗鍏朵笅鍒嗙被灏嗗綊绫烩�樻湭鍒嗙被鈥�' - ) - .then(() => { - return delFollowupclassify(b.id); - }) - .then(() => { - this.getDeptTree(); - this.$modal.msgSuccess("鍒犻櫎鎴愬姛"); - }) - .catch(() => {}); - } - }, - altertag(a, b) { - this.dialogFormVisible = true; - if (!b.pid) { - this.radio = "涓诲垎绫�"; - this.title = "淇敼涓诲垎绫�"; - this.zufon = false; - } else { - this.radio = "瀛愬垎绫�"; - this.title = "淇敼瀛愬垎绫�"; - this.zifon = false; - } - this.classifyform = b; - this.dialogFormVisible = true; - }, - Newcategory() { - this.classifyform = {}; //绫诲埆琛ㄥ崟 - this.radio = "涓诲垎绫�"; - this.dialogFormVisible = true; - this.zifon = true; - this.zufon = true; - }, - // 棰勮 - preview(row) { - getvFollowup({ id: row.id }).then((res) => { - this.topicform = res.data; - console.log(this.topicform); - this.topicVisible = true; - }); - }, - - // 绛涢�夎妭鐐� - filterNode(value, data) { - if (!value) return true; - return data.indexAssortName.indexOf(value) !== -1; - }, - handleNodeClick(data) { - this.queryParams.assortid = data.id; - this.getList(); - }, - // 鐤剧梾----------------------- - illnessUpdate(row) { - this.illnessVisible = true; - this.indexid = row.id; - this.illnesslistapi = []; - const illnessqueryParams = { - pageNum: 1, - pageSize: 100, - }; - getillnesslist(illnessqueryParams).then((response) => { - console.log(response); - this.optionsillness = response.rows; - }); - getillness({ outid: row.id, type: 3 }).then((res) => { - this.illnesslist = res.rows; - console.log(res); - }); - }, - handleCloseillness(tag) { - this.illnesslist.splice(this.illnesslist.indexOf(tag), 1); - if (tag.id) { - this.illnesslistapi.push(tag.id); - } - }, - remoteMethod(value) { - console.log(value); - const illnessqueryParams = { - pageNum: 1, - pageSize: 100, - icdname: value, - }; - this.loading = true; - setTimeout(() => { - this.loading = false; - getillnesslist(illnessqueryParams).then((response) => { - this.optionsillness = response.rows; - }); - }, 200); - }, - illnessConfirm(item) { - let opeavalue = {}; - let tagname = this.inputValue; - illnesslistget(item).then((res) => { - opeavalue = res.data; - opeavalue.outid = this.indexid; - opeavalue.type = 3; - opeavalue.icd10id = opeavalue.icdid; - opeavalue.icd10name = opeavalue.icdname; - opeavalue.icd10code = opeavalue.icdcode; - if (tagname) { - this.illnesslist.push(opeavalue); - } - }); - console.log(this.illnesslist); - this.inputVisible = false; - this.inputValue = ""; - }, - confirmillness() { - this.illnesslist.forEach((item, index) => { - if (!item.id) { - addtargetillness(item).then((res) => {}); - } - }); - if (this.illnesslistapi.length) { - deltargetillness(this.illnesslistapi.join(",")).then((res) => {}); - } - this.illnessVisible = false; - this.$modal.msgSuccess("缂栬緫鎴愬姛"); - }, - showInput() { - this.inputVisible = true; - }, - }, -}; -</script> - -<style lang="scss" scoped> -.Questionnairemanagement { - display: flex; -} -.sidecolumn { - width: 300px; - min-height: 100vh; - text-align: center; - // display: flex; - margin-top: 20px; - margin: 20px; - padding: 20px; - background: #fff; - 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); - .sidecolumn-top { - display: flex; - justify-content: space-between; - .top-wj { - font-size: 20px; - } - .top-tj { - font-size: 18px; - - color: rgb(0, 89, 255); - cursor: pointer; - } - } - .center-ss { - margin-top: 30px; - .input-with-select { - height: 40px !important; - } - } - .bottom-fl { - margin-top: 30px; - display: center !important; - } -} -.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); - .qrcode-text { - font-size: 20px; - span { - margin-left: 20px; - } - } - .qrcode-img { - width: 300px; - height: 400px; - } -} -.tsgname { - width: 90px; - margin-right: 10px; - text-align: center; - cursor: pointer; - height: 40px; - line-height: 40px; - background: #7799fa; - color: #ffff; - font-size: 18px; - border-radius: 5px; -} -.tsgname:hover { - background: #3366f5; -} -::v-deep.el-tabs--left, -.el-tabs--right { - overflow: hidden; - align-items: center; - display: flex; -} -::v-deep.el-input--medium .el-input__inner { - height: 40px !important; -} -::v-deep.el-tabs--right .el-tabs__active-bar.is-right { - height: 40px; - width: 5px; - left: 0; -} -::v-deep.el-tabs--right .el-tabs__item.is-right { - display: block; - font-size: 20px; -} -.leftvlue { - // display: flex; - // flex: 1; - width: 80%; - margin-top: 20px; - // margin: 20px; - padding: 30px; - background: #ffff; - border: 1px solid #dcdfe6; - -webkit-box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.12), - 0 0 6px 0 rgba(0, 0, 0, 0.04); - .mulsz { - font-size: 20px; - } -} -.xinz-infs { - font-size: 18px; - overflow: hidden; - text-overflow: ellipsis; - - line-height: 48px; - - .el-tag + .el-tag { - margin-left: 10px; - } - .button-new-tag { - margin-left: 10px; - height: 32px; - line-height: 30px; - padding-top: 0; - padding-bottom: 0; - } - .input-new-tag { - width: 90px; - margin-left: 10px; - vertical-align: bottom; - } -} -.leftvlues { - // display: flex; - // flex: 1; - width: 100%; - margin: 20px; - // margin: 20px; - padding: 30px; - background: #ffff; - border: 1px solid #dcdfe6; - -webkit-box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.12), - 0 0 6px 0 rgba(0, 0, 0, 0.04); - .mulsz { - font-size: 20px; - } -} -.preview-left { - margin: 20px; - // margin: 20px; - padding: 30px; - background: #ffff; - border: 1px solid #dcdfe6; - -webkit-box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.12), - 0 0 6px 0 rgba(0, 0, 0, 0.04); - .scriptTopic-dev { - margin-bottom: 25px; - font-size: 20px !important; - .dev-text { - margin-bottom: 10px; - } - } -} -::v-deep .el-tree-node__content { - display: -webkit-box; - display: -ms-flexbox; - display: flex; - -webkit-box-align: center; - -ms-flex-align: center; - align-items: center; - height: 46px; - font-size: 20px; - cursor: pointer; -} -::v-deep .el-tree { - position: relative; - cursor: default; - border-radius: 5px; - background: #eff8fe; - color: #606266; - border: 1px solid #bbe1fa; - // 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); -} -::v-deep - .el-tree--highlight-current - .el-tree-node.is-current - > .el-tree-node__content { - background-color: #7799fb; - color: #fff; -} -::v-deep .el-button--mini.is-circle { - padding: 7px; - margin: 0; - color: red; -} -.button-text { - color: rgb(70, 204, 238); -} -.button-bji { - color: rgb(39, 167, 67); -} -.button-textxg { - color: rgb(35, 81, 233); -} -.button-textsc { - color: rgb(235, 23, 23); -} -.button-xiazai { - color: #0ab2c9; -} -</style> diff --git a/src/views/repositoryai/templateku/particulars/index.vue b/src/views/repositoryai/templateku/particulars/index.vue deleted file mode 100644 index d2954a7..0000000 --- a/src/views/repositoryai/templateku/particulars/index.vue +++ /dev/null @@ -1,160 +0,0 @@ -<template> - <div> - <div class="basic">鍩烘湰淇℃伅</div> - <div class="top-text"> - <div class="substance"> - <p> - 鎸囨爣閫夐」锛�<span>{{ optionvalue }}</span> - </p> - </div> - </div> - <div class="headline"> - <div class="basics">闂閰嶇疆</div> - <div class="headbottom"> - <el-button - type="primary" - icon="el-icon-circle-plus-outline" - @click="addzbiao" - >娣诲姞鎸囨爣</el-button - > - <el-button type="primary" icon="el-icon-s-claim">淇濆瓨</el-button> - </div> - </div> - <div class="valuetop" v-for="(item, index) in deployList" :key="item.id"> - <div class="val-text"> - <div> - <span>{{ item.name }}</span> - </div> - <div class="text-icon" @click="deletei(index)"> - <i class="el-icon-delete" /> - </div> - </div> - <div class="val-bon"> - <el-form ref="form" :model="item" label-width="90px"> - <el-form-item label="璇煶鏂囨湰"> - <el-input v-model="item.name"></el-input> - </el-form-item> - <el-form-item label="璇煶璺緞"> - <el-input v-model="item.name"></el-input> - </el-form-item> - - <el-form-item label="鑷畾涔夎鍒�"> - <el-input type="textarea" v-model="item.valuetop"></el-input> - </el-form-item> - </el-form> - </div> - </div> - </div> -</template> - -<script> -export default { - data() { - return { - optionvalue: "鍖婚櫌鏅�氳瘽閫氱敤搴�", - - deployList: [ - { - id: 1, - name: "鎮ㄥソ锛屾垜鏄灏旀瞾宸︿腑鏃椾汉姘戝尰闄㈢殑鏅鸿兘鍥炶鍔╂墜锛�", - valuetop: - "(?!.*蹇榺.*涓峾.*娌�)^.*(鏄瘄鏈墊瀵箌鍋殀浣渱妫�|鏌澶嶈瘖|濂絴鍙傚姞|澶嶈瘖|鍘�(杩噟濂絴浜唡瀹寍鍖婚櫌)|鏉�(杩噟浜唡鍖婚櫌))|娌¢敊|瀵瑰憖|鍙兘|(宸茬粡|鏃�)鍘讳簡|寮�浜嗚嵂|鑵板甫|鍚婂甫|瑕佺殑|(?<!娌�)鏈夌殑|琛ㄥ甫,10;瑕�,5", - }, - { - id: 2, - name: "鎮ㄥソ锛屾垜鏄灏旀瞾宸︿腑鏃椾汉姘戝尰闄㈢殑鏅鸿兘鍥炶鍔╂墜锛�", - valuetop: - "(涓峾娌璋亅楝紎鎬庝箞).*(鐥厊鍙兘|鐭ラ亾|浜嗚В|娓呮|鎳倈鏄庣櫧|纭|纭畾|鏅撳緱|鐭ユ檽|璁ゅ緱|璇嗗緱|鍗拌薄|鐔熸倝|璁皘浼殀鍏冲績|鍏虫敞|娉ㄦ剰|鍛婅瘔|閫氱煡|鍚�)", - }, - ], - }; - }, - - created() {}, - - methods: { - onSubmit() { - console.log("submit!"); - }, - deletei(index) { - console.log(index); - this.deployList.splice(index, 1); - }, - addzbiao() { - const ids = this.deployList.length + 1; - console.log(ids); - this.deployList.push({ - id: ids, - name: "", - valuetop: "", - }); - }, - }, -}; -</script> - -<style lang="scss" scoped> -.top-text { - margin: 15px; - margin-top: 0; - border-radius: 4px; - padding: 0 30px 30px 30px; - background: #f2f5fc; - 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); -} -.basic { - height: 50px; - border-radius: 8px; - margin: 15px; - margin-bottom: 0; - padding: 0 20px 20px 20px; - line-height: 50px; - background: #bee2ff; -} -.headline { - display: flex; - height: 50px; - border-radius: 8px; - margin: 15px; - margin-bottom: 0; - padding: 0 20px 20px 20px; - line-height: 50px; - background: #bee2ff; - justify-content: space-between; -} -.valuetop { - .val-text { - display: flex; - border-radius: 8px; - height: 50px; - margin: 15px; - margin-bottom: 0; - // padding: 0 20px 20px 20px; - padding: 0 20px; - align-items: center; - background: #bee2ff; - justify-content: space-between; - .text-icon { - width: 35px; - height: 35px; - line-height: 35px; - text-align: center; - background: #fafafa; - cursor: pointer; - border-radius: 5px; - } - } - .val-bon { - margin: 15px; - margin-top: 0; - border-radius: 4px; - padding: 30px; - background: #f2f5fc; - 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); - } -} -</style> diff --git a/src/views/repositoryai/verbaltrick/index.vue b/src/views/repositoryai/verbaltrick/index.vue deleted file mode 100644 index e3f02ae..0000000 --- a/src/views/repositoryai/verbaltrick/index.vue +++ /dev/null @@ -1,1037 +0,0 @@ -<template> - <div class="Questionnairemanagement"> - <!-- 宸︿晶鏍� --> - <div class="sidecolumn"> - <div class="sidecolumn-top"> - <div class="top-wj">闂绫诲瀷</div> - <div class="top-tj" @click="Newcategory">+娣诲姞</div> - </div> - <div class="center-ss"> - <el-input - placeholder="璇疯緭鍏ュ唴瀹�" - v-model="sidecolumnval" - class="input-with-select" - size="medium " - > - </el-input> - </div> - <div class="head-container" style="margin-top: 20px"> - <el-tree - :data="deptOptions" - :props="defaultProps" - :expand-on-click-node="false" - :filter-node-method="filterNode" - ref="tree" - node-key="id" - default-expand-all - highlight-current - @node-click="handleNodeClick" - > - <span class="custom-tree-node" slot-scope="{ node, data }"> - <span>{{ node.label }}</span> - <span v-if="data.id > 0"> - <el-button - type="text" - icon="el-icon-delete" - circle - size="mini" - @click="() => remove(node, data)" - > - </el-button> - </span> - <span v-if="data.id > 0"> - <el-button - type="text" - circle - size="mini" - @click="() => altertag(node, data)" - ><span class="button-textxg" - ><i class="el-icon-edit-outline"></i - ></span> - </el-button> - </span> - </span> - </el-tree> - </div> - </div> - <!-- 鍙充晶鏁版嵁 --> - <div class="leftvlue"> - <div class="leftvlue-bg"> - <el-row :gutter="20"> - <!--鐢ㄦ埛鏁版嵁--> - <el-col :span="24" :xs="24"> - <el-form - :model="queryParams" - ref="queryForm" - size="small" - :inline="true" - v-show="showSearch" - label-width="98px" - > - <el-form-item label="闂鏍囬" prop="scriptTopic"> - <el-input - v-model="queryParams.scriptTopic" - placeholder="璇疯緭鍏�" - clearable - style="width: 200px" - @keyup.enter.native="handleQuery" - /> - </el-form-item> - <el-form-item label="鍏宠仈鎸囨爣" prop="targetname"> - <el-input - v-model="queryParams.targetname" - placeholder="璇疯緭鍏�" - clearable - style="width: 200px" - @keyup.enter.native="handleQuery" - /> - </el-form-item> - <el-form-item label="璇█" prop="status"> - <el-select v-model="queryParams.language" placeholder="璇烽�夋嫨"> - <el-option - v-for="item in languagelist" - :key="item.value" - :label="item.label" - :value="item.value" - > - </el-option> - </el-select> - </el-form-item> - <el-form-item label="鏄惁鍙敤" prop="isavailable"> - <el-select - v-model="queryParams.isavailable" - placeholder="璇烽�夋嫨" - > - <el-option - v-for="item in qyoptions" - :key="item.value" - :label="item.label" - :value="item.value" - > - </el-option> - </el-select> - </el-form-item> - - <el-form-item> - <el-button - type="primary" - icon="el-icon-search" - size="medium" - @click="handleQuery" - >鎼滅储</el-button - > - <el-button - icon="el-icon-refresh" - size="medium" - @click="resetQuery" - >閲嶇疆</el-button - > - </el-form-item> - </el-form> - - <el-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="danger" - plain - icon="el-icon-delete" - size="medium" - :disabled="multiple" - @click="handleDelete" - v-hasPermi="['system:user:remove']" - >鍒犻櫎</el-button - > - </el-col> - </el-row> - <el-table - v-loading="loading" - :data="userList" - :border="true" - @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="scriptTopic" - prop="scriptTopic" - :show-overflow-tooltip="true" - /> - <el-table-column - label="闂鏂囨湰" - align="center" - key="scriptContent" - prop="scriptContent" - width="200" - :show-overflow-tooltip="true" - /> - - <el-table-column - label="鍏宠仈鎸囨爣" - align="center" - key="targetname" - prop="targetname" - width="120" - /> - - /><el-table-column - label="閫傜敤鏂瑰紡" - align="center" - key="suitway" - prop="suitway" - width="120" - > - <template slot-scope="scope"> - <dict-tag :options="mode" :value="scope.row.suitway" /> - </template> - </el-table-column> - <el-table-column - label="闂绫诲瀷" - align="center" - key="valueType" - prop="valueType" - width="120" - > - <template slot-scope="scope"> - <dict-tag :options="valuetype" :value="scope.row.valueType" /> - </template> - </el-table-column> - <el-table-column - label="閫傜敤鐤剧梾" - align="center" - key="suitDisease" - prop="suitDisease" - width="120" - > - <template slot-scope="scope"> - <el-button - size="medium" - type="text" - @click="illnessUpdate(scope.row)" - v-hasPermi="['system:user:edit']" - ><span class="button-textxg" - ><i class="el-icon-date"></i>璇︽儏</span - ></el-button - > - </template> - </el-table-column> - <el-table-column - label="璇█" - align="center" - key="language" - prop="language" - width="120" - /> - <el-table-column - label="鐗堟湰" - align="center" - key="version" - prop="version" - width="120" - /> - <el-table-column - label="鍙敤" - align="center" - key="usestate" - prop="usestate" - width="120" - > - <template slot-scope="scope"> - <dict-tag :options="qyoptions" :value="scope.row.usestate" /> - </template> - </el-table-column> - <el-table-column - label="鏈�杩戜慨鏀�" - align="center" - key="modifytime" - prop="modifytime" - width="120" - /> - - <el-table-column - label="鎿嶄綔" - fixed="right" - align="center" - width="250" - class-name="small-padding fixed-width" - > - <template slot-scope="scope"> - <el-button - size="medium" - type="text" - @click="compileUpdate(scope.row)" - v-hasPermi="['system:user:edit']" - ><span class="button-bji" - ><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-solid"></i>鍒犻櫎</span - ></el-button - > - <el-button - size="medium" - type="text" - @click="preview(scope.row)" - v-hasPermi="['system:user:remove']" - ><span class="button-text" - ><i class="el-icon-view"></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> - </div> - </div> - <!-- 娣诲姞绫诲埆寮规 --> - <el-dialog :title="title" width="30%" :visible.sync="dialogFormVisible"> - <div style="text-align: center; margin-bottom: 20px"> - <el-radio-group v-model="radio"> - <el-radio-button label="涓诲垎绫�" v-show="zifon"></el-radio-button> - <el-radio-button label="瀛愬垎绫�" v-show="zufon"></el-radio-button> - </el-radio-group> - </div> - <el-divider></el-divider> - - <el-form :model="classifyform"> - <el-form-item label="璇烽�夋嫨闂澶х被" v-if="radio == '瀛愬垎绫�'"> - <el-select v-model="classifyform.pid" placeholder="璇烽�夋嫨"> - <el-option - v-for="item in deptOptions" - :key="item.id" - :label="item.indexAssortName" - :value="item.id" - > - </el-option> - </el-select> - </el-form-item> - <el-form-item label="璇疯緭鍏ョ被鍒悕绉�"> - <el-input - v-model="classifyform.indexAssortName" - autocomplete="off" - ></el-input> - </el-form-item> - </el-form> - <div slot="footer" class="dialog-footer"> - <el-button @click="getDeptTree()">鍙� 娑�</el-button> - <el-button type="primary" @click="submitsidecolumn">纭� 瀹�</el-button> - </div> - </el-dialog> - <!-- 娣诲姞鐤剧梾瀵硅瘽妗� --> - <el-dialog title="鎸囨爣鐤剧梾" :visible.sync="illnessVisible" width="50%"> - <div> - <div class="xinz-infs"> - <el-tag - :key="item.icd10name" - type="warning" - v-for="item in illnesslist" - closable - :disable-transitions="false" - @close="handleCloseillness(item)" - > - {{ item.icd10name }} - </el-tag> - <el-select - v-model="inputValue" - v-if="inputVisible" - @change="illnessConfirm" - :remote-method="remoteMethod" - filterable - remote - allow-create - default-first-option - placeholder="璇烽�夋嫨/鏌ヨ" - :loading="loading" - > - <el-option - v-for="item in optionsillness" - :key="item.icdid" - :label="item.icdname" - :value="item.icdid" - > - </el-option> - </el-select> - <el-button - v-else - class="button-new-tag" - size="small" - @click="showInput" - >+ 鏂板鐤剧梾</el-button - > - </div> - </div> - <span slot="footer" class="dialog-footer"> - <el-button @click="illnessVisible = false">鍙� 娑�</el-button> - <el-button type="primary" @click="confirmillness">纭� 瀹�</el-button> - </span> - </el-dialog> - <!-- 闅忚棰樼洰棰勮 --> - <el-dialog title="闅忚棰樼洰棰勮" :visible.sync="topicVisible" width="50%"> - <div class="preview-left"> - <div v-if="topicform.valueType == 1"> - <div class="dev-text"> - [鍗曢�塢<span>{{ topicform.scriptContent }}</span> - </div> - - <div class="dev-xx"> - <el-radio-group v-model="topicform.asrtext"> - <el-radio - v-for="( - topicforms, index - ) in topicform.ivrLibaScriptTargetoptionList" - :key="topicforms.targetvalue" - :label="topicforms.targetvalue" - >{{ topicforms.targetvalue }}</el-radio - > - </el-radio-group> - </div> - </div> - <div class="scriptTopic-dev" v-if="topicform.valueType == 2"> - <div class="dev-text"> - [澶氶�塢<span>{{ topicform.scriptContent }}</span> - </div> - <div class="dev-xx"> - <el-checkbox-group v-model="topicform.remark"> - <el-checkbox - v-for="( - topicforms, index - ) in topicform.ivrLibaScriptTargetoptionList" - :key="topicforms.targetvalue" - :label="topicforms.targetvalue" - >{{ topicforms.targetvalue }} - </el-checkbox> - </el-checkbox-group> - </div> - </div> - <div class="scriptTopic-dev" v-if="topicform.valueType == 3"> - <div class="dev-text"> - [濉┖]<span>{{ topicform.scriptContent }}</span> - </div> - <div class="dev-xx"> - <el-input placeholder="璇疯緭鍏ョ瓟妗�" v-model="radioas" clearable> - </el-input> - </div> - </div> - </div> - </el-dialog> - </div> -</template> - -<script> -import { - getverbaltricklist, - verbaltrickinfo, - getverbaltrick, - delverbaltrickinfo, - compileverbaltrickclassify, - getillnesslist, - illnesslistget, - getillness, - deltargetillness, - addtargetillness, - getbaltrickclassify, - delbaltrickclassify, - addbaltrickclassify, -} from "@/api/AiCentre/index"; -import store from "@/store"; -import { getToken } from "@/utils/auth"; -import Treeselect from "@riophae/vue-treeselect"; -import "@riophae/vue-treeselect/dist/vue-treeselect.css"; -export default { - name: "questionnaire", - components: { Treeselect }, - data() { - return { - topactiveName: "Local", //椤堕儴閫夋嫨 - // 閬僵灞� - loading: false, - // 閫変腑鏁扮粍 - ids: [], - // 闈炲崟涓鐢� - single: true, - // 闈炲涓鐢� - multiple: true, - // 鏄剧ず鎼滅储鏉′欢 - showSearch: true, - // 鎬绘潯鏁� - total: 0, - namequestionnaire: "", - haoquestionnaire: "", - topicform: { - scriptContent: "", - }, - idds: "", - amendtag: false, //鏄惁淇敼绫诲埆 - dialogFormVisible: false, //淇敼娣诲姞绫诲埆寮规 - topicVisible: false, //棰勮寮规 - indexid: null, - inputValue: "", - inputVisible: false, - illnessVisible: false, //鎸囨爣鐤剧梾寮规 - deptOptions: [], - optionsillness: [], - illnesslistapi: [], - illnesslist: [], - defaultProps: { - children: "ivrLibaScriptAssortList", - label: "indexAssortName", - }, - classifyform: { - categoryname: "", - }, //绫诲埆琛ㄥ崟 - // 琛ㄦ牸鏁版嵁 - userList: [ - { - userid: 1, - userName: "琛�甯歌銆佸翱甯歌", - nickName: "璐", - aphonenumber: "(?!涓�.*|娌�.*|鏈�.*)^.*([璐钩鍑]|璐|璇勫|璇勫),10", - bphonenumber: "閫夋嫨", - cphonenumber: "鏅�氳瘽", - status: "0", - }, - ], - // 寮瑰嚭灞傛爣棰� - title: "鏂板绫诲埆", - // 鏄惁鏄剧ず寮瑰嚭灞� - open: false, - // 鏃ユ湡鑼冨洿 - dateRange: [], - // 宀椾綅閫夐」 - postOptions: [], - // 瑙掕壊閫夐」 - roleOptions: [], - // 娣诲姞銆佷慨鏀瑰弬鏁� - indexform: {}, - numberlb: 22, - numberlbs: 2, - sidecolumnform: {}, //娣诲姞绫诲埆琛ㄥ崟 - dialogFormVisible: false, //娣诲姞绫诲埆寮规 - sidecolumnval: "", //绫诲埆鎼滅储 - indexopen: false, //寮规灞曠ず鍚� - propss: { multiple: true }, - radio: "涓诲垎绫�", - zufon: true, - zifon: true, - usable: [], - - mode: [], - languagelist: [], - valuetype:[], - qyoptions: [], - // 鏌ヨ鍙傛暟 - queryParams: { - pageNum: 1, - pageSize: 10, - }, - // 琛ㄥ崟鏍¢獙 - rules: {}, - }; - }, - watch: { - // 鏍规嵁鍚嶇О绛涢�夐儴闂ㄦ爲 - sidecolumnval(val) { - this.$refs.tree.filter(val); - }, - }, - created() { - this.getList(); - this.getDeptTree(); - this.mode = store.getters.mode; - this.languagelist = store.getters.languagelist; - this.valuetype = store.getters.valuetypelb; - this.qyoptions = store.getters.usable; - }, - - methods: { - /** 鏌ヨ鐢ㄦ埛鍒楄〃 */ - getList() { - this.loading = true; - getverbaltricklist(this.queryParams).then((res) => { - this.userList = res.rows; - this.loading = false; - this.total = res.total; - }); - }, - - compileUpdate(row) { - this.$router.push({ - path: "/knowledge/verbaltrick/particulars/", - query: { id: row.id }, - }); - }, - /** 鍒犻櫎鎸夐挳鎿嶄綔 */ - handleDelete(row) { - const userIds = row.id || this.ids; - this.$modal - .confirm('鏄惁纭鍒犻櫎鐢ㄦ埛缂栧彿涓�"' + userIds + '"鐨勬暟鎹」锛�') - .then(function () { - return delverbaltrickinfo(userIds); - }) - .then(() => { - this.getList(); - this.$modal.msgSuccess("鍒犻櫎鎴愬姛"); - }) - .catch(() => {}); - }, - // 琛ㄥ崟閲嶇疆 - reset() { - this.form = {}; - this.resetForm("form"); - }, - /** 鎼滅储鎸夐挳鎿嶄綔 */ - handleQuery() { - this.queryParams.pageNum = 1; - this.getList(); - }, - /** 閲嶇疆鎸夐挳鎿嶄綔 */ - resetQuery() { - this.dateRange = []; - this.resetForm("queryForm"); - this.queryParams.deptId = undefined; - this.$refs.tree.setCurrentKey(null); - this.handleQuery(); - }, - // 澶氶�夋閫変腑鏁版嵁 - handleSelectionChange(selection) { - this.ids = selection.map((item) => item.id); - this.single = selection.length != 1; - this.multiple = !selection.length; - }, - /** 鏂板鎸夐挳鎿嶄綔 */ - handleAdd() { - this.$router.push({ - path: "/knowledge/verbaltrick/particulars/", - query: { id: "", categoryid: this.queryParams.categoryid }, - }); - }, - // 鍒嗙被鏍�----------------------------------------- - // 淇敼鍒嗙被寮规 - popoveramend(tagcategoryid) { - this.idds = tagcategoryid; - this.amendtag = true; - this.dialogFormVisible = true; - }, - // 鏌ヨ鏍� - getDeptTree() { - getbaltrickclassify({}).then((res) => { - this.deptOptions = res.rows; - this.dialogFormVisible = false; - }); - }, - - // 娣诲姞绫诲埆鏍� - submitsidecolumn() { - if (this.classifyform.id) { - compileverbaltrickclassify(this.classifyform).then((res) => { - this.getDeptTree(); - this.$modal.msgSuccess("淇敼鎴愬姛"); - this.classifyform = {}; - this.dialogFormVisible = false; - }); - return; - } - let calssvalue = {}; - if ( - this.classifyform.pid && - this.classifyform.indexAssortName && - this.radio == "瀛愬垎绫�" - ) { - const index = this.deptOptions.findIndex( - (obj) => obj.id == this.classifyform.pid - ); - calssvalue = this.deptOptions[index]; - calssvalue.ivrLibaScriptAssortList.push(this.classifyform); - } else if (this.radio == "涓诲垎绫�" && this.classifyform.indexAssortName) { - this.classifyform.pid = null; - this.classifyform.ivrLibaScriptAssortList = []; - } else { - return this.$modal.msgError("璇峰~鍐欏畬鏁翠俊鎭�"); - } - addbaltrickclassify(this.classifyform).then((res) => { - this.getDeptTree(); - this.$modal.msgSuccess("鏂板鎴愬姛"); - this.classifyform = {}; - this.dialogFormVisible = false; - }); - }, - remove(a, b) { - if (b.pid) { - this.$modal - .confirm('鏄惁纭鍒犻櫎鍒嗙被椤逛负"' + b.indexAssortName + '"鐨勬暟鎹」锛�') - .then(function () { - return delbaltrickclassify(b.id); - }) - .then(() => { - this.getDeptTree(); - this.$modal.msgSuccess("鍒犻櫎鎴愬姛"); - }) - .catch(() => {}); - } else { - this.$modal - .confirm( - '鏄惁纭鍒犻櫎涓�绾у垎绫�"' + - b.indexAssortName + - '"锛熷垹闄ゅ悗鍏朵笅鍒嗙被灏嗗綊绫烩�樻湭鍒嗙被鈥�' - ) - .then(() => { - return delbaltrickclassify(b.id); - }) - .then(() => { - this.getDeptTree(); - this.$modal.msgSuccess("鍒犻櫎鎴愬姛"); - }) - .catch(() => {}); - } - }, - altertag(a, b) { - this.dialogFormVisible = true; - if (!b.pid) { - this.radio = "涓诲垎绫�"; - this.title = "淇敼涓诲垎绫�"; - this.zufon = false; - } else { - this.radio = "瀛愬垎绫�"; - this.title = "淇敼瀛愬垎绫�"; - this.zifon = false; - } - this.classifyform = b; - this.dialogFormVisible = true; - }, - Newcategory(){ - this.classifyform= {}, //绫诲埆琛ㄥ崟 - this.radio = "涓诲垎绫�"; - this.dialogFormVisible = true - this.zifon = true; - this.zufon = true; - }, - - // 绛涢�夎妭鐐� - filterNode(value, data) { - if (!value) return true; - return data.indexAssortName.indexOf(value) !== -1; - }, - handleNodeClick(data) { - this.queryParams.assortid = data.id; - this.getList(); - }, - - // 棰勮 - preview(row) { - getverbaltrick({ id: row.id }).then((res) => { - this.topicform = res.data; - console.log(this.topicform); - this.topicVisible = true; - }); - }, - // 鐤剧梾----------------------- - illnessUpdate(row) { - this.illnessVisible = true; - this.indexid = row.id; - this.illnesslistapi = []; - const illnessqueryParams = { - pageNum: 1, - pageSize: 100, - }; - getillnesslist(illnessqueryParams).then((response) => { - console.log(response); - this.optionsillness = response.rows; - }); - getillness({ outid: row.id, type: 2 }).then((res) => { - this.illnesslist = res.rows; - console.log(res); - }); - }, - handleCloseillness(tag) { - this.illnesslist.splice(this.illnesslist.indexOf(tag), 1); - if (tag.id) { - this.illnesslistapi.push(tag.id); - } - }, - remoteMethod(value) { - console.log(value); - const illnessqueryParams = { - pageNum: 1, - pageSize: 100, - icdname: value, - }; - this.loading = true; - setTimeout(() => { - this.loading = false; - getillnesslist(illnessqueryParams).then((response) => { - this.optionsillness = response.rows; - }); - }, 200); - }, - illnessConfirm(item) { - let opeavalue = {}; - let tagname = this.inputValue; - illnesslistget(item).then((res) => { - opeavalue = res.data; - opeavalue.outid = this.indexid; - opeavalue.type = 2; - opeavalue.icd10id = opeavalue.icdid; - opeavalue.icd10name = opeavalue.icdname; - opeavalue.icd10code = opeavalue.icdcode; - if (tagname) { - this.illnesslist.push(opeavalue); - } - }); - console.log(this.illnesslist); - this.inputVisible = false; - this.inputValue = ""; - }, - confirmillness() { - this.illnesslist.forEach((item, index) => { - if (!item.id) { - addtargetillness(item).then((res) => {}); - } - }); - if (this.illnesslistapi.length) { - deltargetillness(this.illnesslistapi.join(",")).then((res) => {}); - } - this.illnessVisible = false; - this.$modal.msgSuccess("缂栬緫鎴愬姛"); - }, - showInput() { - this.inputVisible = true; - }, - }, -}; -</script> - -<style lang="scss" scoped> -.Questionnairemanagement { - display: flex; -} -.sidecolumn { - width: 300px; - min-height: 100vh; - text-align: center; - // display: flex; - margin-top: 20px; - margin: 20px; - padding: 30px; - background: #fff; - 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); - .sidecolumn-top { - display: flex; - justify-content: space-between; - .top-wj { - font-size: 20px; - } - .top-tj { - font-size: 18px; - - color: rgb(0, 89, 255); - cursor: pointer; - } - } - .center-ss { - margin-top: 30px; - .input-with-select { - height: 40px !important; - } - } - .bottom-fl { - margin-top: 30px; - display: center !important; - } -} -.xinz-infs { - font-size: 18px; - overflow: hidden; - text-overflow: ellipsis; - - line-height: 48px; - - .el-tag + .el-tag { - margin-left: 10px; - } - .button-new-tag { - margin-left: 10px; - height: 32px; - line-height: 30px; - padding-top: 0; - padding-bottom: 0; - } - .input-new-tag { - width: 90px; - margin-left: 10px; - vertical-align: bottom; - } -} -.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); - .qrcode-text { - font-size: 20px; - span { - margin-left: 20px; - } - } - .qrcode-img { - width: 300px; - height: 400px; - } -} -.tsgname { - width: 90px; - margin-right: 10px; - text-align: center; - cursor: pointer; - height: 40px; - line-height: 40px; - background: #7799fa; - color: #ffff; - font-size: 18px; - border-radius: 5px; -} -.tsgname:hover { - background: #3366f5; -} -::v-deep.el-tabs--left, -.el-tabs--right { - overflow: hidden; - align-items: center; - display: flex; -} -::v-deep.el-input--medium .el-input__inner { - height: 40px !important; -} -::v-deep.el-tabs--right .el-tabs__active-bar.is-right { - height: 40px; - width: 5px; - left: 0; -} -::v-deep.el-tabs--right .el-tabs__item.is-right { - display: block; - font-size: 20px; -} -::v-deep .el-tree-node__content { - display: -webkit-box; - display: -ms-flexbox; - display: flex; - -webkit-box-align: center; - -ms-flex-align: center; - align-items: center; - height: 46px; - font-size: 20px; - cursor: pointer; -} -::v-deep .el-tree { - position: relative; - cursor: default; - border-radius: 5px; - background: #eff8fe; - color: #606266; - border: 1px solid #bbe1fa; - // 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); -} -::v-deep - .el-tree--highlight-current - .el-tree-node.is-current - > .el-tree-node__content { - background-color: #7799fb; - color: #fff; -} -::v-deep .el-button--mini.is-circle { - padding: 7px; - margin: 0; - color: red; -} -.leftvlue { - // display: flex; - // flex: 1; - width: 80%; - margin-top: 20px; - // margin: 20px; - padding: 30px; - background: #ffff; - border: 1px solid #dcdfe6; - -webkit-box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.12), - 0 0 6px 0 rgba(0, 0, 0, 0.04); - .mulsz { - font-size: 20px; - } -} -.preview-left { - margin: 20px; - // margin: 20px; - padding: 30px; - // background: #ffff; - border: 1px solid #dcdfe6; - -webkit-box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.12), - 0 0 6px 0 rgba(0, 0, 0, 0.04); - - .dev-text { - margin-bottom: 10px; - text-align: left; - font-size: 22px; - } - .scriptTopic-dev { - margin-bottom: 25px; - font-size: 20px !important; - .dev-text { - margin-bottom: 10px; - } - } -} -.button-text { - color: rgb(70, 204, 238); -} -.button-bji { - color: rgb(39, 167, 67); -} -.button-textxg { - color: rgb(35, 81, 233); -} -.button-textsc { - color: rgb(235, 23, 23); -} -</style> diff --git a/src/views/repositoryai/verbaltrick/particulars/index.vue b/src/views/repositoryai/verbaltrick/particulars/index.vue deleted file mode 100644 index 44205a7..0000000 --- a/src/views/repositoryai/verbaltrick/particulars/index.vue +++ /dev/null @@ -1,1377 +0,0 @@ -<template> - <div class="Questionnairemanagement"> - <!-- 宸︿晶鏍� --> - <div class="sidecolumn"> - <div> - <el-steps finish-status="success" :active="Editprogress" simple> - <el-step> - <template slot="title"> - <span style="cursor: pointer" @click="Editprogress = 1" - >璇濇湳鍩虹淇℃伅缂栬緫</span - > - </template> - </el-step> - <el-step> - <template slot="title"> - <span style="cursor: pointer" @click="nextstep" - >璇濇湳鎸囨爣缂栬緫</span - > - </template> - </el-step> - </el-steps> - </div> - </div> - <!-- 鍙充晶鏁版嵁 --> - <div class="leftvlue"> - <!-- 鍩烘湰淇℃伅 --> - <div v-if="Editprogress == 1"> - <div class="leftvlue-jbxx"> - 鍩烘湰淇℃伅 - <span style="margin-left: 30px" - ><el-button type="success" round @click="gettargetInfo" - >+閫夋嫨鎸囨爣</el-button - ></span - > - </div> - <el-divider></el-divider> - <el-form - ref="form" - :model="indexform" - :rules="rules" - label-width="100px" - > - <el-row :gutter="20"> - <el-col :span="12"> - <el-form-item label="闂涓绘棬" prop="scriptTopic"> - <el-input - v-model="indexform.scriptTopic" - placeholder="璇疯緭鍏ラ棶棰樹富鏃�" - maxlength="80" - /> - </el-form-item> - </el-col> - </el-row> - <el-form-item label="闂鏂囨湰" prop="scriptContent"> - <el-input - :rows="2" - type="textarea" - id="scriptContent" - show-word-limit - placeholder="璇疯緭鍏ュ唴瀹�" - v-model.sync="indexform.scriptContent" - @focus="handleInput('scriptContent')" - /> - </el-form-item> - <el-form-item label="闂鎻忚堪" prop="scriptDesc"> - <el-input - :rows="1" - type="textarea" - id="scriptDesc" - show-word-limit - placeholder="璇疯緭鍏ユ弿杩板唴瀹�" - v-model.sync="indexform.scriptDesc" - /> - </el-form-item> - <el-row> - <el-col :span="12"> - <el-form-item label="璇█" prop="deptId"> - <el-select - v-model="indexform.language" - placeholder="璇烽�夋嫨璇█" - > - <el-option - v-for="index in languagelist" - :key="index.value" - :label="index.label" - :value="index.value" - ></el-option> - </el-select> - </el-form-item> - </el-col> - <el-col :span="12"> - <el-form-item label="鍙敤鐘舵��" prop="status"> - <el-select - v-model="indexform.isAvailable" - placeholder="璇烽�夋嫨鐘舵��" - > - <el-option - v-for="item in usable" - :key="item.value" - :label="item.label" - :value="item.value" - > - </el-option> - </el-select> - </el-form-item> - </el-col> - </el-row> - - <el-row :gutter="20"> - <el-col :span="12"> - <el-form-item label="闂鍒嗙被" prop="status"> - <el-select - v-model="indexform.assortid" - filterable - placeholder="璇烽�夋嫨鍒嗙被" - > - <el-option-group - v-for="group in questionclass" - :key="group.id" - :label="group.indexAssortName" - > - <el-option - v-for="item in group.ivrLibaScriptAssortList" - :key="item.id" - :label="item.indexAssortName" - :value="item.id" - > - </el-option> - </el-option-group> - </el-select> - </el-form-item> - </el-col> - - <el-col :span="5"> - <el-form-item label="鐗堟湰鍙�" prop="version"> - <el-input - v-model="indexform.version" - placeholder="璇疯緭鍏�" - maxlength="80" - /> - </el-form-item> - </el-col> - </el-row> - - <el-form-item label="鏍囩" prop="desc"> - <div class="xinz-inf"> - <el-tag - :key="tag.tagname" - type="success" - v-for="tag in dynamicTags" - closable - :disable-transitions="false" - @close="handleClosetag(tag)" - > - {{ tag.tagname }} - </el-tag> - <el-select - v-model="inputValue" - v-if="inputVisible" - @change="handleInputConfirm" - filterable - remote - allow-create - reserve-keyword - default-first-option - :remote-method="remoteMethodtag" - :loading="loading" - placeholder="璇烽�夋嫨" - > - <el-option - v-for="item in optionstag" - :key="item.tagid" - :label="item.tagname" - :value="item.tagname" - > - </el-option> - </el-select> - <el-button - v-else - class="button-new-tag" - size="small" - @click="showInput" - >+ 鏂板鏍囩</el-button - > - </div> - </el-form-item> - <el-drawer - title="鍙橀噺缂栬緫" - :visible.sync="variabledeawer" - direction="ttb" - size="35%" - > - <el-form-item label="閫氱煡鍙橀噺" prop="name"> - <div style="margin-bottom: 5px" v-for="item in variablelist"> - <el-row> - <el-col :span="5"> - <el-input - v-model="item.variatename" - placeholder="璇疯緭鍏ュ彉閲忓悕" - ></el-input> - </el-col> - <el-col :span="8" :offset="1"> - <el-input - v-model="item.variate" - placeholder="璇疯緭鍏ュ彉閲忓唴瀹�" - ></el-input> - </el-col> - <el-col :span="8" :offset="1"> - <el-button - type="success" - icon="el-icon-plus" - circle - @click="addvariable(item)" - ></el-button> - <el-button - v-if="!item.default" - type="danger" - icon="el-icon-delete" - circle - @click="delvariable(item)" - ></el-button> - </el-col> - </el-row> - </div> - </el-form-item> - </el-drawer> - <!-- <el-row> - <el-col :span="6"> - <el-form-item label="浠呴檺闄㈠尯" prop="region"> - <el-select - v-model="indexform.campus" - size="medium" - filterable - placeholder="璇烽�夋嫨" - > - <el-option - class="indexformaa" - v-for="item in courtyardlist" - :key="item.value" - :label="item.label" - :value="item.value" - > - </el-option> - </el-select> - </el-form-item> - </el-col> - <el-col :span="6"> - <el-form-item label="閫傜敤鏂瑰紡" prop="status"> - <el-select - disabled - v-model="indexform.suitway" - placeholder="璇烽�夋嫨" - > - <el-option - v-for="item in mode" - :key="item.value" - :label="item.label" - :value="item.value" - > - </el-option> - </el-select> - </el-form-item> - </el-col> - </el-row> --> - <el-row> - <el-col :span="24"> - <el-form-item label="闂鍙橀噺" prop="scriptContent"> - <div style="display: flex; margin-bottom: 10px"> - <div - v-for="item in variablelist" - :class="item.default ? 'tsgname' : 'tsgnames'" - @click="tsgnameto(item)" - > - {{ item.variatename }} - </div> - <div class="tsgnamebj" @click="variabledeawer = true"> - 鍙橀噺缂栬緫 - </div> - </div> - </el-form-item> - </el-col></el-row - > - <el-row> - <el-col :span="24"> - <el-form-item label="璇煶鏂囨湰" prop="scriptContent"> - <el-input - :rows="2" - type="textarea" - id="scriptContent" - show-word-limit - placeholder="璇疯緭鍏ュ唴瀹�" - v-model.sync="indexform.ivrtext" - @focus="handleInput('scriptContent')" - /> - </el-form-item> </el-col - ></el-row> - <el-row> - <el-col :span="6"> - <el-form-item label="璇煶鏂囦欢" prop="verbaltrickyy"> - <el-upload - class="upload-demo" - :action="uploadImgUrl" - :headers="headers" - :show-file-list="false" - :on-success=" - (response, file) => handleChange(response, file, 1) - " - accept=".wav,.mp3" - :limit="1" - > - <el-button size="small" type="primary">鐐瑰嚮涓婁紶</el-button> - </el-upload> - </el-form-item> - </el-col> - <el-col :span="6"> - <span style="font-size: 12px" v-if="indexform.ivrVoice">{{ - indexform.ivrVoice.substring( - indexform.ivrVoice.lastIndexOf("/") + 1 - ) - }}</span> - </el-col> - <el-col :span="6"> - <mini-audio - :audio-source=" - indexform.ivrVoice - ? indexform.ivrVoice - : 'https://example.com/example.mp3' - " - ></mini-audio> - </el-col> - </el-row> - - <el-row> - <el-col :span="24"> - <el-form-item label="鏃犲尮閰嶆枃鏈�" prop="noMatchText"> - <el-input - type="textarea" - :rows="2" - id="noMatchText" - placeholder="璇疯緭鍏ュ唴瀹�" - v-model.sync="indexform.noMatchText" - @focus="handleInput('noMatchText')" - show-word-limit - /> - </el-form-item> </el-col - ></el-row> - <el-row> - <el-col :span="6"> - <el-form-item label="鏃犲尮閰嶈闊�" prop="verbaltrickyy"> - <el-upload - class="upload-demo" - :action="uploadImgUrl" - :show-file-list="false" - :headers="headers" - :on-success=" - (response, file) => handleChange(response, file, 2) - " - accept=".wav,.mp3" - :limit="1" - > - <el-button size="small" type="primary">鐐瑰嚮涓婁紶</el-button> - </el-upload> - </el-form-item> - </el-col> - <el-col :span="6"> - <span style="font-size: 12px" v-if="indexform.nomatchvoice">{{ - indexform.nomatchvoice.substring( - indexform.nomatchvoice.lastIndexOf("/") + 1 - ) - }}</span> - </el-col> - <el-col :span="6"> - <mini-audio - :audio-source=" - indexform.nomatchvoice - ? indexform.nomatchvoice - : 'https://example.com/example.mp3' - " - ></mini-audio> - </el-col> - </el-row> - <el-row> - <el-col :span="24"> - <el-form-item label="闈欓粯鏂囨湰" prop="slienceText"> - <el-input - type="textarea" - :rows="2" - id="slienceText" - placeholder="璇疯緭鍏ュ唴瀹�" - v-model.sync="indexform.slienceText" - @focus="handleInput('slienceText')" - show-word-limit - /> - </el-form-item> </el-col - ></el-row> - <el-row> - <el-col :span="6"> - <el-form-item label="闈欓粯璇煶" prop="verbaltrickyy"> - <el-upload - class="upload-demo" - :action="uploadImgUrl" - :show-file-list="false" - :headers="headers" - :on-success=" - (response, file) => handleChange(response, file, 3) - " - accept=".wav,.mp3" - :limit="1" - > - <el-button size="small" type="primary">鐐瑰嚮涓婁紶</el-button> - </el-upload> - </el-form-item> - </el-col> - <el-col :span="6"> - <span style="font-size: 12px" v-if="indexform.sliencevoice">{{ - indexform.sliencevoice.substring( - indexform.sliencevoice.lastIndexOf("/") + 1 - ) - }}</span> - </el-col> - <el-col :span="6"> - <mini-audio - :audio-source=" - indexform.sliencevoice - ? indexform.sliencevoice - : 'https://example.com/example.mp3' - " - ></mini-audio> - </el-col> - </el-row> - - <el-row> - <el-col :span="24"> - <el-form-item label="鍚笉娓呮枃鏈�" prop="noClearlyText"> - <el-input - type="textarea" - id="noClearlyText" - :rows="2" - placeholder="璇疯緭鍏ュ唴瀹�" - @focus="handleInput('noClearlyText')" - v-model.sync="indexform.noClearlyText" - show-word-limit - /> - </el-form-item> </el-col - ></el-row> - <el-row> - <el-col :span="6"> - <el-form-item label="鍚笉娓呰闊�" prop="verbaltrickyy"> - <el-upload - class="upload-demo" - :action="uploadImgUrl" - :show-file-list="false" - :headers="headers" - :on-success=" - (response, file) => handleChange(response, file, 4) - " - accept=".wav,.mp3" - :limit="1" - > - <el-button size="small" type="primary">鐐瑰嚮涓婁紶</el-button> - </el-upload> - </el-form-item> - </el-col> - <el-col :span="6"> - <span style="font-size: 12px" v-if="indexform.noclearlyvoice">{{ - indexform.noclearlyvoice.substring( - indexform.noclearlyvoice.lastIndexOf("/") + 1 - ) - }}</span> - </el-col> - <el-col :span="6"> - <mini-audio - :audio-source=" - indexform.noclearlyvoice - ? indexform.noclearlyvoice - : 'https://example.com/example.mp3' - " - ></mini-audio> - </el-col> - </el-row> - </el-form> - <div slot="footer" class="dialog-footer"> - <el-button type="primary" @click="nextstep">涓嬩竴姝�</el-button> - <el-button @click="closeFm">鍏� 闂�</el-button> - <el-button @click="Saveproblem()">淇濆瓨鏁版嵁</el-button> - </div> - </div> - <!-- 鎸囨爣璁剧疆 --> - <div v-if="Editprogress == 2"> - <div class="leftvlue-jbxx"> - 鎸囨爣棰樼洰璁剧疆 - <span style="margin-left: 30px" - ><el-button type="success" round @click="gettargetInfo" - >+閫夋嫨鎸囨爣</el-button - ></span - > - </div> - <el-divider></el-divider> - <el-form - ref="form" - :model="indexform" - :rules="rules" - label-width="100px" - > - <el-row> - <el-col :span="8"> - <el-form-item label="鎸囨爣鍚嶇О" prop="deptId"> - <el-input - v-model="indexform.targetname" - placeholder="璇疯緭鍏ユ寚鏍囧悕绉�" - maxlength="20" - /> - </el-form-item> - </el-col> - <el-col :span="12"> - <el-form-item label="鎸囨爣鎻忚堪" prop="deptId"> - <el-input - v-model="indexform.targetdesc" - placeholder="璇疯緭鍏ユ寚鏍囨弿杩�" - maxlength="60" - /> - </el-form-item> - </el-col> - </el-row> - - <el-row> - <el-col :span="24"> - <el-form-item label="鍊肩被鍨�"> - <el-radio-group - :disabled="indexform.targetid" - v-model="indexform.valueType" - > - <el-radio :label="1">閫夐」</el-radio> - <el-radio :label="2">鏂囨湰</el-radio> - <el-radio :label="3">鏁板��</el-radio> - </el-radio-group> - </el-form-item> - - <el-form-item label="棰樼洰绫诲瀷"> - <el-radio-group - @input="typeselection" - :disabled="indexform.targetid" - v-model="indexform.scriptType" - > - <el-radio :label="1">鍗曢��</el-radio> - <!-- <el-radio :label="2">澶氶��</el-radio> --> - <el-radio :label="4">闂瓟</el-radio> - </el-radio-group> - </el-form-item> - </el-col></el-row - > - <div v-if="indexform.scriptType == 1 || indexform.scriptType == 2"> - <el-card class="box-card" style="margin-bottom: 20px"> - <Regular - :TargetoptionList="indexform.ivrLibaScriptTargetoptionList" - @addoption="addoption" - @deloption="deloption" - @syioption="syioption" - @xiayioption="xiayioption" - :intent="false" - :Verbalproblem="false" - /> - </el-card> - <el-row :gutter="20"> - <el-col :span="12"> - <el-form-item label="娴嬭瘯杈撳叆" prop="targetvalue"> - <el-input - v-model="indexform.content" - placeholder="璇疯緭鍏ユ祴璇曞唴瀹�" - maxlength="40" - /> - </el-form-item> - </el-col> - <el-col :span="4"> - <el-button type="success" @click="testtagerlist" - >寮�濮嬫祴璇�</el-button - > - </el-col> - </el-row> - <div style="margin-bottom: 20px"> - <el-input - type="textarea" - :rows="4" - placeholder="姝ゅ灞曠ず璇嗗埆缁撴灉" - v-model="testgovalue" - > - </el-input> - </div> - </div> - <div style="margin-bottom: 20px" v-else> - <el-input - type="textarea" - :rows="4" - placeholder="姝ゅ灞曠ず鏀堕泦淇℃伅" - v-model="testgovalue" - > - </el-input> - </div> - </el-form> - - <el-button type="primary" @click="laststep()">涓婁竴姝�</el-button> - <el-button type="info" @click="closeFm()">鍏抽棴</el-button> - <el-button @click="Saveproblem()">淇濆瓨鏁版嵁</el-button> - </div> - </div> - <el-drawer - title="閫夋嫨鎸囨爣" - :visible.sync="drawer" - custom-class="demo-drawer" - size="50%" - > - <div class="preview-left"> - <el-form - :model="queryParams" - ref="queryForm" - size="small" - :inline="true" - label-width="98px" - > - <el-form-item label="鏍囬" prop="userName"> - <el-input - v-model="queryParams.targetname" - placeholder="璇疯緭鍏�" - clearable - style="width: 200px" - @keyup.enter.native="gettargetInfo" - /> - </el-form-item> - <el-form-item label="鎸囨爣绫诲瀷" prop="scriptType"> - <el-select v-model="queryParams.scriptType" placeholder="璇烽�夋嫨"> - <el-option - v-for="(item, index) in qyoptions" - :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="gettargetInfo" - >鎼滅储</el-button - > - <el-button icon="el-icon-refresh" size="medium" @click="resetQuery" - >閲嶇疆</el-button - > - </el-form-item> - </el-form> - <el-table v-loading="loading" :data="targetList"> - <el-table-column - label="鏍囬" - align="center" - key="targetname" - prop="targetname" - width="100" - /> - <el-table-column - label="闂鍐呭" - align="center" - key="targetdesc" - prop="targetdesc" - width="200" - :show-overflow-tooltip="true" - /> - - <el-table-column - label="鎿嶄綔" - align="center" - class-name="small-padding fixed-width" - > - <template slot-scope="scope"> - <el-button - size="medium" - type="text" - @click="selectlabel(scope.row)" - ><span class="button-textxg" - ><i class="el-icon-circle-plus-outline"></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="gettargetInfo" - /> - </div> - </el-drawer> - </div> -</template> - -<script> -import { listtag } from "@/api/system/label"; -import { - gettagerlist, - testtagerlist, - delverbaltrickinfo, - compileverbaltrick, - getverbaltrick, - getbaltrickclassify, - gettargetInfolist, - gettargetInfo, -} from "@/api/AiCentre/index"; -import Regular from "@/components/Regular"; //姝e垯缁勪欢 -import store from "@/store"; -import { getToken } from "@/utils/auth"; - -export default { - name: "Verbalproblem", - components: { Regular }, - data() { - return { - headers: { - Authorization: "Bearer " + getToken(), - }, - uploadImgUrl: process.env.VUE_APP_BASE_API + "/common/uploadSort", - Editprogress: 1, //缂栬緫杩涘害 - loading: false, // 閬僵灞� - radio: "false", //鍗曢�夐閫変腑 - radios: [], //澶氶�夐閫変腑 - radioas: "", //濉┖棰樼瓟妗� - dynamicTags: [], - dellist: [], - targetList: [], - inputVisible: false, - drawer: false, - inputValue: "", - testvalue: "", - testgovalue: "", - topicobj: {}, - indexform: { - ivrLibaScriptTargetoptionList: [], - ivrLibaScriptTagList: [], - suitway: "2", - noMatchText:'鎶辨瓑锛屾垜娌℃湁鍚噦锛屾偍鑳藉啀璇翠竴閬嶅悧?', - noClearlyText:'鎶辨瓑锛屾垜娌℃湁鍚竻鎮ㄨ鐨勮瘽锛屾偍鍙互鍐嶈涓�娆″悧?', - slienceText:'鎶辨瓑锛屾垜娌℃湁鍚埌鎮ㄨ鐨勮瘽锛屾偍鍙互鍐嶈涓�娆″悧?', - }, - mode: [], - questionclass: [], - currentInputId: "", - courtyardlist: [], - // 鎬绘潯鏁� - total: 1, - rules: {}, - rulesa: {}, - optionstag: [], - - fileList: [ - { - name: "food.jpeg", - url: "https://fuss10.elemecdn.com/3/63/4e7f3a15429bfda99bce42a18cdd1jpeg.jpeg?imageMogr2/thumbnail/360x360/format/webp/quality/100", - }, - ], - usable: [], - options: [], - variablelist: [ - { variatename: "濮撳悕", variate: "${name}", default: 1 }, - { variatename: "鐢佃瘽", variate: "${phone}", default: 1 }, - { variatename: "鐥呮儏", variate: "${illness}", default: 1 }, - ], - - addvalue: "娣诲姞棰樼洰", - languagelist: [], //璇█鍒楄〃 - qyoptions: [], - // 鏌ヨ鍙傛暟 - queryParams: { - pageNum: 1, - pageSize: 10, - }, - variabledeawer: false, - }; - }, - - created() { - this.gettabList(); - this.getverbaltrick(); - this.mode = store.getters.mode; - this.valuetype = store.getters.valuetype; - this.languagelist = store.getters.languagelist; - this.usable = store.getters.usable; - this.courtyardlist = store.getters.courtyardlist; - this.qyoptions = store.getters.askvaluetype; - }, - - methods: { - // 鑾峰彇璇︽儏鏁版嵁 - getverbaltrick() { - let id = this.$route.query.id; - this.indexform.language = "鏅�氳瘽"; - this.indexform.isAvailable = "1"; - - if (id) { - getverbaltrick({ id: id }).then((res) => { - this.indexform = res.data; - - this.indexform.assortid = parseInt(this.indexform.assortid); - this.variablelist = JSON.parse(this.indexform.otherdata).length - ? JSON.parse(this.indexform.otherdata) - : this.variablelist; - this.dynamicTags = this.indexform.ivrLibaScriptTagList.map( - this.processElement - ); - }); - } - // 鏍� - getbaltrickclassify({}).then((res) => { - this.questionclass = res.rows; - console.log(res); - }); - }, - - // 淇濆瓨璇︾粏淇℃伅 - Saveproblem() { - this.indexform.otherdata = JSON.stringify(this.variablelist); - - if (this.indexform.id) { - this.indexform.ivrLibaScriptTargetoptionList = - this.indexform.ivrLibaScriptTargetoptionList.map((res) => { - if (res.isoperation != 1) { - res.isoperation = 2; - } - return res; - }); - - this.indexform.isoperation = 2; - console.log(this.dellist); - this.indexform.ivrLibaScriptTargetoptionList = - this.indexform.ivrLibaScriptTargetoptionList.concat(this.dellist); - this.indexform.targetoptions = - this.indexform.ivrLibaScriptTargetoptionList - .filter((item) => item.isope != 3) // 杩囨护鎺� isope 涓� 3 鐨勯」 - .map((item) => item.targetvalue) - .join(", "); - compileverbaltrick(this.indexform).then((res) => { - if (res.code == 200) { - this.$modal.msgSuccess("淇敼鎴愬姛"); - this.$router.go(-1); - } else { - this.$message({ - message: "淇敼澶辫触", - type: "error", - }); - } - }); - } else { - this.indexform.isoperation = 1; - - compileverbaltrick(this.indexform).then((res) => { - if (res.code == 200) { - this.$modal.msgSuccess("鏂板鎴愬姛"); - this.$router.go(-1); - } else { - this.$message({ - message: "鏂板澶辫触", - type: "error", - }); - } - }); - } - }, - - testtagerlist() { - if (this.indexform.content) { - let data = this.indexform; - data.targetoptionList = - this.indexform.ivrLibaScriptTargetoptionList.concat(this.dellist); - testtagerlist(data).then((res) => { - this.$modal.msgSuccess("娴嬭瘯鎴愬姛"); - this.testgovalue = res.msg; - this.getList(); - }); - } else { - this.$modal.msgError("璇峰~鍐欐祴璇曞唴瀹�"); - return; - } - }, - // 閫夋嫨鎸囨爣 - selectlabel(row) { - this.$modal - .confirm( - '鏄惁閫夋嫨鏍囬涓�"' + row.targetname + '"鐨勬寚鏍囧苟鏇挎崲濉厖闂淇℃伅锛�' - ) - .then(() => { - console.log(row); - this.indexform.valueType = row.valueType; - this.indexform.scriptType = row.scriptType; - this.indexform.scriptTopic = row.targetname; - this.indexform.targetname = row.targetname; - this.indexform.targetid = row.id; - this.indexform.targetdesc = row.targetdesc; - this.indexform.isAvailable = "0"; - this.indexform.language = "鏅�氳瘽"; - this.indexform.isenable = row.isenable; - const labellist = row.targetoptionList; - labellist.forEach((item) => { - item.isoperation = 1; - this.indexform.ivrLibaScriptTargetoptionList.push(item); - }); - this.drawer = false; - }) - .catch(() => {}); - }, - gettargetInfo() { - this.queryParams.suitWay = 2; - gettargetInfo(this.queryParams).then((res) => { - console.log(res); - this.targetList = res.rows; - this.total = res.total; - this.drawer = true; - }); - }, - resetQuery() { - this.queryParams = { - pageNum: 1, - pageSize: 10, - }; - this.gettargetInfo(); - }, - - // 棰樼洰绫诲瀷鏇存崲 - typeselection(row) { - if ( - (row == 1 || row == 2) && - !this.indexform.ivrLibaScriptTargetoptionList.length - ) { - this.indexform.ivrLibaScriptTargetoptionList.push({ - guid: 1, - isoperation: 1, - targetvalue: "", - targetregex: "", - targetregex2: "", - dynamiccruxs: [], - nodynamiccruxs: [], - dynamiccruxsJson: "", - nodynamiccruxsJson: "", - }); - } - }, - // 涓嬩竴姝� - nextstep() { - if (this.Editprogress <= 1) { - // if (this.indexform.targetid) { - return this.Editprogress++; - // } else { - // this.$message.warning("璇峰厛閫夋嫨鍏宠仈鎸囨爣"); - // } - } else { - } - }, - // 涓婁竴姝� - laststep() { - this.Editprogress = this.Editprogress - 1; - }, - // 鍏抽棴 - closeFm() { - this.$confirm("閫�鍑轰笉浼氫繚鐣欓〉闈㈠唴瀹规洿鏀�, 鏄惁缁х画?", "鎻愮ず", { - confirmButtonText: "纭畾", - cancelButtonText: "鍙栨秷", - type: "warning", - }) - .then(() => { - this.$router.go(-1); - }) - .catch(() => { - this.$message({ - type: "info", - message: "宸插彇娑�", - }); - }); - }, - // 鏂囦欢---------------------- - // 鎺у埗鏂囦欢 - handleChange(response, file, additionalParam) { - console.log(response); - if (additionalParam == 1) { - this.indexform.ivrVoice = response.url; - } else if (additionalParam == 2) { - this.indexform.nomatchvoice = response.url; - console.log(this.indexform.nomatchvoice); - } else if (additionalParam == 3) { - this.indexform.sliencevoice = response.url; - } else if (additionalParam == 4) { - this.indexform.noclearlyvoice = response.url; - } - }, - - // 鏍囩----------------- - gettabList() { - const tagqueryParams = { - pageNum: 1, - pageSize: 1000, - tagcategoryid: "0", - }; - listtag(tagqueryParams).then((response) => { - console.log(response); - this.optionstag = response.rows; - }); - }, - handleClosetag(tag) { - console.log(tag); - console.log(this.dynamicTags.indexOf(tag)); - const lindex = this.dynamicTags.indexOf(tag); - this.dynamicTags.splice(this.dynamicTags.indexOf(tag), 1); - this.indexform.ivrLibaScriptTagList[lindex].isoperation = 3; - }, - handleInputConfirm() { - let tagvalue = {}; - let tagname = this.inputValue; - if (tagname) { - listtag({ - pageNum: 1, - pageSize: 1000, - tagcategoryid: "0", - tagname: tagname, - }).then((res) => { - if (res.rows[0]) { - tagvalue = res.rows[0]; - tagvalue.isoperation = 1; - } else { - tagvalue = { - tagname: tagname, - isoperation: 1, - }; - } - this.indexform.ivrLibaScriptTagList.push(tagvalue); - this.dynamicTags.push(tagvalue); - }); - } - this.inputVisible = false; - this.inputValue = ""; - }, - remoteMethodtag(query) { - if (query !== "") { - this.loading = true; - setTimeout(() => { - this.loading = false; - listtag({ tagname: query, tagcategoryid: "0" }).then((res) => { - this.optionstag = res.rows; - }); - }, 200); - } else { - this.optionstag = []; - } - }, - showInput() { - this.inputVisible = true; - }, - //娴嬭瘯琛ㄥ崟 -------------------------- - gettagerlist() { - gettagerlist({ targetname: this.targetname }).then((response) => { - console.log(response); - this.optionstag = response.rows; - }); - }, - addoption() { - this.indexform.ivrLibaScriptTargetoptionList.push({ - guid: 1, - isoperation: 1, - targetvalue: "", - targetregex: "", - targetregex2: "", - dynamiccruxs: [], - nodynamiccruxs: [], - dynamiccruxsJson: "", - nodynamiccruxsJson: "", - }); - this.sortFn(); - }, - deloption(item) { - const index = this.indexform.ivrLibaScriptTargetoptionList.indexOf(item); - if (index !== -1) { - if (item.id) { - console.log(item, "chunz"); - item.isoperation = 3; - this.dellist.push(item); - } - console.log(this.dellist, "dellist"); - this.indexform.ivrLibaScriptTargetoptionList.splice(index, 1); // 浠庣储寮曚綅缃垹闄や竴涓厓绱� - this.sortFn(); - } else { - console.log("鏈壘鍒拌瀵硅薄"); - } - }, - getIndexInArray(arr, obj) { - return arr.indexOf(obj); - }, - processElement(element) { - return { ...element, isoperation: 1 }; - }, - syioption(row) { - const index = this.getIndexInArray( - this.indexform.ivrLibaScriptTargetoptionList, - row - ); - const item = this.indexform.ivrLibaScriptTargetoptionList.splice( - index, - 1 - )[0]; // 绉婚櫎鎸囧畾绱㈠紩澶勭殑鍏冪礌锛屽苟淇濆瓨鍒癷tem鍙橀噺涓� - this.indexform.ivrLibaScriptTargetoptionList.splice(index - 1, 0, item); // 灏唅tem鎻掑叆鍒扮储寮曚綅缃殑鍓嶄竴浣� - this.sortFn(); - }, - xiayioption(row) { - const index = this.getIndexInArray( - this.indexform.ivrLibaScriptTargetoptionList, - row - ); - const item = this.indexform.ivrLibaScriptTargetoptionList.splice( - index, - 1 - )[0]; // 绉婚櫎鎸囧畾绱㈠紩澶勭殑鍏冪礌锛屽苟淇濆瓨鍒癷tem鍙橀噺涓� - this.indexform.ivrLibaScriptTargetoptionList.splice(index + 1, 0, item); // 灏唅tem鎻掑叆鍒扮储寮曚綅缃殑鍓嶄竴浣� - this.sortFn(); - }, - sortFn() { - this.indexform.ivrLibaScriptTargetoptionList = - this.indexform.ivrLibaScriptTargetoptionList.map((item, index) => { - return { - guid: index + 1, - targetvalue: item.targetvalue, - targetregex2: item.targetregex2, - targetregex: item.targetregex, - id: item.id, - targettype: this.indexform.targettype, - isoperation: item.id ? 2 : 1, - categoryName: item.categoryName, - language: item.language, - dynamiccruxs: item.dynamiccruxs, - nodynamiccruxs: item.nodynamiccruxs, - dynamiccruxsJson: item.dynamiccruxsJson, - nodynamiccruxsJson: item.nodynamiccruxsJson, - }; - }); - console.log(this.indexform.ivrLibaScriptTargetoptionList); - }, - // --------------------- - // 渚挎嵎鏍囩 - tsgnameto(row) { - let inputValueArr = ""; - let el = document.querySelector("#" + this.currentInputId); - //el.selectionStart; 杩欏氨鏄綋鍓嶅厜鏍囨墍鍦ㄧ殑浣嶇疆锛堝瓧绗︿覆涓瓧绗︾殑index锛� - if (this.currentInputId == "scriptContent") { - inputValueArr = this.indexform.scriptContent.split(""); - } else if (this.currentInputId == "noMatchText") { - inputValueArr = this.indexform.noMatchText.split(""); - } else if (this.currentInputId == "slienceText") { - inputValueArr = this.indexform.slienceText.split(""); - } else if (this.currentInputId == "noClearlyText") { - inputValueArr = this.indexform.noClearlyText.split(""); - } else if (this.currentInputId == "submoduletext") { - inputValueArr = this.indexform.submoduletext.split(""); - } else { - return; - } - //灏嗚緭鍏ユ鍐呭鍒囨垚鏁扮粍锛屾柟渚垮悗缁搷浣� - // inputValueArr = this.inputValue.split(""); - // 鎷垮埌閫変腑鏂囧瓧鐨勯暱搴︼紙鍚庣画鍙互鐢ㄦ潵鏇挎崲閫変腑鐨勬枃瀛楋級 - let selectLength = el.selectionEnd - el.selectionStart; - // 灏嗚鎻掑叆/鏇挎崲鐨勬枃瀛楁彃鍏�/鏇挎崲锛坴alue.name鏄鎻掑叆/鏇挎崲鐨勫瓧绗︿覆锛� - inputValueArr.splice(el.selectionStart, selectLength, `${row.variate}`); - // 鎶婃暟缁勯噸鏂拌浆鎹负瀛楃涓插苟璧嬪�� - inputValueArr = inputValueArr.join(""); - console.log(inputValueArr); - if (this.currentInputId == "scriptContent") { - this.indexform.scriptContent = inputValueArr; - } else if (this.currentInputId == "noMatchText") { - this.indexform.noMatchText = inputValueArr; - } else if (this.currentInputId == "slienceText") { - this.indexform.slienceText = inputValueArr; - } else if (this.currentInputId == "noClearlyText") { - this.indexform.noClearlyText = inputValueArr; - } else if (this.currentInputId == "submoduletext") { - this.indexform.submoduletext = inputValueArr; - } else { - return; - } - }, - - // 鏂板鍙橀噺 - addvariable() { - this.variablelist.push({ - variatename: "", - variate: "", - }); - }, - // 鍒犻櫎鍙橀噺 - delvariable(item) { - const index = this.variablelist.indexOf(item); - if (index !== -1) { - this.variablelist.splice(index, 1); // 浠庣储寮曚綅缃垹闄や竴涓厓绱� - } else { - console.log("鏈壘鍒拌瀵硅薄"); - } - }, - // 杈撳叆鑾峰彇id - handleInput(id) { - this.currentInputId = id; - console.log("杈撳叆妗嗙殑鍊煎凡鏇存柊:", this.currentInputId); - // 鍦ㄨ繖閲屾墽琛屾洿鏂版暟鎹殑閫昏緫 - }, - }, -}; -</script> - -<style lang="scss" scoped> -.Questionnairemanagement { - // display: flex; -} -.sidecolumn { - margin: 20px; - margin-bottom: 0; - padding: 15px; - 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); -} -.leftvlue { - margin: 20px; - margin-top: 10px; - padding: 30px; - background: #ffff; - border: 1px solid #dcdfe6; - -webkit-box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.12), - 0 0 6px 0 rgba(0, 0, 0, 0.04); - - .leftvlue-jbxx { - font-size: 24px; - border-left: 5px solid #41a1be; - padding-left: 5px; - margin: 15px 0; - } -} -.xinz-inf { - font-size: 18px; - white-space: nowrap; - overflow: hidden; - text-overflow: ellipsis; - - line-height: 48px; - - .el-tag + .el-tag { - margin-left: 10px; - } - .button-new-tag { - margin-left: 10px; - height: 32px; - line-height: 30px; - padding-top: 0; - padding-bottom: 0; - } - .input-new-tag { - width: 90px; - margin-left: 10px; - vertical-align: bottom; - } -} -.button-new-tag { - margin-left: 10px; - height: 32px; - line-height: 30px; - padding-top: 0; - padding-bottom: 0; -} -.tsgnames { - width: 90px; - margin-right: 10px; - text-align: center; - cursor: pointer; - height: 40px; - line-height: 40px; - background: #7799fa; - color: #ffff; - font-size: 18px; - border-radius: 5px; -} -.tsgnames:hover { - background: #3366f5; -} -.tsgname { - width: 90px; - margin-right: 10px; - text-align: center; - cursor: pointer; - height: 40px; - line-height: 40px; - background: #66c18c; - color: #ffff; - font-size: 18px; - border-radius: 5px; -} -.tsgname:hover { - background: #20894d; -} -.tsgnamebj { - width: 90px; - margin-left: 15px; - text-align: center; - cursor: pointer; - height: 40px; - line-height: 40px; - background: #49dbb7; - color: #ffff; - font-size: 18px; - border-radius: 5px; -} -.tsgnamebj:hover { - background: #27c449; -} -.preview-left { - margin: 20px; - // margin: 20px; - padding: 30px; - background: #ffff; - border: 1px solid #dcdfe6; - -webkit-box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.12), - 0 0 6px 0 rgba(0, 0, 0, 0.04); - .scriptTopic-dev { - margin-bottom: 25px; - font-size: 20px !important; - .dev-text { - margin-bottom: 10px; - } - } -} - -::v-deep .addtopic-input { - input { - background: #02a7f0; - color: #edf1f7; - width: 150px; - } -} -::v-deep.el-step.is-vertical .el-step__title { - font-size: 25px; -} -::v-deep.el-input--medium { - font-size: 18px !important; -} - -.el-select__tags { - font-size: 20px; - max-width: 888px !important; -} -::v-deep.el-radio__inner { - width: 22px; - height: 22px; -} -// ::v-deep.topic-dev.el-radio__label { -// font-size: 24px; -// } -::v-deep.el-radio-group { - span { - font-size: 24px; - } -} -::v-deep.upload-demo { - display: flex; -} -::v-deep.el-checkbox-group { - span { - font-size: 24px; - } -} -// ::v-deep.el-form-item--medium .el-form-item__content { -// line-height: 36px; -// display: flex; -// } -</style> diff --git a/src/views/sfstatistics/Voicedetail/index.vue b/src/views/sfstatistics/Voicedetail/index.vue deleted file mode 100644 index 0ffbe56..0000000 --- a/src/views/sfstatistics/Voicedetail/index.vue +++ /dev/null @@ -1,379 +0,0 @@ -<template> - <div class="Questionnairemanagement"> - <!-- 鍙充晶鏁版嵁 --> - <div class="leftvlue"> - <div class="leftvlue-top"> - <el-tabs v-model="topactiveName" @tab-click="tophandleClick"> - <el-tab-pane name="Local"> - <span class="mulsz" slot="label">澶嶆煡缁熻 </span> - </el-tab-pane> - <el-tab-pane name="sharing"> - <span class="mulsz" slot="label">澶嶈瘖缁熻 </span> - </el-tab-pane> - </el-tabs> - </div> - </div> - <div class="viewbox"> - <div class="title-bot"> - <el-form - :model="queryParams" - ref="queryForm" - size="small" - :inline="true" - label-width="98px" - > - <el-form-item prop="userName"> - <el-select - v-model="queryParams.value1" - 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-form-item label="鎶曡瘔鎻愪氦鏃堕棿"> - <el-date-picker - v-model="queryParams.dateRange" - style="width: 240px" - value-format="yyyy-MM-dd" - type="daterange" - range-separator="-" - start-placeholder="寮�濮嬫棩鏈�" - end-placeholder="缁撴潫鏃ユ湡" - ></el-date-picker> - </el-form-item> - <el-form-item label="绉戝锛�" prop="userName"> - <el-select v-model="queryParams.value2" placeholder="璇烽�夋嫨"> - <el-option - v-for="item in ksoptions" - :key="item.value" - :label="item.label" - :value="item.value" - > - </el-option> - </el-select> - </el-form-item> - <el-form-item label="绠$悊鏂规锛�" prop="userName"> - <el-select v-model="queryParams.value3" placeholder="璇烽�夋嫨"> - <el-option - v-for="item in gloptions" - :key="item.value" - :label="item.label" - :value="item.value" - > - </el-option> - </el-select> - </el-form-item> - </el-form> - </div> - <div class="viewhez"> - <div - id="fucazCharts" - class="sontwoactiveNamecaz" - style="width: 800px; height: 800px" - ></div> - <div - id="fucabCharts" - class="sontwoactiveNamecab" - style="width: 1300px; height: 800px" - ></div> - </div> - </div> - </div> -</template> - -<script> -import Treeselect from "@riophae/vue-treeselect"; -import * as echarts from "echarts"; -import "@riophae/vue-treeselect/dist/vue-treeselect.css"; -export default { - name: "questionnaire", - dicts: ["sys_normal_disable", "sys_user_sex"], - components: { Treeselect }, - data() { - return { - topactiveName: "Local", //椤堕儴閫夋嫨 - fucazCharts: {}, - fucabCharts: {}, - queryParams: {}, - options: [ - { - value: 1, - label: "鎸夋湀浠�", - }, - { - value: 2, - label: "鎸夊搴�", - }, - { - value: 3, - label: "鎸夊勾", - }, - ], - ksoptions: [ - { - value: 1, - label: "楠ㄧ", - }, - { - value: 2, - label: "蹇冭剰绉�", - }, - { - value: 3, - label: "鍐呭垎娉岀", - }, - ], - gloptions: [ - { - value: 4, - label: "涓�鍙�", - }, - { - value: 2, - label: "浜屽彿", - }, - { - value: 3, - label: "涓夊彿", - }, - { - value: 1, - label: "鏃�", - }, - ], - }; - }, - watch: {}, - created() {}, - mounted() { - this.fucazCharts = document.getElementById("fucazCharts"); - this.fucabCharts = document.getElementById("fucabCharts"); - - console.log(this.fucazCharts); - console.log(this.fucabCharts); - - this.fucazChartsInit(); - this.fucabChartsInit(); - }, - - methods: { - // 楗煎浘 - fucazChartsInit() { - var fucazCharts = echarts.init(this.fucazCharts); - console.log(fucazCharts); - var option = { - tooltip: { - trigger: "item", - }, - legend: { - top: "5%", - left: "center", - }, - series: [ - { - name: "鍘熷洜褰掑睘", - type: "pie", - radius: ["40%", "70%"], - avoidLabelOverlap: false, - itemStyle: { - borderRadius: 10, - borderColor: "#fff", - borderWidth: 2, - }, - label: { - show: false, - formatter(param) { - // correct the percentage - return param.name + " (" + param.percent * 2 + "%)"; - }, - position: "center", - }, - emphasis: { - label: { - show: true, - fontSize: 40, - fontWeight: "bold", - }, - }, - labelLine: { - show: false, - }, - data: [ - { value: 1048, name: "涓嶉渶瑕佸璇�" }, - { value: 735, name: "娌℃湁鎰忎箟" }, - { value: 580, name: "涓嶇煡閬撴椂闂�" }, - { value: 484, name: "缁忔祹鍘熷洜" }, - { value: 300, name: "蹇樿澶嶈瘖" }, - { value: 200, name: "涓嶆柟渚挎潵闄㈠璇�" }, - { value: 200, name: "鍏朵粬鍖婚櫌澶嶈瘖" }, - { value: 100, name: "鍏朵粬" }, - ], - }, - ], - }; - // 浣跨敤鍒氭寚瀹氱殑閰嶇疆椤瑰拰鏁版嵁鏄剧ず鍥捐〃銆� - fucazCharts.setOption(option); - }, - fucabChartsInit() { - var fucabCharts = echarts.init(this.fucabCharts); - console.log(fucabCharts); - var option = { - tooltip: { - trigger: "axis", - axisPointer: { - type: "cross", - crossStyle: { - color: "#999", - }, - }, - }, - toolbox: { - feature: { - dataView: { show: true, readOnly: false }, - magicType: { show: true, type: ["line", "bar"] }, - restore: { show: true }, - saveAsImage: { show: true }, - }, - }, - legend: { - data: ["鏈璇婃暟", "鍙婃椂澶嶈瘖鏁�", "鍙婃椂澶嶈瘖鐜�"], - }, - xAxis: [ - { - type: "category", - data: ["Mon", "Tue", "Wed", "Thu", "Fri", "Sat", "Sun"], - axisPointer: { - type: "shadow", - }, - }, - ], - yAxis: [ - { - type: "value", - name: "浜烘暟", - min: 0, - max: 250, - interval: 50, - axisLabel: { - formatter: "{value} ", - }, - }, - { - type: "value", - name: "鐧惧垎姣�", - min: 0, - max: 25, - interval: 5, - axisLabel: { - formatter: "{value} %", - }, - }, - ], - series: [ - { - name: "鏈璇婃暟", - type: "bar", - tooltip: { - valueFormatter: function (value) { - return value + " "; - }, - }, - data: [ - 47.0, 4.9, 7.0, 23.2, 25.6, 76.7, 135.6, 162.2, 32.6, 20.0, 6.4, - 3.3, - ], - }, - { - name: "鍙婃椂澶嶈瘖鏁�", - type: "bar", - tooltip: { - valueFormatter: function (value) { - return value + " "; - }, - }, - data: [ - 66.6, 5.9, 9.0, 26.4, 28.7, 70.7, 175.6, 182.2, 48.7, 18.8, 6.0, - 2.3, - ], - }, - { - name: "鍙婃椂澶嶈瘖鐜�", - type: "line", - yAxisIndex: 1, - tooltip: { - valueFormatter: function (value) { - return value + " %"; - }, - }, - data: [ - 7.0, 2.2, 3.3, 4.5, 6.3, 10.2, 20.3, 23.4, 23.0, 16.5, 12.0, 6.2, - ], - }, - ], - }; - // 浣跨敤鍒氭寚瀹氱殑閰嶇疆椤瑰拰鏁版嵁鏄剧ず鍥捐〃銆� - fucabCharts.setOption(option); - }, - }, -}; -</script> - -<style lang="scss" scoped> -.Questionnairemanagement { -} - -::v-deep.el-tabs--left, -.el-tabs--right { - overflow: hidden; - align-items: center; - display: flex; -} -::v-deep.el-input--medium .el-input__inner { - height: 40px !important; -} -::v-deep.el-tabs--right .el-tabs__active-bar.is-right { - height: 40px; - width: 5px; - left: 0; -} -::v-deep.el-tabs--right .el-tabs__item.is-right { - display: block; - text-align: left; - font-size: 20px; -} - -.leftvlue { - // display: flex; - // flex: 1; - margin-top: 20px; - // margin: 20px; - padding: 30px; - background: #ffff; - border: 1px solid #dcdfe6; - -webkit-box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.12), - 0 0 6px 0 rgba(0, 0, 0, 0.04); - .mulsz { - font-size: 20px; - } -} -.viewbox { - 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); - // height: 300px; - margin-top: 20px; - .title-bot { - padding: 20px; - } -} -.viewhez { - display: flex; - overflow: hidden; -} -</style> diff --git a/src/views/sfstatistics/analyse/index.vue b/src/views/sfstatistics/analyse/index.vue deleted file mode 100644 index 2313919..0000000 --- a/src/views/sfstatistics/analyse/index.vue +++ /dev/null @@ -1,107 +0,0 @@ -<template> - <div class="indexanalysis"> - <div class="analysis-top"> - <div class="title-top">鏌ヨ鏉′欢</div> - <div class="value"> - <el-form ref="form" :model="form" label-width="120px"> - <el-form-item label="閫夋嫨鎸囨爣绫诲瀷"> - <el-select v-model="value" filterable 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-form> - </div> - </div> - <div class="formindex"> - <el-table :data="tableData" border style="width: 100%"> - <el-table-column prop="date" label="鎸囨爣绫诲瀷"> </el-table-column> - <el-table-column prop="name" label="鎸囨爣鍚嶇О"> </el-table-column> - <el-table-column prop="address" label="鍑虹幇娆℃暟"> </el-table-column> - <el-table-column prop="times" label="鎸囨爣绫诲瀷鍑虹幇娆℃暟"> - </el-table-column> - <el-table-column prop="proportion" label="鍗犳瘮"> </el-table-column> - </el-table> - </div> - </div> -</template> - -<script> -export default { - name: "indexanalysis", - data() { - return { - options: [ - { - value: "閫夐」1", - label: "鍙戠儹鏈夋棤", - }, - { - value: "閫夐」2", - label: "鍜冲椊鏈夋棤", - }, - { - value: "閫夐」3", - label: "鏈嶈嵂鍚庝笉鑹弽搴�", - }, - ], - tableData: [ - { - date: "鍙戠儹鏈夋棤", - name: "鏈�", - address: 1, - times: 2, - proportion: "50%", - }, - { - date: "鍙戠儹鏈夋棤", - name: "鏃�", - address: 1, - times: 2, - proportion: "50%", - }, - { - date: "鍙戠儹鏈夋棤", - name: "鍏朵粬", - address: 0, - times: 2, - proportion: "0%", - }, - ], - }; - }, - - created() {}, - - methods: {}, -}; -</script> - -<style lang="scss" scoped> -.analysis-top { - 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); - margin: 15px; - .title-top { - background-color: #00bbd3; - color: #fff; - padding: 10px 20px; - font-size: 20px; - font-weight: 500; - margin-bottom: 20px; - } -} -.formindex { - margin: 0 15px; - 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); - padding: 20px; -} -</style> diff --git a/src/views/sfstatistics/percentage/index.vue b/src/views/sfstatistics/percentage/index.vue deleted file mode 100644 index 61aac4b..0000000 --- a/src/views/sfstatistics/percentage/index.vue +++ /dev/null @@ -1,908 +0,0 @@ -<template> - <div class="Questionnairemanagement"> - <!-- 宸︿晶鏍� --> - <!-- <div class="sidecolumn"> - <div class="sidecolumn-top"> - <div class="top-wj">鎮h�呰寖鍥�</div> - </div> - - <div class="bottom-fl"> - <el-tabs - tab-position="right" - v-model="activeName" - @tab-click="handleClick" - > - <el-tab-pane label="鍏ㄩ儴" name="first"></el-tab-pane> - <el-tab-pane label="浣忛櫌" name="bhospitalized"></el-tab-pane> - <el-tab-pane label="鍦ㄩ櫌" name="Inhospital"></el-tab-pane> - <el-tab-pane label="闂ㄨ瘖" name="outpatient"></el-tab-pane> - <el-tab-pane label="浣撴" name="physical"></el-tab-pane> - </el-tabs> - </div> - </div> --> - <!-- 鍙充晶鏁版嵁 --> - <div class="leftvlue"> - <!-- <div class="leftvlue-top"> - <el-tabs v-model="topactiveName" @tab-click="tophandleClick"> - <el-tab-pane name="Local"> - <span class="mulsz" slot="label">鎸夊嚭闄㈢梾鍖虹粺璁� </span> - </el-tab-pane> - <el-tab-pane name="sharing"> - <span class="mulsz" slot="label">鎸夊嚭闄㈢瀹ょ粺璁� </span> - </el-tab-pane> - </el-tabs> - </div> --> - <div class="leftvlue-bg"> - <el-row :gutter="20"> - <!--鏍囩鏁版嵁--> - <el-col :span="24" :xs="24"> - <el-form - :model="queryParams" - ref="queryForm" - size="small" - :inline="true" - v-show="showSearch" - label-width="98px" - > - <!-- <el-form-item label="鍖婚櫌" prop="userName"> - <el-select v-model="queryParams.value1" 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-form-item label="鍑洪櫌鐥呭尯" prop="userName"> - <!-- <el-select v-model="queryParams.leavehospitaldistrictcodes" placeholder="璇烽�夋嫨"> - <el-option - v-for="item in flatArray" - :key="item.deptCode" - :label="item.label" - :value="item.deptCode" - > - </el-option> - </el-select> --> - <el-select - v-model="queryParams.leavehospitaldistrictcodes" - - size="medium" - multiple - filterable - placeholder="璇烽�夋嫨鐥呭尯" - > - <el-option - v-for="item in flatArray" - :key="item.deptCode" - :label="item.label" - :value="item.deptCode" - > - </el-option> - </el-select> - </el-form-item> - <!-- <el-form-item label="绠$悊鏂规" prop="userName"> - <el-select v-model="queryParams.value3" placeholder="璇烽�夋嫨"> - <el-option - v-for="item in options" - :key="item.value" - :label="item.label" - :value="item.value" - > - </el-option> - </el-select> - </el-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-date-picker - v-model="queryParams.dateRange" - type="daterange" - range-separator="鑷�" - start-placeholder="寮�濮嬫棩鏈�" - end-placeholder="缁撴潫鏃ユ湡" - > - </el-date-picker> - </el-form-item> - - <el-form-item> - <el-button - type="primary" - icon="el-icon-search" - size="medium" - @click="handleQuery" - >鎼滅储</el-button - > - <el-button - icon="el-icon-refresh" - size="medium" - @click="resetQuery" - >閲嶇疆</el-button - > - </el-form-item> - </el-form> - - <el-row :gutter="10" class="mb8"> - <el-col :span="1.5"> - <el-button - type="primary" - plain - icon="el-icon-plus" - size="medium" - @click="addladeltag" - v-hasPermi="['system:user:add']" - >鏂板</el-button - > - </el-col> - - <el-col :span="1.5"> - <el-button - type="danger" - plain - icon="el-icon-delete" - size="medium" - :disabled="multiple" - @click="handleDelete" - v-hasPermi="['system:user:remove']" - >鍒犻櫎</el-button - > - </el-col> - <el-col :span="1.5"> - <div class="documentf"> - <div class="document"> - <el-button - type="warning" - plain - icon="el-icon-download" - size="medium" - @click="handleExport" - v-hasPermi="['system:user:export']" - >瀵煎嚭</el-button - > - </div> - </div> - </el-col> - - <!-- <el-col :span="1.5"> </el-col> --> - </el-row> - <!-- <right-toolbar - :showSearch.sync="showSearch" - @queryTable="getList" - :columns="columns" - ></right-toolbar> --> - <el-table - v-loading="loading" - :data="userList" - :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="鏈嶅姟鎬婚噺" - align="center" - key="serviceCount" - prop="serviceCount" - > - <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 }}%</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="鍥炲寮傚父鏁�" - align="center" - width="100" - key="hfycs" - prop="hfycs" - > - </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="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> - - <!-- <pagination - v-show="total > 0" - :total="total" - :page.sync="queryParams.pageNum" - :limit.sync="queryParams.pageSize" - @pagination="getList" - /> --> - </el-col> - </el-row> - </div> - </div> - </div> -</template> - -<script> -import { - toamendtag, - addapitag, - detailstag, - deletetag, - changetagcategory, - toamendtagcategory, - addtagcategory, - deletetagcategory, - listtag, - tagclassifylist, -} from "@/api/system/label"; -import { - getSfStatistics,deptTreeSelect -} from "@/api/system/user"; - -import Treeselect from "@riophae/vue-treeselect"; -import "@riophae/vue-treeselect/dist/vue-treeselect.css"; -const 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); - }, - }, -]; -export default { - name: "questionnaire", - dicts: ["sys_normal_disable", "sys_user_sex"], - components: { Treeselect }, - data() { - return { - topactiveName: "Local", //椤堕儴閫夋嫨 - activeName: "first", //渚ц竟閫夋嫨 - // 閬僵灞� - loading: false, - // 閫変腑鏁扮粍 - ids: [], - // 闈炲崟涓鐢� - single: true, - // 闈炲涓鐢� - multiple: true, - // 鏄剧ず鎼滅储鏉′欢 - showSearch: true, - idds: "", //鍒嗙被id - // 鎬绘潯鏁� - total: 0, - flatArray:[], - amendtag: false, //鏄惁淇敼绫诲埆 - lstamendtag: false, //鏄惁淇敼鏍囩 - scavisible: false, //鍒犻櫎寮规 - deleteVisible: false, //鍒嗙被鍒犻櫎寮规 - deletefenl: "楂樿鍘�", //鍒犻櫎椤� - //淇敼娣诲姞鏍囩寮规鏁版嵁 - tagform: { - isupload: "", - tagname: "", - tagcategoryid: "", - tagdescription: "", - }, - classifyform: { - categoryname: "", - }, - // 鏍囩琛ㄦ牸鏁版嵁 - userList: [], - // 寮瑰嚭灞傛爣棰� - title: "", - // 鏄惁鏄剧ず寮瑰嚭灞� - open: false, - // 鏃ユ湡鑼冨洿 - dateRange: [], - // 宀椾綅閫夐」 - postOptions: [], - // 瑙掕壊閫夐」 - roleOptions: [], - // 琛ㄥ崟鍙傛暟 - form: {}, - forms: { - name: "", - }, - numberlb: 22, - dialogFormVisible: false, //娣诲姞銆佷慨鏀圭被鍒脊妗� - lstamendtagVisible: false, //娣诲姞銆佷慨鏀规爣绛惧脊妗� - goQRCodeVisible: false, //浜岀淮鐮佸脊妗� - sidecolumnval: "", //绫诲埆鎼滅储 - propss: { multiple: true }, - - options: [ - { - value: 1, - label: "涓滃崡", - }, - { - value: 2, - label: "瑗垮寳", - }, - { - value: 3, - label: "浠ㄤ花浠�", - }, - { - value: 4, - label: "鍏椋掗", - }, - ], - pickerOptions: { - disabledDate(time) { - return time.getTime() < Date.now() - 3600 * 1000 * 24; - }, - shortcuts: shortcuts, - }, - pickerOptionsa: { - disabledDate(time) { - return time.getTime() > Date.now(); - }, - shortcuts: shortcuts, - }, - // 鏌ヨ鏍囩鍒楄〃鍙傛暟 - queryParams: { - pageNum: 1, - pageSize: 10, - serviceType:[2], - dateRange: [], - }, - // 鍒椾俊鎭� - columns: [ - { key: 0, label: `鏍囩缂栧彿`, visible: true }, - { key: 1, label: `鏍囩鍚嶇О`, visible: true }, - { key: 2, label: `鏍囩鏄电О`, visible: true }, - { key: 3, label: `閮ㄩ棬`, visible: true }, - { key: 4, label: `鎵嬫満鍙风爜`, visible: true }, - { key: 5, label: `鐘舵�乣, visible: true }, - { key: 6, label: `鍒涘缓鏃堕棿`, visible: true }, - ], - }; - }, - watch: {}, - created() { - this.getList(); -this.getDeptTree(); - }, - - methods: { - /** 鏌ヨ鏍囩鍒楄〃 */ - getList() { - getSfStatistics(this.queryParams).then((response) => { - console.log(response); - // this.total = response.total; - this.userList = response.data; - }); - }, - /** 淇敼鏍囩 */ - handleUpdate(row) { - console.log(row, "淇敼鏍囩"); - this.lstamendtagVisible = true; - this.lstamendtag = true; - this.tagform = { - isupload: row.isupload, - tagname: row.tagname, - tagcategoryid: row.tagcategoryid, - tagdescription: row.tagdescription, - tagid: row.tagid, - }; - }, - // 鑾峰彇绉戝鏍� - getDeptTree() { - // 绉戝鍒楄〃 - deptTreeSelect().then((response) => { - this.deptOptions = response.data; - console.log( this.deptOptions,' this.deptOptions'); - - this.flatArray = this.flattenArray(response.data); - console.log(this.flatArray,'this.flatArray'); - }); - }, - flattenArray(multiArray) { - let result = []; - - // 閫掑綊鍑芥暟锛岀敤浜庡皢澶氱骇鏁扮粍杞崲涓轰竴缁存暟缁勶紝鍙寘鍚渶搴曞眰鐨勫厓绱� - function flatten(element) { - // 濡傛灉褰撳墠鍏冪礌鏈夊瓙鍏冪礌锛岀户缁�掑綊 - if (element.children && element.children.length > 0) { - element.children.forEach((child) => flatten(child)); - } else { - // 鍏嬮殕鍏冪礌浠ラ伩鍏嶄慨鏀瑰師濮嬫暟鎹� - let item = JSON.parse(JSON.stringify(element)); - result.push(item); // 灏嗘渶搴曞眰鐨勫厓绱犳坊鍔犲埌缁撴灉鏁扮粍 - } - } - - // 浠庨《灞傚厓绱犲紑濮嬮�掑綊 - multiArray.forEach((element) => flatten(element)); - return result; // 杩斿洖鍙寘鍚渶搴曞眰鍏冪礌鐨勪竴缁存暟缁� - }, - addladeltag() { - this.lstamendtagVisible = true; - this.lstamendtag = false; - this.tagform = { - isupload: "", - tagname: "", - tagcategoryid: "", - tagdescription: "", - tagid: "", - }; - }, - // 娣诲姞/淇敼鏍囩 - Maintenancetag() { - if (this.lstamendtag) { - toamendtag(this.addDateRange(this.tagform)).then((response) => { - console.log(response); - this.getList(); - }); - } else { - addapitag(this.addDateRange(this.tagform)).then((response) => { - console.log(response); - this.getList(); - }); - } - this.tagform = { - isupload: "", - tagname: "", - tagcategoryid: "", - tagdescription: "", - tagid: "", - }; - }, - routerErr(row) { - console.log(row,'璺宠浆寮傚父'); - this.$router.push({ - path: "/followvisit/discharge", - query: { - errtype: 1, - leavehospitaldistrictcode: row.leavehospitaldistrictcode, - }, - }); - }, - - // 琛ㄥ崟閲嶇疆 - reset() { - this.form = { - userId: undefined, - deptId: undefined, - userName: undefined, - nickName: undefined, - password: undefined, - phonenumber: undefined, - email: undefined, - sex: undefined, - status: "0", - remark: undefined, - postIds: [], - roleIds: [], - }; - this.resetForm("form"); - }, - // 鏍囩鐘舵�佷慨鏀� - handleStatusChange(row) { - console.log(row.isupload); - let text = row.isupload === "0" ? "鍚敤" : "鍋滅敤"; - this.$modal - .confirm('纭瑕�"' + text + '""' + row.tagname + '"鏍囩鍚楋紵') - .then(function () { - return changetagcategory(row.tagid, row.isupload); - }) - .then(() => { - this.$modal.msgSuccess(text + "鎴愬姛"); - }) - .catch(function () { - row.isupload = row.isupload === "0" ? "1" : "0"; - }); - }, - /** 鎼滅储鎸夐挳鎿嶄綔 */ - handleQuery() { - this.queryParams.pageNum = 1; - console.log(); - 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.handleQuery(); - }, - // 澶氶�夋閫変腑鏁版嵁 - handleSelectionChange(selection) { - this.ids = selection.map((item) => item.tagid); - this.single = selection.length != 1; - this.multiple = !selection.length; - }, - - /** 鍒犻櫎鎸夐挳鎿嶄綔 */ - handleDelete(row) { - console.log(row, "鍒犻櫎寮圭獥"); - const tagids = row.tagid || this.ids; - console.log(tagids); - const tagname = row.tagname; - this.$modal - .confirm( - tagname - ? '鏄惁纭鍒犻櫎鏍囩鍚嶇О涓�"' + tagname + '"鐨勬暟鎹」锛�' - : "鏄惁纭鍒犻櫎閫変腑鐨勬暟鎹」锛�" - ) - .then(function () { - return deletetag(tagids); - }) - .then(() => { - this.getList(); - this.$modal.msgSuccess("鍒犻櫎鎴愬姛"); - }) - .catch(() => {}); - }, - /** 瀵煎嚭鎸夐挳鎿嶄綔 */ - handleExport() { - this.download( - "base/tag/export", - { - ...this.queryParams, - }, - `user_${new Date().getTime()}.xlsx` - ); - }, - }, -}; -</script> - -<style lang="scss" scoped> -.sidecolumn { - width: 180px; - min-height: 100vh; - text-align: center; - // display: flex; - margin-top: 20px; - 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); - .sidecolumn-top { - display: flex; - justify-content: space-between; - .top-wj { - font-size: 20px; - } - .top-tj { - font-size: 18px; - - color: rgb(0, 89, 255); - cursor: pointer; - } - } - .center-ss { - margin-top: 30px; - .input-with-select { - height: 40px !important; - } - } - .bottom-fl { - margin-top: 30px; - display: center !important; - } -} -.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); - .qrcode-text { - font-size: 20px; - span { - margin-left: 20px; - } - } - .qrcode-img { - width: 300px; - height: 400px; - } -} -::v-deep.el-tabs--left, -.el-tabs--right { - overflow: hidden; - align-items: center; - display: flex; -} -::v-deep.el-input--medium .el-input__inner { - height: 40px !important; -} -::v-deep.el-tabs--right .el-tabs__active-bar.is-right { - height: 40px; - width: 5px; - left: 0; -} -::v-deep.el-tabs--right .el-tabs__item.is-right { - display: block; - text-align: left; - font-size: 20px; -} - -.leftvlue { - // display: flex; - // flex: 1; - // width: 80%; - // margin-top: 20px; - margin: 20px; - padding: 30px; - background: #ffff; - border: 1px solid #dcdfe6; - -webkit-box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.12), - 0 0 6px 0 rgba(0, 0, 0, 0.04); - .mulsz { - font-size: 20px; - } -} -.document { - width: 100px; - height: 50px; -} -.documentf { - display: flex; - justify-content: flex-end; -} -.button-text { - color: rgb(70, 204, 238); -} -.button-textck { - color: rgb(39, 167, 67); -} -.button-textxg { - color: rgb(35, 81, 233); -} -.button-textsc { - color: rgb(235, 23, 23); -} -</style> diff --git a/src/views/sfstatistics/propaganda/index.vue b/src/views/sfstatistics/propaganda/index.vue deleted file mode 100644 index 12167c2..0000000 --- a/src/views/sfstatistics/propaganda/index.vue +++ /dev/null @@ -1,951 +0,0 @@ -<template> - <div class="Questionnairemanagement"> - <!-- 宸︿晶鏍� --> - <div class="sidecolumn"> - <div class="sidecolumn-top"> - <div class="top-wj">鎮h�呰寖鍥�</div> - </div> - - <div class="bottom-fl"> - <el-tabs - tab-position="right" - v-model="activeName" - @tab-click="handleClick" - > - <el-tab-pane label="鍏ㄩ儴" name="first"></el-tab-pane> - <el-tab-pane label="浣忛櫌" name="bhospitalized"></el-tab-pane> - <el-tab-pane label="鍦ㄩ櫌" name="Inhospital"></el-tab-pane> - <el-tab-pane label="闂ㄨ瘖" name="outpatient"></el-tab-pane> - <el-tab-pane label="浣撴" name="physical"></el-tab-pane> - </el-tabs> - </div> - </div> - <!-- 鍙充晶鏁版嵁 --> - <div class="leftvlue"> - <div class="leftvlue-top"> - <el-tabs v-model="topactiveName" @tab-click="tophandleClick"> - <el-tab-pane name="Local"> - <span class="mulsz" slot="label">鎸夊嚭闄㈢梾鍖虹粺璁� </span> - </el-tab-pane> - <el-tab-pane name="sharing"> - <span class="mulsz" slot="label">鎸夊嚭闄㈢瀹ょ粺璁� </span> - </el-tab-pane> - </el-tabs> - </div> - <div class="leftvlue-bg"> - <el-row :gutter="20"> - <!--鏍囩鏁版嵁--> - <el-col :span="24" :xs="24"> - <el-form - :model="queryParams" - ref="queryForm" - size="small" - :inline="true" - v-show="showSearch" - label-width="98px" - > - <el-form-item label="鍖婚櫌" prop="userName"> - <el-select - v-model="queryParams.value1" - 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-form-item label="鍑洪櫌鐥呭尯" prop="userName"> - <el-select v-model="queryParams.value2" 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-form-item label="绠$悊鏂规" prop="userName"> - <el-select v-model="queryParams.value3" placeholder="璇烽�夋嫨"> - <el-option - v-for="item in options" - :key="item.value" - :label="item.label" - :value="item.value" - > - </el-option> - </el-select> - </el-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-date-picker - v-model="queryParams.valuetime2" - align="right" - type="date" - placeholder="閫夋嫨鏃ユ湡" - :picker-options="pickerOptions" - > - </el-date-picker> - </el-form-item> - <el-form-item label="瀹為檯瀹屾垚鏃ユ湡" prop="userName"> - <el-date-picker - v-model="queryParams.valuetime2" - align="right" - type="date" - placeholder="閫夋嫨鏃ユ湡" - :picker-options="pickerOptions" - > - </el-date-picker> - </el-form-item> - - <el-form-item> - <el-button - type="primary" - icon="el-icon-search" - size="medium" - @click="handleQuery" - >鎼滅储</el-button - > - <el-button - icon="el-icon-refresh" - size="medium" - @click="resetQuery" - >閲嶇疆</el-button - > - </el-form-item> - </el-form> - - <el-row :gutter="10" class="mb8"> - <el-col :span="1.5"> - <el-button - type="primary" - plain - icon="el-icon-plus" - size="medium" - @click="addladeltag" - v-hasPermi="['system:user:add']" - >鏂板</el-button - > - </el-col> - - <el-col :span="1.5"> - <el-button - type="danger" - plain - icon="el-icon-delete" - size="medium" - :disabled="multiple" - @click="handleDelete" - v-hasPermi="['system:user:remove']" - >鍒犻櫎</el-button - > - </el-col> - <el-col :span="1.5"> - <div class="documentf"> - <div class="document"> - <el-button - type="warning" - plain - icon="el-icon-download" - size="medium" - @click="handleExport" - v-hasPermi="['system:user:export']" - >瀵煎嚭</el-button - > - </div> - </div> - </el-col> - - <!-- <el-col :span="1.5"> </el-col> --> - </el-row> - <!-- <right-toolbar - :showSearch.sync="showSearch" - @queryTable="getList" - :columns="columns" - ></right-toolbar> --> - <el-table - v-loading="loading" - :data="userList" - :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="tagname" - prop="tagname" - width="100" - :show-overflow-tooltip="true" - /> - <el-table-column - label="瀹f暀" - align="center" - key="updateTime" - prop="updateTime" - > - </el-table-column> - - <el-table-column - label="瀹f暀鏇存柊鏃ユ湡" - align="center" - key="tagdescription" - prop="tagdescription" - width="110" - > - </el-table-column> - <el-table-column - label="绠$悊鏂规" - align="center" - key="isupload" - prop="isupload" - > - </el-table-column> - <el-table-column - label="闅忚浠诲姟鏁�" - align="center" - key="tagdescription" - prop="tagdescription" - width="100" - > - </el-table-column> - <el-table-column - label="闅忚瀹屾垚鏁�" - align="center" - key="tagdescription" - prop="tagdescription" - width="100" - > - </el-table-column> - <el-table-column - label="闅忚瀹屾垚鐜�" - align="center" - key="isupload" - prop="isupload" - width="100" - > - </el-table-column> - <el-table-column - label="AI澶栧懠娆℃暟" - align="center" - key="tagdescription" - prop="tagdescription" - width="100" - > - </el-table-column> - <el-table-column - label="AI闅忚瀹屾垚鏁�" - align="center" - key="tagdescription" - prop="tagdescription" - width="120" - > - </el-table-column> - <el-table-column - label="AI闅忚瀹屾垚鐜�" - align="center" - key="tagdescription" - prop="tagdescription" - width="120" - > - </el-table-column> - <el-table-column - label="寰俊鍙戦�佹鏁�" - align="center" - key="tagdescription" - prop="tagdescription" - width="100" - > - </el-table-column> - <el-table-column - label="寰俊闅忚瀹屾垚鏁�" - align="center" - key="tagdescription" - prop="tagdescription" - width="120" - > - </el-table-column> - <el-table-column - label="寰俊闅忚瀹屾垚鐜�" - align="center" - key="tagdescription" - prop="tagdescription" - width="120" - > - </el-table-column> - <el-table-column - label="鐭俊鍙戦�佹鏁�" - align="center" - key="tagdescription" - prop="tagdescription" - width="100" - > - </el-table-column> - <el-table-column - label="鐭俊闅忚瀹屾垚鏁�" - align="center" - key="tagdescription" - prop="tagdescription" - width="120" - > - </el-table-column> - <el-table-column - label="鐭俊闅忚瀹屾垚鐜�" - align="center" - key="tagdescription" - prop="tagdescription" - width="120" - > - </el-table-column> - <el-table-column - label="浜哄伐闅忚娆℃暟" - align="center" - key="tagdescription" - prop="tagdescription" - width="100" - > - </el-table-column> - <el-table-column - label="浜哄伐闅忚瀹屾垚鏁�" - align="center" - key="tagdescription" - prop="tagdescription" - width="120" - > - </el-table-column> - <el-table-column - label="浜哄伐闅忚瀹屾垚鐜�" - align="center" - key="tagdescription" - prop="tagdescription" - width="120" - > - </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-s-data"></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-share"></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> - </div> - </div> - <!-- 鍗曢灞曠ず寮规 --> - <el-dialog :visible.sync="topicVisible" width="45%"> - <div class="topicdia"> - <div class="top-text">{{ topicvalue.name }}</div> - <div class="top-mintext">闅忚瀹屾垚鏁皗{ topicvalue.number }}</div> - <div style="overflow-x: hidden; overflow-y: auto; max-height: 65vh"> - <div class="ttaabbcc" v-for="item in topiclist" :key="item.name"> - <div class="describe"> - 绗瑊{ item.number }}棰橈細 {{ item.name }}?<span - >[{{ item.type == 1 ? "鍗曢�夐" : "澶氶�夐" }}]</span - > - </div> - <div> - <el-table :data="tableData" style="width: 100%"> - <el-table-column prop="date" label="闂閫夐」"> - </el-table-column> - <el-table-column prop="name" label="閫夋嫨浜烘暟"> - </el-table-column> - <el-table-column prop="address" label="姣斾緥"> </el-table-column> - </el-table> - </div> - </div> - </div> - </div> - <span slot="footer" class="dialog-footer"> - <el-button @click="topicVisible = false">鍏� 闂�</el-button> - </span> - </el-dialog> - <!-- 缁撴灉缁熻寮规 --> - <el-dialog title="鎻愮ず" :visible.sync="consequenceVisible" width="50%"> - <div class="topicdia"> - <div class="top-text" style="margin-bottom: 20px">瀹f暀缁熻缁撴灉</div> - <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="namec" label="骞撮緞"> </el-table-column> - <el-table-column prop="named" label="鑱旂郴鏂瑰紡"> </el-table-column> - <el-table-column prop="namee" label="璁″垝鎵ц鏃堕棿" width="120"> - </el-table-column> - <el-table-column prop="namex" label="瀹為檯瀹屾垚鏃堕棿" width="120"> - </el-table-column> - <el-table-column prop="namez" label="瀹屾垚鏂瑰紡"> </el-table-column> - <el-table-column prop="nameh" label="瀹f暀"> </el-table-column> - <el-table-column prop="namej" label="寰楀垎"> </el-table-column> - <!-- 鎴彇鍑犲垪閫夐」灞炴�у悕缁存姢鏁扮粍閬嶅巻 --> - <!-- <el-table-column prop="namet"> - <template slot="header" slot-scope="scope"> - <div>{{ scope.row.name }}<span>[鍗曢�夐]</span></div> - </template> - </el-table-column> --> - </el-table> - </div> - </div> - <span slot="footer" class="dialog-footer"> - <el-button @click="consequenceVisible = false">鍙� 娑�</el-button> - <el-button type="primary" @click="consequenceVisible = false" - >纭� 瀹�</el-button - > - </span> - </el-dialog> - </div> -</template> - -<script> -import { - toamendtag, - addapitag, - deletetag, - changetagcategory, - listtag, -} from "@/api/system/label"; - -import Treeselect from "@riophae/vue-treeselect"; -import "@riophae/vue-treeselect/dist/vue-treeselect.css"; -export default { - name: "questionnaire", - dicts: ["sys_normal_disable", "sys_user_sex"], - components: { Treeselect }, - data() { - return { - topactiveName: "Local", //椤堕儴閫夋嫨 - activeName: "first", - // 閬僵灞� - loading: false, - // 閫変腑鏁扮粍 - ids: [], - // 闈炲崟涓鐢� - single: true, - // 闈炲涓鐢� - multiple: true, - // 鏄剧ず鎼滅储鏉′欢 - showSearch: true, - idds: "", //鍒嗙被id - // 鎬绘潯鏁� - total: 0, - lstamendtag: false, //鏄惁淇敼鏍囩 - topicVisible: false, //鎺у埗鍗曢寮规 - consequenceVisible: false, //鎺у埗缁撴灉寮规 - //淇敼娣诲姞鏍囩寮规鏁版嵁 - tagform: { - isupload: "", - tagname: "", - tagcategoryid: "", - tagdescription: "", - }, - topicvalue: { - name: "楠ㄧ闅忚妯℃澘", - number: 222, - }, - classifyform: { - categoryname: "", - }, - topiclist: [ - { - name: "鎮ㄧ殑韬綋搴峰鎯呭喌濡備綍", - number: 1, - type: 1, - }, - { - name: "鎮ㄧ殑楗鎯呭喌濡備綍", - number: 2, - type: 2, - }, - { - name: "鎮ㄧ殑鎭㈠鎯呭喌濡備綍", - number: 3, - type: 1, - }, - ], - tableData: [ - { - date: "濂�", - name: 12, - address: "50%", - }, - { - date: "涓�鑸�", - name: 2, - address: "6.2%", - }, - { - date: "宸�", - name: 0, - address: "0%", - }, - ], - // 鏍囩琛ㄦ牸鏁版嵁 - userList: [], - // 寮瑰嚭灞傛爣棰� - title: "", - // 鏄惁鏄剧ず寮瑰嚭灞� - open: false, - // 鏃ユ湡鑼冨洿 - dateRange: [], - // 宀椾綅閫夐」 - postOptions: [], - // 瑙掕壊閫夐」 - roleOptions: [], - // 琛ㄥ崟鍙傛暟 - form: {}, - forms: { - name: "", - }, - numberlb: 22, - dialogFormVisible: false, //娣诲姞銆佷慨鏀圭被鍒脊妗� - lstamendtagVisible: false, //娣诲姞銆佷慨鏀规爣绛惧脊妗� - goQRCodeVisible: false, //浜岀淮鐮佸脊妗� - sidecolumnval: "", //绫诲埆鎼滅储 - propss: { multiple: true }, - topqueryParams: {}, //瀵煎嚭绛涢�夋潯浠� - options: [ - { - value: 1, - label: "涓滃崡", - }, - { - value: 2, - label: "瑗垮寳", - }, - { - value: 3, - label: "浠ㄤ花浠�", - }, - { - value: 4, - label: "鍏椋掗", - }, - ], - pickerOptions: { - disabledDate(time) { - return time.getTime() < Date.now() - 3600 * 1000 * 24; - }, - 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); - }, - }, - ], - }, - pickerOptionsa: { - 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); - }, - }, - ], - }, - // 鏌ヨ鏍囩鍒楄〃鍙傛暟 - queryParams: { - pageNum: 1, - pageSize: 10, - tagname: undefined, - tagdescription: undefined, - }, - // 鍒椾俊鎭� - columns: [ - { key: 0, label: `鏍囩缂栧彿`, visible: true }, - { key: 1, label: `鏍囩鍚嶇О`, visible: true }, - { key: 2, label: `鏍囩鏄电О`, visible: true }, - { key: 3, label: `閮ㄩ棬`, visible: true }, - { key: 4, label: `鎵嬫満鍙风爜`, visible: true }, - { key: 5, label: `鐘舵�乣, visible: true }, - { key: 6, label: `鍒涘缓鏃堕棿`, visible: true }, - ], - // 琛ㄥ崟鏍¢獙 - // rules: { - // userName: [ - // { required: true, message: "鏍囩鍚嶇О涓嶈兘涓虹┖", trigger: "blur" }, - // { - // min: 2, - // max: 20, - // message: "鏍囩鍚嶇О闀垮害蹇呴』浠嬩簬 2 鍜� 20 涔嬮棿", - // trigger: "blur", - // }, - // ], - // nickName: [ - // { required: true, message: "鏍囩鏄电О涓嶈兘涓虹┖", trigger: "blur" }, - // ], - // password: [ - // { required: true, message: "鏍囩瀵嗙爜涓嶈兘涓虹┖", trigger: "blur" }, - // { - // min: 5, - // max: 20, - // message: "鏍囩瀵嗙爜闀垮害蹇呴』浠嬩簬 5 鍜� 20 涔嬮棿", - // trigger: "blur", - // }, - // ], - // email: [ - // { - // type: "email", - // message: "璇疯緭鍏ユ纭殑閭鍦板潃", - // trigger: ["blur", "change"], - // }, - // ], - // phonenumber: [ - // { - // pattern: /^1[3|4|5|6|7|8|9][0-9]\d{8}$/, - // message: "璇疯緭鍏ユ纭殑鎵嬫満鍙风爜", - // trigger: "blur", - // }, - // ], - // IDnumber: [ - // { - // pattern: - // /^\d{6}((((((19|20)\d{2})(0[13-9]|1[012])(0[1-9]|[12]\d|30))|(((19|20)\d{2})(0[13578]|1[02])31)|((19|20)\d{2})02(0[1-9]|1\d|2[0-8])|((((19|20)([13579][26]|[2468][048]|0[48]))|(2000))0229))\d{3})|((((\d{2})(0[13-9]|1[012])(0[1-9]|[12]\d|30))|((\d{2})(0[13578]|1[02])31)|((\d{2})02(0[1-9]|1\d|2[0-8]))|(([13579][26]|[2468][048]|0[048])0229))\d{2}))(\d|X|x)$/, - // message: "璇疯緭鍏ユ纭殑韬唤璇佸彿鐮�", - // trigger: "blur", - // }, - // ], - // }, - }; - }, - watch: {}, - created() { - this.getList(); - this.gitclasify(); - }, - - methods: { - /** 鏌ヨ鏍囩鍒楄〃 */ - getList() { - listtag(this.addDateRange(this.queryParams)).then((response) => { - console.log(response); - this.total = response.total; - this.userList = response.rows; - }); - }, - /** 淇敼鏍囩 */ - handleUpdate(row) { - console.log(row, "淇敼鏍囩"); - this.lstamendtagVisible = true; - this.lstamendtag = true; - this.tagform = { - isupload: row.isupload, - tagname: row.tagname, - tagcategoryid: row.tagcategoryid, - tagdescription: row.tagdescription, - tagid: row.tagid, - }; - }, - addladeltag() { - this.lstamendtagVisible = true; - this.lstamendtag = false; - this.tagform = { - isupload: "", - tagname: "", - tagcategoryid: "", - tagdescription: "", - tagid: "", - }; - }, - // 娣诲姞/淇敼鏍囩 - Maintenancetag() { - if (this.lstamendtag) { - toamendtag(this.addDateRange(this.tagform)).then((response) => { - console.log(response); - this.getList(); - }); - } else { - addapitag(this.addDateRange(this.tagform)).then((response) => { - console.log(response); - this.getList(); - }); - } - this.tagform = { - isupload: "", - tagname: "", - tagcategoryid: "", - tagdescription: "", - tagid: "", - }; - }, - - // 琛ㄥ崟閲嶇疆 - reset() { - this.form = { - userId: undefined, - deptId: undefined, - userName: undefined, - nickName: undefined, - password: undefined, - phonenumber: undefined, - email: undefined, - sex: undefined, - status: "0", - remark: undefined, - postIds: [], - roleIds: [], - }; - this.resetForm("form"); - }, - //鍗曢寮规 - handleUpdate() { - this.topicVisible = true; - }, - //缁撴灉寮规 - handleDelete() { - this.consequenceVisible = true; - }, - /** 鎼滅储鎸夐挳鎿嶄綔 */ - handleQuery() { - this.queryParams.pageNum = 1; - this.getList(); - }, - /** 閲嶇疆鎸夐挳鎿嶄綔 */ - resetQuery() { - this.dateRange = []; - this.resetForm("queryForm"); - this.queryParams.tagname = ""; - this.$refs.tree.setCurrentKey(null); - this.handleQuery(); - }, - // 澶氶�夋閫変腑鏁版嵁 - handleSelectionChange(selection) { - this.ids = selection.map((item) => item.tagid); - this.single = selection.length != 1; - this.multiple = !selection.length; - }, - - /** 瀵煎嚭鎸夐挳鎿嶄綔 */ - handleExport() { - this.download( - "base/tag/export", - { - ...this.topqueryParams, - }, - `user_${new Date().getTime()}.xlsx` - ); - }, - }, -}; -</script> - -<style lang="scss" scoped> -.Questionnairemanagement { - display: flex; -} -.sidecolumn { - width: 180px; - min-height: 100vh; - text-align: center; - // display: flex; - margin-top: 20px; - 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); - .sidecolumn-top { - display: flex; - justify-content: space-between; - .top-wj { - font-size: 20px; - } - .top-tj { - font-size: 18px; - - color: rgb(0, 89, 255); - cursor: pointer; - } - } - .center-ss { - margin-top: 30px; - .input-with-select { - height: 40px !important; - } - } - .bottom-fl { - margin-top: 30px; - display: center !important; - } -} -.topicdia { - text-align: center; - margin: 0 20px; - - // overflow: scroll; - - .top-text { - font-size: 25px; - font-weight: 600; - } - .top-mintext { - color: #bdae25; - font-size: 15px; - margin: 10px 0; - } - .ttaabbcc { - // 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); - margin: 15px 0; - margin-top: 30px; - padding: 30px; - } - .describe { - text-align: left; - margin-bottom: 20px; - span { - color: rgb(23, 140, 235); - margin-left: 5px; - } - } -} -::v-deep.el-tabs--left, -.el-tabs--right { - overflow: hidden; - align-items: center; - display: flex; -} -::v-deep.el-input--medium .el-input__inner { - height: 40px !important; -} -::v-deep.el-tabs--right .el-tabs__active-bar.is-right { - height: 40px; - width: 5px; - left: 0; -} -::v-deep.el-tabs--right .el-tabs__item.is-right { - display: block; - text-align: left; - font-size: 20px; -} - -.leftvlue { - // display: flex; - // flex: 1; - width: 80%; - margin-top: 20px; - // margin: 20px; - padding: 30px; - background: #ffff; - border: 1px solid #dcdfe6; - -webkit-box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.12), - 0 0 6px 0 rgba(0, 0, 0, 0.04); - .mulsz { - font-size: 20px; - } -} -.document { - width: 100px; - height: 50px; -} -.documentf { - display: flex; - justify-content: flex-end; -} -.button-text { - color: rgb(70, 204, 238); -} -.button-textck { - color: rgb(39, 167, 67); -} -.button-textxg { - font-size: 18px; - color: rgb(35, 81, 233); -} -.button-textsc { - font-size: 18px; - - color: rgb(23, 140, 235); -} -</style> diff --git a/src/views/sfstatistics/statement/index.vue b/src/views/sfstatistics/statement/index.vue deleted file mode 100644 index 74e75db..0000000 --- a/src/views/sfstatistics/statement/index.vue +++ /dev/null @@ -1,952 +0,0 @@ -<template> - <div class="Questionnairemanagement"> - <!-- 宸︿晶鏍� --> - <div class="sidecolumn"> - <div class="sidecolumn-top"> - <div class="top-wj">鎮h�呰寖鍥�</div> - </div> - - <div class="bottom-fl"> - <el-tabs - tab-position="right" - v-model="activeName" - @tab-click="handleClick" - > - <el-tab-pane label="鍏ㄩ儴" name="first"></el-tab-pane> - <el-tab-pane label="浣忛櫌" name="bhospitalized"></el-tab-pane> - <el-tab-pane label="鍦ㄩ櫌" name="Inhospital"></el-tab-pane> - <el-tab-pane label="闂ㄨ瘖" name="outpatient"></el-tab-pane> - <el-tab-pane label="浣撴" name="physical"></el-tab-pane> - </el-tabs> - </div> - </div> - <!-- 鍙充晶鏁版嵁 --> - <div class="leftvlue"> - <div class="leftvlue-top"> - <el-tabs v-model="topactiveName" @tab-click="tophandleClick"> - <el-tab-pane name="Local"> - <span class="mulsz" slot="label">鎸夊嚭闄㈢梾鍖虹粺璁� </span> - </el-tab-pane> - <el-tab-pane name="sharing"> - <span class="mulsz" slot="label">鎸夊嚭闄㈢瀹ょ粺璁� </span> - </el-tab-pane> - </el-tabs> - </div> - <div class="leftvlue-bg"> - <el-row :gutter="20"> - <!--鏍囩鏁版嵁--> - <el-col :span="24" :xs="24"> - <el-form - :model="queryParams" - ref="queryForm" - size="small" - :inline="true" - v-show="showSearch" - label-width="98px" - > - <el-form-item label="鍖婚櫌" prop="userName"> - <el-select - v-model="queryParams.value1" - 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-form-item label="鍑洪櫌鐥呭尯" prop="userName"> - <el-select v-model="queryParams.value2" 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-form-item label="绠$悊鏂规" prop="userName"> - <el-select v-model="queryParams.value3" placeholder="璇烽�夋嫨"> - <el-option - v-for="item in options" - :key="item.value" - :label="item.label" - :value="item.value" - > - </el-option> - </el-select> - </el-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-date-picker - v-model="queryParams.valuetime2" - align="right" - type="date" - placeholder="閫夋嫨鏃ユ湡" - :picker-options="pickerOptions" - > - </el-date-picker> - </el-form-item> - <el-form-item label="璁″垝闅忚鏃ユ湡" prop="userName"> - <el-date-picker - v-model="queryParams.valuetime2" - align="right" - type="date" - placeholder="閫夋嫨鏃ユ湡" - :picker-options="pickerOptions" - > - </el-date-picker> - </el-form-item> - - <el-form-item> - <el-button - type="primary" - icon="el-icon-search" - size="medium" - @click="handleQuery" - >鎼滅储</el-button - > - <el-button - icon="el-icon-refresh" - size="medium" - @click="resetQuery" - >閲嶇疆</el-button - > - </el-form-item> - </el-form> - - <el-row :gutter="10" class="mb8"> - <el-col :span="1.5"> - <el-button - type="primary" - plain - icon="el-icon-plus" - size="medium" - @click="addladeltag" - v-hasPermi="['system:user:add']" - >鏂板</el-button - > - </el-col> - - <el-col :span="1.5"> - <el-button - type="danger" - plain - icon="el-icon-delete" - size="medium" - :disabled="multiple" - @click="handleDelete" - v-hasPermi="['system:user:remove']" - >鍒犻櫎</el-button - > - </el-col> - <el-col :span="1.5"> - <div class="documentf"> - <div class="document"> - <el-button - type="warning" - plain - icon="el-icon-download" - size="medium" - @click="handleExport" - v-hasPermi="['system:user:export']" - >瀵煎嚭</el-button - > - </div> - </div> - </el-col> - - <!-- <el-col :span="1.5"> </el-col> --> - </el-row> - <!-- <right-toolbar - :showSearch.sync="showSearch" - @queryTable="getList" - :columns="columns" - ></right-toolbar> --> - <el-table - v-loading="loading" - :data="userList" - :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="tagname" - prop="tagname" - width="100" - :show-overflow-tooltip="true" - /> - <el-table-column - label="闂嵎" - align="center" - key="updateTime" - prop="updateTime" - > - </el-table-column> - - <el-table-column - label="闂嵎鏇存柊鏃ユ湡" - align="center" - key="tagdescription" - prop="tagdescription" - width="110" - > - </el-table-column> - <el-table-column - label="绠$悊鏂规" - align="center" - key="isupload" - prop="isupload" - > - </el-table-column> - <el-table-column - label="闅忚浠诲姟鏁�" - align="center" - key="tagdescription" - prop="tagdescription" - width="100" - > - </el-table-column> - <el-table-column - label="闅忚瀹屾垚鏁�" - align="center" - key="tagdescription" - prop="tagdescription" - width="100" - > - </el-table-column> - <el-table-column - label="闅忚瀹屾垚鐜�" - align="center" - key="isupload" - prop="isupload" - width="100" - > - </el-table-column> - <el-table-column - label="AI澶栧懠娆℃暟" - align="center" - key="tagdescription" - prop="tagdescription" - width="100" - > - </el-table-column> - <el-table-column - label="AI闅忚瀹屾垚鏁�" - align="center" - key="tagdescription" - prop="tagdescription" - width="120" - > - </el-table-column> - <el-table-column - label="AI闅忚瀹屾垚鐜�" - align="center" - key="tagdescription" - prop="tagdescription" - width="120" - > - </el-table-column> - <el-table-column - label="寰俊鍙戦�佹鏁�" - align="center" - key="tagdescription" - prop="tagdescription" - width="100" - > - </el-table-column> - <el-table-column - label="寰俊闅忚瀹屾垚鏁�" - align="center" - key="tagdescription" - prop="tagdescription" - width="120" - > - </el-table-column> - <el-table-column - label="寰俊闅忚瀹屾垚鐜�" - align="center" - key="tagdescription" - prop="tagdescription" - width="120" - > - </el-table-column> - <el-table-column - label="鐭俊鍙戦�佹鏁�" - align="center" - key="tagdescription" - prop="tagdescription" - width="100" - > - </el-table-column> - <el-table-column - label="鐭俊闅忚瀹屾垚鏁�" - align="center" - key="tagdescription" - prop="tagdescription" - width="120" - > - </el-table-column> - <el-table-column - label="鐭俊闅忚瀹屾垚鐜�" - align="center" - key="tagdescription" - prop="tagdescription" - width="120" - > - </el-table-column> - <el-table-column - label="浜哄伐闅忚娆℃暟" - align="center" - key="tagdescription" - prop="tagdescription" - width="100" - > - </el-table-column> - <el-table-column - label="浜哄伐闅忚瀹屾垚鏁�" - align="center" - key="tagdescription" - prop="tagdescription" - width="120" - > - </el-table-column> - <el-table-column - label="浜哄伐闅忚瀹屾垚鐜�" - align="center" - key="tagdescription" - prop="tagdescription" - width="120" - > - </el-table-column> - - <el-table-column - fixed="right" - 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-s-data"></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-share"></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> - </div> - </div> - <!-- 鍗曢灞曠ず寮规 --> - <el-dialog :visible.sync="topicVisible" width="45%"> - <div class="topicdia"> - <div class="top-text">{{ topicvalue.name }}</div> - <div class="top-mintext">闅忚瀹屾垚鏁皗{ topicvalue.number }}</div> - <div style="overflow-x: hidden; overflow-y: auto; max-height: 65vh"> - <div class="ttaabbcc" v-for="item in topiclist" :key="item.name"> - <div class="describe"> - 绗瑊{ item.number }}棰橈細 {{ item.name }}?<span - >[{{ item.type == 1 ? "鍗曢�夐" : "澶氶�夐" }}]</span - > - </div> - <div> - <el-table :data="tableData" style="width: 100%"> - <el-table-column prop="date" label="闂閫夐」"> - </el-table-column> - <el-table-column prop="name" label="閫夋嫨浜烘暟"> - </el-table-column> - <el-table-column prop="address" label="姣斾緥"> </el-table-column> - </el-table> - </div> - </div> - </div> - </div> - <span slot="footer" class="dialog-footer"> - <el-button @click="topicVisible = false">鍏� 闂�</el-button> - </span> - </el-dialog> - <!-- 缁撴灉缁熻寮规 --> - <el-dialog title="鎻愮ず" :visible.sync="consequenceVisible" width="50%"> - <div class="topicdia"> - <div class="top-text" style="margin-bottom: 20px">闂嵎缁熻缁撴灉</div> - <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="namec" label="骞撮緞"> </el-table-column> - <el-table-column prop="named" label="鑱旂郴鏂瑰紡"> </el-table-column> - <el-table-column prop="namee" label="璁″垝鎵ц鏃堕棿" width="120"> - </el-table-column> - <el-table-column prop="namex" label="瀹為檯瀹屾垚鏃堕棿" width="120"> - </el-table-column> - <el-table-column prop="namez" label="瀹屾垚鏂瑰紡"> </el-table-column> - <el-table-column prop="nameh" label="闂嵎"> </el-table-column> - <el-table-column prop="namej" label="寰楀垎"> </el-table-column> - <!-- 鎴彇鍑犲垪閫夐」灞炴�у悕缁存姢鏁扮粍閬嶅巻 --> - <!-- <el-table-column prop="namet"> - <template slot="header" slot-scope="scope"> - <div>{{ scope.row.name }}<span>[鍗曢�夐]</span></div> - </template> - </el-table-column> --> - </el-table> - </div> - </div> - <span slot="footer" class="dialog-footer"> - <el-button @click="consequenceVisible = false">鍙� 娑�</el-button> - <el-button type="primary" @click="consequenceVisible = false" - >纭� 瀹�</el-button - > - </span> - </el-dialog> - </div> -</template> - -<script> -import { - toamendtag, - addapitag, - deletetag, - changetagcategory, - listtag, -} from "@/api/system/label"; - -import Treeselect from "@riophae/vue-treeselect"; -import "@riophae/vue-treeselect/dist/vue-treeselect.css"; -export default { - name: "questionnaire", - dicts: ["sys_normal_disable", "sys_user_sex"], - components: { Treeselect }, - data() { - return { - topactiveName: "Local", //椤堕儴閫夋嫨 - activeName: "first", - // 閬僵灞� - loading: false, - // 閫変腑鏁扮粍 - ids: [], - // 闈炲崟涓鐢� - single: true, - // 闈炲涓鐢� - multiple: true, - // 鏄剧ず鎼滅储鏉′欢 - showSearch: true, - idds: "", //鍒嗙被id - // 鎬绘潯鏁� - total: 0, - lstamendtag: false, //鏄惁淇敼鏍囩 - topicVisible: false, //鎺у埗鍗曢寮规 - consequenceVisible: false, //鎺у埗缁撴灉寮规 - //淇敼娣诲姞鏍囩寮规鏁版嵁 - tagform: { - isupload: "", - tagname: "", - tagcategoryid: "", - tagdescription: "", - }, - topicvalue: { - name: "楠ㄧ闅忚妯℃澘", - number: 222, - }, - classifyform: { - categoryname: "", - }, - topiclist: [ - { - name: "鎮ㄧ殑韬綋搴峰鎯呭喌濡備綍", - number: 1, - type: 1, - }, - { - name: "鎮ㄧ殑楗鎯呭喌濡備綍", - number: 2, - type: 2, - }, - { - name: "鎮ㄧ殑鎭㈠鎯呭喌濡備綍", - number: 3, - type: 1, - }, - ], - tableData: [ - { - date: "濂�", - name: 12, - address: "50%", - }, - { - date: "涓�鑸�", - name: 2, - address: "6.2%", - }, - { - date: "宸�", - name: 0, - address: "0%", - }, - ], - // 鏍囩琛ㄦ牸鏁版嵁 - userList: [], - // 寮瑰嚭灞傛爣棰� - title: "", - // 鏄惁鏄剧ず寮瑰嚭灞� - open: false, - // 鏃ユ湡鑼冨洿 - dateRange: [], - // 宀椾綅閫夐」 - postOptions: [], - // 瑙掕壊閫夐」 - roleOptions: [], - // 琛ㄥ崟鍙傛暟 - form: {}, - forms: { - name: "", - }, - numberlb: 22, - dialogFormVisible: false, //娣诲姞銆佷慨鏀圭被鍒脊妗� - lstamendtagVisible: false, //娣诲姞銆佷慨鏀规爣绛惧脊妗� - goQRCodeVisible: false, //浜岀淮鐮佸脊妗� - sidecolumnval: "", //绫诲埆鎼滅储 - propss: { multiple: true }, - topqueryParams: {}, //瀵煎嚭绛涢�夋潯浠� - options: [ - { - value: 1, - label: "涓滃崡", - }, - { - value: 2, - label: "瑗垮寳", - }, - { - value: 3, - label: "浠ㄤ花浠�", - }, - { - value: 4, - label: "鍏椋掗", - }, - ], - pickerOptions: { - disabledDate(time) { - return time.getTime() < Date.now() - 3600 * 1000 * 24; - }, - 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); - }, - }, - ], - }, - pickerOptionsa: { - 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); - }, - }, - ], - }, - // 鏌ヨ鏍囩鍒楄〃鍙傛暟 - queryParams: { - pageNum: 1, - pageSize: 10, - tagname: undefined, - tagdescription: undefined, - }, - // 鍒椾俊鎭� - columns: [ - { key: 0, label: `鏍囩缂栧彿`, visible: true }, - { key: 1, label: `鏍囩鍚嶇О`, visible: true }, - { key: 2, label: `鏍囩鏄电О`, visible: true }, - { key: 3, label: `閮ㄩ棬`, visible: true }, - { key: 4, label: `鎵嬫満鍙风爜`, visible: true }, - { key: 5, label: `鐘舵�乣, visible: true }, - { key: 6, label: `鍒涘缓鏃堕棿`, visible: true }, - ], - // 琛ㄥ崟鏍¢獙 - // rules: { - // userName: [ - // { required: true, message: "鏍囩鍚嶇О涓嶈兘涓虹┖", trigger: "blur" }, - // { - // min: 2, - // max: 20, - // message: "鏍囩鍚嶇О闀垮害蹇呴』浠嬩簬 2 鍜� 20 涔嬮棿", - // trigger: "blur", - // }, - // ], - // nickName: [ - // { required: true, message: "鏍囩鏄电О涓嶈兘涓虹┖", trigger: "blur" }, - // ], - // password: [ - // { required: true, message: "鏍囩瀵嗙爜涓嶈兘涓虹┖", trigger: "blur" }, - // { - // min: 5, - // max: 20, - // message: "鏍囩瀵嗙爜闀垮害蹇呴』浠嬩簬 5 鍜� 20 涔嬮棿", - // trigger: "blur", - // }, - // ], - // email: [ - // { - // type: "email", - // message: "璇疯緭鍏ユ纭殑閭鍦板潃", - // trigger: ["blur", "change"], - // }, - // ], - // phonenumber: [ - // { - // pattern: /^1[3|4|5|6|7|8|9][0-9]\d{8}$/, - // message: "璇疯緭鍏ユ纭殑鎵嬫満鍙风爜", - // trigger: "blur", - // }, - // ], - // IDnumber: [ - // { - // pattern: - // /^\d{6}((((((19|20)\d{2})(0[13-9]|1[012])(0[1-9]|[12]\d|30))|(((19|20)\d{2})(0[13578]|1[02])31)|((19|20)\d{2})02(0[1-9]|1\d|2[0-8])|((((19|20)([13579][26]|[2468][048]|0[48]))|(2000))0229))\d{3})|((((\d{2})(0[13-9]|1[012])(0[1-9]|[12]\d|30))|((\d{2})(0[13578]|1[02])31)|((\d{2})02(0[1-9]|1\d|2[0-8]))|(([13579][26]|[2468][048]|0[048])0229))\d{2}))(\d|X|x)$/, - // message: "璇疯緭鍏ユ纭殑韬唤璇佸彿鐮�", - // trigger: "blur", - // }, - // ], - // }, - }; - }, - watch: {}, - created() { - this.getList(); - this.gitclasify(); - }, - - methods: { - /** 鏌ヨ鏍囩鍒楄〃 */ - getList() { - listtag(this.addDateRange(this.queryParams)).then((response) => { - console.log(response); - this.total = response.total; - this.userList = response.rows; - }); - }, - /** 淇敼鏍囩 */ - handleUpdate(row) { - console.log(row, "淇敼鏍囩"); - this.lstamendtagVisible = true; - this.lstamendtag = true; - this.tagform = { - isupload: row.isupload, - tagname: row.tagname, - tagcategoryid: row.tagcategoryid, - tagdescription: row.tagdescription, - tagid: row.tagid, - }; - }, - addladeltag() { - this.lstamendtagVisible = true; - this.lstamendtag = false; - this.tagform = { - isupload: "", - tagname: "", - tagcategoryid: "", - tagdescription: "", - tagid: "", - }; - }, - // 娣诲姞/淇敼鏍囩 - Maintenancetag() { - if (this.lstamendtag) { - toamendtag(this.addDateRange(this.tagform)).then((response) => { - console.log(response); - this.getList(); - }); - } else { - addapitag(this.addDateRange(this.tagform)).then((response) => { - console.log(response); - this.getList(); - }); - } - this.tagform = { - isupload: "", - tagname: "", - tagcategoryid: "", - tagdescription: "", - tagid: "", - }; - }, - - // 琛ㄥ崟閲嶇疆 - reset() { - this.form = { - userId: undefined, - deptId: undefined, - userName: undefined, - nickName: undefined, - password: undefined, - phonenumber: undefined, - email: undefined, - sex: undefined, - status: "0", - remark: undefined, - postIds: [], - roleIds: [], - }; - this.resetForm("form"); - }, - //鍗曢寮规 - handleUpdate() { - this.topicVisible = true; - }, - //缁撴灉寮规 - handleDelete() { - this.consequenceVisible = true; - }, - /** 鎼滅储鎸夐挳鎿嶄綔 */ - handleQuery() { - this.queryParams.pageNum = 1; - this.getList(); - }, - /** 閲嶇疆鎸夐挳鎿嶄綔 */ - resetQuery() { - this.dateRange = []; - this.resetForm("queryForm"); - this.queryParams.tagname = ""; - this.$refs.tree.setCurrentKey(null); - this.handleQuery(); - }, - // 澶氶�夋閫変腑鏁版嵁 - handleSelectionChange(selection) { - this.ids = selection.map((item) => item.tagid); - this.single = selection.length != 1; - this.multiple = !selection.length; - }, - - /** 瀵煎嚭鎸夐挳鎿嶄綔 */ - handleExport() { - this.download( - "base/tag/export", - { - ...this.topqueryParams, - }, - `user_${new Date().getTime()}.xlsx` - ); - }, - }, -}; -</script> - -<style lang="scss" scoped> -.Questionnairemanagement { - display: flex; -} -.sidecolumn { - width: 180px; - min-height: 100vh; - text-align: center; - // display: flex; - margin-top: 20px; - 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); - .sidecolumn-top { - display: flex; - justify-content: space-between; - .top-wj { - font-size: 20px; - } - .top-tj { - font-size: 18px; - - color: rgb(0, 89, 255); - cursor: pointer; - } - } - .center-ss { - margin-top: 30px; - .input-with-select { - height: 40px !important; - } - } - .bottom-fl { - margin-top: 30px; - display: center !important; - } -} -.topicdia { - text-align: center; - margin: 0 20px; - - // overflow: scroll; - - .top-text { - font-size: 25px; - font-weight: 600; - } - .top-mintext { - color: #bdae25; - font-size: 15px; - margin: 10px 0; - } - .ttaabbcc { - // 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); - margin: 15px 0; - margin-top: 30px; - padding: 30px; - } - .describe { - text-align: left; - margin-bottom: 20px; - span { - color: rgb(23, 140, 235); - margin-left: 5px; - } - } -} -::v-deep.el-tabs--left, -.el-tabs--right { - overflow: hidden; - align-items: center; - display: flex; -} -::v-deep.el-input--medium .el-input__inner { - height: 40px !important; -} -::v-deep.el-tabs--right .el-tabs__active-bar.is-right { - height: 40px; - width: 5px; - left: 0; -} -::v-deep.el-tabs--right .el-tabs__item.is-right { - display: block; - text-align: left; - font-size: 20px; -} - -.leftvlue { - // display: flex; - // flex: 1; - width: 80%; - margin-top: 20px; - // margin: 20px; - padding: 30px; - background: #ffff; - border: 1px solid #dcdfe6; - -webkit-box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.12), - 0 0 6px 0 rgba(0, 0, 0, 0.04); - .mulsz { - font-size: 20px; - } -} -.document { - width: 100px; - height: 50px; -} -.documentf { - display: flex; - justify-content: flex-end; -} -.button-text { - color: rgb(70, 204, 238); -} -.button-textck { - color: rgb(39, 167, 67); -} -.button-textxg { - font-size: 18px; - color: rgb(35, 81, 233); -} -.button-textsc { - font-size: 18px; - - color: rgb(23, 140, 235); -} -</style> diff --git a/src/views/shortmessage/aoconnect/index.vue b/src/views/shortmessage/aoconnect/index.vue deleted file mode 100644 index 574f966..0000000 --- a/src/views/shortmessage/aoconnect/index.vue +++ /dev/null @@ -1,17 +0,0 @@ -<template> - <div>涓�瀵逛竴娴嬭瘯</div> -</template> - -<script> -export default { - data() { - return {}; - }, - - created() {}, - - methods: {}, -}; -</script> - -<style lang="scss" scoped></style> diff --git a/src/views/shortmessage/aoprojection/index.vue b/src/views/shortmessage/aoprojection/index.vue deleted file mode 100644 index 5fbfa39..0000000 --- a/src/views/shortmessage/aoprojection/index.vue +++ /dev/null @@ -1,230 +0,0 @@ -<template> - <div class="container"> - <div class="header"> - <div> - 鎴块棿鍙�: - <input type="text" id="room" /> - <button @click="createRoom()">鍒涘缓鎴块棿</button> - </div> - <div> - 瀵规柟鎴块棿鍙� - <input type="text" id="receive" /> - <button @click="Connect()">杩炴帴</button> - </div> - </div> - <div style="margin-top: 20px"> - <video - src="" - id="self" - autoplay - controls - muted - style="width: 500px; object-fit: cover; margin-right: 100px" - ></video> - <video - src="" - id="other" - autoplay - controls - muted - style="width: 500px; object-fit: cover" - ></video> - </div> - </div> -</template> - -<script> -let PeerConnection = - window.PeerConnection || - window.webkitPeerConnection00 || - window.webkitRTCPeerConnection || - window.mozRTCPeerConnection; -let nativeRTCIceCandidate = window.mozRTCIceCandidate || window.RTCIceCandidate; -let nativeRTCSessionDescription = - window.mozRTCSessionDescription || window.RTCSessionDescription; -//ice鏈嶅姟鍣ㄥ湴鍧� -const iceServer = { - iceServers: [ - { - url: "turn:42.192.40.58:3478?transport=udp", - username: "ddssingsong", - credential: "123456", - }, - { - url: "turn:42.192.40.58:3478?transport=tcp", - username: "ddssingsong", - credential: "123456", - }, - ], -}; -let socket = ""; -let receiver = ""; -let pc; - -export default { - data() { - return {}; - }, - - created() {}, - - methods: { - createRoom() { - let room = document.getElementById("room"); - if (!room.value) { - alert("璇疯緭鍏ユ埧闂村彿!!!"); - return; - } - //寤虹珛websocket杩炴帴 - socket = new WebSocket(`wss://127.0.0.1:3000/single?room=${room.value}`); - socket.onopen = async () => { - alert("杩炴帴鎴愬姛"); - try { - //鑾峰彇褰撳墠璁惧鐨勮棰戞祦 - let stream = await navigator.mediaDevices.getDisplayMedia({ - video: true, - audio: false, - }); - console.log(stream); - //鍒濆鍖朠C婧� - pc = this.initPC(stream); - console.log(pc); - //娣诲姞闊宠棰戞祦 - pc.addStream(stream); - console.log(pc); - let video = document.getElementById("self"); - video.srcObject = stream; - console.log(video); - } catch (error) { - console.log(error); - alert("鑾峰彇娴佸け璐�"); - } - }; - socket.onmessage = async (message) => { - let data = JSON.parse(message.data); - switch (data.name) { - //鎺ユ敹鍒伴個璇� - case "peer": - receiver = data.receiver; - this.acceptAudio(); - break; - /** - * 1.閭�璇蜂汉灏嗗鏂圭殑闊宠棰戞祦閫氳繃setRemoteDescription鍑芥暟杩涜瀛樺偍 - * 2.瀛樺偍瀹屽悗閭�璇蜂汉鍒涘缓answer鏉ヨ幏鍙栬嚜宸辩殑闊宠棰戞祦,閫氳繃setLocalDescription鍑芥暟瀛樺偍鑷繁鐨勯煶瑙嗛娴�,骞跺彂閫乤nswer鎸囦护(鎼哄甫鑷繁鐨勯煶瑙嗛)鍛婅瘔瀵规柟瑕佸瓨鍌ㄩ個璇蜂汉鐨勯煶瑙嗛 - */ - case "offer": - //褰撴敹鍒板鏂规帴鏀惰姹傚悗,璁剧疆闊抽婧�,骞跺彂閫乤nswer缁欏鏂� - pc.setRemoteDescription( - new nativeRTCSessionDescription(data.data.sdp) - ); - pc.createAnswer( - (session_desc) => { - pc.setLocalDescription(session_desc); - socket.send( - JSON.stringify({ - name: "answer", - data: { - sdp: session_desc, - }, - receiver: receiver, - }) - ); - }, - (err) => { - console.log(err); - } - ); - break; - case "answer": - //璁剧疆閭�璇蜂汉鍙戞潵鐨勯煶棰戞簮 - pc.setRemoteDescription( - new nativeRTCSessionDescription(data.data.sdp) - ); - break; - case "ice_candidate": - //娣诲姞ice婧�,杩欎竴姝ュ緢閲嶈,濡傛灉娌℃湁鎺ユ敹ice鍒欐煡鐪嬫槸鍚︽祦绋嬫湁闂 - var candidate = new nativeRTCIceCandidate(data.data); - pc.addIceCandidate(candidate); - break; - } - }; - }, - //鍒濆鍖朠C婧� - initPC() { - let pc = new PeerConnection(iceServer); - pc.onicecandidate = (evt) => { - if (evt.candidate) { - socket.send( - JSON.stringify({ - name: `ice_candidate`, - data: { - id: evt.candidate.sdpMid, - label: evt.candidate.sdpMLineIndex, - sdpMLineIndex: evt.candidate.sdpMLineIndex, - candidate: evt.candidate.candidate, - }, - receiver: receiver, - }) - ); - } - }; - pc.onaddstream = (evt) => { - let stream = evt.stream; - let video = document.getElementById("other"); - video.srcObject = stream; - }; - return pc; - }, - //鍜屽鏂瑰缓绔嬭繛鎺� - Connect() { - receiver = document.getElementById("receive").value; - console.log(receiver); - if (!socket) { - alert("鍏堝垱寤鸿嚜宸辩殑鎴块棿鍙�!!"); - return; - } - if (!receiver) { - alert("璇疯緭鍏ュ鏂规埧闂村彿"); - return; - } - socket.send(JSON.stringify({ name: "createRoom", receiver: receiver })); - console.log("鎴愬姛"); - }, - //鎺ユ敹閭�璇� - async acceptAudio() { - /** - * 1.鐐瑰嚮鍚屾剰鍚� - * 2.鑾峰彇鑷繁鐨勮棰戞祦 - * 3.鍒濆鍖朠C婧� - * 4.PC娣诲姞闊宠棰戞祦 - * 5.鍒涘缓offer,鑾峰彇鑷繁鐨勯煶瑙嗛娴�,骞堕�氳繃setLocalDescription鍑芥暟瀛樺偍鑷繁鐨勯煶瑙嗛娴� - * 6.骞跺彂閫乸eer鎸囦护(鎼哄甫鑷繁鐨勯煶瑙嗛)鍛婅瘔閭�璇蜂汉瑕佸瓨鍌ㄨ嚜宸辩殑闊宠棰� - */ - try { - pc.createOffer( - (session_desc) => { - pc.setLocalDescription(session_desc); - socket.send( - JSON.stringify({ - name: "offer", - data: { - sdp: session_desc, - }, - receiver: receiver, - }) - ); - }, - (err) => { - console.log(err); - } - ); - } catch (error) { - alert("妫�娴嬪埌褰撳墠璁惧涓嶆敮鎸侀害鍏嬮,璇疯缃潈闄愬悗鍦ㄩ噸璇�"); - this.socket.close(); - } - }, - }, -}; -</script> - -<style lang="scss" scoped></style> diff --git a/src/views/shortmessage/aovideo/index.vue b/src/views/shortmessage/aovideo/index.vue deleted file mode 100644 index 099f5d3..0000000 --- a/src/views/shortmessage/aovideo/index.vue +++ /dev/null @@ -1,239 +0,0 @@ -<template> - <div class="demo"> - <div class="rtcBox"> - <div> - <div class="video-box"> - <video src="" id="rtcA" controls autoplay></video> - <h5>A</h5> - </div> - <div class="chat-box" v-show="!allowHangup && messageOpen"> - <h5>鏀舵秷鎭�</h5> - <p>{{ receiveText }}</p> - </div> - </div> - <div> - <div class="video-box"> - <video src="" id="rtcB" controls autoplay></video> - <h5>B</h5> - <button @click="call" :disabled="allowCall">鍙戣捣杩炴帴</button> - <button @click="hangup" :disabled="allowHangup">hangup</button> - </div> - <div class="chat-box" v-show="!allowHangup && messageOpen"> - <h5>鍙戞秷鎭�</h5> - <textarea v-model="sendText"></textarea> - <br /> - <button @click="send">鍙戦��</button> - </div> - </div> - </div> - </div> -</template> - -<script> -export default { - name: "local1", - data() { - return { - peerA: null, - peerB: null, - channelA: null, - channelB: null, - offerOption: { - offerToReceiveAudio: 1, - offerToReceiveVideo: 1, - }, - allowCall: true, - allowHangup: true, - messageOpen: false, - sendText: "", - receiveText: "", - }; - }, - methods: { - send() { - this.channelB.send(JSON.stringify({ name: this.sendText })); - this.sendText = ""; - }, - start() { - this.state = "2"; - this.newRecognition.start(); - }, - stop() { - this.state = "1"; - this.newRecognition.stop(); - }, - async call() { - if (!this.peerA || !this.peerB) { - // 鍒ゆ柇鏄惁鏈夊搴斿疄渚嬶紝娌℃湁灏遍噸鏂板垱寤� - this.initPeer(); - } - try { - let offer = await this.peerB.createOffer(this.offerOption); // 鍒涘缓 offer - await this.onCreateOffer(offer); - } catch (e) { - console.log("createOffer: ", e); - } - - this.allowCall = true; - this.allowHangup = false; - }, - hangup() { - this.peerA.close(); - this.peerB.close(); - this.channelA.close(); - this.channelB.close(); - this.peerA = null; - this.peerB = null; - this.channelA = null; - this.channelB = null; - this.sendText = ""; - this.receiveText = ""; - this.allowCall = false; - this.allowHangup = true; - }, - async onCreateOffer(desc) { - try { - await this.peerB.setLocalDescription(desc); // 鍛煎彨绔缃湰鍦� offer 鎻忚堪 - } catch (e) { - console.log("Offer-setLocalDescription: ", e); - } - try { - await this.peerA.setRemoteDescription(desc); // 鎺ユ敹绔缃繙绋� offer 鎻忚堪 - } catch (e) { - console.log("Offer-setRemoteDescription: ", e); - } - try { - let answer = await this.peerA.createAnswer(); // 鎺ユ敹绔垱寤� answer - await this.onCreateAnswer(answer); - } catch (e) { - console.log("createAnswer: ", e); - } - }, - async onCreateAnswer(desc) { - try { - await this.peerA.setLocalDescription(desc); // 鎺ユ敹绔缃湰鍦� answer 鎻忚堪 - } catch (e) { - console.log("answer-setLocalDescription: ", e); - } - try { - await this.peerB.setRemoteDescription(desc); // 鍛煎彨绔缃繙绋� answer 鎻忚堪 - } catch (e) { - console.log("answer-setRemoteDescription: ", e); - } - }, - initPeer() { - // 鍒涘缓杈撳嚭绔� PeerConnection - let PeerConnection = - window.RTCPeerConnection || - window.mozRTCPeerConnection || - window.webkitRTCPeerConnection; - this.peerA = new PeerConnection(); - this.peerA.addStream(this.localstream); // 娣诲姞鏈湴娴� - // 鐩戝惉 A 鐨処CE鍊欓�変俊鎭� - // 濡傛灉鏀堕泦鍒帮紝灏辨坊鍔犵粰 B - this.peerA.onicecandidate = (event) => { - if (event.candidate) { - this.peerB.addIceCandidate(event.candidate); - } - }; - this.peerA.ondatachannel = (event) => { - console.log(event); - this.channelA = event.channel; - this.channelA.binaryType = "arraybuffer"; - this.channelA.onopen = (e) => { - console.log("channelA onopen", e); - }; - this.channelA.onclose = (e) => { - console.log("channelA onclose", e); - }; - this.channelA.onmessage = (e) => { - this.receiveText = JSON.parse(e.data).name; - console.log("channelA onmessage", e.data); - }; - }; - // this.channelA.send('Hi you!'); - // 鍒涘缓鍛煎彨绔� - this.peerB = new PeerConnection(); - this.peerB.onaddstream = (event) => { - // 鐩戝惉鏄惁鏈夊獟浣撴祦鎺ュ叆锛屽鏋滄湁灏辫祴鍊肩粰 rtcB 鐨� src - console.log("event-stream", event); - let video = document.querySelector("#rtcB"); - video.srcObject = event.stream; - }; - this.channelB = this.peerB.createDataChannel("messagechannel"); - console.log("this.channelB", this.channelB); - this.channelB.binaryType = "arraybuffer"; - this.channelB.onopen = (event) => { - console.log(1); - console.log("channelB onopen", event); - this.messageOpen = true; - }; - this.channelB.onclose = function (event) { - console.log(1); - console.log("channelB onclose", event); - }; - // 鐩戝惉 B 鐨処CE鍊欓�変俊鎭� - // 濡傛灉鏀堕泦鍒帮紝灏辨坊鍔犵粰 A - this.peerB.onicecandidate = (event) => { - if (event.candidate) { - this.peerA.addIceCandidate(event.candidate); - } - }; - this.allowCall = false; - }, - async createMedia() { - // 淇濆瓨鏈湴娴佸埌鍏ㄥ眬锛堣棰戦煶棰戦兘鏀寔锛� - this.localstream = await navigator.mediaDevices.getUserMedia({ - audio: true, - video: true, - }); - console.log(this.localstream); - console.log( - this.localstream.getVideoTracks(), - this.localstream.getAudioTracks() - ); - let video = document.querySelector("#rtcA"); - video.srcObject = this.localstream; - this.initPeer(); // 鑾峰彇鍒板獟浣撴祦鍚庯紝璋冪敤鍑芥暟鍒濆鍖� RTCPeerConnection - }, - }, - mounted() { - // 鑾峰彇鏈�鏂拌鍥惧悗鑾峰彇鏈湴娴� - this.$nextTick(() => { - // {mediaSource: 'screen'} - this.createMedia(); - }); - }, -}; -</script> - -<style lang="scss"> -.rtcBox { - display: flex; - justify-content: center; - .video-box { - height: 380px; - border-bottom: 1px solid #1fbeca; - margin-bottom: 10px; - } - video { - width: 400px; - height: 300px; - margin-left: 20px; - background-color: #ddd; - } - .chat-box { - text-align: center; - h5 { - margin-bottom: 10px; - } - p, - textarea { - width: 240px; - height: 60px; - border: 1px solid #000; - display: inline-block; - } - } -} -</style> diff --git a/src/views/shortmessage/communication/database/contacts.js b/src/views/shortmessage/communication/database/contacts.js deleted file mode 100644 index 6a4db60..0000000 --- a/src/views/shortmessage/communication/database/contacts.js +++ /dev/null @@ -1,148 +0,0 @@ -export default [ - { - id: 1, - displayName: "鍍忔ⅵ涓�鏍疯嚜鐢�", - avatar: "https://p.qqan.com/up/2020-2/2020022821001845128.jpg", - index: "X", - unread: 0, - lastSendTime: 1566047865417, - lastContent: "浣犲紑蹇冨悧" - }, - { - id: 2, - displayName: "姊﹂啋鏃跺垎銆�", - avatar: "https://p.qqan.com/up/2021-1/20211301122243621.jpg", - index: "M", - unread: 0, - lastSendTime: 1566047865417, - lastContent: "" - }, - { - id: 3, - displayName: "鍑屼簯", - avatar: "https://p.qqan.com/up/2021-1/2021129102387841.jpg", - index: "L", - unread: 0, - lastSendTime: 1566047865417, - lastContent: "" - }, - { - id: 4, - displayName: "灏忛儹", - avatar: "https://p.qqan.com/up/2021-1/2021122135507881.jpg", - index: "X", - unread: 0, - lastSendTime: 1566047865417, - lastContent: "" - }, - { - id: 5, - displayName: "鏉ㄧ帀娉�", - avatar: "https://p.qqan.com/up/2021-1/20211211131598147.jpg", - index: "Y", - unread: 0, - lastSendTime: 1566047865417, - lastContent: "" - }, - { - id: 6, - displayName: "妫郴Style", - avatar: "https://p.qqan.com/up/2021-1/2021113104111220.jpg", - index: "S", - unread: 0, - lastSendTime: 1566047865417, - lastContent: "" - }, - { - id: 7, - displayName: "闇哥帇鑺�", - avatar: "https://p.qqan.com/up/2021-1/20211411391666.jpg", - index: "B", - unread: 0, - lastSendTime: 1566047865417, - lastContent: "浣犳�庝箞杩樹笉鐫″憖锛�" - }, - { - id: 8, - displayName: "鏇惧钩", - avatar: "https://p.qqan.com/up/2020-12/202012291044425822.jpg", - index: "Z", - unread: 0, - lastSendTime: 1566047865417, - lastContent: "" - }, - { - id: 9, - displayName: "娣$劧", - avatar: "https://p.qqan.com/up/2020-12/202012141813343503.jpg", - index: "D", - unread: 0, - lastSendTime: 1566047865417, - lastContent: "" - }, - { - id: 10, - displayName: "鍙跺瓙銆�", - avatar: "https://p.qqan.com/up/2021-1/20211301122243621.jpg", - index: "Y", - unread: 0, - lastSendTime: 1566047865417, - lastContent: "" - }, - { - id: 11, - displayName: "鍦熻眴", - avatar: "https://p.qqan.com/up/2020-12/202012111157268739.jpg", - index: "T", - unread: 0, - lastSendTime: 1566047865417, - lastContent: "" - }, - { - id: 12, - displayName: "娓呮搏", - avatar: "https://p.qqan.com/up/2020-12/202012415467996.jpg", - index: "Q", - unread: 0, - lastSendTime: 1566047865417, - lastContent: "" - }, - { - id: 13, - displayName: "Lemon-imui浜ゆ祦缇�", - avatar: "https://p.qqan.com/up/2020-11/20201127157109035.jpg", - index: "L", - isGroup: true, - unread: 0, - lastSendTime: 1566047865417, - lastContent: "杩欎釜鍜嬪鐞嗗晩锛�" - }, - { - id: 14, - displayName: "绯荤粺閫氱煡", - avatar: "https://p.qqan.com/up/2020-6/2020061117234279854.jpg", - index: "[1]绯荤当閫氱煡", - unread: 0, - lastSendTime: 1566047865417, - lastContent: "瀹侀潤鑷磋繙閫氳繃浜嗕綘鐨勫ソ鍙嬭姹�", - renderContainer() { - return ( - <div style="padding:15px;"> - <div>瀹侀潤鑷磋繙閫氳繃浜嗕綘鐨勫ソ鍙嬭姹�</div> - <div>瀹侀潤鑷磋繙閫氳繃浜嗕綘鐨勫ソ鍙嬭姹�</div> - <div>瀹侀潤鑷磋繙閫氳繃浜嗕綘鐨勫ソ鍙嬭姹�</div> - </div> - ); - } - }, - { - id: 15, - displayName: "瀹侀潤鑷磋繙銆�", - avatar: "https://p.qqan.com/up/2020-6/2020060308522797777.jpg", - index: "N", - unread: 0, - lastSendTime: 1566047865417, - lastContent: "" - } - ]; - \ No newline at end of file diff --git a/src/views/shortmessage/communication/database/emoji.js b/src/views/shortmessage/communication/database/emoji.js deleted file mode 100644 index 5872aac..0000000 --- a/src/views/shortmessage/communication/database/emoji.js +++ /dev/null @@ -1,293 +0,0 @@ -export default [ - { - label: "琛ㄦ儏", - children: [ - { - name: "1f600", - title: "寰瑧", - src: "https://twemoji.maxcdn.com/2/72x72/1f600.png" - }, - { - name: "1f62c", - title: "寰瑧", - src: "https://twemoji.maxcdn.com/2/72x72/1f62c.png" - }, - { - name: "1f601", - title: "寰瑧", - src: "https://twemoji.maxcdn.com/2/72x72/1f601.png" - }, - { - name: "1f602", - title: "寰瑧", - src: "https://twemoji.maxcdn.com/2/72x72/1f602.png" - }, - { - name: "1f923", - title: "寰瑧", - src: "https://twemoji.maxcdn.com/2/72x72/1f923.png" - }, - { - name: "1f973", - title: "寰瑧", - src: "https://twemoji.maxcdn.com/2/72x72/1f973.png" - }, - { - name: "1f603", - title: "寰瑧", - src: "https://twemoji.maxcdn.com/2/72x72/1f603.png" - }, - { - name: "1f604", - title: "寰瑧", - src: "https://twemoji.maxcdn.com/2/72x72/1f604.png" - }, - { - name: "1f605", - title: "寰瑧", - src: "https://twemoji.maxcdn.com/2/72x72/1f605.png" - }, - { - name: "1f606", - title: "寰瑧", - src: "https://twemoji.maxcdn.com/2/72x72/1f606.png" - }, - { - name: "1f607", - title: "寰瑧", - src: "https://twemoji.maxcdn.com/2/72x72/1f607.png" - }, - { - name: "1f609", - title: "寰瑧", - src: "https://twemoji.maxcdn.com/2/72x72/1f609.png" - }, - { - name: "1f60a", - title: "寰瑧", - src: "https://twemoji.maxcdn.com/2/72x72/1f60a.png" - }, - { - name: "1f642", - title: "寰瑧", - src: "https://twemoji.maxcdn.com/2/72x72/1f642.png" - }, - { - name: "1f643", - title: "寰瑧", - src: "https://twemoji.maxcdn.com/2/72x72/1f643.png" - }, - { - name: "1263a", - title: "寰瑧", - src: "https://twemoji.maxcdn.com/2/72x72/263a.png" - }, - { - name: "1f60b", - title: "寰瑧", - src: "https://twemoji.maxcdn.com/2/72x72/1f60b.png" - }, - { - name: "1f60c", - title: "寰瑧", - src: "https://twemoji.maxcdn.com/2/72x72/1f60c.png" - }, - { - name: "1f60d", - title: "寰瑧", - src: "https://twemoji.maxcdn.com/2/72x72/1f60d.png" - }, - { - name: "1f970", - title: "寰瑧", - src: "https://twemoji.maxcdn.com/2/72x72/1f970.png" - }, - { - name: "1f618", - title: "寰瑧", - src: "https://twemoji.maxcdn.com/2/72x72/1f618.png" - }, - { - name: "1f617", - title: "寰瑧", - src: "https://twemoji.maxcdn.com/2/72x72/1f617.png" - }, - { - name: "1f619", - title: "寰瑧", - src: "https://twemoji.maxcdn.com/2/72x72/1f619.png" - }, - { - name: "1f61a", - title: "寰瑧", - src: "https://twemoji.maxcdn.com/2/72x72/1f61a.png" - }, - { - name: "1f61c", - title: "寰瑧", - src: "https://twemoji.maxcdn.com/2/72x72/1f61c.png" - }, - { - name: "1f92a", - title: "寰瑧", - src: "https://twemoji.maxcdn.com/2/72x72/1f92a.png" - }, - { - name: "1f928", - title: "寰瑧", - src: "https://twemoji.maxcdn.com/2/72x72/1f928.png" - }, - { - name: "1f9d0", - title: "寰瑧", - src: "https://twemoji.maxcdn.com/2/72x72/1f9d0.png" - }, - { - name: "1f61d", - title: "寰瑧", - src: "https://twemoji.maxcdn.com/2/72x72/1f61d.png" - }, - { - name: "1f61b", - title: "寰瑧", - src: "https://twemoji.maxcdn.com/2/72x72/1f61b.png" - }, - { - name: "1f911", - title: "寰瑧", - src: "https://twemoji.maxcdn.com/2/72x72/1f911.png" - }, - { - name: "1f913", - title: "寰瑧", - src: "https://twemoji.maxcdn.com/2/72x72/1f913.png" - }, - { - name: "1f60e", - title: "寰瑧", - src: "https://twemoji.maxcdn.com/2/72x72/1f60e.png" - }, - { - name: "1f929", - title: "寰瑧", - src: "https://twemoji.maxcdn.com/2/72x72/1f929.png" - }, - { - name: "1f921", - title: "寰瑧", - src: "https://twemoji.maxcdn.com/2/72x72/1f921.png" - }, - { - name: "1f920", - title: "寰瑧", - src: "https://twemoji.maxcdn.com/2/72x72/1f920.png" - }, - { - name: "1f917", - title: "寰瑧", - src: "https://twemoji.maxcdn.com/2/72x72/1f917.png" - }, - { - name: "1f60f", - title: "寰瑧", - src: "https://twemoji.maxcdn.com/2/72x72/1f60f.png" - }, - { - name: "1f636", - title: "寰瑧", - src: "https://twemoji.maxcdn.com/2/72x72/1f636.png" - }, - { - name: "1f610", - title: "寰瑧", - src: "https://twemoji.maxcdn.com/2/72x72/1f610.png" - }, - { - name: "1f611", - title: "寰瑧", - src: "https://twemoji.maxcdn.com/2/72x72/1f611.png" - }, - { - name: "1f612", - title: "寰瑧", - src: "https://twemoji.maxcdn.com/2/72x72/1f612.png" - }, - { - name: "1f644", - title: "寰瑧", - src: "https://twemoji.maxcdn.com/2/72x72/1f644.png" - }, - { - name: "1f914", - title: "寰瑧", - src: "https://twemoji.maxcdn.com/2/72x72/1f914.png" - }, - { - name: "1f925", - title: "寰瑧", - src: "https://twemoji.maxcdn.com/2/72x72/1f925.png" - }, - { - name: "1f92d", - title: "寰瑧", - src: "https://twemoji.maxcdn.com/2/72x72/1f92d.png" - }, - { - name: "1f92b", - title: "寰瑧", - src: "https://twemoji.maxcdn.com/2/72x72/1f92b.png" - }, - { - name: "1f92c", - title: "寰瑧", - src: "https://twemoji.maxcdn.com/2/72x72/1f92c.png" - }, - { - name: "1f92f", - title: "寰瑧", - src: "https://twemoji.maxcdn.com/2/72x72/1f92f.png" - }, - { - name: "1f633", - title: "寰瑧", - src: "https://twemoji.maxcdn.com/2/72x72/1f633.png" - }, - { - name: "1f61e", - title: "寰瑧", - src: "https://twemoji.maxcdn.com/2/72x72/1f61e.png" - }, - { - name: "1f61f", - title: "寰瑧", - src: "https://twemoji.maxcdn.com/2/72x72/1f61f.png" - }, - { - name: "1f620", - title: "寰瑧", - src: "https://twemoji.maxcdn.com/2/72x72/1f620.png" - }, - { - name: "1f621", - title: "寰瑧", - src: "https://twemoji.maxcdn.com/2/72x72/1f621.png" - } - ] - }, - { - label: "鏀惰棌", - children: [ - { - name: "1f62c", - title: "寰瑧", - src: "https://twemoji.maxcdn.com/2/72x72/1f62c.png" - }, - { - name: "1f621", - title: "寰瑧", - src: "https://twemoji.maxcdn.com/2/72x72/1f621.png" - } - ] - } - ]; - \ No newline at end of file diff --git a/src/views/shortmessage/communication/database/messages.js b/src/views/shortmessage/communication/database/messages.js deleted file mode 100644 index e83f1e9..0000000 --- a/src/views/shortmessage/communication/database/messages.js +++ /dev/null @@ -1,154 +0,0 @@ -import ContactsData from "./contacts"; -import UserData from "./user"; -const generateRandId = () => { - return Math.random().toString(36).substr(-8); -}; -const getContact = (id) => { - const data = ContactsData.find((contact) => contact.id == id); - return { id: data.id, avatar: data.avatar, displayName: data.displayName }; -}; -export default { - 1: [ - { - id: generateRandId(), - status: "succeed", - type: "text", - sendTime: 1566047865417, - content: "闂綘浠朵簨", - toContactId: 1, - fromUser: UserData - }, - { - id: generateRandId(), - status: "succeed", - type: "text", - sendTime: 1566047865417, - content: "鍟ュ瓙銆�", - toContactId: 1, - fromUser: getContact(1) - }, - { - id: generateRandId(), - status: "succeed", - type: "text", - sendTime: 1566047865417, - content: "涓轰粈涔�", - toContactId: 1, - fromUser: UserData - }, - { - id: generateRandId(), - status: "succeed", - type: "text", - sendTime: 1566047865417, - content: "浣犵┛浜嗛珮璺熼瀷杩樿繖涔堢煯", - toContactId: 1, - fromUser: UserData - }, - { - id: generateRandId(), - status: "succeed", - type: "text", - sendTime: 1566047865417, - content: "鍥犱负鎴戠煯鍟娿�俒!1f600][!1f600][!1f600]", - toContactId: 1, - fromUser: getContact(1) - }, - { - id: generateRandId(), - status: "succeed", - type: "text", - sendTime: 1566047865417, - content: "浣犲紑蹇冨悧", - toContactId: 1, - fromUser: getContact(1) - } - ], - 2: [], - 3: [], - 4: [], - 5: [], - 6: [], - 7: [], - 8: [], - 9: [], - 10: [], - 11: [], - 12: [], - 13: [ - { - id: generateRandId(), - status: "succeed", - type: "text", - sendTime: 1566047865417, - content: "鎴戞槸娴嬭瘯鏃跺�欑湅鍒扮殑", - toContactId: 1, - fromUser: getContact(4) - }, - { - id: generateRandId(), - status: "succeed", - type: "text", - sendTime: 1566047865417, - content: "涓婃柊鐗堟湰浜嗭紝鐜╃帺", - toContactId: 1, - fromUser: getContact(4) - }, - { - id: generateRandId(), - status: "succeed", - type: "text", - sendTime: 1566047865417, - content: "椤圭洰鍐呮病鏈夋悶杩欎釜", - toContactId: 1, - fromUser: getContact(4) - }, - { - id: generateRandId(), - status: "succeed", - type: "text", - sendTime: 1566047865417, - content: "@awesome 鏈�鏂扮殑锛屼笉鐒跺摢鏈夎繖鍔熻兘", - toContactId: 1, - fromUser: getContact(5) - }, - { - id: generateRandId(), - status: "succeed", - type: "text", - sendTime: 1566047865417, - content: "鍏跺疄鏄窡浣犵殑閬僵灞傛湁鍐茬獊", - toContactId: 1, - fromUser: getContact(4) - }, - { - id: generateRandId(), - status: "succeed", - type: "text", - sendTime: 1566047865417, - content: "鑷繁淇敼index鍝�", - toContactId: 1, - fromUser: UserData - }, - { - id: generateRandId(), - status: "succeed", - type: "text", - sendTime: 1566047865417, - content: "浣犱滑鍗囩骇鍒版渶杩戠増浜嗗悧锛�", - toContactId: 1, - fromUser: getContact(6) - }, - { - id: generateRandId(), - status: "succeed", - type: "text", - sendTime: 1566047865417, - content: "wo 鐜板湪鐢ㄧ殑142", - toContactId: 1, - fromUser: getContact(7) - } - ], - 14: [], - 15: [] -}; diff --git a/src/views/shortmessage/communication/database/user.js b/src/views/shortmessage/communication/database/user.js deleted file mode 100644 index 8870541..0000000 --- a/src/views/shortmessage/communication/database/user.js +++ /dev/null @@ -1,6 +0,0 @@ -export default { - id: 1000, - avatar: "https://p.qqan.com/up/2018-4/15244505348390471.jpg", - displayName: "閲庣伀銆�" - }; - \ No newline at end of file diff --git a/src/views/shortmessage/communication/index.vue b/src/views/shortmessage/communication/index.vue deleted file mode 100644 index bbfa8a8..0000000 --- a/src/views/shortmessage/communication/index.vue +++ /dev/null @@ -1,976 +0,0 @@ -<template> - <div id="app"> - <div class="scroll-top" @click="scrollToTop">馃殌</div> - - <div class="imui-center"> - <lemon-imui - :user="user" - ref="IMUI" - :contextmenu="contextmenu" - :contact-contextmenu="contactContextmenu" - :theme="theme" - :hide-menu="hideMenu" - :hide-menu-avatar="hideMenuAvatar" - :hide-message-name="hideMessageName" - :hide-message-time="hideMessageTime" - @change-menu="handleChangeMenu" - @change-contact="handleChangeContact" - @pull-messages="handlePullMessages" - @message-click="handleMessageClick" - @menu-avatar-click="handleMenuAvatarClick" - @send="handleSend" - > - <template #cover> - <div class="cover"> - <i class="lemon-icon-message"></i> - <p><b>鑷畾涔夊皝闈� Lemon</b> IMUI</p> - </div> - </template> - <template #message-title="contact"> - <span>{{ contact.displayName }}</span> - <small class="more" @click="changeDrawer(contact, $refs.IMUI)" - >{{ - ($refs.IMUI ? $refs.IMUI.drawerVisible : false) ? "鍏抽棴" : "鎵撳紑" - }}鎶藉眽</small - > - <br /> - </template> - </lemon-imui> - <div class="action"> - <lemon-button @click="appendMessage">鍙戦�佹秷鎭�</lemon-button> - <lemon-button @click="appendEventMessage">鍙戦�� event 娑堟伅</lemon-button> - <lemon-button @click="removeMessage">鍒犻櫎鏈�杩戜竴鏉℃秷鎭�</lemon-button> - <lemon-button @click="updateMessage">淇敼娑堟伅</lemon-button> - <lemon-button @click="appendCustomMessage">鍙戦�佹秷鎭�</lemon-button> - <br /> - <lemon-button @click="updateContact">淇敼鑱旂郴浜轰俊鎭�</lemon-button> - <lemon-button @click="changeMenuVisible">鍒囨崲瀵艰埅鏄剧ず</lemon-button> - <lemon-button @click="changeMenuAvatarVisible" - >鍒囨崲澶村儚鏄剧ず</lemon-button - > - <lemon-button @click="changeMessageNameVisible" - >鍒囨崲鑱婂ぉ绐楀彛鍐呭悕瀛楁樉绀�</lemon-button - > - <lemon-button @click="changeMessageTimeVisible" - >鍒囨崲鑱婂ぉ绐楀彛鍐呮椂闂存樉绀�</lemon-button - > - <lemon-button @click="changeTheme" - >鍒囨崲涓婚锛屽綋鍓嶄富棰橈細{{ this.theme }}</lemon-button - > - </div> - </div> - </div> -</template> - -<script> -import EmojiData from "./database/emoji"; -import { chitchatapi } from "@/api/noteapi/chitchat"; -import { - sendWebsocket, - websocketSend, - closeWebsocket, -} from "@/websocket/websocket.js"; -// Vue.component(LemonMessageVoice.name, LemonMessageVoice); -// 鑾峰彇鏃堕棿 -const getTime = () => { - return new Date().getTime(); -}; -// 闅忔満id -const generateRandId = () => { - return Math.random().toString(36).substr(-8); -}; -// 闅忔満瀛楃 -const generateRandWord = () => { - return Math.random().toString(36).substr(2); -}; -// 鑾峰彇娑堟伅 -const generateMessage = (toContactId = "", fromUser) => { - if (!fromUser) { - fromUser = { - id: "system", - displayName: "绯荤粺娴嬭瘯", - avatar: "http://upload.qqbodys.com/allimg/1710/1035512943-0.jpg", - }; - } - return { - id: generateRandId(), - status: "succeed", - type: "text", - sendTime: getTime(), - content: generateRandWord(), - //fileSize: 1231, - //fileName: "asdasd.doc", - toContactId, - fromUser, - }; -}; -export default { - name: "communication", - provide: { - IMUI: "IMUI value", - }, - data() { - return { - theme: "blue", - // 鑱旂郴浜哄彸閿搷浣� - contactContextmenu: [ - { - text: "鍒犻櫎璇ヨ亰澶�", - click: (e, instance, hide) => { - const { IMUI, contact } = instance; - IMUI.updateContact({ - id: contact.id, - lastContent: null, - }); - if (IMUI.currentContactId == contact.id) IMUI.changeContact(null); - hide(); - }, - }, - { - text: "璁剧疆澶囨敞鍜屾爣绛�", - }, - { - text: "鎶曡瘔", - }, - { - icon: "lemon-icon-message", - render: (h, instance, hide) => { - return ( - <div style="display:flex;justify-content:space-between;align-items:center;width:130px"> - <span>鍔犲叆榛戝悕鍗�</span> - <span> - <input type="checkbox" id="switch" /> - <label id="switch-label" for="switch"> - Toggle - </label> - </span> - </div> - ); - }, - }, - { - click(e, instance, hide) { - const { IMUI, contact } = instance; - IMUI.removeContact(contact.id); - if (IMUI.currentContactId == contact.id) IMUI.changeContact(null); - hide(); - }, - color: "red", - text: "鍒犻櫎濂藉弸", - }, - ], - // 娑堟伅鍙抽敭鎿嶄綔 - contextmenu: [ - { - click: (e, instance, hide) => { - const { IMUI, message } = instance; - const data = { - id: generateRandId(), - type: "event", - //浣跨敤 jsx 鏃� click蹇呴』浣跨敤绠ご鍑芥暟锛堜娇涓婁笅鏂囧仠鐣欏湪vue鍐咃級 - content: ( - <div> - <span> - 浣犳挙鍥炰簡涓�鏉℃秷鎭瘂" "} - <span - v-show={message.type == "text"} - style="color:#333;cursor:pointer" - content={message.content} - on-click={(e) => { - IMUI.setEditorValue(e.target.getAttribute("content")); - }} - > - 閲嶆柊缂栬緫 - </span> - </span> - </div> - ), - - toContactId: message.toContactId, - sendTime: getTime(), - }; - IMUI.removeMessage(message.id); - IMUI.appendMessage(data, true); - hide(); - }, - visible: (instance) => { - return instance.message.fromUser.id == this.user.id; - }, - text: "鎾ゅ洖娑堟伅", - }, - { - visible: (instance) => { - return instance.message.fromUser.id != this.user.id; - }, - text: "涓炬姤", - }, - { - text: "杞彂", - }, - { - visible: (instance) => { - return instance.message.type == "text"; - }, - text: "澶嶅埗鏂囧瓧", - }, - { - visible: (instance) => { - return instance.message.type == "image"; - }, - text: "涓嬭浇鍥剧墖", - }, - { - visible: (instance) => { - return instance.message.type == "file"; - }, - text: "涓嬭浇鏂囦欢", - }, - { - click: (e, instance, hide) => { - const { IMUI, message } = instance; - IMUI.removeMessage(message.id); - hide(); - }, - icon: "lemon-icon-folder", - color: "red", - text: "鍒犻櫎", - }, - ], - packageData: "", - hideMenuAvatar: false, - hideMenu: false, - hideMessageName: false, - hideMessageTime: true, - user: { - id: "1", - displayName: "June", - avatar: "", - }, - }; - }, - - created() {}, - mounted() { - const contactData1 = { - id: "contact-1", - displayName: "宸ヤ綔鍗忎綔缇�", - avatar: "http://upload.qqbodys.com/img/weixin/20170804/ji5qxg1am5ztm.jpg", - index: "[1]缇ょ粍", - unread: 0, - lastSendTime: 1566047865417, - lastContent: "2", - }; - const contactData2 = { - id: "contact-2", - displayName: "鑷畾涔夊唴瀹�", - avatar: "http://upload.qqbodys.com/img/weixin/20170807/jibfvfd00npin.jpg", - //index: "Z", - click(next) { - next(); - }, - renderContainer: () => { - return <h1 style="text-indent:20px">鑷畾涔夐〉闈�</h1>; - }, - lastSendTime: 1345209465000, - lastContent: "12312", - unread: 2, - }; - const contactData3 = { - id: "contact-3", - displayName: "閾佺墰", - avatar: "http://upload.qqbodys.com/img/weixin/20170803/jiq4nzrkrnd0e.jpg", - index: "T", - unread: 32, - lastSendTime: 3, - lastContent: "浣犲ソ123", - }; - const contactData4 = { - id: "contact-4", - displayName: "濡傝姳", - avatar: - "https://dss2.bdstatic.com/70cFvnSh_Q1YnxGkpoWK1HF6hhy/it/u=4275424924,2201401076&fm=111&gp=0.jpg", - index: "", - unread: 1, - lastSendTime: 3, - lastContent: "鍚冮キ浜嗗槢", - }; - - const { IMUI } = this.$refs; - setTimeout(() => { - IMUI.changeContact("contact-1"); - }, 500); - // 宸︿晶鑱旂郴浜烘渶鏂版秷鎭� - IMUI.setLastContentRender("event", (message) => { - return `[鑷畾涔夐�氱煡鍐呭]`; - }); - let contactList = [ - { ...contactData1 }, - { ...contactData2 }, - { ...contactData3 }, - //...Array(100).fill(contactData1) - ]; - // 鍒濆鑱旂郴浜� - IMUI.initContacts(contactList); - // 鍒濆鍖栧乏渚у鑸� - IMUI.initMenus([ - { - name: "messages", - }, - { - name: "contacts", - }, - { - name: "custom1", - title: "鑷畾涔夋寜閽�1", - unread: 0, - render: (menu) => { - return <i class="lemon-icon-attah" />; - }, - renderContainer: () => { - return ( - <div class="article"> - <ul> - <li class="article-item"> - <h2>浜烘皯鏃ユ姤璋堢綉绾㈠甫璐э細浜у搧鐪熺殑鍊煎緱涔板悧锛�</h2> - </li> - <li class="article-item"> - 鐢樿們澶忔渤鍘垮彂鐢�5.7绾у湴闇� 鏆傛湭鎺ュ埌浜哄憳浼や骸鎶ュ憡 - </li> - <li class="article-item"> - 鍖楁柟澶氬湴椋庡姏浠嶅己娌欏皹鐩镐即,涓滃寳鍐呰挋鍙ょ瓑鍦拌繋闆ㄩ洩 - </li> - <li class="article-item"> - 鑻辫揣杞︽锛氳秺鍗楄鏂归噰闆嗙枒姝昏�呭灞濪NA浣滄瘮瀵� - </li> - <li class="article-item"> - 鐭ュ悕杩為攣鍜栧暋搴楃殑铔嬬硶鍚冨嚭娲昏櫕 鏇濆厜鍐呭箷澶渿鎯� - </li> - </ul> - <lemon-contact - props={{ contact: contactData1 }} - style="margin:20px" - /> - <lemon-contact - props={{ contact: contactData3 }} - style="margin:20px" - /> - </div> - ); - }, - isBottom: true, - }, - { - name: "custom2", - title: "鑷畾涔夋寜閽�2", - unread: 0, - click: () => { - alert("鎷︽埅瀵艰埅鐐瑰嚮浜嬩欢"); - }, - render: (menu) => { - return <i class="lemon-icon-group" />; - }, - isBottom: true, - }, - ]); - // 宸ュ叿鏍� - IMUI.initEditorTools([ - { - name: "emoji", - }, - { - name: "uploadFile", - }, - { - name: "uploadImage", - }, - { - name: "test1", - click: () => { - IMUI.$refs.editor.selectFile("application/vnd.ms-excel"); - }, - render: () => { - return <span>Excel</span>; - }, - }, - { - name: "test1", - click: () => { - IMUI.initEditorTools([{ name: "uploadFile" }, { name: "emoji" }]); - }, - render: () => { - return <span>閲嶅埗宸ュ叿鏍�</span>; - }, - }, - { - name: "test2", - isRight: true, - title: "涓婁紶 Excel", - click: () => { - alert("鐐瑰嚮浜� 路路路 "); - }, - render: () => { - return <b>路路路</b>; - }, - }, - ]); - IMUI.initEmoji(EmojiData); - - IMUI.setLastContentRender("voice", (message) => { - return <span>[璇煶]</span>; - }); - - const { SimpleIMUI } = this.$refs; - contactData1.id = "11"; - SimpleIMUI.initContacts([contactData1]); - SimpleIMUI.initEmoji(EmojiData); - SimpleIMUI.changeContact(contactData1.id); - }, - methods: { - changeTheme() { - this.theme = this.theme == "default" ? "blue" : "default"; - }, - scrollToTop() { - document.body.scrollIntoView(); - }, - // 鐐瑰嚮宸︿晶瀵艰埅澶村儚瑙﹀彂 - handleMenuAvatarClick() { - console.log("Event:menu-avatar-click"); - }, - // 鐐瑰嚮娑堟伅瑙﹀彂 - handleMessageClick(e, key, message, instance) { - console.log("鐐瑰嚮浜嗘秷鎭�", e, key, message); - console.log(key); - if (key == "status") { - instance.updateMessage({ - id: message.id, - status: "going", - content: "姝e湪閲嶆柊鍙戦�佹秷鎭�...", - }); - setTimeout(() => { - instance.updateMessage({ - id: message.id, - status: "succeed", - content: "鍙戦�佹垚鍔�", - }); - }, 2000); - } - }, - // 闅愯棌瀵艰埅澶村儚 - changeMenuAvatarVisible() { - this.hideMenuAvatar = !this.hideMenuAvatar; - }, - // 闅愯棌宸︿晶瀵艰埅 - changeMenuVisible() { - this.hideMenu = !this.hideMenu; - }, - // 鏄惁闅愯棌鑱婂ぉ绐楀彛鑱旂郴浜哄悕瀛� - changeMessageNameVisible() { - this.hideMessageName = !this.hideMessageName; - }, - // 鏄惁闅愯棌鑱婂ぉ绐楀彛娑堟伅鏃堕棿 - changeMessageTimeVisible() { - this.hideMessageTime = !this.hideMessageTime; - }, - removeMessage() { - const { IMUI } = this.$refs; - const messages = IMUI.getCurrentMessages(); - const id = messages[messages.length - 1].id; - if (messages.length > 0) { - IMUI.removeMessage(id); - } - }, - updateMessage() { - const { IMUI } = this.$refs; - const messages = IMUI.getCurrentMessages(); - const message = messages[messages.length - 1]; - if (messages.length > 0) { - const update = { - id: message.id, - status: "succeed", - type: "file", - fileName: "琚慨鏀规垚鏂囦欢浜�.txt", - fileSize: "4200000", - }; - if (message.type == "event") { - update.fromUser = this.user; - } - IMUI.updateMessage(update); - IMUI.messageViewToBottom(); - } - }, - // 瀹氫箟鏂版秷鎭� - appendCustomMessage() { - const { IMUI } = this.$refs; - const message = { - id: generateRandId(), - status: "succeed", - type: "voice", - sendTime: getTime(), - content: "璇煶娑堟伅", - params1: "1", - params2: "2", - toContactId: "contact-1", - fromUser: this.user, - }; - IMUI.appendMessage(message, true); - }, - appendMessage() { - const { IMUI } = this.$refs; - const contact = IMUI.currentContact; - const message = generateMessage("contact-3"); - message.fromUser = { - ...message.fromUser, - ...this.user, - }; - IMUI.appendMessage(message, true); - }, - appendEventMessage() { - const { IMUI } = this.$refs; - const message = { - id: generateRandId(), - type: "event", - content: ( - <span> - 閭�璇蜂綘鍔犲叆缇よ亰{" "} - <span - style="color:#333;cursor:pointer" - on-click={() => alert("OK")} - > - 鎺ュ彈 - </span> - </span> - ), - toContactId: "contact-3", - sendTime: getTime(), - }; - IMUI.appendMessage(message, true); - }, - updateContact() { - this.$refs.IMUI.updateContact({ - id: "contact-3", - unread: 10, - displayName: generateRandWord(), - lastSendTime: getTime(), - lastContent: "淇敼鏄电О涓洪殢鏈哄瓧姣�", - }); - }, - changeDrawer(contact, instance) { - instance.changeDrawer({ - //width: 240, - //height: "90%", - //offsetX:0 , - //offsetY: , - //position: "center", - // inside: true, - // offsetX: -280, - // offsetY: -100, - render: () => { - return ( - <div class="drawer-content"> - <p> - <b>鑷畾涔夋娊灞�</b> - </p> - <p>{contact.displayName}</p> - </div> - ); - }, - }); - }, - // 宸︿晶鑱旂郴浜虹偣鍑昏Е鍙� - handleChangeContact(contact, instance) { - // 鍒囨崲鏃跺叧闂瓀s銆傚洜涓烘湁鍙兘ws杩炴帴鎺ユ敹鏁版嵁灏氭湭瀹屾垚锛岀敤鎴峰氨璺宠浆浜嗛〉闈� - this.requstWs(); - console.log("Event:change-contact"); - console.log(contact, instance); - instance.updateContact({ - id: contact.id, - unread: 0, - }); - instance.closeDrawer(); - }, - // 寤虹珛杩炴帴 - requstWs(message, next, file) { - console.log("杩炴帴"); - // 闃叉鐢ㄦ埛澶氭杩炵画鐐瑰嚮鍙戣捣璇锋眰锛屾墍浠ヨ鍏堝叧闂笂娆$殑ws璇锋眰銆� - closeWebsocket(); - let formData = new FormData(); - - // if (file) { - // const reader = new FileReader(); - // console.log(reader); - // console.log(file); - // reader.onload = (file) => { - // console.log(file); - // console.log(reader); - // const imageData = reader.result; - // //鏂囦欢瀛楄妭澶у皬 - // // const fileSize = file.loaded; - // const fileSize = imageData.length; - // console.log("byteLength 锛� ", fileSize); - // const chunkSize = 4096; // 璁剧疆姣忎釜鏁版嵁鍧楃殑澶у皬 - // let offset = 0; - - // // 鍒嗗潡浼犺緭鍥剧墖鏁版嵁 - // while (offset < imageData.length) { - // const chunk = imageData.slice(offset, offset + chunkSize); - // const obj = { - // type: file.type, - // userId: "1", //鎺ユ敹鏁版嵁鏂� - // fileSize: fileSize, - // image: chunk, - // }; - // console.log(JSON.stringify(obj)); - // // 鍙戣捣ws璇锋眰 - // // sendWebsocket( - // // "ws://192.168.31.121:8080/chat?userId=2", - // // JSON.stringify(obj), - // // this.wsMessage, - // // this.wsError - // // ); - // websocketSend(JSON.stringify(obj)); - // offset += chunkSize; - - // console.log("offset 锛� ", offset); - // } - - // // 鍙戦�佸畬鎴愭爣璁� - // console.log("message "); - // }; - - // return reader.readAsDataURL(file); - // } - - // 璺熷悗绔崗鍟嗭紝闇�瑕佷粈涔堝弬鏁版暟鎹粰鍚庡彴 - if (file) { - formData.append("files", file); - console.log(formData.get("files")); - // img.src = window.URL.createObjectURL(temp); - chitchatapi(formData).then((response) => { - console.log(response); - }); - - return console.log(formData); - } - - const obj = { - type: "object", - userId: "1", //鎺ユ敹鏁版嵁鏂� - fileSize: "1212", - image: "12", - }; - // 鍙戣捣ws璇锋眰 - sendWebsocket( - "ws://localhost:8089/chat?userId=1", - obj, - this.wsMessage, - this.wsError - ); - }, - // 鎺ユ敹ws杩斿洖鐨勬暟鎹� - wsMessage(data) { - const dataJson = data; - console.log(dataJson); - const datas = { - id: "鍞竴娑堟伅ID", - status: "succeed", - type: "text", - sendTime: 1566047865417, - content: "椹笂灏卞鎺ュ畬浜嗭紒", - toContactId: 2, - fromUser: { - //濡傛灉 id == this.user.id娑堟伅浼氭樉绀哄湪鍙充晶锛屽惁鍒欏湪宸︿晶 - id: 2, - displayName: "涓藉畨濞�", - avatar: "", - }, - }; - // IMUI.appendMessage(data); - }, - //ws閿欒鍥炶皟 - wsError(data) { - console.log(data); - }, - // 鍙戦�佹柊娑堟伅瑙﹀彂 - handleSend(message, next, file) { - console.log(message); - console.log(file); - console.log(next); - this.requstWs(message, next, file); - setTimeout(() => { - next(); - }, 1000); - }, - // 鑾峰彇鑱旂郴浜轰俊鎭垨婊氬姩鍒伴《閮ㄨЕ鍙� - handlePullMessages(contact, next, instance) { - console.log(contact, "鑾峰彇鑱旂郴浜轰俊鎭疉"); - console.log(instance, "鑾峰彇鑱旂郴浜轰俊鎭疊"); - console.log(next, "鑾峰彇鑱旂郴浜轰俊鎭疌"); - const otheruser = { - id: contact.id, - displayName: contact.displayName, - avatar: contact.avatar, - }; - setTimeout(() => { - const messages = [ - generateMessage(instance.currentContactId, this.user), - generateMessage(instance.currentContactId, otheruser), - generateMessage(instance.currentContactId, this.user), - generateMessage(instance.currentContactId, otheruser), - generateMessage(instance.currentContactId, this.user), - generateMessage(instance.currentContactId, this.user), - generateMessage(instance.currentContactId, otheruser), - { - ...generateMessage(instance.currentContactId, this.user), - ...{ status: "failed" }, - }, - ]; - let isEnd = false; - if ( - instance.getMessages(instance.currentContactId).length + - messages.length > - 11 - ) - isEnd = true; - next(messages, isEnd); - }, 500); - }, - // 宸︿晶瀵艰埅鍗″垏鎹㈡椂闂� - handleChangeMenu() { - console.log("Event:change-menu"); - }, - openCustomContainer() {}, - }, -}; -</script> - -<style lang="scss" scoped> -scss ::selection { - background: #000; - color: #fff; -} -body { - font-family: "Microsoft YaHei"; - background: #f6f6f6 !important; -} -#app { - width: 90%; - margin: 0 auto; - padding-bottom: 100px; - .scroll-top { - cursor: pointer; - position: fixed; - bottom: 40px; - left: 50%; - border-radius: 50%; - background: #fff; - font-size: 18px; - overflow: hidden; - width: 40px; - height: 40px; - line-height: 40px; - user-select: none; - text-align: center; - transform: rotate(-45deg) translateX(-50%); - box-shadow: 0 0 30px rgba(0, 0, 0, 0.1); - &:hover { - font-size: 22px; - } - } - a { - color: #0c5ed9; - text-decoration: none; - font-size: 12px; - } - .action { - margin-top: 20px; - .lemon-button { - margin-right: 10px; - margin-bottom: 10px; - } - } - .link { - font-size: 14px; - margin-top: 15px; - a { - display: inline-block; - margin: 0 5px; - text-decoration: none; - background: #ffba00; - border-radius: 4px; - padding: 5px 10px; - color: rgba(0, 0, 0, 0.8); - } - } - .logo { - position: relative; - display: inline-block; - margin: 60px auto; - user-select: none; - .logo-text { - font-size: 38px; - } - .logo-sub { - font-size: 18px; - color: #999; - font-weight: 300; - } - .logo-badge { - position: absolute; - top: -10px; - left: 230px; - background: #000; - border-radius: 16px; - color: #f9f9f9; - font-size: 12px; - padding: 4px 8px; - } - } - .title { - font-size: 24px; - line-height: 26px; - border-left: 1px solid #ffba00; - padding-left: 15px; - margin-bottom: 15px; - margin-top: 30px; - user-select: none; - } - .table { - width: 100%; - border-radius: 10px; - background: #fff; - border-collapse: collapse; - tr { - cursor: pointer; - } - tr:not(.table-head):hover { - background: #ffba00 !important; - } - tr:nth-of-type(even) { - background: #f9f9f9; - } - th { - user-select: none; - color: #999; - } - td, - th { - text-align: left; - padding: 10px 15px; - font-size: 14px; - font-weight: normal; - } - } - .imui-center { - margin-bottom: 60px; - .lemon-wrapper { - border: 1px solid #ddd; - } - .lemon-drawer { - border: 1px solid #ddd; - border-left: 0; - } - } - .drawer-content { - padding: 15px; - } - .more { - font-size: 12px; - line-height: 24px; - height: 24px; - position: absolute; - top: 14px; - right: 14px; - cursor: pointer; - user-select: none; - color: #f1f1f1; - display: inline-block; - border-radius: 4px; - background: #111; - padding: 0 8px; - &:active { - background: #999; - } - } - .bar { - text-align: center; - line-height: 30px; - background: #fff; - margin: 15px; - color: #666; - user-select: none; - font-size: 12px; - } - .cover { - text-align: center; - user-select: none; - position: absolute; - top: 50%; - left: 50%; - transform: translate(-50%, -50%); - i { - font-size: 84px; - color: #e6e6e6; - } - p { - font-size: 18px; - color: #ddd; - line-height: 50px; - } - } - .article-item { - line-height: 34px; - cursor: pointer; - &:hover { - text-decoration: underline; - color: #318efd; - } - } - pre { - background: #fff; - border-radius: 8px; - padding: 15px; - } -} -.lemon-simple .lemon-container { - z-index: 5; -} -.lemon-simple .lemon-drawer { - z-index: 4; -} -input#switch[type="checkbox"] { - height: 0; - width: 0; - display: none; -} -label#switch-label { - cursor: pointer; - text-indent: -9999px; - width: 34px; - height: 20px; - background: #aaa; - display: block; - border-radius: 100px; - position: relative; -} -label#switch-label:after { - content: ""; - position: absolute; - top: 2px; - left: 2px; - width: 16px; - height: 16px; - background: #fff; - border-radius: 20px; - transition: 0.3s; -} -input#switch:checked + label { - background: #0fd547; -} -input#switch:checked + label:after { - left: calc(100% - 2px); - transform: translateX(-100%); -} -label#switch-label:active:after { - width: 20px; -} -</style> diff --git a/src/views/shortmessage/healthinformation/compilequer/index.vue b/src/views/shortmessage/healthinformation/compilequer/index.vue deleted file mode 100644 index f872f3b..0000000 --- a/src/views/shortmessage/healthinformation/compilequer/index.vue +++ /dev/null @@ -1,1187 +0,0 @@ -<template> - <div class="Questionnairemanagement"> - <!-- 宸︿晶鏍� --> - <div class="sidecolumn"> - <el-steps finish-status="success" :active="Editprogress" simple> - <el-step> - <template slot="title"> - <span style="cursor: pointer" @click="Editprogress = 1" - >鍩虹淇℃伅璁剧疆</span - > - </template> - </el-step> - <el-step> - <template slot="title"> - <span style="cursor: pointer" @click="Editprogress = 2" - >閫氱煡鍐呭</span - > - </template> - </el-step> - </el-steps> - </div> - <!-- 鍙充晶鏁版嵁 --> - <div class="leftvlue"> - <!-- 鍩烘湰淇℃伅 --> - <div v-if="Editprogress == 1"> - <div class="leftvlue-jbxx">鍩烘湰淇℃伅</div> - <el-form - :model="ruleForm" - :rules="rules" - ref="ruleForm" - label-width="100px" - class="demo-ruleForm" - > - <el-form-item label="閫氱煡鍒嗙被" prop="region"> - <el-select - v-model="ruleForm.assortid" - size="medium" - filterable - placeholder="璇烽�夋嫨鍒嗙被" - > - <el-option-group - v-for="group in sortlist" - :key="group.id" - :label="group.assortname" - > - <el-option - v-for="item in group.heLibraryAssortList" - :key="item.id" - :label="item.assortname" - :value="item.id" - > - </el-option> - </el-option-group> - </el-select> - </el-form-item> - <el-row> - <el-col :span="12"> </el-col> - <el-col :span="12"> </el-col> - </el-row> - <el-form-item label="閫氱煡鏍囬" prop="preachname"> - <div style="width: 30%"> - <el-input - v-model="ruleForm.preachname" - placeholder="璇疯緭鍏ユ爣棰�" - ></el-input> - </div> - </el-form-item> - <el-form-item label="閫氱煡鎻忚堪" prop="preachcontent"> - <div style="width: 60%"> - <el-input - type="textarea" - :rows="2" - v-model="ruleForm.preachcontent" - placeholder="璇疯緭鍏ユ弿杩�" - ></el-input> - </div> - </el-form-item> - <el-form-item label="閫氱煡鍙橀噺" prop="name"> - <div style="margin-bottom: 5px" v-for="item in variablelist"> - <el-row> - <el-col :span="5"> - <el-input - v-model="item.variatename" - placeholder="璇疯緭鍏ュ彉閲忓悕" - ></el-input> - </el-col> - <el-col :span="8" :offset="1"> - <el-input - v-model="item.variate" - placeholder="璇疯緭鍏ュ彉閲忓唴瀹�" - ></el-input> - </el-col> - <el-col :span="8" :offset="1"> - <el-button - type="success" - icon="el-icon-plus" - circle - @click="addvariable(item)" - ></el-button> - <el-button - v-if="!item.default" - type="danger" - icon="el-icon-delete" - circle - @click="delvariable(item)" - ></el-button> - </el-col> - </el-row> - </div> - </el-form-item> - - <el-form-item label="鏂囦欢" prop="sickness"> - <div style="width: 40%"> - <el-upload - class="upload-demo" - action="https://jsonplaceholder.typicode.com/posts/" - :on-change="handleChange" - :file-list="fileList" - > - <el-button size="small" type="primary">鐐瑰嚮涓婁紶</el-button> - <div slot="tip" class="el-upload__tip"> - 鍙兘涓婁紶jpg/png/xsl鏂囦欢锛屼笖涓嶈秴杩�50mb - </div> - </el-upload> - </div> - </el-form-item> - <el-form-item label="鏍囩" prop="desc"> - <div class="xinz-inf"> - <el-tag - :key="tag.tagname" - type="success" - v-for="tag in dynamicTags" - closable - :disable-transitions="false" - @close="handleClosetag(tag)" - > - {{ tag.tagname }} - </el-tag> - <el-select - v-model="inputValue" - v-if="inputVisible" - @change="handleInputConfirm" - filterable - remote - reserve-keyword - default-first-option - :remote-method="remoteMethodtag" - :loading="loading" - placeholder="璇烽�夋嫨" - > - <el-option - v-for="item in optionstag" - :key="item.tagid" - :label="item.tagname" - :value="item.tagname" - > - </el-option> - </el-select> - <el-button - v-else - class="button-new-tag" - size="small" - @click="showInput" - >+ 鏂板鏍囩</el-button - > - </div> - </el-form-item> - <el-row :gutter="20"> - <el-col :span="6"> - <el-form-item label="鐗堟湰鍙�" prop="name"> - <el-input - v-model="ruleForm.version" - placeholder="榛樿1.0.1" - ></el-input> </el-form-item - ></el-col> - <el-col :span="9"> - <el-form-item label="鍙敤鐘舵��" prop="region"> - <el-select - v-model="ruleForm.isavailable" - size="medium" - filterable - placeholder="璇烽�夋嫨鍒嗙被" - > - <el-option - class="ruleFormaa" - v-for="item in usable" - :key="item.value" - :label="item.label" - :value="item.value" - > - </el-option> - </el-select> </el-form-item - ></el-col> - </el-row> - <el-form-item label="閫氱煡鏂瑰紡" prop="region"> - <el-select - v-model="ruleForm.suitway" - size="medium" - multiple - filterable - placeholder="璇烽�夋嫨鍒嗙被" - > - <el-option - class="ruleFormaa" - v-for="item in mode" - :key="item.label" - :label="item.label" - :value="item.label" - > - </el-option> - </el-select> - </el-form-item> - <!-- <el-form-item label="閫傜敤鐤剧梾" prop="region"> - <el-button type="warning" @click="$refs.child.handleAddpatient()" - >娣诲姞鐤剧梾</el-button - > - </el-form-item> --> - <el-form-item label="閫傜敤闄㈠尯" prop="region"> - <el-select - v-model="ruleForm.campus" - size="medium" - multiple - filterable - placeholder="璇烽�夋嫨鍒嗙被" - > - <el-option - class="ruleFormaa" - v-for="item in courtyardlist" - :key="item.value" - :label="item.label" - :value="item.value" - > - </el-option> - </el-select> - </el-form-item> - <el-form-item label="閫傜敤绉戝" prop="region"> - <el-cascader - v-model="tempDetpRelevanceslist" - :options="deptList" - :props="props" - :show-all-levels="false" - clearable - > - <template slot-scope="{ node, data }"> - <span>{{ data.deptName }}</span> - <span v-if="!node.isLeaf"> ({{ data.children.length }}) </span> - </template> - </el-cascader> - </el-form-item> - <el-form-item> - <el-button type="success" @click="nextstep('ruleForm')" - >涓嬩竴姝�</el-button - > - <el-button type="success" @click="Departmenttreatment('ruleForm')" - >淇濆瓨</el-button - > - <el-button type="info" @click="closeFm('ruleForm')">鍏抽棴</el-button> - </el-form-item> - </el-form> - </div> - <!-- 閫氱煡鍐呭 --> - <div v-if="Editprogress == 2"> - <el-row :gutter="20"> - <el-col :span="4"><div class="leftvlue-jbxx">閫氱煡鍐呭</div></el-col> - </el-row> - - <div> - <el-form - :model="ruleForm" - :rules="rules" - ref="ruleForm" - label-width="100px" - class="demo-ruleForm" - > - <el-row gutter="20"> - <el-col :span="12"> - <el-form-item label="璧勬枡褰㈠紡" prop="region"> - <el-select - v-model="ruleForm.shape" - placeholder="璇烽�夋嫨鍐呭褰㈠紡" - > - <el-option - v-for="item in xjxsoptions" - :key="item.value" - :label="item.label" - :value="item.value" - > - </el-option> - </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-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 id="quillEditorQiniu"> - <!-- 鍩轰簬elementUi鐨勪笂浼犵粍浠� el-upload begin--> - <el-upload - class="avatar-uploader" - :action="uploadImgUrl" - :accept="'image/*,video/*'" - :show-file-list="false" - :on-success="uploadEditorSuccess" - :on-error="uploadEditorError" - :before-upload="beforeEditorUpload" - :headers="headers" - > - </el-upload> - <!-- 鍩轰簬elementUi鐨勪笂浼犵粍浠� el-upload end--> - <quill-editor - class="editor" - v-model="content" - ref="customQuillEditor" - :options="editorOption" - @blur="onEditorBlur" - @focus="onEditorFocus" - @change="onEditorChange" - > - </quill-editor> - </div> - </div> - </div> - </div> - <!-- 娣诲姞閫傜敤鐤剧梾绐楀彛 --> - <Optional-Form - ref="child" - :dialogVisiblepatient="dialogVisiblepatient" - :overallCase="illnesslist" - @addoption="dialogVisiblepatient = false" - @kkoption="dialogVisiblepatient = true" - /> - </div> -</template> - -<script> -import { quillEditor } from "vue-quill-editor"; -import axios from "axios"; - -import { - getheLibraryAssort, - delheLibraryAssort, - addheLibraryAssort, - addtargetillness, - getlibrarylist, - dellibraryinfo, - deltargetillness, - compilelibrary, - addrichText, - getlibraryinfo, - getillnesslist, - illnesslistget, - getillness, -} from "@/api/AiCentre/index"; -import OptionalForm from "@/components/OptionalForm"; //姝e垯缁勪欢 - -import { listDept } from "@/api/system/dept"; -// import * as Quill from "quill"; -import Quill from "quill"; -import { listtag } from "@/api/system/label"; -import store from "@/store"; - -// 杩欓噷寮曞叆淇敼杩囩殑video妯″潡骞舵敞鍐� -import Video from "./video"; -Quill.register(Video, true); -//鑾峰彇鐧诲綍token锛屽紩鍏ユ枃浠讹紝濡傛灉鍙槸绠�鍗曟祴璇曪紝娌℃湁涓婁紶鏂囦欢鏄惁鐧诲綍鐨勯檺鍒剁殑璇濓紝 -//杩欎釜token鍙互涓嶇敤鑾峰彇锛屾枃浠跺彲浠ヤ笉寮曞叆锛屾妸涓婇潰瀵瑰簲鐨勪笂浼犳枃浠舵惡甯﹁姹傚ご :headers="headers" 杩欎釜浠g爜鍒犳帀鍗冲彲 -import { getToken } from "@/utils/auth"; -const toolbarOptions = [ - ["bold", "italic", "underline", "strike"], // toggled buttons - ["blockquote", "code-block"], - - [{ header: 1 }, { header: 2 }], // custom button values - [{ list: "ordered" }, { list: "bullet" }], - [{ script: "sub" }, { script: "super" }], // superscript/subscript - [{ indent: "-1" }, { indent: "+1" }], // outdent/indent - [{ direction: "rtl" }], // text direction - - [{ size: ["small", false, "large", "huge"] }], // custom dropdown - [{ header: [1, 2, 3, 4, 5, 6, false] }], - - [{ color: [] }, { background: [] }], // dropdown with defaults from theme - [{ font: [] }], - [{ align: [] }], - ["link", "image", "video"], - ["clean"], // remove formatting button -]; - -export default { - components: { OptionalForm }, - data() { - return { - headers: { - Authorization: "Bearer " + getToken(), - }, - uploadImgUrl: process.env.VUE_APP_BASE_API + "/common/upload", - uploadImgUrlword: process.env.VUE_APP_BASE_API + "/common/uploadShow", - uploadUrlPath: "娌℃湁鏂囦欢涓婁紶", - quillUpdateImg: false, - fileList: [ - { - name: "food.jpeg", - url: "https://fuss10.elemecdn.com/3/63/4e7f3a15429bfda99bce42a18cdd1jpeg.jpeg?imageMogr2/thumbnail/360x360/format/webp/quality/100", - }, - { - name: "food2.jpeg", - url: "https://fuss10.elemecdn.com/3/63/4e7f3a15429bfda99bce42a18cdd1jpeg.jpeg?imageMogr2/thumbnail/360x360/format/webp/quality/100", - }, - ], - content: "", //鏈�缁堜繚瀛樼殑鍐呭 - fileName: "", //鏂囦欢鍚� - dynamicTags: [], - inputVisible: false, - illnessVisible: false, - dialogVisiblepatient: false, //閫傜敤鐤剧梾绐楀彛 - inputValue: "", - // 瀵屾枃鏈� - editorOption: { - placeholder: "浣犳兂璇翠粈涔堬紵", - modules: { - imageResize: { - displayStyles: { - backgroundColor: "black", - border: "none", - color: "white", - }, - modules: ["Resize", "DisplaySize", "Toolbar"], - }, - toolbar: { - container: toolbarOptions, // 宸ュ叿鏍� - handlers: { - image: function (value) { - if (value) { - document - .querySelector("#quillEditorQiniu .avatar-uploader input") - .click(); - } else { - this.quill.format("image", false); - } - }, - video: function (value) { - if (value) { - document - .querySelector("#quillEditorQiniu .avatar-uploader input") - .click(); - } else { - this.quill.format("video", false); - } - }, - }, - }, - }, - }, - - sidecolumnrabs: "left", //鏂瑰悜 - Editprogress: 1, //缂栬緫杩涘害 - currentVersion: "1.2.3", //褰撳墠鐗堟湰 - loading: false, // 閬僵灞� - drawer: false, //鎺у埗灞曞紑 - radio: "false", //鍗曢�夐閫変腑 - radios: [], //澶氶�夐閫変腑 - radioas: "", //濉┖棰樼瓟妗� - // 鎬绘潯鏁� - total: 1, - hetype: "", - id: null, - ruleForm: { - campus: [], - heLibraryTagList: [], - tempDetpRelevances: [], - version: "1.0.1", - }, - rules: {}, - rulesa: {}, - mode: [], - editableTabs: [], - sortlist: [], - usable: [], - courtyardlist: [], - precedencetype: [], - optionsillness: [], - illnesslistapi: [], - illnesslist: [], - options: [], - optionstag: [], - deptList: [], - tempDetpRelevanceslist: [], - props: { multiple: true, value: "deptId", label: "deptName" }, - xjxsoptions: [ - { - value: "1", - label: "鍥炬枃", - }, - { - value: "2", - label: "瑙嗛", - }, - { - value: "3", - label: "闊抽", - }, - ], - valssu: [ - { - idd: 1, - wssd: "浣犳渶杩戞�庝箞鏍�", - sdadd: ["sss", "ssccss", "ssaas", "ss"], - }, - ], - addvalue: "娣诲姞棰樼洰", - - variablelist: [ - { variatename: "濮撳悕", variate: "${name}", default: 1 }, - { variatename: "鐢佃瘽", variate: "${phone}", default: 1 }, - { variatename: "鐥呮儏", variate: "${illness}", default: 1 }, - ], - // 鏌ヨ鍙傛暟 - queryParams: { - pageNum: 1, - pageSize: 10, - }, - }; - }, - - created() { - this.gettabList(); - this.getList(); - this.illnessUpdate(); - this.mode = store.getters.mode; - this.editableTabs = store.getters.editableTabs; - this.usable = store.getters.usable; - this.precedencetype = store.getters.precedencetype; - this.courtyardlist = store.getters.courtyardlist; - }, - watch: { - content(newVal, oldVal) { - //this.$emit('input', newVal); - console.log(newVal, "A"); - console.log(oldVal, "B"); - }, - }, - - methods: { - processElement(element) { - return { ...element, isoperation: null }; - }, - // 鑾峰彇椤甸潰鏁版嵁 - getList() { - this.loading = true; - this.id = this.$route.query.id; - this.hetype = this.$route.query.hetype; - if (this.id) { - getlibraryinfo({ id: this.id }).then((res) => { - this.ruleForm = res.data[0]; - this.ruleForm.campus = this.ruleForm.campus.split(","); - this.dynamicTags = res.data[0].heLibraryTagList.map( - this.processElement - ); - this.Getmissioncontent(this.ruleForm.richText); - if (this.ruleForm.deptNames) { - this.tempDetpRelevanceslist = JSON.parse(this.ruleForm.deptNames); - } - if (this.ruleForm.suitway) { - this.ruleForm.suitway = this.ruleForm.suitway.split(","); - } - this.variablelist = this.ruleForm.otherdata - ? JSON.parse(this.ruleForm.otherdata) - : this.variablelist; - }); - } - // 閫氱煡鍒嗙被 - getheLibraryAssort({ hetype: 2 }).then((res) => { - this.sortlist = res.rows; - console.log(this.sortlist); - }); - // 閮ㄩ棬 - listDept(this.queryParams).then((response) => { - this.deptList = this.handleTree(response.data, "deptId"); - }); - this.loading = false; - }, - - submitForm(formName) { - let tgs = []; - this.dynamicTags.forEach((item) => { - tgs.push(item.tagname); - }); - this.ruleForm.campus = this.ruleForm.campus.join(","); - this.ruleForm.labelInfo = tgs.length != 0 ? tgs.join(", ") : ""; - this.ruleForm.otherdata = JSON.stringify(this.variablelist); - this.ruleForm.hetype = 2; - console.log(22); - this.ruleForm.suitway = - this.ruleForm.suitway.length != 0 - ? this.ruleForm.suitway.join(",") - : ""; - - addrichText({ - content: this.content, - fileName: this.fileName ? this.fileName : "娴嬭瘯.html", - }).then((res) => { - this.ruleForm.richText = res.msg; - if (this.id) { - this.ruleForm.isoperation = 2; - compilelibrary(this.ruleForm).then((res) => { - this.$modal.msgSuccess("缂栬緫鎴愬姛"); - this.confirmillness(); - this.$router.go(-1); - }); - } else { - this.ruleForm.isoperation = 1; - compilelibrary(this.ruleForm).then((res) => { - this.$modal.msgSuccess("鏂板鎴愬姛"); - this.confirmillness(res.data); - this.$router.go(-1); - }); - } - }); - }, - // 淇濆瓨鐤剧梾 - confirmillness(guid) { - this.illnesslist.forEach((item, index) => { - if (guid) { - item.outid = guid; - } else { - console.log(this.ruleForm); - item.outid = this.ruleForm.id; - } - item.icd10name = item.icdname; - item.icd10code = item.icdcode; - item.type = 6; - if (!item.id) { - addtargetillness(item).then((res) => {}); - } - }); - this.illnessVisible = false; - this.$modal.msgSuccess("缂栬緫鎴愬姛"); - }, - getFileNameFromPath(path) { - const parts = path.split("/"); - return parts[parts.length - 1]; - }, - // 涓嬩竴姝� - nextstep() { - if (this.Editprogress <= 1) { - return this.Editprogress++; - } - }, - // 涓婁竴姝� - laststep() { - this.Editprogress = this.Editprogress - 1; - }, - // 鍏抽棴 - closeFm() { - this.$confirm("閫�鍑轰笉浼氫繚鐣欓〉闈㈠唴瀹规洿鏀�, 鏄惁缁х画?", "鎻愮ず", { - confirmButtonText: "纭畾", - cancelButtonText: "鍙栨秷", - type: "warning", - }) - .then(() => { - this.$router.go(-1); - }) - .catch(() => { - this.$message({ - type: "info", - message: "宸插彇娑�", - }); - }); - }, - // 绉戝澶勭悊 - Departmenttreatment() { - this.ruleForm.deptNames = JSON.stringify(this.tempDetpRelevanceslist); - const result = this.tempDetpRelevanceslist.map( - (subArr) => subArr[subArr.length - 1] - ); - // id鏁扮粍鏌ユ暟缁勫璞� - result.forEach((item) => { - const condition = this.ruleForm.tempDetpRelevances.some( - (obj) => obj.deptId === item - ); - if (!condition) { - listDept({ deptId: item }).then((res) => { - console.log("dept"); - res.data[0].type = 2; - this.ruleForm.tempDetpRelevances.push(res.data[0]); - }); - } - }); - // 鏁扮粍瀵硅薄鏌d鏁扮粍 - this.ruleForm.tempDetpRelevances.forEach((item) => { - const condition = result.some((obj) => obj === item.deptId); - if (!condition) { - const index = this.ruleForm.tempDetpRelevances.indexOf(item); - this.ruleForm.tempDetpRelevances[index].delFlag = 1; - } - }); - setTimeout(() => { - this.submitForm(); - }, 1000); - // this.submitForm(); - }, - // 淇濆瓨棰樼洰淇℃伅 - Saveproblem() {}, - /** 鏌ヨ棰樼洰鍒楄〃 */ - - // 鏂板鍙橀噺 - addvariable() { - this.variablelist.push({ - variatename: "", - variate: "", - }); - }, - // 鍒犻櫎鍙橀噺 - delvariable(item) { - const index = this.variablelist.indexOf(item); - if (index !== -1) { - this.variablelist.splice(index, 1); // 浠庣储寮曚綅缃垹闄や竴涓厓绱� - } else { - console.log("鏈壘鍒拌瀵硅薄"); - } - }, - // 鎺у埗鏂囦欢 - handleChange(file, fileList) { - this.fileList = fileList.slice(-3); - }, - // 鏍囩----------------- - gettabList() { - const tagqueryParams = { - pageNum: 1, - pageSize: 1000, - tagcategoryid: "0", - }; - listtag(tagqueryParams).then((response) => { - this.optionstag = response.rows; - }); - }, - handleClosetag(tag) { - console.log(tag); - const lindex = this.ruleForm.heLibraryTagList.findIndex( - (item) => item.tagname == tag.tagname - ); - console.log(lindex); - this.dynamicTags.splice(this.dynamicTags.indexOf(tag), 1); - this.ruleForm.heLibraryTagList[lindex].isoperation = 3; - }, - handleInputConfirm() { - let tagvalue = {}; - let tagname = this.inputValue; - if (tagname) { - listtag({ - pageNum: 1, - pageSize: 1000, - tagcategoryid: "0", - tagname: tagname, - }).then((res) => { - if (res.rows[0]) { - tagvalue = res.rows[0]; - tagvalue.isoperation = 1; - } else { - tagvalue = { - tagname: tagname, - isoperation: 1, - }; - } - this.ruleForm.heLibraryTagList.push(tagvalue); - this.dynamicTags.push(tagvalue); - }); - } - this.inputVisible = false; - this.inputValue = ""; - }, - remoteMethodtag(query) { - if (query !== "") { - this.loading = true; - setTimeout(() => { - this.loading = false; - listtag({ tagname: query, tagcategoryid: "0" }).then((res) => { - this.optionstag = res.rows; - }); - }, 200); - } else { - this.optionstag = []; - } - }, - showInput() { - this.inputVisible = true; - }, - // 鐤剧梾----------------------- - illnessUpdate() { - if (this.id) { - getillness({ outid: this.$route.query.id, type: 6 }).then((res) => { - this.illnesslist = res.rows; - this.illnesslist.forEach((item) => { - item.icdname = item.icd10name; - }); - }); - } - }, - - // -------------------------- - - // 棰勮妯℃澘 - PreviewTemplate() { - this.drawer = true; - }, - resetForm(formName) { - this.$refs[formName].resetFields(); - }, - - //涓婁紶鍥剧墖涔嬪墠async - beforeEditorUpload(res, file) { - //鏄剧ず涓婁紶鍔ㄧ敾 - this.quillUpdateImg = true; - // const res1 = await uploadImage() - // console.log(res1,'====='); - // this.$emit('before',res, file) - console.log(res); - console.log(file); - }, - // 涓婁紶鍥剧墖鎴愬姛 - uploadEditorSuccess(res, file) { - console.log("涓婁紶鎴愬姛"); - // this.$emit('upload',res, file) - console.log(res, file); - //鎷兼帴鍑轰笂浼犵殑鍥剧墖鍦ㄦ湇鍔″櫒鐨勫畬鏁村湴鍧� - let imgUrl = res.url; - let type = imgUrl.substring(imgUrl.lastIndexOf(".") + 1); - console.log(type); - // 鑾峰彇瀵屾枃鏈粍浠跺疄渚� - let quill = this.$refs.customQuillEditor.quill; - // 鑾峰彇鍏夋爣鎵�鍦ㄤ綅缃� - let length = quill.getSelection().index; - // 鎻掑叆鍥剧墖||瑙嗛 res.info涓烘湇鍔″櫒杩斿洖鐨勫浘鐗囧湴鍧� - if (type == "mp4" || type == "MP4") { - window.jsValue = imgUrl; - quill.insertEmbed(length, "video", imgUrl); - } else { - quill.insertEmbed(length, "image", imgUrl); - } - // 璋冩暣鍏夋爣鍒版渶鍚� - quill.setSelection(length + 1); - //鍙栨秷涓婁紶鍔ㄧ敾 - this.quillUpdateImg = false; - }, - // 澶卞幓鐒︾偣浜嬩欢 - onEditorBlur(e) { - console.log("onEditorBlur: ", e); - }, - // 鑾峰緱鐒︾偣浜嬩欢 - onEditorFocus(e) { - console.log("onEditorFocus: ", e); - }, - // 鍐呭鏀瑰彉浜嬩欢 - onEditorChange(e) { - console.log("onEditorChange: ", e); - }, - // 涓婁紶(鏂囦欢)鍥剧墖澶辫触 - uploadEditorError(res, file) { - console.log(res, "word"); - console.log(file, "word"); - //椤甸潰鎻愮ず - this.$message.error("涓婁紶鍥剧墖澶辫触"); - //鍙栨秷涓婁紶鍔ㄧ敾 - this.quillUpdateImg = false; - }, - //涓婁紶缁勪欢杩斿洖鐨勭粨鏋� - uploadResult: function (res) { - this.uploadUrlPath = res; - }, - // 涓婁紶(鏂囦欢)鍥剧墖澶辫触 - uploadEditorErrorword(res, file) { - console.log(res); - console.log(file); - //椤甸潰鎻愮ず - this.$message.error("涓婁紶鍥剧墖澶辫触"); - //鍙栨秷涓婁紶鍔ㄧ敾 - this.quillUpdateImg = false; - }, - //涓婁紶鍥剧墖涔嬪墠async - beforeEditorUploadword(res, file) { - //鏄剧ず涓婁紶鍔ㄧ敾 - this.quillUpdateImg = true; - // const res1 = await uploadImage() - // console.log(res1,'====='); - // this.$emit('before',res, file) - console.log(res); - console.log(file); - }, - // 涓婁紶鍥剧墖鎴愬姛 - uploadEditorSuccessword(res, file) { - console.log("涓婁紶鎴愬姛"); - const data = null; - console.log(res, file, "word"); - axios - .get(res.url) - .then((response) => { - console.log(response.data, "鏁版嵁"); // 杈撳嚭鑾峰彇鍒扮殑鏂囦欢鍐呭 - this.content = response.data; - this.texturl = res.url; - this.fileName = this.getFileNameFromPath(res.url); - }) - .catch((error) => { - console.error("Failed to fetch file:", error); - }); - }, - Getmissioncontent(url) { - axios - .get(url) - .then((response) => { - console.log(response.data, "鏁版嵁"); // 杈撳嚭鑾峰彇鍒扮殑鏂囦欢鍐呭 - this.content = response.data; - this.fileName = this.getFileNameFromPath(res.url); - }) - .catch((error) => { - console.error("Failed to fetch file:", error); - }); - }, - }, -}; -</script> - -<style lang="scss" scoped> -.Questionnairemanagement { - // display: flex; -} -.sidecolumn { - // width: 300px; - // min-height: 100vh; - // text-align: center; - // display: flex; - // margin-top: 20px; - margin: 20px; - margin-bottom: 0; - padding: 20px; - 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); -} -.leftvlue { - // display: flex; - // flex: 1; - margin: 20px; - padding: 30px; - background: #ffff; - border: 1px solid #dcdfe6; - -webkit-box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.12), - 0 0 6px 0 rgba(0, 0, 0, 0.04); - .mulsz { - font-size: 20px; - } - .leftvlue-jbxx { - margin-bottom: 50px; - font-size: 20px; - span { - position: absolute; - right: 80px; - } - } - .demo-cascader { - margin-right: 20px; - } - .PreviewTemplate { - color: #02a7f0; - cursor: pointer; - font-size: 20px; - margin: 0 20px; - } -} -.xinz-inf { - font-size: 18px; - white-space: nowrap; - overflow: hidden; - text-overflow: ellipsis; - - line-height: 48px; - - .el-tag + .el-tag { - margin-left: 10px; - } - .button-new-tag { - margin-left: 10px; - height: 32px; - line-height: 30px; - padding-top: 0; - padding-bottom: 0; - } - .input-new-tag { - width: 90px; - margin-left: 10px; - vertical-align: bottom; - } -} -.preview-left { - margin: 20px; - // margin: 20px; - padding: 30px; - background: #ffff; - border: 1px solid #dcdfe6; - -webkit-box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.12), - 0 0 6px 0 rgba(0, 0, 0, 0.04); - .topic-dev { - margin-bottom: 25px; - font-size: 20px !important; - .dev-text { - margin-bottom: 10px; - } - } -} -.addtopic { - margin-top: 30px; -} -.presentation { - margin: 20px 0; - display: flex; - .presentation-left { - width: 50%; - height: 500px; - .button-textxg { - color: #024df0; - } - .button-textsc { - color: #f52727; - } - } - .presentation-right { - width: 50%; - height: 500px; - padding: 20px; - font-size: 18px; - border: 1px solid #909091; - span { - padding: 0 35px; - margin-right: 10px; - border-bottom: 1px solid #909091; - } - .headline { - font-size: 20px; - border-left: 3px solid #41a1be; - padding-left: 5px; - margin: 15px 0; - } - } -} -::v-deep .addtopic-input { - input { - background: #02a7f0; - color: #edf1f7; - width: 150px; - } -} -::v-deep.el-step.is-vertical .el-step__title { - font-size: 25px; -} -::v-deep.el-input--medium { - font-size: 18px !important; -} -::v-deep.ruleFormaa.el-select { - display: inline-block; - position: relative; - width: 700px; -} -.el-select__tags { - font-size: 20px; - max-width: 888px !important; -} -::v-deep.el-radio__inner { - width: 22px; - height: 22px; -} -// ::v-deep.topic-dev.el-radio__label { -// font-size: 24px; -// } -::v-deep.el-radio-group { - span { - font-size: 24px; - } -} -::v-deep.el-checkbox-group { - 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/shortmessage/healthinformation/compilequer/video.js b/src/views/shortmessage/healthinformation/compilequer/video.js deleted file mode 100644 index 16f4978..0000000 --- a/src/views/shortmessage/healthinformation/compilequer/video.js +++ /dev/null @@ -1,71 +0,0 @@ -import { Quill } from 'vue-quill-editor' - -// 婧愮爜涓槸import鐩存帴鍊掑叆锛岃繖閲岃鐢≦uill.import寮曞叆 -const BlockEmbed = Quill.import('blots/block/embed') -// const Link = Quill.import('formats/link') - -const ATTRIBUTES = ['height', 'width'] - -class Video extends BlockEmbed { - static create (value) { - const node = super.create(value) - // console.log("js鏂囦欢"+ window.jsValue) - // 娣诲姞video鏍囩鎵�闇�鐨勫睘鎬� - node.setAttribute('controls', 'controls') // 鎺у埗鎾斁鍣� - //鍒犻櫎鍘熺敓video鐨勬帶鍒舵潯鐨勪笅杞芥垨鑰呭叏灞忔寜閽殑鏂规硶 - //<video controls controlsList='nofullscreen nodownload noremote footbar' ></video> - //涓嶇敤鍝釜鍦ㄤ笅闈㈠姞涓婂摢涓� - node.setAttribute('controlsList', 'nofullscreen') // 鎺у埗鍒犻櫎 - node.setAttribute('type', 'video/mp4') - node.setAttribute('style', 'object-fit:fill;width: 100%;') - node.setAttribute('preload', 'auto') // auto - 褰撻〉闈㈠姞杞藉悗杞藉叆鏁翠釜瑙嗛 meta - 褰撻〉闈㈠姞杞藉悗鍙浇鍏ュ厓鏁版嵁 none - 褰撻〉闈㈠姞杞藉悗涓嶈浇鍏ヨ棰� - node.setAttribute('playsinline', 'true') - node.setAttribute('x-webkit-airplay', 'allow') - // node.setAttribute('x5-video-player-type', 'h5') // 鍚敤H5鎾斁鍣�,鏄痺echat瀹夊崜鐗堢壒鎬� - node.setAttribute('x5-video-orientation', 'portraint') // 绔栧睆鎾斁 澹版槑浜唄5鎵嶈兘浣跨敤 鎾斁鍣ㄦ敮浠樼殑鏂瑰悜锛宭andscape妯睆锛宲ortraint绔栧睆锛岄粯璁ゅ�间负绔栧睆 - node.setAttribute('x5-playsinline', 'true') // 鍏煎瀹夊崜 涓嶅叏灞忔挱鏀� - node.setAttribute('x5-video-player-fullscreen', 'true') // 鍏ㄥ睆璁剧疆锛岃缃负 true 鏄槻姝㈡í灞� - node.setAttribute('src', window.jsValue) - return node - } - - static formats (domNode) { - return ATTRIBUTES.reduce((formats, attribute) => { - if (domNode.hasAttribute(attribute)) { - formats[attribute] = domNode.getAttribute(attribute) - } - return formats - }, {}) - } - - // static sanitize (url) { - // - // // eslint-disable-line import/no-named-as-default-member - // } - - static value (domNode) { - return domNode.getAttribute('src') - } - - format (name, value) { - if (ATTRIBUTES.indexOf(name) > -1) { - if (value) { - this.domNode.setAttribute(name, value) - } else { - this.domNode.removeAttribute(name) - } - } else { - super.format(name, value) - } - } - - html () { - const { video } = this.value() - return `<a href="${video}">${video}</a>` - } -} -Video.blotName = 'video' // 杩欓噷涓嶇敤鏀癸紝妤间富涓嶇敤iframe锛岀洿鎺ユ浛鎹㈡帀鍘熸潵锛屽鏋滈渶瑕佷篃鍙互淇濈暀鍘熸潵鐨勶紝杩欓噷鐢ㄤ釜鏂扮殑blot -Video.className = 'ql-video' -Video.tagName = 'video' // 鐢╲ideo鏍囩鏇挎崲iframe - -export default Video diff --git a/src/views/shortmessage/healthinformation/index.vue b/src/views/shortmessage/healthinformation/index.vue deleted file mode 100644 index 1db7b88..0000000 --- a/src/views/shortmessage/healthinformation/index.vue +++ /dev/null @@ -1,1005 +0,0 @@ -<template> - <div class="educationmanagement"> - <!-- 宸︿晶鏍� --> - <div class="sidecolumn"> - <div class="sidecolumn-top"> - <div class="top-wj">閫氱煡绫诲瀷</div> - <div class="top-tj" @click="dialogFormVisible = true">+娣诲姞绫诲埆</div> - </div> - <div class="center-ss"> - <el-input - placeholder="璇疯緭鍏ュ唴瀹�" - v-model="sidecolumnval" - class="input-with-select" - size="medium" - > - </el-input> - </div> - <div class="head-container" style="margin-top: 20px"> - <el-tree - :data="deptOptions" - :props="defaultProps" - :expand-on-click-node="false" - :filter-node-method="filterNode" - ref="tree" - node-key="id" - default-expand-all - highlight-current - @node-click="handleNodeClick" - > - <span class="custom-tree-node" slot-scope="{ node, data }"> - <span>{{ node.label }}</span> - <span v-if="data.id > 0"> - <el-button - type="text" - icon="el-icon-delete" - circle - size="mini" - @click="() => remove(node, data)" - > - </el-button> - </span> - <span v-if="data.id > 0"> - <el-button - type="text" - circle - size="mini" - @click="() => altertag(node, data)" - ><span class="button-textxg" - ><i class="el-icon-edit-outline"></i - ></span> - </el-button> - </span> - </span> - </el-tree> - </div> - </div> - <!-- 鍙充晶鏁版嵁 --> - <div class="leftvlue"> - <div class="leftvlue-bg"> - <el-row :gutter="20"> - <!--鐢ㄦ埛鏁版嵁--> - <el-col :span="24" :xs="24"> - <el-form - :model="queryParams" - ref="queryForm" - size="small" - :inline="true" - v-show="showSearch" - label-width="98px" - > - <el-form-item label="閫氱煡鏍囬" prop="preachname"> - <el-input - v-model="queryParams.preachname" - placeholder="璇疯緭鍏�" - clearable - style="width: 200px" - @keyup.enter.native="handleQuery" - /> - </el-form-item> - <el-form-item label="閫傜敤闄㈠尯" prop="region"> - <el-select - v-model="campus" - size="medium" - multiple - filterable - placeholder="璇烽�夋嫨鍒嗙被" - > - <el-option - v-for="item in courtyardlist" - :key="item.label" - :label="item.label" - :value="item.label" - > - </el-option> - </el-select> - </el-form-item> - <el-form-item label="閫氱煡鍐呭" prop="userName"> - <el-input - v-model="queryParams.preachcontent" - placeholder="璇疯緭鍏�" - clearable - style="width: 200px" - @keyup.enter.native="handleQuery" - /> - </el-form-item> - - <el-form-item label="鍙敤鐘舵��" prop="classify"> - <el-select v-model="queryParams.isavailable" placeholder="璇烽�夋嫨"> - <el-option - v-for="(item, index) in qyoptions" - :key="item.value" - :label="item.label" - :value="item.value" - > - </el-option> - </el-select> - </el-form-item> - - <el-form-item> - <el-button - type="primary" - icon="el-icon-search" - size="medium" - @click="handleQuery" - >鎼滅储</el-button - > - <el-button - icon="el-icon-refresh" - size="medium" - @click="resetQuery" - >閲嶇疆</el-button - > - </el-form-item> - </el-form> - <el-divider></el-divider> - <el-row :gutter="10" class="mb8"> - <el-col :span="1.5"> - <el-button - type="primary" - plain - icon="el-icon-plus" - size="medium" - @click="handleAdd" - v-hasPermi="['system:user:add']" - >鏂板</el-button - > - </el-col> - - <el-col :span="1.5"> - <el-button - type="danger" - plain - icon="el-icon-delete" - size="medium" - :disabled="multiple" - @click="handleDelete" - v-hasPermi="['system:user:remove']" - >鍒犻櫎</el-button - > - </el-col> - - <!-- <el-col :span="1.5"> </el-col> --> - </el-row> - - <el-table - v-loading="loading" - :data="userList" - border - @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="preachname" - prop="preachname" - :show-overflow-tooltip="true" - /> - <el-table-column - label="鐗堟湰" - align="center" - key="version" - prop="version" - :show-overflow-tooltip="true" - /> - <el-table-column - label="涓昏鍐呭" - align="center" - key="preachcontent" - prop="preachcontent" - :show-overflow-tooltip="true" - /> - <!-- - <el-table-column - label="閫傜敤鐤剧梾" - align="center" - key="aphonenumber" - prop="aphonenumber" - width="120" - > - <template slot-scope="scope"> - <el-button - size="medium" - type="text" - @click="illnessUpdate(scope.row)" - v-hasPermi="['system:user:edit']" - ><span class="button-textxg" - ><i class="el-icon-date"></i>璇︽儏</span - ></el-button - > - </template> - </el-table-column> --> - - <el-table-column - label="鏍囩" - align="center" - key="labelInfo" - prop="labelInfo" - width="160" - :show-overflow-tooltip="true" - > - <template slot-scope="scope"> - <div v-if="scope.row.labelInfo"> - <span v-for="item in scope.row.labelInfo.split(',')" - >{{ item }}銆� - </span> - </div> - <div v-else> - <span>鏃�</span> - </div> - </template> - </el-table-column> - <el-table-column - label="閫傜敤鏂瑰紡" - align="center" - key="suitway" - prop="suitway" - width="120" - > - <template slot-scope="scope"> - <div v-if="scope.row.suitway"> - <span v-for="item in scope.row.suitway.split(',')" - >{{ item }}銆� - </span> - </div> - <div v-else> - <span>鏃�</span> - </div> - </template> - </el-table-column> - <el-table-column - label="鍐呭褰㈠紡" - align="center" - key="preachform" - prop="preachform" - width="120" - > - <template slot-scope="scope"> - <dict-tag - :options="editabshape" - :value="scope.row.preachform" - /> - </template> - </el-table-column> - <el-table-column - label="鏈�杩戜慨鏀�" - align="center" - key="updateTime" - prop="updateTime" - width="120" - /> - <el-table-column - label="鏄惁鍙敤" - align="center" - key="isavailable" - prop="isavailable" - width="120" - > - <template slot-scope="scope"> - <dict-tag :options="usable" :value="scope.row.isavailable" /> - </template> - </el-table-column> - - <el-table-column - label="鎿嶄綔" - fixed="right" - align="center" - width="300" - class-name="small-padding fixed-width" - > - <template slot-scope="scope"> - <!-- <el-button - size="medium" - type="text" - @click="goQRCode(scope.row)" - v-hasPermi="['system:user:edit']" - > - <span class="button-text" - ><i class="el-icon-edit"></i>浜岀淮鐮�</span - ></el-button - > --> - <!-- <el-button - size="medium" - type="text" - @click="Vieweducation(scope.row)" - v-hasPermi="['system:user:edit']" - ><span class="button-textck" - ><i class="el-icon-edit"></i>鏌ョ湅</span - ></el-button - > --> - <el-button - size="medium" - type="text" - @click="handleUpdate(scope.row)" - v-hasPermi="['system:user:edit']" - ><span class="button-textxg" - ><i class="el-icon-edit"></i>淇敼</span - ></el-button - > - <el-button - size="medium" - type="text" - @click="handleDelete(scope.row)" - v-hasPermi="['system:user:remove']" - ><span class="button-textsc" - ><i class="el-icon-edit"></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> - </div> - </div> - <!-- 娣诲姞绫诲埆寮规 --> - <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> - <el-radio-button label="瀛愬垎绫�"></el-radio-button> - </el-radio-group> - </div> - <el-divider></el-divider> - <el-form :model="classifyform"> - <el-form-item label="璇烽�夋嫨闂澶х被" v-if="radio == '瀛愬垎绫�'"> - <el-select v-model="classifyform.pid" placeholder="璇烽�夋嫨"> - <el-option - v-for="item in deptOptions" - :key="item.id" - :label="item.assortname" - :value="item.id" - > - </el-option> - </el-select> - </el-form-item> - <el-form-item label="璇疯緭鍏ョ被鍒悕绉�"> - <el-input - v-model="classifyform.assortname" - autocomplete="off" - ></el-input> - </el-form-item> - </el-form> - <div slot="footer" class="dialog-footer"> - <el-button @click="getDeptTree()">鍙� 娑�</el-button> - <el-button type="primary" @click="submitsidecolumn">纭� 瀹�</el-button> - </div> - </el-dialog> - <!-- 鐤剧梾寮规 --> - <el-dialog title="鎸囨爣鐤剧梾" :visible.sync="illnessVisible" width="50%"> - <div> - <div class="xinz-infs"> - <el-tag - :key="item.icd10name" - type="warning" - v-for="item in illnesslist" - closable - :disable-transitions="false" - @close="handleCloseillness(item)" - > - {{ item.icd10name }} - </el-tag> - <el-select - v-model="inputValue" - v-if="inputVisible" - @change="illnessConfirm" - :remote-method="remoteMethod" - filterable - remote - allow-create - default-first-option - placeholder="璇烽�夋嫨/鏌ヨ" - :loading="loading" - > - <el-option - v-for="item in optionsillness" - :key="item.icdid" - :label="item.icdname" - :value="item.icdid" - > - </el-option> - </el-select> - <el-button - v-else - class="button-new-tag" - size="small" - @click="showInput" - >+ 鏂板鐤剧梾</el-button - > - </div> - </div> - <span slot="footer" class="dialog-footer"> - <el-button @click="illnessVisible = false">鍙� 娑�</el-button> - <el-button type="primary" @click="confirmillness">纭� 瀹�</el-button> - </span> - </el-dialog> - <!-- 浜岀淮鐮佸睍绀哄脊妗� --> - <el-dialog width="30%" :visible.sync="goQRCodeVisible"> - <div class="qrcode-dialo"> - <div class="qrcode-text"> - {{ nameeducation }}<span>{{ haoeducation }}</span> - </div> - <div class="qrcode-img"></div> - </div> - </el-dialog> - </div> -</template> - -<script> -import { - getheLibraryAssort, - delheLibraryAssort, - addheLibraryAssort, - editheLibraryAssort, - addtargetillness, - getlibrarylist, - dellibraryinfo, - compilelibrary, - getlibraryinfo, - getillnesslist, - illnesslistget, - getillness, -} from "@/api/AiCentre/index"; -import { listDept } from "@/api/system/dept"; -import { getToken } from "@/utils/auth"; -import store from "@/store"; - -import Treeselect from "@riophae/vue-treeselect"; -import "@riophae/vue-treeselect/dist/vue-treeselect.css"; -export default { - name: "education", - dicts: ["sys_normal_disable", "sys_user_sex"], - components: { Treeselect }, - data() { - return { - topactiveName: "Local", //椤堕儴閫夋嫨 - // 閬僵灞� - loading: false, - // 閫変腑鏁扮粍 - ids: [], - // 闈炲崟涓鐢� - single: true, - // 闈炲涓鐢� - multiple: true, - // 鏄剧ず鎼滅储鏉′欢 - showSearch: true, - // 鎬绘潯鏁� - total: 0, - nameeducation: "", - haoeducation: "", - indexid: null, - inputValue: "", - radio: "涓诲垎绫�", - inputVisible: false, - illnessVisible: false, //鎸囨爣鐤剧梾寮规 - deptOptions: [], - optionsillness: [], - illnesslistapi: [], - illnesslist: [], - qyoptions: [], - defaultProps: { - children: "heLibraryAssortList", - label: "assortname", - }, - // 鐢ㄦ埛琛ㄦ牸鏁版嵁 - userList: [ - { - userid: 1, - userName: "涓夊彿閫氱煡", - nickName: "1.2.4", - aphonenumber: "鍏宠妭鐐庣棁", - bphonenumber: "寰堟", - cphonenumber: "2022-12-12", - }, - ], - // 寮瑰嚭灞傛爣棰� - title: "", - // 鏄惁鏄剧ず寮瑰嚭灞� - open: false, - // 鏃ユ湡鑼冨洿 - dateRange: [], - // 宀椾綅閫夐」 - postOptions: [], - // 瑙掕壊閫夐」 - roleOptions: [], - courtyardlist: [], - // 琛ㄥ崟鍙傛暟 - form: {}, - numberlb: 22, - numberlbs: 2, - sidecolumnform: {}, //娣诲姞绫诲埆琛ㄥ崟 - goQRCodeVisible: false, //浜岀淮鐮佸脊妗� - sidecolumnval: "", //绫诲埆鎼滅储 - propss: { multiple: true }, - idds: "", - amendtag: false, //鏄惁淇敼绫诲埆 - dialogFormVisible: false, //淇敼娣诲姞绫诲埆寮规 - deleteVisible: false, //鍒嗙被鍒犻櫎寮规 - deletefenl: "楂樿鍘�", //鍒犻櫎椤� - classifyform: { - categoryname: "", - }, //绫诲埆琛ㄥ崟 - optionss: [], - mode: [], - languagelist: [], - campus: [], - editabshape: [], - usable: [], - precedencetype: [], - xjxsoptions: [], - deptList: [], - props: { multiple: true, value: "deptId", label: "deptName" }, - - //绫诲埆鍒楄〃 - editableTabs: [], - // 鏌ヨ鍙傛暟 - queryParams: { - pageNum: 1, - pageSize: 10, - isavailable: "", - }, - }; - }, - watch: {}, - created() { - this.getList(); - this.getDeptTree(); - this.mode = store.getters.mode; - this.languagelist = store.getters.languagelist; - this.usable = store.getters.usable; - this.precedencetype = store.getters.precedencetype; - this.editabshape = store.getters.editabshape; - this.qyoptions = store.getters.usable; - this.courtyardlist = store.getters.courtyardlist; - }, - - methods: { - /** 鏌ヨ閫氱煡鍒楄〃 */ - getList() { - this.loading = true; - this.queryParams.hetype = 2; - getlibrarylist(this.queryParams).then((response) => { - console.log(response); - this.userList = response.rows; - this.total = response.total; - this.loading = false; - }); - listDept(this.queryParams).then((response) => { - this.deptList = this.handleTree(response.data, "deptId"); - }); - }, - - // 鍙栨秷鎸夐挳 - cancel() { - this.open = false; - this.reset(); - }, - goQRCode(row) { - this.goQRCodeVisible = true; - this.nameeducation = row.userName; - this.haoeducation = row.nickName; - }, - // 琛ㄥ崟閲嶇疆 - reset() { - this.form = {}; - this.resetForm("form"); - }, - /** 鎼滅储鎸夐挳鎿嶄綔 */ - handleQuery() { - this.queryParams.pageNum = 1; - this.queryParams.campus = this.campus.join(","); - this.getList(); - }, - /** 閲嶇疆鎸夐挳鎿嶄綔 */ - resetQuery() { - this.dateRange = []; - this.queryParams = { - pageNum: 1, - pageSize: 10, - isavailable: "", - hetype: 2, - }, - this.$refs.tree.setCurrentKey(null); - this.handleQuery(); - }, - // 澶氶�夋閫変腑鏁版嵁 - handleSelectionChange(selection) { - this.ids = selection.map((item) => item.id); - this.single = selection.length != 1; - this.multiple = !selection.length; - }, - /** 鏂板鎸夐挳鎿嶄綔 */ - handleAdd() { - this.$router.push({ - path: "/knowledge/Noticeparticulars", - query: { hetype: 2 }, - }); - }, - /** 淇敼鎸夐挳鎿嶄綔 */ - handleUpdate(row) { - this.$router.push({ - path: "/knowledge/Noticeparticulars", - query: { id: row.id, hetype: 2 }, - }); - }, - // 鏌ョ湅閫氱煡 - Vieweducation() { - this.$router.push({ - path: "/knowledge/education/examine/", - query: { id: row.id }, - }); - }, - - /** 鍒犻櫎鎸夐挳鎿嶄綔 */ - handleDelete(row) { - const userIds = row.id || this.ids; - this.$modal - .confirm('鏄惁纭鍒犻櫎鐢ㄦ埛缂栧彿涓�"' + userIds + '"鐨勬暟鎹」锛�') - .then(function () { - return dellibraryinfo(userIds); - }) - .then(() => { - this.getList(); - this.$modal.msgSuccess("鍒犻櫎鎴愬姛"); - }) - .catch(() => {}); - }, - - // 鍒嗙被鏍�----------------------------------------- - // 淇敼鍒嗙被寮规 - popoveramend(tagcategoryid) { - this.idds = tagcategoryid; - this.amendtag = true; - this.dialogFormVisible = true; - }, - // 鏌ヨ鏍� - getDeptTree() { - getheLibraryAssort({ hetype: 2 }).then((res) => { - this.deptOptions = res.rows; - this.dialogFormVisible = false; - }); - }, - - // 娣诲姞绫诲埆鏍� - submitsidecolumn() { - this.classifyform.hetype = 2; - if (this.classifyform.id) { - editheLibraryAssort(this.classifyform).then((res) => { - this.getDeptTree(); - this.$modal.msgSuccess("淇敼鎴愬姛"); - this.classifyform = {}; - this.dialogFormVisible = false; - }); - return; - } - let calssvalue = {}; - if ( - this.classifyform.pid && - this.classifyform.assortname && - this.radio == "瀛愬垎绫�" - ) { - const index = this.deptOptions.findIndex( - (obj) => obj.id == this.classifyform.pid - ); - calssvalue = this.deptOptions[index]; - calssvalue.heLibraryAssortList.push(this.classifyform); - } else if (this.radio == "涓诲垎绫�" && this.classifyform.assortname) { - this.classifyform.pid = null; - this.classifyform.heLibraryAssortList = []; - } else { - return this.$modal.msgError("璇峰~鍐欏畬鏁翠俊鎭�"); - } - addheLibraryAssort(this.classifyform).then((res) => { - this.getDeptTree(); - this.$modal.msgSuccess("鏂板鎴愬姛"); - this.classifyform = {}; - this.dialogFormVisible = false; - }); - }, - remove(a, b) { - if (b.pid) { - this.$modal - .confirm('鏄惁纭鍒犻櫎鍒嗙被椤逛负"' + b.assortname + '"鐨勬暟鎹」锛�') - .then(function () { - return delheLibraryAssort(b.id); - }) - .then(() => { - this.getDeptTree(); - this.$modal.msgSuccess("鍒犻櫎鎴愬姛"); - }) - .catch(() => {}); - } else { - this.$modal - .confirm( - '鏄惁纭鍒犻櫎涓�绾у垎绫�"' + - b.assortname + - '"锛熷垹闄ゅ悗鍏朵笅鍒嗙被灏嗗綊绫烩�樻湭鍒嗙被鈥�' - ) - .then(() => { - return delheLibraryAssort(b.id); - }) - .then(() => { - this.getDeptTree(); - this.$modal.msgSuccess("鍒犻櫎鎴愬姛"); - }) - .catch(() => {}); - } - }, - altertag(a, b) { - this.dialogFormVisible = true; - if (!b.pid) { - this.radio = "涓诲垎绫�"; - } else { - this.radio = "瀛愬垎绫�"; - } - this.classifyform = b; - this.dialogFormVisible = true; - }, - - // 绛涢�夎妭鐐� - filterNode(value, data) { - if (!value) return true; - return data.assortname.indexOf(value) !== -1; - }, - handleNodeClick(data) { - this.queryParams.assortid = data.id; - this.getList(); - }, - // 鐤剧梾----------------------- - illnessUpdate(row) { - this.illnessVisible = true; - this.indexid = row.id; - this.illnesslistapi = []; - const illnessqueryParams = { - pageNum: 1, - pageSize: 100, - }; - getillnesslist(illnessqueryParams).then((response) => { - console.log(response); - this.optionsillness = response.rows; - }); - getillness({ outid: row.id, type: 6 }).then((res) => { - this.illnesslist = res.rows; - console.log(res); - }); - }, - handleCloseillness(tag) { - this.illnesslist.splice(this.illnesslist.indexOf(tag), 1); - if (tag.id) { - this.illnesslistapi.push(tag.id); - } - }, - remoteMethod(value) { - console.log(value); - const illnessqueryParams = { - pageNum: 1, - pageSize: 100, - icdname: value, - }; - this.loading = true; - setTimeout(() => { - this.loading = false; - getillnesslist(illnessqueryParams).then((response) => { - this.optionsillness = response.rows; - }); - }, 200); - }, - illnessConfirm(item) { - let opeavalue = {}; - let tagname = this.inputValue; - illnesslistget(item).then((res) => { - opeavalue = res.data; - opeavalue.outid = this.indexid; - opeavalue.type = 6; - opeavalue.icd10id = opeavalue.icdid; - opeavalue.icd10name = opeavalue.icdname; - opeavalue.icd10code = opeavalue.icdcode; - if (tagname) { - this.illnesslist.push(opeavalue); - } - }); - console.log(this.illnesslist); - this.inputVisible = false; - this.inputValue = ""; - }, - confirmillness() { - this.illnesslist.forEach((item, index) => { - if (!item.id) { - item.hetype = 2; - - addtargetillness(item).then((res) => {}); - } - }); - if (this.illnesslistapi.length) { - deltargetillness(this.illnesslistapi.join(",")).then((res) => {}); - } - this.illnessVisible = false; - this.$modal.msgSuccess("缂栬緫鎴愬姛"); - }, - showInput() { - this.inputVisible = true; - }, - }, -}; -</script> - -<style lang="scss" scoped> -.educationmanagement { - display: flex; -} -.sidecolumn { - width: 300px; - min-height: 100vh; - text-align: center; - // display: flex; - margin-top: 20px; - margin: 20px; - padding: 30px; - background: #fff; - 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); - .sidecolumn-top { - display: flex; - justify-content: space-between; - .top-wj { - font-size: 20px; - } - .top-tj { - font-size: 18px; - - color: rgb(0, 89, 255); - cursor: pointer; - } - } - .center-ss { - margin-top: 30px; - .input-with-select { - height: 40px !important; - } - } - .bottom-fl { - margin-top: 30px; - display: center !important; - } -} -.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); - .qrcode-text { - font-size: 20px; - span { - margin-left: 20px; - } - } - .qrcode-img { - width: 300px; - height: 400px; - } -} -::v-deep.el-tabs--left, -.el-tabs--right { - overflow: hidden; - align-items: center; - display: flex; -} -::v-deep.el-input--medium .el-input__inner { - height: 40px !important; -} -::v-deep.el-tabs--right .el-tabs__active-bar.is-right { - height: 40px; - width: 5px; - left: 0; -} -::v-deep.el-tabs--right .el-tabs__item.is-right { - display: block; - font-size: 20px; -} -.leftvlue { - // display: flex; - // flex: 1; - width: 80%; - margin-top: 20px; - // margin: 20px; - padding: 30px; - background: #ffff; - border: 1px solid #dcdfe6; - -webkit-box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.12), - 0 0 6px 0 rgba(0, 0, 0, 0.04); - .mulsz { - font-size: 20px; - } -} -.xinz-infs { - font-size: 18px; - overflow: hidden; - text-overflow: ellipsis; - - line-height: 48px; - - .el-tag + .el-tag { - margin-left: 10px; - } - .button-new-tag { - margin-left: 10px; - height: 32px; - line-height: 30px; - padding-top: 0; - padding-bottom: 0; - } - .input-new-tag { - width: 90px; - margin-left: 10px; - vertical-align: bottom; - } -} -::v-deep .el-tree-node__content { - display: -webkit-box; - display: -ms-flexbox; - display: flex; - -webkit-box-align: center; - -ms-flex-align: center; - align-items: center; - height: 46px; - font-size: 20px; - cursor: pointer; -} -::v-deep .el-tree { - position: relative; - cursor: default; - border-radius: 5px; - background: #eff8fe; - color: #606266; - border: 1px solid #bbe1fa; - // 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); -} -::v-deep - .el-tree--highlight-current - .el-tree-node.is-current - > .el-tree-node__content { - background-color: #7799fb; - color: #fff; -} -::v-deep .el-button--mini.is-circle { - padding: 7px; - margin: 0; - color: red; -} -.button-text { - color: rgb(70, 204, 238); -} -.button-textck { - color: rgb(39, 167, 67); -} -.button-textxg { - color: rgb(35, 81, 233); -} -.button-textsc { - color: rgb(235, 23, 23); -} -</style> diff --git a/src/views/shortmessage/messagebank/compile/index.vue b/src/views/shortmessage/messagebank/compile/index.vue deleted file mode 100644 index db78891..0000000 --- a/src/views/shortmessage/messagebank/compile/index.vue +++ /dev/null @@ -1,155 +0,0 @@ -<template> - <div> - <div class="headline"> - <div class="basics">闂閰嶇疆</div> - <div class="headbottom"> - <el-button type="primary" icon="el-icon-notebook-2" @click="addzbiaofn" - >鍋ュ悍淇℃伅妯℃澘</el-button - > - <el-button @click="emptyfn" type="primary" icon="el-icon-refresh-right" - >娓呯┖鐭俊鍐呭</el-button - > - </div> - </div> - <div class="top-text"> - <el-input - :rows="5" - placeholder="璇疯緭鍏ョ煭淇″唴瀹规垨鍒╃敤妯℃澘杩涜缂栬緫" - type="textarea" - v-model="form.desc" - ></el-input> - </div> - <div class="headline"> - <div class="basics"> - 鎺ユ敹鐭俊鍙风爜<span>娉細鎵嬫満鍙风爜鐢ㄨ嫳鏂囩鍙� ';' 鍒嗛殧寮�锛�</span> - </div> - <div class="headbottom"> - <el-button type="primary" icon="el-icon-phone" @click="selectphp" - >閫夋辰鍙风爜</el-button - > - <el-button - type="primary" - icon="el-icon-refresh-right -" - >娓呯┖鍙风爜</el-button - > - </div> - </div> - <div class="top-text"> - <el-input - :rows="5" - placeholder="璇疯緭鍏�" - type="textarea" - v-model="form.desc" - ></el-input> - </div> - <div class="headlinetwo"> - <div class="basics"> - <el-checkbox v-model="form.checked">棰勭害鍙戦��</el-checkbox> - </div> - <div class="headbottom"> - <el-button - type="warning" - plain - icon="el-icon-arrow-left" - @click="addzbiao" - >杩斿洖鐭俊鍒楄〃</el-button - > - <el-button type="success" plain icon="el-icon-position">鍙戦��</el-button> - </div> - </div> - </div> -</template> - -<script> -export default { - data() { - return { - optionvalue: "涓嶉渶瑕併�佹病鏈夈�佷笉鐭ラ亾", - form: { - name: "", - region: "", - date1: "", - date2: "", - delivery: false, - type: [], - resource: "", - desc: "", - }, - deployList: [ - { - id: 1, - name: "鏈�", - valuetop: - "(?!.*蹇榺.*涓峾.*娌�)^.*(鏄瘄鏈墊瀵箌鍋殀浣渱妫�|鏌澶嶈瘖|濂絴鍙傚姞|澶嶈瘖|鍘�(杩噟濂絴浜唡瀹寍鍖婚櫌)|鏉�(杩噟浜唡鍖婚櫌))|娌¢敊|瀵瑰憖|鍙兘|(宸茬粡|鏃�)鍘讳簡|寮�浜嗚嵂|鑵板甫|鍚婂甫|瑕佺殑|(?<!娌�)鏈夌殑|琛ㄥ甫,10;瑕�,5", - }, - { - id: 2, - name: "涓嶇煡閬�", - valuetop: - "(涓峾娌璋亅楝紎鎬庝箞).*(鐥厊鍙兘|鐭ラ亾|浜嗚В|娓呮|鎳倈鏄庣櫧|纭|纭畾|鏅撳緱|鐭ユ檽|璁ゅ緱|璇嗗緱|鍗拌薄|鐔熸倝|璁皘浼殀鍏冲績|鍏虫敞|娉ㄦ剰|鍛婅瘔|閫氱煡|鍚�)", - }, - ], - }; - }, - - created() {}, - - methods: { - onSubmit() { - console.log("submit!"); - }, - deletei(index) { - console.log(index); - this.deployList.splice(index, 1); - }, - addzbiao() { - this.$router.go(-1); - }, - }, -}; -</script> - -<style lang="scss" scoped> -.top-text { - margin: 15px; - margin-top: 0; - padding: 10px; - background: #f2f5fc; - 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); -} -.basic { - height: 50px; - margin: 15px; - margin-bottom: 0; - padding: 0 20px 20px 20px; - line-height: 50px; - background: #92c5f0; -} -.headline { - display: flex; - height: 50px; - margin: 15px; - margin-bottom: 0; - padding: 0 20px 20px 20px; - line-height: 50px; - background: #92c5f0; - justify-content: space-between; - span { - margin-left: 20px; - color: #fa3a3a; - font-weight: 600; - } -} -.headlinetwo { - display: flex; - height: 50px; - margin: 15px; - margin-bottom: 0; - padding: 0 20px 20px 20px; - line-height: 50px; - justify-content: space-between; -} -</style> diff --git a/src/views/shortmessage/messagebank/index.vue b/src/views/shortmessage/messagebank/index.vue deleted file mode 100644 index 00a10f8..0000000 --- a/src/views/shortmessage/messagebank/index.vue +++ /dev/null @@ -1,936 +0,0 @@ -<template> - <div class="Questionnairemanagement"> - <!-- 宸︿晶鏍� --> - <div class="sidecolumn"> - <div class="notebuttom" @click="handleAdd"> - <i class="el-icon-chat-dot-square" />鍙戠煭淇� - </div> - <el-divider></el-divider> - <div class="notestate"> - <div class="state-text">鐭俊鐘舵��</div> - <div - :class="classestag == 1 ? 'state-lines' : 'state-line'" - @click="completefn" - > - <div class="value-left"><i class="el-icon-menu" />鍏ㄩ儴</div> - <div class="quantityq">22</div> - </div> - <div - :class="classestag == 2 ? 'state-lines' : 'state-line'" - @click="succeedfn" - > - <div class="value-left"> - <i class="el-icon-circle-check" />鍙戦�佹垚鍔� - </div> - <div class="quantitycg">22</div> - </div> - <div - :class="classestag == 3 ? 'state-lines' : 'state-line'" - @click="losefn" - > - <div class="value-left"> - <i class="el-icon-warning-outline" />鍙戦�佸け璐� - </div> - <div class="quantitysb">22</div> - </div> - <div - :class="classestag == 4 ? 'state-lines' : 'state-line'" - @click="awaitfn" - > - <div class="value-left"><i class="el-icon-s-help" />寰呭彂閫�</div> - <div class="quantityd">22</div> - </div> - </div> - </div> - <!-- 鍙充晶鏁版嵁 --> - <div class="leftvlue"> - <div class="leftvlue-top">鐭俊璇︽儏({{ total }})</div> - <div class="leftvlue-bg"> - <el-row :gutter="20"> - <!--鐢ㄦ埛鏁版嵁--> - <el-col :span="24" :xs="24"> - <el-form - :model="queryParams" - ref="queryForm" - size="small" - :inline="true" - v-show="showSearch" - label-width="98px" - > - <el-form-item label="鎵嬫満鍙�" prop="userName"> - <el-input - v-model="queryParams.userName" - placeholder="璇疯緭鍏�" - clearable - style="width: 200px" - @keyup.enter.native="handleQuery" - /> - </el-form-item> - <el-form-item label="涓婁紶鏃ユ湡"> - <el-date-picker - v-model="dateRange" - style="width: 240px" - value-format="yyyy-MM-dd" - type="daterange" - range-separator="-" - start-placeholder="寮�濮嬫棩鏈�" - end-placeholder="缁撴潫鏃ユ湡" - ></el-date-picker> - </el-form-item> - <el-form-item label="鐭俊绫诲瀷" prop="status"> - <el-select v-model="queryParams.status" placeholder="璇烽�夋嫨"> - <el-option - v-for="item in languagelist" - :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="queryParams.statusa" placeholder="璇烽�夋嫨"> - <el-option - v-for="item in qyoptions" - :key="item.value" - :label="item.label" - :value="item.value" - > - </el-option> - </el-select> - </el-form-item> - - <el-form-item> - <el-button - type="primary" - icon="el-icon-search" - size="medium" - @click="handleQuery" - >鎼滅储</el-button - > - <el-button - icon="el-icon-refresh" - size="medium" - @click="resetQuery" - >閲嶇疆</el-button - > - </el-form-item> - </el-form> - - <el-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="danger" - plain - icon="el-icon-delete" - size="medium" - :disabled="multiple" - @click="handleDelete" - v-hasPermi="['system:user:remove']" - >鍒犻櫎</el-button - > - </el-col> - - <!-- <el-col :span="1.5"> </el-col> --> - </el-row> - <el-table - v-loading="loading" - :data="userList" - :border="true" - @selection-change="handleSelectionChange" - > - <el-table-column type="selection" width="50" align="center" /> - <el-table-column - label="搴忓彿" - align="center" - key="userId" - prop="userId" - /> - <el-table-column - label="鎵嬫満鍙风爜" - align="center" - key="userName" - prop="userName" - :show-overflow-tooltip="true" - /> - <el-table-column - label="绫诲瀷" - align="center" - key="nickName" - prop="nickName" - :show-overflow-tooltip="true" - /> - - <el-table-column - label="鍙戦�佷汉" - align="center" - key="transmitleg" - prop="transmitleg" - /><el-table-column - label="鎺ユ敹浜�" - align="center" - key="bphonenumber" - prop="bphonenumber" - width="120" - /> - <el-table-column - label="涓婁紶鏃堕棿" - align="center" - prop="createTime" - width="160" - > - <template slot-scope="scope"> - <span>{{ formatTime(scope.row.createTime) }}</span> - </template> </el-table-column - ><el-table-column - label="鍙戦�佹椂闂�" - align="center" - prop="createTime" - width="160" - > - <template slot-scope="scope"> - <span>{{ formatTime(scope.row.createTime) }}</span> - </template> - </el-table-column> - <el-table-column - label="鍙戦�佸唴瀹�" - align="center" - key="sendvalue" - prop="sendvalue" - width="300" - :show-overflow-tooltip="true" - /> - <el-table-column - label="鍙戦�佺姸鎬�" - align="center" - key="state" - prop="state" - > - <template slot-scope="scope"> - <div - v-if="scope.row.state == 1" - style="color: rgb(58, 250, 144)" - > - <i class="el-icon-check"></i> - </div> - <div - v-else-if="scope.row.state == 2" - style="color: rgb(250, 96, 58)" - > - <i class="el-icon-check"></i> - </div> - </template> - </el-table-column> - - <el-table-column - label="鎿嶄綔" - align="center" - 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-outline"></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="title" - :visible.sync="indexopen" - width="900px" - append-to-body - > - <el-form - ref="form" - :model="indexform" - :rules="rules" - label-width="100px" - > - <el-row> - <el-col :span="24"> - <el-form-item label="璇█" prop="deptId"> - <el-select - v-model="indexform.language" - placeholder="璇烽�夋嫨璇█" - > - <el-option - v-for="index in languagelist" - :key="index.value" - :label="index.label" - :value="index.value" - ></el-option> - </el-select> - </el-form-item> - </el-col> - </el-row> - <el-row> - <el-col :span="24"> - <el-form-item label="鐭俊涓绘棬" prop="nickName"> - <el-input - v-model="indexform.nickName" - placeholder="璇疯緭鍏ョ煭淇′富鏃�" - maxlength="80" - /> - </el-form-item> </el-col - ></el-row> - <el-row> - <el-col :span="24"> - <div - style="display: flex; margin-left: 100px; margin-bottom: 10px" - > - <div class="tsgname" @click="tsgnameto()">鍖婚櫌鍚嶇О</div> - <div class="tsgname" @click="tsgnameto()">鍖婚櫌鐢佃瘽</div> - <div class="tsgname" @click="tsgnameto()">鍖婚櫌濮撳悕</div> - <div class="tsgname" @click="tsgnameto()">闅忚濮撳悕</div> - <div class="tsgname" @click="tsgnameto()">闅忚鐢佃瘽</div> - <div class="tsgname" @click="tsgnameto()">鎬у埆</div> - <div class="tsgname" @click="tsgnameto()">骞撮緞</div> - <div class="tsgname" @click="tsgnameto()">鍦板潃</div> - </div> - </el-col></el-row - > - <el-row> - <el-col :span="24"> - <el-form-item label="鐭俊鏂囨湰" prop="verbaltricktext"> - <el-input v-model="indexform.userName" maxlength="30" /> - </el-form-item> </el-col - ></el-row> - <el-row> - <el-col :span="24"> - <el-form-item label="鐭俊璇煶" prop="verbaltrickyy"> - <el-input v-model="indexform.userName" maxlength="30" /> - </el-form-item> </el-col - ></el-row> - <el-row> - <el-col :span="24"> - <el-form-item label="鏃犲尮閰嶆枃鏈�" prop="matchtext"> - <el-input v-model="indexform.userName" maxlength="30" /> - </el-form-item> </el-col - ></el-row> - <el-row> - <el-col :span="24"> - <el-form-item label="鏃犲尮閰嶈闊�" prop="matchyy"> - <el-input v-model="indexform.userName" maxlength="30" /> - </el-form-item> </el-col - ></el-row> - <el-row> - <el-col :span="24"> - <el-form-item label="鏃犲0鏂囨湰" prop="silenttext"> - <el-input v-model="indexform.userName" maxlength="30" /> - </el-form-item> </el-col - ></el-row> - <el-row> - <el-col :span="24"> - <el-form-item label="鏃犲0璇煶" prop="silentyy"> - <el-input v-model="indexform.userName" maxlength="30" /> - </el-form-item> </el-col - ></el-row> - <el-row> - <el-col :span="24"> - <el-form-item label="閫氱敤搴撴枃鏈�" prop="librarytext"> - <el-input v-model="indexform.userName" maxlength="30" /> - </el-form-item> </el-col - ></el-row> - <el-row> - <el-col :span="24"> - <el-form-item label="閫氱敤搴撹闊�" prop="libraryy"> - <el-input v-model="indexform.userName" maxlength="30" /> - </el-form-item> </el-col - ></el-row> - <el-row> - <el-col :span="24"> - <el-form-item label="鍚笉娓呮枃鏈�" prop="vaguetext"> - <el-input v-model="indexform.userName" maxlength="30" /> - </el-form-item> </el-col - ></el-row> - <el-row> - <el-col :span="24"> - <el-form-item label="鍚笉娓呰闊�" prop="vagueyy"> - <el-input v-model="indexform.userName" maxlength="30" /> - </el-form-item> </el-col - ></el-row> - - <el-row> - <el-col :span="24"> - <el-form-item label="鐭俊瑙勫垯" prop="email"> - <el-input - v-model="indexform.remark" - type="textarea" - placeholder="璇疯緭鍏ュ唴瀹�" - ></el-input> - </el-form-item> - </el-col> - </el-row> - <el-row> - <el-col :span="24"> - <el-form-item label="鏄惁鍚敤"> - <el-radio-group v-model="indexform.qystatus"> - <el-radio - v-for="item in qyoptions" - :key="item.value" - :label="item.value" - >{{ item.label }}</el-radio - > - </el-radio-group> - </el-form-item> - </el-col> - </el-row> - - <el-row> - <el-col :span="24"> - <el-form-item label="澶囨敞"> - <el-input - v-model="indexform.remark" - type="textarea" - placeholder="璇疯緭鍏ュ唴瀹�" - ></el-input> - </el-form-item> - </el-col> - </el-row> - </el-form> - <div slot="footer" class="dialog-footer"> - <el-button type="primary" @click="submitForm">纭� 瀹�</el-button> - <el-button @click="cancel">鍙� 娑�</el-button> - </div> - </el-dialog> - </div> - </div> - <!-- 娣诲姞绫诲埆寮规 --> - <el-dialog - :title="amendtag ? '淇敼绫诲埆' : '鏂板绫诲埆'" - width="30%" - :visible.sync="dialogFormVisible" - > - <el-form :model="classifyform"> - <el-form-item - :label="amendtag ? '璇疯緭鍏ユ柊鐨勭被鍒悕绉�' : '璇疯緭鍏ョ被鍒悕绉�'" - > - <el-input - v-model="classifyform.categoryname" - autocomplete="off" - ></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="submitsidecolumn">纭� 瀹�</el-button> - </div> - </el-dialog> - <!-- 鍒犻櫎绫诲埆纭妗� --> - <el-dialog title="璀﹀憡" :visible.sync="deleteVisible" width="40%"> - <div style="font-size: 20px; color: rgb(247, 76, 76)"> - 鏄惁纭鍒犻櫎鍒嗙被锛歔<span>{{ deletefenl }}</span - >]? - </div> - <div style="font-size: 20px"> - 姝ゆ搷浣滀細灏嗚绫诲埆涓嬫墍鏈夋ā鍧楄浆绉昏嚦[鏈垎绫籡锛屾槸鍚︾户缁垹闄ゆ鍒嗙被锛� - </div> - <span slot="footer" class="dialog-footer"> - <el-button @click="deleteVisible = false">鍙� 娑�</el-button> - <el-button type="primary" @click="deletefenlei">纭� 瀹�</el-button> - </span> - </el-dialog> - </div> -</template> - -<script> -import { - listUser, - getUser, - delUser, - addUser, - updateUser, -} from "@/api/system/user"; -import { getToken } from "@/utils/auth"; -import Treeselect from "@riophae/vue-treeselect"; -import "@riophae/vue-treeselect/dist/vue-treeselect.css"; -export default { - name: "questionnaire", - dicts: ["sys_normal_disable", "sys_user_sex"], - components: { Treeselect }, - data() { - return { - // 閬僵灞� - loading: false, - // 閫変腑鏁扮粍 - ids: [], - // 闈炲崟涓鐢� - single: true, - // 闈炲涓鐢� - multiple: true, - // 鏄剧ず鎼滅储鏉′欢 - showSearch: true, - // 鎬绘潯鏁� - total: 0, - classestag: 1, //绫诲埆鏍囪瘑 - namequestionnaire: "", - haoquestionnaire: "", - idds: "", - amendtag: false, //鏄惁淇敼绫诲埆 - dialogFormVisible: false, //淇敼娣诲姞绫诲埆寮规 - deleteVisible: false, //鍒嗙被鍒犻櫎寮规 - deletefenl: "楂樿鍘�", //鍒犻櫎椤� - classifyform: { - categoryname: "", - }, //绫诲埆琛ㄥ崟 - // 琛ㄦ牸鏁版嵁 - userList: [ - { - userid: 1, - userName: "琛�甯歌銆佸翱甯歌", - nickName: "璐", - aphonenumber: "(?!涓�.*|娌�.*|鏈�.*)^.*([璐钩鍑]|璐|璇勫|璇勫),10", - bphonenumber: "閫夋嫨", - cphonenumber: "鏅�氳瘽", - status: "0", - }, - ], - // 寮瑰嚭灞傛爣棰� - title: "", - // 鏄惁鏄剧ず寮瑰嚭灞� - open: false, - // 鏃ユ湡鑼冨洿 - dateRange: [], - // 宀椾綅閫夐」 - postOptions: [], - // 瑙掕壊閫夐」 - roleOptions: [], - // 娣诲姞銆佷慨鏀瑰弬鏁� - indexform: {}, - numberlb: 22, - numberlbs: 2, - sidecolumnform: {}, //娣诲姞绫诲埆琛ㄥ崟 - dialogFormVisible: false, //娣诲姞绫诲埆寮规 - sidecolumnval: "", //绫诲埆鎼滅储 - indexopen: false, //寮规灞曠ず鍚� - propss: { multiple: true }, - languagelist: [ - { - value: 1, - label: "鍏ㄩ儴", - }, - { - value: 2, - label: "鍑洪櫌鐥呮儏闅忚", - }, - { - value: 3, - label: "璇煶闅忚鍚庣煭淇�", - }, - { - value: 4, - label: "鍖荤敓闅忚鍚庣煭淇�", - }, - ], //璇█鍒楄〃 - qyoptions: [ - { - value: 1, - label: "鍚敤", - }, - { - value: 2, - label: "鍏抽棴", - }, - ], - //绫诲埆鍒楄〃 - editableTabs: [ - { - title: "鐭俊鍒嗙被涓�", - number: "1", - }, - { - title: "鐭俊鍒嗙被浜�", - number: "2", - }, - { - title: "鐭俊鍒嗙被涓�", - number: "2", - }, - { - title: "鐭俊鍒嗙被鍥�", - number: "2", - }, - { - title: "鐭俊鍒嗙被浜�", - number: "2", - }, - ], - // 鏌ヨ鍙傛暟 - queryParams: { - pageNum: 1, - pageSize: 10, - userName: undefined, - phonenumber: undefined, - status: undefined, - deptId: undefined, - IDnumber: undefined, - }, - // 琛ㄥ崟鏍¢獙 - rules: { - userName: [ - { required: true, message: "涓绘棬涓嶈兘涓虹┖", trigger: "blur" }, - { - min: 2, - max: 20, - message: "鐢ㄦ埛鍚嶇О闀垮害蹇呴』浠嬩簬 2 鍜� 20 涔嬮棿", - trigger: "blur", - }, - ], - nickName: [ - { required: true, message: "鐢ㄦ埛鏄电О涓嶈兘涓虹┖", trigger: "blur" }, - ], - password: [ - { required: true, message: "鐢ㄦ埛瀵嗙爜涓嶈兘涓虹┖", trigger: "blur" }, - { - min: 5, - max: 20, - message: "鐢ㄦ埛瀵嗙爜闀垮害蹇呴』浠嬩簬 5 鍜� 20 涔嬮棿", - trigger: "blur", - }, - ], - email: [ - { - type: "email", - message: "璇疯緭鍏ユ纭殑閭鍦板潃", - trigger: ["blur", "change"], - }, - ], - phonenumber: [ - { - pattern: /^1[3|4|5|6|7|8|9][0-9]\d{8}$/, - message: "璇疯緭鍏ユ纭殑鎵嬫満鍙风爜", - trigger: "blur", - }, - ], - IDnumber: [ - { - pattern: - /^\d{6}((((((19|20)\d{2})(0[13-9]|1[012])(0[1-9]|[12]\d|30))|(((19|20)\d{2})(0[13578]|1[02])31)|((19|20)\d{2})02(0[1-9]|1\d|2[0-8])|((((19|20)([13579][26]|[2468][048]|0[48]))|(2000))0229))\d{3})|((((\d{2})(0[13-9]|1[012])(0[1-9]|[12]\d|30))|((\d{2})(0[13578]|1[02])31)|((\d{2})02(0[1-9]|1\d|2[0-8]))|(([13579][26]|[2468][048]|0[048])0229))\d{2}))(\d|X|x)$/, - message: "璇疯緭鍏ユ纭殑韬唤璇佸彿鐮�", - trigger: "blur", - }, - ], - }, - }; - }, - watch: {}, - created() { - this.getList(); - }, - - methods: { - /** 鏌ヨ鐢ㄦ埛鍒楄〃 */ - getList() { - // this.loading = true; - listUser().then((response) => { - console.log(response); - console.log(this.userList); - }); - }, - // const { pageNum, pageSize, ...params } = this.queryParams; - submitsidecolumn() {}, - deletefenlei() {}, - // 渚挎嵎鏍囩 - tsgnameto() {}, - // 鍒囨崲鍏变韩/鏈湴 - tophandleClick() {}, - // 鍙栨秷鎸夐挳 - cancel() { - this.indexopen = false; - this.reset(); - }, - - // 琛ㄥ崟閲嶇疆 - reset() { - this.form = { - userId: undefined, - deptId: undefined, - userName: undefined, - nickName: undefined, - password: undefined, - phonenumber: undefined, - email: undefined, - sex: undefined, - status: "0", - remark: undefined, - postIds: [], - roleIds: [], - }; - this.resetForm("form"); - }, - /** 鎼滅储鎸夐挳鎿嶄綔 */ - handleQuery() { - this.queryParams.pageNum = 1; - this.getList(); - }, - /** 閲嶇疆鎸夐挳鎿嶄綔 */ - resetQuery() { - this.dateRange = []; - this.resetForm("queryForm"); - this.queryParams.deptId = undefined; - this.$refs.tree.setCurrentKey(null); - this.handleQuery(); - }, - // 澶氶�夋閫変腑鏁版嵁 - handleSelectionChange(selection) { - this.ids = selection.map((item) => item.userId); - this.single = selection.length != 1; - this.multiple = !selection.length; - }, - /** 鏂板鎸夐挳鎿嶄綔 */ - handleAdd() { - this.$router.push("/shortmessage/messagebank/compile/"); - }, - /** 淇敼鎸夐挳鎿嶄綔 */ - handleUpdate(row) { - this.reset(); - this.title = "淇敼鐭俊"; - this.indexopen = true; - }, - // 淇敼鍒嗙被寮规 - popoveramend(tagcategoryid) { - this.idds = tagcategoryid; - this.amendtag = true; - this.dialogFormVisible = true; - }, - - /** 鏇存柊/淇敼鎻愪氦鎸夐挳 */ - submitForm: function () { - this.$refs["form"].validate((valid) => { - if (valid) { - if (this.form.userId != undefined) { - updateUser(this.form).then((response) => { - this.$modal.msgSuccess("淇敼鎴愬姛"); - this.indexopen = false; - this.getList(); - }); - } else { - addUser(this.form).then((response) => { - this.$modal.msgSuccess("鏂板鎴愬姛"); - this.indexopen = false; - this.getList(); - }); - } - } - }); - }, - /** 鍒犻櫎鎸夐挳鎿嶄綔 */ - handleDelete(row) { - const userIds = row.userId || this.ids; - this.$modal - .confirm('鏄惁纭鍒犻櫎鐢ㄦ埛缂栧彿涓�"' + userIds + '"鐨勬暟鎹」锛�') - .then(function () { - return delUser(userIds); - }) - .then(() => { - this.getList(); - this.$modal.msgSuccess("鍒犻櫎鎴愬姛"); - }) - .catch(() => {}); - }, - // 鍒囨崲鍏ㄩ儴绫诲埆 - completefn() { - this.classestag = 1; - }, - // 鍒囨崲鎴愬姛绫诲埆 - succeedfn() { - this.classestag = 2; - }, - // 鍒囨崲澶辫触绫诲埆 - losefn() { - this.classestag = 3; - }, - // 鍒囨崲寰呭彂閫佺被鍒� - awaitfn() { - this.classestag = 4; - }, - }, -}; -</script> - -<style lang="scss" scoped> -.Questionnairemanagement { - display: flex; -} -.sidecolumn { - width: 350px; - min-height: 100vh; - text-align: center; - // display: flex; - margin-top: 20px; - margin: 20px; - padding: 10px; - padding-top: 20px; - text-align: center; - background: #dfeffd; - 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); - .notebuttom { - height: 35px; - background: #85c046; - color: #ffff; - font-size: 20px; - line-height: 35px; - cursor: pointer; - border-radius: 3px; - } - .notestate { - font-size: 20px; - .state-text { - height: 40px; - } - .state-line { - display: flex; - height: 40px; - align-items: center; - padding: 10px 10px; - cursor: pointer; - justify-content: space-between; - } - .state-lines { - display: flex; - height: 40px; - align-items: center; - padding: 10px 10px; - background: #88abfc; - color: #fff; - cursor: pointer; - justify-content: space-between; - } - .state-line:hover { - background: #88abfc; - } - .quantityq { - height: 30px; - line-height: 30px; - padding: 0 5px; - border-radius: 10px; - color: #fff; - background: #9eb8ff; - } - .quantitycg { - height: 30px; - line-height: 30px; - padding: 0 5px; - border-radius: 10px; - color: #fff; - - background: #48cf2d; - } - .quantitysb { - height: 30px; - line-height: 30px; - padding: 0 5px; - border-radius: 10px; - color: #fff; - - background: #ce513b; - } - .quantityd { - height: 30px; - line-height: 30px; - padding: 0 5px; - border-radius: 10px; - color: #fff; - - background: #3fbff1; - } - } -} -[class^="el-icon-"], -[class*=" el-icon-"] { - font-weight: 600; - font-size: 20px; -} -.tsgname { - width: 90px; - margin-right: 10px; - text-align: center; - cursor: pointer; - height: 40px; - line-height: 40px; - background: #7799fa; - color: #ffff; - font-size: 18px; - border-radius: 5px; -} -.tsgname:hover { - background: #3366f5; -} -::v-deep.el-tabs--left, -.el-tabs--right { - overflow: hidden; - align-items: center; - display: flex; -} -::v-deep.el-input--medium .el-input__inner { - height: 40px !important; -} -::v-deep.el-tabs--right .el-tabs__active-bar.is-right { - height: 40px; - width: 5px; - left: 0; -} -::v-deep.el-tabs--right .el-tabs__item.is-right { - display: block; - font-size: 20px; -} -.leftvlue { - // display: flex; - // flex: 1; - width: 80%; - margin-top: 20px; - // margin: 20px; - padding: 30px; - background: #ffff; - border: 1px solid #dcdfe6; - -webkit-box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.12), - 0 0 6px 0 rgba(0, 0, 0, 0.04); - .mulsz { - font-size: 20px; - } -} -.button-text { - color: rgb(70, 204, 238); -} -.button-bji { - color: rgb(39, 167, 67); -} -.button-textxg { - color: rgb(35, 81, 233); -} -.button-textsc { - color: rgb(235, 23, 23); -} -</style> diff --git a/src/views/shortmessage/taglibrary/index.vue b/src/views/shortmessage/taglibrary/index.vue deleted file mode 100644 index ea9a5c1..0000000 --- a/src/views/shortmessage/taglibrary/index.vue +++ /dev/null @@ -1,711 +0,0 @@ -<template> - <div class="app-container"> - <el-row :gutter="20"> - <!--鐢ㄦ埛鏁版嵁--> - <el-col :span="24" :xs="24"> - <el-form - :model="topqueryParams" - ref="queryForm" - size="small" - :inline="true" - v-show="showSearch" - label-width="98px" - > - <el-form-item label="鏍囩鍚嶇О" prop="userName"> - <el-input - v-model="topqueryParams.userName" - placeholder="璇疯緭鍏�" - clearable - style="width: 200px" - @keyup.enter.native="handleQuery" - /> - </el-form-item> - - <el-form-item> - <el-button - type="primary" - icon="el-icon-search" - size="medium" - @click="handleQuery" - >鎼滅储</el-button - > - <el-button icon="el-icon-refresh" size="medium" @click="resetQuery" - >閲嶇疆</el-button - > - </el-form-item> - </el-form> - <el-divider></el-divider> - <el-row :gutter="10" class="mb8"> - <el-col :span="1.5"> - <el-button - type="primary" - plain - icon="el-icon-plus" - size="medium" - @click="handleAdd" - v-hasPermi="['system:user:add']" - >鏂板</el-button - > - </el-col> - <el-col :span="1.5"> - <el-button - type="success" - plain - icon="el-icon-edit" - size="medium" - :disabled="single" - @click="handleUpdate" - v-hasPermi="['system:user:edit']" - >淇敼</el-button - > - </el-col> - <el-col :span="1.5"> - <el-button - type="danger" - plain - icon="el-icon-delete" - size="medium" - :disabled="multiple" - @click="handleDelete" - v-hasPermi="['system:user:remove']" - >鍒犻櫎</el-button - > - </el-col> - <el-col :span="19"> - <div class="documentf"> - <div class="document"> - <el-button - type="warning" - plain - icon="el-icon-download" - size="medium" - @click="handleExport" - v-hasPermi="['system:user:export']" - >瀵煎嚭</el-button - > - </div> - </div> - </el-col> - <!-- <el-col :span="1.5"> </el-col> --> - </el-row> - <!-- <right-toolbar - :showSearch.sync="showSearch" - @queryTable="getList" - :columns="columns" - ></right-toolbar> --> - <el-table - v-loading="loading" - :data="userList" - @selection-change="handleSelectionChange" - > - <el-table-column type="selection" width="50" align="center" /> - <el-table-column - label="搴忓彿" - align="center" - key="userId" - prop="userId" - /> - - <el-table-column - label="鏍囩鍚嶇О" - align="center" - key="userName" - prop="userName" - :show-overflow-tooltip="true" - /> - <el-table-column - label="璐﹀彿" - align="center" - key="types" - prop="types" - /> - <el-table-column - label="瀵嗙爜" - align="center" - key="nickName" - prop="nickName" - /> - <el-table-column - label="澶囨敞" - align="center" - key="phonenumber" - prop="phonenumber" - width="120" - /> - <el-table-column label="鏄惁鍚敤" align="center" key="status"> - <template slot-scope="scope"> - <el-switch - v-model="scope.row.status" - active-value="0" - inactive-value="1" - @change="handleStatusChange(scope.row)" - ></el-switch> - </template> - </el-table-column> - <el-table-column - label="鏈�杩戞洿鏂版棩鏈�" - align="center" - prop="createTime" - width="160" - > - <template slot-scope="scope"> - <span>{{ formatTime(scope.row.createTime) }}</span> - </template> - </el-table-column> - <el-table-column - label="鎿嶄綔" - align="center" - width="160" - class-name="small-padding fixed-width" - > - <template slot-scope="scope"> - <el-button - size="medium" - type="text" - icon="el-icon-edit" - @click="handleUpdate(scope.row)" - v-hasPermi="['system:user:edit']" - >缂栬緫</el-button - > - <el-button - size="medium" - type="text" - @click="handleDelete(scope.row)" - ><span style="color: rgb(236, 55, 55)" - ><i class="el-icon-delete-solid"></i>鍒犻櫎</span - ></el-button - > - </template> - </el-table-column> - </el-table> - - <pagination - v-show="total > 0" - :total="total" - :page.sync="topqueryParams.pageNum" - :limit.sync="topqueryParams.pageSize" - @pagination="getList" - /> - </el-col> - </el-row> - - <!-- 娣诲姞鎴栦慨鏀规爣绛鹃厤缃璇濇 --> - <el-dialog - :title="title" - :visible.sync="addalteropen" - width="900px" - append-to-body - > - <el-form ref="form" :model="form" :rules="rules" label-width="100px"> - <el-row> - <el-col :span="12"> - <el-form-item label="鏍囩鍚嶇О" prop="nickName"> - <el-input - v-model="form.nickName" - placeholder="璇疯緭鍏�" - maxlength="30" - /> - </el-form-item> - </el-col> - </el-row> - <el-row> - <el-col :span="12"> - <el-form-item label="鐭俊骞冲彴璐﹀彿" prop="email"> - <el-input - v-model="form.nickName" - placeholder="璇疯緭鍏�" - maxlength="30" - /> - </el-form-item> - </el-col> - </el-row> - <el-row> - <el-col :span="12"> - <el-form-item label="鐭俊骞冲彴瀵嗙爜" prop="email"> - <el-input - v-model="form.nickName" - placeholder="璇疯緭鍏�" - maxlength="30" - /> - </el-form-item> - </el-col> - </el-row> - <el-row> - <el-col :span="12"> - <el-form-item label="鏄惁鍚敤"> - <el-radio-group v-model="form.qystatus"> - <el-radio - v-for="item in qyoptions" - :key="item.value" - :label="item.value" - >{{ item.label }}</el-radio - > - </el-radio-group> - </el-form-item> - </el-col> - </el-row> - <el-row> - <el-col :span="24"> - <el-form-item label="澶囨敞"> - <el-input - v-model="form.remark" - type="textarea" - placeholder="璇疯緭鍏ュ唴瀹�" - ></el-input> - </el-form-item> - </el-col> - </el-row> - </el-form> - <div slot="footer" class="dialog-footer"> - <el-button type="primary" @click="submitForm">纭� 瀹�</el-button> - <el-button @click="cancel">鍙� 娑�</el-button> - </div> - </el-dialog> - </div> -</template> - -<script> -import { - listUser, - getUser, - delUser, - addUser, - updateUser, - resetUserPwd, - changeUserStatus, -} from "@/api/system/user"; -import Treeselect from "@riophae/vue-treeselect"; -import "@riophae/vue-treeselect/dist/vue-treeselect.css"; - -export default { - name: "User", - dicts: ["sys_normal_disable", "sys_user_sex"], - components: { Treeselect }, - data() { - return { - // 閬僵灞� - loading: true, - // 閫変腑鏁扮粍 - ids: [], - // 闈炲崟涓鐢� - single: true, - // 闈炲涓鐢� - multiple: true, - // 鏄剧ず鎼滅储鏉′欢 - showSearch: true, - // 鎬绘潯鏁� - total: 0, - // 鐢ㄦ埛琛ㄦ牸鏁版嵁 - userList: null, - // 寮瑰嚭灞傛爣棰� - title: "", - // 鏄惁鏄剧ず淇敼銆佹坊鍔犲脊鍑哄眰 - addalteropen: false, - // 閮ㄩ棬鍚嶇О - deptName: undefined, - // 榛樿瀵嗙爜 - initPassword: undefined, - // 鏃ユ湡鑼冨洿 - dateRange: [], - // 宀椾綅閫夐」 - postOptions: [], - // 瑙掕壊閫夐」 - roleOptions: [], - dynamicTags: ["閫夐」涓�", "閫夐」浜�", "閫夐」涓�"], //閫夐」 - inputVisible: false, - inputValue: "", - previewVisible: false, //鏍囩棰勮寮规 - radio: "", - radios: [], - previewtype: 2, //棰勮鏍囩绫诲瀷 - total: 0, // 鎬绘潯鏁� - ImportQuantity: 999, //瀵兼爣绛炬暟閲� - //棰勮鏍囩淇℃伅 - previewvalue: { - username: "杩欎釜鍖荤敓瀵逛綘鎬庝箞鏍�", - }, - // 琛ㄥ崟鍙傛暟 - form: { - phonenumber: "", - totagid: "", - types: "", - nickName: "", - qystatus: "", - btstatus: "", - }, - - // 鏌ヨ鍙傛暟 - topqueryParams: { - pageNum: 1, - }, - propss: { multiple: true }, - optionss: [ - { - value: 1, - label: "涓滃崡", - }, - { - value: 2, - label: "瑗垮寳", - }, - { - value: 3, - label: "浠ㄤ花浠�", - }, - { - value: 4, - label: "鍏椋掗", - }, - ], - qyoptions: [ - { - value: 1, - label: "鍚敤", - }, - { - value: 2, - label: "鍏抽棴", - }, - ], - btoptions: [ - { - value: 1, - label: "蹇呭~", - }, - { - value: 2, - label: "闈炲繀濉�", - }, - ], - topicoptions: [ - { - value: 1, - label: "鍗曢��", - }, - { - value: 2, - label: "澶氶��", - }, - { - value: 3, - label: "濉┖", - }, - ], - // 琛ㄥ崟鏍¢獙 - rules: { - userName: [ - { required: true, message: "鐢ㄦ埛鍚嶇О涓嶈兘涓虹┖", trigger: "blur" }, - { - min: 2, - max: 20, - message: "鐢ㄦ埛鍚嶇О闀垮害蹇呴』浠嬩簬 2 鍜� 20 涔嬮棿", - trigger: "blur", - }, - ], - nickName: [ - { required: true, message: "鐢ㄦ埛鏄电О涓嶈兘涓虹┖", trigger: "blur" }, - ], - password: [ - { required: true, message: "鐢ㄦ埛瀵嗙爜涓嶈兘涓虹┖", trigger: "blur" }, - { - min: 5, - max: 20, - message: "鐢ㄦ埛瀵嗙爜闀垮害蹇呴』浠嬩簬 5 鍜� 20 涔嬮棿", - trigger: "blur", - }, - ], - email: [ - { - type: "email", - message: "璇疯緭鍏ユ纭殑閭鍦板潃", - trigger: ["blur", "change"], - }, - ], - phonenumber: [ - { - pattern: /^1[3|4|5|6|7|8|9][0-9]\d{8}$/, - message: "璇疯緭鍏ユ纭殑鎵嬫満鍙风爜", - trigger: "blur", - }, - ], - IDnumber: [ - { - pattern: - /^\d{6}((((((19|20)\d{2})(0[13-9]|1[012])(0[1-9]|[12]\d|30))|(((19|20)\d{2})(0[13578]|1[02])31)|((19|20)\d{2})02(0[1-9]|1\d|2[0-8])|((((19|20)([13579][26]|[2468][048]|0[48]))|(2000))0229))\d{3})|((((\d{2})(0[13-9]|1[012])(0[1-9]|[12]\d|30))|((\d{2})(0[13578]|1[02])31)|((\d{2})02(0[1-9]|1\d|2[0-8]))|(([13579][26]|[2468][048]|0[048])0229))\d{2}))(\d|X|x)$/, - message: "璇疯緭鍏ユ纭殑韬唤璇佸彿鐮�", - trigger: "blur", - }, - ], - }, - }; - }, - watch: {}, - created() { - this.getList(); - this.getConfigKey("sys.user.initPassword").then((response) => { - this.initPassword = response.msg; - }); - }, - methods: { - /** 鏌ヨ鏍囩鍒楄〃 */ - getList() { - this.loading = true; - listUser(this.addDateRange(this.topqueryParams, this.dateRange)).then( - (response) => { - this.userList = response.rows; - this.total = response.total; - this.loading = false; - } - ); - }, - - // 鏍囩鐘舵�佷慨鏀� - handleStatusChange(row) { - let text = row.status === "0" ? "鍚敤" : "鍋滅敤"; - this.$modal - .confirm('纭瑕�"' + text + '""' + row.userName + '"鐢ㄦ埛鍚楋紵') - .then(function () { - return changeUserStatus(row.userId, row.status); - }) - .then(() => { - this.$modal.msgSuccess(text + "鎴愬姛"); - }) - .catch(function () { - row.status = row.status === "0" ? "1" : "0"; - }); - }, - // 鍙栨秷鎸夐挳 - cancel() { - this.addalteropen = false; - this.reset(); - }, - // 琛ㄥ崟閲嶇疆 - reset() { - this.form = { - userId: undefined, - deptId: undefined, - userName: undefined, - nickName: undefined, - password: undefined, - phonenumber: undefined, - email: undefined, - sex: undefined, - status: "0", - remark: undefined, - postIds: [], - roleIds: [], - }; - this.resetForm("form"); - }, - /** 鎼滅储鎸夐挳鎿嶄綔 */ - handleQuery() { - this.topqueryParams.pageNum = 1; - this.getList(); - }, - /** 閲嶇疆鎸夐挳鎿嶄綔 */ - resetQuery() { - this.dateRange = []; - this.resetForm("queryForm"); - this.topqueryParams.deptId = undefined; - this.$refs.tree.setCurrentKey(null); - this.handleQuery(); - }, - // 澶氶�夋閫変腑鏁版嵁 - handleSelectionChange(selection) { - this.ids = selection.map((item) => item.userId); - this.single = selection.length != 1; - this.multiple = !selection.length; - }, - //鍒犻櫎閫夐」 - handleClose(tag) { - this.dynamicTags.splice(this.dynamicTags.indexOf(tag), 1); - }, - //瑙﹀彂鏂板杈撳叆 - showInput() { - this.inputVisible = true; - this.$nextTick((_) => { - this.$refs.saveTagInput.$refs.input.focus(); - }); - }, - //鑾峰彇澶卞幓鐒︾偣瑙﹀彂 - handleInputConfirm() { - let inputValue = this.inputValue; - if (inputValue) { - this.dynamicTags.push(inputValue); - } - this.inputVisible = false; - this.inputValue = ""; - }, - /** 鏂板鎸夐挳鎿嶄綔 */ - handleAdd() { - this.reset(); - this.title = "鏂板鏍囩"; - this.addalteropen = true; - }, - /** 淇敼鎸夐挳鎿嶄綔 */ - handleUpdate(row) { - this.reset(); - this.title = "淇敼鏍囩"; - this.addalteropen = true; - // const userId = row.userId || this.ids; - // getUser(userId).then((response) => { - // this.form = response.data; - // this.postOptions = response.posts; - // this.roleOptions = response.roles; - // this.$set(this.form, "postIds", response.postIds); - // this.$set(this.form, "roleIds", response.roleIds); - // this.addalteropen = true; - // this.form.password = ""; - // }); - }, - /** 閲嶇疆瀵嗙爜鎸夐挳鎿嶄綔 */ - handleResetPwd(row) { - this.$prompt('璇疯緭鍏�"' + row.userName + '"鐨勬柊瀵嗙爜', "鎻愮ず", { - confirmButtonText: "纭畾", - cancelButtonText: "鍙栨秷", - closeOnClickModal: false, - inputPattern: /^.{5,20}$/, - inputErrorMessage: "鐢ㄦ埛瀵嗙爜闀垮害蹇呴』浠嬩簬 5 鍜� 20 涔嬮棿", - }) - .then(({ value }) => { - resetUserPwd(row.userId, value).then((response) => { - this.$modal.msgSuccess("淇敼鎴愬姛锛屾柊瀵嗙爜鏄細" + value); - }); - }) - .catch(() => {}); - }, - - /** 鎻愪氦鎸夐挳 */ - 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.getList(); - }); - } else { - addUser(this.form).then((response) => { - this.$modal.msgSuccess("鏂板鎴愬姛"); - this.open = false; - this.getList(); - }); - } - } - }); - }, - /** 鍒犻櫎鎸夐挳鎿嶄綔 */ - handleDelete(row) { - const userIds = row.userId || this.ids; - this.$modal - .confirm('鏄惁纭鍒犻櫎鐢ㄦ埛缂栧彿涓�"' + userIds + '"鐨勬暟鎹」锛�') - .then(function () { - return delUser(userIds); - }) - .then(() => { - this.getList(); - this.$modal.msgSuccess("鍒犻櫎鎴愬姛"); - }) - .catch(() => {}); - }, - /** 瀵煎嚭鎸夐挳鎿嶄綔 */ - handleExport() { - this.download( - "system/user/export", - { - ...this.topqueryParams, - }, - `user_${new Date().getTime()}.xlsx` - ); - }, - }, -}; -</script> - -<style lang="scss" scoped> -.el-button--primary.is-plain { - color: #ffffff; - background: #409eff; - border-color: #4fabe9; -} -.document { - width: 100px; - height: 50px; -} -.documentf { - display: flex; - justify-content: flex-end; -} -.download { - text-align: center; - .el-upload__tip { - font-size: 23px; - } - .el-upload__text { - font-size: 23px; - } -} -.uploading { - margin-top: 20px; - margin: 20px; - padding: 30px; - background: #ffffff; - border: 1px solid #dcdfe6; - -webkit-box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.12), - 0 0 6px 0 rgba(0, 0, 0, 0.04); -} -.el-tag + .el-tag { - margin-left: 10px; -} -.button-new-tag { - margin-left: 10px; - height: 32px; - line-height: 30px; - padding-top: 0; - padding-bottom: 0; -} -.input-new-tag { - width: 90px; - margin-left: 10px; - vertical-align: bottom; -} -.drexamine { - display: flex; - align-items: center; - justify-content: center; - padding: 30px; - background: #daeaf5; - img { - width: 100px; - height: 100px; - } -} -.qrcode-dialo { - // text-align: center; - // display: flex; - margin: 20px; - padding: 30px; - background: #edf1f7; - border: 1px solid #dcdfe6; - -webkit-box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.12), - 0 0 6px 0 rgba(0, 0, 0, 0.04); - .topic-dev { - margin-bottom: 25px; - font-size: 20px !important; - .dev-text { - margin-bottom: 10px; - } - } -} -::v-deep.el-radio-group { - span { - font-size: 24px; - } -} -::v-deep.el-checkbox-group { - span { - font-size: 24px; - } -} -</style> diff --git a/src/views/system/category/index.vue b/src/views/system/category/index.vue deleted file mode 100644 index 7bbdc61..0000000 --- a/src/views/system/category/index.vue +++ /dev/null @@ -1,364 +0,0 @@ -<template> - <div class="app-container"> - <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px"> - <el-form-item label=" 鍒嗙被鍚嶇О " prop="CategoryName"> - <el-input - v-model="queryParams.CategoryName" - placeholder="璇疯緭鍏� 鍒嗙被鍚嶇О " - clearable - @keyup.enter.native="handleQuery" - /> - </el-form-item> - <el-form-item label=" 鏈烘瀯ID " prop="OrgID"> - <el-input - v-model="queryParams.OrgID" - placeholder="璇疯緭鍏� 鏈烘瀯ID " - clearable - @keyup.enter.native="handleQuery" - /> - </el-form-item> - <el-form-item label=" 鍒犻櫎鏍囪 " prop="delFlag"> - <el-input - v-model="queryParams.delFlag" - placeholder="璇疯緭鍏� 鍒犻櫎鏍囪 " - clearable - @keyup.enter.native="handleQuery" - /> - </el-form-item> - <el-form-item label=" 鏇存柊浜� " prop="updateBy"> - <el-input - v-model="queryParams.updateBy" - placeholder="璇疯緭鍏� 鏇存柊浜� " - clearable - @keyup.enter.native="handleQuery" - /> - </el-form-item> - <el-form-item label=" 鏇存柊鏃堕棿 " prop="updateTime"> - <el-date-picker clearable - v-model="queryParams.updateTime" - type="date" - value-format="yyyy-MM-dd" - placeholder="璇烽�夋嫨 鏇存柊鏃堕棿 "> - </el-date-picker> - </el-form-item> - <el-form-item label=" 鍒涘缓浜� " prop="createBy"> - <el-input - v-model="queryParams.createBy" - placeholder="璇疯緭鍏� 鍒涘缓浜� " - clearable - @keyup.enter.native="handleQuery" - /> - </el-form-item> - <el-form-item label=" 鍒涘缓鏃堕棿 " prop="createTime"> - <el-date-picker clearable - v-model="queryParams.createTime" - type="date" - value-format="yyyy-MM-dd" - placeholder="璇烽�夋嫨 鍒涘缓鏃堕棿 "> - </el-date-picker> - </el-form-item> - <el-form-item label=" 涓婁紶鏍囪 " prop="IsUpload"> - <el-input - v-model="queryParams.IsUpload" - placeholder="璇疯緭鍏� 涓婁紶鏍囪 " - clearable - @keyup.enter.native="handleQuery" - /> - </el-form-item> - <el-form-item label=" 涓婁紶鏃堕棿 " prop="uploadTime"> - <el-date-picker clearable - v-model="queryParams.uploadTime" - type="date" - value-format="yyyy-MM-dd" - placeholder="璇烽�夋嫨 涓婁紶鏃堕棿 "> - </el-date-picker> - </el-form-item> - <el-form-item> - <el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">鎼滅储</el-button> - <el-button icon="el-icon-refresh" size="mini" @click="resetQuery">閲嶇疆</el-button> - </el-form-item> - </el-form> - - <el-row :gutter="10" class="mb8"> - <el-col :span="1.5"> - <el-button - type="primary" - plain - icon="el-icon-plus" - size="mini" - @click="handleAdd" - v-hasPermi="['system:category:add']" - >鏂板</el-button> - </el-col> - <el-col :span="1.5"> - <el-button - type="success" - plain - icon="el-icon-edit" - size="mini" - :disabled="single" - @click="handleUpdate" - v-hasPermi="['system:category:edit']" - >淇敼</el-button> - </el-col> - <el-col :span="1.5"> - <el-button - type="danger" - plain - icon="el-icon-delete" - size="mini" - :disabled="multiple" - @click="handleDelete" - v-hasPermi="['system:category:remove']" - >鍒犻櫎</el-button> - </el-col> - <el-col :span="1.5"> - <el-button - type="warning" - plain - icon="el-icon-download" - size="mini" - @click="handleExport" - v-hasPermi="['system:category:export']" - >瀵煎嚭</el-button> - </el-col> - <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar> - </el-row> - - <el-table v-loading="loading" :data="categoryList" @selection-change="handleSelectionChange"> - <el-table-column type="selection" width="55" align="center" /> - <el-table-column label=" 鑷ID " align="center" prop="ID" /> - <el-table-column label=" 鍒嗙被鍚嶇О " align="center" prop="categoryName" /> - <el-table-column label=" 鏈烘瀯ID " align="center" prop="OrgID" /> - <el-table-column label=" 鍒犻櫎鏍囪 " align="center" prop="delFlag" /> - <el-table-column label=" 鏇存柊浜� " align="center" prop="updateBy" /> - <el-table-column label=" 鏇存柊鏃堕棿 " align="center" prop="updateTime" width="180"> - <template slot-scope="scope"> - <span>{{ parseTime(scope.row.updateTime, '{y}-{m}-{d}') }}</span> - </template> - </el-table-column> - <el-table-column label=" 鍒涘缓浜� " align="center" prop="createBy" /> - <el-table-column label=" 鍒涘缓鏃堕棿 " align="center" prop="createTime" width="180"> - <template slot-scope="scope"> - <span>{{ parseTime(scope.row.createTime, '{y}-{m}-{d}') }}</span> - </template> - </el-table-column> - <el-table-column label=" 涓婁紶鏍囪 " align="center" prop="IsUpload" /> - <el-table-column label=" 涓婁紶鏃堕棿 " align="center" prop="uploadTime" width="180"> - <template slot-scope="scope"> - <span>{{ parseTime(scope.row.uploadTime, '{y}-{m}-{d}') }}</span> - </template> - </el-table-column> - <el-table-column label="鎿嶄綔" align="center" class-name="small-padding fixed-width"> - <template slot-scope="scope"> - <el-button - size="mini" - type="text" - icon="el-icon-edit" - @click="handleUpdate(scope.row)" - v-hasPermi="['system:category:edit']" - >淇敼</el-button> - <el-button - size="mini" - type="text" - icon="el-icon-delete" - @click="handleDelete(scope.row)" - v-hasPermi="['system:category:remove']" - >鍒犻櫎</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-dialog :title="title" :visible.sync="open" width="500px" append-to-body> - <el-form ref="form" :model="form" :rules="rules" label-width="80px"> - <el-form-item label=" 鍒嗙被鍚嶇О " prop="CategoryName"> - <el-input v-model="form.CategoryName" placeholder="璇疯緭鍏� 鍒嗙被鍚嶇О " /> - </el-form-item> - <el-form-item label=" 鏈烘瀯ID " prop="OrgID"> - <el-input v-model="form.OrgID" placeholder="璇疯緭鍏� 鏈烘瀯ID " /> - </el-form-item> - <el-form-item label=" 鍒犻櫎鏍囪 " prop="delFlag"> - <el-input v-model="form.delFlag" placeholder="璇疯緭鍏� 鍒犻櫎鏍囪 " /> - </el-form-item> - <el-form-item label=" 涓婁紶鏍囪 " prop="IsUpload"> - <el-input v-model="form.IsUpload" placeholder="璇疯緭鍏� 涓婁紶鏍囪 " /> - </el-form-item> - <el-form-item label=" 涓婁紶鏃堕棿 " prop="uploadTime"> - <el-date-picker clearable - v-model="form.uploadTime" - type="date" - value-format="yyyy-MM-dd" - placeholder="璇烽�夋嫨 涓婁紶鏃堕棿 "> - </el-date-picker> - </el-form-item> - </el-form> - <div slot="footer" class="dialog-footer"> - <el-button type="primary" @click="submitForm">纭� 瀹�</el-button> - <el-button @click="cancel">鍙� 娑�</el-button> - </div> - </el-dialog> - </div> -</template> - -<script> -import { listCategory, getCategory, delCategory, addCategory, updateCategory } from "@/api/system/category"; - -export default { - name: "Category", - data() { - return { - // 閬僵灞� - loading: true, - // 閫変腑鏁扮粍 - ids: [], - // 闈炲崟涓鐢� - single: true, - // 闈炲涓鐢� - multiple: true, - // 鏄剧ず鎼滅储鏉′欢 - showSearch: true, - // 鎬绘潯鏁� - total: 0, - // 闂嵎鍒嗙被琛ㄦ牸鏁版嵁 - categoryList: [], - // 寮瑰嚭灞傛爣棰� - title: "", - // 鏄惁鏄剧ず寮瑰嚭灞� - open: false, - // 鏌ヨ鍙傛暟 - queryParams: { - pageNum: 1, - pageSize: 10, - CategoryName: null, - OrgID: null, - delFlag: null, - updateBy: null, - updateTime: null, - createBy: null, - createTime: null, - IsUpload: null, - uploadTime: null - }, - // 琛ㄥ崟鍙傛暟 - form: {}, - // 琛ㄥ崟鏍¢獙 - rules: { - } - }; - }, - created() { - this.getList(); - }, - methods: { - /** 鏌ヨ闂嵎鍒嗙被鍒楄〃 */ - getList() { - this.loading = true; - listCategory(this.queryParams).then(response => { - this.categoryList = response.rows; - - console.log(this.categoryList); - this.total = response.total; - this.loading = false; - }); - }, - // 鍙栨秷鎸夐挳 - cancel() { - this.open = false; - this.reset(); - }, - // 琛ㄥ崟閲嶇疆 - reset() { - this.form = { - ID: null, - CategoryName: null, - OrgID: null, - delFlag: null, - updateBy: null, - updateTime: null, - createBy: null, - createTime: null, - IsUpload: null, - uploadTime: null - }; - this.resetForm("form"); - }, - /** 鎼滅储鎸夐挳鎿嶄綔 */ - handleQuery() { - this.queryParams.pageNum = 1; - this.getList(); - }, - /** 閲嶇疆鎸夐挳鎿嶄綔 */ - resetQuery() { - this.resetForm("queryForm"); - this.handleQuery(); - }, - // 澶氶�夋閫変腑鏁版嵁 - handleSelectionChange(selection) { - this.ids = selection.map(item => item.ID) - this.single = selection.length!==1 - this.multiple = !selection.length - }, - /** 鏂板鎸夐挳鎿嶄綔 */ - handleAdd() { - this.reset(); - this.open = true; - this.title = "娣诲姞闂嵎鍒嗙被"; - }, - /** 淇敼鎸夐挳鎿嶄綔 */ - handleUpdate(row) { - this.reset(); - const ID = row.ID || this.ids - getCategory(ID).then(response => { - this.form = response.data; - this.open = true; - this.title = "淇敼闂嵎鍒嗙被"; - }); - }, - /** 鎻愪氦鎸夐挳 */ - submitForm() { - this.$refs["form"].validate(valid => { - if (valid) { - if (this.form.ID != null) { - updateCategory(this.form).then(response => { - this.$modal.msgSuccess("淇敼鎴愬姛"); - this.open = false; - this.getList(); - }); - } else { - addCategory(this.form).then(response => { - this.$modal.msgSuccess("鏂板鎴愬姛"); - this.open = false; - this.getList(); - }); - } - } - }); - }, - /** 鍒犻櫎鎸夐挳鎿嶄綔 */ - handleDelete(row) { - const IDs = row.ID || this.ids; - this.$modal.confirm('鏄惁纭鍒犻櫎闂嵎鍒嗙被缂栧彿涓�"' + IDs + '"鐨勬暟鎹」锛�').then(function() { - return delCategory(IDs); - }).then(() => { - this.getList(); - this.$modal.msgSuccess("鍒犻櫎鎴愬姛"); - }).catch(() => {}); - }, - /** 瀵煎嚭鎸夐挳鎿嶄綔 */ - handleExport() { - this.download('system/category/export', { - ...this.queryParams - }, `category_${new Date().getTime()}.xlsx`) - } - } -}; -</script> diff --git a/src/views/system/config/index.vue b/src/views/system/config/index.vue deleted file mode 100644 index 3493924..0000000 --- a/src/views/system/config/index.vue +++ /dev/null @@ -1,343 +0,0 @@ -<template> - <div class="app-container"> - <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px"> - <el-form-item label="鍙傛暟鍚嶇О" prop="configName"> - <el-input - v-model="queryParams.configName" - placeholder="璇疯緭鍏ュ弬鏁板悕绉�" - clearable - style="width: 240px" - @keyup.enter.native="handleQuery" - /> - </el-form-item> - <el-form-item label="鍙傛暟閿悕" prop="configKey"> - <el-input - v-model="queryParams.configKey" - placeholder="璇疯緭鍏ュ弬鏁伴敭鍚�" - clearable - style="width: 240px" - @keyup.enter.native="handleQuery" - /> - </el-form-item> - <el-form-item label="绯荤粺鍐呯疆" prop="configType"> - <el-select v-model="queryParams.configType" placeholder="绯荤粺鍐呯疆" clearable> - <el-option - v-for="dict in dict.type.sys_yes_no" - :key="dict.value" - :label="dict.label" - :value="dict.value" - /> - </el-select> - </el-form-item> - <el-form-item label="鍒涘缓鏃堕棿"> - <el-date-picker - v-model="dateRange" - style="width: 240px" - value-format="yyyy-MM-dd" - type="daterange" - range-separator="-" - start-placeholder="寮�濮嬫棩鏈�" - end-placeholder="缁撴潫鏃ユ湡" - ></el-date-picker> - </el-form-item> - <el-form-item> - <el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">鎼滅储</el-button> - <el-button icon="el-icon-refresh" size="mini" @click="resetQuery">閲嶇疆</el-button> - </el-form-item> - </el-form> - - <el-row :gutter="10" class="mb8"> - <el-col :span="1.5"> - <el-button - type="primary" - plain - icon="el-icon-plus" - size="mini" - @click="handleAdd" - v-hasPermi="['system:config:add']" - >鏂板</el-button> - </el-col> - <el-col :span="1.5"> - <el-button - type="success" - plain - icon="el-icon-edit" - size="mini" - :disabled="single" - @click="handleUpdate" - v-hasPermi="['system:config:edit']" - >淇敼</el-button> - </el-col> - <el-col :span="1.5"> - <el-button - type="danger" - plain - icon="el-icon-delete" - size="mini" - :disabled="multiple" - @click="handleDelete" - v-hasPermi="['system:config:remove']" - >鍒犻櫎</el-button> - </el-col> - <el-col :span="1.5"> - <el-button - type="warning" - plain - icon="el-icon-download" - size="mini" - @click="handleExport" - v-hasPermi="['system:config:export']" - >瀵煎嚭</el-button> - </el-col> - <el-col :span="1.5"> - <el-button - type="danger" - plain - icon="el-icon-refresh" - size="mini" - @click="handleRefreshCache" - v-hasPermi="['system:config:remove']" - >鍒锋柊缂撳瓨</el-button> - </el-col> - <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar> - </el-row> - - <el-table v-loading="loading" :data="configList" @selection-change="handleSelectionChange"> - <el-table-column type="selection" width="55" align="center" /> - <el-table-column label="鍙傛暟涓婚敭" align="center" prop="configId" /> - <el-table-column label="鍙傛暟鍚嶇О" align="center" prop="configName" :show-overflow-tooltip="true" /> - <el-table-column label="鍙傛暟閿悕" align="center" prop="configKey" :show-overflow-tooltip="true" /> - <el-table-column label="鍙傛暟閿��" align="center" prop="configValue" /> - <el-table-column label="绯荤粺鍐呯疆" align="center" prop="configType"> - <template slot-scope="scope"> - <dict-tag :options="dict.type.sys_yes_no" :value="scope.row.configType"/> - </template> - </el-table-column> - <el-table-column label="澶囨敞" align="center" prop="remark" :show-overflow-tooltip="true" /> - <el-table-column label="鍒涘缓鏃堕棿" align="center" prop="createTime" width="180"> - <template slot-scope="scope"> - <span>{{ formatTime(scope.row.createTime) }}</span> - </template> - </el-table-column> - <el-table-column label="鎿嶄綔" align="center" class-name="small-padding fixed-width"> - <template slot-scope="scope"> - <el-button - size="mini" - type="text" - icon="el-icon-edit" - @click="handleUpdate(scope.row)" - v-hasPermi="['system:config:edit']" - >淇敼</el-button> - <el-button - size="mini" - type="text" - icon="el-icon-delete" - @click="handleDelete(scope.row)" - v-hasPermi="['system:config:remove']" - >鍒犻櫎</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-dialog :title="title" :visible.sync="open" width="500px" append-to-body> - <el-form ref="form" :model="form" :rules="rules" label-width="80px"> - <el-form-item label="鍙傛暟鍚嶇О" prop="configName"> - <el-input v-model="form.configName" placeholder="璇疯緭鍏ュ弬鏁板悕绉�" /> - </el-form-item> - <el-form-item label="鍙傛暟閿悕" prop="configKey"> - <el-input v-model="form.configKey" placeholder="璇疯緭鍏ュ弬鏁伴敭鍚�" /> - </el-form-item> - <el-form-item label="鍙傛暟閿��" prop="configValue"> - <el-input v-model="form.configValue" placeholder="璇疯緭鍏ュ弬鏁伴敭鍊�" /> - </el-form-item> - <el-form-item label="绯荤粺鍐呯疆" prop="configType"> - <el-radio-group v-model="form.configType"> - <el-radio - v-for="dict in dict.type.sys_yes_no" - :key="dict.value" - :label="dict.value" - >{{dict.label}}</el-radio> - </el-radio-group> - </el-form-item> - <el-form-item label="澶囨敞" prop="remark"> - <el-input v-model="form.remark" type="textarea" placeholder="璇疯緭鍏ュ唴瀹�" /> - </el-form-item> - </el-form> - <div slot="footer" class="dialog-footer"> - <el-button type="primary" @click="submitForm">纭� 瀹�</el-button> - <el-button @click="cancel">鍙� 娑�</el-button> - </div> - </el-dialog> - </div> -</template> - -<script> -import { listConfig, getConfig, delConfig, addConfig, updateConfig, refreshCache } from "@/api/system/config"; - -export default { - name: "Config", - dicts: ['sys_yes_no'], - data() { - return { - // 閬僵灞� - loading: true, - // 閫変腑鏁扮粍 - ids: [], - // 闈炲崟涓鐢� - single: true, - // 闈炲涓鐢� - multiple: true, - // 鏄剧ず鎼滅储鏉′欢 - showSearch: true, - // 鎬绘潯鏁� - total: 0, - // 鍙傛暟琛ㄦ牸鏁版嵁 - configList: [], - // 寮瑰嚭灞傛爣棰� - title: "", - // 鏄惁鏄剧ず寮瑰嚭灞� - open: false, - // 鏃ユ湡鑼冨洿 - dateRange: [], - // 鏌ヨ鍙傛暟 - queryParams: { - pageNum: 1, - pageSize: 10, - configName: undefined, - configKey: undefined, - configType: undefined - }, - // 琛ㄥ崟鍙傛暟 - form: {}, - // 琛ㄥ崟鏍¢獙 - rules: { - configName: [ - { required: true, message: "鍙傛暟鍚嶇О涓嶈兘涓虹┖", trigger: "blur" } - ], - configKey: [ - { required: true, message: "鍙傛暟閿悕涓嶈兘涓虹┖", trigger: "blur" } - ], - configValue: [ - { required: true, message: "鍙傛暟閿�间笉鑳戒负绌�", trigger: "blur" } - ] - } - }; - }, - created() { - this.getList(); - }, - methods: { - /** 鏌ヨ鍙傛暟鍒楄〃 */ - getList() { - this.loading = true; - listConfig(this.addDateRange(this.queryParams, this.dateRange)).then(response => { - this.configList = response.rows; - this.total = response.total; - this.loading = false; - } - ); - }, - // 鍙栨秷鎸夐挳 - cancel() { - this.open = false; - this.reset(); - }, - // 琛ㄥ崟閲嶇疆 - reset() { - this.form = { - configId: undefined, - configName: undefined, - configKey: undefined, - configValue: undefined, - configType: "Y", - remark: undefined - }; - this.resetForm("form"); - }, - /** 鎼滅储鎸夐挳鎿嶄綔 */ - handleQuery() { - this.queryParams.pageNum = 1; - this.getList(); - }, - /** 閲嶇疆鎸夐挳鎿嶄綔 */ - resetQuery() { - this.dateRange = []; - this.resetForm("queryForm"); - this.handleQuery(); - }, - /** 鏂板鎸夐挳鎿嶄綔 */ - handleAdd() { - this.reset(); - this.open = true; - this.title = "娣诲姞鍙傛暟"; - }, - // 澶氶�夋閫変腑鏁版嵁 - handleSelectionChange(selection) { - this.ids = selection.map(item => item.configId) - this.single = selection.length!=1 - this.multiple = !selection.length - }, - /** 淇敼鎸夐挳鎿嶄綔 */ - handleUpdate(row) { - this.reset(); - const configId = row.configId || this.ids - getConfig(configId).then(response => { - this.form = response.data; - this.open = true; - this.title = "淇敼鍙傛暟"; - }); - }, - /** 鎻愪氦鎸夐挳 */ - submitForm: function() { - this.$refs["form"].validate(valid => { - if (valid) { - if (this.form.configId != undefined) { - updateConfig(this.form).then(response => { - this.$modal.msgSuccess("淇敼鎴愬姛"); - this.open = false; - this.getList(); - }); - } else { - addConfig(this.form).then(response => { - this.$modal.msgSuccess("鏂板鎴愬姛"); - this.open = false; - this.getList(); - }); - } - } - }); - }, - /** 鍒犻櫎鎸夐挳鎿嶄綔 */ - handleDelete(row) { - const configIds = row.configId || this.ids; - this.$modal.confirm('鏄惁纭鍒犻櫎鍙傛暟缂栧彿涓�"' + configIds + '"鐨勬暟鎹」锛�').then(function() { - return delConfig(configIds); - }).then(() => { - this.getList(); - this.$modal.msgSuccess("鍒犻櫎鎴愬姛"); - }).catch(() => {}); - }, - /** 瀵煎嚭鎸夐挳鎿嶄綔 */ - handleExport() { - this.download('system/config/export', { - ...this.queryParams - }, `config_${new Date().getTime()}.xlsx`) - }, - /** 鍒锋柊缂撳瓨鎸夐挳鎿嶄綔 */ - handleRefreshCache() { - refreshCache().then(() => { - this.$modal.msgSuccess("鍒锋柊鎴愬姛"); - }); - } - } -}; -</script> diff --git a/src/views/system/dept/index.vue b/src/views/system/dept/index.vue deleted file mode 100644 index c9aa9f4..0000000 --- a/src/views/system/dept/index.vue +++ /dev/null @@ -1,426 +0,0 @@ -<template> - <div class="app-container"> - <el-form - :model="queryParams" - ref="queryForm" - size="small" - :inline="true" - v-show="showSearch" - > - <el-form-item label="閮ㄩ棬鍚嶇О" prop="deptName"> - <el-input - v-model="queryParams.deptName" - placeholder="璇疯緭鍏ラ儴闂ㄥ悕绉�" - clearable - @keyup.enter.native="handleQuery" - /> - </el-form-item> - <el-form-item label="鐘舵��" prop="status"> - <el-select - v-model="queryParams.status" - placeholder="閮ㄩ棬鐘舵��" - clearable - > - <el-option - v-for="dict in dict.type.sys_normal_disable" - :key="dict.value" - :label="dict.label" - :value="dict.value" - /> - </el-select> - </el-form-item> - <el-form-item> - <el-button - type="primary" - icon="el-icon-search" - size="mini" - @click="handleQuery" - >鎼滅储</el-button - > - <el-button icon="el-icon-refresh" size="mini" @click="resetQuery" - >閲嶇疆</el-button - > - </el-form-item> - </el-form> - - <el-row :gutter="10" class="mb8"> - <el-col :span="1.5"> - <el-button - type="primary" - plain - icon="el-icon-plus" - size="mini" - @click="handleAdd" - v-hasPermi="['system:dept:add']" - >鏂板</el-button - > - </el-col> - <el-col :span="1.5"> - <el-button - type="info" - plain - icon="el-icon-sort" - size="mini" - @click="toggleExpandAll" - >灞曞紑/鎶樺彔</el-button - > - </el-col> - <right-toolbar - :showSearch.sync="showSearch" - @queryTable="getList" - ></right-toolbar> - </el-row> - - <el-table - v-if="refreshTable" - v-loading="loading" - :data="deptList" - row-key="deptId" - :default-expand-all="isExpandAll" - :tree-props="{ children: 'children', hasChildren: 'hasChildren' }" - > - <el-table-column - prop="deptName" - label="閮ㄩ棬鍚嶇О" - width="260" - ></el-table-column> - <el-table-column - prop="orderNum" - label="鎺掑簭" - width="200" - ></el-table-column> - <el-table-column prop="status" label="鐘舵��" width="100"> - <template slot-scope="scope"> - <dict-tag - :options="dict.type.sys_normal_disable" - :value="scope.row.status" - /> - </template> - </el-table-column> - <el-table-column - label="鍒涘缓鏃堕棿" - align="center" - prop="createTime" - width="200" - > - <template slot-scope="scope"> - <span>{{ formatTime(scope.row.createTime) }}</span> - </template> - </el-table-column> - <el-table-column - label="鎿嶄綔" - align="center" - class-name="small-padding fixed-width" - > - <template slot-scope="scope"> - <el-button - size="mini" - type="text" - icon="el-icon-edit" - @click="handleUpdate(scope.row)" - v-hasPermi="['system:dept:edit']" - >淇敼</el-button - > - <el-button - size="mini" - type="text" - icon="el-icon-plus" - @click="handleAdd(scope.row)" - v-hasPermi="['system:dept:add']" - >鏂板</el-button - > - <el-button - v-if="scope.row.parentId != 0" - size="mini" - type="text" - icon="el-icon-delete" - @click="handleDelete(scope.row)" - v-hasPermi="['system:dept:remove']" - >鍒犻櫎</el-button - > - </template> - </el-table-column> - </el-table> - - <!-- 娣诲姞鎴栦慨鏀归儴闂ㄥ璇濇 --> - <el-dialog :title="title" :visible.sync="open" width="600px" append-to-body> - <el-form ref="form" :model="form" :rules="rules" label-width="80px"> - <el-row> - <el-col :span="24" v-if="form.parentId !== 0"> - <el-form-item label="涓婄骇閮ㄩ棬" prop="parentId"> - <treeselect - v-model="form.parentId" - :options="deptOptions" - :normalizer="normalizer" - placeholder="閫夋嫨涓婄骇閮ㄩ棬" - /> - </el-form-item> - </el-col> - </el-row> - <el-row> - <el-col :span="12"> - <el-form-item label="閮ㄩ棬鍚嶇О" prop="deptName"> - <el-input v-model="form.deptName" placeholder="璇疯緭鍏ラ儴闂ㄥ悕绉�" /> - </el-form-item> - </el-col> - <el-col :span="12"> - <el-form-item label="鏄剧ず鎺掑簭" prop="orderNum"> - <el-input-number - v-model="form.orderNum" - controls-position="right" - :min="0" - /> - </el-form-item> - </el-col> - </el-row> - <el-row> - <el-col :span="12"> - <el-form-item label="璐熻矗浜�" prop="leader"> - <el-input - v-model="form.leader" - placeholder="璇疯緭鍏ヨ礋璐d汉" - maxlength="20" - /> - </el-form-item> - </el-col> - <el-col :span="12"> - <el-form-item label="鑱旂郴鐢佃瘽" prop="telcode"> - <el-input - v-model="form.telcode" - placeholder="璇疯緭鍏ヨ仈绯荤數璇�" - maxlength="11" - /> - </el-form-item> - </el-col> - </el-row> - <el-row> - <el-col :span="12"> - <el-form-item label="閭" prop="email"> - <el-input - v-model="form.email" - placeholder="璇疯緭鍏ラ偖绠�" - maxlength="50" - /> - </el-form-item> - </el-col> - <el-col :span="12"> - <el-form-item label="閮ㄩ棬鐘舵��"> - <el-radio-group v-model="form.status"> - <el-radio - v-for="dict in dict.type.sys_normal_disable" - :key="dict.value" - :label="dict.value" - >{{ dict.label }}</el-radio - > - </el-radio-group> - </el-form-item> - </el-col> - </el-row> - </el-form> - <div slot="footer" class="dialog-footer"> - <el-button type="primary" @click="submitForm">纭� 瀹�</el-button> - <el-button @click="cancel">鍙� 娑�</el-button> - </div> - </el-dialog> - </div> -</template> - -<script> -import { - listDept, - getDept, - delDept, - addDept, - updateDept, - listDeptExcludeChild, -} from "@/api/system/dept"; -import Treeselect from "@riophae/vue-treeselect"; -import "@riophae/vue-treeselect/dist/vue-treeselect.css"; - -export default { - name: "Dept", - dicts: ["sys_normal_disable"], - components: { Treeselect }, - data() { - return { - // 閬僵灞� - loading: true, - // 鏄剧ず鎼滅储鏉′欢 - showSearch: true, - // 琛ㄦ牸鏍戞暟鎹� - deptList: [], - // 閮ㄩ棬鏍戦�夐」 - deptOptions: [], - // 寮瑰嚭灞傛爣棰� - title: "", - // 鏄惁鏄剧ず寮瑰嚭灞� - open: false, - // 鏄惁灞曞紑锛岄粯璁ゅ叏閮ㄥ睍寮� - isExpandAll: true, - // 閲嶆柊娓叉煋琛ㄦ牸鐘舵�� - refreshTable: true, - // 鏌ヨ鍙傛暟 - queryParams: { - deptName: undefined, - status: undefined, - }, - // 琛ㄥ崟鍙傛暟 - form: {}, - // 琛ㄥ崟鏍¢獙 - rules: { - parentId: [ - { required: true, message: "涓婄骇閮ㄩ棬涓嶈兘涓虹┖", trigger: "blur" }, - ], - deptName: [ - { required: true, message: "閮ㄩ棬鍚嶇О涓嶈兘涓虹┖", trigger: "blur" }, - ], - orderNum: [ - { required: true, message: "鏄剧ず鎺掑簭涓嶈兘涓虹┖", trigger: "blur" }, - ], - email: [ - { - type: "email", - message: "璇疯緭鍏ユ纭殑閭鍦板潃", - trigger: ["blur", "change"], - }, - ], - phone: [ - { - pattern: /^1[3|4|5|6|7|8|9][0-9]\d{8}$/, - message: "璇疯緭鍏ユ纭殑鎵嬫満鍙风爜", - trigger: "blur", - }, - ], - }, - }; - }, - created() { - this.getList(); - }, - methods: { - /** 鏌ヨ閮ㄩ棬鍒楄〃 */ - getList() { - console.log(this.deptList); - - this.loading = true; - listDept(this.queryParams).then((response) => { - this.deptList = this.handleTree(response.data, "deptId"); - console.log(this.deptList); - this.loading = false; - }); - }, - /** 杞崲閮ㄩ棬鏁版嵁缁撴瀯 */ - normalizer(node) { - if (node.children && !node.children.length) { - delete node.children; - } - return { - id: node.deptId, - label: node.deptName, - children: node.children, - }; - }, - // 鍙栨秷鎸夐挳 - cancel() { - this.open = false; - this.reset(); - }, - // 琛ㄥ崟閲嶇疆 - reset() { - this.form = { - deptId: undefined, - parentId: undefined, - deptName: undefined, - orderNum: undefined, - leader: undefined, - phone: undefined, - email: undefined, - status: "0", - }; - this.resetForm("form"); - }, - /** 鎼滅储鎸夐挳鎿嶄綔 */ - handleQuery() { - this.getList(); - }, - /** 閲嶇疆鎸夐挳鎿嶄綔 */ - resetQuery() { - this.resetForm("queryForm"); - this.handleQuery(); - }, - /** 鏂板鎸夐挳鎿嶄綔 */ - handleAdd(row) { - this.reset(); - if (row != undefined) { - this.form.parentId = row.deptId; - } - this.open = true; - this.title = "娣诲姞閮ㄩ棬"; - listDept().then((response) => { - this.deptOptions = this.handleTree(response.data, "deptId"); - }); - }, - /** 灞曞紑/鎶樺彔鎿嶄綔 */ - toggleExpandAll() { - this.refreshTable = false; - this.isExpandAll = !this.isExpandAll; - this.$nextTick(() => { - this.refreshTable = true; - }); - }, - /** 淇敼鎸夐挳鎿嶄綔 */ - handleUpdate(row) { - this.reset(); - getDept(row.deptId).then((response) => { - this.form = response.data; - this.open = true; - this.title = "淇敼閮ㄩ棬"; - listDeptExcludeChild(row.deptId).then((response) => { - this.deptOptions = this.handleTree(response.data, "deptId"); - if (this.deptOptions.length == 0) { - const noResultsOptions = { - deptId: this.form.parentId, - deptName: this.form.parentName, - children: [], - }; - this.deptOptions.push(noResultsOptions); - } - }); - }); - }, - /** 鎻愪氦鎸夐挳 */ - submitForm: function () { - this.$refs["form"].validate((valid) => { - if (valid) { - if (this.form.deptId != undefined) { - updateDept(this.form).then((response) => { - this.$modal.msgSuccess("淇敼鎴愬姛"); - this.open = false; - this.getList(); - }); - } else { - addDept(this.form).then((response) => { - this.$modal.msgSuccess("鏂板鎴愬姛"); - this.open = false; - this.getList(); - }); - } - } - }); - }, - /** 鍒犻櫎鎸夐挳鎿嶄綔 */ - handleDelete(row) { - this.$modal - .confirm('鏄惁纭鍒犻櫎鍚嶇О涓�"' + row.deptName + '"鐨勬暟鎹」锛�') - .then(function () { - return delDept(row.deptId); - }) - .then(() => { - this.getList(); - this.$modal.msgSuccess("鍒犻櫎鎴愬姛"); - }) - .catch(() => {}); - }, - }, -}; -</script> diff --git a/src/views/system/dict/data.vue b/src/views/system/dict/data.vue deleted file mode 100644 index 10f8ae4..0000000 --- a/src/views/system/dict/data.vue +++ /dev/null @@ -1,402 +0,0 @@ -<template> - <div class="app-container"> - <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px"> - <el-form-item label="瀛楀吀鍚嶇О" prop="dictType"> - <el-select v-model="queryParams.dictType"> - <el-option - v-for="item in typeOptions" - :key="item.dictId" - :label="item.dictName" - :value="item.dictType" - /> - </el-select> - </el-form-item> - <el-form-item label="瀛楀吀鏍囩" prop="dictLabel"> - <el-input - v-model="queryParams.dictLabel" - placeholder="璇疯緭鍏ュ瓧鍏告爣绛�" - clearable - @keyup.enter.native="handleQuery" - /> - </el-form-item> - <el-form-item label="鐘舵��" prop="status"> - <el-select v-model="queryParams.status" placeholder="鏁版嵁鐘舵��" clearable> - <el-option - v-for="dict in dict.type.sys_normal_disable" - :key="dict.value" - :label="dict.label" - :value="dict.value" - /> - </el-select> - </el-form-item> - <el-form-item> - <el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">鎼滅储</el-button> - <el-button icon="el-icon-refresh" size="mini" @click="resetQuery">閲嶇疆</el-button> - </el-form-item> - </el-form> - - <el-row :gutter="10" class="mb8"> - <el-col :span="1.5"> - <el-button - type="primary" - plain - icon="el-icon-plus" - size="mini" - @click="handleAdd" - v-hasPermi="['system:dict:add']" - >鏂板</el-button> - </el-col> - <el-col :span="1.5"> - <el-button - type="success" - plain - icon="el-icon-edit" - size="mini" - :disabled="single" - @click="handleUpdate" - v-hasPermi="['system:dict:edit']" - >淇敼</el-button> - </el-col> - <el-col :span="1.5"> - <el-button - type="danger" - plain - icon="el-icon-delete" - size="mini" - :disabled="multiple" - @click="handleDelete" - v-hasPermi="['system:dict:remove']" - >鍒犻櫎</el-button> - </el-col> - <el-col :span="1.5"> - <el-button - type="warning" - plain - icon="el-icon-download" - size="mini" - @click="handleExport" - v-hasPermi="['system:dict:export']" - >瀵煎嚭</el-button> - </el-col> - <el-col :span="1.5"> - <el-button - type="warning" - plain - icon="el-icon-close" - size="mini" - @click="handleClose" - >鍏抽棴</el-button> - </el-col> - <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar> - </el-row> - - <el-table v-loading="loading" :data="dataList" @selection-change="handleSelectionChange"> - <el-table-column type="selection" width="55" align="center" /> - <el-table-column label="瀛楀吀缂栫爜" align="center" prop="dictCode" /> - <el-table-column label="瀛楀吀鏍囩" align="center" prop="dictLabel"> - <template slot-scope="scope"> - <span v-if="scope.row.listClass == '' || scope.row.listClass == 'default'">{{scope.row.dictLabel}}</span> - <el-tag v-else :type="scope.row.listClass == 'primary' ? '' : scope.row.listClass">{{scope.row.dictLabel}}</el-tag> - </template> - </el-table-column> - <el-table-column label="瀛楀吀閿��" align="center" prop="dictValue" /> - <el-table-column label="瀛楀吀鎺掑簭" align="center" prop="dictSort" /> - <el-table-column label="鐘舵��" align="center" prop="status"> - <template slot-scope="scope"> - <dict-tag :options="dict.type.sys_normal_disable" :value="scope.row.status"/> - </template> - </el-table-column> - <el-table-column label="澶囨敞" align="center" prop="remark" :show-overflow-tooltip="true" /> - <el-table-column label="鍒涘缓鏃堕棿" align="center" prop="createTime" width="180"> - <template slot-scope="scope"> - <span>{{ formatTime(scope.row.createTime) }}</span> - </template> - </el-table-column> - <el-table-column label="鎿嶄綔" align="center" class-name="small-padding fixed-width"> - <template slot-scope="scope"> - <el-button - size="mini" - type="text" - icon="el-icon-edit" - @click="handleUpdate(scope.row)" - v-hasPermi="['system:dict:edit']" - >淇敼</el-button> - <el-button - size="mini" - type="text" - icon="el-icon-delete" - @click="handleDelete(scope.row)" - v-hasPermi="['system:dict:remove']" - >鍒犻櫎</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-dialog :title="title" :visible.sync="open" width="500px" append-to-body> - <el-form ref="form" :model="form" :rules="rules" label-width="80px"> - <el-form-item label="瀛楀吀绫诲瀷"> - <el-input v-model="form.dictType" :disabled="true" /> - </el-form-item> - <el-form-item label="鏁版嵁鏍囩" prop="dictLabel"> - <el-input v-model="form.dictLabel" placeholder="璇疯緭鍏ユ暟鎹爣绛�" /> - </el-form-item> - <el-form-item label="鏁版嵁閿��" prop="dictValue"> - <el-input v-model="form.dictValue" placeholder="璇疯緭鍏ユ暟鎹敭鍊�" /> - </el-form-item> - <el-form-item label="鏍峰紡灞炴��" prop="cssClass"> - <el-input v-model="form.cssClass" placeholder="璇疯緭鍏ユ牱寮忓睘鎬�" /> - </el-form-item> - <el-form-item label="鏄剧ず鎺掑簭" prop="dictSort"> - <el-input-number v-model="form.dictSort" controls-position="right" :min="0" /> - </el-form-item> - <el-form-item label="鍥炴樉鏍峰紡" prop="listClass"> - <el-select v-model="form.listClass"> - <el-option - v-for="item in listClassOptions" - :key="item.value" - :label="item.label + '(' + item.value + ')'" - :value="item.value" - ></el-option> - </el-select> - </el-form-item> - <el-form-item label="鐘舵��" prop="status"> - <el-radio-group v-model="form.status"> - <el-radio - v-for="dict in dict.type.sys_normal_disable" - :key="dict.value" - :label="dict.value" - >{{dict.label}}</el-radio> - </el-radio-group> - </el-form-item> - <el-form-item label="澶囨敞" prop="remark"> - <el-input v-model="form.remark" type="textarea" placeholder="璇疯緭鍏ュ唴瀹�"></el-input> - </el-form-item> - </el-form> - <div slot="footer" class="dialog-footer"> - <el-button type="primary" @click="submitForm">纭� 瀹�</el-button> - <el-button @click="cancel">鍙� 娑�</el-button> - </div> - </el-dialog> - </div> -</template> - -<script> -import { listData, getData, delData, addData, updateData } from "@/api/system/dict/data"; -import { optionselect as getDictOptionselect, getType } from "@/api/system/dict/type"; - -export default { - name: "Data", - dicts: ['sys_normal_disable'], - data() { - return { - // 閬僵灞� - loading: true, - // 閫変腑鏁扮粍 - ids: [], - // 闈炲崟涓鐢� - single: true, - // 闈炲涓鐢� - multiple: true, - // 鏄剧ず鎼滅储鏉′欢 - showSearch: true, - // 鎬绘潯鏁� - total: 0, - // 瀛楀吀琛ㄦ牸鏁版嵁 - dataList: [], - // 榛樿瀛楀吀绫诲瀷 - defaultDictType: "", - // 寮瑰嚭灞傛爣棰� - title: "", - // 鏄惁鏄剧ず寮瑰嚭灞� - open: false, - // 鏁版嵁鏍囩鍥炴樉鏍峰紡 - listClassOptions: [ - { - value: "default", - label: "榛樿" - }, - { - value: "primary", - label: "涓昏" - }, - { - value: "success", - label: "鎴愬姛" - }, - { - value: "info", - label: "淇℃伅" - }, - { - value: "warning", - label: "璀﹀憡" - }, - { - value: "danger", - label: "鍗遍櫓" - } - ], - // 绫诲瀷鏁版嵁瀛楀吀 - typeOptions: [], - // 鏌ヨ鍙傛暟 - queryParams: { - pageNum: 1, - pageSize: 10, - dictName: undefined, - dictType: undefined, - status: undefined - }, - // 琛ㄥ崟鍙傛暟 - form: {}, - // 琛ㄥ崟鏍¢獙 - rules: { - dictLabel: [ - { required: true, message: "鏁版嵁鏍囩涓嶈兘涓虹┖", trigger: "blur" } - ], - dictValue: [ - { required: true, message: "鏁版嵁閿�间笉鑳戒负绌�", trigger: "blur" } - ], - dictSort: [ - { required: true, message: "鏁版嵁椤哄簭涓嶈兘涓虹┖", trigger: "blur" } - ] - } - }; - }, - created() { - const dictId = this.$route.params && this.$route.params.dictId; - this.getType(dictId); - this.getTypeList(); - }, - methods: { - /** 鏌ヨ瀛楀吀绫诲瀷璇︾粏 */ - getType(dictId) { - getType(dictId).then(response => { - this.queryParams.dictType = response.data.dictType; - this.defaultDictType = response.data.dictType; - this.getList(); - }); - }, - /** 鏌ヨ瀛楀吀绫诲瀷鍒楄〃 */ - getTypeList() { - getDictOptionselect().then(response => { - this.typeOptions = response.data; - }); - }, - /** 鏌ヨ瀛楀吀鏁版嵁鍒楄〃 */ - getList() { - this.loading = true; - listData(this.queryParams).then(response => { - this.dataList = response.rows; - this.total = response.total; - this.loading = false; - }); - }, - // 鍙栨秷鎸夐挳 - cancel() { - this.open = false; - this.reset(); - }, - // 琛ㄥ崟閲嶇疆 - reset() { - this.form = { - dictCode: undefined, - dictLabel: undefined, - dictValue: undefined, - cssClass: undefined, - listClass: 'default', - dictSort: 0, - status: "0", - remark: undefined - }; - this.resetForm("form"); - }, - /** 鎼滅储鎸夐挳鎿嶄綔 */ - handleQuery() { - this.queryParams.pageNum = 1; - this.getList(); - }, - /** 杩斿洖鎸夐挳鎿嶄綔 */ - handleClose() { - const obj = { path: "/system/dict" }; - this.$tab.closeOpenPage(obj); - }, - /** 閲嶇疆鎸夐挳鎿嶄綔 */ - resetQuery() { - this.resetForm("queryForm"); - this.queryParams.dictType = this.defaultDictType; - this.handleQuery(); - }, - /** 鏂板鎸夐挳鎿嶄綔 */ - handleAdd() { - this.reset(); - this.open = true; - this.title = "娣诲姞瀛楀吀鏁版嵁"; - this.form.dictType = this.queryParams.dictType; - }, - // 澶氶�夋閫変腑鏁版嵁 - handleSelectionChange(selection) { - this.ids = selection.map(item => item.dictCode) - this.single = selection.length!=1 - this.multiple = !selection.length - }, - /** 淇敼鎸夐挳鎿嶄綔 */ - handleUpdate(row) { - this.reset(); - const dictCode = row.dictCode || this.ids - getData(dictCode).then(response => { - this.form = response.data; - this.open = true; - this.title = "淇敼瀛楀吀鏁版嵁"; - }); - }, - /** 鎻愪氦鎸夐挳 */ - submitForm: function() { - this.$refs["form"].validate(valid => { - if (valid) { - if (this.form.dictCode != undefined) { - updateData(this.form).then(response => { - this.$store.dispatch('dict/removeDict', this.queryParams.dictType); - this.$modal.msgSuccess("淇敼鎴愬姛"); - this.open = false; - this.getList(); - }); - } else { - addData(this.form).then(response => { - this.$store.dispatch('dict/removeDict', this.queryParams.dictType); - this.$modal.msgSuccess("鏂板鎴愬姛"); - this.open = false; - this.getList(); - }); - } - } - }); - }, - /** 鍒犻櫎鎸夐挳鎿嶄綔 */ - handleDelete(row) { - const dictCodes = row.dictCode || this.ids; - this.$modal.confirm('鏄惁纭鍒犻櫎瀛楀吀缂栫爜涓�"' + dictCodes + '"鐨勬暟鎹」锛�').then(function() { - return delData(dictCodes); - }).then(() => { - this.getList(); - this.$modal.msgSuccess("鍒犻櫎鎴愬姛"); - this.$store.dispatch('dict/removeDict', this.queryParams.dictType); - }).catch(() => {}); - }, - /** 瀵煎嚭鎸夐挳鎿嶄綔 */ - handleExport() { - this.download('system/dict/data/export', { - ...this.queryParams - }, `data_${new Date().getTime()}.xlsx`) - } - } -}; -</script> diff --git a/src/views/system/dict/index.vue b/src/views/system/dict/index.vue deleted file mode 100644 index 2019f46..0000000 --- a/src/views/system/dict/index.vue +++ /dev/null @@ -1,347 +0,0 @@ -<template> - <div class="app-container"> - <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px"> - <el-form-item label="瀛楀吀鍚嶇О" prop="dictName"> - <el-input - v-model="queryParams.dictName" - placeholder="璇疯緭鍏ュ瓧鍏稿悕绉�" - clearable - style="width: 240px" - @keyup.enter.native="handleQuery" - /> - </el-form-item> - <el-form-item label="瀛楀吀绫诲瀷" prop="dictType"> - <el-input - v-model="queryParams.dictType" - placeholder="璇疯緭鍏ュ瓧鍏哥被鍨�" - clearable - style="width: 240px" - @keyup.enter.native="handleQuery" - /> - </el-form-item> - <el-form-item label="鐘舵��" prop="status"> - <el-select - v-model="queryParams.status" - placeholder="瀛楀吀鐘舵��" - clearable - style="width: 240px" - > - <el-option - v-for="dict in dict.type.sys_normal_disable" - :key="dict.value" - :label="dict.label" - :value="dict.value" - /> - </el-select> - </el-form-item> - <el-form-item label="鍒涘缓鏃堕棿"> - <el-date-picker - v-model="dateRange" - style="width: 240px" - value-format="yyyy-MM-dd" - type="daterange" - range-separator="-" - start-placeholder="寮�濮嬫棩鏈�" - end-placeholder="缁撴潫鏃ユ湡" - ></el-date-picker> - </el-form-item> - <el-form-item> - <el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">鎼滅储</el-button> - <el-button icon="el-icon-refresh" size="mini" @click="resetQuery">閲嶇疆</el-button> - </el-form-item> - </el-form> - - <el-row :gutter="10" class="mb8"> - <el-col :span="1.5"> - <el-button - type="primary" - plain - icon="el-icon-plus" - size="mini" - @click="handleAdd" - v-hasPermi="['system:dict:add']" - >鏂板</el-button> - </el-col> - <el-col :span="1.5"> - <el-button - type="success" - plain - icon="el-icon-edit" - size="mini" - :disabled="single" - @click="handleUpdate" - v-hasPermi="['system:dict:edit']" - >淇敼</el-button> - </el-col> - <el-col :span="1.5"> - <el-button - type="danger" - plain - icon="el-icon-delete" - size="mini" - :disabled="multiple" - @click="handleDelete" - v-hasPermi="['system:dict:remove']" - >鍒犻櫎</el-button> - </el-col> - <el-col :span="1.5"> - <el-button - type="warning" - plain - icon="el-icon-download" - size="mini" - @click="handleExport" - v-hasPermi="['system:dict:export']" - >瀵煎嚭</el-button> - </el-col> - <el-col :span="1.5"> - <el-button - type="danger" - plain - icon="el-icon-refresh" - size="mini" - @click="handleRefreshCache" - v-hasPermi="['system:dict:remove']" - >鍒锋柊缂撳瓨</el-button> - </el-col> - <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar> - </el-row> - - <el-table v-loading="loading" :data="typeList" @selection-change="handleSelectionChange"> - <el-table-column type="selection" width="55" align="center" /> - <el-table-column label="瀛楀吀缂栧彿" align="center" prop="dictId" /> - <el-table-column label="瀛楀吀鍚嶇О" align="center" prop="dictName" :show-overflow-tooltip="true" /> - <el-table-column label="瀛楀吀绫诲瀷" align="center" :show-overflow-tooltip="true"> - <template slot-scope="scope"> - <router-link :to="'/system/dict-data/index/' + scope.row.dictId" class="link-type"> - <span>{{ scope.row.dictType }}</span> - </router-link> - </template> - </el-table-column> - <el-table-column label="鐘舵��" align="center" prop="status"> - <template slot-scope="scope"> - <dict-tag :options="dict.type.sys_normal_disable" :value="scope.row.status"/> - </template> - </el-table-column> - <el-table-column label="澶囨敞" align="center" prop="remark" :show-overflow-tooltip="true" /> - <el-table-column label="鍒涘缓鏃堕棿" align="center" prop="createTime" width="180"> - <template slot-scope="scope"> - <span>{{ formatTime(scope.row.createTime) }}</span> - </template> - </el-table-column> - <el-table-column label="鎿嶄綔" align="center" class-name="small-padding fixed-width"> - <template slot-scope="scope"> - <el-button - size="mini" - type="text" - icon="el-icon-edit" - @click="handleUpdate(scope.row)" - v-hasPermi="['system:dict:edit']" - >淇敼</el-button> - <el-button - size="mini" - type="text" - icon="el-icon-delete" - @click="handleDelete(scope.row)" - v-hasPermi="['system:dict:remove']" - >鍒犻櫎</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-dialog :title="title" :visible.sync="open" width="500px" append-to-body> - <el-form ref="form" :model="form" :rules="rules" label-width="80px"> - <el-form-item label="瀛楀吀鍚嶇О" prop="dictName"> - <el-input v-model="form.dictName" placeholder="璇疯緭鍏ュ瓧鍏稿悕绉�" /> - </el-form-item> - <el-form-item label="瀛楀吀绫诲瀷" prop="dictType"> - <el-input v-model="form.dictType" placeholder="璇疯緭鍏ュ瓧鍏哥被鍨�" /> - </el-form-item> - <el-form-item label="鐘舵��" prop="status"> - <el-radio-group v-model="form.status"> - <el-radio - v-for="dict in dict.type.sys_normal_disable" - :key="dict.value" - :label="dict.value" - >{{dict.label}}</el-radio> - </el-radio-group> - </el-form-item> - <el-form-item label="澶囨敞" prop="remark"> - <el-input v-model="form.remark" type="textarea" placeholder="璇疯緭鍏ュ唴瀹�"></el-input> - </el-form-item> - </el-form> - <div slot="footer" class="dialog-footer"> - <el-button type="primary" @click="submitForm">纭� 瀹�</el-button> - <el-button @click="cancel">鍙� 娑�</el-button> - </div> - </el-dialog> - </div> -</template> - -<script> -import { listType, getType, delType, addType, updateType, refreshCache } from "@/api/system/dict/type"; - -export default { - name: "Dict", - dicts: ['sys_normal_disable'], - data() { - return { - // 閬僵灞� - loading: true, - // 閫変腑鏁扮粍 - ids: [], - // 闈炲崟涓鐢� - single: true, - // 闈炲涓鐢� - multiple: true, - // 鏄剧ず鎼滅储鏉′欢 - showSearch: true, - // 鎬绘潯鏁� - total: 0, - // 瀛楀吀琛ㄦ牸鏁版嵁 - typeList: [], - // 寮瑰嚭灞傛爣棰� - title: "", - // 鏄惁鏄剧ず寮瑰嚭灞� - open: false, - // 鏃ユ湡鑼冨洿 - dateRange: [], - // 鏌ヨ鍙傛暟 - queryParams: { - pageNum: 1, - pageSize: 10, - dictName: undefined, - dictType: undefined, - status: undefined - }, - // 琛ㄥ崟鍙傛暟 - form: {}, - // 琛ㄥ崟鏍¢獙 - rules: { - dictName: [ - { required: true, message: "瀛楀吀鍚嶇О涓嶈兘涓虹┖", trigger: "blur" } - ], - dictType: [ - { required: true, message: "瀛楀吀绫诲瀷涓嶈兘涓虹┖", trigger: "blur" } - ] - } - }; - }, - created() { - this.getList(); - }, - methods: { - /** 鏌ヨ瀛楀吀绫诲瀷鍒楄〃 */ - getList() { - this.loading = true; - listType(this.addDateRange(this.queryParams, this.dateRange)).then(response => { - this.typeList = response.rows; - this.total = response.total; - this.loading = false; - } - ); - }, - // 鍙栨秷鎸夐挳 - cancel() { - this.open = false; - this.reset(); - }, - // 琛ㄥ崟閲嶇疆 - reset() { - this.form = { - dictId: undefined, - dictName: undefined, - dictType: undefined, - status: "0", - remark: undefined - }; - this.resetForm("form"); - }, - /** 鎼滅储鎸夐挳鎿嶄綔 */ - handleQuery() { - this.queryParams.pageNum = 1; - this.getList(); - }, - /** 閲嶇疆鎸夐挳鎿嶄綔 */ - resetQuery() { - this.dateRange = []; - this.resetForm("queryForm"); - this.handleQuery(); - }, - /** 鏂板鎸夐挳鎿嶄綔 */ - handleAdd() { - this.reset(); - this.open = true; - this.title = "娣诲姞瀛楀吀绫诲瀷"; - }, - // 澶氶�夋閫変腑鏁版嵁 - handleSelectionChange(selection) { - this.ids = selection.map(item => item.dictId) - this.single = selection.length!=1 - this.multiple = !selection.length - }, - /** 淇敼鎸夐挳鎿嶄綔 */ - handleUpdate(row) { - this.reset(); - const dictId = row.dictId || this.ids - getType(dictId).then(response => { - this.form = response.data; - this.open = true; - this.title = "淇敼瀛楀吀绫诲瀷"; - }); - }, - /** 鎻愪氦鎸夐挳 */ - submitForm: function() { - this.$refs["form"].validate(valid => { - if (valid) { - if (this.form.dictId != undefined) { - updateType(this.form).then(response => { - this.$modal.msgSuccess("淇敼鎴愬姛"); - this.open = false; - this.getList(); - }); - } else { - addType(this.form).then(response => { - this.$modal.msgSuccess("鏂板鎴愬姛"); - this.open = false; - this.getList(); - }); - } - } - }); - }, - /** 鍒犻櫎鎸夐挳鎿嶄綔 */ - handleDelete(row) { - const dictIds = row.dictId || this.ids; - this.$modal.confirm('鏄惁纭鍒犻櫎瀛楀吀缂栧彿涓�"' + dictIds + '"鐨勬暟鎹」锛�').then(function() { - return delType(dictIds); - }).then(() => { - this.getList(); - this.$modal.msgSuccess("鍒犻櫎鎴愬姛"); - }).catch(() => {}); - }, - /** 瀵煎嚭鎸夐挳鎿嶄綔 */ - handleExport() { - this.download('system/dict/type/export', { - ...this.queryParams - }, `type_${new Date().getTime()}.xlsx`) - }, - /** 鍒锋柊缂撳瓨鎸夐挳鎿嶄綔 */ - handleRefreshCache() { - refreshCache().then(() => { - this.$modal.msgSuccess("鍒锋柊鎴愬姛"); - this.$store.dispatch('dict/cleanDict'); - }); - } - } -}; -</script> diff --git a/src/views/system/label/index.vue b/src/views/system/label/index.vue deleted file mode 100644 index 6df7f21..0000000 --- a/src/views/system/label/index.vue +++ /dev/null @@ -1,829 +0,0 @@ -<template> - <div class="Questionnairemanagement"> - <!-- 宸︿晶鏍� --> - <div class="sidecolumn"> - <div class="sidecolumn-top"> - <div class="top-wj">鎮h�呮爣绛剧被鍨�</div> - <div class="top-tj" @click="dialogFormVisible = true">+娣诲姞</div> - </div> - <!-- <div class="center-ss"> - <el-input - placeholder="璇疯緭鍏ュ唴瀹�" - v-model="sidecolumnval" - class="input-with-select" - size="medium " - > - <el-button - @click="gitclasify" - slot="append" - icon="el-icon-search" - ></el-button> - </el-input> - </div> --> - <div class="bottom-fl"> - <el-tabs - tab-position="right" - v-model="queryParams.tagcategoryid" - @tab-click="handleClick" - > - <el-tab-pane :label="`鍏ㄩ儴 (${tagtotal})`" name="0"></el-tab-pane> - <el-tab-pane - class="tab-paness" - v-for="(item, index) in editableTabs" - :key="item.categoryname" - :name="item.tagcategoryid.toString()" - > - <span slot="label"> - {{ - item.categoryname + " (" + item.tagNum + ")" - }}   <el-popover - placement="top-start" - width="100" - trigger="hover" - > - <div style="text-align: center"> - <el-button - type="text" - @click="popoveramend(item.tagcategoryid)" - >淇敼</el-button - ><el-button type="text" @click="deletefenlei(item)" - ><span style="color: rgb(173, 55, 55)" - >鍒犻櫎</span - ></el-button - > - </div> - <i slot="reference" class="el-icon-share"></i> </el-popover - ></span> - </el-tab-pane> - </el-tabs> - </div> - </div> - <!-- 鍙充晶鏁版嵁 --> - <div class="leftvlue"> - <div class="leftvlue-top"></div> - <div class="leftvlue-bg"> - <el-row :gutter="20"> - <!--鏍囩鏁版嵁--> - <el-col :span="24" :xs="24"> - <el-form - :model="queryParams" - ref="queryForm" - size="small" - :inline="true" - v-show="showSearch" - label-width="98px" - > - <el-form-item label="鏍囩鍚嶇О" prop="userName"> - <el-input - v-model="queryParams.tagname" - placeholder="璇疯緭鍏�" - clearable - style="width: 200px" - @keyup.enter.native="handleQuery" - /> - </el-form-item> - - <el-form-item> - <el-button - type="primary" - icon="el-icon-search" - size="medium" - @click="handleQuery" - >鎼滅储</el-button - > - <el-button - icon="el-icon-refresh" - size="medium" - @click="resetQuery" - >閲嶇疆</el-button - > - </el-form-item> - </el-form> - - <el-row :gutter="10" class="mb8"> - <el-col :span="1.5"> - <el-button - type="primary" - plain - icon="el-icon-plus" - size="medium" - @click="addladeltag" - v-hasPermi="['system:user:add']" - >鏂板</el-button - > - </el-col> - - <el-col :span="1.5"> - <el-button - type="danger" - plain - icon="el-icon-delete" - size="medium" - :disabled="multiple" - @click="handleDelete" - v-hasPermi="['system:user:remove']" - >鍒犻櫎</el-button - > - </el-col> - <el-col :span="1.5"> - <div class="documentf"> - <div class="document"> - <el-button - type="warning" - plain - icon="el-icon-download" - size="medium" - @click="handleExport" - v-hasPermi="['system:user:export']" - >瀵煎嚭</el-button - > - </div> - </div> - </el-col> - - <!-- <el-col :span="1.5"> </el-col> --> - </el-row> - <!-- <right-toolbar - :showSearch.sync="showSearch" - @queryTable="getList" - :columns="columns" - ></right-toolbar> --> - <el-table - v-loading="loading" - :data="userList" - :border="true" - @selection-change="handleSelectionChange" - > - <el-table-column type="selection" width="50" align="center" /> - <el-table-column - label="搴忓彿" - align="center" - key="tagid" - prop="tagid" - /> - <el-table-column - label="鏍囩鍚嶇О" - align="center" - key="tagname" - prop="tagname" - :show-overflow-tooltip="true" - /> - <el-table-column - label="鏈�杩戠紪杈�" - align="center" - key="updateTime" - prop="updateTime" - width="200" - > - <template slot-scope="scope"> - <span - >{{ scope.row.updateBy }} - <p>{{ scope.row.updateTime }}</p></span - > - </template> - </el-table-column> - - <el-table-column - label="鏍囩鎻忚堪" - align="center" - key="tagdescription" - prop="tagdescription" - width="200" - > - </el-table-column> - <el-table-column - label="鐘舵��" - align="center" - key="isupload" - prop="isupload" - width="120" - > - <template slot-scope="scope"> - <el-switch - v-model="scope.row.isupload" - :active-value="1" - :inactive-value="0" - active-color="#13ce66" - @change="handleStatusChange(scope.row)" - ></el-switch> - </template> - </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> - - <pagination - v-show="total > 0" - :total="total" - :page.sync="queryParams.pageNum" - :limit.sync="queryParams.pageSize" - @pagination="getList" - /> - </el-col> - </el-row> - </div> - </div> - <!-- 娣诲姞绫诲埆寮规 --> - <el-dialog - :title="amendtag ? '淇敼绫诲埆' : '鏂板绫诲埆'" - width="30%" - :visible.sync="dialogFormVisible" - > - <el-form :model="classifyform"> - <el-form-item - :label="amendtag ? '璇疯緭鍏ユ柊鐨勭被鍒悕绉�' : '璇疯緭鍏ョ被鍒悕绉�'" - > - <el-input - v-model="classifyform.categoryname" - autocomplete="off" - ></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="submitsidecolumn">纭� 瀹�</el-button> - </div> - </el-dialog> - <!-- 鍒犻櫎绫诲埆纭妗� --> - <el-dialog title="璀﹀憡" :visible.sync="deleteVisible" width="40%"> - <div style="font-size: 20px; color: rgb(247, 76, 76)"> - 鏄惁纭鍒犻櫎鍒嗙被锛歔<span>{{ deletefenl }}</span - >]? - </div> - <div style="font-size: 20px"> - 姝ゆ搷浣滀細灏嗚绫诲埆涓嬫墍鏈夋ā鍧楄浆绉昏嚦[鏈垎绫籡锛屾槸鍚︾户缁垹闄ゆ鍒嗙被锛� - </div> - <span slot="footer" class="dialog-footer"> - <el-button @click="deleteVisible = false">鍙� 娑�</el-button> - <el-button type="primary" @click="deletefenlei">纭� 瀹�</el-button> - </span> - </el-dialog> - <!-- 淇敼/娣诲姞鏍囩寮规 --> - <el-dialog - :title="lstamendtag ? '淇敼鏍囩' : '鏂板鏍囩'" - width="30%" - :visible.sync="lstamendtagVisible" - > - <el-form ref="form" :model="tagform" label-width="80px"> - <el-form-item label="鏍囩鍚嶇О"> - <el-input v-model="tagform.tagname"></el-input> - </el-form-item> - <el-form-item label="鏍囩鍒嗙被"> - <el-select - v-model="tagform.tagcategoryid" - placeholder="璇烽�夋嫨鏍囩鍒嗙被" - > - <el-option - v-for="item in editableTabs" - :key="item.tagcategoryid" - :label="item.categoryname" - :value="item.tagcategoryid" - > - </el-option> - </el-select> - </el-form-item> - - <el-form-item label="鏄惁鍚敤"> - <el-switch - v-model="tagform.isupload" - :active-value="1" - :inactive-value="0" - active-color="#13ce66" - ></el-switch> - </el-form-item> - - <el-form-item label="鏍囩鎻忚堪"> - <el-input type="textarea" v-model="tagform.tagdescription"></el-input> - </el-form-item> - </el-form> - <div slot="footer" class="dialog-footer"> - <el-button @click="lstamendtagVisible = false">鍙� 娑�</el-button> - <el-button type="primary" @click="Maintenancetag">纭� 瀹�</el-button> - </div> - </el-dialog> - </div> -</template> - -<script> -import { - changetagcategory, - toamendtag, - toamendtagcategory, - addapitag, - addtagcategory, - detailstag, - deletetag, - deletetagcategory, - exporttag, - listtag, - tagclassifylist, -} from "@/api/system/label"; - - -import Treeselect from "@riophae/vue-treeselect"; -import "@riophae/vue-treeselect/dist/vue-treeselect.css"; -export default { - name: "questionnaire", - dicts: ["sys_normal_disable", "sys_user_sex"], - components: { Treeselect }, - data() { - return { - topactiveName: "Local", //椤堕儴閫夋嫨 - // 閬僵灞� - loading: false, - // 閫変腑鏁扮粍 - ids: [], - // 闈炲崟涓鐢� - single: true, - // 闈炲涓鐢� - multiple: true, - // 鏄剧ず鎼滅储鏉′欢 - showSearch: true, - idds: "", //鍒嗙被id - // 鎬绘潯鏁� - total: 0, - tagtotal: 0, - amendtag: false, //鏄惁淇敼绫诲埆 - lstamendtag: false, //鏄惁淇敼鏍囩 - scavisible: false, //鍒犻櫎寮规 - deleteVisible: false, //鍒嗙被鍒犻櫎寮规 - deletefenl: "楂樿鍘�", //鍒犻櫎椤� - //淇敼娣诲姞鏍囩寮规鏁版嵁 - tagform: { - isupload: "", - tagname: "", - tagcategoryid: "", - tagdescription: "", - }, - classifyform: { - categoryname: "", - }, - // 鏍囩琛ㄦ牸鏁版嵁 - userList: [], - // 寮瑰嚭灞傛爣棰� - title: "", - // 鏄惁鏄剧ず寮瑰嚭灞� - open: false, - // 鏃ユ湡鑼冨洿 - dateRange: [], - // 宀椾綅閫夐」 - postOptions: [], - // 瑙掕壊閫夐」 - roleOptions: [], - // 琛ㄥ崟鍙傛暟 - form: {}, - forms: { - name: "", - }, - numberlb: 22, - dialogFormVisible: false, //娣诲姞銆佷慨鏀圭被鍒脊妗� - lstamendtagVisible: false, //娣诲姞銆佷慨鏀规爣绛惧脊妗� - goQRCodeVisible: false, //浜岀淮鐮佸脊妗� - sidecolumnval: "", //绫诲埆鎼滅储 - propss: { multiple: true }, - topqueryParams: {}, //瀵煎嚭绛涢�夋潯浠� - optionss: [ - { - value: 1, - label: "涓滃崡", - }, - { - value: 2, - label: "瑗垮寳", - }, - { - value: 3, - label: "浠ㄤ花浠�", - }, - { - value: 4, - label: "鍏椋掗", - }, - ], - //绫诲埆鍒楄〃 - editableTabs: [], - // 鏌ヨ鏍囩鍒楄〃鍙傛暟 - queryParams: { - pageNum: 1, - pageSize: 10, - tagname: undefined, - tagdescription: undefined, - tagcategoryid: "0", - }, - // 鍒椾俊鎭� - columns: [ - { key: 0, label: `鏍囩缂栧彿`, visible: true }, - { key: 1, label: `鏍囩鍚嶇О`, visible: true }, - { key: 2, label: `鏍囩鏄电О`, visible: true }, - { key: 3, label: `閮ㄩ棬`, visible: true }, - { key: 4, label: `鎵嬫満鍙风爜`, visible: true }, - { key: 5, label: `鐘舵�乣, visible: true }, - { key: 6, label: `鍒涘缓鏃堕棿`, visible: true }, - ], - // 琛ㄥ崟鏍¢獙 - // rules: { - // userName: [ - // { required: true, message: "鏍囩鍚嶇О涓嶈兘涓虹┖", trigger: "blur" }, - // { - // min: 2, - // max: 20, - // message: "鏍囩鍚嶇О闀垮害蹇呴』浠嬩簬 2 鍜� 20 涔嬮棿", - // trigger: "blur", - // }, - // ], - // nickName: [ - // { required: true, message: "鏍囩鏄电О涓嶈兘涓虹┖", trigger: "blur" }, - // ], - // password: [ - // { required: true, message: "鏍囩瀵嗙爜涓嶈兘涓虹┖", trigger: "blur" }, - // { - // min: 5, - // max: 20, - // message: "鏍囩瀵嗙爜闀垮害蹇呴』浠嬩簬 5 鍜� 20 涔嬮棿", - // trigger: "blur", - // }, - // ], - // email: [ - // { - // type: "email", - // message: "璇疯緭鍏ユ纭殑閭鍦板潃", - // trigger: ["blur", "change"], - // }, - // ], - // phonenumber: [ - // { - // pattern: /^1[3|4|5|6|7|8|9][0-9]\d{8}$/, - // message: "璇疯緭鍏ユ纭殑鎵嬫満鍙风爜", - // trigger: "blur", - // }, - // ], - // IDnumber: [ - // { - // pattern: - // /^\d{6}((((((19|20)\d{2})(0[13-9]|1[012])(0[1-9]|[12]\d|30))|(((19|20)\d{2})(0[13578]|1[02])31)|((19|20)\d{2})02(0[1-9]|1\d|2[0-8])|((((19|20)([13579][26]|[2468][048]|0[48]))|(2000))0229))\d{3})|((((\d{2})(0[13-9]|1[012])(0[1-9]|[12]\d|30))|((\d{2})(0[13578]|1[02])31)|((\d{2})02(0[1-9]|1\d|2[0-8]))|(([13579][26]|[2468][048]|0[048])0229))\d{2}))(\d|X|x)$/, - // message: "璇疯緭鍏ユ纭殑韬唤璇佸彿鐮�", - // trigger: "blur", - // }, - // ], - // }, - }; - }, - watch: {}, - created() { - this.getList(); - this.gitclasify(); - }, - - methods: { - /** 鏌ヨ鏍囩鍒楄〃 */ - getList(row) { - console.log(this.queryParams); - listtag(this.addDateRange(this.queryParams)).then((response) => { - this.total = response.total; - this.userList = response.rows; - }); - }, - handleClick() { - this.getList(); - }, - /** 淇敼鏍囩 */ - handleUpdate(row) { - console.log(row, "淇敼鏍囩"); - this.lstamendtagVisible = true; - this.lstamendtag = true; - this.tagform = { - isupload: row.isupload, - tagname: row.tagname, - tagcategoryid: row.tagcategoryid, - tagdescription: row.tagdescription, - tagid: row.tagid, - }; - }, - addladeltag() { - this.lstamendtagVisible = true; - this.lstamendtag = false; - this.tagform = { - isupload: "", - tagname: "", - tagcategoryid: "", - tagdescription: "", - tagid: "", - }; - }, - // 娣诲姞/淇敼鏍囩 - Maintenancetag() { - if (this.lstamendtag) { - toamendtag(this.tagform).then((response) => { - console.log(response); - this.lstamendtagVisible = false; - this.gitclasify(); - this.getList(); - }); - } else { - addapitag(this.tagform).then((response) => { - console.log(response); - this.lstamendtagVisible = false; - this.gitclasify(); - this.getList(); - }); - } - this.tagform = { - isupload: "", - tagname: "", - tagcategoryid: "", - tagdescription: "", - tagid: "", - }; - }, - - // 鑾峰彇鏍囩鍒嗙被 - gitclasify() { - tagclassifylist(this.addDateRange(this.forms)).then((response) => { - console.log(response); - this.numberlb = response.total; - this.editableTabs = response.rows; - const sum = this.editableTabs.reduce((accumulator, currentValue) => { - return accumulator + Number(currentValue.tagNum); - }, 0); - console.log(sum); - this.tagtotal = sum; - }); - }, - // 娣诲姞/淇敼绫诲埆 - submitsidecolumn() { - if (this.amendtag) { - this.classifyform.tagcategoryid = this.idds; - toamendtagcategory(this.addDateRange(this.classifyform)).then( - (response) => { - console.log(response); - this.gitclasify(); - } - ); - } else { - addtagcategory(this.addDateRange(this.classifyform)).then( - (response) => { - console.log(response); - this.gitclasify(); - } - ); - } - this.classifyform = { - categoryname: "", - }; - this.idds = ""; - this.dialogFormVisible = false; - }, - //鍒犻櫎鍒嗙被 - deletefenlei(row) { - if (this.deleteVisible) { - deletetagcategory(this.idds).then((response) => { - console.log(response); - this.gitclasify(); - }); - this.deleteVisible = false; - this.idds = ""; - } else { - this.deleteVisible = true; - this.idds = row.tagcategoryid; - this.deletefenl = row.categoryname; - } - }, - // 淇敼鍒嗙被寮规 - popoveramend(tagcategoryid) { - this.idds = tagcategoryid; - this.amendtag = true; - this.dialogFormVisible = true; - }, - - // 琛ㄥ崟閲嶇疆 - reset() { - this.form = { - userId: undefined, - deptId: undefined, - userName: undefined, - nickName: undefined, - password: undefined, - phonenumber: undefined, - email: undefined, - sex: undefined, - status: "0", - remark: undefined, - postIds: [], - roleIds: [], - }; - this.resetForm("form"); - }, - // 鏍囩鐘舵�佷慨鏀� - handleStatusChange(row) { - console.log(row.isupload); - let text = row.isupload == 0 ? "鍋滅敤" : "鍚敤"; - this.$modal - .confirm('纭瑕�"' + text + '""' + row.tagname + '"鏍囩鍚楋紵') - .then(function () { - return toamendtag(row); - }) - .then(() => { - this.$modal.msgSuccess(text + "鎴愬姛"); - }) - .catch(function () { - row.isupload = row.isupload == 0 ? 1 : 0; - }); - }, - /** 鎼滅储鎸夐挳鎿嶄綔 */ - handleQuery() { - this.queryParams.pageNum = 1; - this.getList(); - }, - /** 閲嶇疆鎸夐挳鎿嶄綔 */ - resetQuery() { - this.dateRange = []; - this.resetForm("queryForm"); - this.queryParams.tagname = ""; - this.$refs.tree.setCurrentKey(null); - this.handleQuery(); - }, - // 澶氶�夋閫変腑鏁版嵁 - handleSelectionChange(selection) { - this.ids = selection.map((item) => item.tagid); - this.single = selection.length != 1; - this.multiple = !selection.length; - }, - - /** 鍒犻櫎鎸夐挳鎿嶄綔 */ - handleDelete(row) { - console.log(row, "鍒犻櫎寮圭獥"); - const tagids = row.tagid || this.ids; - console.log(tagids); - const tagname = row.tagname; - this.$modal - .confirm( - tagname - ? '鏄惁纭鍒犻櫎鏍囩鍚嶇О涓�"' + tagname + '"鐨勬暟鎹」锛�' - : "鏄惁纭鍒犻櫎閫変腑鐨勬暟鎹」锛�" - ) - .then(function () { - return deletetag(tagids); - }) - .then(() => { - this.getList(); - this.gitclasify(); - this.$modal.msgSuccess("鍒犻櫎鎴愬姛"); - }) - .catch(() => {}); - }, - /** 瀵煎嚭鎸夐挳鎿嶄綔 */ - handleExport() { - this.download( - "base/tag/export", - { - ...this.topqueryParams, - }, - `user_${new Date().getTime()}.xlsx` - ); - }, - }, -}; -</script> - -<style lang="scss" scoped> -.Questionnairemanagement { - display: flex; -} -.sidecolumn { - width: 300px; - min-height: 100vh; - text-align: center; - // display: flex; - margin-top: 20px; - 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); - .sidecolumn-top { - display: flex; - justify-content: space-between; - .top-wj { - font-size: 20px; - } - .top-tj { - font-size: 18px; - - color: rgb(0, 89, 255); - cursor: pointer; - } - } - .center-ss { - margin-top: 30px; - .input-with-select { - height: 40px !important; - } - } - .bottom-fl { - margin-top: 30px; - display: center !important; - } -} -.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); - .qrcode-text { - font-size: 20px; - span { - margin-left: 20px; - } - } - .qrcode-img { - width: 300px; - height: 400px; - } -} -::v-deep.el-tabs--left, -.el-tabs--right { - overflow: hidden; - align-items: center; - display: flex; -} -::v-deep.el-input--medium .el-input__inner { - height: 40px !important; -} -::v-deep.el-tabs--right .el-tabs__active-bar.is-right { - height: 40px; - width: 5px; - left: 0; -} -::v-deep.el-tabs--right .el-tabs__item.is-right { - display: block; - text-align: left; - font-size: 20px; -} - -.leftvlue { - // display: flex; - // flex: 1; - width: 80%; - margin-top: 20px; - // margin: 20px; - padding: 30px; - background: #ffff; - border: 1px solid #dcdfe6; - -webkit-box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.12), - 0 0 6px 0 rgba(0, 0, 0, 0.04); - .mulsz { - font-size: 20px; - } -} -.document { - width: 100px; - height: 50px; -} -.documentf { - display: flex; - justify-content: flex-end; -} -.button-text { - color: rgb(70, 204, 238); -} -.button-textck { - color: rgb(39, 167, 67); -} -.button-textxg { - color: rgb(35, 81, 233); -} -.button-textsc { - color: rgb(235, 23, 23); -} -</style> diff --git a/src/views/system/menu/index.vue b/src/views/system/menu/index.vue deleted file mode 100644 index d895775..0000000 --- a/src/views/system/menu/index.vue +++ /dev/null @@ -1,453 +0,0 @@ -<template> - <div class="app-container"> - <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch"> - <el-form-item label="鑿滃崟鍚嶇О" prop="menuName"> - <el-input - v-model="queryParams.menuName" - placeholder="璇疯緭鍏ヨ彍鍗曞悕绉�" - clearable - @keyup.enter.native="handleQuery" - /> - </el-form-item> - <el-form-item label="鐘舵��" prop="status"> - <el-select v-model="queryParams.status" placeholder="鑿滃崟鐘舵��" clearable> - <el-option - v-for="dict in dict.type.sys_normal_disable" - :key="dict.value" - :label="dict.label" - :value="dict.value" - /> - </el-select> - </el-form-item> - <el-form-item> - <el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">鎼滅储</el-button> - <el-button icon="el-icon-refresh" size="mini" @click="resetQuery">閲嶇疆</el-button> - </el-form-item> - </el-form> - - <el-row :gutter="10" class="mb8"> - <el-col :span="1.5"> - <el-button - type="primary" - plain - icon="el-icon-plus" - size="mini" - @click="handleAdd" - v-hasPermi="['system:menu:add']" - >鏂板</el-button> - </el-col> - <el-col :span="1.5"> - <el-button - type="info" - plain - icon="el-icon-sort" - size="mini" - @click="toggleExpandAll" - >灞曞紑/鎶樺彔</el-button> - </el-col> - <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar> - </el-row> - - <el-table - v-if="refreshTable" - v-loading="loading" - :data="menuList" - row-key="menuId" - :default-expand-all="isExpandAll" - :tree-props="{children: 'children', hasChildren: 'hasChildren'}" - > - <el-table-column prop="menuName" label="鑿滃崟鍚嶇О" :show-overflow-tooltip="true" width="160"></el-table-column> - <el-table-column prop="icon" label="鍥炬爣" align="center" width="100"> - <template slot-scope="scope"> - <svg-icon :icon-class="scope.row.icon" /> - </template> - </el-table-column> - <el-table-column prop="orderNum" label="鎺掑簭" width="60"></el-table-column> - <el-table-column prop="perms" label="鏉冮檺鏍囪瘑" :show-overflow-tooltip="true"></el-table-column> - <el-table-column prop="component" label="缁勪欢璺緞" :show-overflow-tooltip="true"></el-table-column> - <el-table-column prop="status" label="鐘舵��" width="80"> - <template slot-scope="scope"> - <dict-tag :options="dict.type.sys_normal_disable" :value="scope.row.status"/> - </template> - </el-table-column> - <el-table-column label="鍒涘缓鏃堕棿" align="center" prop="createTime"> - <template slot-scope="scope"> - <span>{{ formatTime(scope.row.createTime) }}</span> - </template> - </el-table-column> - <el-table-column label="鎿嶄綔" align="center" class-name="small-padding fixed-width"> - <template slot-scope="scope"> - <el-button - size="mini" - type="text" - icon="el-icon-edit" - @click="handleUpdate(scope.row)" - v-hasPermi="['system:menu:edit']" - >淇敼</el-button> - <el-button - size="mini" - type="text" - icon="el-icon-plus" - @click="handleAdd(scope.row)" - v-hasPermi="['system:menu:add']" - >鏂板</el-button> - <el-button - size="mini" - type="text" - icon="el-icon-delete" - @click="handleDelete(scope.row)" - v-hasPermi="['system:menu:remove']" - >鍒犻櫎</el-button> - </template> - </el-table-column> - </el-table> - - <!-- 娣诲姞鎴栦慨鏀硅彍鍗曞璇濇 --> - <el-dialog :title="title" :visible.sync="open" width="680px" append-to-body> - <el-form ref="form" :model="form" :rules="rules" label-width="100px"> - <el-row> - <el-col :span="24"> - <el-form-item label="涓婄骇鑿滃崟" prop="parentId"> - <treeselect - v-model="form.parentId" - :options="menuOptions" - :normalizer="normalizer" - :show-count="true" - placeholder="閫夋嫨涓婄骇鑿滃崟" - /> - </el-form-item> - </el-col> - <el-col :span="24"> - <el-form-item label="鑿滃崟绫诲瀷" prop="menuType"> - <el-radio-group v-model="form.menuType"> - <el-radio label="M">鐩綍</el-radio> - <el-radio label="C">鑿滃崟</el-radio> - <el-radio label="F">鎸夐挳</el-radio> - </el-radio-group> - </el-form-item> - </el-col> - <el-col :span="24" v-if="form.menuType != 'F'"> - <el-form-item label="鑿滃崟鍥炬爣" prop="icon"> - <el-popover - placement="bottom-start" - width="460" - trigger="click" - @show="$refs['iconSelect'].reset()" - > - <IconSelect ref="iconSelect" @selected="selected" /> - <el-input slot="reference" v-model="form.icon" placeholder="鐐瑰嚮閫夋嫨鍥炬爣" readonly> - <svg-icon - v-if="form.icon" - slot="prefix" - :icon-class="form.icon" - class="el-input__icon" - style="height: 32px;width: 16px;" - /> - <i v-else slot="prefix" class="el-icon-search el-input__icon" /> - </el-input> - </el-popover> - </el-form-item> - </el-col> - <el-col :span="12"> - <el-form-item label="鑿滃崟鍚嶇О" prop="menuName"> - <el-input v-model="form.menuName" placeholder="璇疯緭鍏ヨ彍鍗曞悕绉�" /> - </el-form-item> - </el-col> - <el-col :span="12"> - <el-form-item label="鏄剧ず鎺掑簭" prop="orderNum"> - <el-input-number v-model="form.orderNum" controls-position="right" :min="0" /> - </el-form-item> - </el-col> - <el-col :span="12" v-if="form.menuType != 'F'"> - <el-form-item prop="isFrame"> - <span slot="label"> - <el-tooltip content="閫夋嫨鏄閾惧垯璺敱鍦板潃闇�瑕佷互`http(s)://`寮�澶�" placement="top"> - <i class="el-icon-question"></i> - </el-tooltip> - 鏄惁澶栭摼 - </span> - <el-radio-group v-model="form.isFrame"> - <el-radio label="0">鏄�</el-radio> - <el-radio label="1">鍚�</el-radio> - </el-radio-group> - </el-form-item> - </el-col> - <el-col :span="12" v-if="form.menuType != 'F'"> - <el-form-item prop="path"> - <span slot="label"> - <el-tooltip content="璁块棶鐨勮矾鐢卞湴鍧�锛屽锛歚user`锛屽澶栫綉鍦板潃闇�鍐呴摼璁块棶鍒欎互`http(s)://`寮�澶�" placement="top"> - <i class="el-icon-question"></i> - </el-tooltip> - 璺敱鍦板潃 - </span> - <el-input v-model="form.path" placeholder="璇疯緭鍏ヨ矾鐢卞湴鍧�" /> - </el-form-item> - </el-col> - <el-col :span="12" v-if="form.menuType == 'C'"> - <el-form-item prop="component"> - <span slot="label"> - <el-tooltip content="璁块棶鐨勭粍浠惰矾寰勶紝濡傦細`system/user/index`锛岄粯璁ゅ湪`views`鐩綍涓�" placement="top"> - <i class="el-icon-question"></i> - </el-tooltip> - 缁勪欢璺緞 - </span> - <el-input v-model="form.component" placeholder="璇疯緭鍏ョ粍浠惰矾寰�" /> - </el-form-item> - </el-col> - <el-col :span="12" v-if="form.menuType != 'M'"> - <el-form-item prop="perms"> - <el-input v-model="form.perms" placeholder="璇疯緭鍏ユ潈闄愭爣璇�" maxlength="100" /> - <span slot="label"> - <el-tooltip content="鎺у埗鍣ㄤ腑瀹氫箟鐨勬潈闄愬瓧绗︼紝濡傦細@PreAuthorize(`@ss.hasPermi('system:user:list')`)" placement="top"> - <i class="el-icon-question"></i> - </el-tooltip> - 鏉冮檺瀛楃 - </span> - </el-form-item> - </el-col> - <el-col :span="12" v-if="form.menuType == 'C'"> - <el-form-item prop="query"> - <el-input v-model="form.query" placeholder="璇疯緭鍏ヨ矾鐢卞弬鏁�" maxlength="255" /> - <span slot="label"> - <el-tooltip content='璁块棶璺敱鐨勯粯璁や紶閫掑弬鏁帮紝濡傦細`{"id": 1, "name": "ry"}`' placement="top"> - <i class="el-icon-question"></i> - </el-tooltip> - 璺敱鍙傛暟 - </span> - </el-form-item> - </el-col> - <el-col :span="12" v-if="form.menuType == 'C'"> - <el-form-item prop="isCache"> - <span slot="label"> - <el-tooltip content="閫夋嫨鏄垯浼氳`keep-alive`缂撳瓨锛岄渶瑕佸尮閰嶇粍浠剁殑`name`鍜屽湴鍧�淇濇寔涓�鑷�" placement="top"> - <i class="el-icon-question"></i> - </el-tooltip> - 鏄惁缂撳瓨 - </span> - <el-radio-group v-model="form.isCache"> - <el-radio label="0">缂撳瓨</el-radio> - <el-radio label="1">涓嶇紦瀛�</el-radio> - </el-radio-group> - </el-form-item> - </el-col> - <el-col :span="12" v-if="form.menuType != 'F'"> - <el-form-item prop="visible"> - <span slot="label"> - <el-tooltip content="閫夋嫨闅愯棌鍒欒矾鐢卞皢涓嶄細鍑虹幇鍦ㄤ晶杈规爮锛屼絾浠嶇劧鍙互璁块棶" placement="top"> - <i class="el-icon-question"></i> - </el-tooltip> - 鏄剧ず鐘舵�� - </span> - <el-radio-group v-model="form.visible"> - <el-radio - v-for="dict in dict.type.sys_show_hide" - :key="dict.value" - :label="dict.value" - >{{dict.label}}</el-radio> - </el-radio-group> - </el-form-item> - </el-col> - <el-col :span="12" v-if="form.menuType != 'F'"> - <el-form-item prop="status"> - <span slot="label"> - <el-tooltip content="閫夋嫨鍋滅敤鍒欒矾鐢卞皢涓嶄細鍑虹幇鍦ㄤ晶杈规爮锛屼篃涓嶈兘琚闂�" placement="top"> - <i class="el-icon-question"></i> - </el-tooltip> - 鑿滃崟鐘舵�� - </span> - <el-radio-group v-model="form.status"> - <el-radio - v-for="dict in dict.type.sys_normal_disable" - :key="dict.value" - :label="dict.value" - >{{dict.label}}</el-radio> - </el-radio-group> - </el-form-item> - </el-col> - </el-row> - </el-form> - <div slot="footer" class="dialog-footer"> - <el-button type="primary" @click="submitForm">纭� 瀹�</el-button> - <el-button @click="cancel">鍙� 娑�</el-button> - </div> - </el-dialog> - </div> -</template> - -<script> -import { listMenu, getMenu, delMenu, addMenu, updateMenu } from "@/api/system/menu"; -import Treeselect from "@riophae/vue-treeselect"; -import "@riophae/vue-treeselect/dist/vue-treeselect.css"; -import IconSelect from "@/components/IconSelect"; - -export default { - name: "Menu", - dicts: ['sys_show_hide', 'sys_normal_disable'], - components: { Treeselect, IconSelect }, - data() { - return { - // 閬僵灞� - loading: true, - // 鏄剧ず鎼滅储鏉′欢 - showSearch: true, - // 鑿滃崟琛ㄦ牸鏍戞暟鎹� - menuList: [], - // 鑿滃崟鏍戦�夐」 - menuOptions: [], - // 寮瑰嚭灞傛爣棰� - title: "", - // 鏄惁鏄剧ず寮瑰嚭灞� - open: false, - // 鏄惁灞曞紑锛岄粯璁ゅ叏閮ㄦ姌鍙� - isExpandAll: false, - // 閲嶆柊娓叉煋琛ㄦ牸鐘舵�� - refreshTable: true, - // 鏌ヨ鍙傛暟 - queryParams: { - menuName: undefined, - visible: undefined - }, - // 琛ㄥ崟鍙傛暟 - form: {}, - // 琛ㄥ崟鏍¢獙 - rules: { - menuName: [ - { required: true, message: "鑿滃崟鍚嶇О涓嶈兘涓虹┖", trigger: "blur" } - ], - orderNum: [ - { required: true, message: "鑿滃崟椤哄簭涓嶈兘涓虹┖", trigger: "blur" } - ], - path: [ - { required: true, message: "璺敱鍦板潃涓嶈兘涓虹┖", trigger: "blur" } - ] - } - }; - }, - created() { - this.getList(); - }, - methods: { - // 閫夋嫨鍥炬爣 - selected(name) { - this.form.icon = name; - }, - /** 鏌ヨ鑿滃崟鍒楄〃 */ - getList() { - this.loading = true; - listMenu(this.queryParams).then(response => { - this.menuList = this.handleTree(response.data, "menuId"); - this.loading = false; - }); - }, - /** 杞崲鑿滃崟鏁版嵁缁撴瀯 */ - normalizer(node) { - if (node.children && !node.children.length) { - delete node.children; - } - return { - id: node.menuId, - label: node.menuName, - children: node.children - }; - }, - /** 鏌ヨ鑿滃崟涓嬫媺鏍戠粨鏋� */ - getTreeselect() { - listMenu().then(response => { - this.menuOptions = []; - const menu = { menuId: 0, menuName: '涓荤被鐩�', children: [] }; - menu.children = this.handleTree(response.data, "menuId"); - this.menuOptions.push(menu); - }); - }, - // 鍙栨秷鎸夐挳 - cancel() { - this.open = false; - this.reset(); - }, - // 琛ㄥ崟閲嶇疆 - reset() { - this.form = { - menuId: undefined, - parentId: 0, - menuName: undefined, - icon: undefined, - menuType: "M", - orderNum: undefined, - isFrame: "1", - isCache: "0", - visible: "0", - status: "0" - }; - this.resetForm("form"); - }, - /** 鎼滅储鎸夐挳鎿嶄綔 */ - handleQuery() { - this.getList(); - }, - /** 閲嶇疆鎸夐挳鎿嶄綔 */ - resetQuery() { - this.resetForm("queryForm"); - this.handleQuery(); - }, - /** 鏂板鎸夐挳鎿嶄綔 */ - handleAdd(row) { - this.reset(); - this.getTreeselect(); - if (row != null && row.menuId) { - this.form.parentId = row.menuId; - } else { - this.form.parentId = 0; - } - this.open = true; - this.title = "娣诲姞鑿滃崟"; - }, - /** 灞曞紑/鎶樺彔鎿嶄綔 */ - toggleExpandAll() { - this.refreshTable = false; - this.isExpandAll = !this.isExpandAll; - this.$nextTick(() => { - this.refreshTable = true; - }); - }, - /** 淇敼鎸夐挳鎿嶄綔 */ - handleUpdate(row) { - this.reset(); - this.getTreeselect(); - getMenu(row.menuId).then(response => { - this.form = response.data; - this.open = true; - this.title = "淇敼鑿滃崟"; - }); - }, - /** 鎻愪氦鎸夐挳 */ - submitForm: function() { - this.$refs["form"].validate(valid => { - if (valid) { - if (this.form.menuId != undefined) { - updateMenu(this.form).then(response => { - this.$modal.msgSuccess("淇敼鎴愬姛"); - this.open = false; - this.getList(); - }); - } else { - addMenu(this.form).then(response => { - this.$modal.msgSuccess("鏂板鎴愬姛"); - this.open = false; - this.getList(); - }); - } - } - }); - }, - /** 鍒犻櫎鎸夐挳鎿嶄綔 */ - handleDelete(row) { - this.$modal.confirm('鏄惁纭鍒犻櫎鍚嶇О涓�"' + row.menuName + '"鐨勬暟鎹」锛�').then(function() { - return delMenu(row.menuId); - }).then(() => { - this.getList(); - this.$modal.msgSuccess("鍒犻櫎鎴愬姛"); - }).catch(() => {}); - } - } -}; -</script> diff --git a/src/views/system/notice/index.vue b/src/views/system/notice/index.vue deleted file mode 100644 index 6881881..0000000 --- a/src/views/system/notice/index.vue +++ /dev/null @@ -1,397 +0,0 @@ -<template> - <div class="app-container"> - <el-form - :model="queryParams" - ref="queryForm" - size="small" - :inline="true" - v-show="showSearch" - label-width="68px" - > - <el-form-item label="鍏憡鏍囬" prop="noticeTitle"> - <el-input - v-model="queryParams.noticeTitle" - placeholder="璇疯緭鍏ュ叕鍛婃爣棰�" - clearable - @keyup.enter.native="handleQuery" - /> - </el-form-item> - <el-form-item label="鎿嶄綔浜哄憳" prop="createBy"> - <el-input - v-model="queryParams.createBy" - placeholder="璇疯緭鍏ユ搷浣滀汉鍛�" - clearable - @keyup.enter.native="handleQuery" - /> - </el-form-item> - <el-form-item label="绫诲瀷" prop="noticeType"> - <el-select - v-model="queryParams.noticeType" - placeholder="鍏憡绫诲瀷" - clearable - > - <el-option - v-for="dict in dict.type.sys_notice_type" - :key="dict.value" - :label="dict.label" - :value="dict.value" - /> - </el-select> - </el-form-item> - <el-form-item label="鍙戦�佹椂闂�" prop="createBy"> - <el-date-picker - v-model="queryParams.timeofdeparture" - type="daterange" - range-separator="鑷�" - start-placeholder="寮�濮嬫棩鏈�" - end-placeholder="缁撴潫鏃ユ湡" - > - </el-date-picker> - </el-form-item> - <el-form-item> - <el-button - type="primary" - icon="el-icon-search" - size="mini" - @click="handleQuery" - >鎼滅储</el-button - > - <el-button icon="el-icon-refresh" size="mini" @click="resetQuery" - >閲嶇疆</el-button - > - </el-form-item> - </el-form> - - <el-row :gutter="10" class="mb8"> - <el-col :span="1.5"> - <el-button - type="primary" - plain - icon="el-icon-plus" - size="mini" - @click="handleAdd" - v-hasPermi="['system:notice:add']" - >鏂板</el-button - > - </el-col> - <el-col :span="1.5"> - <el-button - type="success" - plain - icon="el-icon-edit" - size="mini" - :disabled="single" - @click="handleUpdate" - v-hasPermi="['system:notice:edit']" - >淇敼</el-button - > - </el-col> - <el-col :span="1.5"> - <el-button - type="danger" - plain - icon="el-icon-delete" - size="mini" - :disabled="multiple" - @click="handleDelete" - v-hasPermi="['system:notice:remove']" - >鍒犻櫎</el-button - > - </el-col> - <right-toolbar - :showSearch.sync="showSearch" - @queryTable="getList" - ></right-toolbar> - </el-row> - - <el-table - v-loading="loading" - :data="noticeList" - @selection-change="handleSelectionChange" - > - <el-table-column type="selection" width="55" align="center" /> - <el-table-column - label="搴忓彿" - align="center" - prop="noticeId" - width="100" - /> - <el-table-column - label="鍏憡鏍囬" - align="center" - prop="noticeTitle" - :show-overflow-tooltip="true" - /> - <el-table-column - label="鍏憡绫诲瀷" - align="center" - prop="noticeType" - width="100" - > - <template slot-scope="scope"> - <dict-tag - :options="dict.type.sys_notice_type" - :value="scope.row.noticeType" - /> - </template> - </el-table-column> - <el-table-column label="鐘舵��" align="center" prop="status" width="100"> - <template slot-scope="scope"> - <dict-tag - :options="dict.type.sys_notice_status" - :value="scope.row.status" - /> - </template> - </el-table-column> - <el-table-column - label="鍒涘缓鑰�" - align="center" - prop="createBy" - width="100" - /> - <el-table-column - label="鍒涘缓鏃堕棿" - align="center" - prop="createTime" - width="100" - > - <template slot-scope="scope"> - <span>{{ parseTime(scope.row.createTime, "{y}-{m}-{d}") }}</span> - </template> - </el-table-column> - <el-table-column - label="鎿嶄綔" - align="center" - class-name="small-padding fixed-width" - > - <template slot-scope="scope"> - <el-button - size="mini" - type="text" - icon="el-icon-edit" - @click="handleUpdate(scope.row)" - v-hasPermi="['system:notice:edit']" - >淇敼</el-button - > - <el-button - size="mini" - type="text" - icon="el-icon-delete" - @click="handleDelete(scope.row)" - v-hasPermi="['system:notice:remove']" - >鍒犻櫎</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-dialog :title="title" :visible.sync="open" width="780px" append-to-body> - <el-form ref="form" :model="form" :rules="rules" label-width="80px"> - <el-row> - <el-col :span="12"> - <el-form-item label="鍏憡鏍囬" prop="noticeTitle"> - <el-input - v-model="form.noticeTitle" - placeholder="璇疯緭鍏ュ叕鍛婃爣棰�" - /> - </el-form-item> - </el-col> - <el-col :span="12"> - <el-form-item label="鍏憡绫诲瀷" prop="noticeType"> - <el-select v-model="form.noticeType" placeholder="璇烽�夋嫨鍏憡绫诲瀷"> - <el-option - v-for="dict in dict.type.sys_notice_type" - :key="dict.value" - :label="dict.label" - :value="dict.value" - ></el-option> - </el-select> - </el-form-item> - </el-col> - <el-col :span="24"> - <el-form-item label="鐘舵��"> - <el-radio-group v-model="form.status"> - <el-radio - v-for="dict in dict.type.sys_notice_status" - :key="dict.value" - :label="dict.value" - >{{ dict.label }}</el-radio - > - </el-radio-group> - </el-form-item> - </el-col> - <el-col :span="24"> - <el-form-item label="鍐呭"> - <editor v-model="form.noticeContent" :min-height="192" /> - </el-form-item> - </el-col> - </el-row> - </el-form> - <div slot="footer" class="dialog-footer"> - <el-button type="primary" @click="submitForm">纭� 瀹�</el-button> - <el-button @click="cancel">鍙� 娑�</el-button> - </div> - </el-dialog> - </div> -</template> - -<script> -import { - listNotice, - getNotice, - delNotice, - addNotice, - updateNotice, -} from "@/api/system/notice"; - -export default { - name: "Notice", - dicts: ["sys_notice_status", "sys_notice_type"], - data() { - return { - // 閬僵灞� - loading: true, - // 閫変腑鏁扮粍 - ids: [], - // 闈炲崟涓鐢� - single: true, - // 闈炲涓鐢� - multiple: true, - // 鏄剧ず鎼滅储鏉′欢 - showSearch: true, - // 鎬绘潯鏁� - total: 0, - // 鍏憡琛ㄦ牸鏁版嵁 - noticeList: [], - // 寮瑰嚭灞傛爣棰� - title: "", - // 鏄惁鏄剧ず寮瑰嚭灞� - open: false, - // 鏌ヨ鍙傛暟 - queryParams: { - pageNum: 1, - pageSize: 10, - noticeTitle: undefined, - createBy: undefined, - status: undefined, - }, - // 琛ㄥ崟鍙傛暟 - form: {}, - // 琛ㄥ崟鏍¢獙 - rules: { - noticeTitle: [ - { required: true, message: "鍏憡鏍囬涓嶈兘涓虹┖", trigger: "blur" }, - ], - noticeType: [ - { required: true, message: "鍏憡绫诲瀷涓嶈兘涓虹┖", trigger: "change" }, - ], - }, - }; - }, - created() { - this.getList(); - }, - methods: { - /** 鏌ヨ鍏憡鍒楄〃 */ - getList() { - this.loading = true; - listNotice(this.queryParams).then((response) => { - this.noticeList = response.rows; - this.total = response.total; - this.loading = false; - }); - }, - // 鍙栨秷鎸夐挳 - cancel() { - this.open = false; - this.reset(); - }, - // 琛ㄥ崟閲嶇疆 - reset() { - this.form = { - noticeId: undefined, - noticeTitle: undefined, - noticeType: undefined, - noticeContent: undefined, - status: "0", - }; - this.resetForm("form"); - }, - /** 鎼滅储鎸夐挳鎿嶄綔 */ - handleQuery() { - this.queryParams.pageNum = 1; - this.getList(); - }, - /** 閲嶇疆鎸夐挳鎿嶄綔 */ - resetQuery() { - this.resetForm("queryForm"); - this.handleQuery(); - }, - // 澶氶�夋閫変腑鏁版嵁 - handleSelectionChange(selection) { - this.ids = selection.map((item) => item.noticeId); - this.single = selection.length != 1; - this.multiple = !selection.length; - }, - /** 鏂板鎸夐挳鎿嶄綔 */ - handleAdd() { - this.reset(); - this.open = true; - this.title = "娣诲姞鍏憡"; - }, - /** 淇敼鎸夐挳鎿嶄綔 */ - handleUpdate(row) { - this.reset(); - const noticeId = row.noticeId || this.ids; - getNotice(noticeId).then((response) => { - this.form = response.data; - this.open = true; - this.title = "淇敼鍏憡"; - }); - }, - /** 鎻愪氦鎸夐挳 */ - submitForm: function () { - this.$refs["form"].validate((valid) => { - if (valid) { - if (this.form.noticeId != undefined) { - updateNotice(this.form).then((response) => { - this.$modal.msgSuccess("淇敼鎴愬姛"); - this.open = false; - this.getList(); - }); - } else { - addNotice(this.form).then((response) => { - this.$modal.msgSuccess("鏂板鎴愬姛"); - this.open = false; - this.getList(); - }); - } - } - }); - }, - /** 鍒犻櫎鎸夐挳鎿嶄綔 */ - handleDelete(row) { - const noticeIds = row.noticeId || this.ids; - this.$modal - .confirm('鏄惁纭鍒犻櫎鍏憡缂栧彿涓�"' + noticeIds + '"鐨勬暟鎹」锛�') - .then(function () { - return delNotice(noticeIds); - }) - .then(() => { - this.getList(); - this.$modal.msgSuccess("鍒犻櫎鎴愬姛"); - }) - .catch(() => {}); - }, - }, -}; -</script> diff --git a/src/views/system/post/index.vue b/src/views/system/post/index.vue deleted file mode 100644 index 58094c5..0000000 --- a/src/views/system/post/index.vue +++ /dev/null @@ -1,309 +0,0 @@ -<template> - <div class="app-container"> - <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px"> - <el-form-item label="宀椾綅缂栫爜" prop="postCode"> - <el-input - v-model="queryParams.postCode" - placeholder="璇疯緭鍏ュ矖浣嶇紪鐮�" - clearable - @keyup.enter.native="handleQuery" - /> - </el-form-item> - <el-form-item label="宀椾綅鍚嶇О" prop="postName"> - <el-input - v-model="queryParams.postName" - placeholder="璇疯緭鍏ュ矖浣嶅悕绉�" - clearable - @keyup.enter.native="handleQuery" - /> - </el-form-item> - <el-form-item label="鐘舵��" prop="status"> - <el-select v-model="queryParams.status" placeholder="宀椾綅鐘舵��" clearable> - <el-option - v-for="dict in dict.type.sys_normal_disable" - :key="dict.value" - :label="dict.label" - :value="dict.value" - /> - </el-select> - </el-form-item> - <el-form-item> - <el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">鎼滅储</el-button> - <el-button icon="el-icon-refresh" size="mini" @click="resetQuery">閲嶇疆</el-button> - </el-form-item> - </el-form> - - <el-row :gutter="10" class="mb8"> - <el-col :span="1.5"> - <el-button - type="primary" - plain - icon="el-icon-plus" - size="mini" - @click="handleAdd" - v-hasPermi="['system:post:add']" - >鏂板</el-button> - </el-col> - <el-col :span="1.5"> - <el-button - type="success" - plain - icon="el-icon-edit" - size="mini" - :disabled="single" - @click="handleUpdate" - v-hasPermi="['system:post:edit']" - >淇敼</el-button> - </el-col> - <el-col :span="1.5"> - <el-button - type="danger" - plain - icon="el-icon-delete" - size="mini" - :disabled="multiple" - @click="handleDelete" - v-hasPermi="['system:post:remove']" - >鍒犻櫎</el-button> - </el-col> - <el-col :span="1.5"> - <el-button - type="warning" - plain - icon="el-icon-download" - size="mini" - @click="handleExport" - v-hasPermi="['system:post:export']" - >瀵煎嚭</el-button> - </el-col> - <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar> - </el-row> - - <el-table v-loading="loading" :data="postList" @selection-change="handleSelectionChange"> - <el-table-column type="selection" width="55" align="center" /> - <el-table-column label="宀椾綅缂栧彿" align="center" prop="postId" /> - <el-table-column label="宀椾綅缂栫爜" align="center" prop="postCode" /> - <el-table-column label="宀椾綅鍚嶇О" align="center" prop="postName" /> - <el-table-column label="宀椾綅鎺掑簭" align="center" prop="postSort" /> - <el-table-column label="鐘舵��" align="center" prop="status"> - <template slot-scope="scope"> - <dict-tag :options="dict.type.sys_normal_disable" :value="scope.row.status"/> - </template> - </el-table-column> - <el-table-column label="鍒涘缓鏃堕棿" align="center" prop="createTime" width="180"> - <template slot-scope="scope"> - <span>{{ formatTime(scope.row.createTime) }}</span> - </template> - </el-table-column> - <el-table-column label="鎿嶄綔" align="center" class-name="small-padding fixed-width"> - <template slot-scope="scope"> - <el-button - size="mini" - type="text" - icon="el-icon-edit" - @click="handleUpdate(scope.row)" - v-hasPermi="['system:post:edit']" - >淇敼</el-button> - <el-button - size="mini" - type="text" - icon="el-icon-delete" - @click="handleDelete(scope.row)" - v-hasPermi="['system:post:remove']" - >鍒犻櫎</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-dialog :title="title" :visible.sync="open" width="500px" append-to-body> - <el-form ref="form" :model="form" :rules="rules" label-width="80px"> - <el-form-item label="宀椾綅鍚嶇О" prop="postName"> - <el-input v-model="form.postName" placeholder="璇疯緭鍏ュ矖浣嶅悕绉�" /> - </el-form-item> - <el-form-item label="宀椾綅缂栫爜" prop="postCode"> - <el-input v-model="form.postCode" placeholder="璇疯緭鍏ョ紪鐮佸悕绉�" /> - </el-form-item> - <el-form-item label="宀椾綅椤哄簭" prop="postSort"> - <el-input-number v-model="form.postSort" controls-position="right" :min="0" /> - </el-form-item> - <el-form-item label="宀椾綅鐘舵��" prop="status"> - <el-radio-group v-model="form.status"> - <el-radio - v-for="dict in dict.type.sys_normal_disable" - :key="dict.value" - :label="dict.value" - >{{dict.label}}</el-radio> - </el-radio-group> - </el-form-item> - <el-form-item label="澶囨敞" prop="remark"> - <el-input v-model="form.remark" type="textarea" placeholder="璇疯緭鍏ュ唴瀹�" /> - </el-form-item> - </el-form> - <div slot="footer" class="dialog-footer"> - <el-button type="primary" @click="submitForm">纭� 瀹�</el-button> - <el-button @click="cancel">鍙� 娑�</el-button> - </div> - </el-dialog> - </div> -</template> - -<script> -import { listPost, getPost, delPost, addPost, updatePost } from "@/api/system/post"; - -export default { - name: "Post", - dicts: ['sys_normal_disable'], - data() { - return { - // 閬僵灞� - loading: true, - // 閫変腑鏁扮粍 - ids: [], - // 闈炲崟涓鐢� - single: true, - // 闈炲涓鐢� - multiple: true, - // 鏄剧ず鎼滅储鏉′欢 - showSearch: true, - // 鎬绘潯鏁� - total: 0, - // 宀椾綅琛ㄦ牸鏁版嵁 - postList: [], - // 寮瑰嚭灞傛爣棰� - title: "", - // 鏄惁鏄剧ず寮瑰嚭灞� - open: false, - // 鏌ヨ鍙傛暟 - queryParams: { - pageNum: 1, - pageSize: 10, - postCode: undefined, - postName: undefined, - status: undefined - }, - // 琛ㄥ崟鍙傛暟 - form: {}, - // 琛ㄥ崟鏍¢獙 - rules: { - postName: [ - { required: true, message: "宀椾綅鍚嶇О涓嶈兘涓虹┖", trigger: "blur" } - ], - postCode: [ - { required: true, message: "宀椾綅缂栫爜涓嶈兘涓虹┖", trigger: "blur" } - ], - postSort: [ - { required: true, message: "宀椾綅椤哄簭涓嶈兘涓虹┖", trigger: "blur" } - ] - } - }; - }, - created() { - this.getList(); - }, - methods: { - /** 鏌ヨ宀椾綅鍒楄〃 */ - getList() { - this.loading = true; - listPost(this.queryParams).then(response => { - this.postList = response.rows; - this.total = response.total; - this.loading = false; - }); - }, - // 鍙栨秷鎸夐挳 - cancel() { - this.open = false; - this.reset(); - }, - // 琛ㄥ崟閲嶇疆 - reset() { - this.form = { - postId: undefined, - postCode: undefined, - postName: undefined, - postSort: 0, - status: "0", - remark: undefined - }; - this.resetForm("form"); - }, - /** 鎼滅储鎸夐挳鎿嶄綔 */ - handleQuery() { - this.queryParams.pageNum = 1; - this.getList(); - }, - /** 閲嶇疆鎸夐挳鎿嶄綔 */ - resetQuery() { - this.resetForm("queryForm"); - this.handleQuery(); - }, - // 澶氶�夋閫変腑鏁版嵁 - handleSelectionChange(selection) { - this.ids = selection.map(item => item.postId) - this.single = selection.length!=1 - this.multiple = !selection.length - }, - /** 鏂板鎸夐挳鎿嶄綔 */ - handleAdd() { - this.reset(); - this.open = true; - this.title = "娣诲姞宀椾綅"; - }, - /** 淇敼鎸夐挳鎿嶄綔 */ - handleUpdate(row) { - this.reset(); - const postId = row.postId || this.ids - getPost(postId).then(response => { - this.form = response.data; - this.open = true; - this.title = "淇敼宀椾綅"; - }); - }, - /** 鎻愪氦鎸夐挳 */ - submitForm: function() { - this.$refs["form"].validate(valid => { - if (valid) { - if (this.form.postId != undefined) { - updatePost(this.form).then(response => { - this.$modal.msgSuccess("淇敼鎴愬姛"); - this.open = false; - this.getList(); - }); - } else { - addPost(this.form).then(response => { - this.$modal.msgSuccess("鏂板鎴愬姛"); - this.open = false; - this.getList(); - }); - } - } - }); - }, - /** 鍒犻櫎鎸夐挳鎿嶄綔 */ - handleDelete(row) { - const postIds = row.postId || this.ids; - this.$modal.confirm('鏄惁纭鍒犻櫎宀椾綅缂栧彿涓�"' + postIds + '"鐨勬暟鎹」锛�').then(function() { - return delPost(postIds); - }).then(() => { - this.getList(); - this.$modal.msgSuccess("鍒犻櫎鎴愬姛"); - }).catch(() => {}); - }, - /** 瀵煎嚭鎸夐挳鎿嶄綔 */ - handleExport() { - this.download('system/post/export', { - ...this.queryParams - }, `post_${new Date().getTime()}.xlsx`) - } - } -}; -</script> diff --git a/src/views/system/role/authUser.vue b/src/views/system/role/authUser.vue deleted file mode 100644 index ba247c0..0000000 --- a/src/views/system/role/authUser.vue +++ /dev/null @@ -1,199 +0,0 @@ -<template> - <div class="app-container"> - <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch"> - <el-form-item label="鐢ㄦ埛鍚嶇О" prop="userName"> - <el-input - v-model="queryParams.userName" - placeholder="璇疯緭鍏ョ敤鎴峰悕绉�" - clearable - style="width: 240px" - @keyup.enter.native="handleQuery" - /> - </el-form-item> - <el-form-item label="鎵嬫満鍙风爜" prop="phonenumber"> - <el-input - v-model="queryParams.phonenumber" - placeholder="璇疯緭鍏ユ墜鏈哄彿鐮�" - clearable - style="width: 240px" - @keyup.enter.native="handleQuery" - /> - </el-form-item> - <el-form-item> - <el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">鎼滅储</el-button> - <el-button icon="el-icon-refresh" size="mini" @click="resetQuery">閲嶇疆</el-button> - </el-form-item> - </el-form> - - <el-row :gutter="10" class="mb8"> - <el-col :span="1.5"> - <el-button - type="primary" - plain - icon="el-icon-plus" - size="mini" - @click="openSelectUser" - v-hasPermi="['system:role:add']" - >娣诲姞鐢ㄦ埛</el-button> - </el-col> - <el-col :span="1.5"> - <el-button - type="danger" - plain - icon="el-icon-circle-close" - size="mini" - :disabled="multiple" - @click="cancelAuthUserAll" - v-hasPermi="['system:role:remove']" - >鎵归噺鍙栨秷鎺堟潈</el-button> - </el-col> - <el-col :span="1.5"> - <el-button - type="warning" - plain - icon="el-icon-close" - size="mini" - @click="handleClose" - >鍏抽棴</el-button> - </el-col> - <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar> - </el-row> - - <el-table v-loading="loading" :data="userList" @selection-change="handleSelectionChange"> - <el-table-column type="selection" width="55" align="center" /> - <el-table-column label="鐢ㄦ埛鍚嶇О" prop="userName" :show-overflow-tooltip="true" /> - <el-table-column label="鐢ㄦ埛鏄电О" prop="nickName" :show-overflow-tooltip="true" /> - <el-table-column label="閭" prop="email" :show-overflow-tooltip="true" /> - <el-table-column label="鎵嬫満" prop="phonenumber" :show-overflow-tooltip="true" /> - <el-table-column label="鐘舵��" align="center" prop="status"> - <template slot-scope="scope"> - <dict-tag :options="dict.type.sys_normal_disable" :value="scope.row.status"/> - </template> - </el-table-column> - <el-table-column label="鍒涘缓鏃堕棿" align="center" prop="createTime" width="180"> - <template slot-scope="scope"> - <span>{{ formatTime(scope.row.createTime) }}</span> - </template> - </el-table-column> - <el-table-column label="鎿嶄綔" align="center" class-name="small-padding fixed-width"> - <template slot-scope="scope"> - <el-button - size="mini" - type="text" - icon="el-icon-circle-close" - @click="cancelAuthUser(scope.row)" - v-hasPermi="['system:role:remove']" - >鍙栨秷鎺堟潈</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" - /> - <select-user ref="select" :roleId="queryParams.roleId" @ok="handleQuery" /> - </div> -</template> - -<script> -import { allocatedUserList, authUserCancel, authUserCancelAll } from "@/api/system/role"; -import selectUser from "./selectUser"; - -export default { - name: "AuthUser", - dicts: ['sys_normal_disable'], - components: { selectUser }, - data() { - return { - // 閬僵灞� - loading: true, - // 閫変腑鐢ㄦ埛缁� - userIds: [], - // 闈炲涓鐢� - multiple: true, - // 鏄剧ず鎼滅储鏉′欢 - showSearch: true, - // 鎬绘潯鏁� - total: 0, - // 鐢ㄦ埛琛ㄦ牸鏁版嵁 - userList: [], - // 鏌ヨ鍙傛暟 - queryParams: { - pageNum: 1, - pageSize: 10, - roleId: undefined, - userName: undefined, - phonenumber: undefined - } - }; - }, - created() { - const roleId = this.$route.params && this.$route.params.roleId; - if (roleId) { - this.queryParams.roleId = roleId; - this.getList(); - } - }, - methods: { - /** 鏌ヨ鎺堟潈鐢ㄦ埛鍒楄〃 */ - getList() { - this.loading = true; - allocatedUserList(this.queryParams).then(response => { - this.userList = response.rows; - this.total = response.total; - this.loading = false; - } - ); - }, - // 杩斿洖鎸夐挳 - handleClose() { - const obj = { path: "/system/role" }; - this.$tab.closeOpenPage(obj); - }, - /** 鎼滅储鎸夐挳鎿嶄綔 */ - handleQuery() { - this.queryParams.pageNum = 1; - this.getList(); - }, - /** 閲嶇疆鎸夐挳鎿嶄綔 */ - resetQuery() { - this.resetForm("queryForm"); - this.handleQuery(); - }, - // 澶氶�夋閫変腑鏁版嵁 - handleSelectionChange(selection) { - this.userIds = selection.map(item => item.userId) - this.multiple = !selection.length - }, - /** 鎵撳紑鎺堟潈鐢ㄦ埛琛ㄥ脊绐� */ - openSelectUser() { - this.$refs.select.show(); - }, - /** 鍙栨秷鎺堟潈鎸夐挳鎿嶄綔 */ - cancelAuthUser(row) { - const roleId = this.queryParams.roleId; - this.$modal.confirm('纭瑕佸彇娑堣鐢ㄦ埛"' + row.userName + '"瑙掕壊鍚楋紵').then(function() { - return authUserCancel({ userId: row.userId, roleId: roleId }); - }).then(() => { - this.getList(); - this.$modal.msgSuccess("鍙栨秷鎺堟潈鎴愬姛"); - }).catch(() => {}); - }, - /** 鎵归噺鍙栨秷鎺堟潈鎸夐挳鎿嶄綔 */ - cancelAuthUserAll(row) { - const roleId = this.queryParams.roleId; - const userIds = this.userIds.join(","); - this.$modal.confirm('鏄惁鍙栨秷閫変腑鐢ㄦ埛鎺堟潈鏁版嵁椤癸紵').then(function() { - return authUserCancelAll({ roleId: roleId, userIds: userIds }); - }).then(() => { - this.getList(); - this.$modal.msgSuccess("鍙栨秷鎺堟潈鎴愬姛"); - }).catch(() => {}); - } - } -}; -</script> diff --git a/src/views/system/role/index.vue b/src/views/system/role/index.vue deleted file mode 100644 index 7fe1866..0000000 --- a/src/views/system/role/index.vue +++ /dev/null @@ -1,605 +0,0 @@ -<template> - <div class="app-container"> - <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch"> - <el-form-item label="瑙掕壊鍚嶇О" prop="roleName"> - <el-input - v-model="queryParams.roleName" - placeholder="璇疯緭鍏ヨ鑹插悕绉�" - clearable - style="width: 240px" - @keyup.enter.native="handleQuery" - /> - </el-form-item> - <el-form-item label="鏉冮檺瀛楃" prop="roleKey"> - <el-input - v-model="queryParams.roleKey" - placeholder="璇疯緭鍏ユ潈闄愬瓧绗�" - clearable - style="width: 240px" - @keyup.enter.native="handleQuery" - /> - </el-form-item> - <el-form-item label="鐘舵��" prop="status"> - <el-select - v-model="queryParams.status" - placeholder="瑙掕壊鐘舵��" - clearable - style="width: 240px" - > - <el-option - v-for="dict in dict.type.sys_normal_disable" - :key="dict.value" - :label="dict.label" - :value="dict.value" - /> - </el-select> - </el-form-item> - <el-form-item label="鍒涘缓鏃堕棿"> - <el-date-picker - v-model="dateRange" - style="width: 240px" - value-format="yyyy-MM-dd" - type="daterange" - range-separator="-" - start-placeholder="寮�濮嬫棩鏈�" - end-placeholder="缁撴潫鏃ユ湡" - ></el-date-picker> - </el-form-item> - <el-form-item> - <el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">鎼滅储</el-button> - <el-button icon="el-icon-refresh" size="mini" @click="resetQuery">閲嶇疆</el-button> - </el-form-item> - </el-form> - - <el-row :gutter="10" class="mb8"> - <el-col :span="1.5"> - <el-button - type="primary" - plain - icon="el-icon-plus" - size="mini" - @click="handleAdd" - v-hasPermi="['system:role:add']" - >鏂板</el-button> - </el-col> - <el-col :span="1.5"> - <el-button - type="success" - plain - icon="el-icon-edit" - size="mini" - :disabled="single" - @click="handleUpdate" - v-hasPermi="['system:role:edit']" - >淇敼</el-button> - </el-col> - <el-col :span="1.5"> - <el-button - type="danger" - plain - icon="el-icon-delete" - size="mini" - :disabled="multiple" - @click="handleDelete" - v-hasPermi="['system:role:remove']" - >鍒犻櫎</el-button> - </el-col> - <el-col :span="1.5"> - <el-button - type="warning" - plain - icon="el-icon-download" - size="mini" - @click="handleExport" - v-hasPermi="['system:role:export']" - >瀵煎嚭</el-button> - </el-col> - <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar> - </el-row> - - <el-table v-loading="loading" :data="roleList" @selection-change="handleSelectionChange"> - <el-table-column type="selection" width="55" align="center" /> - <el-table-column label="瑙掕壊缂栧彿" prop="roleId" width="120" /> - <el-table-column label="瑙掕壊鍚嶇О" prop="roleName" :show-overflow-tooltip="true" width="150" /> - <el-table-column label="鏉冮檺瀛楃" prop="roleKey" :show-overflow-tooltip="true" width="150" /> - <el-table-column label="鏄剧ず椤哄簭" prop="roleSort" width="100" /> - <el-table-column label="鐘舵��" align="center" width="100"> - <template slot-scope="scope"> - <el-switch - v-model="scope.row.status" - active-value="0" - inactive-value="1" - @change="handleStatusChange(scope.row)" - ></el-switch> - </template> - </el-table-column> - <el-table-column label="鍒涘缓鏃堕棿" align="center" prop="createTime" width="180"> - <template slot-scope="scope"> - <span>{{ formatTime(scope.row.createTime) }}</span> - </template> - </el-table-column> - <el-table-column label="鎿嶄綔" align="center" class-name="small-padding fixed-width"> - <template slot-scope="scope" v-if="scope.row.roleId !== 1"> - <el-button - size="mini" - type="text" - icon="el-icon-edit" - @click="handleUpdate(scope.row)" - v-hasPermi="['system:role:edit']" - >淇敼</el-button> - <el-button - size="mini" - type="text" - icon="el-icon-delete" - @click="handleDelete(scope.row)" - v-hasPermi="['system:role:remove']" - >鍒犻櫎</el-button> - <el-dropdown size="mini" @command="(command) => handleCommand(command, scope.row)" v-hasPermi="['system:role:edit']"> - <el-button size="mini" type="text" icon="el-icon-d-arrow-right">鏇村</el-button> - <el-dropdown-menu slot="dropdown"> - <el-dropdown-item command="handleDataScope" icon="el-icon-circle-check" - v-hasPermi="['system:role:edit']">鏁版嵁鏉冮檺</el-dropdown-item> - <el-dropdown-item command="handleAuthUser" icon="el-icon-user" - v-hasPermi="['system:role:edit']">鍒嗛厤鐢ㄦ埛</el-dropdown-item> - </el-dropdown-menu> - </el-dropdown> - </template> - </el-table-column> - </el-table> - - <pagination - v-show="total>0" - :total="total" - :page.sync="queryParams.pageNum" - :limit.sync="queryParams.pageSize" - @pagination="getList" - /> - - <!-- 娣诲姞鎴栦慨鏀硅鑹查厤缃璇濇 --> - <el-dialog :title="title" :visible.sync="open" width="500px" append-to-body> - <el-form ref="form" :model="form" :rules="rules" label-width="100px"> - <el-form-item label="瑙掕壊鍚嶇О" prop="roleName"> - <el-input v-model="form.roleName" placeholder="璇疯緭鍏ヨ鑹插悕绉�" /> - </el-form-item> - <el-form-item prop="roleKey"> - <span slot="label"> - <el-tooltip content="鎺у埗鍣ㄤ腑瀹氫箟鐨勬潈闄愬瓧绗︼紝濡傦細@PreAuthorize(`@ss.hasRole('admin')`)" placement="top"> - <i class="el-icon-question"></i> - </el-tooltip> - 鏉冮檺瀛楃 - </span> - <el-input v-model="form.roleKey" placeholder="璇疯緭鍏ユ潈闄愬瓧绗�" /> - </el-form-item> - <el-form-item label="瑙掕壊椤哄簭" prop="roleSort"> - <el-input-number v-model="form.roleSort" controls-position="right" :min="0" /> - </el-form-item> - <el-form-item label="鐘舵��"> - <el-radio-group v-model="form.status"> - <el-radio - v-for="dict in dict.type.sys_normal_disable" - :key="dict.value" - :label="dict.value" - >{{dict.label}}</el-radio> - </el-radio-group> - </el-form-item> - <el-form-item label="鑿滃崟鏉冮檺"> - <el-checkbox v-model="menuExpand" @change="handleCheckedTreeExpand($event, 'menu')">灞曞紑/鎶樺彔</el-checkbox> - <el-checkbox v-model="menuNodeAll" @change="handleCheckedTreeNodeAll($event, 'menu')">鍏ㄩ��/鍏ㄤ笉閫�</el-checkbox> - <el-checkbox v-model="form.menuCheckStrictly" @change="handleCheckedTreeConnect($event, 'menu')">鐖跺瓙鑱斿姩</el-checkbox> - <el-tree - class="tree-border" - :data="menuOptions" - show-checkbox - ref="menu" - node-key="id" - :check-strictly="!form.menuCheckStrictly" - empty-text="鍔犺浇涓紝璇风◢鍊�" - :props="defaultProps" - ></el-tree> - </el-form-item> - <el-form-item label="澶囨敞"> - <el-input v-model="form.remark" type="textarea" placeholder="璇疯緭鍏ュ唴瀹�"></el-input> - </el-form-item> - </el-form> - <div slot="footer" class="dialog-footer"> - <el-button type="primary" @click="submitForm">纭� 瀹�</el-button> - <el-button @click="cancel">鍙� 娑�</el-button> - </div> - </el-dialog> - - <!-- 鍒嗛厤瑙掕壊鏁版嵁鏉冮檺瀵硅瘽妗� --> - <el-dialog :title="title" :visible.sync="openDataScope" width="500px" append-to-body> - <el-form :model="form" label-width="80px"> - <el-form-item label="瑙掕壊鍚嶇О"> - <el-input v-model="form.roleName" :disabled="true" /> - </el-form-item> - <el-form-item label="鏉冮檺瀛楃"> - <el-input v-model="form.roleKey" :disabled="true" /> - </el-form-item> - <el-form-item label="鏉冮檺鑼冨洿"> - <el-select v-model="form.dataScope" @change="dataScopeSelectChange"> - <el-option - v-for="item in dataScopeOptions" - :key="item.value" - :label="item.label" - :value="item.value" - ></el-option> - </el-select> - </el-form-item> - <el-form-item label="鏁版嵁鏉冮檺" v-show="form.dataScope == 2"> - <el-checkbox v-model="deptExpand" @change="handleCheckedTreeExpand($event, 'dept')">灞曞紑/鎶樺彔</el-checkbox> - <el-checkbox v-model="deptNodeAll" @change="handleCheckedTreeNodeAll($event, 'dept')">鍏ㄩ��/鍏ㄤ笉閫�</el-checkbox> - <el-checkbox v-model="form.deptCheckStrictly" @change="handleCheckedTreeConnect($event, 'dept')">鐖跺瓙鑱斿姩</el-checkbox> - <el-tree - class="tree-border" - :data="deptOptions" - show-checkbox - default-expand-all - ref="dept" - node-key="id" - :check-strictly="!form.deptCheckStrictly" - empty-text="鍔犺浇涓紝璇风◢鍊�" - :props="defaultProps" - ></el-tree> - </el-form-item> - </el-form> - <div slot="footer" class="dialog-footer"> - <el-button type="primary" @click="submitDataScope">纭� 瀹�</el-button> - <el-button @click="cancelDataScope">鍙� 娑�</el-button> - </div> - </el-dialog> - </div> -</template> - -<script> -import { listRole, getRole, delRole, addRole, updateRole, dataScope, changeRoleStatus, deptTreeSelect } from "@/api/system/role"; -import { treeselect as menuTreeselect, roleMenuTreeselect } from "@/api/system/menu"; - -export default { - name: "Role", - dicts: ['sys_normal_disable'], - data() { - return { - // 閬僵灞� - loading: true, - // 閫変腑鏁扮粍 - ids: [], - // 闈炲崟涓鐢� - single: true, - // 闈炲涓鐢� - multiple: true, - // 鏄剧ず鎼滅储鏉′欢 - showSearch: true, - // 鎬绘潯鏁� - total: 0, - // 瑙掕壊琛ㄦ牸鏁版嵁 - roleList: [], - // 寮瑰嚭灞傛爣棰� - title: "", - // 鏄惁鏄剧ず寮瑰嚭灞� - open: false, - // 鏄惁鏄剧ず寮瑰嚭灞傦紙鏁版嵁鏉冮檺锛� - openDataScope: false, - menuExpand: false, - menuNodeAll: false, - deptExpand: true, - deptNodeAll: false, - // 鏃ユ湡鑼冨洿 - dateRange: [], - // 鏁版嵁鑼冨洿閫夐」 - dataScopeOptions: [ - { - value: "1", - label: "鍏ㄩ儴鏁版嵁鏉冮檺" - }, - { - value: "2", - label: "鑷畾鏁版嵁鏉冮檺" - }, - { - value: "3", - label: "鏈儴闂ㄦ暟鎹潈闄�" - }, - { - value: "4", - label: "鏈儴闂ㄥ強浠ヤ笅鏁版嵁鏉冮檺" - }, - { - value: "5", - label: "浠呮湰浜烘暟鎹潈闄�" - } - ], - // 鑿滃崟鍒楄〃 - menuOptions: [], - // 閮ㄩ棬鍒楄〃 - deptOptions: [], - // 鏌ヨ鍙傛暟 - queryParams: { - pageNum: 1, - pageSize: 10, - roleName: undefined, - roleKey: undefined, - status: undefined - }, - // 琛ㄥ崟鍙傛暟 - form: {}, - defaultProps: { - children: "children", - label: "label" - }, - // 琛ㄥ崟鏍¢獙 - rules: { - roleName: [ - { required: true, message: "瑙掕壊鍚嶇О涓嶈兘涓虹┖", trigger: "blur" } - ], - roleKey: [ - { required: true, message: "鏉冮檺瀛楃涓嶈兘涓虹┖", trigger: "blur" } - ], - roleSort: [ - { required: true, message: "瑙掕壊椤哄簭涓嶈兘涓虹┖", trigger: "blur" } - ] - } - }; - }, - created() { - this.getList(); - }, - methods: { - /** 鏌ヨ瑙掕壊鍒楄〃 */ - getList() { - this.loading = true; - listRole(this.addDateRange(this.queryParams, this.dateRange)).then(response => { - this.roleList = response.rows; - this.total = response.total; - this.loading = false; - } - ); - }, - /** 鏌ヨ鑿滃崟鏍戠粨鏋� */ - getMenuTreeselect() { - menuTreeselect().then(response => { - this.menuOptions = response.data; - }); - }, - // 鎵�鏈夎彍鍗曡妭鐐规暟鎹� - getMenuAllCheckedKeys() { - // 鐩墠琚�変腑鐨勮彍鍗曡妭鐐� - let checkedKeys = this.$refs.menu.getCheckedKeys(); - // 鍗婇�変腑鐨勮彍鍗曡妭鐐� - let halfCheckedKeys = this.$refs.menu.getHalfCheckedKeys(); - checkedKeys.unshift.apply(checkedKeys, halfCheckedKeys); - return checkedKeys; - }, - // 鎵�鏈夐儴闂ㄨ妭鐐规暟鎹� - getDeptAllCheckedKeys() { - // 鐩墠琚�変腑鐨勯儴闂ㄨ妭鐐� - let checkedKeys = this.$refs.dept.getCheckedKeys(); - // 鍗婇�変腑鐨勯儴闂ㄨ妭鐐� - let halfCheckedKeys = this.$refs.dept.getHalfCheckedKeys(); - checkedKeys.unshift.apply(checkedKeys, halfCheckedKeys); - return checkedKeys; - }, - /** 鏍规嵁瑙掕壊ID鏌ヨ鑿滃崟鏍戠粨鏋� */ - getRoleMenuTreeselect(roleId) { - return roleMenuTreeselect(roleId).then(response => { - this.menuOptions = response.menus; - return response; - }); - }, - /** 鏍规嵁瑙掕壊ID鏌ヨ閮ㄩ棬鏍戠粨鏋� */ - getDeptTree(roleId) { - return deptTreeSelect(roleId).then(response => { - this.deptOptions = response.depts; - return response; - }); - }, - // 瑙掕壊鐘舵�佷慨鏀� - handleStatusChange(row) { - let text = row.status === "0" ? "鍚敤" : "鍋滅敤"; - this.$modal.confirm('纭瑕�"' + text + '""' + row.roleName + '"瑙掕壊鍚楋紵').then(function() { - return changeRoleStatus(row.roleId, row.status); - }).then(() => { - this.$modal.msgSuccess(text + "鎴愬姛"); - }).catch(function() { - row.status = row.status === "0" ? "1" : "0"; - }); - }, - // 鍙栨秷鎸夐挳 - cancel() { - this.open = false; - this.reset(); - }, - // 鍙栨秷鎸夐挳锛堟暟鎹潈闄愶級 - cancelDataScope() { - this.openDataScope = false; - this.reset(); - }, - // 琛ㄥ崟閲嶇疆 - reset() { - if (this.$refs.menu != undefined) { - this.$refs.menu.setCheckedKeys([]); - } - this.menuExpand = false, - this.menuNodeAll = false, - this.deptExpand = true, - this.deptNodeAll = false, - this.form = { - roleId: undefined, - roleName: undefined, - roleKey: undefined, - roleSort: 0, - status: "0", - menuIds: [], - deptIds: [], - menuCheckStrictly: true, - deptCheckStrictly: true, - remark: undefined - }; - this.resetForm("form"); - }, - /** 鎼滅储鎸夐挳鎿嶄綔 */ - handleQuery() { - this.queryParams.pageNum = 1; - this.getList(); - }, - /** 閲嶇疆鎸夐挳鎿嶄綔 */ - resetQuery() { - this.dateRange = []; - this.resetForm("queryForm"); - this.handleQuery(); - }, - // 澶氶�夋閫変腑鏁版嵁 - handleSelectionChange(selection) { - this.ids = selection.map(item => item.roleId) - this.single = selection.length!=1 - this.multiple = !selection.length - }, - // 鏇村鎿嶄綔瑙﹀彂 - handleCommand(command, row) { - switch (command) { - case "handleDataScope": - this.handleDataScope(row); - break; - case "handleAuthUser": - this.handleAuthUser(row); - break; - default: - break; - } - }, - // 鏍戞潈闄愶紙灞曞紑/鎶樺彔锛� - handleCheckedTreeExpand(value, type) { - if (type == 'menu') { - let treeList = this.menuOptions; - for (let i = 0; i < treeList.length; i++) { - this.$refs.menu.store.nodesMap[treeList[i].id].expanded = value; - } - } else if (type == 'dept') { - let treeList = this.deptOptions; - for (let i = 0; i < treeList.length; i++) { - this.$refs.dept.store.nodesMap[treeList[i].id].expanded = value; - } - } - }, - // 鏍戞潈闄愶紙鍏ㄩ��/鍏ㄤ笉閫夛級 - handleCheckedTreeNodeAll(value, type) { - if (type == 'menu') { - this.$refs.menu.setCheckedNodes(value ? this.menuOptions: []); - } else if (type == 'dept') { - this.$refs.dept.setCheckedNodes(value ? this.deptOptions: []); - } - }, - // 鏍戞潈闄愶紙鐖跺瓙鑱斿姩锛� - handleCheckedTreeConnect(value, type) { - if (type == 'menu') { - this.form.menuCheckStrictly = value ? true: false; - } else if (type == 'dept') { - this.form.deptCheckStrictly = value ? true: false; - } - }, - /** 鏂板鎸夐挳鎿嶄綔 */ - handleAdd() { - this.reset(); - this.getMenuTreeselect(); - this.open = true; - this.title = "娣诲姞瑙掕壊"; - }, - /** 淇敼鎸夐挳鎿嶄綔 */ - handleUpdate(row) { - this.reset(); - const roleId = row.roleId || this.ids - const roleMenu = this.getRoleMenuTreeselect(roleId); - getRole(roleId).then(response => { - this.form = response.data; - this.open = true; - this.$nextTick(() => { - roleMenu.then(res => { - let checkedKeys = res.checkedKeys - checkedKeys.forEach((v) => { - this.$nextTick(()=>{ - this.$refs.menu.setChecked(v, true ,false); - }) - }) - }); - }); - this.title = "淇敼瑙掕壊"; - }); - }, - /** 閫夋嫨瑙掕壊鏉冮檺鑼冨洿瑙﹀彂 */ - dataScopeSelectChange(value) { - if(value !== '2') { - this.$refs.dept.setCheckedKeys([]); - } - }, - /** 鍒嗛厤鏁版嵁鏉冮檺鎿嶄綔 */ - handleDataScope(row) { - this.reset(); - const deptTreeSelect = this.getDeptTree(row.roleId); - getRole(row.roleId).then(response => { - this.form = response.data; - this.openDataScope = true; - this.$nextTick(() => { - deptTreeSelect.then(res => { - this.$refs.dept.setCheckedKeys(res.checkedKeys); - }); - }); - this.title = "鍒嗛厤鏁版嵁鏉冮檺"; - }); - }, - /** 鍒嗛厤鐢ㄦ埛鎿嶄綔 */ - handleAuthUser: function(row) { - const roleId = row.roleId; - this.$router.push("/system/role-auth/user/" + roleId); - }, - /** 鎻愪氦鎸夐挳 */ - submitForm: function() { - this.$refs["form"].validate(valid => { - if (valid) { - if (this.form.roleId != undefined) { - this.form.menuIds = this.getMenuAllCheckedKeys(); - updateRole(this.form).then(response => { - this.$modal.msgSuccess("淇敼鎴愬姛"); - this.open = false; - this.getList(); - }); - } else { - this.form.menuIds = this.getMenuAllCheckedKeys(); - addRole(this.form).then(response => { - this.$modal.msgSuccess("鏂板鎴愬姛"); - this.open = false; - this.getList(); - }); - } - } - }); - }, - /** 鎻愪氦鎸夐挳锛堟暟鎹潈闄愶級 */ - submitDataScope: function() { - if (this.form.roleId != undefined) { - this.form.deptIds = this.getDeptAllCheckedKeys(); - dataScope(this.form).then(response => { - this.$modal.msgSuccess("淇敼鎴愬姛"); - this.openDataScope = false; - this.getList(); - }); - } - }, - /** 鍒犻櫎鎸夐挳鎿嶄綔 */ - handleDelete(row) { - const roleIds = row.roleId || this.ids; - this.$modal.confirm('鏄惁纭鍒犻櫎瑙掕壊缂栧彿涓�"' + roleIds + '"鐨勬暟鎹」锛�').then(function() { - return delRole(roleIds); - }).then(() => { - this.getList(); - this.$modal.msgSuccess("鍒犻櫎鎴愬姛"); - }).catch(() => {}); - }, - /** 瀵煎嚭鎸夐挳鎿嶄綔 */ - handleExport() { - this.download('system/role/export', { - ...this.queryParams - }, `role_${new Date().getTime()}.xlsx`) - } - } -}; -</script> diff --git a/src/views/system/role/selectUser.vue b/src/views/system/role/selectUser.vue deleted file mode 100644 index cd708e7..0000000 --- a/src/views/system/role/selectUser.vue +++ /dev/null @@ -1,138 +0,0 @@ -<template> - <!-- 鎺堟潈鐢ㄦ埛 --> - <el-dialog title="閫夋嫨鐢ㄦ埛" :visible.sync="visible" width="800px" top="5vh" append-to-body> - <el-form :model="queryParams" ref="queryForm" size="small" :inline="true"> - <el-form-item label="鐢ㄦ埛鍚嶇О" prop="userName"> - <el-input - v-model="queryParams.userName" - placeholder="璇疯緭鍏ョ敤鎴峰悕绉�" - clearable - @keyup.enter.native="handleQuery" - /> - </el-form-item> - <el-form-item label="鎵嬫満鍙风爜" prop="phonenumber"> - <el-input - v-model="queryParams.phonenumber" - placeholder="璇疯緭鍏ユ墜鏈哄彿鐮�" - clearable - @keyup.enter.native="handleQuery" - /> - </el-form-item> - <el-form-item> - <el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">鎼滅储</el-button> - <el-button icon="el-icon-refresh" size="mini" @click="resetQuery">閲嶇疆</el-button> - </el-form-item> - </el-form> - <el-row> - <el-table @row-click="clickRow" ref="table" :data="userList" @selection-change="handleSelectionChange" height="260px"> - <el-table-column type="selection" width="55"></el-table-column> - <el-table-column label="鐢ㄦ埛鍚嶇О" prop="userName" :show-overflow-tooltip="true" /> - <el-table-column label="鐢ㄦ埛鏄电О" prop="nickName" :show-overflow-tooltip="true" /> - <el-table-column label="閭" prop="email" :show-overflow-tooltip="true" /> - <el-table-column label="鎵嬫満" prop="phonenumber" :show-overflow-tooltip="true" /> - <el-table-column label="鐘舵��" align="center" prop="status"> - <template slot-scope="scope"> - <dict-tag :options="dict.type.sys_normal_disable" :value="scope.row.status"/> - </template> - </el-table-column> - <el-table-column label="鍒涘缓鏃堕棿" align="center" prop="createTime" width="180"> - <template slot-scope="scope"> - <span>{{ formatTime(scope.row.createTime) }}</span> - </template> - </el-table-column> - </el-table> - <pagination - v-show="total>0" - :total="total" - :page.sync="queryParams.pageNum" - :limit.sync="queryParams.pageSize" - @pagination="getList" - /> - </el-row> - <div slot="footer" class="dialog-footer"> - <el-button type="primary" @click="handleSelectUser">纭� 瀹�</el-button> - <el-button @click="visible = false">鍙� 娑�</el-button> - </div> - </el-dialog> -</template> - -<script> -import { unallocatedUserList, authUserSelectAll } from "@/api/system/role"; -export default { - dicts: ['sys_normal_disable'], - props: { - // 瑙掕壊缂栧彿 - roleId: { - type: [Number, String] - } - }, - data() { - return { - // 閬僵灞� - visible: false, - // 閫変腑鏁扮粍鍊� - userIds: [], - // 鎬绘潯鏁� - total: 0, - // 鏈巿鏉冪敤鎴锋暟鎹� - userList: [], - // 鏌ヨ鍙傛暟 - queryParams: { - pageNum: 1, - pageSize: 10, - roleId: undefined, - userName: undefined, - phonenumber: undefined - } - }; - }, - methods: { - // 鏄剧ず寮规 - show() { - this.queryParams.roleId = this.roleId; - this.getList(); - this.visible = true; - }, - clickRow(row) { - this.$refs.table.toggleRowSelection(row); - }, - // 澶氶�夋閫変腑鏁版嵁 - handleSelectionChange(selection) { - this.userIds = selection.map(item => item.userId); - }, - // 鏌ヨ琛ㄦ暟鎹� - getList() { - unallocatedUserList(this.queryParams).then(res => { - this.userList = res.rows; - this.total = res.total; - }); - }, - /** 鎼滅储鎸夐挳鎿嶄綔 */ - handleQuery() { - this.queryParams.pageNum = 1; - this.getList(); - }, - /** 閲嶇疆鎸夐挳鎿嶄綔 */ - resetQuery() { - this.resetForm("queryForm"); - this.handleQuery(); - }, - /** 閫夋嫨鎺堟潈鐢ㄦ埛鎿嶄綔 */ - handleSelectUser() { - const roleId = this.queryParams.roleId; - const userIds = this.userIds.join(","); - if (userIds == "") { - this.$modal.msgError("璇烽�夋嫨瑕佸垎閰嶇殑鐢ㄦ埛"); - return; - } - authUserSelectAll({ roleId: roleId, userIds: userIds }).then(res => { - this.$modal.msgSuccess(res.msg); - if (res.code === 200) { - this.visible = false; - this.$emit("ok"); - } - }); - } - } -}; -</script> diff --git a/src/views/system/user/authRole.vue b/src/views/system/user/authRole.vue deleted file mode 100644 index 7efe5ad..0000000 --- a/src/views/system/user/authRole.vue +++ /dev/null @@ -1,117 +0,0 @@ -<template> - <div class="app-container"> - <h4 class="form-header h4">鍩烘湰淇℃伅</h4> - <el-form ref="form" :model="form" label-width="80px"> - <el-row> - <el-col :span="8" :offset="2"> - <el-form-item label="鐢ㄦ埛鏄电О" prop="nickName"> - <el-input v-model="form.nickName" disabled /> - </el-form-item> - </el-col> - <el-col :span="8" :offset="2"> - <el-form-item label="鐧诲綍璐﹀彿" prop="userName"> - <el-input v-model="form.userName" disabled /> - </el-form-item> - </el-col> - </el-row> - </el-form> - - <h4 class="form-header h4">瑙掕壊淇℃伅</h4> - <el-table v-loading="loading" :row-key="getRowKey" @row-click="clickRow" ref="table" @selection-change="handleSelectionChange" :data="roles.slice((pageNum-1)*pageSize,pageNum*pageSize)"> - <el-table-column label="搴忓彿" type="index" align="center"> - <template slot-scope="scope"> - <span>{{(pageNum - 1) * pageSize + scope.$index + 1}}</span> - </template> - </el-table-column> - <el-table-column type="selection" :reserve-selection="true" width="55"></el-table-column> - <el-table-column label="瑙掕壊缂栧彿" align="center" prop="roleId" /> - <el-table-column label="瑙掕壊鍚嶇О" align="center" prop="roleName" /> - <el-table-column label="鏉冮檺瀛楃" align="center" prop="roleKey" /> - <el-table-column label="鍒涘缓鏃堕棿" align="center" prop="createTime" width="180"> - <template slot-scope="scope"> - <span>{{ formatTime(scope.row.createTime) }}</span> - </template> - </el-table-column> - </el-table> - - <pagination v-show="total>0" :total="total" :page.sync="pageNum" :limit.sync="pageSize" /> - - <el-form label-width="100px"> - <el-form-item style="text-align: center;margin-left:-120px;margin-top:30px;"> - <el-button type="primary" @click="submitForm()">鎻愪氦</el-button> - <el-button @click="close()">杩斿洖</el-button> - </el-form-item> - </el-form> - </div> -</template> - -<script> -import { getAuthRole, updateAuthRole } from "@/api/system/user"; - -export default { - name: "AuthRole", - data() { - return { - // 閬僵灞� - loading: true, - // 鍒嗛〉淇℃伅 - total: 0, - pageNum: 1, - pageSize: 10, - // 閫変腑瑙掕壊缂栧彿 - roleIds:[], - // 瑙掕壊淇℃伅 - roles: [], - // 鐢ㄦ埛淇℃伅 - form: {} - }; - }, - created() { - const userId = this.$route.params && this.$route.params.userId; - if (userId) { - this.loading = true; - getAuthRole(userId).then((response) => { - this.form = response.user; - this.roles = response.roles; - this.total = this.roles.length; - this.$nextTick(() => { - this.roles.forEach((row) => { - if (row.flag) { - this.$refs.table.toggleRowSelection(row); - } - }); - }); - this.loading = false; - }); - } - }, - methods: { - /** 鍗曞嚮閫変腑琛屾暟鎹� */ - clickRow(row) { - this.$refs.table.toggleRowSelection(row); - }, - // 澶氶�夋閫変腑鏁版嵁 - handleSelectionChange(selection) { - this.roleIds = selection.map((item) => item.roleId); - }, - // 淇濆瓨閫変腑鐨勬暟鎹紪鍙� - getRowKey(row) { - return row.roleId; - }, - /** 鎻愪氦鎸夐挳 */ - submitForm() { - const userId = this.form.userId; - const roleIds = this.roleIds.join(","); - updateAuthRole({ userId: userId, roleIds: roleIds }).then((response) => { - this.$modal.msgSuccess("鎺堟潈鎴愬姛"); - this.close(); - }); - }, - /** 鍏抽棴鎸夐挳 */ - close() { - const obj = { path: "/system/user" }; - this.$tab.closeOpenPage(obj); - }, - }, -}; -</script> diff --git a/src/views/system/user/index.vue b/src/views/system/user/index.vue deleted file mode 100644 index 19c4bf8..0000000 --- a/src/views/system/user/index.vue +++ /dev/null @@ -1,1011 +0,0 @@ -<template> - <div class="app-container"> - <el-row :gutter="20"> - <!--閮ㄩ棬鏁版嵁--> - <el-col :span="4" :xs="24"> - <div class="head-container"> - <el-input - v-model="deptName" - placeholder="璇疯緭鍏ラ儴闂ㄥ悕绉�" - clearable - size="small" - prefix-icon="el-icon-search" - style="margin-bottom: 20px" - /> - </div> - <div class="head-container"> - <el-tree - :data="deptOptions" - :props="defaultProps" - :expand-on-click-node="false" - :filter-node-method="filterNode" - ref="tree" - node-key="id" - default-expand-all - highlight-current - @node-click="handleNodeClick" - /> - </div> - </el-col> - <!--鐢ㄦ埛鏁版嵁--> - <el-col :span="20" :xs="24"> - <el-form - :model="queryParams" - ref="queryForm" - size="small" - :inline="true" - v-show="showSearch" - label-width="68px" - > - <el-form-item label="鐢ㄦ埛宸ュ彿" prop="userName"> - <el-input - v-model="queryParams.userName" - placeholder="璇疯緭鍏ョ敤鎴峰伐鍙�" - clearable - style="width: 240px" - @keyup.enter.native="handleQuery" - /> - </el-form-item> - <el-form-item label="鐢ㄦ埛鏄电О" prop="nickName"> - <el-input - v-model="queryParams.nickName" - placeholder="璇疯緭鍏ョ敤鎴锋樀绉�" - clearable - style="width: 240px" - @keyup.enter.native="handleQuery" - /> - </el-form-item> - <el-form-item label="鎵嬫満鍙风爜" prop="phonenumber"> - <el-input - v-model="queryParams.phonenumber" - placeholder="璇疯緭鍏ユ墜鏈哄彿鐮�" - clearable - style="width: 240px" - @keyup.enter.native="handleQuery" - /> - </el-form-item> - <el-form-item label="鐘舵��" prop="status"> - <el-select - v-model="queryParams.status" - placeholder="鐢ㄦ埛鐘舵��" - clearable - style="width: 240px" - > - <el-option - v-for="dict in dict.type.sys_normal_disable" - :key="dict.value" - :label="dict.label" - :value="dict.value" - /> - </el-select> - </el-form-item> - - <!-- <el-form-item label="鍒涘缓鏃堕棿"> - <el-date-picker - v-model="dateRange" - style="width: 240px" - value-format="yyyy-MM-dd" - type="daterange" - range-separator="-" - start-placeholder="寮�濮嬫棩鏈�" - end-placeholder="缁撴潫鏃ユ湡" - ></el-date-picker> - </el-form-item> --> - <el-form-item> - <el-button - type="primary" - icon="el-icon-search" - size="mini" - @click="handleQuery" - >鎼滅储</el-button - > - <el-button icon="el-icon-refresh" size="mini" @click="resetQuery" - >閲嶇疆</el-button - > - </el-form-item> - </el-form> - - <el-row :gutter="10" class="mb8"> - <el-col :span="1.5"> - <el-button - type="primary" - plain - icon="el-icon-plus" - size="mini" - @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="mini" - :disabled="single" - @click="handleUpdate" - v-hasPermi="['system:user:edit']" - >淇敼</el-button - > - </el-col> - <el-col :span="1.5"> - <el-button - type="danger" - plain - icon="el-icon-delete" - size="mini" - :disabled="multiple" - @click="handleDelete" - v-hasPermi="['system:user:remove']" - >鍒犻櫎</el-button - > - </el-col> - <el-col :span="1.5"> - <el-button - type="info" - plain - icon="el-icon-upload2" - size="mini" - @click="handleImport" - v-hasPermi="['system:user:import']" - >瀵煎叆</el-button - > - </el-col> - <el-col :span="1.5"> - <el-button - type="warning" - plain - icon="el-icon-download" - size="mini" - @click="handleExport" - v-hasPermi="['system:user:export']" - >瀵煎嚭</el-button - > - </el-col> - <right-toolbar - :showSearch.sync="showSearch" - @queryTable="getList" - :columns="columns" - ></right-toolbar> - </el-row> - - <el-table - v-loading="loading" - :data="userList" - @selection-change="handleSelectionChange" - > - <el-table-column type="selection" width="50" align="center" /> - <el-table-column - label="鐢ㄦ埛缂栧彿" - align="center" - key="userId" - prop="userId" - v-if="columns[0].visible" - /> - <el-table-column - label="鐢ㄦ埛宸ュ彿" - align="center" - key="userName" - prop="userName" - v-if="columns[1].visible" - :show-overflow-tooltip="true" - /> - <el-table-column - label="鐢ㄦ埛鏄电О" - align="center" - key="nickName" - prop="nickName" - v-if="columns[2].visible" - :show-overflow-tooltip="true" - /> - <!-- <el-table-column - label="閮ㄩ棬" - align="center" - key="deptName" - prop="dept.deptName" - v-if="columns[3].visible" - :show-overflow-tooltip="true" - /> --> - <el-table-column - label="鎵嬫満鍙风爜" - align="center" - key="phonenumber" - prop="phonenumber" - v-if="columns[4].visible" - width="120" - /> - <el-table-column - label="鐘舵��" - align="center" - key="status" - v-if="columns[5].visible" - > - <template slot-scope="scope"> - <el-switch - v-model="scope.row.status" - active-value="0" - inactive-value="1" - @change="handleStatusChange(scope.row)" - ></el-switch> - </template> - </el-table-column> - <el-table-column - label="鍒涘缓鏃堕棿" - align="center" - prop="createTime" - v-if="columns[6].visible" - width="160" - > - <template slot-scope="scope"> - <span>{{ formatTime(scope.row.createTime) }}</span> - </template> - </el-table-column> - <el-table-column - label="鎿嶄綔" - align="center" - width="160" - class-name="small-padding fixed-width" - > - <template slot-scope="scope" v-if="scope.row.userId !== 1"> - <el-button - size="mini" - type="text" - icon="el-icon-edit" - @click="handleUpdate(scope.row)" - v-hasPermi="['system:user:edit']" - >淇敼</el-button - > - <el-button - size="mini" - type="text" - icon="el-icon-delete" - @click="handleDelete(scope.row)" - v-hasPermi="['system:user:remove']" - >鍒犻櫎</el-button - > - <el-dropdown - size="mini" - @command="(command) => handleCommand(command, scope.row)" - v-hasPermi="['system:user:resetPwd', 'system:user:edit']" - > - <el-button size="mini" type="text" icon="el-icon-d-arrow-right" - >鏇村</el-button - > - <el-dropdown-menu slot="dropdown"> - <el-dropdown-item - command="handleResetPwd" - icon="el-icon-key" - v-hasPermi="['system:user:resetPwd']" - >閲嶇疆瀵嗙爜</el-dropdown-item - > - <el-dropdown-item - command="handleAuthRole" - icon="el-icon-circle-check" - v-hasPermi="['system:user:edit']" - >鍒嗛厤瑙掕壊</el-dropdown-item - > - </el-dropdown-menu> - </el-dropdown> - </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="title" :visible.sync="open" width="600px" append-to-body> - <el-form ref="form" :model="form" :rules="rules" label-width="80px"> - <el-row> - <el-col :span="12"> - <el-form-item label="鐢ㄦ埛鏄电О" prop="nickName"> - <el-input - v-model="form.nickName" - placeholder="璇疯緭鍏ョ敤鎴锋樀绉�" - maxlength="30" - /> - </el-form-item> - </el-col> - <el-col :span="12"> - <el-form-item label="鎮h�呰寖鍥�" prop="status"> - <el-select - v-model="form.searchscope" - placeholder="鎮h�呰寖鍥�" - clearable - > - <el-option - v-for="dict in searchscopelist" - :key="dict.value" - :label="dict.label" - :value="dict.value" - /> - </el-select> - </el-form-item> - </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-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-form-item> - <el-row> - <el-col :span="12"> - <el-form-item label="鎵嬫満鍙风爜" prop="phonenumber"> - <el-input - v-model="form.phonenumber" - placeholder="璇疯緭鍏ユ墜鏈哄彿鐮�" - maxlength="11" - /> - </el-form-item> - </el-col> - <el-col :span="12"> - <el-form-item label="閭" prop="email"> - <el-input - v-model="form.email" - placeholder="璇疯緭鍏ラ偖绠�" - maxlength="50" - /> - </el-form-item> - </el-col> - </el-row> - <el-row> - <el-col :span="12"> - <el-form-item - v-if="form.userId == undefined" - label="鐢ㄦ埛宸ュ彿" - prop="userName" - > - <el-input - v-model="form.userName" - placeholder="璇疯緭鍏ョ敤鎴峰伐鍙�" - maxlength="30" - /> - </el-form-item> - </el-col> - <el-col :span="12"> - <el-form-item - v-if="form.userId == undefined" - label="鐢ㄦ埛瀵嗙爜" - prop="password" - > - <el-input - v-model="form.password" - placeholder="璇疯緭鍏ョ敤鎴峰瘑鐮�" - type="password" - maxlength="20" - show-password - /> - </el-form-item> - </el-col> - </el-row> - <el-row> - <el-col :span="12"> - <el-form-item label="鐢ㄦ埛鎬у埆"> - <el-select v-model="form.sex" placeholder="璇烽�夋嫨鎬у埆"> - <el-option - v-for="dict in dict.type.sys_user_sex" - :key="dict.value" - :label="dict.label" - :value="dict.value" - ></el-option> - </el-select> - </el-form-item> - </el-col> - <el-col :span="12"> - <el-form-item label="鐘舵��"> - <el-radio-group v-model="form.status"> - <el-radio - v-for="dict in dict.type.sys_normal_disable" - :key="dict.value" - :label="dict.value" - >{{ dict.label }}</el-radio - > - </el-radio-group> - </el-form-item> - </el-col> - </el-row> - - <el-row> - <el-col :span="12"> - <el-form-item label="宀椾綅"> - <el-select - v-model="form.postIds" - multiple - placeholder="璇烽�夋嫨宀椾綅" - > - <el-option - v-for="item in postOptions" - :key="item.postId" - :label="item.postName" - :value="item.postId" - :disabled="item.status == 1" - ></el-option> - </el-select> - </el-form-item> - </el-col> - <el-col :span="12"> - <el-form-item label="瑙掕壊"> - <el-select - v-model="form.roleIds" - multiple - placeholder="璇烽�夋嫨瑙掕壊" - > - <el-option - v-for="item in roleOptions" - :key="item.roleId" - :label="item.roleName" - :value="item.roleId" - :disabled="item.status == 1" - ></el-option> - </el-select> - </el-form-item> - </el-col> - </el-row> - <el-row> - <el-col :span="24"> - <el-form-item label="澶囨敞"> - <el-input - v-model="form.remark" - type="textarea" - placeholder="璇疯緭鍏ュ唴瀹�" - ></el-input> - </el-form-item> - </el-col> - </el-row> - </el-form> - <div slot="footer" class="dialog-footer"> - <el-button type="primary" @click="submitForm">纭� 瀹�</el-button> - <el-button @click="cancel">鍙� 娑�</el-button> - </div> - </el-dialog> - - <!-- 鐢ㄦ埛瀵煎叆瀵硅瘽妗� --> - <el-dialog - :title="upload.title" - :visible.sync="upload.open" - width="400px" - append-to-body - > - <el-upload - 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: 12px; vertical-align: baseline" - @click="importTemplate" - >涓嬭浇妯℃澘</el-link - > - </div> - </el-upload> - <div slot="footer" class="dialog-footer"> - <el-button type="primary" @click="submitFileForm">纭� 瀹�</el-button> - <el-button @click="upload.open = false">鍙� 娑�</el-button> - </div> - </el-dialog> - </div> -</template> - -<script> -import { - listUser, - getUser, - delUser, - addUser, - updateUser, - resetUserPwd, - adduserdept, - removeusertd, - changeUserStatus, - deptTreeSelect, -} from "@/api/system/user"; -import { getToken } from "@/utils/auth"; -import Treeselect from "@riophae/vue-treeselect"; -import "@riophae/vue-treeselect/dist/vue-treeselect.css"; -import { type } from "jquery"; - -export default { - name: "User", - dicts: ["sys_normal_disable", "sys_user_sex"], - components: { Treeselect }, - data() { - return { - // 閬僵灞� - loading: true, - // 閫変腑鏁扮粍 - ids: [], - // 闈炲崟涓鐢� - single: true, - // 闈炲涓鐢� - multiple: true, - // 鏄剧ず鎼滅储鏉′欢 - showSearch: true, - // 鎬绘潯鏁� - total: 0, - // 鐢ㄦ埛琛ㄦ牸鏁版嵁 - userList: null, - // 寮瑰嚭灞傛爣棰� - title: "", - // 閮ㄩ棬鏍戦�夐」 - deptOptions: undefined, - // 鏄惁鏄剧ず寮瑰嚭灞� - open: false, - // 閮ㄩ棬鍚嶇О - deptName: undefined, - // 榛樿瀵嗙爜 - initPassword: undefined, - // 鏃ユ湡鑼冨洿 - dateRange: [], - deptIds: [], - // 宀椾綅閫夐」 - postOptions: [], - // 瑙掕壊閫夐」 - roleOptions: [], - // 琛ㄥ崟鍙傛暟 - form: {}, - defaultProps: { - children: "children", - label: "label", - }, - props: { multiple: true, value: "deptCode", 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, - userName: undefined, - phonenumber: undefined, - status: undefined, - deptId: undefined, - }, - searchscopelist: [ - { value: "1", label: "绉戝" }, - { value: "2", label: "鐥呭尯" }, - { value: "0", label: "鍏ㄩ儴" }, - { value: "9", label: "鏃�" }, - ], - // 鍒椾俊鎭� - columns: [ - { key: 0, label: `鐢ㄦ埛缂栧彿`, visible: true }, - { key: 1, label: `鐢ㄦ埛宸ュ彿`, visible: true }, - { key: 2, label: `鐢ㄦ埛鏄电О`, visible: true }, - { key: 3, label: `閮ㄩ棬`, visible: true }, - { key: 4, label: `鎵嬫満鍙风爜`, visible: true }, - { key: 5, label: `鐘舵�乣, visible: true }, - { key: 6, label: `鍒涘缓鏃堕棿`, visible: true }, - ], - - // 琛ㄥ崟鏍¢獙 - 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", - }, - ], - }, - }; - }, - watch: { - // 鏍规嵁鍚嶇О绛涢�夐儴闂ㄦ爲 - deptName(val) { - this.$refs.tree.filter(val); - }, - }, - created() { - this.getList(); - this.getDeptTree(); - this.getConfigKey("sys.user.initPassword").then((response) => { - this.initPassword = response.msg; - }); - }, - methods: { - /** 鏌ヨ鐢ㄦ埛鍒楄〃 */ - getList() { - this.loading = true; - console.log(this.queryParams); - listUser(this.addDateRange(this.queryParams, this.dateRange)).then( - (response) => { - this.userList = response.rows; - this.total = response.total; - this.loading = false; - } - ); - }, - /** 鏌ヨ閮ㄩ棬涓嬫媺鏍戠粨鏋� */ - getDeptTree() { - // 绉戝鍒楄〃 - deptTreeSelect().then((response) => { - this.deptOptions = response.data; - }); - // 闄㈠尯鍒楄〃 - // deptTreeSelect().then((response) => { - // this.deptOptions = response.data; - // }); - }, - // 绛涢�夎妭鐐� - filterNode(value, data) { - if (!value) return true; - return data.label.indexOf(value) !== -1; - }, - // 鑺傜偣鍗曞嚮浜嬩欢 - handleNodeClick(data) { - this.queryParams.deptId = data.id; - this.handleQuery(); - }, - // 鐢ㄦ埛鐘舵�佷慨鏀� - handleStatusChange(row) { - let text = row.status === "0" ? "鍚敤" : "鍋滅敤"; - this.$modal - .confirm('纭瑕�"' + text + '""' + row.userName + '"鐢ㄦ埛鍚楋紵') - .then(function () { - return changeUserStatus(row.userId, row.status); - }) - .then(() => { - this.$modal.msgSuccess(text + "鎴愬姛"); - }) - .catch(function () { - row.status = row.status === "0" ? "1" : "0"; - }); - }, - // 鍙栨秷鎸夐挳 - cancel() { - this.open = false; - this.reset(); - }, - // 琛ㄥ崟閲嶇疆 - reset() { - this.form = { - userId: undefined, - deptId: undefined, - userName: undefined, - nickName: undefined, - password: undefined, - phonenumber: undefined, - email: undefined, - sex: undefined, - status: "0", - remark: undefined, - postIds: [], - roleIds: [], - }; - this.resetForm("form"); - }, - /** 鎼滅储鎸夐挳鎿嶄綔 */ - handleQuery() { - this.queryParams.pageNum = 1; - this.getList(); - }, - /** 閲嶇疆鎸夐挳鎿嶄綔 */ - resetQuery() { - this.dateRange = []; - this.resetForm("queryForm"); - this.queryParams.deptId = undefined; - this.$refs.tree.setCurrentKey(null); - this.handleQuery(); - }, - // 澶氶�夋閫変腑鏁版嵁 - handleSelectionChange(selection) { - this.ids = selection.map((item) => item.userId); - this.single = selection.length != 1; - this.multiple = !selection.length; - }, - // 鏇村鎿嶄綔瑙﹀彂 - handleCommand(command, row) { - switch (command) { - case "handleResetPwd": - this.handleResetPwd(row); - break; - case "handleAuthRole": - this.handleAuthRole(row); - break; - default: - break; - } - }, - /** 鏂板鎸夐挳鎿嶄綔 */ - handleAdd() { - this.reset(); - this.open = true; - this.title = "娣诲姞鐢ㄦ埛"; - this.form.password = this.initPassword; - this.form.depts = []; - // getUser().then((response) => { - // this.postOptions = response.posts; - // this.roleOptions = response.roles; - - // }); - }, - /** 淇敼鎸夐挳鎿嶄綔 */ - handleUpdate(row) { - this.reset(); - this.deptIds = []; - const userId = row.userId || this.ids; - getUser(userId).then((response) => { - this.form = response.data; - this.belongDepts = response.belongDepts; - this.belongWards = response.belongWards; - if (this.form.hospInfo) - this.form.deptCodes = JSON.parse(this.form.hospInfo); - if (this.form.deptInfo) - this.form.wardCodes = JSON.parse(this.form.deptInfo); - console.log(this.form.wardCodes, "wardCodes"); - console.log(this.form.deptCodes, "deptCodes"); - - this.postOptions = response.posts; - this.roleOptions = response.roles; - this.$set(this.form, "postIds", response.postIds); - this.$set(this.form, "roleIds", response.roleIds); - this.open = true; - this.title = "淇敼鐢ㄦ埛"; - this.form.password = ""; - }); - }, - // 鍒犻櫎绉戝 - removehpsp(valueArray) { - console.log(valueArray,'鍒犻櫎绉戝'); - console.log(this.form.userId,'鍒犻櫎'); - let code=valueArray[valueArray.length-1]; - removeusertd(this.form.userId,code).then((res) => { - if (res.code) { - } - }); - }, - /** 閲嶇疆瀵嗙爜鎸夐挳鎿嶄綔 */ - handleResetPwd(row) { - this.$prompt('璇疯緭鍏�"' + row.userName + '"鐨勬柊瀵嗙爜', "鎻愮ず", { - confirmButtonText: "纭畾", - cancelButtonText: "鍙栨秷", - closeOnClickModal: false, - inputPattern: /^.{5,20}$/, - inputErrorMessage: "鐢ㄦ埛瀵嗙爜闀垮害蹇呴』浠嬩簬 5 鍜� 20 涔嬮棿", - }) - .then(({ value }) => { - resetUserPwd(row.userId, value).then((response) => { - this.$modal.msgSuccess("淇敼鎴愬姛锛屾柊瀵嗙爜鏄細" + value); - }); - }) - .catch(() => {}); - }, - /** 鍒嗛厤瑙掕壊鎿嶄綔 */ - handleAuthRole: function (row) { - const userId = row.userId; - this.$router.push("/system/user-auth/role/" + userId); - }, - /** 鎻愪氦鎸夐挳 */ - submitForm: function () { - 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] - ); - if (this.form.wardCodes.length) - this.form.wardCodes = this.form.wardCodes.map( - (subArr) => subArr[subArr.length - 1] - ); - console.log(this.form.wardCodes, "wardCodes"); - console.log(this.form.deptCodes, "deptCodes"); - - this.$refs["form"].validate((valid) => { - if (valid) { - if (this.form.userId != undefined) { - updateUser(this.form).then((response) => { - this.$modal.msgSuccess("淇敼鎴愬姛"); - this.open = false; - this.adduserdept(); - }); - } else { - addUser(this.form).then((response) => { - this.$modal.msgSuccess("鏂板鎴愬姛"); - this.open = false; - this.form.userId = response.data; - console.log("寮�濮嬪姞閮ㄩ棬"); - - this.adduserdept(); - }); - } - } - }); - }, - // 鏂板鏁版嵁 - adduserdept() { - if (this.form.wardCodes[0]) { - this.form.wardCodes.forEach((dept) => { - const containsId8 = null; - if (this.belongWards) { - containsId8 = this.belongWards.some( - (item) => item.deptCode == dept - ); - } - - if (!containsId8) { - adduserdept({ - deptCode: dept, - deptType: 2, - userId: this.form.userId, - }).then((response) => { - this.open = false; - this.getList(); - }); - } - }); - } - if (this.form.deptCodes[0]) { - this.form.deptCodes.forEach((dept) => { - const containsId8 = null; - if (this.belongDepts) { - containsId8 = this.belongDepts.some( - (item) => item.deptCode == dept - ); - } - if (!containsId8) { - adduserdept({ - deptCode: dept, - deptType: 1, - userId: this.form.userId, - }).then((response) => { - this.open = false; - this.getList(); - }); - } - }); - } - }, - /** 鍒犻櫎鎸夐挳鎿嶄綔 */ - handleDelete(row) { - const userIds = row.userId || this.ids; - this.$modal - .confirm('鏄惁纭鍒犻櫎鐢ㄦ埛缂栧彿涓�"' + userIds + '"鐨勬暟鎹」锛�') - .then(function () { - return delUser(userIds); - }) - .then(() => { - this.getList(); - this.$modal.msgSuccess("鍒犻櫎鎴愬姛"); - }) - .catch(() => {}); - }, - /** 瀵煎嚭鎸夐挳鎿嶄綔 */ - handleExport() { - this.download( - "system/user/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() { - this.$refs.upload.submit(); - }, - }, -}; -</script> diff --git a/src/views/system/user/profile/index.vue b/src/views/system/user/profile/index.vue deleted file mode 100644 index ad530f9..0000000 --- a/src/views/system/user/profile/index.vue +++ /dev/null @@ -1,91 +0,0 @@ -<template> - <div class="app-container"> - <el-row :gutter="20"> - <el-col :span="6" :xs="24"> - <el-card class="box-card"> - <div slot="header" class="clearfix"> - <span>涓汉淇℃伅</span> - </div> - <div> - <div class="text-center"> - <userAvatar :user="user" /> - </div> - <ul class="list-group list-group-striped"> - <li class="list-group-item"> - <svg-icon icon-class="user" />鐢ㄦ埛鍚嶇О - <div class="pull-right">{{ user.userName }}</div> - </li> - <li class="list-group-item"> - <svg-icon icon-class="phone" />鎵嬫満鍙风爜 - <div class="pull-right">{{ user.phonenumber }}</div> - </li> - <li class="list-group-item"> - <svg-icon icon-class="email" />鐢ㄦ埛閭 - <div class="pull-right">{{ user.email }}</div> - </li> - <li class="list-group-item"> - <svg-icon icon-class="tree" />鎵�灞為儴闂� - <div class="pull-right" v-if="user.dept">{{ user.dept.deptName }} / {{ postGroup }}</div> - </li> - <li class="list-group-item"> - <svg-icon icon-class="peoples" />鎵�灞炶鑹� - <div class="pull-right">{{ roleGroup }}</div> - </li> - <li class="list-group-item"> - <svg-icon icon-class="date" />鍒涘缓鏃ユ湡 - <div class="pull-right">{{ user.createTime }}</div> - </li> - </ul> - </div> - </el-card> - </el-col> - <el-col :span="18" :xs="24"> - <el-card> - <div slot="header" class="clearfix"> - <span>鍩烘湰璧勬枡</span> - </div> - <el-tabs v-model="activeTab"> - <el-tab-pane label="鍩烘湰璧勬枡" name="userinfo"> - <userInfo :user="user" /> - </el-tab-pane> - <el-tab-pane label="淇敼瀵嗙爜" name="resetPwd"> - <resetPwd /> - </el-tab-pane> - </el-tabs> - </el-card> - </el-col> - </el-row> - </div> -</template> - -<script> -import userAvatar from "./userAvatar"; -import userInfo from "./userInfo"; -import resetPwd from "./resetPwd"; -import { getUserProfile } from "@/api/system/user"; - -export default { - name: "Profile", - components: { userAvatar, userInfo, resetPwd }, - data() { - return { - user: {}, - roleGroup: {}, - postGroup: {}, - activeTab: "userinfo" - }; - }, - created() { - this.getUser(); - }, - methods: { - getUser() { - getUserProfile().then(response => { - this.user = response.data; - this.roleGroup = response.roleGroup; - this.postGroup = response.postGroup; - }); - } - } -}; -</script> diff --git a/src/views/system/user/profile/resetPwd.vue b/src/views/system/user/profile/resetPwd.vue deleted file mode 100644 index 64e8f8c..0000000 --- a/src/views/system/user/profile/resetPwd.vue +++ /dev/null @@ -1,68 +0,0 @@ -<template> - <el-form ref="form" :model="user" :rules="rules" label-width="80px"> - <el-form-item label="鏃у瘑鐮�" prop="oldPassword"> - <el-input v-model="user.oldPassword" placeholder="璇疯緭鍏ユ棫瀵嗙爜" type="password" show-password/> - </el-form-item> - <el-form-item label="鏂板瘑鐮�" prop="newPassword"> - <el-input v-model="user.newPassword" placeholder="璇疯緭鍏ユ柊瀵嗙爜" type="password" show-password/> - </el-form-item> - <el-form-item label="纭瀵嗙爜" prop="confirmPassword"> - <el-input v-model="user.confirmPassword" placeholder="璇风‘璁ゆ柊瀵嗙爜" type="password" show-password/> - </el-form-item> - <el-form-item> - <el-button type="primary" size="mini" @click="submit">淇濆瓨</el-button> - <el-button type="danger" size="mini" @click="close">鍏抽棴</el-button> - </el-form-item> - </el-form> -</template> - -<script> -import { updateUserPwd } from "@/api/system/user"; - -export default { - data() { - const equalToPassword = (rule, value, callback) => { - if (this.user.newPassword !== value) { - callback(new Error("涓ゆ杈撳叆鐨勫瘑鐮佷笉涓�鑷�")); - } else { - callback(); - } - }; - return { - user: { - oldPassword: undefined, - newPassword: undefined, - confirmPassword: undefined - }, - // 琛ㄥ崟鏍¢獙 - rules: { - oldPassword: [ - { required: true, message: "鏃у瘑鐮佷笉鑳戒负绌�", trigger: "blur" } - ], - newPassword: [ - { required: true, message: "鏂板瘑鐮佷笉鑳戒负绌�", trigger: "blur" }, - { min: 6, max: 20, message: "闀垮害鍦� 6 鍒� 20 涓瓧绗�", trigger: "blur" } - ], - confirmPassword: [ - { required: true, message: "纭瀵嗙爜涓嶈兘涓虹┖", trigger: "blur" }, - { required: true, validator: equalToPassword, trigger: "blur" } - ] - } - }; - }, - methods: { - submit() { - this.$refs["form"].validate(valid => { - if (valid) { - updateUserPwd(this.user.oldPassword, this.user.newPassword).then(response => { - this.$modal.msgSuccess("淇敼鎴愬姛"); - }); - } - }); - }, - close() { - this.$tab.closePage(); - } - } -}; -</script> diff --git a/src/views/system/user/profile/userAvatar.vue b/src/views/system/user/profile/userAvatar.vue deleted file mode 100644 index 70d8487..0000000 --- a/src/views/system/user/profile/userAvatar.vue +++ /dev/null @@ -1,187 +0,0 @@ -<template> - <div> - <div class="user-info-head" @click="editCropper()"><img v-bind:src="options.img" title="鐐瑰嚮涓婁紶澶村儚" class="img-circle img-lg" /></div> - <el-dialog :title="title" :visible.sync="open" width="800px" append-to-body @opened="modalOpened" @close="closeDialog"> - <el-row> - <el-col :xs="24" :md="12" :style="{height: '350px'}"> - <vue-cropper - ref="cropper" - :img="options.img" - :info="true" - :autoCrop="options.autoCrop" - :autoCropWidth="options.autoCropWidth" - :autoCropHeight="options.autoCropHeight" - :fixedBox="options.fixedBox" - :outputType="options.outputType" - @realTime="realTime" - v-if="visible" - /> - </el-col> - <el-col :xs="24" :md="12" :style="{height: '350px'}"> - <div class="avatar-upload-preview"> - <img :src="previews.url" :style="previews.img" /> - </div> - </el-col> - </el-row> - <br /> - <el-row> - <el-col :lg="2" :sm="3" :xs="3"> - <el-upload action="#" :http-request="requestUpload" :show-file-list="false" :before-upload="beforeUpload"> - <el-button size="small"> - 閫夋嫨 - <i class="el-icon-upload el-icon--right"></i> - </el-button> - </el-upload> - </el-col> - <el-col :lg="{span: 1, offset: 2}" :sm="2" :xs="2"> - <el-button icon="el-icon-plus" size="small" @click="changeScale(1)"></el-button> - </el-col> - <el-col :lg="{span: 1, offset: 1}" :sm="2" :xs="2"> - <el-button icon="el-icon-minus" size="small" @click="changeScale(-1)"></el-button> - </el-col> - <el-col :lg="{span: 1, offset: 1}" :sm="2" :xs="2"> - <el-button icon="el-icon-refresh-left" size="small" @click="rotateLeft()"></el-button> - </el-col> - <el-col :lg="{span: 1, offset: 1}" :sm="2" :xs="2"> - <el-button icon="el-icon-refresh-right" size="small" @click="rotateRight()"></el-button> - </el-col> - <el-col :lg="{span: 2, offset: 6}" :sm="2" :xs="2"> - <el-button type="primary" size="small" @click="uploadImg()">鎻� 浜�</el-button> - </el-col> - </el-row> - </el-dialog> - </div> -</template> - -<script> -import store from "@/store"; -import { VueCropper } from "vue-cropper"; -import { uploadAvatar } from "@/api/system/user"; -import { debounce } from '@/utils' - -export default { - components: { VueCropper }, - props: { - user: { - type: Object - } - }, - data() { - return { - // 鏄惁鏄剧ず寮瑰嚭灞� - open: false, - // 鏄惁鏄剧ずcropper - visible: false, - // 寮瑰嚭灞傛爣棰� - title: "淇敼澶村儚", - options: { - img: store.getters.avatar, //瑁佸壀鍥剧墖鐨勫湴鍧� - autoCrop: true, // 鏄惁榛樿鐢熸垚鎴浘妗� - autoCropWidth: 200, // 榛樿鐢熸垚鎴浘妗嗗搴� - autoCropHeight: 200, // 榛樿鐢熸垚鎴浘妗嗛珮搴� - fixedBox: true, // 鍥哄畾鎴浘妗嗗ぇ灏� 涓嶅厑璁告敼鍙� - outputType:"png" // 榛樿鐢熸垚鎴浘涓篜NG鏍煎紡 - }, - previews: {}, - resizeHandler: null - }; - }, - methods: { - // 缂栬緫澶村儚 - editCropper() { - this.open = true; - }, - // 鎵撳紑寮瑰嚭灞傜粨鏉熸椂鐨勫洖璋� - modalOpened() { - this.visible = true; - if (!this.resizeHandler) { - this.resizeHandler = debounce(() => { - this.refresh() - }, 100) - } - window.addEventListener("resize", this.resizeHandler) - }, - // 鍒锋柊缁勪欢 - refresh() { - this.$refs.cropper.refresh(); - }, - // 瑕嗙洊榛樿鐨勪笂浼犺涓� - requestUpload() { - }, - // 鍚戝乏鏃嬭浆 - rotateLeft() { - this.$refs.cropper.rotateLeft(); - }, - // 鍚戝彸鏃嬭浆 - rotateRight() { - this.$refs.cropper.rotateRight(); - }, - // 鍥剧墖缂╂斁 - changeScale(num) { - num = num || 1; - this.$refs.cropper.changeScale(num); - }, - // 涓婁紶棰勫鐞� - beforeUpload(file) { - if (file.type.indexOf("image/") == -1) { - this.$modal.msgError("鏂囦欢鏍煎紡閿欒锛岃涓婁紶鍥剧墖绫诲瀷,濡傦細JPG锛孭NG鍚庣紑鐨勬枃浠躲��"); - } else { - const reader = new FileReader(); - reader.readAsDataURL(file); - reader.onload = () => { - this.options.img = reader.result; - }; - } - }, - // 涓婁紶鍥剧墖 - uploadImg() { - this.$refs.cropper.getCropBlob(data => { - let formData = new FormData(); - formData.append("avatarfile", data); - uploadAvatar(formData).then(response => { - this.open = false; - this.options.img = process.env.VUE_APP_BASE_API + response.imgUrl; - store.commit('SET_AVATAR', this.options.img); - this.$modal.msgSuccess("淇敼鎴愬姛"); - this.visible = false; - }); - }); - }, - // 瀹炴椂棰勮 - realTime(data) { - this.previews = data; - }, - // 鍏抽棴绐楀彛 - closeDialog() { - this.options.img = store.getters.avatar - this.visible = false; - window.removeEventListener("resize", this.resizeHandler) - } - } -}; -</script> -<style scoped lang="scss"> -.user-info-head { - position: relative; - display: inline-block; - height: 120px; -} - -.user-info-head:hover:after { - content: '+'; - position: absolute; - left: 0; - right: 0; - top: 0; - bottom: 0; - color: #eee; - background: rgba(0, 0, 0, 0.5); - font-size: 24px; - font-style: normal; - -webkit-font-smoothing: antialiased; - -moz-osx-font-smoothing: grayscale; - cursor: pointer; - line-height: 110px; - border-radius: 50%; -} -</style> diff --git a/src/views/system/user/profile/userInfo.vue b/src/views/system/user/profile/userInfo.vue deleted file mode 100644 index c09a20b..0000000 --- a/src/views/system/user/profile/userInfo.vue +++ /dev/null @@ -1,75 +0,0 @@ -<template> - <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 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-radio-group v-model="user.sex"> - <el-radio label="0">鐢�</el-radio> - <el-radio label="1">濂�</el-radio> - </el-radio-group> - </el-form-item> - <el-form-item> - <el-button type="primary" size="mini" @click="submit">淇濆瓨</el-button> - <el-button type="danger" size="mini" @click="close">鍏抽棴</el-button> - </el-form-item> - </el-form> -</template> - -<script> -import { updateUserProfile } from "@/api/system/user"; - -export default { - props: { - user: { - type: Object - } - }, - data() { - return { - // 琛ㄥ崟鏍¢獙 - rules: { - nickName: [ - { required: true, message: "鐢ㄦ埛鏄电О涓嶈兘涓虹┖", trigger: "blur" } - ], - email: [ - { required: true, message: "閭鍦板潃涓嶈兘涓虹┖", trigger: "blur" }, - { - type: "email", - message: "璇疯緭鍏ユ纭殑閭鍦板潃", - trigger: ["blur", "change"] - } - ], - phonenumber: [ - { required: true, message: "鎵嬫満鍙风爜涓嶈兘涓虹┖", trigger: "blur" }, - { - pattern: /^1[3|4|5|6|7|8|9][0-9]\d{8}$/, - message: "璇疯緭鍏ユ纭殑鎵嬫満鍙风爜", - trigger: "blur" - } - ] - } - }; - }, - methods: { - submit() { - this.$refs["form"].validate(valid => { - if (valid) { - updateUserProfile(this.user).then(response => { - this.$modal.msgSuccess("淇敼鎴愬姛"); - }); - } - }); - }, - close() { - this.$tab.closePage(); - } - } -}; -</script> -- Gitblit v1.9.3