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