fix:增加 用药时机

This commit is contained in:
huxuejian 2026-09-10 09:05:06 +08:00
parent 0f22b31029
commit 992ef569a8
2 changed files with 30 additions and 0 deletions

View File

@ -46,6 +46,13 @@
<uni-icons type="right" :size="elderMode ? 32 : 24"></uni-icons>
</view>
</picker>
<picker :value="timeIndex" mode="selector" :range="timeList" range-key="name" @change="timeChange">
<view class="row" :class="{ 'row--elder': elderMode }">
<view class="label" :class="{ 'label--elder': elderMode }">用药时机</view>
<view class="value" :class="{ 'value--elder': elderMode }">{{ current.dose_time_name }} </view>
<uni-icons type="right" :size="elderMode ? 32 : 24"></uni-icons>
</view>
</picker>
<view class="tips" :class="{ 'tips--elder': elderMode }">
<uni-icons color="red" type="info-filled" :size="elderMode ? 24 : 16"></uni-icons>
<text style="margin-left: 12rpx;" :class="{ 'tips-text--elder': elderMode }">已为您填入药品常规用量请确认!</text>
@ -80,6 +87,8 @@ const popup = ref()
const current = ref({})
const usageIndex = ref(0)
const frequencyIndex = ref(0)
const timeIndex = ref(0)
const gtMax = computed(() => {
return current.value.quantity > current.value.recommended_quantity && current.value.recommended_quantity > 0
})
@ -89,6 +98,10 @@ const usageList = computed(() => {
const frequencyList = computed(() => {
return props.consultType === 'onlineMedicinePurchase' ? onlineMedicine.value.frequencyList : storeMedicine.value.frequencyList;
})
const timeList = computed(() => {
return props.consultType === 'onlineMedicinePurchase' ? onlineMedicine.value.timeList : storeMedicine.value.timeList;
})
function usageChange(e) {
const index = e.detail.value;
@ -106,6 +119,13 @@ function frequencyChange(e) {
frequencyIndex.value = index;
}
function timeChange(e) {
const index = e.detail.value;
const time = timeList.value[index];
current.value.dose_time_name = time ? time.name : '';
timeIndex.value = index;
}
function close() {
emits('close')
}
@ -123,6 +143,9 @@ function confirm() {
if (!(frequencyIndex.value >= 0)) {
return toast('请选择用药频率', { mask: false })
}
if (!(timeIndex.value >= 0)) {
return toast('请选择用药时机', { mask: false })
}
//
setTimeout(() => {
const arr = [current.value.usageName, current.value.frequencyName, current.value.dosage ? `每次${current.value.dosage}${current.value.dosage_unit || ''}` : ''].filter(Boolean);
@ -144,6 +167,9 @@ watch(() => props.visible, (val) => {
const frequency = frequencyList.value[frequencyIndex.value];
current.value.frequencyName = frequency ? frequency.name : '';
current.value.frequencyCode = frequency ? frequency.code : '';
timeIndex.value = timeList.value.findIndex(item => item.name === current.value.dose_time_name);
const time = timeList.value[timeIndex.value];
current.value.dose_time_name = time ? time.name : '';
} else {
popup.value && popup.value.close()
}

View File

@ -23,12 +23,14 @@ export default defineStore("dbStore", () => {
const onlineMedicine = computed(() => ({
frequencyList: medicineConfigGroup.value['online-medicine-frequence'] || [],
usageList: medicineConfigGroup.value['online-medicine-administration'] || [],
timeList: medicineConfigGroup.value['medicine-use-time'] || [],
}))
//门店药品 单次剂量单位 用药频次 用药途径 包装单位
const storeMedicine = computed(() => ({
frequencyList: medicineConfigGroup.value['store-medicine-frequence'] || [],
usageList: medicineConfigGroup.value['store-medicine-administration'] || [],
timeList: medicineConfigGroup.value['medicine-use-time'] || [],
}))
async function getMedicineConfigGroup() {
@ -37,6 +39,8 @@ export default defineStore("dbStore", () => {
// `${corpId}-online-medicine-administration`,
`${corpId}-store-medicine-frequence`,
`${corpId}-store-medicine-administration`,
`${corpId}-store-medicine-use-time`,
];
const res = await getHlwConfigByCorpIds(corpIds);
if (res && res.success && Array.isArray(res.data)) {