From 3573a134c7c7d4d99f605420f9afb2f80e9b8967 Mon Sep 17 00:00:00 2001
From: WXL (wul) <wl_5969728@163.com>
Date: 星期六, 22 十一月 2025 14:59:46 +0800
Subject: [PATCH] 宣教更新
---
dist (3).zip | 0
src/store/modules/permission.js | 191 ++++++++------
src/views/patient/propaganda/Missioncreation.vue | 538 +++++++++++++++++++++++++++++++----------
src/views/patient/propaganda/QuestionnaireTask.vue | 25 -
4 files changed, 509 insertions(+), 245 deletions(-)
diff --git "a/dist \0503\051.zip" "b/dist \0503\051.zip"
new file mode 100644
index 0000000..d3e7b26
--- /dev/null
+++ "b/dist \0503\051.zip"
Binary files differ
diff --git a/src/store/modules/permission.js b/src/store/modules/permission.js
index 90e3782..d30b409 100644
--- a/src/store/modules/permission.js
+++ b/src/store/modules/permission.js
@@ -1,11 +1,10 @@
-import auth from '@/plugins/auth'
-import router, { constantRoutes, dynamicRoutes } from '@/router'
-import { getRouters } from '@/api/menu'
-import Layout from '@/layout/index'
-import ParentView from '@/components/ParentView'
-import InnerLink from '@/layout/components/InnerLink'
+import auth from "@/plugins/auth";
+import router, { constantRoutes, dynamicRoutes } from "@/router";
+import { getRouters } from "@/api/menu";
+import Layout from "@/layout/index";
+import ParentView from "@/components/ParentView";
+import InnerLink from "@/layout/components/InnerLink";
import store from "@/store";
-
const permission = {
state: {
@@ -13,144 +12,162 @@
addRoutes: [],
defaultRoutes: [],
topbarRouters: [],
- sidebarRouters: []
+ sidebarRouters: [],
},
mutations: {
SET_ROUTES: (state, routes) => {
- state.addRoutes = routes
- state.routes = constantRoutes.concat(routes)
+ state.addRoutes = routes;
+ state.routes = constantRoutes.concat(routes);
},
SET_DEFAULT_ROUTES: (state, routes) => {
- state.defaultRoutes = constantRoutes.concat(routes)
+ state.defaultRoutes = constantRoutes.concat(routes);
},
SET_TOPBAR_ROUTES: (state, routes) => {
- state.topbarRouters = routes
+ state.topbarRouters = routes;
},
SET_SIDEBAR_ROUTERS: (state, routes) => {
- state.sidebarRouters = routes
+ state.sidebarRouters = routes;
},
},
actions: {
// 鐢熸垚璺敱
GenerateRoutes({ commit }) {
- return new Promise(resolve => {
+ return new Promise((resolve) => {
// 鍚戝悗绔姹傝矾鐢辨暟鎹�
- getRouters().then(res => {
- const sdata = JSON.parse(JSON.stringify(res.data))
- const rdata = JSON.parse(JSON.stringify(res.data))
- const sidebarRoutes = filterAsyncRouter(sdata)
- const rewriteRoutes = filterAsyncRouter(rdata, false, true)
- const asyncRoutes = filterDynamicRoutes(dynamicRoutes);
- rewriteRoutes.push({ path: '*', redirect: '/404', hidden: true })
- router.addRoutes(asyncRoutes);
- commit('SET_ROUTES', rewriteRoutes)
- commit('SET_SIDEBAR_ROUTERS', constantRoutes.concat(sidebarRoutes))
- commit('SET_DEFAULT_ROUTES', sidebarRoutes)
- commit('SET_TOPBAR_ROUTES', sidebarRoutes)
- resolve(rewriteRoutes)
- console.log(res.data,'璺敱鏁版嵁');
- const result = res.data.find(item => item.name == "Followvisit");
- Processrouting(result)
+ getRouters().then((res) => {
+ const sdata = JSON.parse(JSON.stringify(res.data));
+ const rdata = JSON.parse(JSON.stringify(res.data));
+ const sidebarRoutes = filterAsyncRouter(sdata);
+ const rewriteRoutes = filterAsyncRouter(rdata, false, true);
+ // 鍏抽敭淇敼锛氬闈欐�佽矾鐢变篃杩涜鏉冮檺杩囨护
+ console.log(constantRoutes,'闈�');
+ console.log(dynamicRoutes,'鍔�');
- })
- })
- }
- }
-}
-function Processrouting(result){
- const arrf=[];
- const arr=store.getters.Serviceauthority;
- console.log(result,'result');
- console.log(arr,'arr');
- result.children.forEach(objA => {
- arr.forEach(objB => {
+ const filteredConstantRoutes = filterDynamicRoutes(constantRoutes);
+ const asyncRoutes = filterDynamicRoutes(dynamicRoutes);
+
+ rewriteRoutes.push({ path: "*", redirect: "/404", hidden: true });
+
+ // 娣诲姞杩囨护鍚庣殑璺敱
+ router.addRoutes(filteredConstantRoutes);
+ router.addRoutes(asyncRoutes);
+
+ // 鎻愪氦鍒皊tore鏃朵篃浣跨敤杩囨护鍚庣殑璺敱
+ commit("SET_ROUTES", rewriteRoutes);
+ commit(
+ "SET_SIDEBAR_ROUTERS",
+ filteredConstantRoutes.concat(sidebarRoutes)
+ );
+ commit("SET_DEFAULT_ROUTES", sidebarRoutes);
+ commit("SET_TOPBAR_ROUTES", sidebarRoutes);
+ resolve(rewriteRoutes);
+ console.log(res.data, "璺敱鏁版嵁");
+ const result = res.data.find((item) => item.name == "Followvisit");
+ Processrouting(result);
+ });
+ });
+ },
+ },
+};
+function Processrouting(result) {
+ const arrf = [];
+ const arr = store.getters.Serviceauthority;
+ console.log(result, "result");
+ console.log(arr, "arr");
+ result.children.forEach((objA) => {
+ arr.forEach((objB) => {
if (objA.meta.title === objB.label) {
arrf.push(objB);
}
});
});
- console.log(arrf,'arrf');
- store.commit('SET_Serviceauthority', arrf);
-
-
+ console.log(arrf, "arrf");
+ store.commit("SET_Serviceauthority", arrf);
}
// 閬嶅巻鍚庡彴浼犳潵鐨勮矾鐢卞瓧绗︿覆锛岃浆鎹负缁勪欢瀵硅薄
function filterAsyncRouter(asyncRouterMap, lastRouter = false, type = false) {
- return asyncRouterMap.filter(route => {
+ return asyncRouterMap.filter((route) => {
if (type && route.children) {
- route.children = filterChildren(route.children)
+ route.children = filterChildren(route.children);
}
if (route.component) {
// Layout ParentView 缁勪欢鐗规畩澶勭悊
- if (route.component === 'Layout') {
- route.component = Layout
- } else if (route.component === 'ParentView') {
- route.component = ParentView
- } else if (route.component === 'InnerLink') {
- route.component = InnerLink
+ if (route.component === "Layout") {
+ route.component = Layout;
+ } else if (route.component === "ParentView") {
+ route.component = ParentView;
+ } else if (route.component === "InnerLink") {
+ route.component = InnerLink;
} else {
- route.component = loadView(route.component)
+ route.component = loadView(route.component);
}
}
if (route.children != null && route.children && route.children.length) {
- route.children = filterAsyncRouter(route.children, route, type)
+ route.children = filterAsyncRouter(route.children, route, type);
} else {
- delete route['children']
- delete route['redirect']
+ delete route["children"];
+ delete route["redirect"];
}
- return true
- })
+ return true;
+ });
}
function filterChildren(childrenMap, lastRouter = false) {
- var children = []
+ var children = [];
childrenMap.forEach((el, index) => {
if (el.children && el.children.length) {
- if (el.component === 'ParentView' && !lastRouter) {
- el.children.forEach(c => {
- c.path = el.path + '/' + c.path
+ if (el.component === "ParentView" && !lastRouter) {
+ el.children.forEach((c) => {
+ c.path = el.path + "/" + c.path;
if (c.children && c.children.length) {
- children = children.concat(filterChildren(c.children, c))
- return
+ children = children.concat(filterChildren(c.children, c));
+ return;
}
- children.push(c)
- })
- return
+ children.push(c);
+ });
+ return;
}
}
if (lastRouter) {
- el.path = lastRouter.path + '/' + el.path
+ el.path = lastRouter.path + "/" + el.path;
}
- children = children.concat(el)
- })
- return children
+ children = children.concat(el);
+ });
+ return children;
}
// 鍔ㄦ�佽矾鐢遍亶鍘嗭紝楠岃瘉鏄惁鍏峰鏉冮檺
export function filterDynamicRoutes(routes) {
- const res = []
- routes.forEach(route => {
+ const res = [];
+ routes.forEach((route) => {
+ // 棣栧厛妫�鏌ユ潈闄愬瓧绗︿覆 (permissions)
if (route.permissions) {
if (auth.hasPermiOr(route.permissions)) {
- res.push(route)
- }
- } else if (route.roles) {
- if (auth.hasRoleOr(route.roles)) {
- res.push(route)
+ res.push(route);
}
}
- })
- return res
+ // 鐒跺悗妫�鏌ヨ鑹叉潈闄� (roles) - 杩欐槸鎮ㄩ渶瑕侀噸鐐瑰叧娉ㄧ殑閮ㄥ垎
+ else if (route.roles) {
+ if (auth.hasRoleOr(route.roles)) {
+ res.push(route);
+ }
+ }
+ // 瀵逛簬娌℃湁璁剧疆鏉冮檺鐨勮矾鐢憋紝榛樿鍏佽璁块棶
+ else {
+ res.push(route);
+ }
+ });
+ return res;
}
export const loadView = (view) => {
- if (process.env.NODE_ENV === 'development') {
- return (resolve) => require([`@/views/${view}`], resolve)
+ if (process.env.NODE_ENV === "development") {
+ return (resolve) => require([`@/views/${view}`], resolve);
} else {
// 浣跨敤 import 瀹炵幇鐢熶骇鐜鐨勮矾鐢辨噿鍔犺浇
- return () => import(`@/views/${view}`)
+ return () => import(`@/views/${view}`);
}
-}
+};
-export default permission
+export default permission;
diff --git a/src/views/patient/propaganda/Missioncreation.vue b/src/views/patient/propaganda/Missioncreation.vue
index a789b74..cfd57e0 100644
--- a/src/views/patient/propaganda/Missioncreation.vue
+++ b/src/views/patient/propaganda/Missioncreation.vue
@@ -82,48 +82,17 @@
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="鏈嶅姟褰㈠紡">
+ <SortCheckbox
+ v-model="checkList"
+ :options="checkboxlist"
+ :initialselectedOrder="selectedOrder"
+ value-key="value"
+ label-key="label"
+ @change="checkSelectionChange"
+ />
+ </el-form-item>
+
<el-form-item label="鎵ц鍛ㄦ湡" prop="longTask">
<el-radio-group v-model="form.longTask">
<el-radio :label="0">鑷畾涔夊懆鏈�</el-radio>
@@ -253,27 +222,116 @@
/> </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-item label="鏈嶅姟褰㈠紡">
- <SortCheckbox
- v-model="checkList"
- :options="checkboxlist"
- :initialselectedOrder="selectedOrder"
- value-key="value"
- label-key="label"
- @change="checkSelectionChange"
- />
+
+ <el-form-item label="浠诲姟鍏宠仈" prop="longTask">
+ <el-radio-group v-model="form.appltype">
+ <el-radio label="1">绉戝鍏宠仈</el-radio>
+ <el-radio label="2">鐥呭尯鍏宠仈</el-radio>
+ <el-radio label="3">鐤剧梾鍏宠仈</el-radio>
+ <el-radio label="4">鎵嬫湳鍏宠仈</el-radio>
+ </el-radio-group>
</el-form-item>
+ <el-row v-if="form.appltype == 1">
+ <el-col :span="20"
+ ><el-form-item label="閫傜敤绉戝" prop="region">
+ <el-select
+ v-model="deptcodesWards"
+ @remove-tag="removetag"
+ style="width: 400px"
+ size="medium"
+ multiple
+ filterable
+ placeholder="璇烽�夋嫨绉戝"
+ >
+ <el-option
+ class="ruleFormaa"
+ v-for="item in belongDepts"
+ :label="item.deptName"
+ :value="item.deptCode"
+ >
+ </el-option>
+ </el-select> </el-form-item
+ ></el-col>
+ </el-row>
+ <el-row v-if="form.appltype == 2">
+ <el-col :span="20"
+ ><el-form-item label="閫傜敤鐥呭尯" prop="region">
+ <el-select
+ v-model="leavehospitaldistrictcodes"
+ style="width: 400px"
+ @remove-tag="removehpsp"
+ size="medium"
+ multiple
+ filterable
+ placeholder="璇烽�夋嫨鐥呭尯"
+ >
+ <el-option
+ class="ruleFormaa"
+ v-for="item in belongWards"
+ :label="item.districtName"
+ :value="item.districtCode"
+ >
+ </el-option>
+ </el-select> </el-form-item
+ ></el-col>
+ </el-row>
+ <el-row v-if="form.appltype == 3">
+ <div class="xinz-infs">
+ <el-form-item>
+ <template #label>
+ <el-tooltip
+ class="item"
+ effect="light"
+ content="閫夋嫨濂介�傜敤鐤剧梾鍚庯紝鍙互鏂逛究鎮ㄩ�氳繃鐤剧梾璇婃柇鏌ユ壘鍒板搴旂殑鐥呬汉!"
+ placement="top-start"
+ >
+ <i class="el-icon-warning-outline"></i>
+ </el-tooltip>
+ </template>
+ <div style="margin-bottom: 10px">
+ <el-button
+ type="warning"
+ @click="$refs.child.handleAddpatient()"
+ >娣诲姞鐤剧梾璇婃柇</el-button
+ >
+ </div>
+ <el-tag
+ v-for="tag in diagglist"
+ @close="removediagg(tag.icd10code)"
+ type="warning"
+ closable
+ :disable-transitions="false"
+ >
+ {{ tag.icdname }}
+ </el-tag>
+ <!-- <el-tag v-if="hasMore" type="info">+{{ remaining }} more</el-tag> -->
+ </el-form-item>
+ </div>
+ </el-row>
+ <el-row v-if="form.appltype == 4">
+ <el-col :span="20"
+ ><el-form-item label="閫傜敤鎵嬫湳" prop="region">
+ <el-select
+ v-model="operationcodes"
+ style="width: 400px"
+ @remove-tag="removeopera"
+ size="medium"
+ :remote-method="remoteopcode"
+ multiple
+ filterable
+ remote
+ placeholder="璇烽�夋嫨鎵嬫湳"
+ >
+ <el-option
+ class="ruleFormaa"
+ v-for="item in baseoperaList"
+ :label="item.opdesc"
+ :value="item.opcode"
+ >
+ </el-option>
+ </el-select> </el-form-item
+ ></el-col>
+ </el-row>
</el-form>
</div>
</div>
@@ -341,45 +399,6 @@
<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
@@ -402,7 +421,7 @@
icon="el-icon-plus"
size="medium"
:disabled="!patientqueryParams.allhosp"
- @click="handleAddpatient"
+ @click="handleQuery"
>鏂板</el-button
>
</el-col>
@@ -485,6 +504,18 @@
<el-form-item label="鎮h�咃細">
<el-input
v-model="patientqueryParams.name"
+ @keyup.enter.native="handleQuery"
+ ></el-input>
+ </el-form-item>
+ <el-form-item label="鎮h�呰瘖鏂細">
+ <el-input
+ v-model="patientqueryParams.leavediagname"
+ @keyup.enter.native="handleQuery"
+ ></el-input>
+ </el-form-item>
+ <el-form-item label="涓绘不鍖荤敓锛�">
+ <el-input
+ v-model="patientqueryParams.drname"
@keyup.enter.native="handleQuery"
></el-input>
</el-form-item>
@@ -733,7 +764,7 @@
<el-button
icon="el-icon-refresh"
size="medium"
- @click="resetQuery"
+ @click="resetQuerymb"
>閲嶇疆</el-button
>
</el-form-item>
@@ -760,6 +791,13 @@
</div>
</div>
</el-drawer>
+ <Optional-Form
+ ref="child"
+ :dialogVisiblepatient="dialogVisiblepatientjb"
+ :overallCase="diagglist"
+ @addoption="dialogVisiblepatientjb = false"
+ @kkoption="dialogVisiblepatientjb = true"
+ />
</div>
</template>
@@ -770,19 +808,34 @@
import store from "@/store";
import {
getTaskpatientQC,
- getlibrarylist,
- getFollowuplist,
+ taskoperhospgetsondel,
+ taskdiaghospgetsondel,
+ getillnesslist,
+ getbaseopera,
+ Externallist,
getQtemplatelist,
+ getQtemplateobj,
+ taskgetQtemplateobj,
TaskQuestioncomit,
- getTaskInfo,
- gethetaskinfo,
- delhetaskinfo,
+ deleteTaskQuestioncomit,
+ Questionnairetaskgetson,
+ getTaskQuestioncomit,
+ depthospgetson,
+ getillness,
Editsingletask,
+ getQtemplateclassify,
+ taskdepthospgetsondel,
+ taskdepthospgetsonlist,
+ taskdiaggetlist,
+ taskopergetlist,
+ getTaskInfo,
getheLibraryAssort,
+ getlibrarylist,
} from "@/api/AiCentre/index";
import { listDept } from "@/api/system/dept";
import { getToken } from "@/utils/auth";
import SFtable from "@/components/SFtable"; //琛ㄦ牸缁勪欢
+import OptionalForm from "@/components/OptionalForm";
import SortCheckbox from "@/components/SortCheckbox"; //琛ㄦ牸缁勪欢
export default {
@@ -798,6 +851,7 @@
libName: "",
overallCase: [], //閫夋嫨鎮h�呮��
allpids: [],
+ diagglist: [],
libId: null, //妯℃澘搴撴ā鏉縤d
Editprogress: 1, //缂栬緫杩涘害
drawermb: false, //閫夋嫨妯℃澘寮圭獥
@@ -805,15 +859,20 @@
loading: false, // 閬僵灞�
patientloading: false, // 閬僵灞�
dialogVisiblepatient: false, //娣诲姞鎮h�呭脊妗�
+ dialogVisiblepatientjb: false, //娣诲姞鐤剧梾寮规
radio: 1,
checkboxlist: [],
selectedOrder: [],
+ baseoperaList: [],
// 绉戝/鐥呭尯
- belongWards: [],
belongWards: [],
tableLabel: [],
questionList: [],
uploadingData: [],
+ deptcodesWards: [], //绉戝鏁版嵁
+ leavehospitaldistrictcodes: [], //鐥呭尯鏁版嵁
+ operationcodes: [], //鎵嬫湳鏁版嵁
+ illnesscodes: [], //鐤剧梾鏁版嵁
htmlRichText: "<p>Hello, <strong>world</strong>!</p>",
// 鎮h�呰〃鍗�
tableLabelhz: [
@@ -900,6 +959,8 @@
patientqueryParams: {
pageNum: 1, //
pageSize: 10,
+ leavehospitaldistrictcodes: [],
+ leaveldeptcodes: [],
},
topicoptions: [{ children: [{ children: [] }] }],
showSearch: true, //
@@ -965,6 +1026,8 @@
],
tasktopic: null, //鏂板绫诲瀷
SelectPatientslist: [],
+ belongDepts: [],
+
form: {
patTaskRelevances: [],
sendType: 1,
@@ -1021,7 +1084,7 @@
quote: false,
};
},
- components: { SFtable, SortCheckbox },
+ components: { SFtable, OptionalForm, SortCheckbox },
created() {
this.id = this.$route.query.id;
@@ -1145,20 +1208,20 @@
}
},
// 淇濆瓨
- async submitForm(formName) {
+ async submitForm(formName) {
this.form.preachform = this.checkList.join(",");
// this.formatFn(1);
- if (!this.form.patTaskRelevances[0] && this.form.longTask == 0) {
- try {
- // 绛夊緟鐢ㄦ埛纭
- await this.$modal.confirm("褰撳墠浠诲姟鏈�夋嫨鎮h�呮槸鍚︿繚瀛橈紵");
- // 鍙湁鐢ㄦ埛鐐瑰嚮鈥滅‘璁も�濆悗锛屼唬鐮佹墠浼氭墽琛屽埌杩欓噷
- } catch (error) {
- // 鐢ㄦ埛鐐瑰嚮浜嗏�滃彇娑堚�濓紝鐩存帴涓柇鍑芥暟鎵ц
- this.$modal.msgWarning("鎿嶄綔宸插彇娑�");
- return; // 鍏抽敭锛氳繖閲宺eturn鐩存帴閫�鍑哄嚱鏁�
- }
- }
+ if (!this.form.patTaskRelevances[0] && this.form.longTask == 0) {
+ try {
+ // 绛夊緟鐢ㄦ埛纭
+ await this.$modal.confirm("褰撳墠浠诲姟鏈�夋嫨鎮h�呮槸鍚︿繚瀛橈紵");
+ // 鍙湁鐢ㄦ埛鐐瑰嚮鈥滅‘璁も�濆悗锛屼唬鐮佹墠浼氭墽琛屽埌杩欓噷
+ } catch (error) {
+ // 鐢ㄦ埛鐐瑰嚮浜嗏�滃彇娑堚�濓紝鐩存帴涓柇鍑芥暟鎵ц
+ this.$modal.msgWarning("鎿嶄綔宸插彇娑�");
+ return; // 鍏抽敭锛氳繖閲宺eturn鐩存帴閫�鍑哄嚱鏁�
+ }
+ }
if (!this.form.templatename) {
this.$modal.msgError("鏈�夋嫨妯℃澘");
return;
@@ -1170,6 +1233,36 @@
this.$modal.msgError("璇烽�夋嫨鏈嶅姟绫诲瀷");
this.submitLoading = false;
+ return;
+ }
+ if (this.form.appltype == 1) {
+ this.leavehospitaldistrictcodes = [];
+ this.operationcodes = [];
+ this.illnesscodes = [];
+ } else if (this.form.appltype == 2) {
+ this.deptcodesWards = [];
+ this.operationcodes = [];
+ this.illnesscodes = [];
+ } else if (this.form.appltype == 3) {
+ this.deptcodesWards = [];
+ this.leavehospitaldistrictcodes = [];
+ this.operationcodes = [];
+ } else if (this.form.appltype == 4) {
+ this.deptcodesWards = [];
+ this.illnesscodes = [];
+ this.leavehospitaldistrictcodes = [];
+ }
+ if (
+ this.deptcodesWards[0] ||
+ this.leavehospitaldistrictcodes[0] ||
+ this.diagglist[0] ||
+ this.operationcodes[0] ||
+ this.form.longTask == 2 ||
+ this.serviceType == 3
+ ) {
+ } else {
+ this.$modal.msgError("璇烽�夋嫨浠诲姟鍏宠仈鏉′欢");
+ this.submitLoading = false;
return;
}
const filteredArray = this.variableList.filter(
@@ -1187,12 +1280,13 @@
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
- );
+ this.form.deptcode = this.deptcodesWards.join(",");
+ this.form.leavehospitaldistrictcode =
+ this.leavehospitaldistrictcodes.join(",");
+ this.form.opcode = this.operationcodes.join(",");
+ this.form.icd10code = this.diagglist
+ .map((item) => item.icdcode)
+ .join(",");
Editsingletask(this.form).then((res) => {
if (res.code == 200) {
if (this.form.taskid) {
@@ -1437,9 +1531,54 @@
},
getList() {},
handleQuery() {
+ if (this.patientqueryParams.allhosp == 6) {
+ this.Externallist();
+ console.log();
+
+ return;
+ }
+ 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);
+ }
+ if (
+ !this.patientqueryParams.leavehospitaldistrictcodes ||
+ !this.patientqueryParams.leavehospitaldistrictcodes[0]
+ )
+ this.patientqueryParams.leavehospitaldistrictcodes = null;
+ if (
+ !this.patientqueryParams.leaveldeptcodes ||
+ !this.patientqueryParams.leaveldeptcodes[0]
+ )
+ this.patientqueryParams.leaveldeptcodes = null;
this.handleAddpatient();
},
- resetQuery() {},
+ resetQuery() {
+ this.patientqueryParams = {
+ pageNum: 1, //
+ pageSize: 10,
+ topica: 1, //0鍏ㄩ儴1绉戝2鐥呭尯
+ leavehospitaldistrictcodes: [],
+ leaveldeptcodes: [],
+ };
+ this.handleQuery();
+ },
+ resetQuerymb() {
+ this.topqueryParams = { svyname: "" };
+ this.handleQuerymb();
+ },
handleClosehz() {
this.dialogVisiblepatient = false;
},
@@ -1517,6 +1656,44 @@
console.log("褰撳墠閫変腑:", selectedValues);
console.log("閫変腑椤哄簭:", selectedOrder);
},
+ getillnesslist() {
+ getillnesslist({
+ pageNum: 1,
+ pageSize: 1000,
+ }).then((res) => {
+ this.donorchargeList = res.rows;
+ });
+ getbaseopera({
+ pageNum: 1,
+ pageSize: 1000,
+ }).then((res) => {
+ this.baseoperaList = res.rows;
+ });
+ },
+ // 鎵嬫湳鏌ヨ
+ remoteopcode(name) {
+ if (name) {
+ getbaseopera({
+ pageNum: 1,
+ pageSize: 1000,
+ opdesc: name,
+ }).then((res) => {
+ this.baseoperaList = res.rows;
+ });
+ }
+ },
+ // 鐤剧梾鏌ヨ
+ remotedonor(name) {
+ if (name) {
+ getbaseopera({
+ pageNum: 1,
+ pageSize: 1000,
+ opdesc: name,
+ }).then((res) => {
+ this.baseoperaList = res.rows;
+ });
+ }
+ },
// 渚濈収鏂板鏃跺鐞�
neWaddfn() {
this.id = null;
@@ -1541,9 +1718,45 @@
},
// 鑾峰彇绉戝鍒楄〃
listDept() {
- listDept().then((res) => {
- this.topicoptions = this.handleTree(res.data, "deptId");
- console.log(this.topicoptions, "topicoptions");
+ this.leavehospitaldistrictcodes = [];
+ this.deptcodesWards = [];
+ this.queryParamsdept.taskId = this.form.taskid;
+ taskdepthospgetsonlist(this.queryParamsdept).then((res) => {
+ if (res.code == 200) {
+ let arr = res.rows;
+ arr.forEach((item) => {
+ if (item.deptType == 1) {
+ this.deptlist.push(item);
+ this.deptcodesWards.push(item.deptCode);
+ } else if (item.deptType == 2) {
+ this.hosplist.push(item);
+ this.leavehospitaldistrictcodes.push(item.deptCode);
+ }
+ });
+ }
+ });
+ taskdiaggetlist(this.queryParamsdept).then((res) => {
+ if (res.code == 200) {
+ let arr = res.rows;
+ arr.forEach((item) => {
+ getillnesslist({
+ icdcode: item.icd10code,
+ }).then((res) => {
+ item.icdname = res.rows[0].icdname;
+ this.diagglist.push(item);
+ });
+ this.illnesscodes.push(item.icd10code);
+ });
+ }
+ });
+ taskopergetlist(this.queryParamsdept).then((res) => {
+ if (res.code == 200) {
+ let arr = res.rows;
+ arr.forEach((item) => {
+ this.operlist.push(item);
+ this.operationcodes.push(item.opcode);
+ });
+ }
});
},
// 鏂板娲鹃�佹偅鑰�
@@ -1649,7 +1862,7 @@
TaskQuestioncomit(this.Tasktemplate).then((response) => {
console.log(response);
this.previewtf = false;
- this.drawermb =false;
+ this.drawermb = false;
this.form.templateid = response.data;
this.form.libtemplateid = this.libId;
this.form.templatename = this.libName;
@@ -1686,6 +1899,65 @@
this.checkList = list;
}
},
+ // 浠诲姟绉戝鍒犻櫎瑙﹀彂
+ removetag(row) {
+ let result = this.deptlist
+ .filter((item) => item.deptCode == row)
+ .map((item) => item.id);
+
+ if (result.length) {
+ taskdepthospgetsondel(result).then((res) => {
+ if (res.code) {
+ this.$modal.msgSuccess("鍒犻櫎鎴愬姛");
+ }
+ });
+ }
+ },
+ // 闄㈠尯鍒犻櫎鍒犻櫎瑙﹀彂
+ removehpsp(row) {
+ let result = this.hosplist
+ .filter((item) => item.deptCode == row)
+ .map((item) => item.id);
+ if (result.length) {
+ taskdepthospgetsondel(result).then((res) => {
+ if (res.code) {
+ this.$modal.msgSuccess("鍒犻櫎鎴愬姛");
+ }
+ });
+ }
+ },
+ // 鎵嬫湳鍒犻櫎瑙﹀彂
+ removeopera(row) {
+ let result = this.operlist
+ .filter((item) => item.opcode == row)
+ .map((item) => item.id);
+ if (result.length) {
+ taskoperhospgetsondel(result).then((res) => {
+ if (res.code) {
+ this.$modal.msgSuccess("鍒犻櫎鎴愬姛");
+ }
+ });
+ }
+ },
+ // 鐤剧梾鍒犻櫎瑙﹀彂
+ removediagg(row) {
+ console.log(row, "row");
+ console.log(this.diagglist, "this.diagglist");
+
+ let result = this.diagglist
+ .filter((item) => item.icd10code == row)
+ .map((item) => item.id);
+ if (result.length) {
+ taskdiaghospgetsondel(result).then((res) => {
+ if (res.code) {
+ this.diagglist = this.diagglist.filter(
+ (item) => item.icd10code != row
+ );
+ this.$modal.msgSuccess("鍒犻櫎鎴愬姛");
+ }
+ });
+ }
+ },
/** 瀵煎叆鎸夐挳鎿嶄綔 */
handleImport() {
this.upload.title = "鐢ㄦ埛瀵煎叆";
diff --git a/src/views/patient/propaganda/QuestionnaireTask.vue b/src/views/patient/propaganda/QuestionnaireTask.vue
index 22db733..5074600 100644
--- a/src/views/patient/propaganda/QuestionnaireTask.vue
+++ b/src/views/patient/propaganda/QuestionnaireTask.vue
@@ -260,29 +260,6 @@
></el-col>
</el-row>
<el-row v-if="form.appltype == 3">
- <!-- <el-col :span="20"
- ><el-form-item label="閫傜敤鐤剧梾" prop="region">
- <el-select
- v-model="illnesscodes"
- style="width: 400px"
- @remove-tag="removediagg"
- size="medium"
- :remote-method="remotedonor"
- multiple
- filterable
- remote
- placeholder="璇烽�夋嫨鐥呭尯"
- >
- <el-option
- class="ruleFormaa"
- v-for="item in donorchargeList"
- :key="item.icdcode"
- :label="item.icdname"
- :value="item.icdcode"
- >
- </el-option>
- </el-select> </el-form-item
- ></el-col> -->
<div class="xinz-infs">
<el-form-item>
<template #label>
@@ -1478,8 +1455,6 @@
return;
}
- console.log(this.operationcodes[0]);
- console.log(this.operationcodes);
if (
this.deptcodesWards[0] ||
--
Gitblit v1.9.3