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

View File

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