diff --git a/src/components/itemSet/ReferenceRange.vue b/src/components/itemSet/ReferenceRange.vue index d4d8716..18e4487 100644 --- a/src/components/itemSet/ReferenceRange.vue +++ b/src/components/itemSet/ReferenceRange.vue @@ -229,7 +229,6 @@ export default { }, methods: { getlist(itemId, ReferenceRangeTypeFlag) { - //http://81.70.217.145:9529/api/app/reference-range/in-type/3a0bcedc-328c-9322-e75d-343c3ce557fb?ReferenceRangeTypeFlag=1 getapi( `/api/app/reference-range/in-type/${itemId}?ReferenceRangeTypeFlag=${ReferenceRangeTypeFlag}` ).then((res) => { @@ -250,12 +249,12 @@ export default { // 新增或者编辑需要的类别 addtoedit() { //性别 - examinationgender().then((res) => { + getapi("/api/app/sex").then((res) => { this.forSexId = res.data; }); //诊断 - postapi("/api/app/diagnosis/getlistinfilter").then((res) => { - this.diagnosis = res.data.items; + postapi("/api/app/diagnosis/getlistinsuggestion").then((res) => { + this.diagnosis = res.data; }); }, @@ -292,9 +291,11 @@ export default { return deletapi(`/api/app/reference-range/${this.id}`, this.form); }) .then((res) => { - this.$message.success("删除成功"); - this.getlist(this.itemId, this.ReferenceRangeTypeFlag); - this.id = ""; + if(res.code!=-1){ + this.$message.success("删除成功"); + this.getlist(this.itemId, this.ReferenceRangeTypeFlag); + this.id = ""; + } }) .catch(() => { this.$message({ @@ -310,16 +311,21 @@ export default { if (v) { if (!this.id) { postapi("/api/app/reference-range", this.form).then((res) => { - this.$message.success("新增成功"); - this.getlist(this.itemId, this.ReferenceRangeTypeFlag); - console.log("res", res); - this.id = res.data.id; + if(res.code!=-1){ + this.$message.success("新增成功"); + this.getlist(this.itemId, this.ReferenceRangeTypeFlag); + this.id = res.data.id; + this.dialogVisible=false + } }); } else { putapi(`/api/app/reference-range/${this.id}`, this.form).then( (res) => { - this.$message.success("修改成功"); - this.getlist(this.itemId, this.ReferenceRangeTypeFlag); + if(res.code!=-1){ + this.$message.success("修改成功"); + this.dialogVisible=false + this.getlist(this.itemId, this.ReferenceRangeTypeFlag); + } } ); } diff --git a/src/components/report/StatisticsOCX.vue b/src/components/report/StatisticsOCX.vue new file mode 100644 index 0000000..17e398b --- /dev/null +++ b/src/components/report/StatisticsOCX.vue @@ -0,0 +1,384 @@ + + + \ No newline at end of file diff --git a/src/router/index.js b/src/router/index.js index 3b14928..7a5dc3a 100644 --- a/src/router/index.js +++ b/src/router/index.js @@ -8,383 +8,444 @@ Vue.use(VueRouter); // VueRouter.prototype.push = function (location) { // return originalpush.call(this, location).catch(err => err) // } -const routes = [ - { - path: "/", - component: login, - }, - { - path: "/login", - name: "login", +const routes = [{ + path: "/", + component: login, + }, + { + path: "/login", + name: "login", - component: () => import("../views/login/Login.vue"), - }, - { - path: "/home", - name: "home", - component: () => - import(/* webpackChunkName: "about" */ "../views/Home.vue"), - children: [ - { - path: "/role", - component: () => import("../views/user-list/Role.vue"), - }, - { - path: "/user-list", - component: () => import("../views/user-list/UserList.vue"), - }, - { - path: "/organization-units", - component: () => import("../views/user-list/OrganizationUnits.vue"), - }, - { - path: "/audit-log", - component: () => import("../views/user-list/AuditLog.vue"), - }, - { - path: "/guide-type", - component: () => import("../views/basic-dictionary/GuideType.vue"), - }, - { - path: "/medical-report-type", - component: () => - import("../views/basic-dictionary/MedicalReportType.vue"), - }, - { - path: "/sex", - component: () => import("../views/basic-dictionary/Sex.vue"), - }, - { - path: "/marital-status", - component: () => import("../views/basic-dictionary/MaritalStatus.vue"), - }, - { - path: "/nation", - component: () => import("../views/basic-dictionary/Nation.vue"), - }, - { - path: "/birth-place", - component: () => import("../views/basic-dictionary/BirthPlace.vue"), - }, - { - path: "/result-status", - component: () => import("../views/basic-dictionary/ResultStatus.vue"), - }, - { - path: "/medical-type", - component: () => import("../views/basic-dictionary/MedicalType.vue"), - }, - { - path: "/personnel-type", - component: () => import("../views/basic-dictionary/PersonnelType.vue"), - }, - { - path: "/device-type", - component: () => import("../views/basic-dictionary/DeviceType.vue"), - }, - { - path: "/sample-type", - component: () => import("../views/basic-dictionary/SampleType.vue"), - }, - { - path: "/unit", - component: () => import("../views/basic-dictionary/Unit.vue"), - }, - { - path: "/diagnosis-postfix", - component: () => - import("../views/basic-dictionary/DiagnosisPostfix.vue"), - }, - { - path: "/medical-conclusion-type", component: () => - import("../views/basic-dictionary/MedicalConclusionType.vue"), - }, - { - path: "/medical-conclusion", + import ("../views/login/Login.vue"), + }, + { + path: "/home", + name: "home", component: () => - import("../views/basic-dictionary/MedicalConclusion.vue"), - }, - { - path: "/sample-container", - component: () => - import("../views/basic-dictionary/SampleContainer.vue"), - }, - { - path: "/common-char-type", - component: () => import("../views/basic-dictionary/CommonCharType.vue"), - }, - { - path: "/common-char", - component: () => import("../views/basic-dictionary/CommonChar.vue"), - }, - { - path: "/customer-org-type", - component: () => - import("../views/basic-dictionary/CustomerOrgType.vue"), - }, - { - path: "/item-default-result", - component: () => - import("../views/basic-dictionary/ItemDefaultResult.vue"), - }, - { - path: "/diagnosis-level", - component: () => import("../views/basic-dictionary/DiagnosisLevel.vue"), - }, - //---------------------- 收费设置 start ---------------------- - { - path: "/invoice-item-type", - component: () => import("../views/fee-settings/InvoiceItemType.vue"), - }, - { - path: "/pay-mode", - component: () => import("../views/fee-settings/PayMode.vue"), - }, - { - path: "/cardType", - name: "会员卡类别", - component: () => import("../views/fee-settings/cardType.vue"), - }, - { - path: "/cardRegister", - name: "会员卡登记", - component: () => import("../views/fee-settings/cardRegister.vue"), - }, - { - path: "/cardBill", - name: "会员卡记账", - component: () => import("../views/fee-settings/cardBill.vue"), - }, - //---------------------- 收费设置 start ---------------------- + import ( /* webpackChunkName: "about" */ "../views/Home.vue"), + children: [{ + path: "/role", + component: () => + import ("../views/user-list/Role.vue"), + }, + { + path: "/user-list", + component: () => + import ("../views/user-list/UserList.vue"), + }, + { + path: "/organization-units", + component: () => + import ("../views/user-list/OrganizationUnits.vue"), + }, + { + path: "/audit-log", + component: () => + import ("../views/user-list/AuditLog.vue"), + }, + { + path: "/guide-type", + component: () => + import ("../views/basic-dictionary/GuideType.vue"), + }, + { + path: "/medical-report-type", + component: () => + import ("../views/basic-dictionary/MedicalReportType.vue"), + }, + { + path: "/sex", + component: () => + import ("../views/basic-dictionary/Sex.vue"), + }, + { + path: "/marital-status", + component: () => + import ("../views/basic-dictionary/MaritalStatus.vue"), + }, + { + path: "/nation", + component: () => + import ("../views/basic-dictionary/Nation.vue"), + }, + { + path: "/birth-place", + component: () => + import ("../views/basic-dictionary/BirthPlace.vue"), + }, + { + path: "/result-status", + component: () => + import ("../views/basic-dictionary/ResultStatus.vue"), + }, + { + path: "/medical-type", + component: () => + import ("../views/basic-dictionary/MedicalType.vue"), + }, + { + path: "/personnel-type", + component: () => + import ("../views/basic-dictionary/PersonnelType.vue"), + }, + { + path: "/device-type", + component: () => + import ("../views/basic-dictionary/DeviceType.vue"), + }, + { + path: "/sample-type", + component: () => + import ("../views/basic-dictionary/SampleType.vue"), + }, + { + path: "/unit", + component: () => + import ("../views/basic-dictionary/Unit.vue"), + }, + { + path: "/diagnosis-postfix", + component: () => + import ("../views/basic-dictionary/DiagnosisPostfix.vue"), + }, + { + path: "/medical-conclusion-type", + component: () => + import ("../views/basic-dictionary/MedicalConclusionType.vue"), + }, + { + path: "/medical-conclusion", + component: () => + import ("../views/basic-dictionary/MedicalConclusion.vue"), + }, + { + path: "/sample-container", + component: () => + import ("../views/basic-dictionary/SampleContainer.vue"), + }, + { + path: "/common-char-type", + component: () => + import ("../views/basic-dictionary/CommonCharType.vue"), + }, + { + path: "/common-char", + component: () => + import ("../views/basic-dictionary/CommonChar.vue"), + }, + { + path: "/customer-org-type", + component: () => + import ("../views/basic-dictionary/CustomerOrgType.vue"), + }, + { + path: "/item-default-result", + component: () => + import ("../views/basic-dictionary/ItemDefaultResult.vue"), + }, + { + path: "/diagnosis-level", + component: () => + import ("../views/basic-dictionary/DiagnosisLevel.vue"), + }, + //---------------------- 收费设置 start ---------------------- + { + path: "/invoice-item-type", + component: () => + import ("../views/fee-settings/InvoiceItemType.vue"), + }, + { + path: "/pay-mode", + component: () => + import ("../views/fee-settings/PayMode.vue"), + }, + { + path: "/cardType", + name: "会员卡类别", + component: () => + import ("../views/fee-settings/cardType.vue"), + }, + { + path: "/cardRegister", + name: "会员卡登记", + component: () => + import ("../views/fee-settings/cardRegister.vue"), + }, + { + path: "/cardBill", + name: "会员卡记账", + component: () => + import ("../views/fee-settings/cardBill.vue"), + }, + //---------------------- 收费设置 start ---------------------- - { - path: "/item-type", - component: () => import("../views/common-settings/ItemType.vue"), - }, - { - path: "/sample-group", - component: () => import("../views/common-settings/SampleGroup.vue"), - }, - { - path: "/asbitem", - component: () => import("../views/fee-settings/Asbitem.vue"), - }, - { - path: "/item", - component: () => import("../views/fee-settings/Item.vue"), - }, - { - path: "/reference-range", - component: () => import("../views/fee-settings/ReferenceRange.vue"), - }, - { - path: "/diagnosis", - component: () => import("../views/fee-settings/Diagnosis.vue"), - hidden: true, - // meta: { - // title: '诊断', - // menu - // } - meat: { - title: "诊断", - noCache: true, - menus: ["diagosis:advertDemandRelease"], - }, - }, - { - path: "/item-result-template", - component: () => import("../views/fee-settings/ItemResultTemplate.vue"), - }, - { - path: "/item-result-match", - component: () => import("../views/fee-settings/ItemResultMatch.vue"), - }, - { - path: "/item-template", - component: () => import("../views/fee-settings/ItemTemplate.vue"), - }, - { - path: "/medical-package", - component: () => import("../views/fee-settings/MedicalPackage.vue"), - }, - { - path: "/sex-hormone-reference-range", - component: () => - import("../views/fee-settings/SexHormoneReferenceRange.vue"), - }, - { - path: "/diagnosis-template", - component: () => import("../views/fee-settings/DiagnosisTemplate.vue"), - }, - { - path: "/sys-parm-type", - component: () => import("../views/fee-settings/SysParmSet.vue"), //../views/fee-settings/SysParmType.vue - }, - //---------------------- 体检登记 start ---------------------- - { - path: "/customerOrg", - name: "体检单位设置", - component: () => import("../views/customerOrg/customerOrg.vue"), - }, - { - path: "/customerOrgGroup", - name: "单位分组设置", - component: () => import("../views/customerOrg/customerOrgGroup.vue"), - }, - { - path: "/patientRegister", - name: "体检人员登记", - component: () => import("../views/customerOrg/patientRegister.vue"), - }, - { - path: "/patientRegisterSign", - name: "体检人员签到", - component: () => import("../views/customerOrg/patientRegisterSign.vue"), - }, - { - path: "/personnelBatch", - name: "人员批量登记", - component: () => import("../views/doctorCheck/personnelBatch.vue"), - }, - { - path: "/patientRegisterRecover", - name: "体检表回收", - component: () => - import("../views/customerOrg/patientRegisterRecover.vue"), - }, - { - path: "/patientRegisterRefuse", - name: "弃检登记", - component: () => - import("../views/customerOrg/patientRegisterRefuse.vue"), - }, - { - path: "/charge", - name: "体检收费", - component: () => - import("../views/charge/charge.vue"), - }, - //---------------------- 体检登记 start ---------------------- - //---------------------- 体 检 start ---------------------- - { - path: "/doctorCheck", - name: "体检医生诊台", - component: () => import("../views/doctorCheck/doctorCheck.vue"), - }, - { - path: "/sumDoctorCheck", - name: "总检医生诊台", - component: () => import("../views/doctorCheck/sumDoctorCheck.vue"), + { + path: "/item-type", + component: () => + import ("../views/common-settings/ItemType.vue"), + }, + { + path: "/sample-group", + component: () => + import ("../views/common-settings/SampleGroup.vue"), + }, + { + path: "/asbitem", + component: () => + import ("../views/fee-settings/Asbitem.vue"), + }, + { + path: "/item", + component: () => + import ("../views/fee-settings/Item.vue"), + }, + { + path: "/reference-range", + component: () => + import ("../views/fee-settings/ReferenceRange.vue"), + }, + { + path: "/diagnosis", + component: () => + import ("../views/fee-settings/Diagnosis.vue"), + hidden: true, + // meta: { + // title: '诊断', + // menu + // } + meat: { + title: "诊断", + noCache: true, + menus: ["diagosis:advertDemandRelease"], + }, + }, + { + path: "/item-result-template", + component: () => + import ("../views/fee-settings/ItemResultTemplate.vue"), + }, + { + path: "/item-result-match", + component: () => + import ("../views/fee-settings/ItemResultMatch.vue"), + }, + { + path: "/item-template", + component: () => + import ("../views/fee-settings/ItemTemplate.vue"), + }, + { + path: "/medical-package", + component: () => + import ("../views/fee-settings/MedicalPackage.vue"), + }, + { + path: "/sex-hormone-reference-range", + component: () => + import ("../views/fee-settings/SexHormoneReferenceRange.vue"), + }, + { + path: "/diagnosis-template", + component: () => + import ("../views/fee-settings/DiagnosisTemplate.vue"), + }, + { + path: "/sys-parm-type", + component: () => + import ("../views/fee-settings/SysParmSet.vue"), //../views/fee-settings/SysParmType.vue + }, + //---------------------- 体检登记 start ---------------------- + { + path: "/customerOrg", + name: "体检单位设置", + component: () => + import ("../views/customerOrg/customerOrg.vue"), + }, + { + path: "/customerOrgGroup", + name: "单位分组设置", + component: () => + import ("../views/customerOrg/customerOrgGroup.vue"), + }, + { + path: "/patientRegister", + name: "体检人员登记", + component: () => + import ("../views/customerOrg/patientRegister.vue"), + }, + { + path: "/patientRegisterSign", + name: "体检人员签到", + component: () => + import ("../views/customerOrg/patientRegisterSign.vue"), + }, + { + path: "/personnelBatch", + name: "人员批量登记", + component: () => + import ("../views/doctorCheck/personnelBatch.vue"), + }, + { + path: "/patientRegisterRecover", + name: "体检表回收", + component: () => + import ("../views/customerOrg/patientRegisterRecover.vue"), + }, + { + path: "/patientRegisterRefuse", + name: "弃检登记", + component: () => + import ("../views/customerOrg/patientRegisterRefuse.vue"), + }, + { + path: "/charge", + name: "体检收费", + component: () => + import ("../views/charge/charge.vue"), + }, + //---------------------- 体检登记 start ---------------------- + //---------------------- 体 检 start ---------------------- + { + path: "/doctorCheck", + name: "体检医生诊台", + component: () => + import ("../views/doctorCheck/doctorCheck.vue"), + }, + { + path: "/sumDoctorCheck", + name: "总检医生诊台", + component: () => + import ("../views/doctorCheck/sumDoctorCheck.vue"), - }, - //---------------------- 体 检 end ---------------------- - //---------------------- 体检查询 start ---------------------- - { - path: "/report", - name: "体检报告", - component: () => import("../views/report/report.vue"), - }, - { - path: "/checkStatus", - name: "组合项目检查状态", - component: () => import("../views/report/checkStatus.vue"), - }, - { - path: "/chargeAsbitem", - name: "人员费用组合项目", - component: () => import("../views/report/chargeAsbitem.vue"), - }, - { - path: "/unCheckAsbitem", - name: "人员未检组合项目", - component: () => import("../views/report/unCheckAsbitem.vue"), - }, - //---------------------- 体检查询 end ---------------------- + }, + //---------------------- 体 检 end ---------------------- + //---------------------- 体检查询 start ---------------------- + { + path: "/report", + name: "体检报告", + component: () => + import ("../views/report/report.vue"), + }, + { + path: "/checkStatus", + name: "组合项目检查状态", + component: () => + import ("../views/report/checkStatus.vue"), + }, + { + path: "/chargeAsbitem", + name: "人员费用组合项目", + component: () => + import ("../views/report/chargeAsbitem.vue"), + }, + { + path: "/unCheckAsbitem", + name: "人员未检组合项目", + component: () => + import ("../views/report/unCheckAsbitem.vue"), + }, + //---------------------- 体检查询 end ---------------------- - //---------------------- 体 检 end ---------------------- - //---------------------- 疾病人数登记 ---------------------- - { - path: "/diseaseStatistics", - name: "疾病人数统计", - component: () => import("../views/fee-settings/diseaseStatistics.vue"), - }, - { - path: "/positiveresults", - name: "阳性结果清单", - component: () => import("../views/doctorCheck/positiveresults.vue"), - }, - { - path: "/unitphysicalexamination", - name: "单位体检报表", - component: () => import("../views/doctorCheck/unitphysicalexamination.vue"), - }, - //---------------------- 工作量登记 ---------------------- - { - path: "/registrar", - name: "登记员工作量", - component: () => import("../views/workload/registrar.vue"), - }, - { - path: "/doctorstaionworkload", - name: "登记员工作量", - component: () => import("../views/workload/doctorstaionworkload.vue"), - }, - { - path: "/directordoctor", - name: "总检医生工作量", - component: () => import("../views/workload/directordoctor.vue"), - }, - { - path: "/deskwork", - name: "总检医生工作量", - component: () => import("../views/workload/deskwork.vue"), - }, - { - path: "/tollcollector", - name: "收费员", - component: () => import("../views/workload/tollcollector.vue"), - }, - { - path: "/individualfeedetails", - name: "个人收费明细", - component: () => import("../views/workload/individualfeedetails.vue"), - }, - { - path: "/membershipcard", - name: "会员卡分类统计", - component: () => import("../views/workload/membershipcard.vue"), - }, - ], - }, + //---------------------- 体 检 end ---------------------- + //---------------------- 疾病人数登记 ---------------------- + { + path: "/diseaseStatistics", + name: "疾病人数统计", + component: () => + import ("../views/fee-settings/diseaseStatistics.vue"), + }, + { + path: "/positiveresults", + name: "阳性结果清单", + component: () => + import ("../views/doctorCheck/positiveresults.vue"), + }, + { + path: "/unitphysicalexamination", + name: "单位体检报表", + component: () => + import ("../views/doctorCheck/unitphysicalexamination.vue"), + }, + { + path: "/personnelPositive", + name: "人员阳性结果", + component: () => + import ("../views/doctorCheck/personnelPositive.vue") + }, + //---------------------- 工作量登记 ---------------------- + { + path: "/registrar", + name: "登记员工作量", + component: () => + import ("../views/workload/registrar.vue"), + }, + { + path: "/doctorstaionworkload", + name: "登记员工作量", + component: () => + import ("../views/workload/doctorstaionworkload.vue"), + }, + { + path: "/directordoctor", + name: "总检医生工作量", + component: () => + import ("../views/workload/directordoctor.vue"), + }, + { + path: "/deskwork", + name: "总检医生工作量", + component: () => + import ("../views/workload/deskwork.vue"), + }, + { + path: "/tollcollector", + name: "收费员", + component: () => + import ("../views/workload/tollcollector.vue"), + }, + { + path: "/individualfeedetails", + name: "个人收费明细", + component: () => + import ("../views/workload/individualfeedetails.vue"), + }, + { + path: "/membershipcard", + name: "会员卡分类统计", + component: () => + import ("../views/workload/membershipcard.vue"), + }, + ], + }, ]; const router = new VueRouter({ - //mode: "history", - //base: process.env.BASE_URL, - routes, + //mode: "history", + //base: process.env.BASE_URL, + routes, }); router.beforeEach((to, form, next) => { - let token = localStorage.getItem("token"); - let tokentype = localStorage.getItem("tokentype"); - if (to.path === "/login") { - if (token != null) { - next({ - path: "/", - }); - } else { - next(); - } - } else { - if (token == null) { - next({ - path: "/login", - }); + let token = localStorage.getItem("token"); + let tokentype = localStorage.getItem("tokentype"); + if (to.path === "/login") { + if (token != null) { + next({ + path: "/", + }); + } else { + next(); + } } else { - next(); + if (token == null) { + next({ + path: "/login", + }); + } else { + next(); + } } - } }); -export default router; +export default router; \ No newline at end of file diff --git a/src/views/Home.vue b/src/views/Home.vue index a2a24df..6a56ef6 100644 --- a/src/views/Home.vue +++ b/src/views/Home.vue @@ -394,6 +394,11 @@ class="dropdownmain" >单位体检报表 + 人员阳性结果 diff --git a/src/views/doctorCheck/personnelPositive.vue b/src/views/doctorCheck/personnelPositive.vue new file mode 100644 index 0000000..1aba1eb --- /dev/null +++ b/src/views/doctorCheck/personnelPositive.vue @@ -0,0 +1,270 @@ + + + diff --git a/src/views/doctorCheck/positiveresults.vue b/src/views/doctorCheck/positiveresults.vue index 64a5f5a..0eb13dc 100644 --- a/src/views/doctorCheck/positiveresults.vue +++ b/src/views/doctorCheck/positiveresults.vue @@ -1,273 +1,319 @@ - \ No newline at end of file + +.btnClass { + width: 110px; +} + diff --git a/src/views/doctorCheck/unitphysicalexamination.vue b/src/views/doctorCheck/unitphysicalexamination.vue index 74c6038..c1f3db3 100644 --- a/src/views/doctorCheck/unitphysicalexamination.vue +++ b/src/views/doctorCheck/unitphysicalexamination.vue @@ -1,128 +1,285 @@ \ No newline at end of file + diff --git a/src/views/fee-settings/Item.vue b/src/views/fee-settings/Item.vue index 2e31f38..a8be22a 100644 --- a/src/views/fee-settings/Item.vue +++ b/src/views/fee-settings/Item.vue @@ -8,7 +8,7 @@
项目设置
- - - - 类别选择 - - - - + > --> + + + +
@@ -51,6 +41,10 @@ :data="itemTypeId" :props="treeprops" @node-click="treeclick" + node-key="id" + ref="itemType" + highlight-current + auto-expand-parent >
@@ -450,39 +444,56 @@ :close-on-click-modal="false" >
-
+
- - - + + + - + - - + + + + - + + + + +
-
+
添加
编辑 @@ -503,8 +514,8 @@
- 取 消 - 取 消 + 确 定 @@ -516,7 +527,7 @@ width="80%" :close-on-click-modal="false" > - + - - + + - + - + - + - + - 参考范围类型 + 参考范围类型: 诊断设置
+
- - - - - + + + @@ -729,104 +735,43 @@
-
- 增加诊断 +
+ 增加 +
+ 编辑 +
+
+ 删除 +
+ - 取 消 - 取 消 + 确 定 - + - - - - - - - + + - - - - - - - + + - - - - - - - - - - - - - - - - - - - - - - - - + 取 消 确 定 @@ -938,8 +884,9 @@ import { import { unitlist } from "@/request/systemapi"; import Sortable from "sortablejs"; import { getapi, postapi, putapi, deletapi } from "@/api/api"; - +import { deepCopy } from "../../utlis/proFunc"; import ReferenceRange from "../../components/itemSet/ReferenceRange.vue"; +import { mapState, mapActions } from "vuex"; export default { components: { ReferenceRange, @@ -960,13 +907,9 @@ export default { children: "treeChildren", }, //左侧树形结构需要的数据 editdigoisceditingform: { - displayName: "", - itemTypeId: "", - suggestionName: "", - isIll: "", - isSummaryTemplate: "", - forSexId: "", - diagnosisLevelId: "", + itemId: "", + result: "", + diagnosisId: "" }, //诊断编辑需要绑定的对象诊断所需要的编辑 diagnosticediting: false, //诊断编辑 diagnosdialogVisible: false, //匹配诊断 @@ -978,10 +921,10 @@ export default { rusetform: { itemId: "", result: "", - diagnosisId: "", + diagnosisId: null, isNameIntoSummary: "N", isResultIntoSummary: "Y", - resultStatusId: "", + resultStatusId: "01", simpleCode: "", }, //项目结果模板需要的数据 resultStatusId: [], //结果状态 @@ -1215,6 +1158,22 @@ export default { ], isActive: [{ required: true, message: "请选择启用", trigger: "blur" }], }, + rusetformcheck:{ + result: [ + { required: true, message: "请输入名称", trigger: "blur" }, + ], + resultStatusId: [ + { required: true, message: "请选择结果状态", trigger: "blur" }, + ] + }, + editdigoisceditingformcheck:{ + result: [ + { required: true, message: "请输入名称", trigger: "blur" }, + ], + diagnosisId: [ + { required: true, message: "请选择诊断编号", trigger: "blur" }, + ] + }, unitId: [], //单位Id priceItemId: [], //价格id1 result: [], //结果 @@ -1291,7 +1250,15 @@ export default { disableddiagnosisFunction: true, curRow: {}, diagnosisFunctionText:"", - calculationFunctionText:"" + calculationFunctionText:"", + quickAsb:[], + quckDepartment:[], + department:"", + quckeDitd:[], + editdigoisceDiagnosisId:"", + diagnostiele:1, + curRows:{}, + curRowes:{}, }; }, created() { @@ -1302,6 +1269,9 @@ export default { this.rowDrop(); this.typeid(); }, + computed: { + ...mapState(["window"]), + }, methods: { //启用诊断函数 enablediagnostics(v) { @@ -1363,43 +1333,120 @@ export default { }, //诊断新增获取数据 diagnosticsadd() { - postapi("/api/app/diagnosis", this.editdigoisceditingform).then((res) => { - this.$message.success("添加成功"); - this.diagnosticmatching(); + this.$refs.editdigoisceditingform.validate((v) => { + if (v) { + if(this.diagnostiele==1){ + postapi("/api/app/item-result-match", this.editdigoisceditingform).then((res) => { + if(res.code!=-1){ + this.$message.success("添加成功"); + this.diagnosticediting = false; + this.putDiagnosis() + } + }); + }else if(this.diagnostiele==2){ + putapi( + `/api/app/item-result-match/${this.editdigoisceditingform.id}`,{ + itemId:this.editdigoisceditingform.itemId, + result:this.editdigoisceditingform.result, + diagnosisId:this.editdigoisceditingform.diagnosisId + } + ).then((res) => { + if(res.code!=-1){ + this.$message.success("修改成功"); + this.diagnosticediting = false; + this.putDiagnosis() + } + }); + } + } }); }, + diagnosick(row){ + getapi(`/api/app/item-result-match/${row.id}`).then((res) => { + this.curRowes = res.data; + }); + }, + editDiagnosis(){ + this.editdigoisceditingform={ ...this.curRowes } + if (this.editdigoisceditingform.id == undefined) { + this.$message.warning("请选择操作的数据"); + }else{ + this.diagnostiele=2 + this.diagnosticediting = true + if (this.$refs.editdigoisceditingform !== undefined){ + this.$refs.editdigoisceditingform.resetFields() + } + this.diageoisaddId(); + } + }, + deleteDiagnosis(){ + this.editdigoisceditingform={ ...this.curRowes } + if (this.editdigoisceditingform.id == undefined) { + this.$message.warning("请选择操作的数据"); + }else{ + this.$confirm("是否确认删除,是否继续?", "提示", { + confirmButtonText: "确定", + cancelButtonText: "取消", + type: "warning", + }) + .then(() => { + deletapi(`/api/app/item-result-match/${this.editdigoisceditingform.id}`).then( + (res) => { + if(res.code!=-1){ + this.$message.success("删除成功"); + Object.assign(this.$data.editdigoisceditingform, this.$options.data().editdigoisceditingform) + this.curRowes={} + this.putDiagnosis() + } + } + ); + }) + .catch(() => {}); + } + }, + putDiagnosis(){ + postapi(`/api/app/itemresultmatch/getlistinitmeid`,{itemId:this.form.id}).then( + (res) => { + this.diagnosticdata = res.data; + } + ); + }, //增加诊断需要的Id diageoisaddId() { - //项目类别id - getapi("/api/app/item-type").then((res) => { - this.itemTypeId = res.data.items; - }); - //性别 - getapi("/api/app/for-sex").then((res) => { - this.forSexId = res.data; - }); - //诊断级别 - getapi("/api/app/diagnosis-level").then((res) => { - this.diagnosisLevelId = res.data.items; - }); + postapi("/api/app/diagnosis/getlistinsuggestion").then((res) => { + this.editdigoisceDiagnosisId = res.data; + this.quckeDitd=res.data; + }); }, // 增加诊断弹框 adddiagnosis() { - console.log(1); - console.log("诊断的方法"); - this.diagnosticediting = true; this.diageoisaddId(); + this.diagnostiele=1 + this.diagnosticediting = true; + if (this.$refs.editdigoisceditingform !== undefined){ + this.$refs.editdigoisceditingform.resetFields() + } + this.$nextTick(() => { + this.$refs.editdiInput.focus(); + }); + Object.assign(this.$data.editdigoisceditingform, this.$options.data().editdigoisceditingform) + this.editdigoisceditingform.itemId = this.form.id; }, //诊断匹配弹框获取诊断数据 //改成直接跳转到诊断页面 diagnosticmatching() { - // this.diagnosdialogVisible = true; - // console.log(this.diagnosdialogVisible); - // postapi("/api/app/diagnosis/getlistinfilter").then((res) => { - // this.diagnosticdata = res.data.items; - // console.log(res); - // }); - this.$router.push({ path: "/diagnosis" }); + this.form = { ...this.curRow }; + this.diagnosdialogVisible = true; + this.putDiagnosis() + this.diageoisaddId() + }, + quckEditdigoisce(e){ + if(!e){ + this.remoteMethodess() + } + }, + changeUpdate(e){ + this.$forceUpdate() }, //结果模板添加 resultaddition() {}, @@ -1440,52 +1487,83 @@ export default { }, //结果模板删除 delemtdelite() { + this.rusetform = { ...this.curRows }; if (this.rusetform.id == undefined) { this.$message.warning("请选择操作的数据"); } else { - deletapi(`/api/app/item-result-template/${this.rusetform.id}`).then( + this.$confirm("是否确认删除,是否继续?", "提示", { + confirmButtonText: "确定", + cancelButtonText: "取消", + type: "warning", + }) + .then(() => { + deletapi(`/api/app/item-result-template/${this.rusetform.id}`).then( (res) => { - this.$message.success("删除成功"); - this.resultlist(); + if(res.code!=-1){ + this.$message.success("删除成功"); + Object.assign(this.$data.rusetform, this.$options.data().rusetform) + this.curRows={} + this.resultlist(); + } } ); + }) + .catch(() => {}); } }, reustclick(row) { // this.rusetform = row; getapi(`/api/app/item-result-template/${row.id}`).then((res) => { - this.rusetform = res.data; + this.curRows = res.data; }); console.log(row); }, //项目结果模板新增弹框 resultediting() { + this.rusetform = { ...this.curRows }; if (this.rusetform.id == undefined) { this.$message.warning("请选择操作的数据"); } else { this.addoredit(); this.ruesttiele = 2; this.ruesttieledialogVisible = true; + if (this.$refs.rusetform !== undefined){ + this.$refs.rusetform.resetFields() + } } }, //结果模板新增或者修改 rusteronsubmit() { - if (this.ruesttiele == 1) { - postapi(`/api/app/item-result-template`, this.rusetform).then((res) => { - this.$message.success("新增成功"); - this.ruesttieledialogVisible = false; - this.resultlist(); - }); - } else if (this.ruesttiele == 2) { - putapi( - `/api/app/item-result-template/${this.rusetform.id}`, - this.rusetform - ).then((res) => { - this.$message.success("修改成功"); - this.ruesttieledialogVisible = false; - this.resultlist(); - }); - } + this.$refs.rusetform.validate((v) => { + if (v) { + if (this.ruesttiele == 1) { + if(this.rusetform.diagnosisId==""){ + this.rusetform.diagnosisId=null + } + postapi(`/api/app/item-result-template`, this.rusetform).then((res) => { + if(res.code!=-1){ + this.$message.success("新增成功"); + this.ruesttieledialogVisible = false; + this.resultlist(); + } + }); + } else if (this.ruesttiele == 2) { + if(this.rusetform.diagnosisId==""){ + this.rusetform.diagnosisId=null + } + putapi( + `/api/app/item-result-template/${this.rusetform.id}`, + this.rusetform + ).then((res) => { + if(res.code!=-1){ + this.$message.success("修改成功"); + this.ruesttieledialogVisible = false; + this.resultlist(); + } + }); + } + } + }); }, //诊断设置弹框新增 diagnosticsettings() { @@ -1504,22 +1582,21 @@ export default { }, //参考范围下拉选择 selecttype(v) { - console.log(v); this.referencerangevalue = v; - if (v == 1) { - getapi("/api/app/sex").then((res) => { - console.log(res); - this.sexid = res.data; - }); - postapi("/api/app/diagnosis/getlistinfilter").then((res) => { - this.scopediagnostic = res.data.items; - console.log(res); - }); - } + // if (v == 1) { + // getapi("/api/app/sex").then((res) => { + // console.log(res); + // this.sexid = res.data; + // }); + // postapi("/api/app/diagnosis/getlistinsuggestion").then((res) => { + // this.scopediagnostic = res.data.items; + // console.log(res); + // }); + // } }, //参考范围 referencerange() { - console.log("我是参考范围"); + this.form = { ...this.curRow }; if (this.form.id == undefined) { this.$message.warning("请选择操作的数据"); } else { @@ -1531,41 +1608,48 @@ export default { getapi("/api/app/item/in-filter").then((res) => { this.itemId = res.data.items; }); - getapi("/api/app/result-status").then((res) => { - // this.result = res.data.items; - this.resultStatusId = res.data.items; - }); - // let diagnosisObj={ - // itemTypeId:this.form.itemTypeId - // } postapi("/api/app/diagnosis/getlistinsuggestion").then((res) => { - this.diagnosisId = res.data; - }); + this.diagnosisId = res.data; + this.quickAsb=res.data; + }); }, //结果模板添加 increase() { this.addoredit(); this.ruesttiele = 1; - Object.assign(this.$data.rusetform, this.$options.data().rusetform) - this.rusetform.itemId = this.form.id; this.ruesttieledialogVisible = true; + if (this.$refs.rusetform !== undefined){ + this.$refs.rusetform.resetFields() + } + this.$nextTick(() => { + this.$refs.ruseInput.focus(); + }); + Object.assign(this.$data.rusetform, this.$options.data().rusetform) + this.rusetform.itemId = this.form.id; console.log(this.rusetform) }, + quckRusetform(e){ + if(!e){ + this.remoteMethod() + } + }, //获取项目类别列表 getmedicalconclusionlist() { - getapi("/api/app/item-type").then((res) => { - this.Selectacategory = res.data.items; - console.log(res, "11"); - }); + // postapi("/api/app/diagnosis/getlistinsuggestion").then((res) => { + // this.Selectacategory = res.data; + // this.quckDepartment=res.data + // }); }, onchange(id) { // this.form.customerOrgId = id; // console.log(id); // this.form.customerOrgId=this.form.customerOrgId[0] - this.form.itemTypeId.forEach((item) => { + if(this.form.itemTypeId){ + this.form.itemTypeId.forEach((item) => { // console.log(item); this.form.itemTypeId = item; }); + } console.log(this.form.customerOrgId); }, gettypelist(listdata) { @@ -1599,6 +1683,7 @@ export default { console.log("数据", res); this.initTableData = [...res.data.items]; this.tableData = res.data.items; + this.quckDepartment=res.data.items; if (rowsid != null && rowsid != "") { var row = this.tableData.filter((item) => item.id == rowsid); this.$refs.tableData.setCurrentRow(row[0]); @@ -1646,13 +1731,119 @@ export default { getapi(`/api/app/item-result-template/in-item-id/${this.form.id}`).then( (res) => { this.reusttableData = res.data; + console.log(this.reusttableData) } ); + getapi("/api/app/result-status").then((res) => { + this.resultStatusId = res.data.items; + }); + postapi("/api/app/diagnosis/getlistinsuggestion").then((res) => { + this.diagnosisId = res.data; + this.quickAsb=res.data; + }); // // 获取项目类别 // getapi("/api/app/item-type/by-code-all").then((res) => { // this.resultitemtype = res.data; // }); } + }, + remoteMethod(keyWords) { + if (keyWords) { + this.quickAsb = []; + this.diagnosisId.forEach(item => { + if (item.displayName.toLowerCase().indexOf(keyWords.toLowerCase()) > - 1 + || item.simpleCode.toLowerCase().indexOf(keyWords.toLowerCase()) > - 1 + // || item.shortName.toLowerCase().indexOf(keyWords.toLowerCase()) > - 1 + ) { + this.quickAsb.push(item); + } + }); + } else { + this.quickAsb = deepCopy(this.diagnosisId); + } + }, + remoteMethodes(keyWords) { + if (keyWords) { + this.quckDepartment = []; + this.initTableData.forEach(item => { + if (item.displayName.toLowerCase().indexOf(keyWords.toLowerCase()) > - 1 + || item.simpleCode.toLowerCase().indexOf(keyWords.toLowerCase()) > - 1 + // || item.shortName.toLowerCase().indexOf(keyWords.toLowerCase()) > - 1 + ) { + this.quckDepartment.push(item); + } + }); + } else { + this.quckDepartment = deepCopy(this.initTableData); + } + }, + remoteMethodess(keyWords){ + if (keyWords) { + this.quckeDitd = []; + this.editdigoisceDiagnosisId.forEach(item => { + if (item.displayName.toLowerCase().indexOf(keyWords.toLowerCase()) > - 1 + || item.simpleCode.toLowerCase().indexOf(keyWords.toLowerCase()) > - 1 + // || item.shortName.toLowerCase().indexOf(keyWords.toLowerCase()) > - 1 + ) { + this.quckeDitd.push(item); + } + }); + } else { + this.quckeDitd = deepCopy(this.editdigoisceDiagnosisId); + } + }, + quckDepartments(e){ + if(e){ + let currentKey="" + this.quckDepartment.forEach(item=>{ + if(e==item.id){ + currentKey=item.itemTypeId + } + }) + this.$refs['itemType'].setCurrentKey(currentKey) + let selected = this.$refs['itemType'].getCurrentNode(); + if (this.$refs['itemType'].getNode(selected) && this.$refs['itemType'].getNode(selected).parent) { + this.expandParents(this.$refs['itemType'].getNode(selected).parent); + } + getapi(`/api/app/item/in-item-type/${currentKey}`).then((res) => { + this.tableData = res.data; + this.tableData.forEach(item=>{ + if(e==item.id){ + this.$refs['tableData'].setCurrentRow(item); + this.rowick(item) + } + }) + }); + }else{ + this.remoteMethodes() + } + }, + expandParents(node) { + node.expanded = true; + if (node.parent) { + this.expandParents(node.parent); + } + }, + getChangeDiagnosis(e){ + for (var i = 0; i < this.diagnosisId.length; i++) { + if (this.diagnosisId[i].id == e) { //dictValue,dictLabel保持和上面定义一致 + return this.diagnosisId[i].displayName; + } + } + }, + getChangeResult(e){ + for (var i = 0; i < this.resultStatusId.length; i++) { + if (this.resultStatusId[i].id == e) { //dictValue,dictLabel保持和上面定义一致 + return this.resultStatusId[i].displayName; + } + } + }, + getChangeDiagnosies(e){ + for (var i = 0; i < this.editdigoisceDiagnosisId.length; i++) { + if (this.editdigoisceDiagnosisId[i].id == e) { //dictValue,dictLabel保持和上面定义一致 + return this.editdigoisceDiagnosisId[i].displayName; + } + } }, //取消排序 cancellation() { @@ -1873,18 +2064,25 @@ export default { //新增弹框 add() { this.form.price = Number(this.form.price); + // this.form={} this.title = 1; this.dialogVisible = true; if (this.$refs.form !== undefined){ this.$refs.form.resetFields() } - this.isProduceSummaryBox=true, - this.isNameIntoSummaryBox=true, - this.isDiagnosisFunctionBox=false, - this.isCalculationItemBox=false, - this.isContinueProcessBox=false, - this.isActiveBox=true, + Object.assign(this.$data.form, this.$options.data().form) + this.isProduceSummaryBox=true + this.isNameIntoSummaryBox=true + this.isDiagnosisFunctionBox=false + this.isCalculationItemBox=false + this.isContinueProcessBox=false + this.isActiveBox=true + let isBox=["isProduceSummary","isNameIntoSummary","isActive"]; + isBox.forEach(item=>{ + this.form[item] = 'Y'; + }) // this.unitIdName="" + console.log(this.form) this.$nextTick(() => { this.$refs.refinput.focus(); }); diff --git a/src/views/fee-settings/diseaseStatistics.vue b/src/views/fee-settings/diseaseStatistics.vue index ce14cf6..d8ae9c1 100644 --- a/src/views/fee-settings/diseaseStatistics.vue +++ b/src/views/fee-settings/diseaseStatistics.vue @@ -1,260 +1,266 @@ - \ No newline at end of file + +.btnClass { + width: 110px; +} +