feat(sdy): 更新经销商订单模型和导入功能

- 将 orderId 字段更改为 orderNo,类型从 number 改为 string
- 更新经销商资本模型中的 describe 字段为 comments- 在 shopDealerOrder 模型中添加 settledPrice 和 payPrice 字段
- 修改导入接口 URL,使用 MODULES_API_URL 前缀- 在用户验证页面添加权限控制
- 移除订单状态和结算状态的搜索选项
- 添加新的经销商订单编辑组件和相关功能
- 创建新的经销商订单管理页面,包含完整的CRUD操作- 添加批量删除和订单结算功能- 更新表格列配置,展示更多订单详情信息
This commit is contained in:
2025-10-13 23:03:44 +08:00
parent 12b1f8c026
commit 3ecfaeae87
16 changed files with 1151 additions and 148 deletions

View File

@@ -96,9 +96,9 @@
</a-col>
</a-row>
<a-form-item label="流动描述" name="describe">
<a-form-item label="流动描述" name="comments">
<a-textarea
v-model:value="form.describe"
v-model:value="form.comments"
placeholder="请输入资金流动描述"
:rows="3"
:maxlength="200"
@@ -186,7 +186,7 @@
orderId: undefined,
flowType: undefined,
money: undefined,
describe: '',
comments: '',
toUserId: undefined,
tenantId: undefined,
createTime: undefined,
@@ -230,7 +230,7 @@
trigger: 'blur'
}
],
describe: [
comments: [
{
required: true,
message: '请输入流动描述',
@@ -335,7 +335,7 @@
orderId: undefined,
flowType: undefined,
money: undefined,
describe: '',
comments: '',
toUserId: undefined,
tenantId: undefined,
createTime: undefined,

View File

@@ -3,7 +3,7 @@
<a-card :bordered="false" :body-style="{ padding: '16px' }">
<ele-pro-table
ref="tableRef"
row-key="shopDealerCapitalId"
row-key="id"
:columns="columns"
:datasource="datasource"
:customRow="customRow"
@@ -223,7 +223,7 @@
/* 删除单个 */
const remove = (row: ShopDealerCapital) => {
const hide = message.loading('请求中..', 0);
removeShopDealerCapital(row.shopDealerCapitalId)
removeShopDealerCapital(row.id)
.then((msg) => {
hide();
message.success(msg);
@@ -248,7 +248,7 @@
maskClosable: true,
onOk: () => {
const hide = message.loading('请求中..', 0);
removeBatchShopDealerCapital(selection.value.map((d) => d.shopDealerCapitalId))
removeBatchShopDealerCapital(selection.value.map((d) => d.id))
.then((msg) => {
hide();
message.success(msg);

View File

@@ -61,7 +61,7 @@
</a>
<template v-if="record.isSettled === 0 && record.isInvalid === 0">
<a-divider type="vertical"/>
<a @click="settleOrder(record)" class="ele-text-success">
<a @click="openEdit(record)" class="ele-text-success">
<DollarOutlined/>
结算
</a>
@@ -107,7 +107,12 @@ import type {
import Search from './components/search.vue';
import {getPageTitle} from '@/utils/common';
import ShopDealerOrderEdit from './components/shopDealerOrderEdit.vue';
import {pageShopDealerOrder, removeShopDealerOrder, removeBatchShopDealerOrder, exportShopDealerOrder} from '@/api/shop/shopDealerOrder';
import {
pageShopDealerOrder,
removeShopDealerOrder,
removeBatchShopDealerOrder,
exportShopDealerOrder
} from '@/api/shop/shopDealerOrder';
import type {ShopDealerOrder, ShopDealerOrderParam} from '@/api/shop/shopDealerOrder/model';
// 表格实例
@@ -119,8 +124,6 @@ const selection = ref<ShopDealerOrder[]>([]);
const current = ref<ShopDealerOrder | null>(null);
// 是否显示编辑弹窗
const showEdit = ref(false);
// 是否显示批量移动弹窗
const showMove = ref(false);
// 加载状态
const loading = ref(true);
@@ -139,7 +142,7 @@ const datasource: DatasourceFunction = ({
where.status = filters.status;
}
// 保存当前搜索条件用于导出
currentWhere.value = { ...where };
currentWhere.value = {...where};
return pageShopDealerOrder({
...where,
...orders,
@@ -301,31 +304,6 @@ const viewDetail = (row: ShopDealerOrder) => {
});
};
/* 结算单个订单 */
const settleOrder = (row: ShopDealerOrder) => {
const totalCommission = (parseFloat(row.firstMoney || '0') +
parseFloat(row.secondMoney || '0') +
parseFloat(row.thirdMoney || '0')).toFixed(2);
Modal.confirm({
title: '确认结算',
content: `确定要结算此订单的佣金吗?总佣金金额:¥${totalCommission}`,
icon: createVNode(DollarOutlined),
okText: '确认结算',
okType: 'primary',
cancelText: '取消',
onOk: () => {
const hide = message.loading('正在结算...', 0);
// 这里调用结算API
setTimeout(() => {
hide();
message.success('结算成功');
reload();
}, 1000);
}
});
};
/* 标记订单失效 */
const invalidateOrder = (row: ShopDealerOrder) => {
const hide = message.loading('正在处理...', 0);
@@ -505,4 +483,4 @@ export default {
:deep(.ant-tag) {
margin: 2px 4px 2px 0;
}
</style>
</style>