diff --git a/admin/src/views/consumer/prescription/order_list.vue b/admin/src/views/consumer/prescription/order_list.vue
index 6dbb4947..d3bef406 100644
--- a/admin/src/views/consumer/prescription/order_list.vue
+++ b/admin/src/views/consumer/prescription/order_list.vue
@@ -2276,13 +2276,13 @@
>
- 手动创建
+ 付呗
关联已有
直接完单申请
-
+
@@ -5650,7 +5650,7 @@ const addPayOrderAlertTitle = computed(() => {
if (addPayOrderForm.add_mode === 'completion_only') {
return '不创建或关联支付单,仅提交完单申请,由审核人员在支付审核时处理。'
}
- return '可以手动创建新支付单,或关联已存在但未绑定的支付单。'
+ return '可以通过付呗创建新支付单,或关联已存在但未绑定的支付单。'
})
const addPayOrderForm = reactive({
diff --git a/admin/src/views/consumer/prescription/order_list_h5.vue b/admin/src/views/consumer/prescription/order_list_h5.vue
index f7745696..c65afcd9 100644
--- a/admin/src/views/consumer/prescription/order_list_h5.vue
+++ b/admin/src/views/consumer/prescription/order_list_h5.vue
@@ -1971,7 +1971,7 @@
@closed="addPayOrderFormRef?.clearValidate()"
>
- 手动创建
+ 付呗
关联已有
-
+
diff --git a/admin/src/views/order/index.vue b/admin/src/views/order/index.vue
index 55b865f1..8f37fc88 100644
--- a/admin/src/views/order/index.vue
+++ b/admin/src/views/order/index.vue
@@ -174,9 +174,9 @@
-
+
- {{ getPaymentMethodText(row.payment_method) }}
+ {{ getCreateTypeText(row) }}
@@ -327,7 +327,7 @@
¥{{ detailData.amount }}
- {{ getPaymentMethodText(detailData.payment_method) }}
+ {{ getCreateTypeText(detailData) }}
{{ detailData.payment_time || '-' }}
@@ -1148,7 +1148,8 @@ const submitCreateOrder = async () => {
patient_id: createForm.patient_id,
order_type: createForm.order_type,
amount: createForm.amount,
- remark: createForm.remark
+ remark: createForm.remark,
+ create_type: 'wechat_work'
}
const res: any = await orderCreateForWechatWork(params)
const orderNo = res?.order_no ?? res?.data?.order_no
@@ -1160,7 +1161,8 @@ const submitCreateOrder = async () => {
patient_id: createForm.patient_id,
order_type: createForm.order_type,
amount: createForm.amount,
- remark: createForm.remark
+ remark: createForm.remark,
+ create_type: createForm.createType
}
if (createForm.createType === 'fubei') {
params.payment_channel = 'fubei'
@@ -1247,6 +1249,20 @@ const getPaymentMethodText = (method: string | null) => {
return methodMap[method] || '未知'
}
+// 支付方式展示:优先按「创建方式」三值显示;历史单/无 create_type 时回退真实支付渠道文案
+const getCreateTypeText = (row: any) => {
+ const createTypeMap: Record = {
+ normal: '普通订单',
+ wechat_work: '企业微信对外收款',
+ fubei: '付呗'
+ }
+ const ct = row?.create_type
+ if (ct && createTypeMap[ct]) {
+ return createTypeMap[ct]
+ }
+ return getPaymentMethodText(row?.payment_method)
+}
+
// 编辑订单
const handleEditOrder = (row: any) => {
editOrderForm.value = {
diff --git a/server/app/adminapi/controller/order/OrderController.php b/server/app/adminapi/controller/order/OrderController.php
index 2dff9aab..e16941d0 100755
--- a/server/app/adminapi/controller/order/OrderController.php
+++ b/server/app/adminapi/controller/order/OrderController.php
@@ -207,6 +207,11 @@ class OrderController extends BaseAdminController
$params['creator_id'] = $this->adminId;
$params['payment_channel'] = (string)$this->request->post('payment_channel', 'normal');
$params['require_payment_slip_audit'] = (int)$this->request->post('require_payment_slip_audit', 0);
+ // 创建方式:优先取前端透传的 create_type,否则按 payment_channel 派生(fubei→fubei,其余 normal)
+ $createTypeReq = (string)$this->request->post('create_type', '');
+ $params['create_type'] = in_array($createTypeReq, ['normal', 'wechat_work', 'fubei'], true)
+ ? $createTypeReq
+ : ($params['payment_channel'] === 'fubei' ? 'fubei' : 'normal');
$result = OrderLogic::create($params);
if (!$result) {
@@ -227,6 +232,7 @@ class OrderController extends BaseAdminController
{
$params = (new OrderValidate())->post()->goCheck('create');
$params['creator_id'] = $this->adminId;
+ $params['create_type'] = 'wechat_work';
$result = OrderLogic::createForWechatWork($params);
if (!$result) {
diff --git a/server/app/adminapi/logic/order/OrderLogic.php b/server/app/adminapi/logic/order/OrderLogic.php
index 0523c404..b84cb31a 100755
--- a/server/app/adminapi/logic/order/OrderLogic.php
+++ b/server/app/adminapi/logic/order/OrderLogic.php
@@ -43,6 +43,11 @@ class OrderLogic
if (!in_array($channel, ['normal', 'fubei'], true)) {
$channel = 'normal';
}
+ // 创建方式(三值):normal 普通订单 / wechat_work 企业微信对外收款 / fubei 付呗;非法值兜底 normal
+ $createType = (string)($params['create_type'] ?? 'normal');
+ if (!in_array($createType, ['normal', 'wechat_work', 'fubei'], true)) {
+ $createType = 'normal';
+ }
$requirePaymentSlipAudit = (int)($params['require_payment_slip_audit'] ?? 0) === 1;
$order = new Order();
@@ -51,6 +56,7 @@ class OrderLogic
$order->creator_id = $params['creator_id'];
$order->order_type = $params['order_type'];
$order->amount = $params['amount'];
+ $order->create_type = $createType;
// 付呗且申请审核支付单:待审核(5);否则待支付(1)
if ($channel === 'fubei') {
$order->payment_method = 'fubei';
diff --git a/server/app/adminapi/logic/tcm/PrescriptionOrderLogic.php b/server/app/adminapi/logic/tcm/PrescriptionOrderLogic.php
index 933aaf81..6df4ded1 100755
--- a/server/app/adminapi/logic/tcm/PrescriptionOrderLogic.php
+++ b/server/app/adminapi/logic/tcm/PrescriptionOrderLogic.php
@@ -2361,7 +2361,8 @@ class PrescriptionOrderLogic
$payOrder->order_type = $orderType;
$payOrder->amount = $amount;
$payOrder->status = 5; // 待审核
- $payOrder->payment_method = 'manual';
+ $payOrder->payment_method = 'fubei'; // 补齐支付单按「付呗」记账
+ $payOrder->create_type = 'fubei';
$payOrder->payment_time = null; // 审核通过后再设置支付时间
$payOrder->remark = $remark;
diff --git a/server/sql/1.9.20260605/add_order_create_type.sql b/server/sql/1.9.20260605/add_order_create_type.sql
new file mode 100644
index 00000000..f6563961
--- /dev/null
+++ b/server/sql/1.9.20260605/add_order_create_type.sql
@@ -0,0 +1,3 @@
+-- 支付单:创建方式(统一为三值,用于支付方式显示)
+ALTER TABLE `zyt_order`
+ ADD COLUMN `create_type` varchar(20) NOT NULL DEFAULT 'normal' COMMENT '创建方式:normal 普通订单 / wechat_work 企业微信对外收款 / fubei 付呗' AFTER `payment_method`;