Browse Source

筛查结论拆分出去

new-ays
1747191978@qq.com 3 months ago
parent
commit
3273e5b37b
  1. 8
      acupuncture-前台/src/api/screening.js
  2. 8
      acupuncture-前台/src/permission.js
  3. 5
      acupuncture-前台/src/router/index.js
  4. 5
      acupuncture-前台/src/utils/request.js
  5. 262
      acupuncture-前台/src/views/screening/h5Result.vue
  6. 54
      acupuncture-前台/src/views/screening/h5eva.vue
  7. BIN
      acupuncture-前台/针灸前台113-1.zip
  8. BIN
      acupuncture-前台/针灸前台http-1.zip
  9. BIN
      acupuncture-前台/针灸前台http-2.zip
  10. BIN
      acupuncture-前台/针灸前台nnzjpt-1.zip
  11. BIN
      acupuncture-前台/针灸前台ssl-1.zip

8
acupuncture-前台/src/api/screening.js

@ -75,3 +75,11 @@ export function queryDetail(data) {
data: data,
});
}
// 筛查列表不需要token
export function queryDetailNoToken(data) {
return request({
url: "screening/queryDetailNoToken",
method: "post",
data: data,
});
}

8
acupuncture-前台/src/permission.js

@ -9,7 +9,13 @@ import { isRelogin } from "@/utils/request";
NProgress.configure({ showSpinner: false });
const whiteList = ["/login", "/register", "/screening/h5", "/screening/h5eva"];
const whiteList = [
"/login",
"/register",
"/screening/h5",
"/screening/h5eva",
"/screening/h5Result",
];
const isWhiteList = (path) => {
return whiteList.some((pattern) => isPathMatch(pattern, path));

5
acupuncture-前台/src/router/index.js

@ -177,6 +177,11 @@ export const constantRoutes = [
component: () => import("@/views/screening/h5eva.vue"),
hidden: true,
},
{
path: "/screening/h5Result",
component: () => import("@/views/screening/h5Result.vue"),
hidden: true,
},
];
// 动态路由,基于用户权限动态去加载

5
acupuncture-前台/src/utils/request.js

@ -36,9 +36,14 @@ service.interceptors.request.use(
"screening/createNoToken",
"screening/save",
"screening/submitNoToken",
"screening/queryDetailNoToken",
];
console.log("config.url", config.url);
// 判断白名单是否存在当前则携带参数在header
if (whiteList.includes(config.url)) {
console.log("携带参数在header");
if (localStorage.getItem("tenantId")) {
config.headers["TENANT-ID"] = localStorage.getItem("tenantId");
}

262
acupuncture-前台/src/views/screening/h5Result.vue

@ -0,0 +1,262 @@
<template>
<div class="app-container" v-loading="loading">
<div class="hospital">{{ tenantName || "-" }}</div>
<div class="card">
<div class="card-title">筛查结论</div>
<div
style="
display: flex;
justify-content: space-between;
margin-bottom: 6px;
"
>
<span>您的体重指数BMI</span>
<span>{{ form["SCWJ-BMI"] || "-" }}</span>
</div>
<div
style="
display: flex;
justify-content: space-between;
margin-bottom: 6px;
"
>
<span>您的睡眠效率为</span>
<span>{{ form["SCWJ-SMXL"] || "-" }}%</span>
</div>
</div>
<div class="card">
属于<span :class="`BIMTips${BMIVerdict[form['SCWJ-JL']]}`">{{
form["SCWJ-JL"] || "-"
}}</span
>型肥胖建议扫码关注医院公众号预约体重管理中心医师进一步评估
<div>
<img src="./gzh.jpg" style="max-width: 100%" />
</div>
</div>
<div class="hospital1">{{ tenantName || "-" }}</div>
</div>
</template>
<script>
import {
create,
screenSave,
screenSubmit,
queryHospitalNoToken,
queryDetailNoToken,
} from "@/api/screening.js";
export default {
name: "Notice",
data() {
return {
open: false,
loading: false,
disabled: true,
tenantId: "",
tenantName: "",
stepNum: 1, //
uploadFileUrl: process.env.VUE_APP_BASE_URL + "/baidu/ocr/idcardInfo", //
fileList: [],
BMITips: [
{
label: "体重过轻",
score: 18.5,
},
{
label: "正常",
score: 23.9,
},
{
label: "超重",
score: 27.9,
},
{
label: "肥胖",
score: 28,
},
],
BMIVerdict: {
体重过轻: "1",
正常: "2",
超重: "3",
肥胖: "4",
中度肥胖: "5",
重度肥胖: "5",
},
tips: "", //
tipsError: false, //
//
form: {
"SCWJ-DW": "",
"SCWJ-NAME": "",
"SCWJ-SEX": "男",
"SCWJ-BIRTH": "",
"SCWJ-AGE": "",
"SCWJ-PHONE": "",
"SCWJ-HEIGHT": "",
"SCWJ-WEIGHT": "",
"SCWJ-BMI": "",
"SCWJ-JL": "",
"SCWJ-ZLFS": [],
"SCWJ-SCSJ": "22:00", //
"SCWJ-RSSJ": "22:30", //
"SCWJ-SXSJ": "06:30", //
"SCWJ-QCSJ": "07:00", //
"SCWJ-SMXL": "", //
},
loading: false,
};
},
created() {
this.tenantName = this.$route.query.tenantName;
this.form = JSON.parse(this.$route.query.data);
},
methods: {},
};
</script>
<style scoped src="@/assets/styles/common.css"></style>
<style scoped>
>>> .el-dialog__header {
padding-bottom: 0;
}
>>> .el-checkbox {
margin-right: 10px rtant;
}
.form-item-xbs >>> .el-form-item__content {
margin-left: 0 !important;
}
.qq {
color: green;
}
.idcardupd {
height: 44px;
margin-bottom: 14px;
}
.idcardupd-but {
height: 44px;
display: flex;
align-items: center;
justify-content: center;
color: #fff;
}
.idcardupd-but span {
padding-top: 1px;
}
.idcardupd-but img {
width: 20px;
height: 20px;
}
.idcardupd >>> .el-upload {
height: 44px;
border: none;
background: #c6a268;
}
.hospital1 {
text-align: center;
font-size: 14px;
color: #999;
}
.hospital {
background: #fff;
font-size: 20px;
color: #70483e;
line-height: 50px;
font-weight: 600;
margin-bottom: 10px;
border-radius: 6px;
text-align: center;
}
.BIMTips1 {
color: #cccccc;
}
.BIMTips2 {
color: #66cc00;
}
.BIMTips3 {
color: #c3c300;
}
.BIMTips4 {
color: #ff9900;
}
.BIMTips5 {
color: red;
}
.item-radio {
display: block;
margin-bottom: 10px;
}
.item-title {
font-size: 18px;
font-weight: bold;
color: #3d3d3d;
line-height: 26px;
}
.item-radio-box {
margin: 16px 0px;
}
>>> .el-radio__label {
font-size: 16px;
color: #555555;
line-height: 20px;
}
.submit-box {
display: flex;
justify-content: center;
align-items: center;
}
.submit-box .submit-box-but {
background: #c6a268;
width: 100%;
font-size: 16px;
margin-bottom: 10px;
}
.card {
padding: 16px;
background: #fff;
border-radius: 6px;
margin-bottom: 14px;
}
.card-title {
font-weight: 600;
font-size: 20px;
margin-bottom: 16px;
}
.card-tips {
font-size: 14px;
color: #999999;
}
/* */
.app-container {
/* background: linear-gradient(to bottom, #70483e, #f7f8fa); */
background: #70483e;
min-height: 100vh;
}
>>> .el-input__inner {
border: none;
border-bottom: 1px solid #dcdfe6;
border-radius: 0;
}
>>> .el-date-editor.el-input {
width: 100% !important;
}
>>> .el-form-item--medium .el-form-item__label {
padding-right: 20px;
}
>>> .el-radio input[aria-hidden="true"] {
display: none !important;
}
>>> .el-radio:focus:not(.is-focus):not(:active):not(.is-disabled)
.el-radio__inner {
box-shadow: none !important;
}
</style>
<!-- >>> .el-input__inner {
padding: 0 15px !important;
} -->

54
acupuncture-前台/src/views/screening/h5eva.vue

@ -42,6 +42,7 @@
<el-input
v-model="form['SCWJ-NAME']"
placeholder="请输入姓名"
@blur="getqueryDetailNoToken"
></el-input>
</el-form-item>
<el-form-item label="性别" prop="SCWJ-SEX">
@ -70,6 +71,7 @@
</el-form-item>
<el-form-item label="联系方式" prop="SCWJ-PHONE">
<el-input
@blur="getqueryDetailNoToken"
v-model="form['SCWJ-PHONE']"
type="number"
placeholder="请输入联系方式"
@ -297,6 +299,7 @@ import {
screenSave,
screenSubmit,
queryHospitalNoToken,
queryDetailNoToken,
} from "@/api/screening.js";
export default {
@ -636,6 +639,41 @@ export default {
},
},
methods: {
//
getqueryDetailNoToken() {
let phone = this.form["SCWJ-PHONE"];
let name = this.form["SCWJ-NAME"];
// //
if (name && phone && /^1[3456789]\d{9}$/.test(phone)) {
queryDetailNoToken({ param: { keywords: phone } }).then((res) => {
let flat = false;
let detailList = null;
res.data.list.forEach((item) => {
let data = {};
if (item.detailList) {
item.detailList?.forEach((row) => {
item[row.questionCode] = row.answer;
data[row.questionCode] = row.answer;
});
}
if (item["SCWJ-NAME"] == name && item["SCWJ-PHONE"] == phone) {
flat = true;
detailList = data;
console.log("已经筛查过,直接显示结果");
}
});
if (flat) {
this.$router.replace({
path: "/screening/h5Result",
query: {
tenantName: this.tenantName,
data: JSON.stringify(detailList),
},
});
}
});
}
},
//
getTips() {
console.log("获取筛查结论");
@ -899,11 +937,17 @@ export default {
this.$modal.msgSuccess("提交成功");
});
//
//
let flat = this.BMIVerdict[this.form["SCWJ-JL"]];
if (flat >= 3) {
this.open = true;
}
this.$router.replace({
path: "/screening/h5Result",
query: {
tenantName: this.tenantName,
data: JSON.stringify(this.form),
},
});
// let flat = this.BMIVerdict[this.form["SCWJ-JL"]];
// if (flat >= 3) {
// this.open = true;
// }
});
}
});

BIN
acupuncture-前台/针灸前台113-1.zip

Binary file not shown.

BIN
acupuncture-前台/针灸前台http-1.zip

Binary file not shown.

BIN
acupuncture-前台/针灸前台http-2.zip

Binary file not shown.

BIN
acupuncture-前台/针灸前台nnzjpt-1.zip

Binary file not shown.

BIN
acupuncture-前台/针灸前台ssl-1.zip

Binary file not shown.
Loading…
Cancel
Save