feat(glt): 添加送水订单模块功能

- 新增送水订单数据模型定义
- 实现送水订单分页查询、列表查询、新增、修改、删除等基础CRUD接口
- 新增批量删除送水订单功能
- 新增根据ID查询单个送水订单详情接口
- 在用户认证模块中增加操作员字段显示
- 优化用户认证页面表格展示操作员信息
- 更新开发环境配置文件中的API地址设置
This commit is contained in:
2026-02-05 19:12:46 +08:00
parent 355eada582
commit 040f48759d
6 changed files with 184 additions and 4 deletions

View File

@@ -1,6 +1,6 @@
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
#VITE_API_URL=https://cms-api.s209.websoft.top/api #VITE_API_URL=https://cms-api.s209.websoft.top/api

View File

@@ -0,0 +1,105 @@
import request from '@/utils/request';
import type { ApiResult, PageResult } from '@/api';
import type { GltTicketOrder, GltTicketOrderParam } from './model';
/**
* 分页查询送水订单
*/
export async function pageGltTicketOrder(params: GltTicketOrderParam) {
const res = await request.get<ApiResult<PageResult<GltTicketOrder>>>(
'/glt/glt-ticket-order/page',
{
params
}
);
if (res.data.code === 0) {
return res.data.data;
}
return Promise.reject(new Error(res.data.message));
}
/**
* 查询送水订单列表
*/
export async function listGltTicketOrder(params?: GltTicketOrderParam) {
const res = await request.get<ApiResult<GltTicketOrder[]>>(
'/glt/glt-ticket-order',
{
params
}
);
if (res.data.code === 0 && res.data.data) {
return res.data.data;
}
return Promise.reject(new Error(res.data.message));
}
/**
* 添加送水订单
*/
export async function addGltTicketOrder(data: GltTicketOrder) {
const res = await request.post<ApiResult<unknown>>(
'/glt/glt-ticket-order',
data
);
if (res.data.code === 0) {
return res.data.message;
}
return Promise.reject(new Error(res.data.message));
}
/**
* 修改送水订单
*/
export async function updateGltTicketOrder(data: GltTicketOrder) {
const res = await request.put<ApiResult<unknown>>(
'/glt/glt-ticket-order',
data
);
if (res.data.code === 0) {
return res.data.message;
}
return Promise.reject(new Error(res.data.message));
}
/**
* 删除送水订单
*/
export async function removeGltTicketOrder(id?: number) {
const res = await request.delete<ApiResult<unknown>>(
'/glt/glt-ticket-order/' + id
);
if (res.data.code === 0) {
return res.data.message;
}
return Promise.reject(new Error(res.data.message));
}
/**
* 批量删除送水订单
*/
export async function removeBatchGltTicketOrder(data: (number | undefined)[]) {
const res = await request.delete<ApiResult<unknown>>(
'/glt/glt-ticket-order/batch',
{
data
}
);
if (res.data.code === 0) {
return res.data.message;
}
return Promise.reject(new Error(res.data.message));
}
/**
* 根据id查询送水订单
*/
export async function getGltTicketOrder(id: number) {
const res = await request.get<ApiResult<GltTicketOrder>>(
'/glt/glt-ticket-order/' + id
);
if (res.data.code === 0 && res.data.data) {
return res.data.data;
}
return Promise.reject(new Error(res.data.message));
}

View File

@@ -0,0 +1,51 @@
import type { PageParam } from '@/api';
/**
* 送水订单
*/
export interface GltTicketOrder {
//
id?: number;
// 用户水票ID
userTicketId?: number;
// 门店ID
storeId?: number;
// 配送员
riderId?: number;
// 仓库ID
warehouseId?: number;
// 关联收货地址
addressId?: number;
// 收货地址
address?: string;
// 买家留言
buyerRemarks?: string;
// 用于统计
price?: string;
// 购买数量
totalNum?: number;
// 用户ID
userId?: number;
// 排序(数字越小越靠前)
sortNumber?: number;
// 备注
comments?: string;
// 状态, 0正常, 1冻结
status?: number;
// 是否删除, 0否, 1是
deleted?: number;
// 租户id
tenantId?: number;
// 创建时间
createTime?: string;
// 修改时间
updateTime?: string;
}
/**
* 送水订单搜索条件
*/
export interface GltTicketOrderParam extends PageParam {
id?: number;
keywords?: string;
}

View File

@@ -30,6 +30,10 @@ export interface UserVerify {
sfz2?: string; sfz2?: string;
// 机构名称 // 机构名称
organizationName?: string; organizationName?: string;
// 操作员
adminId?: number;
// 操作员名称
adminName?: string;
// 备注 // 备注
comments?: string; comments?: string;
// 状态, 0在线, 1离线 // 状态, 0在线, 1离线

View File

@@ -136,6 +136,8 @@
const form = reactive<UserVerify>({ const form = reactive<UserVerify>({
id: undefined, id: undefined,
userId: undefined, userId: undefined,
adminId: undefined,
adminName: undefined,
type: undefined, type: undefined,
name: undefined, name: undefined,
realName: undefined, realName: undefined,

View File

@@ -31,6 +31,19 @@
>原因{{ record.comments }}</div >原因{{ record.comments }}</div
> >
</template> </template>
<template v-if="column.key === 'adminName'">
<span class="text-gray-400">{{ record.adminName || '-' }}</span>
</template>
<template v-if="column.key ==='createTime'">
<div class="flex flex-col">
<a-tooltip title="创建时间">
<span class="text-gray-500">{{ record.createTime }}</span>
</a-tooltip>
<a-tooltip :title="`审核通过时间`">
<span class="text-purple-500">{{ record.updateTime }}</span>
</a-tooltip>
</div>
</template>
<template v-if="column.key === 'action'"> <template v-if="column.key === 'action'">
<div> <div>
<a @click="openEdit(record)">修改</a> <a @click="openEdit(record)">修改</a>
@@ -73,7 +86,6 @@
UserVerifyParam UserVerifyParam
} from '@/api/system/userVerify/model'; } from '@/api/system/userVerify/model';
import { getPageTitle } from '@/utils/common'; import { getPageTitle } from '@/utils/common';
import Extra from '@/views/system/user/components/Extra.vue';
// 表格实例 // 表格实例
const tableRef = ref<InstanceType<typeof EleProTable> | null>(null); const tableRef = ref<InstanceType<typeof EleProTable> | null>(null);
@@ -167,6 +179,12 @@
key: 'status', key: 'status',
align: 'center' align: 'center'
}, },
{
title: '操作员',
dataIndex: 'adminName',
key: 'adminName',
align: 'center'
},
// { // {
// title: '驳回', // title: '驳回',
// dataIndex: 'comments', // dataIndex: 'comments',
@@ -174,7 +192,7 @@
// align: 'center', // align: 'center',
// }, // },
{ {
title: '添加时间', title: '创建时间',
dataIndex: 'createTime', dataIndex: 'createTime',
key: 'createTime', key: 'createTime',
align: 'center', align: 'center',