diff --git a/acupuncture-前台/.env.development b/acupuncture-前台/.env.development index 14589f3a..7474bc60 100644 --- a/acupuncture-前台/.env.development +++ b/acupuncture-前台/.env.development @@ -8,8 +8,12 @@ ENV = 'development' VUE_APP_BASE_API = '/dev-api' VUE_APP_IMG_URL = 'https://test.tall.wiki/acupuncture/api/' VUE_APP_API_QZURL = 'https://test.tall.wiki/acupuncture/api/' + +# 访问地址 +VUE_APP_VISIT_URL = 'https://test.tall.wiki/acupuncture/client/' # 筛查访问地址 -VUE_APP_H5_URL = 'https://test.tall.wiki//acupuncture/client/screening/h5' +VUE_APP_H5_URL = 'https://test.tall.wiki/acupuncture/client/screening/h5' + # 路由懒加载 VUE_CLI_BABEL_TRANSPILE_MODULES = true # 访问路径 diff --git a/acupuncture-前台/.env.production b/acupuncture-前台/.env.production index 92804d37..a560d01c 100644 --- a/acupuncture-前台/.env.production +++ b/acupuncture-前台/.env.production @@ -6,7 +6,10 @@ NODE_ENV = 'production' # 因孚生产 VUE_APP_BASE_API = 'http://113.45.159.249:40010/acupuncture/api/' VUE_APP_API_QZURL = 'http://113.45.159.249:40010/acupuncture/api/' + +# 访问地址 +VUE_APP_VISIT_URL = 'https://nnzjpt.ylinno.com/acupuncture/clientssl/' # 筛查访问地址 -VUE_APP_H5_URL = 'http://113.45.159.249:40010/acupuncture/client/screening/h5' +VUE_APP_H5_URL = 'https://nnzjpt.ylinno.com/acupuncture/clientssl/screening/h5' # 访问路径 VUE_APP_PUBLIC_PATH = '/acupuncture/client/' diff --git a/acupuncture-前台/.env.productions b/acupuncture-前台/.env.productions index 2303e6b7..756b3f5c 100644 --- a/acupuncture-前台/.env.productions +++ b/acupuncture-前台/.env.productions @@ -6,6 +6,9 @@ NODE_ENV = 'production' # 因孚生产 VUE_APP_BASE_API = 'https://nnzjpt.ylinno.com/acupuncture/api/' VUE_APP_API_QZURL = 'https://nnzjpt.ylinno.com/acupuncture/api/' + +# 访问地址 +VUE_APP_VISIT_URL = 'https://nnzjpt.ylinno.com/acupuncture/clientssl/' # 筛查访问地址 VUE_APP_H5_URL = 'https://nnzjpt.ylinno.com/acupuncture/clientssl/screening/h5' # 访问路径 diff --git a/acupuncture-前台/.env.staging b/acupuncture-前台/.env.staging index db72d730..9c4921cc 100644 --- a/acupuncture-前台/.env.staging +++ b/acupuncture-前台/.env.staging @@ -6,6 +6,9 @@ NODE_ENV = 'production' # 因孚生产 VUE_APP_BASE_API = 'https://test.tall.wiki/acupuncture/api/' VUE_APP_API_QZURL = 'https://test.tall.wiki/acupuncture/api/' + +# 访问地址 +VUE_APP_VISIT_URL = 'https://test.tall.wiki/acupuncture/client/' # 筛查访问地址 VUE_APP_H5_URL = 'https://test.tall.wiki/acupuncture/client/screening/h5' # 访问路径 diff --git a/acupuncture-前台/src/api/medicalFile.js b/acupuncture-前台/src/api/medicalFile.js index 88498e12..860d27fc 100644 --- a/acupuncture-前台/src/api/medicalFile.js +++ b/acupuncture-前台/src/api/medicalFile.js @@ -80,3 +80,46 @@ export function exportTreatmentPg(data) { data: data, }); } + +// ------ 中医体质辩识 ------ +// 查询二维码 +export function zytzQrcode(data) { + return request({ + url: "zytz/qrcode", + method: "post", + data: data, + }); +} + +// 测评试题列表 +export function evaTestList(data) { + return request({ + url: "zytz/questions/list", + method: "post", + data: data, + }); +} +// 提交试题答案 +export function evaTestSubmit(data) { + return request({ + url: "zytz/questions/submit", + method: "post", + data: data, + }); +} +// 完成测评 +export function evaComplete(data) { + return request({ + url: "zytz/eva/complete", + method: "post", + data: data, + }); +} +// 测评结果 +export function evaResult(data) { + return request({ + url: "zytz/report/view", + method: "post", + data: data, + }); +} diff --git a/acupuncture-前台/src/permission.js b/acupuncture-前台/src/permission.js index b6838e3d..bc4725bf 100644 --- a/acupuncture-前台/src/permission.js +++ b/acupuncture-前台/src/permission.js @@ -15,6 +15,8 @@ const whiteList = [ "/screening/h5", "/screening/h5eva", "/screening/h5Result", + "/medicalEva", + '/medicalResult' ]; const isWhiteList = (path) => { diff --git a/acupuncture-前台/src/router/index.js b/acupuncture-前台/src/router/index.js index a15000e2..e0e879eb 100644 --- a/acupuncture-前台/src/router/index.js +++ b/acupuncture-前台/src/router/index.js @@ -105,6 +105,7 @@ export const constantRoutes = [ hidden: true, meta: { title: "诊疗信息", icon: "dashboard" }, }, + ], }, { @@ -182,6 +183,18 @@ export const constantRoutes = [ component: () => import("@/views/screening/h5Result.vue"), hidden: true, }, + { + path: "/medicalEva", + component: () => import("@/views/medicalFile/h5eva"), + name: "medicalEva", + hidden: true, + }, + { + path: "/medicalResult", + component: () => import("@/views/medicalFile/h5Result"), + name: "medicalEva", + hidden: true, + } ]; // 动态路由,基于用户权限动态去加载 diff --git a/acupuncture-前台/src/utils/request.js b/acupuncture-前台/src/utils/request.js index b013aa08..0d8aeaa6 100644 --- a/acupuncture-前台/src/utils/request.js +++ b/acupuncture-前台/src/utils/request.js @@ -37,6 +37,10 @@ service.interceptors.request.use( "screening/save", "screening/submitNoToken", "screening/queryDetailNoToken", + "zytz/questions/list", + "zytz/questions/submit", + "zytz/eva/complete", + "zytz/report/view", ]; // console.log("config.url", config.url); diff --git a/acupuncture-前台/src/views/medicalFile/details.vue b/acupuncture-前台/src/views/medicalFile/details.vue index 3d4f4401..3d01eeb2 100644 --- a/acupuncture-前台/src/views/medicalFile/details.vue +++ b/acupuncture-前台/src/views/medicalFile/details.vue @@ -84,13 +84,14 @@
病情评估
人体成分分析 - 同步 - + :class="{ + 'item-pg-disabled': form.status != 0 && form.status != 3, + }" + >同步
@@ -194,6 +195,7 @@ > @@ -209,6 +211,7 @@ @@ -216,7 +219,25 @@
-
中医体质辨识
+
+ 中医体质辨识 + 二维码 + 同步 +
TAPS体态自觉评估得分(3-15分) TRACE体态临床评估得分(0-11分) SRS-22问卷评估得分(1~5分) 患者健康问卷(PHQ-9)评估得分(0-27分) 评估 @@ -700,6 +745,17 @@ > + +
+ +
+
@@ -709,6 +765,8 @@ import { saveAidRecord, selectByMemberId, selectReportByMemberId, + zytzQrcode, + evaResult, } from "@/api/medicalFile"; import { followupQuery } from "@/api/followupFile"; // 体态评估 @@ -736,6 +794,9 @@ export default { }, data() { return { + userInfo: {}, // 用户信息 + zytzOpen: false, + pathUrl: "", followupList: [], title: "", // 弹出框标题 open: false, // 是否显示弹出框 @@ -1214,8 +1275,48 @@ export default { this.treatmentId = treatmentId; this.handleDetails(treatmentId); this.getFollowupQuery(); // 获取随访队列信息 + + this.userInfo = JSON.parse(localStorage.getItem("user")); }, methods: { + // 中医体质辨识测评二维码 + getEvaQr() { + zytzQrcode({ + param: { + id: this.form.id, + // rewrite: 1, + path: `${process.env.VUE_APP_VISIT_URL}medicalEva?id=${this.form.id}&name=${this.form.name}&phone=${this.form.phone}&tenantId=${this.userInfo.tenantId}`, + }, + }).then((res) => { + this.zytzOpen = true; + this.pathUrl = this.qzUrl + res.data; + }); + }, + // 中医体质辨识测评结果同步 + getEvaTb() { + evaResult({ param: { evaId: this.form.id } }).then((res) => { + if (!res.data) { + this.$modal.msgError("暂无结果"); + return; + } + this.$modal.msgSuccess("同步成功"); + let result1 = res.data.result1; + let result2 = res.data.result2; + const zytz = this.extractConstitutionTypes(result1); + const jjtz = this.extractConstitutionTypes(result2); + this.detailsForm.PG_TZBS_ZYTZ = zytz.join(","); // 主要体质 + this.detailsForm.PG_TZBS_JJTZ = jjtz; // 兼夹体质 + }); + }, + extractConstitutionTypes(comment) { + const regex = /【(.*?)】/g; + const matches = []; + let match; + while ((match = regex.exec(comment)) !== null) { + matches.push(match[1]); + } + return matches; + }, // 人体成分报告 getHumanBodyReport() { selectReportByMemberId({ @@ -1530,6 +1631,11 @@ export default { margin-left: 5px; height: 28px !important; } +.item-pg-disabled { + color: #0000ff75; + border-bottom: 1px solid #0000ff75; + pointer-events: none; +} .app-container { display: flex; } diff --git a/acupuncture-前台/src/views/medicalFile/h5Result.vue b/acupuncture-前台/src/views/medicalFile/h5Result.vue new file mode 100644 index 00000000..ba658c10 --- /dev/null +++ b/acupuncture-前台/src/views/medicalFile/h5Result.vue @@ -0,0 +1,119 @@ + + + + + + diff --git a/acupuncture-前台/src/views/medicalFile/h5eva.vue b/acupuncture-前台/src/views/medicalFile/h5eva.vue new file mode 100644 index 00000000..e03015d6 --- /dev/null +++ b/acupuncture-前台/src/views/medicalFile/h5eva.vue @@ -0,0 +1,298 @@ + + + + + + diff --git a/acupuncture-前台/src/views/medicalFile/index.vue b/acupuncture-前台/src/views/medicalFile/index.vue index d494d045..5b49b3c7 100644 --- a/acupuncture-前台/src/views/medicalFile/index.vue +++ b/acupuncture-前台/src/views/medicalFile/index.vue @@ -478,7 +478,7 @@ > - + - + - + @@ -610,6 +610,12 @@ + @@ -631,6 +637,9 @@ export default { dicts: ["sys_normal_disable", "sys_user_sex"], data() { return { + reportPath: "", + + timestamp: "", qzUrl: process.env.VUE_APP_API_QZURL, // 二维码路径 userInfo: {}, // 受教育程度,年限 @@ -954,8 +963,18 @@ export default { }; }, created() { + // 从url获取idCard let idCard = this.$route.query.idCard; - this.queryParams.param.keywords = idCard || ""; + this.queryParams.param.keywords = idCard; + + let patientInfo; + if (this.$route.query.patientInfo) { + this.form = JSON.parse(this.$route.query.patientInfo); + delete this.form.id; + this.form.visitType = 0; // 门诊/住院 + this.form.status = 0; // 保存 + this.open = true; + } this.getList(); this.userInfo = JSON.parse(localStorage.getItem("user")); // this.getFollowupQuery(); @@ -1086,9 +1105,21 @@ export default { }, // 评估报告单 handleReport(row) { - exportTreatmentPg({ treatmentId: row.id }).then((res) => { - window.open(`${process.env.VUE_APP_API_QZURL}${res.data}`); - }); + try { + this.timestamp = new Date().getTime(); + exportTreatmentPg({ treatmentId: row.id }).then((res) => { + this.reportPath = `${process.env.VUE_APP_API_QZURL}${res.data}`; + var iframe = document.getElementById( + "codePartIframe" + this.timestamp + ); + iframe.onload = () => { + iframe.contentWindow.print(); + }; + // window.open(`${process.env.VUE_APP_API_QZURL}${res.data}`); + }); + } catch (error) { + console.log("error: ", error); + } }, /** 提交审核 */ handleExamine(row, _status) { diff --git a/acupuncture-前台/src/views/patientFile/index.vue b/acupuncture-前台/src/views/patientFile/index.vue index 9b068729..02014844 100644 --- a/acupuncture-前台/src/views/patientFile/index.vue +++ b/acupuncture-前台/src/views/patientFile/index.vue @@ -239,7 +239,7 @@ align="center" prop="source" show-overflow-tooltip - min-width="100" + min-width="80" > - + @@ -817,7 +824,13 @@ export default { /** 诊疗档案 */ handleArchives(row) { this.$router.push({ - path: `/medicalIndex?idCard=${row.idCard}`, + path: `/medicalIndex?idCard=${row.idCard || ""}`, + }); + }, + /** 新增诊疗档案 */ + handleArchivesAdd(row) { + this.$router.push({ + path: `/medicalIndex?patientInfo=${JSON.stringify(row)}`, }); }, /** 提交按钮 */ diff --git a/acupuncture-前台/针灸前台client.zip b/acupuncture-前台/针灸前台client.zip index 4ba89bc2..ff17cb32 100644 Binary files a/acupuncture-前台/针灸前台client.zip and b/acupuncture-前台/针灸前台client.zip differ diff --git a/acupuncture-前台/针灸前台clientssl.zip b/acupuncture-前台/针灸前台clientssl.zip deleted file mode 100644 index fae9ca91..00000000 Binary files a/acupuncture-前台/针灸前台clientssl.zip and /dev/null differ diff --git a/package-lock.json b/package-lock.json index 1208ee99..35a569c0 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,5 +1,5 @@ { - "name": "针灸", + "name": "acupuncture", "lockfileVersion": 2, "requires": true, "packages": {}