6 Commits

Author SHA1 Message Date
312e2934a9 feat(shop): 添加订单状态字段和展示功能
- 在资金模型中新增订单状态字段(orderStatus)及注释说明
- 实现订单状态标签展示组件,支持8种不同状态的可视化显示
- 添加订单状态表格列,设置固定宽度便于查看
- 更新开发环境配置中的API地址设置
2026-03-16 13:30:01 +08:00
05b9be7c2e feat(glt): 添加水票模板步长字段并优化订单编辑界面
- 在 GltTicketTemplate 模型中新增 step 字段定义
- 为水票模板编辑界面添加步长输入组件
- 初始化表单中 step 字段默认值为 1
- 注释掉水票订单编辑界面中的冗余表单项
- 恢复订单编辑界面中修改按钮的显示
- 为经销商订单列表添加订单状态标签显示
- 在订单列表中增加订单状态列配置
- 注释掉开发环境配置中的服务器API URL
2026-03-16 12:00:09 +08:00
4b118675fd feat(shopOrder): 更新订单列表显示字段
- 添加发货时间和退款时间显示
- 注释掉结算状态标签显示
- 将下单时间标题改为创建时间
2026-03-11 18:32:45 +08:00
a2e0dd8993 chore(config): 添加环境配置文件并启用本地服务器API
- 新增 .env.dev 开发环境配置文件
- 新增 .env.prod 生产环境配置文件
- 在 .env.development 中启用 VITE_SERVER_API_URL 配置
- 添加租户ID、API URL和授权码等必要配置项
- 配置开发和生产环境的服务端API地址
- 统一环境变量命名规范
2026-03-09 13:37:18 +08:00
069a8b35d4 chore(config): 添加环境配置文件并启用本地服务器API
- 新增 .env.dev 开发环境配置文件
- 新增 .env.prod 生产环境配置文件
- 在 .env.development 中启用 VITE_SERVER_API_URL 配置
- 添加租户ID、API URL和授权码等必要配置项
- 配置开发和生产环境的服务端API地址
- 统一环境变量命名规范
2026-03-09 13:36:36 +08:00
028620f12d feat(shop): 优化店铺订单列表展示
- 在订单列表中为创建时间和支付时间添加双行显示
- 为订单编号列设置固定宽度200px提升可读性
- 移除独立的支付时间列并整合到时间信息中
- 添加订单状态条件限制发货操作的显示逻辑
- 为创建时间字段设置固定宽度180px便于排序查看
2026-03-09 12:47:15 +08:00
11 changed files with 207 additions and 95 deletions

View File

@@ -1,5 +1,5 @@
VITE_APP_NAME=后台管理(开发环境) 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 #VITE_SERVER_API_URL=http://127.0.0.1:8000/api

11
.env.glt Normal file
View File

@@ -0,0 +1,11 @@
# 租户配置(必填)
VITE_TENANT_ID=10584
# API 配置(必填)
VITE_API_URL=https://glt-api.websoft.top/api
# WebSoftAdmin 授权码 (必填-请联系官方获取)
VITE_LICENSE_CODE=dk9mcwJyetRWQlxWRiojIzJCLi8mcQ5Wa4ojI0NWZqJWd6ICZpJCL0kjNvdjbE5WQ2AjIvl2cyVmdiwiIiETMuEjI6IibQf0NW==
# 服务端 API 配置(可选)
VITE_SERVER_API_URL=https://glt-server.websoft.top/api

11
.env.ws Normal file
View File

@@ -0,0 +1,11 @@
# 租户配置(必填)
VITE_TENANT_ID=10584
# API 配置(必填)
VITE_API_URL=https://mp-api.websoft.top/api
# WebSoftAdmin 授权码 (必填-请联系官方获取)
VITE_LICENSE_CODE=dk9mcwJyetRWQlxWRiojIzJCLi8mcQ5Wa4ojI0NWZqJWd6ICZpJCL0kjNvdjbE5WQ2AjIvl2cyVmdiwiIiETMuEjI6IibQf0NW==
# 服务端 API 配置(可选)
VITE_SERVER_API_URL=https://server.websoft.top/api

View File

@@ -28,6 +28,8 @@ export interface GltTicketTemplate {
releasePeriods?: number; releasePeriods?: number;
// 首期释放时机0=支付成功当刻1=下个月同日 // 首期释放时机0=支付成功当刻1=下个月同日
firstReleaseMode?: number; firstReleaseMode?: number;
// 步长
step?: number;
// 用户ID // 用户ID
userId?: number; userId?: number;
// 排序(数字越小越靠前) // 排序(数字越小越靠前)

View File

@@ -14,6 +14,8 @@ export interface ShopDealerCapital {
orderId?: number; orderId?: number;
// 订单编号 // 订单编号
orderNo?: string; orderNo?: string;
// 订单状态 (1已完成 4退款申请中 6已退款)
orderStatus?: number;
// 资金流动类型 (10佣金收入 20提现支出 30转账支出 40转账收入) // 资金流动类型 (10佣金收入 20提现支出 30转账支出 40转账收入)
flowType?: number; flowType?: number;
// 金额 // 金额

View File

@@ -19,40 +19,44 @@
styleResponsive ? { md: 19, sm: 19, xs: 24 } : { flex: '1' } styleResponsive ? { md: 19, sm: 19, xs: 24 } : { flex: '1' }
" "
> >
<a-form-item label="用户水票ID" name="userTicketId"> <!-- <a-form-item label="用户水票ID" name="userTicketId">-->
<a-input <!-- <a-input-->
allow-clear <!-- allow-clear-->
placeholder="请输入用户水票ID" <!-- placeholder="请输入用户水票ID"-->
v-model:value="form.userTicketId" <!-- v-model:value="form.userTicketId"-->
/> <!-- />-->
</a-form-item> <!-- </a-form-item>-->
<a-form-item label="门店ID" name="storeId"> <!-- <a-form-item label="门店ID" name="storeId">-->
<a-input <!-- <a-input-->
allow-clear <!-- allow-clear-->
placeholder="请输入门店ID" <!-- placeholder="请输入门店ID"-->
v-model:value="form.storeId" <!-- v-model:value="form.storeId"-->
/> <!-- />-->
</a-form-item> <!-- </a-form-item>-->
<a-form-item label="配送员" name="riderId"> <!-- <a-form-item label="配送员" name="riderId">-->
<a-input <!-- <a-input-->
allow-clear <!-- allow-clear-->
placeholder="请输入配送员" <!-- placeholder="请输入配送员"-->
v-model:value="form.riderId" <!-- v-model:value="form.riderId"-->
/> <!-- />-->
</a-form-item> <!-- </a-form-item>-->
<a-form-item label="仓库ID" name="warehouseId"> <!-- <a-form-item label="仓库ID" name="warehouseId">-->
<a-input <!-- <a-input-->
allow-clear <!-- allow-clear-->
placeholder="请输入仓库ID" <!-- placeholder="请输入仓库ID"-->
v-model:value="form.warehouseId" <!-- v-model:value="form.warehouseId"-->
/> <!-- />-->
</a-form-item> <!-- </a-form-item>-->
<a-form-item label="关联收货地址" name="addressId"> <!-- <a-form-item label="关联收货地址" name="addressId">-->
<a-input <!-- <a-input-->
allow-clear <!-- allow-clear-->
placeholder="请输入关联收货地址" <!-- placeholder="请输入关联收货地址"-->
v-model:value="form.addressId" <!-- v-model:value="form.addressId"-->
/> <!-- />-->
<!-- </a-form-item>-->
<a-form-item label="订单编号" name="orderNo">
{{ form.orderNo }}
</a-form-item> </a-form-item>
<a-form-item label="收货地址" name="address"> <a-form-item label="收货地址" name="address">
<a-input <a-input
@@ -62,54 +66,48 @@
/> />
</a-form-item> </a-form-item>
<a-form-item label="买家留言" name="buyerRemarks"> <a-form-item label="买家留言" name="buyerRemarks">
<a-input <a-textarea
allow-clear :rows="4"
:maxlength="200"
placeholder="请输入买家留言" placeholder="请输入买家留言"
v-model:value="form.buyerRemarks" v-model:value="form.buyerRemarks"
/> />
</a-form-item> </a-form-item>
<a-form-item label="用于统计" name="price"> <!-- <a-form-item label="用于统计" name="price">-->
<a-input <!-- <a-input-->
allow-clear <!-- allow-clear-->
placeholder="请输入用于统计" <!-- placeholder="请输入用于统计"-->
v-model:value="form.price" <!-- v-model:value="form.price"-->
/> <!-- />-->
</a-form-item> <!-- </a-form-item>-->
<a-form-item label="购买数量" name="totalNum"> <!-- <a-form-item label="购买数量" name="totalNum">-->
<a-input <!-- <a-input-->
allow-clear <!-- allow-clear-->
placeholder="请输入购买数量" <!-- placeholder="请输入购买数量"-->
v-model:value="form.totalNum" <!-- v-model:value="form.totalNum"-->
/> <!-- />-->
</a-form-item> <!-- </a-form-item>-->
<a-form-item label="用户ID" name="userId"> <!-- <a-form-item label="用户ID" name="userId">-->
<a-input <!-- <a-input-->
allow-clear <!-- allow-clear-->
placeholder="请输入用户ID" <!-- placeholder="请输入用户ID"-->
v-model:value="form.userId" <!-- v-model:value="form.userId"-->
/> <!-- />-->
</a-form-item> <!-- </a-form-item>-->
<a-form-item label="订单编号" name="orderNo"> <!-- <a-form-item label="备注" name="comments">-->
<a-input <!-- <a-textarea-->
allow-clear <!-- :rows="4"-->
placeholder="请输入订单编号" <!-- :maxlength="200"-->
v-model:value="form.orderNo" <!-- placeholder="请输入描述"-->
/> <!-- v-model:value="form.comments"-->
</a-form-item> <!-- />-->
<a-form-item label="备注" name="comments"> <!-- </a-form-item>-->
<a-textarea <!-- <a-form-item label="状态" name="status">-->
:rows="4" <!-- <a-radio-group v-model:value="form.status">-->
:maxlength="200" <!-- <a-radio :value="0">显示</a-radio>-->
placeholder="请输入描述" <!-- <a-radio :value="1">隐藏</a-radio>-->
v-model:value="form.comments" <!-- </a-radio-group>-->
/> <!-- </a-form-item>-->
</a-form-item>
<a-form-item label="状态" name="status">
<a-radio-group v-model:value="form.status">
<a-radio :value="0">显示</a-radio>
<a-radio :value="1">隐藏</a-radio>
</a-radio-group>
</a-form-item>
</a-form> </a-form>
</ele-modal> </ele-modal>
</template> </template>

View File

@@ -117,8 +117,8 @@
</template> </template>
<template v-if="column.key === 'action'"> <template v-if="column.key === 'action'">
<a-space> <a-space>
<!-- <a @click="openEdit(record)">修改</a>--> <a @click="openEdit(record)">修改</a>
<!-- <a-divider type="vertical" />--> <a-divider type="vertical" />
<a-popconfirm <a-popconfirm
v-if="record.orderStatus == 6" v-if="record.orderStatus == 6"
title="确定要删除此记录吗?" title="确定要删除此记录吗?"

View File

@@ -187,6 +187,18 @@
</a-form-item> </a-form-item>
</a-col> </a-col>
<a-col :span="12">
<a-form-item label="步长" name="step">
<a-input-number
:min="1"
:max="99"
class="ele-fluid"
placeholder="步长"
v-model:value="form.step"
/>
</a-form-item>
</a-col>
<a-col :span="12"> <a-col :span="12">
<a-form-item label="排序" name="sortNumber"> <a-form-item label="排序" name="sortNumber">
<a-input-number <a-input-number
@@ -268,6 +280,7 @@
monthlyReleaseQty: 10, monthlyReleaseQty: 10,
releasePeriods: 0, releasePeriods: 0,
firstReleaseMode: 0, firstReleaseMode: 0,
step: 1,
userId: undefined, userId: undefined,
sortNumber: 100, sortNumber: 100,
comments: '', comments: '',

View File

@@ -26,9 +26,30 @@
<template v-if="column.key === 'userId'"> <template v-if="column.key === 'userId'">
<div>{{ record.nickName }}({{ record.userId }})</div> <div>{{ record.nickName }}({{ record.userId }})</div>
</template> </template>
<template v-if="column.key === 'status'"> <template v-if="column.key === 'orderStatus'">
<a-tag v-if="record.status === 0" color="green">显示</a-tag> <a-space :size="6" wrap>
<a-tag v-if="record.status === 1" color="red">隐藏</a-tag> <!-- 订单状态 -->
<a-tag v-if="record.orderStatus === 0">未完成</a-tag>
<a-tag v-if="record.orderStatus === 1" color="green"
>已完成</a-tag
>
<a-tag v-if="record.orderStatus === 2">已关闭</a-tag>
<a-tag v-if="record.orderStatus === 3" color="red"
>关闭中</a-tag
>
<a-tag v-if="record.orderStatus === 4" color="red"
>退款申请中</a-tag
>
<a-tag v-if="record.orderStatus === 5" color="red"
>退款被拒绝</a-tag
>
<a-tag v-if="record.orderStatus === 6" color="orange"
>已退款</a-tag
>
<a-tag v-if="record.orderStatus === 7" color="pink"
>客户端申请退款</a-tag
>
</a-space>
</template> </template>
<template v-if="column.key === 'action'"> <template v-if="column.key === 'action'">
<a-space> <a-space>
@@ -198,6 +219,13 @@
key: 'createTime', key: 'createTime',
align: 'center', align: 'center',
sorter: true sorter: true
},
{
title: '订单状态',
dataIndex: 'orderStatus',
key: 'orderStatus',
align: 'center',
width: 90
} }
// { // {
// title: '操作', // title: '操作',

View File

@@ -103,6 +103,32 @@
</div> </div>
</template> </template>
<template v-if="column.key === 'orderStatus'">
<a-space :size="6" wrap>
<!-- 订单状态 -->
<a-tag v-if="record.orderStatus === 0">未完成</a-tag>
<a-tag v-if="record.orderStatus === 1" color="green"
>已完成</a-tag
>
<a-tag v-if="record.orderStatus === 2">已关闭</a-tag>
<a-tag v-if="record.orderStatus === 3" color="red"
>关闭中</a-tag
>
<a-tag v-if="record.orderStatus === 4" color="red"
>退款申请中</a-tag
>
<a-tag v-if="record.orderStatus === 5" color="red"
>退款被拒绝</a-tag
>
<a-tag v-if="record.orderStatus === 6" color="orange"
>已退款</a-tag
>
<a-tag v-if="record.orderStatus === 7" color="pink"
>客户端申请退款</a-tag
>
</a-space>
</template>
<template v-if="column.key === 'createTime'"> <template v-if="column.key === 'createTime'">
<div class="flex flex-col"> <div class="flex flex-col">
<a-tooltip title="创建时间"> <a-tooltip title="创建时间">
@@ -282,7 +308,13 @@
key: 'createTime', key: 'createTime',
align: 'center', align: 'center',
width: 180 width: 180
} },
{
title: '订单状态',
dataIndex: 'orderStatus',
key: 'orderStatus',
align: 'center'
},
// { // {
// title: '操作', // title: '操作',
// key: 'action', // key: 'action',

View File

@@ -120,6 +120,11 @@
<a-tag v-if="record.orderStatus === 7" color="pink" <a-tag v-if="record.orderStatus === 7" color="pink"
>客户端申请退款</a-tag >客户端申请退款</a-tag
> >
<!-- 结算状态 -->
<!-- <a-tag v-if="record.isSettled === 0">未结算</a-tag>-->
<!-- <a-tag v-if="record.isSettled === 1" color="green"-->
<!-- >已结算</a-tag-->
<!-- >-->
</a-space> </a-space>
</div> </div>
</template> </template>
@@ -156,6 +161,22 @@
<a-tag v-if="record.status === 0" color="green">显示</a-tag> <a-tag v-if="record.status === 0" color="green">显示</a-tag>
<a-tag v-if="record.status === 1" color="red">隐藏</a-tag> <a-tag v-if="record.status === 1" color="red">隐藏</a-tag>
</template> </template>
<template v-if="column.key === 'createTime'">
<div class="flex flex-col">
<a-tooltip title="创建时间">
<span class="text-gray-400">{{ record.createTime }}</span>
</a-tooltip>
<a-tooltip title="支付时间">
<span class="text-blue-400">{{ record.payTime }}</span>
</a-tooltip>
<a-tooltip title="发货时间">
<span class="text-green-400">{{ record.deliveryTime }}</span>
</a-tooltip>
<a-tooltip title="退款时间">
<span class="text-orange-400">{{ record.refundTime }}</span>
</a-tooltip>
</div>
</template>
<template v-if="column.key === 'action'"> <template v-if="column.key === 'action'">
<a-space> <a-space>
<!-- 查看详情 - 所有状态都可以查看 --> <!-- 查看详情 - 所有状态都可以查看 -->
@@ -176,6 +197,7 @@
v-if=" v-if="
record.payStatus && record.payStatus &&
record.deliveryStatus === 10 && record.deliveryStatus === 10 &&
record.orderStatus === 0 &&
!isCancelledStatus(record.orderStatus) && !isCancelledStatus(record.orderStatus) &&
!isRefundStatus(record.orderStatus) !isRefundStatus(record.orderStatus)
" "
@@ -349,6 +371,7 @@
title: '订单编号', title: '订单编号',
dataIndex: 'orderNo', dataIndex: 'orderNo',
key: 'orderNo', key: 'orderNo',
width: 200,
align: 'center' align: 'center'
}, },
{ {
@@ -388,19 +411,11 @@
// key: 'comments', // key: 'comments',
// align: 'center', // align: 'center',
// }, // },
// {
// title: '支付时间',
// dataIndex: 'payTime',
// key: 'payTime',
// align: 'center',
// width: 180,
// sorter: true,
// ellipsis: true
// },
{ {
title: '下单时间', title: '创建时间',
dataIndex: 'createTime', dataIndex: 'createTime',
key: 'createTime', key: 'createTime',
width: 180,
align: 'center', align: 'center',
sorter: true, sorter: true,
customRender: ({ text }) => toDateString(text) customRender: ({ text }) => toDateString(text)