From 31d651731437b563ee73c9d8796924115e221ac5 Mon Sep 17 00:00:00 2001 From: gxwebsoft Date: Tue, 7 May 2024 17:31:38 +0800 Subject: [PATCH] =?UTF-8?q?bookingUser=E6=94=B9=E4=B8=BAshopUser?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .env.development | 4 +- src/api/passport/login/model/index.ts | 4 + src/api/shop/order/model/index.ts | 10 +- src/api/shop/orderInfo/index.ts | 106 ++++ src/api/shop/orderInfo/model/index.ts | 55 ++ src/api/shop/users/index.ts | 106 ++++ src/api/shop/users/model/index.ts | 73 +++ src/api/system/user/model/index.ts | 2 +- .../mp-weixin/home/components/simulator.vue | 55 +- .../mp-weixin/order/components/simulator.vue | 235 ++++---- src/views/cms/mp-weixin/order/index.vue | 6 +- .../mp-weixin/user/components/simulator.vue | 407 +++++++------- src/views/shop/orderInfo/index.ts | 106 ++++ src/views/shop/orderInfo/model/index.ts | 55 ++ src/views/shop/user/components/org-select.vue | 39 -- .../shop/user/components/role-select.vue | 71 --- src/views/shop/user/components/sex-select.vue | 45 -- src/views/shop/user/components/user-edit.vue | 313 ----------- .../shop/user/components/user-import.vue | 88 --- src/views/shop/user/components/user-info.vue | 143 ----- .../shop/user/components/user-search.vue | 111 ---- src/views/shop/user/details/index.vue | 130 ----- src/views/shop/user/index.vue | 502 ------------------ src/views/shop/users/components/search.vue | 53 ++ src/views/shop/users/components/userEdit.vue | 331 ++++++++++++ src/views/shop/users/index.vue | 303 +++++++++++ 26 files changed, 1567 insertions(+), 1786 deletions(-) create mode 100644 src/api/shop/orderInfo/index.ts create mode 100644 src/api/shop/orderInfo/model/index.ts create mode 100644 src/api/shop/users/index.ts create mode 100644 src/api/shop/users/model/index.ts create mode 100644 src/views/shop/orderInfo/index.ts create mode 100644 src/views/shop/orderInfo/model/index.ts delete mode 100644 src/views/shop/user/components/org-select.vue delete mode 100644 src/views/shop/user/components/role-select.vue delete mode 100644 src/views/shop/user/components/sex-select.vue delete mode 100644 src/views/shop/user/components/user-edit.vue delete mode 100644 src/views/shop/user/components/user-import.vue delete mode 100644 src/views/shop/user/components/user-info.vue delete mode 100644 src/views/shop/user/components/user-search.vue delete mode 100644 src/views/shop/user/details/index.vue delete mode 100644 src/views/shop/user/index.vue create mode 100644 src/views/shop/users/components/search.vue create mode 100644 src/views/shop/users/components/userEdit.vue create mode 100644 src/views/shop/users/index.vue diff --git a/.env.development b/.env.development index b3b219c..914ba38 100644 --- a/.env.development +++ b/.env.development @@ -1,9 +1,9 @@ VITE_APP_NAME=后台管理系统 VITE_SOCKET_URL=wss://server.gxwebsoft.com VITE_SERVER_URL=https://server.gxwebsoft.com/api -VITE_API_URL=https://modules.gxwebsoft.com/api +#VITE_API_URL=https://modules.gxwebsoft.com/api -#VITE_API_URL=http://127.0.0.1:9099/api +VITE_API_URL=http://127.0.0.1:9099/api #VITE_SERVER_URL=http://127.0.0.1:9091/api #VITE_SOCKET_URL=ws://localhost:9191 #VITE_API_URL=https://server.gxwebsoft.com/api diff --git a/src/api/passport/login/model/index.ts b/src/api/passport/login/model/index.ts index ba82b06..1f1c822 100644 --- a/src/api/passport/login/model/index.ts +++ b/src/api/passport/login/model/index.ts @@ -11,6 +11,10 @@ export interface LoginParam { tenantId?: number; // 是否记住密码 remember?: boolean; + // 手机号码 + phone?: string; + // 短信验证码 + code?: string; } /** diff --git a/src/api/shop/order/model/index.ts b/src/api/shop/order/model/index.ts index 63dbab5..4d158fe 100644 --- a/src/api/shop/order/model/index.ts +++ b/src/api/shop/order/model/index.ts @@ -1,4 +1,5 @@ import type { PageParam } from '@/api'; +import { OrderInfo } from "@/api/shop/orderInfo/model"; /** * 预约订单 @@ -68,7 +69,7 @@ export interface Order { isInvoice?: string; // 下单时间 createTime?: number; - // + // updateTime?: number; // 付款时间 payTime?: number; @@ -84,6 +85,12 @@ export interface Order { deleted?: number; // 租户id tenantId?: number; + // 商户名称 + merchantName?: string; + // 商户图标 + merchantAvatar?: string; + // + orderInfoList?: OrderInfo[]; } /** @@ -92,4 +99,5 @@ export interface Order { export interface OrderParam extends PageParam { orderId?: number; keywords?: string; + userId?: number; } diff --git a/src/api/shop/orderInfo/index.ts b/src/api/shop/orderInfo/index.ts new file mode 100644 index 0000000..e6cd3a9 --- /dev/null +++ b/src/api/shop/orderInfo/index.ts @@ -0,0 +1,106 @@ +import request from '@/utils/request'; +import type { ApiResult, PageResult } from '@/api'; +import type { OrderInfo, OrderInfoParam } from './model'; +import { MODULES_API_URL } from '@/config/setting'; + +/** + * 分页查询 + */ +export async function pageOrderInfo(params: OrderInfoParam) { + const res = await request.get>>( + MODULES_API_URL + '/shop/order-info/page', + { + params + } + ); + if (res.data.code === 0) { + return res.data.data; + } + return Promise.reject(new Error(res.data.message)); +} + +/** + * 查询列表 + */ +export async function listOrderInfo(params?: OrderInfoParam) { + const res = await request.get>( + MODULES_API_URL + '/shop/order-info', + { + params + } + ); + if (res.data.code === 0 && res.data.data) { + return res.data.data; + } + return Promise.reject(new Error(res.data.message)); +} + +/** + * 添加 + */ +export async function addOrderInfo(data: OrderInfo) { + const res = await request.post>( + MODULES_API_URL + '/shop/order-info', + data + ); + if (res.data.code === 0) { + return res.data.message; + } + return Promise.reject(new Error(res.data.message)); +} + +/** + * 修改 + */ +export async function updateOrderInfo(data: OrderInfo) { + const res = await request.put>( + MODULES_API_URL + '/shop/order-info', + data + ); + if (res.data.code === 0) { + return res.data.message; + } + return Promise.reject(new Error(res.data.message)); +} + +/** + * 删除 + */ +export async function removeOrderInfo(id?: number) { + const res = await request.delete>( + MODULES_API_URL + '/shop/order-info/' + id + ); + if (res.data.code === 0) { + return res.data.message; + } + return Promise.reject(new Error(res.data.message)); +} + +/** + * 批量删除 + */ +export async function removeBatchOrderInfo(data: (number | undefined)[]) { + const res = await request.delete>( + MODULES_API_URL + '/shop/order-info/batch', + { + data + } + ); + if (res.data.code === 0) { + return res.data.message; + } + return Promise.reject(new Error(res.data.message)); +} + +/** + * 根据id查询 + */ +export async function getOrderInfo(id: number) { + const res = await request.get>( + MODULES_API_URL + '/shop/order-info/' + 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/orderInfo/model/index.ts b/src/api/shop/orderInfo/model/index.ts new file mode 100644 index 0000000..1f2e848 --- /dev/null +++ b/src/api/shop/orderInfo/model/index.ts @@ -0,0 +1,55 @@ +import type { PageParam } from '@/api'; + +/** + * + */ +export interface OrderInfo { + // + id?: number; + // 关联订单表id + oid?: number; + // 关联场馆id + sid?: number; + // 关联场地id + fid?: number; + // 场馆 + siteName?: string; + // 场地 + fieldName?: string; + // 预约时间段 + dateTime?: string; + // 单价 + price?: string; + // 儿童价 + childrenPrice?: string; + // 成人人数 + adultNum?: string; + // 儿童人数 + childrenNum?: string; + // 1已付款,2未付款,3无需付款或占用状态 + payStatus?: string; + // 是否免费:1免费、2收费 + isFree?: string; + // 是否支持儿童票:1支持,2不支持 + isChildren?: string; + // 预订类型:1全场,2半场 + type?: string; + // 组合数据:日期+时间段+场馆id+场地id + mergeData?: string; + // 开场时间 + startTime?: number; + // 下单时间 + orderTime?: number; + // 毫秒时间戳 + timeFlag?: string; + // 租户id + tenantId?: number; +} + +/** + * 搜索条件 + */ +export interface OrderInfoParam extends PageParam { + id?: number; + keywords?: string; +} diff --git a/src/api/shop/users/index.ts b/src/api/shop/users/index.ts new file mode 100644 index 0000000..f589c4a --- /dev/null +++ b/src/api/shop/users/index.ts @@ -0,0 +1,106 @@ +import request from '@/utils/request'; +import type { ApiResult, PageResult } from '@/api'; +import type { Users, UsersParam } from './model'; +import { MODULES_API_URL } from '@/config/setting'; + +/** + * 分页查询用户 + */ +export async function pageUsers(params: UsersParam) { + const res = await request.get>>( + MODULES_API_URL + '/shop/users/page', + { + params + } + ); + if (res.data.code === 0) { + return res.data.data; + } + return Promise.reject(new Error(res.data.message)); +} + +/** + * 查询用户列表 + */ +export async function listUsers(params?: UsersParam) { + const res = await request.get>( + MODULES_API_URL + '/shop/users', + { + params + } + ); + if (res.data.code === 0 && res.data.data) { + return res.data.data; + } + return Promise.reject(new Error(res.data.message)); +} + +/** + * 添加用户 + */ +export async function addUsers(data: Users) { + const res = await request.post>( + MODULES_API_URL + '/shop/users', + data + ); + if (res.data.code === 0) { + return res.data.message; + } + return Promise.reject(new Error(res.data.message)); +} + +/** + * 修改用户 + */ +export async function updateUsers(data: Users) { + const res = await request.put>( + MODULES_API_URL + '/shop/users', + data + ); + if (res.data.code === 0) { + return res.data.message; + } + return Promise.reject(new Error(res.data.message)); +} + +/** + * 删除用户 + */ +export async function removeUsers(id?: number) { + const res = await request.delete>( + MODULES_API_URL + '/shop/users/' + id + ); + if (res.data.code === 0) { + return res.data.message; + } + return Promise.reject(new Error(res.data.message)); +} + +/** + * 批量删除用户 + */ +export async function removeBatchUsers(data: (number | undefined)[]) { + const res = await request.delete>( + MODULES_API_URL + '/shop/users/batch', + { + data + } + ); + if (res.data.code === 0) { + return res.data.message; + } + return Promise.reject(new Error(res.data.message)); +} + +/** + * 根据id查询用户 + */ +export async function getUsers(id: number) { + const res = await request.get>( + MODULES_API_URL + '/shop/users/' + 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/users/model/index.ts b/src/api/shop/users/model/index.ts new file mode 100644 index 0000000..bc08178 --- /dev/null +++ b/src/api/shop/users/model/index.ts @@ -0,0 +1,73 @@ +import type { PageParam } from '@/api'; + +/** + * 用户 + */ +export interface Users { + // + userId?: number; + // 用户唯一小程序id + openid?: string; + // 小程序用户秘钥 + sessionKey?: string; + // 用户名 + username?: string; + // 头像地址 + avatarUrl?: string; + // 1男,2女 + sex?: string; + // 国家 + country?: string; + // 省份 + province?: string; + // 城市 + city?: string; + // 所在辖区 + region?: string; + // 经度 + longitude?: string; + // 纬度 + latitude?: string; + // 手机号码 + phone?: string; + // 邮箱 + email?: string; + // 邮箱是否验证, 0否, 1是 + emailVerified?: number; + // 积分 + points?: string; + // 余额 + balance?: string; + // 注册时间 + addTime?: number; + // 身份证号码 + idCard?: string; + // 真实姓名 + realName?: string; + // 是否管理员:1是;2否 + isAdmin?: number; + // 客户端ID + clientId?: string; + // 注册来源客户端 (APP、H5、小程序等) + platform?: string; + // 排序 + sortNumber?: number; + // 备注 + comments?: string; + // 状态 + status?: number; + // 是否删除, 0否, 1是 + deleted?: number; + // 租户id + tenantId?: number; + // 注册时间 + createTime?: string; +} + +/** + * 用户搜索条件 + */ +export interface UsersParam extends PageParam { + userId?: number; + keywords?: string; +} diff --git a/src/api/system/user/model/index.ts b/src/api/system/user/model/index.ts index 6f0d3fe..593c1b5 100644 --- a/src/api/system/user/model/index.ts +++ b/src/api/system/user/model/index.ts @@ -103,7 +103,7 @@ export interface User { // truename?: string; // 是否管理员:1是;2否 - isAdmin?: number; + isAdmin?: boolean; // 客户端ID clientId?: string; // 注册来源客户端 (APP、H5、小程序等) diff --git a/src/views/cms/mp-weixin/home/components/simulator.vue b/src/views/cms/mp-weixin/home/components/simulator.vue index bb1bd70..d142f61 100644 --- a/src/views/cms/mp-weixin/home/components/simulator.vue +++ b/src/views/cms/mp-weixin/home/components/simulator.vue @@ -30,30 +30,39 @@