fix: 本次就诊类型 样式调整

This commit is contained in:
huxuejian 2026-09-04 16:34:50 +08:00
parent 1fc6740e5e
commit c7d1019afa
2 changed files with 33 additions and 19 deletions

View File

@ -5,28 +5,28 @@
就诊人{{ form.name }} {{ form.sex }} {{ form.age ? `${form.age}` : '' }}
</view>
<view v-if="medTypeList.length > 1" class="med-type-section relative mt-12 px-15 py-12 bg-white shadow-lg">
<view class="med-type-row">
<view class="description-section">
<view class="section-title med-type-title is-required">本次就诊类型</view>
<view>
<radio-group class="med-type-options">
<label v-for="item in medTypeList" :key="getMedTypeKey(item)" class="med-type-option">
<radio :value="getMedTypeKey(item)" :checked="isMedTypeSelected(item)" @change="changeMedType(item)"
class="custom-radio" color="#b8956a" />
<text>{{ item.diseType }}</text>
<text v-if="item.dise_name">({{ item.dise_name }})</text>
</label>
</radio-group>
</view>
</view>
</view>
<view id="description-section" class="description-section relative mt-12 px-15 py-12 bg-white shadow-lg">
<view class="section-title is-required">请描述您的病情</view>
<textarea v-model="form.description" :show-confirm-bar="false" auto-height="true" class="mt-10 description"
placeholder-class="placeholderClass" maxlength="300" placeholder="为了更好地获得医生帮助,请尽可能地详细描述病情"
:adjust-position="false"
@click.stop
@focus="showDescriptionGuess" @input="handleDescriptionInput" @blur="hideDescriptionGuess"
@keyboardheightchange="handleKeyboardHeightChange"></textarea>
:adjust-position="false" @click.stop @focus="showDescriptionGuess" @input="handleDescriptionInput"
@blur="hideDescriptionGuess" @keyboardheightchange="handleKeyboardHeightChange"></textarea>
<view v-if="guessVisible" id="description-guess-anchor" class="relative">
<scroll-view class="guess-popup" scroll-y :style="{ height: `${guessPopupHeight}px` }"
@click.stop
<scroll-view class="guess-popup" scroll-y :style="{ height: `${guessPopupHeight}px` }" @click.stop
@touchstart="handleGuessInteractionStart" @touchend="handleGuessInteractionEnd"
@touchcancel="handleGuessInteractionEnd" @mousedown="handleGuessInteractionStart"
@mouseup="handleGuessInteractionEnd">
@ -363,16 +363,17 @@ onUnload(() => {
}
.med-type-options {
margin-top: 20rpx;
display: flex;
align-items: center;
justify-content: flex-end;
flex-wrap: wrap;
flex: 1;
}
.med-type-option {
display: flex;
align-items: center;
margin-left: 24rpx;
margin-right: 24rpx;
font-size: 28rpx;
white-space: nowrap;
}
@ -593,7 +594,6 @@ onUnload(() => {
.med-type-options {
width: 100%;
justify-content: space-between;
margin-top: 20rpx;
}
.med-type-option {

View File

@ -164,6 +164,20 @@ export default defineStore("orderStore", () => {
return;
}
const tmbxx = Array.isArray(hisArchive.tmbxx) ? hisArchive.tmbxx : [];
// const tmbxx = [
// {
// "med_type": "140201",
// "diseType": "特病",
// "dise_codg": "M01600",
// "dise_name": "糖尿病"
// },
// {
// "med_type": "140104",
// "diseType": "慢病",
// "dise_codg": "M03900",
// "dise_name": "高血压"
// }
// ]
medTypeList.value = [outpatientMedType, ...tmbxx];
const profile = patientList.value.find((i) => i.socialno === socialno);
regFee.value = 0;
@ -276,7 +290,7 @@ export default defineStore("orderStore", () => {
return;
}
const res = await getDrugMatchedDisease({ drugIds });
const diseases = res && Array.isArray(res.list) ? res.list.filter(i=> typeof i === "string" && i.trim()) : [];
const diseases = res && Array.isArray(res.list) ? res.list.filter(i => typeof i === "string" && i.trim()) : [];
const newDiseases = diseases.filter(i => !order.value.diseases.includes(i));
order.value.diseases = [...order.value.diseases, ...newDiseases];
}