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