Update PatientOrderList.vue
业务订单增加:服务套餐
This commit is contained in:
@@ -274,6 +274,7 @@
|
|||||||
<el-descriptions-item label="用药疗程">{{ detailData.medication_days ? detailData.medication_days + ' 天' : '—' }}</el-descriptions-item>
|
<el-descriptions-item label="用药疗程">{{ detailData.medication_days ? detailData.medication_days + ' 天' : '—' }}</el-descriptions-item>
|
||||||
<el-descriptions-item label="上次医护">{{ detailData.prev_staff || '—' }}</el-descriptions-item>
|
<el-descriptions-item label="上次医护">{{ detailData.prev_staff || '—' }}</el-descriptions-item>
|
||||||
<el-descriptions-item label="服务渠道">{{ detailData.service_channel || '—' }}</el-descriptions-item>
|
<el-descriptions-item label="服务渠道">{{ detailData.service_channel || '—' }}</el-descriptions-item>
|
||||||
|
<el-descriptions-item label="服务套餐">{{ formatServicePackage(detailData.service_package) }}</el-descriptions-item>
|
||||||
<el-descriptions-item label="费用类别">{{ feeTypeText(detailData.fee_type) }}</el-descriptions-item>
|
<el-descriptions-item label="费用类别">{{ feeTypeText(detailData.fee_type) }}</el-descriptions-item>
|
||||||
<el-descriptions-item label="快递单号">{{ detailData.tracking_number || '—' }}</el-descriptions-item>
|
<el-descriptions-item label="快递单号">{{ detailData.tracking_number || '—' }}</el-descriptions-item>
|
||||||
<el-descriptions-item label="快递公司">{{ expressCompanyLabel(detailData.express_company) }}</el-descriptions-item>
|
<el-descriptions-item label="快递公司">{{ expressCompanyLabel(detailData.express_company) }}</el-descriptions-item>
|
||||||
@@ -332,7 +333,7 @@
|
|||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import { computed, watch, ref } from 'vue'
|
import { computed, watch, ref, onMounted } from 'vue'
|
||||||
import { usePaging } from '@/hooks/usePaging'
|
import { usePaging } from '@/hooks/usePaging'
|
||||||
import {
|
import {
|
||||||
prescriptionOrderLists,
|
prescriptionOrderLists,
|
||||||
@@ -341,6 +342,7 @@ import {
|
|||||||
prescriptionOrderLogisticsTrace,
|
prescriptionOrderLogisticsTrace,
|
||||||
prescriptionOrderPaidPayOrders
|
prescriptionOrderPaidPayOrders
|
||||||
} from '@/api/tcm'
|
} from '@/api/tcm'
|
||||||
|
import { getDictData } from '@/api/app'
|
||||||
import { hasPermission } from '@/utils/perm'
|
import { hasPermission } from '@/utils/perm'
|
||||||
import feedback from '@/utils/feedback'
|
import feedback from '@/utils/feedback'
|
||||||
import useUserStore from '@/stores/modules/user'
|
import useUserStore from '@/stores/modules/user'
|
||||||
@@ -563,6 +565,39 @@ function feeTypeText(t: number | undefined) {
|
|||||||
return m[Number(t)] ?? '—'
|
return m[Number(t)] ?? '—'
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// 服务套餐字典选项(与 order_list.vue 数据源一致:dict 类型 server_order)
|
||||||
|
const servicePackageOptions = ref<Array<{ name: string; value: string }>>([])
|
||||||
|
|
||||||
|
async function loadServicePackageOptions() {
|
||||||
|
try {
|
||||||
|
const data: any = await getDictData({ type: 'server_order' })
|
||||||
|
const list = (data?.server_order || []) as Array<{ name: string; value: string; status?: number }>
|
||||||
|
servicePackageOptions.value = list.filter((item) => item.status !== 0)
|
||||||
|
} catch {
|
||||||
|
servicePackageOptions.value = []
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
function formatServicePackage(value: unknown): string {
|
||||||
|
if (value === null || value === undefined || value === '') return '—'
|
||||||
|
let packages: string[] = []
|
||||||
|
if (Array.isArray(value)) {
|
||||||
|
packages = value.map((v) => String(v)).filter((v) => v !== '')
|
||||||
|
} else if (typeof value === 'string') {
|
||||||
|
packages = value.split(',').map((v) => v.trim()).filter((v) => v !== '')
|
||||||
|
}
|
||||||
|
if (packages.length === 0) return '—'
|
||||||
|
const names = packages.map((val) => {
|
||||||
|
const opt = servicePackageOptions.value.find((o) => o.value === val)
|
||||||
|
return opt ? opt.name : val
|
||||||
|
})
|
||||||
|
return names.join('、')
|
||||||
|
}
|
||||||
|
|
||||||
|
onMounted(() => {
|
||||||
|
loadServicePackageOptions()
|
||||||
|
})
|
||||||
|
|
||||||
function expressCompanyLabel(v: unknown) {
|
function expressCompanyLabel(v: unknown) {
|
||||||
const s = String(v || '').toLowerCase()
|
const s = String(v || '').toLowerCase()
|
||||||
if (s === 'sf') return '顺丰速运'
|
if (s === 'sf') return '顺丰速运'
|
||||||
|
|||||||
Reference in New Issue
Block a user