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分)
Epworth嗜睡评估得分(0-24分)
汉密尔顿抑郁评估(HAMD-24)得分(0-76分)
焦虑自评(SAS)得分(0-80分)
评估
@@ -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 @@
+
+
+
测评已完成
+
+
测评结果
+
+
主要体质:{{ resultData.result1 || "-" }}
+
兼夹体质:{{ resultData.result2 || "-" }}
+
+
+
+
+
+
+
+
+
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 @@
+
+
+
中医体质辩识
+
+
+
基本信息
+
+ {{
+ form.name
+ }}
+
+ {{ form.phone }}
+
+
+
+
+
+
{{ index + 1 }}. {{ item.quesName }}
+
+
+ {{ option.optionName }}
+
+
+
+
+
+
+
+ 提交
+
+
+
+
+
+
+
+
+
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"
>
筛查
@@ -247,7 +247,7 @@
HIS
-
+
诊疗档案
+ 新增诊疗档案
+
@@ -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": {}