update
init
This commit is contained in:
@@ -0,0 +1,135 @@
|
||||
<template>
|
||||
<div class="anxiety-container">
|
||||
<div class="anxiety-title">
|
||||
<div class="time" @click="handleTime">{{ timePicker.currentDate[0] }}-{{ timePicker.currentDate[1] }} </div>
|
||||
<van-popup v-model:show="show" position="bottom">
|
||||
<van-date-picker
|
||||
v-model="timePicker.currentDate"
|
||||
title="选择年月"
|
||||
:max-date="timePicker.maxDate"
|
||||
:columns-type="timePicker.columnsType"
|
||||
@confirm="handleConfirm"
|
||||
@cancel="handleCancel"
|
||||
/>
|
||||
</van-popup>
|
||||
</div>
|
||||
<div class="anxiety-list">
|
||||
<template v-if="historylist.length > 0">
|
||||
<div v-for="(item, index) in historylist" :key="index" @click="handleItem(item)">
|
||||
<div class="name">
|
||||
<span>{{ item.assessName }}</span>
|
||||
<span>{{ item.assessDate }}</span>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
<Empty v-else />
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script setup lang="ts">
|
||||
import { onMounted, ref } from 'vue';
|
||||
import moment from 'moment/moment';
|
||||
import { healthHistoryApi } from './health';
|
||||
import { useRoute, useRouter } from 'vue-router';
|
||||
import Empty from '/@/components/Empty.vue';
|
||||
|
||||
const route = useRoute();
|
||||
const router = useRouter();
|
||||
const timePicker = ref({
|
||||
currentDate: ['2021', '01'],
|
||||
maxDate: new Date(),
|
||||
columnsType: ['year', 'month'],
|
||||
});
|
||||
const show = ref(false);
|
||||
const historylist = ref([]);
|
||||
onMounted(() => {
|
||||
const [yyyy, mm, dd] = moment(new Date()).format('YYYY-MM-DD').split('-');
|
||||
timePicker.value.currentDate = [yyyy, mm];
|
||||
getList();
|
||||
});
|
||||
|
||||
function getList() {
|
||||
healthHistoryApi({
|
||||
templateNo: route.query.templateNo,
|
||||
date: timePicker.value.currentDate.join('-'),
|
||||
}).then((res: any) => {
|
||||
historylist.value = res.data;
|
||||
});
|
||||
}
|
||||
|
||||
function handleTime() {
|
||||
show.value = true;
|
||||
}
|
||||
|
||||
function handleConfirm(value: any) {
|
||||
let date = value.selectedValues;
|
||||
timePicker.value.currentDate = date;
|
||||
show.value = false;
|
||||
getList();
|
||||
}
|
||||
|
||||
function handleCancel() {
|
||||
show.value = false;
|
||||
}
|
||||
function handleItem(data: object) {
|
||||
router.push({
|
||||
path: '/anxiety-result',
|
||||
query: {
|
||||
templateNo: data.templateNo,
|
||||
resultId: data.id,
|
||||
templateName: data.assessName,
|
||||
history: true,
|
||||
},
|
||||
});
|
||||
}
|
||||
</script>
|
||||
|
||||
<style scoped lang="less">
|
||||
@import '../../assets/less/index';
|
||||
|
||||
.anxiety-container {
|
||||
background-color: @card-gray;
|
||||
.anxiety-title {
|
||||
height: 40px;
|
||||
background-color: @card-fff;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: flex-end;
|
||||
|
||||
.time {
|
||||
padding-right: 40px;
|
||||
position: relative;
|
||||
|
||||
&:after {
|
||||
content: '';
|
||||
width: 0;
|
||||
height: 0;
|
||||
border-top: 7px solid #4c4c4c;
|
||||
border-left: 7px solid transparent;
|
||||
border-right: 7px solid transparent;
|
||||
position: absolute;
|
||||
top: 8px;
|
||||
left: 65px;
|
||||
}
|
||||
}
|
||||
}
|
||||
.anxiety-list {
|
||||
margin-top: 10px;
|
||||
height: calc(100vh - 50px);
|
||||
overflow-y: auto;
|
||||
|
||||
.times {
|
||||
padding: 10px;
|
||||
}
|
||||
|
||||
.name {
|
||||
padding: 14px;
|
||||
border-top: 1px solid #e0e0e0;
|
||||
background-color: @card-fff;
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
}
|
||||
}
|
||||
}
|
||||
</style>
|
||||
@@ -0,0 +1,210 @@
|
||||
<template>
|
||||
<div class="result-con">
|
||||
<div :class="templateNo === '500' ? 'result-tag' : 'depressed-tag'">
|
||||
<div class="score">
|
||||
<span>{{ anxietyRes.result.conclusionInfo.resultNumber }}</span
|
||||
><span>分</span>
|
||||
</div>
|
||||
<div class="title">
|
||||
<div>{{ anxietyRes.result.conclusionInfo.resultLevelStr }}</div>
|
||||
<div>{{ anxietyRes.result.conclusionInfo.resultDesc }}</div>
|
||||
</div>
|
||||
<div class="time">
|
||||
<span>{{ anxietyRes.result.conclusionInfo.date }}</span>
|
||||
<span @click="hanleHistory">历史测评</span>
|
||||
</div>
|
||||
</div>
|
||||
<div class="coninter">
|
||||
<div class="cognition">
|
||||
<div class="title">{{ templateNo == '400' ? '抑郁认知' : '焦虑认知' }}</div>
|
||||
<div class="anxiety-con">
|
||||
<div v-for="(item, index) in anxietyRes.cognition" :key="index">{{ item }}</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="recommendation">
|
||||
<div class="title">建议</div>
|
||||
<div class="anxiety-con">
|
||||
<div v-for="(item, index) in anxietyRes.proposalTips" :key="index">{{ index > 0 ? index + '、' : '' }}{{ item }}</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="btn" v-if="!route.query.history" @click="hanldeAgein">再测一次</div>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script setup lang="ts">
|
||||
import { get } from '/@/views/mobile/api/api';
|
||||
import subjectUrl from './subjectType';
|
||||
import { ref } from 'vue';
|
||||
import { useRoute, useRouter } from 'vue-router';
|
||||
|
||||
const router = useRouter();
|
||||
const route = useRoute();
|
||||
const templateNo = ref('400');
|
||||
const anxietyRes = ref({
|
||||
result: {},
|
||||
cognition: [],
|
||||
proposalTips: [],
|
||||
});
|
||||
handleGetRestule();
|
||||
function handleGetRestule() {
|
||||
templateNo.value = route.query.templateNo;
|
||||
let params = { resultId: route.query.resultId };
|
||||
let findItem = subjectUrl.getSubject.find((e) => e.templateNo === templateNo.value);
|
||||
if (findItem !== undefined) {
|
||||
get(findItem.url, params).then((res) => {
|
||||
handleResult(res);
|
||||
});
|
||||
}
|
||||
}
|
||||
function handleResult(res: any) {
|
||||
if (res.code === 200) {
|
||||
let { tips, suggest } = res.data.conclusionInfo;
|
||||
anxietyRes.value.result = res.data;
|
||||
anxietyRes.value.cognition = tips;
|
||||
anxietyRes.value.proposalTips = suggest;
|
||||
}
|
||||
}
|
||||
function hanleHistory() {
|
||||
router.push({
|
||||
path: '/anxiety-history',
|
||||
query: {
|
||||
templateNo: templateNo.value,
|
||||
templateName: route.query.templateName + '记录',
|
||||
},
|
||||
});
|
||||
}
|
||||
function hanldeAgein() {
|
||||
router.push({
|
||||
path: '/health-subject',
|
||||
query: {
|
||||
templateNo: templateNo.value,
|
||||
templateName: route.query.templateName,
|
||||
},
|
||||
});
|
||||
}
|
||||
</script>
|
||||
|
||||
<style scoped lang="less">
|
||||
.result-con {
|
||||
overflow: hidden;
|
||||
.result-tag {
|
||||
padding: 18px;
|
||||
background-color: rgba(245, 127, 56, 0.2);
|
||||
position: relative;
|
||||
.score {
|
||||
position: absolute;
|
||||
top: 0;
|
||||
right: -15px;
|
||||
background-color: #f57f38;
|
||||
width: 110px;
|
||||
height: 50px;
|
||||
text-align: center;
|
||||
line-height: 50px;
|
||||
border-bottom-left-radius: 50px 50px;
|
||||
border-bottom-right-radius: 50px 50px;
|
||||
color: #fff;
|
||||
}
|
||||
.title {
|
||||
color: #f57f38;
|
||||
div {
|
||||
&:nth-of-type(1) {
|
||||
font-weight: bold;
|
||||
font-size: 18px;
|
||||
}
|
||||
&:nth-of-type(2) {
|
||||
width: 80%;
|
||||
padding: 4px 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
.time {
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
padding-top: 10px;
|
||||
span {
|
||||
&:nth-of-type(1) {
|
||||
color: #999999;
|
||||
}
|
||||
&:nth-of-type(2) {
|
||||
color: #3390ff;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
.depressed-tag {
|
||||
padding: 18px;
|
||||
background-color: rgba(31, 145, 242, 0.2);
|
||||
position: relative;
|
||||
.score {
|
||||
position: absolute;
|
||||
top: 0;
|
||||
right: -15px;
|
||||
background-color: #1f91f2;
|
||||
width: 110px;
|
||||
height: 50px;
|
||||
text-align: center;
|
||||
line-height: 50px;
|
||||
border-bottom-left-radius: 50px 50px;
|
||||
border-bottom-right-radius: 50px 50px;
|
||||
color: #fff;
|
||||
}
|
||||
.title {
|
||||
color: #1f91f2;
|
||||
div {
|
||||
&:nth-of-type(1) {
|
||||
font-weight: bold;
|
||||
font-size: 18px;
|
||||
}
|
||||
&:nth-of-type(2) {
|
||||
width: 80%;
|
||||
padding: 4px 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
.time {
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
padding-top: 10px;
|
||||
span {
|
||||
color: #1f91f2;
|
||||
}
|
||||
}
|
||||
}
|
||||
.coninter {
|
||||
height: calc(100vh - 210px);
|
||||
overflow-x: auto;
|
||||
padding: 18px;
|
||||
.title {
|
||||
padding: 10px;
|
||||
position: relative;
|
||||
font-weight: bold;
|
||||
font-size: 16px;
|
||||
&:after {
|
||||
content: '';
|
||||
position: absolute;
|
||||
left: 0;
|
||||
top: 30%;
|
||||
width: 3px;
|
||||
height: 15px;
|
||||
background-color: #21bebe;
|
||||
border-radius: 2px;
|
||||
}
|
||||
}
|
||||
.anxiety-con {
|
||||
color: #333333;
|
||||
line-height: 30px;
|
||||
}
|
||||
}
|
||||
.btn {
|
||||
margin: 10px auto;
|
||||
width: 80%;
|
||||
height: 40px;
|
||||
line-height: 40px;
|
||||
text-align: center;
|
||||
background-color: #ffffff;
|
||||
border: 1px solid #999999;
|
||||
border-radius: 40px;
|
||||
}
|
||||
}
|
||||
</style>
|
||||
@@ -0,0 +1,104 @@
|
||||
<template>
|
||||
<div class="history-container">
|
||||
<div class="history-title">
|
||||
<div class="time" @click="handleTime">{{ timePicker.currentDate[0] }}-{{ timePicker.currentDate[1] }}</div>
|
||||
<van-popup v-model:show="show" position="bottom">
|
||||
<van-date-picker
|
||||
v-model="timePicker.currentDate"
|
||||
title="选择年月"
|
||||
:max-date="timePicker.maxDate"
|
||||
:columns-type="timePicker.columnsType"
|
||||
@confirm="handleConfirm"
|
||||
@cancel="handleCancel"
|
||||
/>
|
||||
</van-popup>
|
||||
</div>
|
||||
<div class="history-list">
|
||||
<Crad v-if="healthList.length > 0" :list="healthList" />
|
||||
<Empty :url="interveneEmpty" :imageSize="[250, 200]" v-else />
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script setup lang="ts">
|
||||
import { ref, onMounted } from 'vue';
|
||||
import { useRoute } from 'vue-router';
|
||||
import Crad from '/@/views/health/components/Crad.vue';
|
||||
import { healthHistoryApi } from './health';
|
||||
import moment from 'moment';
|
||||
import Empty from '/@/components/Empty.vue';
|
||||
import interveneEmpty from '/@/assets/images/interveneEmpty.png';
|
||||
const route = useRoute();
|
||||
const timePicker = ref({
|
||||
currentDate: [],
|
||||
maxDate: new Date(),
|
||||
columnsType: ['year', 'month'],
|
||||
});
|
||||
const show = ref(false);
|
||||
const healthList = ref([]);
|
||||
onMounted(() => {
|
||||
const [yyyy, mm, dd] = moment(new Date()).format('YYYY-MM-DD').split('-');
|
||||
timePicker.value.currentDate = [yyyy, mm];
|
||||
getList();
|
||||
});
|
||||
function getList() {
|
||||
healthHistoryApi({
|
||||
templateNo: route.query.templateNo,
|
||||
date: timePicker.value.currentDate.join('-'),
|
||||
}).then((res: any) => {
|
||||
healthList.value = res.data;
|
||||
});
|
||||
}
|
||||
function handleTime() {
|
||||
show.value = true;
|
||||
}
|
||||
function handleConfirm(value: any) {
|
||||
let date = value.selectedValues;
|
||||
timePicker.value.currentDate = date;
|
||||
show.value = false;
|
||||
getList();
|
||||
}
|
||||
function handleCancel() {
|
||||
show.value = false;
|
||||
}
|
||||
</script>
|
||||
|
||||
<style scoped lang="less">
|
||||
@import '../../assets/less/index';
|
||||
.history-container {
|
||||
background-color: @card-gray;
|
||||
.history-title {
|
||||
height: 40px;
|
||||
background-color: @card-fff;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: flex-end;
|
||||
.time {
|
||||
padding-right: 40px;
|
||||
position: relative;
|
||||
&:after {
|
||||
content: '';
|
||||
width: 0;
|
||||
height: 0;
|
||||
border-top: 7px solid #4c4c4c;
|
||||
border-left: 7px solid transparent;
|
||||
border-right: 7px solid transparent;
|
||||
position: absolute;
|
||||
top: 8px;
|
||||
left: 65px;
|
||||
}
|
||||
}
|
||||
}
|
||||
.history-list {
|
||||
padding: 0 18px;
|
||||
height: calc(100vh - 40px);
|
||||
}
|
||||
.no-data {
|
||||
height: calc(100vh - 40px);
|
||||
display: flex;
|
||||
padding-top: 30%;
|
||||
justify-content: center;
|
||||
color: #999999;
|
||||
}
|
||||
}
|
||||
</style>
|
||||
@@ -0,0 +1,178 @@
|
||||
<template>
|
||||
<div class="health-subject">
|
||||
<div class="health-item" v-for="(health, index) in healthList" :key="index">
|
||||
<div class="health-status">
|
||||
<div
|
||||
v-if="health.assessLevel !== null"
|
||||
class="status"
|
||||
:class="typeStatus[health.assessLevel] ? typeStatus[health.assessLevel].class : ''"
|
||||
>
|
||||
{{ typeStatus[health.assessLevel] ? typeStatus[health.assessLevel].text : '' }}
|
||||
</div>
|
||||
<div class="time">{{ health.assessDate }}</div>
|
||||
</div>
|
||||
<div class="health-title">{{ health.templateName }}</div>
|
||||
<div class="health-context">{{ health.assessDes }}</div>
|
||||
<div class="health-btn">
|
||||
<div class="btn history-btn" @click="handleOpen(0, health.templateNo, health.templateName + '记录')">历史测评</div>
|
||||
<div class="btn start-testing" @click="handleOpen(1, health.templateNo, health.templateName)">开始测评</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script setup lang="ts">
|
||||
import { ref, onMounted } from 'vue';
|
||||
import { healthListApi } from './health';
|
||||
import { newPageParams, openPage } from '/@/hooks/openPage';
|
||||
import { useRoute } from 'vue-router';
|
||||
const route = useRoute();
|
||||
const typeStatus = {
|
||||
'0': {
|
||||
text: '正常',
|
||||
class: 'normal-status',
|
||||
},
|
||||
'1': {
|
||||
text: '低危',
|
||||
class: 'low-status',
|
||||
},
|
||||
'2': {
|
||||
text: '中危',
|
||||
class: 'center-status',
|
||||
},
|
||||
'3': {
|
||||
text: '中高危',
|
||||
class: 'high-status',
|
||||
},
|
||||
'4': {
|
||||
text: '高危',
|
||||
class: 'high-status',
|
||||
},
|
||||
};
|
||||
let healthList = ref([]);
|
||||
onMounted(() => {
|
||||
getList();
|
||||
});
|
||||
function getList() {
|
||||
healthListApi({
|
||||
module: route.query.type,
|
||||
}).then((res: any) => {
|
||||
healthList.value = res.data.templates;
|
||||
});
|
||||
}
|
||||
function handleOpen(type: number, templateNo: number, templateName: string) {
|
||||
let url = '';
|
||||
let params = {
|
||||
path: '',
|
||||
query: { templateNo, templateName },
|
||||
};
|
||||
switch (type) {
|
||||
case 0:
|
||||
// 历史记录
|
||||
if (templateNo === 500 || templateNo === 400) {
|
||||
url = '/anxiety-history';
|
||||
} else {
|
||||
url = '/health-history';
|
||||
}
|
||||
break;
|
||||
case 1:
|
||||
// 测评
|
||||
url = '/health-subject';
|
||||
break;
|
||||
}
|
||||
params.path = url;
|
||||
openPage(url, newPageParams(params.query));
|
||||
}
|
||||
</script>
|
||||
|
||||
<style scoped lang="less">
|
||||
@import '../../assets/less/index';
|
||||
.health-subject {
|
||||
height: 100vh;
|
||||
background-color: @card-gray;
|
||||
padding: 0 20px;
|
||||
overflow-y: auto;
|
||||
.health-item {
|
||||
margin: 15px 0;
|
||||
padding: 10px 20px;
|
||||
background-color: #ffffff;
|
||||
border-radius: 12px;
|
||||
|
||||
.health-status {
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
|
||||
.status {
|
||||
position: relative;
|
||||
top: -10px;
|
||||
left: 0;
|
||||
padding: 1px 6px;
|
||||
border-radius: 0 0 5px 5px;
|
||||
background-color: #999999;
|
||||
color: #ffffff;
|
||||
}
|
||||
|
||||
.normal-status {
|
||||
background-color: #52c41a;
|
||||
color: #ffffff;
|
||||
}
|
||||
|
||||
.low-status {
|
||||
background-color: #fadb14;
|
||||
color: #333333;
|
||||
}
|
||||
|
||||
.center-status {
|
||||
background-color: #d48806;
|
||||
}
|
||||
|
||||
.high-status {
|
||||
background-color: #ed2a26;
|
||||
}
|
||||
|
||||
.time {
|
||||
color: #999999;
|
||||
}
|
||||
}
|
||||
|
||||
.health-title {
|
||||
padding-top: 10px;
|
||||
font-size: 16px;
|
||||
font-weight: bold;
|
||||
color: #333333;
|
||||
}
|
||||
|
||||
.health-context {
|
||||
color: rgba(51, 51, 51, 0.8);
|
||||
}
|
||||
|
||||
.health-btn {
|
||||
padding: 10px 0 5px 0;
|
||||
display: flex;
|
||||
justify-content: flex-end;
|
||||
|
||||
.btn {
|
||||
width: 90px;
|
||||
height: 30px;
|
||||
text-align: center;
|
||||
line-height: 30px;
|
||||
border-radius: 15px;
|
||||
margin: 0 5px;
|
||||
}
|
||||
|
||||
.history-btn {
|
||||
border: 1px solid #999999;
|
||||
color: #333333;
|
||||
}
|
||||
.precise-btn {
|
||||
border: 1px solid #999999;
|
||||
color: #333333;
|
||||
}
|
||||
.start-testing {
|
||||
background: #21bebd;
|
||||
color: #ffffff;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
</style>
|
||||
@@ -0,0 +1,311 @@
|
||||
<template>
|
||||
<div class="vaccine">
|
||||
<div
|
||||
id="header-clew"
|
||||
class="header-clew"
|
||||
:class="templateNo === '500' ? 'depressed' : 'anxious'"
|
||||
v-if="templateNo === '500' || templateNo === '400'"
|
||||
>
|
||||
{{ templateNo === '500' ? depressedTips : anxiousTips }}
|
||||
</div>
|
||||
<div class="vaccine-subject" :style="questionHeight">
|
||||
<div class="subject-item" v-for="(subject, index) in subjectList" :key="index">
|
||||
<template v-if="subject.showStatus">
|
||||
<div class="subject-title">{{ index + 1 }}、{{ subject.qsDes }}</div>
|
||||
<div class="subject-options" v-if="subject.qsType === 1">
|
||||
<van-radio-group
|
||||
@change="(e) => handleRadio(e, index)"
|
||||
v-model="subject.answer"
|
||||
v-for="(option, optionIndex) in subject.answerList"
|
||||
:key="optionIndex"
|
||||
shape="dot"
|
||||
>
|
||||
<van-radio class="subject-radio" :name="option.answerDesc">
|
||||
{{ option.answerDesc }}
|
||||
</van-radio>
|
||||
</van-radio-group>
|
||||
</div>
|
||||
<template v-if="subject.qsType === 4">
|
||||
<div class="subject-input">
|
||||
<van-field type="number" v-model="subject.answer" @blur="changeInpput(subject.answer, index)" />
|
||||
</div>
|
||||
</template>
|
||||
</template>
|
||||
</div>
|
||||
</div>
|
||||
<div class="vaccine-button">
|
||||
<div class="button-text" @click="submit">提交</div>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script setup lang="ts">
|
||||
import { ref, onMounted } from 'vue';
|
||||
import { useRoute, useRouter } from 'vue-router';
|
||||
import { questionApi } from './health';
|
||||
import { post } from '/@/views/mobile/api/api';
|
||||
import subjectUrl from './subjectType';
|
||||
import { showFailToast, showSuccessToast, showToast } from 'vant';
|
||||
import { newPageParams } from '/@/hooks/openPage';
|
||||
import { useLoading } from '/@/utils/compUtils';
|
||||
|
||||
const route = useRoute();
|
||||
const router = useRouter();
|
||||
const subjectList = ref([]);
|
||||
const templateNo = ref<any>('');
|
||||
const questionHeight = ref('');
|
||||
const templateName = ref('');
|
||||
const depressedTips =
|
||||
'测评指导:请仔细阅读每一条目,然后根据最近两个星期以内你的实际感受,选择一个与你的情况最符合的答案。请不要有所顾忌,应该根据自己的真实体验和实际情况来回答,不要花费太多时间去思考,应顺其自然,根据第一印象做出判断';
|
||||
const anxiousTips = '测评指导:根据过去的两周的状况,请您回答是否存在下列描述的状况及频率。';
|
||||
const { loadingSpinner, loadingClose } = useLoading();
|
||||
onMounted(() => {
|
||||
getQuestion();
|
||||
templateNo.value = route.query.templateNo;
|
||||
setTimeout(() => {
|
||||
if (templateNo.value === '400' || templateNo.value === '500') {
|
||||
getTips();
|
||||
} else {
|
||||
questionHeight.value = 'height: calc(100vh - 60px)';
|
||||
}
|
||||
});
|
||||
});
|
||||
function changeInpput(value: string, index: number) {
|
||||
if (Number(value) < 0) {
|
||||
showToast('不能输入负数');
|
||||
subjectList.value[index].answer = '';
|
||||
}
|
||||
}
|
||||
function getTips() {
|
||||
let element = document.getElementById('header-clew').getBoundingClientRect();
|
||||
let allHeight = element.height + 60;
|
||||
questionHeight.value = `height: calc(100vh - ${allHeight}px)`;
|
||||
}
|
||||
function getQuestion() {
|
||||
questionApi({
|
||||
templateNo: route.query.templateNo,
|
||||
}).then((res: any) => {
|
||||
subjectList.value = res.data.qsClassList[0].qsList;
|
||||
templateName.value = res.data.templateName;
|
||||
});
|
||||
}
|
||||
|
||||
//传入答案选项对象判断是否有跳题
|
||||
function _hasNext(ans: { nextQsNo: string }) {
|
||||
return ans.nextQsNo !== '-1' && ans.nextQsNo !== '0';
|
||||
}
|
||||
|
||||
// 跳题
|
||||
function handleRadio(value: any, index: number) {
|
||||
let queList: any[] = subjectList.value;
|
||||
queList[index].answer = value;
|
||||
let changeMap = new Map();
|
||||
let options: any = subjectList.value[index];
|
||||
// 根据选项重置radios选中内容
|
||||
if (options.answerList.length > 0) {
|
||||
options.answerList.map((ansItem: { answerDesc?: any; checked?: any; nextQsNo: any }) => {
|
||||
if (ansItem.answerDesc === value) {
|
||||
if (_hasNext(ansItem)) {
|
||||
const nextQs = queList.find((qs) => qs.qsNo === ansItem.nextQsNo);
|
||||
changeMap.set(nextQs, true);
|
||||
}
|
||||
} else {
|
||||
if (_hasNext(ansItem)) {
|
||||
const nextQs = queList.find((qs) => qs.qsNo === ansItem.nextQsNo);
|
||||
if (changeMap.get(nextQs) !== true) {
|
||||
changeMap.set(nextQs, false);
|
||||
}
|
||||
}
|
||||
}
|
||||
});
|
||||
changeMap.forEach((status, qs) => {
|
||||
_changeShowStatus(qs, status);
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
//传入问题对象,修改显示状态和跳题状态
|
||||
function _changeShowStatus(qs: any, showStatus: boolean) {
|
||||
if (!qs) {
|
||||
return;
|
||||
}
|
||||
if (showStatus) {
|
||||
qs.showStatus = true;
|
||||
} else {
|
||||
qs.answer = null;
|
||||
qs.showStatus = false;
|
||||
qs.answerList.forEach((ans: { checked?: any; nextQsNo: any }) => {
|
||||
ans.checked = null;
|
||||
if (_hasNext(ans)) {
|
||||
_changeShowStatus(
|
||||
subjectList.value.find((qsItem: any) => qsItem.qsNo === ans.nextQsNo),
|
||||
false
|
||||
);
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
// 提交
|
||||
function submit() {
|
||||
let status = true;
|
||||
let queList: any[] = subjectList.value;
|
||||
for (let i = 0; i < queList.length; i++) {
|
||||
if (queList[i].answer === null && queList[i].showStatus) {
|
||||
status = false;
|
||||
break;
|
||||
}
|
||||
}
|
||||
if (status) {
|
||||
let listRes: { answer: any; qsNo: any }[] = [];
|
||||
queList.map((item: any) => {
|
||||
if (item.showStatus) {
|
||||
listRes.push({
|
||||
answer: item.answer,
|
||||
qsNo: item.qsNo,
|
||||
});
|
||||
}
|
||||
});
|
||||
let params = {
|
||||
templateNo: templateNo.value,
|
||||
qsList: listRes,
|
||||
};
|
||||
let findItem = subjectUrl.submitSubject.find((e) => e.templateNo === templateNo.value);
|
||||
if (findItem !== undefined) {
|
||||
loadingSpinner();
|
||||
post(findItem.url, params).then((res) => {
|
||||
result(res);
|
||||
});
|
||||
}
|
||||
} else {
|
||||
showFailToast({
|
||||
message: '请填写完再提交',
|
||||
forbidClick: true,
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
function result(res: any) {
|
||||
let url = '';
|
||||
if (res.code === 200) {
|
||||
loadingClose();
|
||||
showSuccessToast('提交成功');
|
||||
if (templateNo.value === '400' || templateNo.value === '500') {
|
||||
url = '/anxiety-result';
|
||||
} else {
|
||||
url = '/disease-assessment-result';
|
||||
}
|
||||
// setTimeout 解决在iosAPP加载页面空白问题
|
||||
setTimeout(() => {
|
||||
router.replace({
|
||||
path: url,
|
||||
query: newPageParams({
|
||||
resultId: res.data.resultId,
|
||||
templateNo: templateNo.value,
|
||||
templateName: route.query.templateName,
|
||||
}),
|
||||
});
|
||||
}, 0);
|
||||
} else {
|
||||
loadingClose();
|
||||
showFailToast({
|
||||
message: res.msg,
|
||||
forbidClick: true,
|
||||
});
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style scoped lang="less">
|
||||
@import '../../assets/less/index';
|
||||
.vaccine {
|
||||
height: 100vh;
|
||||
background-color: @card-gray;
|
||||
|
||||
:deep(.van-radio__icon--checked .van-icon) {
|
||||
background-color: #21bebe;
|
||||
border: none;
|
||||
}
|
||||
|
||||
.vaccine-title {
|
||||
height: 40px;
|
||||
display: flex;
|
||||
align-items: self-end;
|
||||
padding: 5px 0;
|
||||
overflow-y: scroll;
|
||||
background-color: @card-fff;
|
||||
}
|
||||
.header-clew {
|
||||
padding: 20px;
|
||||
}
|
||||
/* 抑郁 */
|
||||
.depressed {
|
||||
background-color: rgba(243, 101, 16, 0.2);
|
||||
color: #f36510;
|
||||
}
|
||||
/* 焦虑 */
|
||||
.anxious {
|
||||
background-color: rgba(31, 145, 242, 0.2);
|
||||
color: #1f91f2;
|
||||
}
|
||||
.vaccine-subject {
|
||||
padding: 20px;
|
||||
//height: calc(100vh - 60px);
|
||||
overflow-y: auto;
|
||||
width: 100%;
|
||||
background-color: @card-fff;
|
||||
overflow-y: auto;
|
||||
}
|
||||
|
||||
:deep(.van-cell) {
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
:deep(.van-radio__icon--checked) {
|
||||
border-color: #21bebe;
|
||||
}
|
||||
|
||||
:deep(.van-radio__icon--checked.van-radio__icon--dot .van-radio__icon--dot__icon) {
|
||||
background-color: #21bebe;
|
||||
}
|
||||
|
||||
.subject-input {
|
||||
border-bottom: 1px solid #e0e0e0;
|
||||
padding: 0 0 5px 5px;
|
||||
}
|
||||
|
||||
.subject-item {
|
||||
margin: 10px 0;
|
||||
|
||||
.subject-title {
|
||||
padding: 10px 0 10px 5px;
|
||||
position: relative;
|
||||
|
||||
&:after {
|
||||
content: '*';
|
||||
position: absolute;
|
||||
left: 0;
|
||||
top: 5px;
|
||||
color: #fd1805;
|
||||
}
|
||||
}
|
||||
|
||||
.subject-radio {
|
||||
margin: 14px 0;
|
||||
}
|
||||
}
|
||||
.vaccine-button {
|
||||
background-color: @card-fff;
|
||||
height: 60px;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
.button-text {
|
||||
height: 40px;
|
||||
flex: 1;
|
||||
.flex-center();
|
||||
margin: 0 10%;
|
||||
.footerButton();
|
||||
}
|
||||
}
|
||||
}
|
||||
</style>
|
||||
@@ -0,0 +1,161 @@
|
||||
<template>
|
||||
<div class="health-subject">
|
||||
<div class="health-item" v-for="(health, index) in list" :key="index" @click="handleItem(health)">
|
||||
<div class="health-status">
|
||||
<div class="status" :class="helathClass(health.assessLevel)">{{ healthStatus(health.assessLevel) }} </div>
|
||||
<div class="time">{{ health.assessDate }}</div>
|
||||
</div>
|
||||
<div class="health-title">{{ health.assessName }}</div>
|
||||
<div class="health-context">{{ health.assessDes }}</div>
|
||||
<div class="health-btn" v-if="buttonText">
|
||||
<div
|
||||
class="btn"
|
||||
v-for="(item, index) in buttonText"
|
||||
:key="index"
|
||||
:class="item.class"
|
||||
v-show="item.show"
|
||||
@click="handleOpen(item.url)"
|
||||
>{{ item.text }}</div
|
||||
>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script setup lang="ts">
|
||||
import { defineProps } from 'vue';
|
||||
import { useRouter } from 'vue-router';
|
||||
const router = useRouter();
|
||||
const props = defineProps(['list', 'buttonText']);
|
||||
function handleOpen(url: string) {
|
||||
router.push({ path: url });
|
||||
}
|
||||
function healthStatus(data: any) {
|
||||
switch (data) {
|
||||
case 0:
|
||||
return '正常';
|
||||
case 1:
|
||||
return '低危';
|
||||
case 2:
|
||||
return '中危';
|
||||
case 3:
|
||||
return '中高危';
|
||||
case 4:
|
||||
return '高危';
|
||||
}
|
||||
}
|
||||
function helathClass(data: any) {
|
||||
switch (data) {
|
||||
case 0:
|
||||
return 'normal-status';
|
||||
case 1:
|
||||
return 'low-status';
|
||||
case 2:
|
||||
return 'center-status';
|
||||
case 3:
|
||||
return 'high-status';
|
||||
case 4:
|
||||
return 'high-status';
|
||||
}
|
||||
}
|
||||
function handleItem(data: object) {
|
||||
router.push({
|
||||
path: '/disease-assessment-result',
|
||||
query: {
|
||||
templateNo: data.templateNo,
|
||||
resultId: data.id,
|
||||
templateName: data.assessName,
|
||||
history: true,
|
||||
},
|
||||
});
|
||||
}
|
||||
</script>
|
||||
|
||||
<style scoped lang="less">
|
||||
.health-subject {
|
||||
height: calc(100vh - 150px);
|
||||
|
||||
.health-item {
|
||||
margin: 15px 0;
|
||||
padding: 10px 20px;
|
||||
background-color: #ffffff;
|
||||
border-radius: 12px;
|
||||
|
||||
.health-status {
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
|
||||
.status {
|
||||
position: relative;
|
||||
top: -10px;
|
||||
left: 0;
|
||||
padding: 1px 6px;
|
||||
border-radius: 0 0 5px 5px;
|
||||
background-color: #999999;
|
||||
color: #ffffff;
|
||||
}
|
||||
|
||||
.normal-status {
|
||||
background-color: #52C41A;
|
||||
color: #ffffff;
|
||||
}
|
||||
|
||||
.low-status {
|
||||
background-color: #fadb14;
|
||||
color: #333333;
|
||||
}
|
||||
|
||||
.center-status {
|
||||
background-color: #d48806;
|
||||
}
|
||||
|
||||
.high-status {
|
||||
background-color: #ed2a26;
|
||||
}
|
||||
|
||||
.time {
|
||||
color: #999999;
|
||||
}
|
||||
}
|
||||
|
||||
.health-title {
|
||||
padding-top: 10px;
|
||||
font-size: 16px;
|
||||
font-weight: bold;
|
||||
color: #333333;
|
||||
}
|
||||
|
||||
.health-context {
|
||||
color: rgba(51, 51, 51, 0.8);
|
||||
}
|
||||
|
||||
.health-btn {
|
||||
padding: 10px 0 5px 0;
|
||||
display: flex;
|
||||
justify-content: flex-end;
|
||||
|
||||
.btn {
|
||||
width: 90px;
|
||||
height: 30px;
|
||||
text-align: center;
|
||||
line-height: 30px;
|
||||
border-radius: 15px;
|
||||
margin: 0 5px;
|
||||
}
|
||||
|
||||
.history-btn {
|
||||
border: 1px solid #999999;
|
||||
color: #333333;
|
||||
}
|
||||
.precise-btn {
|
||||
border: 1px solid #999999;
|
||||
color: #333333;
|
||||
}
|
||||
.start-testing {
|
||||
background: #21bebd;
|
||||
color: #ffffff;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
</style>
|
||||
@@ -0,0 +1,64 @@
|
||||
<template>
|
||||
<div class="health-nav">
|
||||
<div
|
||||
v-for="(item, index) in titleList"
|
||||
:class="item[column.value] === checkTitle ? 'title-selected-item' : 'title-item'"
|
||||
@click="handleChange(item[column.value])"
|
||||
:key="index"
|
||||
>{{ item[column.name] }}
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script setup lang="ts">
|
||||
import { defineProps, defineEmits } from 'vue';
|
||||
const emit = defineEmits(['change']);
|
||||
const props = defineProps({
|
||||
titleList: Array,
|
||||
checkTitle: String,
|
||||
column: Object,
|
||||
});
|
||||
function handleChange(templateNo: number) {
|
||||
emit('change', templateNo);
|
||||
}
|
||||
</script>
|
||||
|
||||
<style scoped lang="less">
|
||||
::-webkit-scrollbar-thumb {
|
||||
background: #b8e909;
|
||||
border-radius: 10px;
|
||||
}
|
||||
::-webkit-scrollbar-thumb:hover {
|
||||
background: #ffffff;
|
||||
}
|
||||
.health-nav {
|
||||
height: 40px;
|
||||
display: flex;
|
||||
align-items: self-end;
|
||||
padding: 5px 0;
|
||||
overflow-y: scroll;
|
||||
background-color: #ffffff;
|
||||
.title-selected-item {
|
||||
padding: 0 20px;
|
||||
position: relative;
|
||||
color: #333333;
|
||||
white-space:nowrap;
|
||||
&:before {
|
||||
content: '';
|
||||
position: absolute;
|
||||
left: 34%;
|
||||
bottom: -5px;
|
||||
width: 34%;
|
||||
height: 3px;
|
||||
background: linear-gradient(270deg, #21BEBE 0%, #26E0E0 100%);
|
||||
border-radius: 2px;
|
||||
}
|
||||
}
|
||||
.title-item {
|
||||
white-space:nowrap;
|
||||
padding: 0 20px;
|
||||
position: relative;
|
||||
color: #999999;
|
||||
}
|
||||
}
|
||||
</style>
|
||||
@@ -0,0 +1,80 @@
|
||||
<template>
|
||||
<div class="vaccine-subject">
|
||||
<div class="subject-item" v-for="(subject, index) in subjectList" :key="index">
|
||||
<template v-if="subject.qsVis">
|
||||
<div class="subject-title">{{ index + 1 }}、{{ subject.qsDes }}</div>
|
||||
<div class="subject-options" v-if="subject.qsType === 1">
|
||||
<van-radio-group
|
||||
@change="(e) => handleRadio(e, index)"
|
||||
v-model="subject.answer"
|
||||
v-for="(option, optionIndex) in subject.answerList"
|
||||
:key="optionIndex"
|
||||
shape="dot"
|
||||
>
|
||||
<van-radio class="subject-radio" :name="option.answerNo">{{ option.answerDesc }}</van-radio>
|
||||
</van-radio-group>
|
||||
</div>
|
||||
<template v-if="subject.qsType === 4">
|
||||
<div class="subject-input">
|
||||
<van-field v-model="subject.answer" />
|
||||
</div>
|
||||
</template>
|
||||
</template>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script setup lang="ts">
|
||||
import { defineProps, defineExpose, defineEmits } from 'vue';
|
||||
const props = defineProps(['subjectList']);
|
||||
const emit = defineEmits(['changeRadio']);
|
||||
function handleRadio(val: any, index: number) {
|
||||
props.subjectList[index].answer = val;
|
||||
if(props.subjectList[index].qsNo === 'vaccine_get_HPV'){
|
||||
emit('changeRadio',props.subjectList[index],val)
|
||||
}
|
||||
}
|
||||
function changeSubject() {
|
||||
return props.subjectList;
|
||||
}
|
||||
defineExpose({
|
||||
changeSubject,
|
||||
});
|
||||
</script>
|
||||
|
||||
<style scoped lang="less">
|
||||
.vaccine-subject {
|
||||
height: 100%;
|
||||
overflow-y: auto;
|
||||
:deep(.van-cell) {
|
||||
padding: 0;
|
||||
}
|
||||
:deep(.van-radio__icon--checked) {
|
||||
border-color: #21bebe;
|
||||
}
|
||||
:deep(.van-radio__icon--checked.van-radio__icon--dot .van-radio__icon--dot__icon) {
|
||||
background-color: #21bebe;
|
||||
}
|
||||
.subject-input {
|
||||
border-bottom: 1px solid #e0e0e0;
|
||||
padding: 0 0 5px 5px;
|
||||
}
|
||||
.subject-item {
|
||||
margin: 10px 0;
|
||||
.subject-title {
|
||||
padding: 10px 0 10px 5px;
|
||||
position: relative;
|
||||
&:after {
|
||||
content: '*';
|
||||
position: absolute;
|
||||
left: 0;
|
||||
top: 5px;
|
||||
color: #fd1805;
|
||||
}
|
||||
}
|
||||
.subject-radio {
|
||||
margin: 14px 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
</style>
|
||||
@@ -0,0 +1,47 @@
|
||||
import { get } from '/@/views/mobile/api/api';
|
||||
|
||||
const prefix: string = import.meta.env.VITE_GLOB_APP_PREFIX || '';
|
||||
// 评估列表
|
||||
export const healthListApi = (params: any) => get(`${prefix}/rest/health-survey/assess/template/listNew`, params);
|
||||
|
||||
// 评估记录
|
||||
export const healthHistoryApi = (params: any) => get(`${prefix}/rest/health-survey/assess/record`, params);
|
||||
|
||||
// 获取问卷
|
||||
export const questionApi = (params: any) => get(`${prefix}/rest/health-survey/assess/questionnaire`, params);
|
||||
|
||||
/*
|
||||
* @title 心理 —— 自诊自判
|
||||
* @content 焦虑、抑郁
|
||||
* @mode 采油9厂
|
||||
* @templateNo 焦虑 500、 抑郁 400
|
||||
* */
|
||||
|
||||
/*
|
||||
* @title 膳食 —— 慢病预警
|
||||
* @content 代谢综合征、高血压、糖尿病
|
||||
* @mode 采油6、12模型
|
||||
* @templateNo 采油6 代谢综合征 301、高血压 701、糖尿病 10
|
||||
* @templateNo 采油12 代谢综合征 901、高血压 902、糖尿病 903
|
||||
* */
|
||||
|
||||
/*
|
||||
* @title 癌症 —— 行为引导
|
||||
* @content 肺癌、肝癌、胃癌、肠癌
|
||||
* @mode 采气 1模型
|
||||
* @templateNo 肺癌 10005 、肝癌 10006、胃癌 10007、肠癌 10004
|
||||
* */
|
||||
|
||||
/*
|
||||
* @title 癌症 —— 信号预判
|
||||
* @content 肝癌、胃癌
|
||||
* @mode 采气9模型
|
||||
* @templateNo 肝癌 810 、胃癌 800
|
||||
* */
|
||||
|
||||
/*
|
||||
* @title 糖尿病 —— 信号预警
|
||||
* @content 糖尿病
|
||||
* @mode 采油2糖尿病模型
|
||||
* @templateNo 805
|
||||
* */
|
||||
@@ -0,0 +1,406 @@
|
||||
const prefix: string = import.meta.env.VITE_GLOB_APP_PREFIX || '';
|
||||
// 健康评估获取题与提交提的接口
|
||||
const subjectUrl = {
|
||||
getSubject: [
|
||||
{
|
||||
templateNo: '200',
|
||||
url: prefix + '/rest/health-survey/assess/ashd/getResult',
|
||||
method: 'get',
|
||||
name: '动脉硬化',
|
||||
},
|
||||
{
|
||||
templateNo: '100',
|
||||
url: prefix + '/rest/health-survey/assess/coronary-heart-disease/getResult',
|
||||
method: 'get',
|
||||
name: '冠心病',
|
||||
},
|
||||
{
|
||||
templateNo: '600',
|
||||
url: prefix + '/rest/health-survey/assess/obese/getResult',
|
||||
method: 'get',
|
||||
name: '肥胖',
|
||||
},
|
||||
{
|
||||
templateNo: '300',
|
||||
url: prefix + '/rest/health-survey/assess/metabolic/getResult',
|
||||
method: 'get',
|
||||
name: '代谢综合症',
|
||||
},
|
||||
{
|
||||
templateNo: '9',
|
||||
url: prefix + '/rest/health-survey/assess/diabetes/basics-getResult',
|
||||
method: 'get',
|
||||
name: '糖尿病',
|
||||
},
|
||||
{
|
||||
templateNo: '700',
|
||||
url: prefix + '/rest/health-survey/assess/hypertension/getResult',
|
||||
method: 'get',
|
||||
name: '高血压',
|
||||
},
|
||||
{
|
||||
templateNo: '4',
|
||||
url: prefix + '/rest/health-survey/assess/lung-cancer/getResult',
|
||||
method: 'get',
|
||||
name: '肺癌',
|
||||
},
|
||||
{
|
||||
templateNo: '5',
|
||||
url: prefix + '/rest/health-survey/assess/liver-cancer/getResult',
|
||||
method: 'get',
|
||||
name: '肝癌',
|
||||
},
|
||||
{
|
||||
templateNo: '7',
|
||||
url: prefix + '/rest/health-survey/assess/colorectal-cancer/getResult',
|
||||
method: 'get',
|
||||
name: '直结肠癌',
|
||||
},
|
||||
{
|
||||
templateNo: '6',
|
||||
url: prefix + '/rest/health-survey/assess/gastric-cancer/getResult',
|
||||
method: 'get',
|
||||
name: '胃癌',
|
||||
},
|
||||
{
|
||||
templateNo: '8',
|
||||
url: prefix + '/rest/health-survey/assess/cervical-cancer/getResult',
|
||||
method: 'get',
|
||||
name: '宫颈癌',
|
||||
},
|
||||
{
|
||||
templateNo: '11',
|
||||
url: prefix + '/rest/health-survey/assess/stroke/getResult',
|
||||
method: 'get',
|
||||
name: '脑卒中',
|
||||
},
|
||||
{
|
||||
templateNo: '400',
|
||||
url: prefix + '/rest/health-survey/assess/depression/getResult',
|
||||
method: 'get',
|
||||
name: '抑郁',
|
||||
},
|
||||
{
|
||||
templateNo: '500',
|
||||
url: prefix + '/rest/health-survey/assess/anxiety/getResult',
|
||||
method: 'get',
|
||||
name: '焦虑',
|
||||
},
|
||||
|
||||
{
|
||||
templateNo: '101',
|
||||
url: prefix + '/rest/health-survey/assess/coronary-heart-disease/two/getResult',
|
||||
method: 'get',
|
||||
name: '冠心病二次',
|
||||
},
|
||||
{
|
||||
templateNo: '900',
|
||||
url: prefix + '/rest/health-survey/assess/coronary-heart-disease/twelve/getResult',
|
||||
method: 'get',
|
||||
name: '冠心病十二厂',
|
||||
},
|
||||
{
|
||||
templateNo: '301',
|
||||
url: prefix + '/rest/health-survey/assess/metabolic/two/getResult',
|
||||
method: 'get',
|
||||
name: '代谢综合征二次',
|
||||
},
|
||||
{
|
||||
templateNo: '901',
|
||||
url: prefix + '/rest/health-survey/assess/metabolic/twelve/getResult',
|
||||
method: 'get',
|
||||
name: '代谢综合征十二厂',
|
||||
},
|
||||
{
|
||||
templateNo: '903',
|
||||
url: prefix + '/rest/health-survey/assess/diabetes/twelve/getResult',
|
||||
method: 'get',
|
||||
name: '糖尿病十二厂',
|
||||
},
|
||||
{
|
||||
templateNo: '805',
|
||||
url: prefix + '/rest/health-survey/assess/diabetes/two/getResult',
|
||||
method: 'get',
|
||||
name: '糖尿病二厂三多一少',
|
||||
},
|
||||
{
|
||||
templateNo: '10',
|
||||
url: prefix + '/rest/health-survey/assess/diabetes/twelve/getResult',
|
||||
method: 'get',
|
||||
name: '糖尿病二次评估',
|
||||
},
|
||||
{
|
||||
templateNo: '801',
|
||||
url: prefix + '/rest/health-survey/assess/blood-glucose/nine/getResult',
|
||||
method: 'get',
|
||||
name: '空腹血糖',
|
||||
},
|
||||
{
|
||||
templateNo: '701',
|
||||
url: prefix + '/rest/health-survey/assess/hypertension/getSecondaryResult',
|
||||
method: 'get',
|
||||
name: '高血压二次评估',
|
||||
},
|
||||
{
|
||||
templateNo: '902',
|
||||
url: prefix + '/rest/health-survey/assess/hypertension/twelve/getResult',
|
||||
method: 'get',
|
||||
name: '高血压十二厂',
|
||||
},
|
||||
{
|
||||
templateNo: '10006',
|
||||
url: prefix + '/rest/health-survey/assess/liver-cancer/one/getResult',
|
||||
method: 'get',
|
||||
name: '肝癌一厂',
|
||||
},
|
||||
{
|
||||
templateNo: '802',
|
||||
url: prefix + '/rest/health-survey/assess/liver-cancer/two/getResult',
|
||||
method: 'get',
|
||||
name: '肝癌二厂',
|
||||
},
|
||||
{
|
||||
templateNo: '10004',
|
||||
url: prefix + '/rest/health-survey/assess/colorectal-cancer/one/getResult',
|
||||
method: 'get',
|
||||
name: '直结肠癌一厂',
|
||||
},
|
||||
{
|
||||
templateNo: '10007',
|
||||
url: prefix + '/rest/health-survey/assess/gastric-cancer/one/getResult',
|
||||
method: 'get',
|
||||
name: '胃癌一厂',
|
||||
},
|
||||
{
|
||||
templateNo: '804',
|
||||
url: prefix + '/rest/health-survey/assess/gastric-cancer/two/getResult',
|
||||
method: 'get',
|
||||
name: '胃癌二厂',
|
||||
},
|
||||
{
|
||||
templateNo: '800',
|
||||
url: prefix + '/rest/health-survey/assess/gastric-cancer/nine/getResult',
|
||||
method: 'get',
|
||||
name: '胃癌九厂',
|
||||
},
|
||||
{
|
||||
templateNo: '803',
|
||||
url: prefix + '/rest/health-survey/assess/cervical-cancer/two/getResult',
|
||||
method: 'get',
|
||||
name: '宫颈癌二厂',
|
||||
},
|
||||
{
|
||||
templateNo: '10005',
|
||||
url: prefix + '/rest/health-survey/assess/lung-cancer/one/getResult',
|
||||
method: 'get',
|
||||
name: '肺癌一厂',
|
||||
},
|
||||
{
|
||||
templateNo: '810',
|
||||
url: prefix + '/rest/health-survey/assess/liver-cancer/nine/getResult',
|
||||
method: 'get',
|
||||
name: '肝癌九厂',
|
||||
},
|
||||
],
|
||||
submitSubject: [
|
||||
{
|
||||
templateNo: '200',
|
||||
url: prefix + '/rest/health-survey/assess/ashd/submit',
|
||||
method: 'post',
|
||||
name: '动脉硬化',
|
||||
},
|
||||
{
|
||||
templateNo: '100',
|
||||
url: prefix + '/rest/health-survey/assess/coronary-heart-disease/submit',
|
||||
method: 'post',
|
||||
name: '冠心病',
|
||||
},
|
||||
{
|
||||
templateNo: '600',
|
||||
url: prefix + '/rest/health-survey/assess/obese/submit',
|
||||
method: 'post',
|
||||
name: '肥胖',
|
||||
},
|
||||
{
|
||||
templateNo: '300',
|
||||
url: prefix + '/rest/health-survey/assess/metabolic/submit',
|
||||
method: 'post',
|
||||
name: '代谢综合症',
|
||||
},
|
||||
{
|
||||
templateNo: '9',
|
||||
url: prefix + '/rest/health-survey/assess/diabetes/basics-submit',
|
||||
method: 'post',
|
||||
name: '糖尿病',
|
||||
},
|
||||
{
|
||||
templateNo: '700',
|
||||
url: prefix + '/rest/health-survey/assess/hypertension/submit',
|
||||
method: 'post',
|
||||
name: '高血压',
|
||||
},
|
||||
{
|
||||
templateNo: '4',
|
||||
url: prefix + '/rest/health-survey/assess/lung-cancer/submit',
|
||||
method: 'post',
|
||||
name: '肺癌',
|
||||
},
|
||||
{
|
||||
templateNo: '5',
|
||||
url: prefix + '/rest/health-survey/assess/liver-cancer/submit',
|
||||
method: 'post',
|
||||
name: '肝癌',
|
||||
},
|
||||
{
|
||||
templateNo: '7',
|
||||
url: prefix + '/rest/health-survey/assess/colorectal-cancer/submit',
|
||||
method: 'post',
|
||||
name: '直结肠癌',
|
||||
},
|
||||
{
|
||||
templateNo: '6',
|
||||
url: prefix + '/rest/health-survey/assess/gastric-cancer/submit',
|
||||
method: 'post',
|
||||
name: '胃癌',
|
||||
},
|
||||
{
|
||||
templateNo: '8',
|
||||
url: prefix + '/rest/health-survey/assess/cervical-cancer/submit',
|
||||
method: 'post',
|
||||
name: '宫颈癌',
|
||||
},
|
||||
{
|
||||
templateNo: '11',
|
||||
url: prefix + '/rest/health-survey/assess/stroke/submit',
|
||||
method: 'post',
|
||||
name: '脑卒中',
|
||||
},
|
||||
{
|
||||
templateNo: '400',
|
||||
url: prefix + '/rest/health-survey/assess/depression/submit',
|
||||
method: 'post',
|
||||
name: '抑郁',
|
||||
},
|
||||
{
|
||||
templateNo: '500',
|
||||
url: prefix + '/rest/health-survey/assess/anxiety/submit',
|
||||
method: 'post',
|
||||
name: '焦虑',
|
||||
},
|
||||
{
|
||||
templateNo: '101',
|
||||
url: prefix + '/rest/health-survey/assess/coronary-heart-disease/two/submit',
|
||||
method: 'post',
|
||||
name: '冠心病二次',
|
||||
},
|
||||
{
|
||||
templateNo: '900',
|
||||
url: prefix + '/rest/health-survey/assess/coronary-heart-disease/twelve/submit',
|
||||
method: 'post',
|
||||
name: '冠心病十二厂',
|
||||
},
|
||||
{
|
||||
templateNo: '301',
|
||||
url: prefix + '/rest/health-survey/assess/metabolic/two/submit',
|
||||
method: 'post',
|
||||
name: '代谢综合征二次',
|
||||
},
|
||||
{
|
||||
templateNo: '901',
|
||||
url: prefix + '/rest/health-survey/assess/metabolic/twelve/submit',
|
||||
method: 'post',
|
||||
name: '代谢综合征十二厂',
|
||||
},
|
||||
{
|
||||
templateNo: '903',
|
||||
url: prefix + '/rest/health-survey/assess/diabetes/twelve/submit',
|
||||
method: 'post',
|
||||
name: '糖尿病十二厂',
|
||||
},
|
||||
{
|
||||
templateNo: '805',
|
||||
url: prefix + '/rest/health-survey/assess/diabetes/two/submit',
|
||||
method: 'post',
|
||||
name: '糖尿病二厂三多一少',
|
||||
},
|
||||
{
|
||||
templateNo: '10',
|
||||
url: prefix + '/rest/health-survey/assess/diabetes/accurate-submit',
|
||||
method: 'post',
|
||||
name: '糖尿病二次评估',
|
||||
},
|
||||
{
|
||||
templateNo: '801',
|
||||
url: prefix + '/rest/health-survey/assess/blood-glucose/nine/submit',
|
||||
method: 'post',
|
||||
name: '空腹血糖',
|
||||
},
|
||||
{
|
||||
templateNo: '701',
|
||||
url: prefix + '/rest/health-survey/assess/hypertension/secondarySubmit',
|
||||
method: 'post',
|
||||
name: '高血压二次评估',
|
||||
},
|
||||
{
|
||||
templateNo: '902',
|
||||
url: prefix + '/rest/health-survey/assess/hypertension/twelve/submit',
|
||||
method: 'post',
|
||||
name: '高血压十二厂',
|
||||
},
|
||||
{
|
||||
templateNo: '10006',
|
||||
url: prefix + '/rest/health-survey/assess/liver-cancer/one/submit',
|
||||
method: 'post',
|
||||
name: '肝癌一厂',
|
||||
},
|
||||
{
|
||||
templateNo: '802',
|
||||
url: prefix + '/rest/health-survey/assess/liver-cancer/two/submit',
|
||||
method: 'post',
|
||||
name: '肝癌二厂',
|
||||
},
|
||||
{
|
||||
templateNo: '10004',
|
||||
url: prefix + '/rest/health-survey/assess/colorectal-cancer/one/submit',
|
||||
method: 'post',
|
||||
name: '直结肠癌一厂',
|
||||
},
|
||||
{
|
||||
templateNo: '10007',
|
||||
url: prefix + '/rest/health-survey/assess/gastric-cancer/one/submit',
|
||||
method: 'post',
|
||||
name: '胃癌一厂',
|
||||
},
|
||||
{
|
||||
templateNo: '804',
|
||||
url: prefix + '/rest/health-survey/assess/gastric-cancer/two/submit',
|
||||
method: 'post',
|
||||
name: '胃癌二厂',
|
||||
},
|
||||
{
|
||||
templateNo: '800',
|
||||
url: prefix + '/rest/health-survey/assess/gastric-cancer/nine/submit',
|
||||
method: 'post',
|
||||
name: '胃癌九厂',
|
||||
},
|
||||
{
|
||||
templateNo: '803',
|
||||
url: prefix + '/rest/health-survey/assess/cervical-cancer/two/submit',
|
||||
method: 'post',
|
||||
name: '宫颈癌二厂',
|
||||
},
|
||||
{
|
||||
templateNo: '10005',
|
||||
url: prefix + '/rest/health-survey/assess/lung-cancer/one/submit',
|
||||
method: 'post',
|
||||
name: '肺癌一厂',
|
||||
},
|
||||
{
|
||||
templateNo: '810',
|
||||
url: prefix + '/rest/health-survey/assess/liver-cancer/nine/submit',
|
||||
method: 'post',
|
||||
name: '肝癌九厂',
|
||||
},
|
||||
],
|
||||
};
|
||||
export default subjectUrl;
|
||||
Reference in New Issue
Block a user