From bab631b7e18d58db8abf80dc5c8382ab9e5befda Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E8=B5=B5=E5=BF=A0=E6=9E=97?= <170083662@qq.com>
Date: Mon, 13 Oct 2025 01:34:31 +0800
Subject: [PATCH] =?UTF-8?q?feat(shop):=20=E6=B7=BB=E5=8A=A0=E8=AE=A2?=
=?UTF-8?q?=E5=8D=95=E6=9C=88=E4=BB=BD=E5=AD=97=E6=AE=B5=E5=B9=B6=E4=BC=98?=
=?UTF-8?q?=E5=8C=96=E6=90=9C=E7=B4=A2=E5=8A=9F=E8=83=BD?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
- 在订单模型中新增 month 字段用于记录订单月份- 搜索组件中引入批量删除功能并优化按钮交互逻辑
- 替换搜索输入框为带搜索功能的 InputSearch 组件
- 更新结算金额和实发金额计算方式,使用 settledPrice 和 payPrice 字段
- 表格列中增加月份显示列并调整部分列宽度- 修改收益比率相关标签文案,如“税率”、“占比”等
- 调整编辑页数据绑定逻辑以支持新增字段展示
- 开发环境 API 地址默认启用本地地址配置
---
.env.development | 2 +-
src/api/shop/shopDealerOrder/model/index.ts | 2 +
.../sdy/shopDealerOrder/components/search.vue | 63 ++++++++++++++-----
.../components/shopDealerOrderEdit.vue | 16 +++--
src/views/sdy/shopDealerOrder/index.vue | 16 ++++-
5 files changed, 73 insertions(+), 26 deletions(-)
diff --git a/.env.development b/.env.development
index b8ccd8b..fbcc74b 100644
--- a/.env.development
+++ b/.env.development
@@ -1,5 +1,5 @@
VITE_APP_NAME=后台管理(开发环境)
-#VITE_API_URL=http://127.0.0.1:9200/api
+VITE_API_URL=http://127.0.0.1:9200/api
#VITE_SERVER_API_URL=http://127.0.0.1:8000/api
diff --git a/src/api/shop/shopDealerOrder/model/index.ts b/src/api/shop/shopDealerOrder/model/index.ts
index 167bb84..7fc2a53 100644
--- a/src/api/shop/shopDealerOrder/model/index.ts
+++ b/src/api/shop/shopDealerOrder/model/index.ts
@@ -36,6 +36,8 @@ export interface ShopDealerOrder {
rate?: number;
// 商品单价
price?: string;
+ // 订单月份
+ month?: string;
// 订单是否失效(0未失效 1已失效)
isInvalid?: number;
// 佣金结算(0未结算 1已结算)
diff --git a/src/views/sdy/shopDealerOrder/components/search.vue b/src/views/sdy/shopDealerOrder/components/search.vue
index e5963f2..803dd52 100644
--- a/src/views/sdy/shopDealerOrder/components/search.vue
+++ b/src/views/sdy/shopDealerOrder/components/search.vue
@@ -2,15 +2,31 @@
+
+
+
+
+
+
+ 批量删除
+
+
+
-
-
-
-
- 搜索
-
+
+
+
+
+
+
+
重置
@@ -64,7 +87,7 @@
type="primary"
danger
@click="batchSettle"
- class="ele-btn-icon"
+ :disabled="selection?.length === 0"
>
@@ -83,10 +106,12 @@ import {reactive, ref} from 'vue';
import {
SearchOutlined,
DollarOutlined,
- UploadOutlined
+ UploadOutlined,
+ DeleteOutlined
} from '@ant-design/icons-vue';
import type {ShopDealerOrderParam} from '@/api/shop/shopDealerOrder/model';
import Import from './Import.vue';
+import useSearch from "@/utils/use-search";
const props = withDefaults(
defineProps<{
@@ -109,7 +134,7 @@ const emit = defineEmits<{
const showImport = ref(false);
// 搜索表单
-const searchForm = reactive({
+const {where, resetFields} = useSearch({
orderId: undefined,
orderNo: '',
productName: '',
@@ -119,7 +144,7 @@ const searchForm = reactive({
// 搜索
const handleSearch = () => {
- const searchParams = {...searchForm};
+ const searchParams = {...where};
// 清除空值
Object.keys(searchParams).forEach(key => {
if (searchParams[key] === '' || searchParams[key] === undefined) {
@@ -131,12 +156,18 @@ const handleSearch = () => {
// 重置搜索
const resetSearch = () => {
- Object.keys(searchForm).forEach(key => {
- searchForm[key] = key === 'orderId' ? undefined : '';
- });
+ // Object.keys(searchForm).forEach(key => {
+ // searchForm[key] = key === 'orderId' ? undefined : '';
+ // });
+ resetFields();
emit('search', {});
};
+// 批量删除
+const removeBatch = () => {
+ emit('remove');
+};
+
// 批量结算
const batchSettle = () => {
emit('batchSettle');
diff --git a/src/views/sdy/shopDealerOrder/components/shopDealerOrderEdit.vue b/src/views/sdy/shopDealerOrder/components/shopDealerOrderEdit.vue
index 8c4b42b..5648a1f 100644
--- a/src/views/sdy/shopDealerOrder/components/shopDealerOrderEdit.vue
+++ b/src/views/sdy/shopDealerOrder/components/shopDealerOrderEdit.vue
@@ -43,20 +43,20 @@
-
+
{{ form.rate }}
- {{ (form.orderPrice * form.rate * 1000).toFixed(2) }}
+ {{ parseFloat(form.settledPrice || 0).toFixed(2) }}
- {{ (form.orderPrice * form.rate * 1000).toFixed(2) }}
+ {{ parseFloat(form.payPrice || 0).toFixed(2) }}
@@ -83,7 +83,7 @@
-
+
{{ '70%' }}
@@ -116,7 +116,7 @@
-
+
{{ '30%' }}
@@ -179,6 +179,10 @@
nickname: undefined,
orderId: undefined,
orderPrice: undefined,
+ settledPrice: undefined,
+ price: undefined,
+ month: undefined,
+ payPrice: undefined,
firstUserId: undefined,
secondUserId: undefined,
thirdUserId: undefined,
@@ -261,7 +265,7 @@
if (props.data) {
assignObject(form, props.data);
if(props.data.orderPrice && props.data.rate){
- form.firstMoney = (Number(props.data.orderPrice) * props.data.rate * 1000 * 0.5).toFixed(2)
+ form.firstMoney = (Number(props.data.payPrice) * 0.7).toFixed(2)
}
isUpdate.value = true;
} else {
diff --git a/src/views/sdy/shopDealerOrder/index.vue b/src/views/sdy/shopDealerOrder/index.vue
index dbba50b..1b3ba3c 100644
--- a/src/views/sdy/shopDealerOrder/index.vue
+++ b/src/views/sdy/shopDealerOrder/index.vue
@@ -7,6 +7,7 @@
:columns="columns"
:datasource="datasource"
:customRow="customRow"
+ v-model:selection="selection"
tool-class="ele-toolbar-form"
class="sys-org-table"
>
@@ -16,6 +17,7 @@
:selection="selection"
@batchSettle="batchSettle"
@export="handleExport"
+ @remove="removeBatch"
@importDone="reload"
/>
@@ -40,11 +42,11 @@
- {{ (record.orderPrice * record.rate * 1000).toFixed(2) }}
+ {{ record.settledPrice.toFixed(2) }}
- {{ (record.orderPrice * record.rate).toFixed(2) }}
+ {{ record.payPrice.toFixed(2) }}
@@ -189,7 +191,8 @@ const columns = ref([
{
title: '客户名称',
dataIndex: 'comments',
- key: 'comments'
+ key: 'comments',
+ width: 120
},
{
title: '结算电量',
@@ -234,6 +237,13 @@ const columns = ref([
align: 'center',
width: 100
},
+ {
+ title: '月份',
+ dataIndex: 'month',
+ key: 'month',
+ align: 'center',
+ width: 100
+ },
{
title: '结算状态',
dataIndex: 'isSettled',