From 4bae8599e1fe8fb9b0c402341abcb26b7b8ee84d Mon Sep 17 00:00:00 2001 From: gxwebsoft Date: Mon, 27 May 2024 01:24:02 +0800 Subject: [PATCH] =?UTF-8?q?=E5=AE=8C=E6=88=90=E5=95=86=E5=9F=8E=E4=B8=8B?= =?UTF-8?q?=E5=8D=95=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/api/booking/period/model/index.ts | 1 + src/api/shop/goods/model/index.ts | 4 +- src/api/shop/orderInfo/model/index.ts | 1 + src/api/shop/userAddress/index.ts | 106 +++++ src/api/shop/userAddress/model/index.ts | 43 ++ .../SelectMerchantMultipleDown/index.vue | 69 +++ src/components/SelectUser/index.vue | 2 +- src/layout/components/header-tools.vue | 26 +- src/utils/common.ts | 26 +- src/utils/merchant.ts | 12 +- src/views/booking/account/components/edit.vue | 41 +- src/views/booking/data/components/search.vue | 11 +- src/views/booking/data/index.vue | 2 + src/views/booking/goods/add/index.vue | 6 +- src/views/booking/goods/index.vue | 11 +- .../booking/order/components/orderInfo.vue | 9 +- src/views/booking/order/index.vue | 3 + .../booking/school/components/search.vue | 7 +- src/views/booking/wechatDeposit/index.vue | 33 +- src/views/shop/goods/add/index.vue | 30 +- src/views/shop/goods/index.vue | 11 +- src/views/shop/order/components/orderEdit.vue | 2 +- src/views/shop/order/components/orderInfo.vue | 395 ++++++++++++++++++ src/views/shop/order/components/search.vue | 4 +- src/views/shop/order/index.vue | 67 ++- .../components/chatMessageEdit.vue | 10 +- 26 files changed, 803 insertions(+), 129 deletions(-) create mode 100644 src/api/shop/userAddress/index.ts create mode 100644 src/api/shop/userAddress/model/index.ts create mode 100644 src/components/SelectMerchantMultipleDown/index.vue create mode 100644 src/views/shop/order/components/orderInfo.vue diff --git a/src/api/booking/period/model/index.ts b/src/api/booking/period/model/index.ts index 88525ab..a1fbef8 100644 --- a/src/api/booking/period/model/index.ts +++ b/src/api/booking/period/model/index.ts @@ -53,6 +53,7 @@ export interface PeriodParam extends PageParam { dateTime?: string; isStatus?: number; timePeriod?: string; + merchantId?: number; week?: number; startTime?: string; half?: number; diff --git a/src/api/shop/goods/model/index.ts b/src/api/shop/goods/model/index.ts index 32c1c40..4ebe8db 100644 --- a/src/api/shop/goods/model/index.ts +++ b/src/api/shop/goods/model/index.ts @@ -12,8 +12,8 @@ export interface Goods { type?: number; // 商品编码 code?: string; - // 商品标题 - title?: string; + // 商品名称 + goodsName?: string; // 商品封面图 image?: string; // 商品详情 diff --git a/src/api/shop/orderInfo/model/index.ts b/src/api/shop/orderInfo/model/index.ts index 491de54..d92346d 100644 --- a/src/api/shop/orderInfo/model/index.ts +++ b/src/api/shop/orderInfo/model/index.ts @@ -63,5 +63,6 @@ export interface OrderInfo { */ export interface OrderInfoParam extends PageParam { id?: number; + orderId?: number; keywords?: string; } diff --git a/src/api/shop/userAddress/index.ts b/src/api/shop/userAddress/index.ts new file mode 100644 index 0000000..f6ca3e6 --- /dev/null +++ b/src/api/shop/userAddress/index.ts @@ -0,0 +1,106 @@ +import request from '@/utils/request'; +import type { ApiResult, PageResult } from '@/api'; +import type { UserAddress, UserAddressParam } from './model'; +import { MODULES_API_URL } from '@/config/setting'; + +/** + * 分页查询收货地址 + */ +export async function pageUserAddress(params: UserAddressParam) { + const res = await request.get>>( + MODULES_API_URL + '/shop/user-address/page', + { + params + } + ); + if (res.data.code === 0) { + return res.data.data; + } + return Promise.reject(new Error(res.data.message)); +} + +/** + * 查询收货地址列表 + */ +export async function listUserAddress(params?: UserAddressParam) { + const res = await request.get>( + MODULES_API_URL + '/shop/user-address', + { + params + } + ); + if (res.data.code === 0 && res.data.data) { + return res.data.data; + } + return Promise.reject(new Error(res.data.message)); +} + +/** + * 添加收货地址 + */ +export async function addUserAddress(data: UserAddress) { + const res = await request.post>( + MODULES_API_URL + '/shop/user-address', + data + ); + if (res.data.code === 0) { + return res.data.message; + } + return Promise.reject(new Error(res.data.message)); +} + +/** + * 修改收货地址 + */ +export async function updateUserAddress(data: UserAddress) { + const res = await request.put>( + MODULES_API_URL + '/shop/user-address', + data + ); + if (res.data.code === 0) { + return res.data.message; + } + return Promise.reject(new Error(res.data.message)); +} + +/** + * 删除收货地址 + */ +export async function removeUserAddress(id?: number) { + const res = await request.delete>( + MODULES_API_URL + '/shop/user-address/' + id + ); + if (res.data.code === 0) { + return res.data.message; + } + return Promise.reject(new Error(res.data.message)); +} + +/** + * 批量删除收货地址 + */ +export async function removeBatchUserAddress(data: (number | undefined)[]) { + const res = await request.delete>( + MODULES_API_URL + '/shop/user-address/batch', + { + data + } + ); + if (res.data.code === 0) { + return res.data.message; + } + return Promise.reject(new Error(res.data.message)); +} + +/** + * 根据id查询收货地址 + */ +export async function getUserAddress(id: number) { + const res = await request.get>( + MODULES_API_URL + '/shop/user-address/' + id + ); + if (res.data.code === 0 && res.data.data) { + return res.data.data; + } + return Promise.reject(new Error(res.data.message)); +} diff --git a/src/api/shop/userAddress/model/index.ts b/src/api/shop/userAddress/model/index.ts new file mode 100644 index 0000000..6fe9239 --- /dev/null +++ b/src/api/shop/userAddress/model/index.ts @@ -0,0 +1,43 @@ +import type { PageParam } from '@/api'; + +/** + * 收货地址 + */ +export interface UserAddress { + // 主键ID + id?: number; + // 姓名 + name?: string; + // 手机号码 + phone?: string; + // 所在国家 + country?: string; + // 所在省份 + province?: string; + // 所在城市 + city?: string; + // 所在辖区 + region?: string; + // 收货地址 + address?: string; + // 1先生 2女士 + gender?: number; + // 家、公司、学校 + type?: string; + // 默认收货地址 + default?: string; + // 用户ID + userId?: number; + // 租户id + tenantId?: number; + // 注册时间 + createTime?: string; +} + +/** + * 收货地址搜索条件 + */ +export interface UserAddressParam extends PageParam { + id?: number; + keywords?: string; +} diff --git a/src/components/SelectMerchantMultipleDown/index.vue b/src/components/SelectMerchantMultipleDown/index.vue new file mode 100644 index 0000000..3120c56 --- /dev/null +++ b/src/components/SelectMerchantMultipleDown/index.vue @@ -0,0 +1,69 @@ + + + + diff --git a/src/components/SelectUser/index.vue b/src/components/SelectUser/index.vue index 44d7b2c..e1c5565 100644 --- a/src/components/SelectUser/index.vue +++ b/src/components/SelectUser/index.vue @@ -53,7 +53,7 @@ showEdit.value = true; }; - const onChange = (row) => { + const onChange = (row?: User) => { emit('done', row); }; // 查询租户列表 diff --git a/src/layout/components/header-tools.vue b/src/layout/components/header-tools.vue index cf22e84..934ea95 100644 --- a/src/layout/components/header-tools.vue +++ b/src/layout/components/header-tools.vue @@ -274,18 +274,24 @@ settingVisible.value = true; }; - listMenus({ menuType: 0, hide: 0 }).then((data) => { - if (data) { - menuList.value = data; - menuTree.value = toTreeData({ - data: data.map((d) => { - return { ...d, key: d.menuId, value: d.menuId }; - }), - idField: 'menuId', - parentIdField: 'parentId' + const getMenus = () => { + if (!getMerchantName()) { + listMenus({ menuType: 0, hide: 0 }).then((data) => { + if (data) { + menuList.value = data; + menuTree.value = toTreeData({ + data: data.map((d) => { + return { ...d, key: d.menuId, value: d.menuId }; + }), + idField: 'menuId', + parentIdField: 'parentId' + }); + } }); } - }); + }; + + getMenus(); + diff --git a/src/views/shop/order/components/search.vue b/src/views/shop/order/components/search.vue index 8b3e42e..23024e7 100644 --- a/src/views/shop/order/components/search.vue +++ b/src/views/shop/order/components/search.vue @@ -4,7 +4,7 @@ - 生成支付二维码 + 重置 未付款,占场中 + - - + @@ -186,7 +201,6 @@ ExclamationCircleOutlined, CheckOutlined, CloseOutlined, - RestOutlined, ClockCircleOutlined, IdcardOutlined, WechatOutlined, @@ -199,7 +213,7 @@ ColumnItem } from 'ele-admin-pro/es/ele-pro-table/types'; import Search from './components/search.vue'; - import OrderEdit from './components/orderEdit.vue'; + import OrderInfo from './components/orderInfo.vue'; import { pageOrder, removeOrder, @@ -207,6 +221,7 @@ } from '@/api/booking/order'; import type { Order, OrderParam } from '@/api/booking/order/model'; import { formatNumber } from 'ele-admin-pro/es'; + import { getMerchantId } from '@/utils/common'; // 表格实例 const tableRef = ref | null>(null); @@ -233,6 +248,9 @@ if (filters) { where.status = filters.status; } + where.type = 0; + // where.sceneType = 'showOrderGoods'; + where.merchantId = getMerchantId(); return pageOrder({ ...where, ...orders, @@ -295,6 +313,13 @@ key: 'payStatus', align: 'center' }, + { + title: '付款时间', + dataIndex: 'payTime', + key: 'payTime', + align: 'center', + customRender: ({ text }) => toDateString(text, 'yyyy-MM-dd HH:mm:ss') + }, { title: '订单状态', dataIndex: 'orderStatus', @@ -314,11 +339,12 @@ align: 'center' }, { - title: '付款时间', - dataIndex: 'payTime', - key: 'payTime', + title: '类型', + dataIndex: 'type', + key: 'type', align: 'center', - customRender: ({ text }) => toDateString(text, 'yyyy-MM-dd HH:mm:ss') + customRender: ({ text }) => + ['商城订单', '客户预定', '俱乐部训练场', '活动订场'][text] }, // { // title: '申请退款时间', @@ -424,11 +450,12 @@ -