From 8fa86e098c62ce9555e62fb3a24159b27a55b286 Mon Sep 17 00:00:00 2001 From: "nightkis1995@sina.com" <nightkis1995@sina.com> Date: Fri, 12 Jul 2024 17:13:24 +0800 Subject: [PATCH] =?UTF-8?q?=E7=AE=80=E6=98=93=E7=AD=9B=E6=9F=A5=E8=A1=A8?= =?UTF-8?q?=E5=8D=95=E6=8E=A5=E5=8F=A3=E5=AF=B9=E6=8E=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/tumour/api/screening.js | 4 ++++ src/tumour/screening/simple/config.js | 5 +++-- src/tumour/screening/simple/form/Index.vue | 10 ++++++++-- src/tumour/screening/simple/form/Question.vue | 19 +++++++++++++++---- src/tumour/screening/simple/form/base.vue | 2 +- 5 files changed, 31 insertions(+), 9 deletions(-) diff --git a/src/tumour/api/screening.js b/src/tumour/api/screening.js index a08ecb0..f467a0c 100644 --- a/src/tumour/api/screening.js +++ b/src/tumour/api/screening.js @@ -1,2 +1,6 @@ import { fetchBase } from './fetch.js' +// 简易筛查 新增 +export function addSimpleScreen(params, loading = true) { + return fetchBase({ url: `/v1/h5-app/add-simple-screen`, body: params, loading }) +} diff --git a/src/tumour/screening/simple/config.js b/src/tumour/screening/simple/config.js index 77dd4f3..d3a3476 100644 --- a/src/tumour/screening/simple/config.js +++ b/src/tumour/screening/simple/config.js @@ -455,8 +455,9 @@ export function getQuestion(key, info) { remark: '建议进一步检查前列腺特异性抗原、前列腺特异性抗原正常—定期复查、前列腺特异性抗原升—高前列腺磁共振及穿刺活检' } } - const result = questions['q' + key] - return result ? new Question(result, info) : {} + const q = questions['q' + key] + const result = q ? new Question(q, info) : {} + return { ...result, key } } class Question { diff --git a/src/tumour/screening/simple/form/Index.vue b/src/tumour/screening/simple/form/Index.vue index b16095d..43e1541 100644 --- a/src/tumour/screening/simple/form/Index.vue +++ b/src/tumour/screening/simple/form/Index.vue @@ -35,7 +35,8 @@ export default { // 操作步骤 setp: 1, // 步骤1中选中的癌种 - species: [] + species: [], + baseInfo: {} } }, computed: { @@ -53,13 +54,18 @@ export default { onNext() { this.$refs.base.submit().then(res => { console.log(res) + this.baseInfo = res this.species = res.species || [] this.setp = 2 }) }, submit() { this.$refs.question.submit().then(res => { - console.log(res) + const result = { + ...this.baseInfo, + details: res + } + console.log(result) }) } diff --git a/src/tumour/screening/simple/form/Question.vue b/src/tumour/screening/simple/form/Question.vue index 03f56e6..d600866 100644 --- a/src/tumour/screening/simple/form/Question.vue +++ b/src/tumour/screening/simple/form/Question.vue @@ -8,7 +8,7 @@ :label="q.title" :rules="[{ required: true, message: '请选择' }]"> <template #input> - <van-radio-group v-model="q.value" @change="onChange($event, item)"> + <van-radio-group v-model="q.value" @change="onChange($event, item)" class="pl-2"> <van-radio v-for="a in q.answer.cont" shape="dot" class="mt-2" :name="a.value" :key="a.value">{{a.name}}</van-radio> </van-radio-group> @@ -65,15 +65,26 @@ export default { console.log(this.formData) }, onChange(val, item) { - console.log(val, item) - console.log('高危判断', item.check()) + // console.log(val, item) + // console.log('高危判断', item.check()) item.highRisk = item.check() ? 1 : 2 }, submit() { return new Promise((resolve) => { this.$refs.form.validate().then(res => { console.log(res, this.formData) - resolve(this.formData) + const result = {} + this.formData.forEach(e => { + const issue = {} + e.issue.forEach(i => { + issue[i.key] = i.value + }) + result[e.key] = { + highRisk: e.highRisk, + ...issue + } + }) + resolve(result) }).catch(err => { console.warn(err) }) diff --git a/src/tumour/screening/simple/form/base.vue b/src/tumour/screening/simple/form/base.vue index b1e06d1..a60cdb1 100644 --- a/src/tumour/screening/simple/form/base.vue +++ b/src/tumour/screening/simple/form/base.vue @@ -176,7 +176,7 @@ label-width="100%" :rules="rules.species"> <template #input> - <van-checkbox-group v-model="form.species" class="pt-2"> + <van-checkbox-group v-model="form.species" class="pt-2 pl-2"> <van-checkbox v-for="(item, index) in cancerArray" :key="index" :name="item.value" shape="square" class="mb-3">{{ item.name }}</van-checkbox> -- 2.18.0