This commit is contained in:
Your Name
2026-04-17 09:47:17 +08:00
parent fd44feaf09
commit 398f91bc55
280 changed files with 2536 additions and 808 deletions
@@ -951,7 +951,7 @@
</div>
<!-- 物流信息 -->
<div class="form-section">
<!-- <div class="form-section">
<div class="section-title">
<svg class="w-4 h-4" fill="none" stroke="currentColor" viewBox="0 0 24 24">
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M20 7l-8-4-8 4m16 0l-8 4m8-4v10l-8 4m0-10L4 7m8 4v10M4 7v10l8 4" />
@@ -977,7 +977,7 @@
</el-col>
</el-row>
</div>
</div>
</div> -->
<!-- 关联收款 -->
<div class="form-section">
@@ -1072,7 +1072,7 @@
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="订单金额" prop="amount">
<el-form-item label="订单金额" prop="amount">
<el-input-number
v-model="createOrderForm.amount"
:min="createOrderAmountInputMin"
@@ -1309,8 +1309,12 @@ const transformRegionData = (data: any[]) => {
const loadRegionData = async () => {
try {
console.log('开始加载省市区数据...')
// 使用代理路径,需要在vite.config.ts中配置代理
const response = await fetch('/api-proxy/area/ChinaCitys.json')
// 开发环境使用代理,生产环境使用环境变量中的基础URL
const apiUrl = import.meta.env.DEV
? '/api-proxy/area/ChinaCitys.json'
: `https://cos.zhenyangtang.com.cn/area/ChinaCitys.json`
const response = await fetch(apiUrl)
console.log('响应状态:', response.status)
if (!response.ok) {
@@ -8,6 +8,35 @@
</div>
</header>
<!-- 状态标签页 -->
<el-card class="!border-none shadow-sm mb-4" shadow="never">
<div class="flex items-center gap-2 flex-wrap">
<div
v-for="tab in statusTabs"
:key="tab.value"
:class="[
'px-4 py-2 rounded-lg cursor-pointer transition-all duration-200 select-none',
queryParams.fulfillment_status === tab.value
? 'bg-primary text-white shadow-md'
: 'bg-gray-50 text-gray-600 hover:bg-gray-100'
]"
@click="handleStatusTabClick(tab.value)"
>
<div class="flex items-center gap-2">
<span class="font-medium">{{ tab.label }}</span>
<span v-if="tab.count !== undefined" :class="[
'text-xs px-1.5 py-0.5 rounded',
queryParams.fulfillment_status === tab.value
? 'bg-white/20'
: 'bg-gray-200'
]">
{{ tab.count }}
</span>
</div>
</div>
</div>
</el-card>
<el-card class="!border-none po-filter-card shadow-sm" shadow="never">
<el-form class="ls-form" :model="queryParams" inline>
<el-form-item class="w-[260px]" label="订单号">
@@ -26,15 +55,6 @@
@keyup.enter="resetPage"
/>
</el-form-item>
<el-form-item class="w-[180px]" label="履约状态">
<el-select v-model="queryParams.fulfillment_status" placeholder="全部" clearable>
<el-option label="待双审通过" :value="1" />
<el-option label="履约中" :value="2" />
<el-option label="已发货" :value="5" />
<el-option label="已完成" :value="3" />
<el-option label="已取消" :value="4" />
</el-select>
</el-form-item>
<el-form-item>
<el-button type="primary" @click="resetPage">查询</el-button>
<el-button @click="handleReset">重置</el-button>
@@ -51,8 +71,6 @@
<el-table-column label="订单号" prop="order_no" min-width="150" show-overflow-tooltip />
<el-table-column label="处方ID" prop="prescription_id" width="86" />
<el-table-column label="诊单ID" prop="diagnosis_id" width="86" />
<el-table-column label="开方人" prop="doctor_name" width="90" show-overflow-tooltip />
<el-table-column label="创建人" prop="creator_name" width="90" show-overflow-tooltip />
<el-table-column label="收货人" min-width="100">
<template #default="{ row }">
<div>{{ row.recipient_name || '—' }}</div>
@@ -133,6 +151,9 @@
{{ formatTime(row.create_time) }}
</template>
</el-table-column>
<el-table-column label="开方人" prop="doctor_name" width="90" show-overflow-tooltip />
<el-table-column label="创建人" prop="creator_name" width="90" show-overflow-tooltip />
<el-table-column label="操作" width="310" fixed="right">
<template #default="{ row }">
<div class="flex items-center gap-1 flex-wrap">
@@ -335,19 +356,19 @@
<el-row :gutter="16" class="mb-5">
<el-col :xs="12" :sm="8">
<el-card shadow="never" class="stat-card border border-gray-100 bg-gray-50/50">
<div class="stat-title text-gray-500 text-xs mb-1">业务金额</div>
<div class="stat-title text-gray-500 text-xs mb-1">金额</div>
<div class="stat-value text-red-500 font-bold text-xl">¥{{ detailData.amount }}</div>
</el-card>
</el-col>
<el-col :xs="12" :sm="8">
<el-card shadow="never" class="stat-card border border-gray-100 bg-gray-50/50">
<div class="stat-title text-gray-500 text-xs mb-1">关联订单总额</div>
<div class="stat-title text-gray-500 text-xs mb-1">已付总额</div>
<div class="stat-value text-green-600 font-bold text-xl">¥{{ detailData.linked_pay_paid_total || 0 }}</div>
</el-card>
</el-col>
<el-col :xs="12" :sm="8">
<el-card shadow="never" class="stat-card border border-gray-100 bg-gray-50/50">
<div class="stat-title text-gray-500 text-xs mb-1">关联收款笔数</div>
<div class="stat-title text-gray-500 text-xs mb-1">已付笔数</div>
<div class="stat-value text-primary font-bold text-xl">{{ detailLinkedPayOrders.length }} </div>
</el-card>
</el-col>
@@ -727,222 +748,277 @@
<el-dialog
v-model="editVisible"
title="编辑业务订单"
width="680px"
width="800px"
:close-on-click-modal="false"
destroy-on-close
@closed="editFormRef?.clearValidate()"
>
<el-form
v-loading="editDialogLoading"
ref="editFormRef"
:model="editForm"
:rules="editRules"
label-width="110px"
class="pr-4"
>
<el-row :gutter="24">
<el-col :span="12">
<el-form-item label="收货人" prop="recipient_name">
<el-input v-model="editForm.recipient_name" maxlength="50" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="收货手机" prop="recipient_phone">
<el-input v-model="editForm.recipient_phone" maxlength="20" />
</el-form-item>
</el-col>
</el-row>
<el-form-item label="省/市/区" prop="region">
<el-cascader
v-model="editForm.region"
:options="regionOptions"
:props="{ emitPath: true }"
placeholder="请选择省/市/区"
clearable
filterable
class="w-full"
/>
</el-form-item>
<el-form-item label="详细地址" prop="shipping_address">
<el-input v-model="editForm.shipping_address" type="textarea" :rows="2" maxlength="500" show-word-limit />
</el-form-item>
<el-row :gutter="24">
<el-col :span="12">
<el-form-item label="是否复诊">
<el-switch v-model="editForm.is_follow_up" :active-value="1" :inactive-value="0" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="用药疗程">
<el-input-number v-model="editForm.medication_days" :min="1" :max="999" :step="1" class="w-full" placeholder="天数(选填)">
<template #append></template>
</el-input-number>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="24">
<el-col :span="12">
<el-form-item label="剂数" prop="dose_count">
<el-input-number
v-model="editForm.dose_count"
:min="1"
placeholder="剂数"
<div v-loading="editDialogLoading" class="max-h-[70vh] overflow-y-auto px-2">
<el-form
ref="editFormRef"
:model="editForm"
:rules="editRules"
label-width="90px"
>
<!-- 收货信息 -->
<div class="mb-4 pb-4 border-b border-gray-100">
<div class="text-sm font-medium text-gray-700 mb-3 flex items-center gap-2">
<svg class="w-4 h-4" fill="none" stroke="currentColor" viewBox="0 0 24 24">
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M17.657 16.657L13.414 20.9a1.998 1.998 0 01-2.827 0l-4.244-4.243a8 8 0 1111.314 0z" />
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M15 11a3 3 0 11-6 0 3 3 0 016 0z" />
</svg>
<span>收货信息</span>
</div>
<el-row :gutter="16">
<el-col :span="12">
<el-form-item label="收货人" prop="recipient_name">
<el-input v-model="editForm.recipient_name" maxlength="50" placeholder="请输入收货人" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="收货手机" prop="recipient_phone">
<el-input v-model="editForm.recipient_phone" maxlength="20" placeholder="请输入手机号" />
</el-form-item>
</el-col>
</el-row>
<el-form-item label="省/市/区" prop="region">
<el-cascader
v-model="editForm.region"
:options="regionOptions"
:props="{ emitPath: true }"
placeholder="请选择省/市/区"
clearable
filterable
class="w-full"
/>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="剂量单位" prop="dose_unit">
<el-select v-model="editForm.dose_unit" placeholder="请选择" class="w-full">
<el-option label="剂" value="剂" />
<el-option label="丸" value="丸" />
<el-option label="袋" value="袋" />
<el-option label="盒" value="盒" />
<el-option label="瓶" value="瓶" />
<el-option label="膏" value="膏" />
<el-option label="贴" value="贴" />
</el-select>
<el-form-item label="详细地址" prop="shipping_address">
<el-input v-model="editForm.shipping_address" type="textarea" :rows="2" maxlength="500" show-word-limit placeholder="请输入详细地址" />
</el-form-item>
</el-col>
</el-row>
</div>
<!-- 甘草预下单测试按钮 -->
<el-row v-if="editForm.id" :gutter="24">
<el-col :span="24">
<el-form-item label="甘草预下单">
<!-- 处方信息 -->
<div class="mb-4 pb-4 border-b border-gray-100">
<div class="text-sm font-medium text-gray-700 mb-3 flex items-center gap-2">
<svg class="w-4 h-4" fill="none" stroke="currentColor" viewBox="0 0 24 24">
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M9 12h6m-6 4h6m2 5H7a2 2 0 01-2-2V5a2 2 0 012-2h5.586a1 1 0 01.707.293l5.414 5.414a1 1 0 01.293.707V19a2 2 0 01-2 2z" />
</svg>
<span>处方信息</span>
</div>
<el-row :gutter="16">
<el-col :span="8">
<el-form-item label="是否复诊">
<el-switch v-model="editForm.is_follow_up" :active-value="1" :inactive-value="0" />
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="用药疗程">
<div class="flex items-center gap-2">
<el-input-number
v-model="editForm.medication_days"
:min="1"
:max="999"
:step="1"
class="flex-1"
placeholder="天数"
controls-position="right"
/>
<span class="text-gray-600 text-sm"></span>
</div>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="上次医生">
<el-input v-model="editForm.prev_staff" maxlength="100" placeholder="医生/医助" />
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="16">
<el-col :span="12">
<el-form-item :label="doseCountLabel" prop="dose_count">
<el-input-number
v-model="editForm.dose_count"
:min="1"
:placeholder="doseCountLabel"
class="w-full"
/>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="剂量单位" prop="dose_unit">
<el-select v-model="editForm.dose_unit" placeholder="请选择" class="w-full">
<el-option label="剂" value="剂" />
<el-option label="丸" value="丸" />
<el-option label="袋" value="袋" />
<el-option label="盒" value="盒" />
<el-option label="瓶" value="瓶" />
<el-option label="膏" value="膏" />
<el-option label="贴" value="贴" />
</el-select>
</el-form-item>
</el-col>
</el-row>
</div>
<!-- 服务信息 -->
<div class="mb-4 pb-4 border-b border-gray-100">
<div class="text-sm font-medium text-gray-700 mb-3 flex items-center gap-2">
<svg class="w-4 h-4" fill="none" stroke="currentColor" viewBox="0 0 24 24">
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M21 13.255A23.931 23.931 0 0112 15c-3.183 0-6.22-.62-9-1.745M16 6V4a2 2 0 00-2-2h-4a2 2 0 00-2 2v2m4 6h.01M5 20h14a2 2 0 002-2V8a2 2 0 00-2-2H5a2 2 0 00-2 2v10a2 2 0 002 2z" />
</svg>
<span>服务信息</span>
</div>
<el-row :gutter="16">
<el-col :span="12">
<el-form-item label="服务渠道">
<el-input v-model="editForm.service_channel" maxlength="100" placeholder="请输入服务渠道" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="服务套餐">
<el-select
v-model="editForm.service_package"
multiple
collapse-tags
collapse-tags-tooltip
placeholder="请选择服务套餐"
clearable
class="w-full"
>
<el-option
v-for="item in servicePackageOptions"
:key="item.value"
:label="item.name"
:value="item.value"
/>
</el-select>
</el-form-item>
</el-col>
</el-row>
</div>
<!-- 物流信息 -->
<div class="mb-4 pb-4 border-b border-gray-100">
<div class="text-sm font-medium text-gray-700 mb-3 flex items-center gap-2">
<svg class="w-4 h-4" fill="none" stroke="currentColor" viewBox="0 0 24 24">
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M5 8h14M5 8a2 2 0 110-4h14a2 2 0 110 4M5 8v10a2 2 0 002 2h10a2 2 0 002-2V8m-9 4h4" />
</svg>
<span>物流信息</span>
</div>
<el-form-item label="物流设置">
<div class="flex gap-2 w-full">
<el-select v-model="editForm.express_company" placeholder="承运商" class="w-[140px]">
<el-option label="自动识别" value="auto" />
<el-option label="顺丰速运" value="sf" />
<el-option label="京东快递" value="jd" />
<el-option label="极兔速递" value="jt" />
</el-select>
<el-input v-model="editForm.tracking_number" maxlength="80" placeholder="快递单号" class="flex-1" />
</div>
</el-form-item>
<!-- 甘草预下单测试按钮 -->
<el-form-item v-if="editForm.id" label="甘草预下单">
<el-button
type="primary"
plain
size="small"
:loading="gancaoPreviewLoading"
:icon="Search"
@click="testGancaoPreview"
>
测试价格
</el-button>
<span class="ml-3 text-xs text-gray-400">
<span class="ml-2 text-xs text-gray-400">
测试当前配置的甘草预下单价格不会真实提交订单
</span>
</el-form-item>
</el-col>
</el-row>
<el-form-item label="上次医生">
<el-input v-model="editForm.prev_staff" maxlength="100" placeholder="上次诊疗的医生/医助" />
</el-form-item>
</div>
<el-row :gutter="24">
<el-col :span="12">
<el-form-item label="服务渠道">
<el-input v-model="editForm.service_channel" maxlength="100" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="服务套餐">
<el-select
v-model="editForm.service_package"
multiple
collapse-tags
collapse-tags-tooltip
placeholder="请选择服务套餐"
clearable
class="w-full"
>
<el-option
v-for="item in servicePackageOptions"
:key="item.value"
:label="item.name"
:value="item.value"
/>
<!-- 费用信息 -->
<div class="mb-4">
<div class="text-sm font-medium text-gray-700 mb-3 flex items-center gap-2">
<svg class="w-4 h-4" fill="none" stroke="currentColor" viewBox="0 0 24 24">
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M12 8c-1.657 0-3 .895-3 2s1.343 2 3 2 3 .895 3 2-1.343 2-3 2m0-8c1.11 0 2.08.402 2.599 1M12 8V7m0 1v8m0 0v1m0-1c-1.11 0-2.08-.402-2.599-1M21 12a9 9 0 11-18 0 9 9 0 0118 0z" />
</svg>
<span>费用信息</span>
</div>
<el-form-item label="费用类别" prop="fee_type">
<el-select v-model="editForm.fee_type" class="w-full">
<el-option label="挂号费" :value="1" />
<el-option label="问诊费" :value="2" />
<el-option label="药品费用" :value="3" />
<el-option label="首付费用" :value="4" />
<el-option label="尾款费用" :value="5" />
<el-option label="其他费用" :value="6" />
<el-option label="全部费用" :value="7" />
</el-select>
</el-form-item>
</el-col>
</el-row>
<el-form-item label="物流设置">
<div class="flex gap-2 w-full">
<el-select v-model="editForm.express_company" placeholder="承运商" class="w-[140px]">
<el-option label="自动识别" value="auto" />
<el-option label="顺丰速运" value="sf" />
<el-option label="京东快递" value="jd" />
<el-option label="极兔速递" value="jt" />
</el-select>
<el-input v-model="editForm.tracking_number" maxlength="80" placeholder="快递单号" class="flex-1" />
</div>
</el-form-item>
<el-form-item label="费用类别" prop="fee_type">
<el-select v-model="editForm.fee_type" class="w-full">
<el-option label="挂号费" :value="1" />
<el-option label="问诊费" :value="2" />
<el-option label="药品费用" :value="3" />
<el-option label="首付费用" :value="4" />
<el-option label="尾款费用" :value="5" />
<el-option label="其他费用" :value="6" />
<el-option label="全部费用" :value="7" />
</el-select>
</el-form-item>
<el-form-item label="关联支付单">
<el-select
v-model="editForm.pay_order_ids"
class="w-full"
multiple
collapse-tags
collapse-tags-tooltip
placeholder="多选本诊单已支付收款单"
:loading="editPaidOrdersLoading"
>
<el-option
v-for="o in editPaidOrders"
:key="o.id"
:label="`${o.order_no} · ¥${o.amount} · ${formatPoCategory(o.order_type)}`"
:value="o.id"
class="!h-auto py-1.5"
>
<div class="flex flex-col gap-0.5" style="line-height: normal;">
<div class="flex items-center justify-between">
<span class="font-medium text-[13px] text-gray-800">{{ o.order_no }}</span>
<span class="text-orange-500 font-medium ml-4">¥{{ o.amount }}</span>
</div>
<div class="flex items-center justify-between text-xs text-gray-400 mt-1">
<span class="truncate pr-2">{{ formatPoCategory(o.order_type) }}<template v-if="o.remark"> · {{ o.remark }}</template></span>
<span class="shrink-0">{{ String(o.create_time || '').substring(0, 16) }}</span>
</div>
<el-form-item label="关联支付单">
<el-select
v-model="editForm.pay_order_ids"
class="w-full"
multiple
collapse-tags
collapse-tags-tooltip
placeholder="多选本诊单已支付收款单"
:loading="editPaidOrdersLoading"
>
<el-option
v-for="o in editPaidOrders"
:key="o.id"
:label="`${o.order_no} · ¥${o.amount} · ${formatPoCategory(o.order_type)}`"
:value="o.id"
class="!h-auto py-1.5"
>
<div class="flex flex-col gap-0.5" style="line-height: normal;">
<div class="flex items-center justify-between">
<span class="font-medium text-[13px] text-gray-800">{{ o.order_no }}</span>
<span class="text-orange-500 font-medium ml-4">¥{{ o.amount }}</span>
</div>
<div class="flex items-center justify-between text-xs text-gray-400 mt-1">
<span class="truncate pr-2">{{ formatPoCategory(o.order_type) }}<template v-if="o.remark"> · {{ o.remark }}</template></span>
<span class="shrink-0">{{ String(o.create_time || '').substring(0, 16) }}</span>
</div>
</div>
</el-option>
</el-select>
<div class="text-xs text-gray-500 mt-1.5 leading-normal">
已选收款合计<span class="text-primary font-medium">¥{{ formatMoney(editLinkedPaidTotal) }}</span>
</div>
</el-option>
</el-select>
<div class="text-xs text-gray-500 mt-1.5 leading-normal">
可对照此处关联收款记录已选收款合计<span class="text-primary font-medium">¥{{ formatMoney(editLinkedPaidTotal) }}</span>
</div>
</el-form-item>
</el-form-item>
<el-form-item label="订单金额" prop="amount">
<el-input-number
v-model="editForm.amount"
:min="editAmountInputMin"
:step="0.01"
:precision="2"
class="w-full font-medium"
/>
<div v-if="editDepositMin > 0" class="text-xs text-amber-500 mt-1.5 leading-normal">
定金门槛 ¥{{ formatMoney(editDepositMin) }}若您手动填写的金额比关联的支付总额小请确保符合您的业务逻辑
<el-form-item label="订单金额" prop="amount">
<el-input-number
v-model="editForm.amount"
:min="editAmountInputMin"
:step="0.01"
:precision="2"
class="w-full font-medium"
/>
<div v-if="editDepositMin > 0" class="text-xs text-amber-500 mt-1.5 leading-normal">
定金门槛 ¥{{ formatMoney(editDepositMin) }}
</div>
</el-form-item>
<el-form-item
v-perms="['finance.account_log/lists']"
label="内部成本"
>
<el-input-number v-model="editForm.internal_cost" :min="0" :step="0.01" :precision="2" class="w-full" placeholder="内部管理核算(选填)" />
</el-form-item>
<el-form-item label="备注补充">
<el-input v-model="editForm.remark_extra" type="textarea" :rows="2" maxlength="500" show-word-limit placeholder="可选填备注信息" />
</el-form-item>
</div>
</el-form-item>
<el-form-item
v-perms="['finance.account_log/lists']"
label="内部成本"
>
<el-input-number v-model="editForm.internal_cost" :min="0" :step="0.01" :precision="2" class="w-full" placeholder="内部管理核算(选填)" />
</el-form-item>
<el-form-item label="备注补充">
<el-input v-model="editForm.remark_extra" type="textarea" :rows="2" maxlength="500" show-word-limit />
</el-form-item>
</el-form>
</el-form>
</div>
<template #footer>
<el-button @click="editVisible = false">取消</el-button>
<el-button type="primary" :loading="editSaving" @click="submitEdit">确认保存</el-button>
@@ -1518,8 +1594,12 @@ const transformRegionData = (data: any[]) => {
const loadRegionData = async () => {
try {
console.log('开始加载省市区数据...')
// 使用代理路径,需要在vite.config.ts中配置代理
const response = await fetch('/api-proxy/area/ChinaCitys.json')
// 开发环境使用代理,生产环境使用环境变量中的基础URL
const apiUrl = import.meta.env.DEV
? '/api-proxy/area/ChinaCitys.json'
: `https://cos.zhenyangtang.com.cn/area/ChinaCitys.json`
const response = await fetch(apiUrl)
console.log('响应状态:', response.status)
if (!response.ok) {
@@ -1535,40 +1615,7 @@ const loadRegionData = async () => {
} catch (error) {
console.error('加载省市区数据失败:', error)
// 如果加载失败,使用基本的省市数据作为后备
regionOptions.value = [
{
value: '四川省',
label: '四川省',
children: [
{
value: '成都市',
label: '成都市',
children: [
{ value: '武侯区', label: '武侯区' },
{ value: '锦江区', label: '锦江区' },
{ value: '青羊区', label: '青羊区' },
{ value: '金牛区', label: '金牛区' },
{ value: '成华区', label: '成华区' }
]
}
]
},
{
value: '北京市',
label: '北京市',
children: [
{
value: '北京市',
label: '北京市',
children: [
{ value: '朝阳区', label: '朝阳区' },
{ value: '海淀区', label: '海淀区' },
{ value: '东城区', label: '东城区' }
]
}
]
}
]
regionOptions.value = []
}
}
@@ -1584,6 +1631,22 @@ const loadServicePackageOptions = async () => {
}
}
// 状态标签页配置
const statusTabs = ref([
{ label: '全部', value: '' as number | '', count: undefined },
{ label: '待双审通过', value: 1, count: undefined },
{ label: '履约中', value: 2, count: undefined },
{ label: '已发货', value: 5, count: undefined },
{ label: '已完成', value: 3, count: undefined },
{ label: '已取消', value: 4, count: undefined }
])
// 处理状态标签点击
const handleStatusTabClick = (value: number | '') => {
queryParams.fulfillment_status = value
resetPage()
}
const queryParams = reactive({
order_no: '',
prescription_id: '' as string | number,
@@ -1910,6 +1973,12 @@ const detailFullAddress = computed(() => {
return parts.length > 0 ? parts.join(' ') : '—'
})
// 动态剂数标签(根据剂量单位变化)
const doseCountLabel = computed(() => {
const unit = editForm.dose_unit || '剂'
return `${unit}`
})
function consumerRxAuditText(s: number | undefined) {
const n = Number(s)
if (n === 1) return '已通过'