From 2a17ae1d3d948d1771187b3f91082456f088c400 Mon Sep 17 00:00:00 2001
From: "nightkis1995@sina.com" <nightkis1995@sina.com>
Date: Wed, 18 Sep 2024 16:13:49 +0800
Subject: [PATCH] =?UTF-8?q?=E7=AD=9B=E6=9F=A5=20=E8=A1=A8=E5=8D=95?=
 =?UTF-8?q?=E4=BF=AE=E6=94=B9?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 src/assets/css/base.less                      |  1 +
 src/doctor/Doctor.vue                         |  2 +-
 .../components/chronicTag/ChronicTag.vue      | 39 ++++++++++++++++++-
 src/doctor/resident/Base.vue                  |  1 +
 src/doctor/resident/Visit.vue                 |  1 +
 .../screening/first/form/BaseInfo.vue         | 28 +++++++++----
 src/resident/screening/first/form/Index.vue   |  1 +
 .../screening/first/form/ScreenInfo.vue       | 15 ++++++-
 8 files changed, 78 insertions(+), 10 deletions(-)

diff --git a/src/assets/css/base.less b/src/assets/css/base.less
index 4a2c869..d683158 100644
--- a/src/assets/css/base.less
+++ b/src/assets/css/base.less
@@ -36,6 +36,7 @@ body {
 .screen-form {
     input::placeholder {
         color: #999999;
+        opacity: 1;
     }
     .van-cell:after {
         transform: scaleY(1);
diff --git a/src/doctor/Doctor.vue b/src/doctor/Doctor.vue
index bfc6d36..cb9730b 100644
--- a/src/doctor/Doctor.vue
+++ b/src/doctor/Doctor.vue
@@ -52,7 +52,7 @@ export default {
             if (!token) {
                 token = sessionStorage.getItem('token')
                 if (process.env.NODE_ENV !== 'production') {
-                    token = '0e5b7b8b-f6b0-4232-90ff-a674159c4fff'
+                    token = '42a5a452-5b42-478f-93f8-0b5198686791'
                 }
             }
             if (token) {
diff --git a/src/doctor/components/chronicTag/ChronicTag.vue b/src/doctor/components/chronicTag/ChronicTag.vue
index b3e1192..17795e6 100644
--- a/src/doctor/components/chronicTag/ChronicTag.vue
+++ b/src/doctor/components/chronicTag/ChronicTag.vue
@@ -24,8 +24,9 @@ export default {
                 '32': '肾',
                 '64': '脂'
             }
+            // const colors = ['red', 'orange', 'paleYellow', 'blue', 'cyan', 'pink', 'paleGreen']
             typeof list === 'string' && (list = list.split(','))
-            return list.map(e => {
+            return list.map((e, i) => {
                 if (!map[e]) return
                 return {
                     name: map[e],
@@ -86,4 +87,40 @@ export default {
     background-color: #E6F9FF;
     color: #4D86DA;
 }
+
+.tag-red {
+    .common-tag();
+    background-color: #FFF1F0;
+    color: #F5222D;
+}
+.tag-orange {
+    .common-tag();
+    background-color: #FFFBE6;
+    color: #FA8C16;
+}
+.tag-cyan {
+    .common-tag();
+    color: #13C2C2;
+    background-color: #E6FFFB;
+}
+.tag-blue {
+    .common-tag();
+    color: #2F54EB;
+    background-color: #F0F5FF;
+}
+.tag-pink {
+    .common-tag();
+    color: #F61E54;
+    background-color: #FFE5F1;
+}
+.tag-paleGreen {
+    .common-tag();
+    color: #A0D911;
+    background-color: #FCFFE6;
+}
+.tag-paleYellow {
+    .common-tag();
+    background-color: #FEFFE6;
+    color: #D4B106;
+}
 </style>
diff --git a/src/doctor/resident/Base.vue b/src/doctor/resident/Base.vue
index 922e9dd..8b1aacb 100644
--- a/src/doctor/resident/Base.vue
+++ b/src/doctor/resident/Base.vue
@@ -108,6 +108,7 @@ export default {
     .detail-left {
         width: 8em;
         color: #8C8C8C;
+        flex-shrink: 0;
     }
     .detail-bt {
         color: #607FF0;
diff --git a/src/doctor/resident/Visit.vue b/src/doctor/resident/Visit.vue
index 7a96d62..474045f 100644
--- a/src/doctor/resident/Visit.vue
+++ b/src/doctor/resident/Visit.vue
@@ -234,6 +234,7 @@ export default {
     .detail-left {
         width: 8em;
         color: #8C8C8C;
+        flex-shrink: 0;
     }
     .card-bt {
         font-size: 14px;
diff --git a/src/resident/screening/first/form/BaseInfo.vue b/src/resident/screening/first/form/BaseInfo.vue
index 8ed6164..aa0daed 100644
--- a/src/resident/screening/first/form/BaseInfo.vue
+++ b/src/resident/screening/first/form/BaseInfo.vue
@@ -18,13 +18,11 @@
             </van-field>
             <van-field required
                 v-model="form.genderName"
-                is-link
                 readonly
                 name="gender"
                 label="性别"
                 placeholder="请选择"
-                :rules="rules.gender"
-                @click="showGender = true"/>
+                :rules="rules.gender"/>
             <van-popup v-model:show="showGender" position="bottom">
                 <van-picker
                     :columns-field-names="{ text: 'name', value: 'value' }"
@@ -43,7 +41,10 @@
                 @click="showBirth = true"
             />
             <van-popup v-model:show="showBirth" position="bottom">
-                <van-date-picker @confirm="dataBirthConfirm" @cancel="showBirth = false" />
+                <van-date-picker v-model="form._dataBirth" 
+                    :min-date="birthRange.min"
+                    :max-date="birthRange.max"
+                    @confirm="dataBirthConfirm" @cancel="showBirth = false" />
             </van-popup>
 
             <van-field v-model="form.currentAge"
@@ -98,7 +99,8 @@
                 @click="showPresent = true"
             >
                 <template #input>
-                    <span class="text-end">{{ form.presentCodeName }}</span>
+                    <span class="text-end" v-if="form.presentCodeName">{{ form.presentCodeName }}</span>
+                    <span class="text-end" style="color: #999999" v-else>请选择</span>
                 </template>
             </van-field>
             <van-popup v-model:show="showPresent" :close-on-click-overlay="false" position="bottom"
@@ -132,7 +134,8 @@
                 @click="showRegistered = true"
             >
                 <template #input>
-                    <span class="text-end">{{ form.registeredCodeName }}</span>
+                    <span class="text-end" v-if="form.registeredCodeName">{{ form.registeredCodeName }}</span>
+                    <span class="text-end" style="color: #999999" v-else>请选择</span>
                 </template>
             </van-field>
             <van-popup v-model:show="showRegistered" :close-on-click-overlay="false" position="bottom"
@@ -164,6 +167,7 @@ import { useStore } from '@/resident/store/index.js'
 import { getInfoByIdCard, fetchDataHandle, addToArr } from '@/utils/common.js'
 import { mobileValidator, addressValidator } from '@/utils/commonReg.js'
 import DocAddress from '@/components/docAddress/DocAddress.vue'
+import dayjs from 'dayjs'
 
 const defaultForm = (info = {}) => {
     const form = {
@@ -191,6 +195,7 @@ const defaultForm = (info = {}) => {
         createdUserName: undefined,
         // 出生日期
         dataBirth: undefined,
+        _dataBirth: undefined,
         // 职业,[DC00010]
         duty: undefined,
         // 文化程度(学历),[DC00007]
@@ -273,7 +278,11 @@ export default {
             showPresent: false,
             // 户籍地址
             showRegistered: false,
-            store: useStore()
+            store: useStore(),
+            birthRange: {
+                start: undefined,
+                end: undefined
+            }
         }
     },
     computed: {
@@ -282,10 +291,14 @@ export default {
         }
     },
     created() {
+        console.log('checkInfo', this.checkInfo)
         this.init()
     },
     methods: {
         init() {
+            const date = dayjs()
+            this.birthRange.max = new Date(date.year(), date.month(), date.date())
+            this.birthRange.min = new Date(date.year() - 120, date.month(), date.date())
             if (this.recordForm.base) {
                 this.form = defaultForm(this.recordForm.base)
                 return
@@ -301,6 +314,7 @@ export default {
             this.form.genderName = this.store.getDictValue('DC00005', this.form.gender)
             this.form.currentAge = info.age
             this.form.dataBirth = info.dataBirth
+            this.form._dataBirth = info.dataBirth.split('-')
         },
         submit() {
             // this.recordForm.base = {...this.form}
diff --git a/src/resident/screening/first/form/Index.vue b/src/resident/screening/first/form/Index.vue
index ed22074..5663393 100644
--- a/src/resident/screening/first/form/Index.vue
+++ b/src/resident/screening/first/form/Index.vue
@@ -78,6 +78,7 @@ export default {
         onNext(step) {
             if (this.step === 1) {
                 this.recordForm = {}
+                this.checkInfo = {}
             }
             this.step = step ? step : this.step + 1
             this.setpHistory.push(this.step)
diff --git a/src/resident/screening/first/form/ScreenInfo.vue b/src/resident/screening/first/form/ScreenInfo.vue
index 8c3a07f..d70e66c 100644
--- a/src/resident/screening/first/form/ScreenInfo.vue
+++ b/src/resident/screening/first/form/ScreenInfo.vue
@@ -128,7 +128,20 @@
                 label="家族史"
                 placeholder="请选择"
                 :rules="rules.familyHistory"
-                @click="showFamily = true"/>
+                @click="showFamily = true">
+                <template #input>
+                    <div class="pb-3">
+                        <!-- <span class="text-end" v-if="form.familyHistoryName">{{ form.familyHistoryName }}</span>
+                        <span class="text-end" style="color: #999999" v-else>请选择</span> -->
+                        <van-field v-model="form.familyHistoryName"
+                            placeholder="请选择"
+                            readonly
+                            style="padding: 0;background: transparent;"
+                        />
+                    </div>
+                    <div class="tip">若一级家属(如父母)有家族病史,则请选择</div>
+                </template>
+            </van-field>
             <van-popup v-model:show="showFamily" position="bottom">
                 <div class="pt-4 popup-checkbox">
                     <div class="flex justify-between">
-- 
2.18.0