From fc7752cb18391def1ca20572824c10a44da5c35b Mon Sep 17 00:00:00 2001 From: gxwebsoft Date: Fri, 17 May 2024 06:04:56 +0800 Subject: [PATCH] =?UTF-8?q?=E6=81=A2=E5=A4=8D=E7=94=A8=E6=88=B7=E5=88=97?= =?UTF-8?q?=E8=A1=A8=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .env.development | 4 +- src/api/booking/order/index.ts | 14 +- src/api/booking/order/model/index.ts | 4 +- src/api/cms/website/model/index.ts | 2 +- src/api/oa/company/index.ts | 48 +- src/api/oa/company/model/index.ts | 5 + src/api/shop/merchant/index.ts | 16 +- src/api/shop/merchant/model/index.ts | 3 + src/api/shop/order/index.ts | 16 +- src/api/shop/order/model/index.ts | 67 +- src/api/system/company/index.ts | 30 +- src/api/system/company/model/index.ts | 13 + src/api/system/payment/model/index.ts | 2 + src/api/system/user-collection/index.ts | 106 +++ src/api/system/user-collection/model/index.ts | 25 + src/components/SelectMerchantDown/index.vue | 62 ++ src/store/modules/tenant.ts | 2 +- src/utils/domain.ts | 8 + src/utils/request.ts | 6 +- .../booking/order/components/orderEdit.vue | 272 ++++--- .../booking/order/components/orderInfo.vue | 417 +++++++++++ src/views/booking/order/components/search.vue | 15 +- src/views/booking/order/index.vue | 210 +++--- src/views/cms/website/components/edit.vue | 227 ++++++ src/views/cms/website/components/search.vue | 42 ++ src/views/cms/website/index.vue | 217 ++++++ src/views/oa/link/components/link-edit.vue | 1 - src/views/oa/link/index.vue | 12 +- src/views/passport/login/index.vue | 12 + src/views/shop/order/components/orderEdit.vue | 252 +++---- src/views/shop/order/components/search.vue | 58 +- src/views/shop/order/index.vue | 197 ++--- .../company/components/company-edit.vue | 474 ++++++++++++ .../company/components/company-info.vue | 298 ++++++++ .../system/company/components/search.vue | 96 +++ .../detail/components/company-about-edit.vue | 245 ++++++ .../detail/components/company-about.vue | 60 ++ .../detail/components/company-annex-edit.vue | 221 ++++++ .../detail/components/company-annex.vue | 301 ++++++++ .../detail/components/company-field-edit.vue | 177 +++++ .../components/company-field-search.vue | 13 + .../detail/components/company-field.vue | 211 ++++++ .../detail/components/company-info-edit.vue | 500 +++++++++++++ .../detail/components/company-info.vue | 161 ++++ .../detail/components/company-nenew.vue | 255 +++++++ .../detail/components/company-photo-edit.vue | 220 ++++++ .../detail/components/company-photo.vue | 52 ++ .../components/company-profile-edit.vue | 256 +++++++ .../detail/components/company-profile.vue | 66 ++ .../detail/components/company-secret-form.vue | 210 ++++++ .../detail/components/company-task-search.vue | 34 + .../detail/components/company-task.vue | 298 ++++++++ .../detail/components/company-users.vue | 110 +++ src/views/system/company/detail/index.vue | 203 +++++ .../company/dict/components/dict-edit.vue | 178 +++++ src/views/system/company/dict/index.vue | 222 ++++++ src/views/system/company/index.vue | 626 ++++++++++++++++ .../company/renew/components/company-edit.vue | 701 ++++++++++++++++++ .../company/renew/components/company-info.vue | 298 ++++++++ .../company/renew/components/search.vue | 151 ++++ src/views/system/company/renew/index.vue | 305 ++++++++ .../system/payment/components/paymentEdit.vue | 57 +- src/views/system/profile/index.vue | 141 ++-- src/views/system/setting/index.vue | 10 +- .../system/user/components/org-select.vue | 39 + .../system/user/components/role-select.vue | 71 ++ .../system/user/components/sex-select.vue | 45 ++ .../system/user/components/user-edit.vue | 351 +++++++++ .../system/user/components/user-import.vue | 88 +++ .../system/user/components/user-info.vue | 143 ++++ .../system/user/components/user-search.vue | 111 +++ src/views/system/user/details/index.vue | 130 ++++ src/views/system/user/index.vue | 554 ++++++++++++++ 73 files changed, 10390 insertions(+), 657 deletions(-) create mode 100644 src/api/system/user-collection/index.ts create mode 100644 src/api/system/user-collection/model/index.ts create mode 100644 src/components/SelectMerchantDown/index.vue create mode 100644 src/views/booking/order/components/orderInfo.vue create mode 100644 src/views/cms/website/components/edit.vue create mode 100644 src/views/cms/website/components/search.vue create mode 100644 src/views/cms/website/index.vue create mode 100644 src/views/system/company/components/company-edit.vue create mode 100644 src/views/system/company/components/company-info.vue create mode 100644 src/views/system/company/components/search.vue create mode 100644 src/views/system/company/detail/components/company-about-edit.vue create mode 100644 src/views/system/company/detail/components/company-about.vue create mode 100644 src/views/system/company/detail/components/company-annex-edit.vue create mode 100644 src/views/system/company/detail/components/company-annex.vue create mode 100644 src/views/system/company/detail/components/company-field-edit.vue create mode 100644 src/views/system/company/detail/components/company-field-search.vue create mode 100644 src/views/system/company/detail/components/company-field.vue create mode 100644 src/views/system/company/detail/components/company-info-edit.vue create mode 100644 src/views/system/company/detail/components/company-info.vue create mode 100644 src/views/system/company/detail/components/company-nenew.vue create mode 100644 src/views/system/company/detail/components/company-photo-edit.vue create mode 100644 src/views/system/company/detail/components/company-photo.vue create mode 100644 src/views/system/company/detail/components/company-profile-edit.vue create mode 100644 src/views/system/company/detail/components/company-profile.vue create mode 100644 src/views/system/company/detail/components/company-secret-form.vue create mode 100644 src/views/system/company/detail/components/company-task-search.vue create mode 100644 src/views/system/company/detail/components/company-task.vue create mode 100644 src/views/system/company/detail/components/company-users.vue create mode 100644 src/views/system/company/detail/index.vue create mode 100644 src/views/system/company/dict/components/dict-edit.vue create mode 100644 src/views/system/company/dict/index.vue create mode 100644 src/views/system/company/index.vue create mode 100644 src/views/system/company/renew/components/company-edit.vue create mode 100644 src/views/system/company/renew/components/company-info.vue create mode 100644 src/views/system/company/renew/components/search.vue create mode 100644 src/views/system/company/renew/index.vue create mode 100644 src/views/system/user/components/org-select.vue create mode 100644 src/views/system/user/components/role-select.vue create mode 100644 src/views/system/user/components/sex-select.vue create mode 100644 src/views/system/user/components/user-edit.vue create mode 100644 src/views/system/user/components/user-import.vue create mode 100644 src/views/system/user/components/user-info.vue create mode 100644 src/views/system/user/components/user-search.vue create mode 100644 src/views/system/user/details/index.vue create mode 100644 src/views/system/user/index.vue diff --git a/.env.development b/.env.development index 5f2219f..6941c97 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/booking/order/index.ts b/src/api/booking/order/index.ts index 9d82c94..dbf996f 100644 --- a/src/api/booking/order/index.ts +++ b/src/api/booking/order/index.ts @@ -8,7 +8,7 @@ import { MODULES_API_URL } from '@/config/setting'; */ export async function pageOrder(params: OrderParam) { const res = await request.get>>( - MODULES_API_URL + '/booking/order/page', + MODULES_API_URL + '/shop/order/page', { params } @@ -24,7 +24,7 @@ export async function pageOrder(params: OrderParam) { */ export async function listOrder(params?: OrderParam) { const res = await request.get>( - MODULES_API_URL + '/booking/order', + MODULES_API_URL + '/shop/order', { params } @@ -40,7 +40,7 @@ export async function listOrder(params?: OrderParam) { */ export async function addOrder(data: Order) { const res = await request.post>( - MODULES_API_URL + '/booking/order', + MODULES_API_URL + '/shop/order', data ); if (res.data.code === 0) { @@ -54,7 +54,7 @@ export async function addOrder(data: Order) { */ export async function updateOrder(data: Order) { const res = await request.put>( - MODULES_API_URL + '/booking/order', + MODULES_API_URL + '/shop/order', data ); if (res.data.code === 0) { @@ -68,7 +68,7 @@ export async function updateOrder(data: Order) { */ export async function removeOrder(id?: number) { const res = await request.delete>( - MODULES_API_URL + '/booking/order/' + id + MODULES_API_URL + '/shop/order/' + id ); if (res.data.code === 0) { return res.data.message; @@ -81,7 +81,7 @@ export async function removeOrder(id?: number) { */ export async function removeBatchOrder(data: (number | undefined)[]) { const res = await request.delete>( - MODULES_API_URL + '/booking/order/batch', + MODULES_API_URL + '/shop/order/batch', { data } @@ -97,7 +97,7 @@ export async function removeBatchOrder(data: (number | undefined)[]) { */ export async function getOrder(id: number) { const res = await request.get>( - MODULES_API_URL + '/booking/order/' + id + MODULES_API_URL + '/shop/order/' + id ); if (res.data.code === 0 && res.data.data) { return res.data.data; diff --git a/src/api/booking/order/model/index.ts b/src/api/booking/order/model/index.ts index 63dbab5..b5dcd46 100644 --- a/src/api/booking/order/model/index.ts +++ b/src/api/booking/order/model/index.ts @@ -53,7 +53,7 @@ export interface Order { // 1已完成,2未使用,3已取消,4退款申请中,5退款被拒绝,6退款成功,7客户端申请退款 orderStatus?: string; // 优惠类型:0无、1抵扣优惠券、2折扣优惠券、3、VIP月卡、4VIP年卡,5VIP次卡、6VIP会员卡、7IC月卡、8IC年卡、9IC次卡、10IC会员卡、11免费订单、12VIP充值卡、13IC充值卡、14VIP季卡、15IC季卡 - type?: string; + couponType?: string; // 二维码地址,保存订单号,支付成功后才生成 qrcode?: string; // 优惠说明 @@ -68,7 +68,7 @@ export interface Order { isInvoice?: string; // 下单时间 createTime?: number; - // + // updateTime?: number; // 付款时间 payTime?: number; diff --git a/src/api/cms/website/model/index.ts b/src/api/cms/website/model/index.ts index 61657f0..0b01f7d 100644 --- a/src/api/cms/website/model/index.ts +++ b/src/api/cms/website/model/index.ts @@ -36,7 +36,7 @@ export interface Website { region?: string; appId?: number; fields?: WebsiteField[]; - status?: number; + status?: boolean; tenantId?: number; tenantName?: string; navigations?: Navigation[]; diff --git a/src/api/oa/company/index.ts b/src/api/oa/company/index.ts index 7c2227b..d824fde 100644 --- a/src/api/oa/company/index.ts +++ b/src/api/oa/company/index.ts @@ -2,14 +2,14 @@ import request from '@/utils/request'; import type { ApiResult } from '@/api'; import type { Company, CompanyParam } from './model'; import { PageResult } from '@/api'; -import { MODULES_API_URL } from '@/config/setting'; +import { SERVER_API_URL } from '@/config/setting'; /** * 查询企业资料 */ export async function getCompany(params?: CompanyParam) { const res = await request.get>( - MODULES_API_URL + '/oa/company/profile', + SERVER_API_URL + '/system/company/profile', { params } @@ -25,7 +25,7 @@ export async function getCompany(params?: CompanyParam) { */ export async function getCompanyAll(companyId: number) { const res = await request.get>( - MODULES_API_URL + '/oa/company/profileAll/' + companyId + SERVER_API_URL + '/system/company/profileAll/' + companyId ); if (res.data.code === 0 && res.data) { console.log(res.data); @@ -39,7 +39,7 @@ export async function getCompanyAll(companyId: number) { */ export async function pageCompany(params: CompanyParam) { const res = await request.get>>( - MODULES_API_URL + '/oa/company/page', + SERVER_API_URL + '/system/company/page', { params } ); if (res.data.code === 0) { @@ -53,7 +53,7 @@ export async function pageCompany(params: CompanyParam) { */ export async function pageCompanyAll(params: CompanyParam) { const res = await request.get>>( - MODULES_API_URL + '/oa/company/pageAll', + SERVER_API_URL + '/system/company/pageAll', { params } ); if (res.data.code === 0) { @@ -67,7 +67,7 @@ export async function pageCompanyAll(params: CompanyParam) { */ export async function addCompany(data: Company) { const res = await request.post>( - MODULES_API_URL + '/oa/company', + SERVER_API_URL + '/system/company', data ); if (res.data.code === 0) { @@ -81,7 +81,7 @@ export async function addCompany(data: Company) { */ export async function updateCompany(data: Company) { const res = await request.put>( - MODULES_API_URL + '/oa/company', + SERVER_API_URL + '/system/company', data ); if (res.data.code === 0) { @@ -95,7 +95,7 @@ export async function updateCompany(data: Company) { */ export async function removeCompany(id?: number) { const res = await request.delete>( - MODULES_API_URL + '/oa/company/' + id + SERVER_API_URL + '/system/company/removeAll/' + id ); if (res.data.code === 0) { return res.data.message; @@ -106,7 +106,7 @@ export async function removeCompany(id?: number) { // 销毁租户 export async function destructionTenant(id?: number) { const res = await request.delete>( - MODULES_API_URL + '/oa/company/destruction/' + id + SERVER_API_URL + '/system/company/destruction/' + id ); if (res.data.code === 0) { return res.data.message; @@ -119,7 +119,7 @@ export async function destructionTenant(id?: number) { */ export async function removeBatchCompany(data: (number | undefined)[]) { const res = await request.delete>( - MODULES_API_URL + '/oa/company/batch', + SERVER_API_URL + '/system/company/batch', { data } @@ -136,7 +136,7 @@ export async function checkExistence( id?: number ) { const res = await request.get>( - MODULES_API_URL + '/oa/company/existence', + SERVER_API_URL + '/system/company/existence', { params: { field, value, id } } @@ -146,3 +146,29 @@ export async function checkExistence( } return Promise.reject(new Error(res.data.message)); } + +/** + * 恢复Company + */ +export async function undeleteCompany(id?: number) { + const res = await request.delete>( + SERVER_API_URL + '/system/company/undeleteAll/' + id + ); + if (res.data.code === 0) { + return res.data.message; + } + return Promise.reject(new Error(res.data.message)); +} + +/** + * 销毁Company + */ +export async function destructionCompany(id?: number) { + const res = await request.delete>( + SERVER_API_URL + '/system/company/destructionAll/' + id + ); + if (res.data.code === 0) { + return res.data.message; + } + return Promise.reject(new Error(res.data.message)); +} diff --git a/src/api/oa/company/model/index.ts b/src/api/oa/company/model/index.ts index 7803d04..6e0a97c 100644 --- a/src/api/oa/company/model/index.ts +++ b/src/api/oa/company/model/index.ts @@ -48,6 +48,7 @@ export interface Company { planId?: number; sortNumber?: number; authoritative?: boolean; + merchantId?: number; tenantId?: number; tenantName?: string; tenantCode?: string; @@ -56,6 +57,10 @@ export interface Company { socketUrl?: string; serverUrl?: string; modulesUrl?: string; + mpWeixinCode?: string; + h5Code?: string; + androidUrl?: string; + iosUrl?: string; avatar?: string; nickname?: string; code?: number; diff --git a/src/api/shop/merchant/index.ts b/src/api/shop/merchant/index.ts index dfcf7d2..1f410d9 100644 --- a/src/api/shop/merchant/index.ts +++ b/src/api/shop/merchant/index.ts @@ -1,14 +1,14 @@ import request from '@/utils/request'; import type { ApiResult, PageResult } from '@/api'; import type { Merchant, MerchantParam } from './model'; -import { SERVER_API_URL } from '@/config/setting'; +import { MODULES_API_URL } from '@/config/setting'; /** * 分页查询商户 */ export async function pageMerchant(params: MerchantParam) { const res = await request.get>>( - SERVER_API_URL + '/system/merchant/page', + MODULES_API_URL + '/shop/merchant/page', { params } @@ -24,7 +24,7 @@ export async function pageMerchant(params: MerchantParam) { */ export async function listMerchant(params?: MerchantParam) { const res = await request.get>( - SERVER_API_URL + '/system/merchant', + MODULES_API_URL + '/shop/merchant', { params } @@ -40,7 +40,7 @@ export async function listMerchant(params?: MerchantParam) { */ export async function addMerchant(data: Merchant) { const res = await request.post>( - SERVER_API_URL + '/system/merchant', + MODULES_API_URL + '/shop/merchant', data ); if (res.data.code === 0) { @@ -54,7 +54,7 @@ export async function addMerchant(data: Merchant) { */ export async function updateMerchant(data: Merchant) { const res = await request.put>( - SERVER_API_URL + '/system/merchant', + MODULES_API_URL + '/shop/merchant', data ); if (res.data.code === 0) { @@ -68,7 +68,7 @@ export async function updateMerchant(data: Merchant) { */ export async function removeMerchant(id?: number) { const res = await request.delete>( - SERVER_API_URL + '/system/merchant/' + id + MODULES_API_URL + '/shop/merchant/' + id ); if (res.data.code === 0) { return res.data.message; @@ -81,7 +81,7 @@ export async function removeMerchant(id?: number) { */ export async function removeBatchMerchant(data: (number | undefined)[]) { const res = await request.delete>( - SERVER_API_URL + '/system/merchant/batch', + MODULES_API_URL + '/shop/merchant/batch', { data } @@ -97,7 +97,7 @@ export async function removeBatchMerchant(data: (number | undefined)[]) { */ export async function getMerchant(id: number) { const res = await request.get>( - SERVER_API_URL + '/system/merchant/' + id + MODULES_API_URL + '/shop/merchant/' + id ); if (res.data.code === 0 && res.data.data) { return res.data.data; diff --git a/src/api/shop/merchant/model/index.ts b/src/api/shop/merchant/model/index.ts index d34d194..f4a8754 100644 --- a/src/api/shop/merchant/model/index.ts +++ b/src/api/shop/merchant/model/index.ts @@ -8,6 +8,7 @@ export interface Merchant { merchantId?: number; // 商户名称 merchantName?: string; + merchantCode?: string; // 商户图标 image?: string; // 商户手机号 @@ -63,6 +64,8 @@ export interface Merchant { // 默认商户管理角色ID roleId?: number; roleName?: string; + label?: string; + value?: string; } /** diff --git a/src/api/shop/order/index.ts b/src/api/shop/order/index.ts index dbf996f..be4a22d 100644 --- a/src/api/shop/order/index.ts +++ b/src/api/shop/order/index.ts @@ -1,14 +1,14 @@ import request from '@/utils/request'; import type { ApiResult, PageResult } from '@/api'; import type { Order, OrderParam } from './model'; -import { MODULES_API_URL } from '@/config/setting'; +import { SERVER_API_URL } from '@/config/setting'; /** * 分页查询预约订单 */ export async function pageOrder(params: OrderParam) { const res = await request.get>>( - MODULES_API_URL + '/shop/order/page', + SERVER_API_URL + '/system/order/page', { params } @@ -24,7 +24,7 @@ export async function pageOrder(params: OrderParam) { */ export async function listOrder(params?: OrderParam) { const res = await request.get>( - MODULES_API_URL + '/shop/order', + SERVER_API_URL + '/system/order', { params } @@ -40,7 +40,7 @@ export async function listOrder(params?: OrderParam) { */ export async function addOrder(data: Order) { const res = await request.post>( - MODULES_API_URL + '/shop/order', + SERVER_API_URL + '/system/order', data ); if (res.data.code === 0) { @@ -54,7 +54,7 @@ export async function addOrder(data: Order) { */ export async function updateOrder(data: Order) { const res = await request.put>( - MODULES_API_URL + '/shop/order', + SERVER_API_URL + '/system/order', data ); if (res.data.code === 0) { @@ -68,7 +68,7 @@ export async function updateOrder(data: Order) { */ export async function removeOrder(id?: number) { const res = await request.delete>( - MODULES_API_URL + '/shop/order/' + id + SERVER_API_URL + '/system/order/' + id ); if (res.data.code === 0) { return res.data.message; @@ -81,7 +81,7 @@ export async function removeOrder(id?: number) { */ export async function removeBatchOrder(data: (number | undefined)[]) { const res = await request.delete>( - MODULES_API_URL + '/shop/order/batch', + SERVER_API_URL + '/system/order/batch', { data } @@ -97,7 +97,7 @@ export async function removeBatchOrder(data: (number | undefined)[]) { */ export async function getOrder(id: number) { const res = await request.get>( - MODULES_API_URL + '/shop/order/' + id + SERVER_API_URL + '/system/order/' + id ); if (res.data.code === 0 && res.data.data) { return res.data.data; diff --git a/src/api/shop/order/model/index.ts b/src/api/shop/order/model/index.ts index 4d158fe..df05a54 100644 --- a/src/api/shop/order/model/index.ts +++ b/src/api/shop/order/model/index.ts @@ -1,5 +1,5 @@ import type { PageParam } from '@/api'; -import { OrderInfo } from "@/api/shop/orderInfo/model"; +import { OrderInfo } from '@/api/shop/orderInfo/model'; /** * 预约订单 @@ -10,25 +10,23 @@ export interface Order { // 订单编号 orderNo?: string; // 微信支付订单号 - wechatOrder?: string; + transactionId?: string; // 微信退款订单号 refundOrder?: string; - // 场馆id用于权限判断 + // 商户ID merchantId?: number; - // 用户id - userId?: number; // 使用的优惠券id couponId?: number; // 使用的会员卡id - cardId?: number; + cardId?: string; // 关联管理员id - aid?: number; - // 核销管理员id adminId?: number; + // 核销管理员id + confirmId?: number; // IC卡号 - code?: string; + icCard?: string; // 真实姓名 - name?: string; + realName?: string; // 手机号码 phone?: string; // 订单总额 @@ -47,44 +45,54 @@ export interface Order { coachPrice?: string; // 教练id coachId?: number; - // 1微信支付,2积分,3支付宝,4现金,5POS机,6VIP月卡,7VIP年卡,8VIP次卡,9IC月卡,10IC年卡,11IC次卡,12免费,13VIP充值卡,14IC充值卡,15积分支付,16VIP季卡,17IC季卡 - payType?: string; - // 1已付款,2未付款 + // 0余额支付, 1微信支付,2积分,3支付宝,4现金,5POS机,6VIP月卡,7VIP年卡,8VIP次卡,9IC月卡,10IC年卡,11IC次卡,12免费,13VIP充值卡,14IC充值卡,15积分支付,16VIP季卡,17IC季卡 + payType?: number; + // 0未付款,1已付款 payStatus?: string; - // 1已完成,2未使用,3已取消,4退款申请中,5退款被拒绝,6退款成功,7客户端申请退款 - orderStatus?: string; + // 0未使用,1已完成,2已取消,3取消中,4退款申请中,5退款被拒绝,6退款成功,7客户端申请退款 + orderStatus?: number; // 优惠类型:0无、1抵扣优惠券、2折扣优惠券、3、VIP月卡、4VIP年卡,5VIP次卡、6VIP会员卡、7IC月卡、8IC年卡、9IC次卡、10IC会员卡、11免费订单、12VIP充值卡、13IC充值卡、14VIP季卡、15IC季卡 - type?: string; + couponType?: number; + // 优惠说明 + couponDesc?: string; // 二维码地址,保存订单号,支付成功后才生成 qrcode?: string; - // 优惠说明 - desc?: string; // vip月卡年卡、ic月卡年卡回退次数 returnNum?: number; // vip充值回退金额 returnMoney?: string; // 预约详情开始时间数组 startTime?: string; - // 是否已开具发票:1已开发票,2未开发票,3不能开具发票 + // 是否已开具发票:0未开发票,1已开发票,2不能开具发票 isInvoice?: string; - // 下单时间 - createTime?: number; - // - updateTime?: number; - // 付款时间 - payTime?: number; + // 支付时间 + payTime?: string; // 退款时间 - refundTime?: number; + refundTime?: string; // 申请退款时间 - refundApplyTime?: number; - // 对账情况:1=已对账;2=未对账;3=已对账,金额对不上;4=未查询到该订单 + refundApplyTime?: string; + // 对账情况:0=未对账;1=已对账;3=已对账,金额对不上;4=未查询到该订单 checkBill?: number; + // 订单是否已结算(0未结算 1已结算) + isSettled?: number; + // 系统版本号 0当前版本 value=其他版本 + version?: number; + // 用户id + userId?: number; + // 状态 + status?: number; // 备注 comments?: string; + // 排序号 + sortNumber?: number; // 是否删除, 0否, 1是 deleted?: number; // 租户id tenantId?: number; + // 修改时间 + updateTime?: string; + // 创建时间 + createTime?: string; // 商户名称 merchantName?: string; // 商户图标 @@ -100,4 +108,7 @@ export interface OrderParam extends PageParam { orderId?: number; keywords?: string; userId?: number; + merchantId?: number; + merchantCode?: string; + merchantName?: string; } diff --git a/src/api/system/company/index.ts b/src/api/system/company/index.ts index b876290..f1d021e 100644 --- a/src/api/system/company/index.ts +++ b/src/api/system/company/index.ts @@ -2,7 +2,7 @@ import request from '@/utils/request'; import type { ApiResult } from '@/api'; import type { Company, CompanyParam } from './model'; import { PageResult } from '@/api'; -import { MODULES_API_URL, SERVER_API_URL } from '@/config/setting'; +import { SERVER_API_URL } from '@/config/setting'; /** * 查询企业资料 @@ -25,7 +25,7 @@ export async function getCompany(params?: CompanyParam) { */ export async function getCompanyAll(companyId: number) { const res = await request.get>( - MODULES_API_URL + '/system/company/profileAll/' + companyId + SERVER_API_URL + '/system/company/profileAll/' + companyId ); if (res.data.code === 0 && res.data) { console.log(res.data); @@ -39,7 +39,7 @@ export async function getCompanyAll(companyId: number) { */ export async function pageCompany(params: CompanyParam) { const res = await request.get>>( - MODULES_API_URL + '/system/company/page', + SERVER_API_URL + '/system/company/page', { params } ); if (res.data.code === 0) { @@ -67,7 +67,7 @@ export async function pageCompanyAll(params: CompanyParam) { */ export async function addCompany(data: Company) { const res = await request.post>( - MODULES_API_URL + '/system/company', + SERVER_API_URL + '/system/company', data ); if (res.data.code === 0) { @@ -90,12 +90,26 @@ export async function updateCompany(data: Company) { return Promise.reject(new Error(res.data.message)); } +/** + * 修改CompanyAll + */ +export async function updateCompanyAll(data: Company) { + const res = await request.put>( + SERVER_API_URL + '/system/company/updateCompanyAll', + data + ); + if (res.data.code === 0) { + return res.data.message; + } + return Promise.reject(new Error(res.data.message)); +} + /** * 删除Company */ export async function removeCompany(id?: number) { const res = await request.delete>( - MODULES_API_URL + '/system/company/' + id + SERVER_API_URL + '/system/company/' + id ); if (res.data.code === 0) { return res.data.message; @@ -106,7 +120,7 @@ export async function removeCompany(id?: number) { // 销毁租户 export async function destructionTenant(id?: number) { const res = await request.delete>( - MODULES_API_URL + '/system/company/destruction/' + id + SERVER_API_URL + '/system/company/destruction/' + id ); if (res.data.code === 0) { return res.data.message; @@ -119,7 +133,7 @@ export async function destructionTenant(id?: number) { */ export async function removeBatchCompany(data: (number | undefined)[]) { const res = await request.delete>( - MODULES_API_URL + '/system/company/batch', + SERVER_API_URL + '/system/company/batch', { data } @@ -136,7 +150,7 @@ export async function checkExistence( id?: number ) { const res = await request.get>( - MODULES_API_URL + '/system/company/existence', + SERVER_API_URL + '/system/company/existence', { params: { field, value, id } } diff --git a/src/api/system/company/model/index.ts b/src/api/system/company/model/index.ts index 4b85a2c..38863e1 100644 --- a/src/api/system/company/model/index.ts +++ b/src/api/system/company/model/index.ts @@ -14,6 +14,7 @@ export interface Company { companyCode?: string; domain?: string; phone?: string; + tel?: string; email?: string; InvoiceHeader?: string; startTime?: string; @@ -47,6 +48,7 @@ export interface Company { planId?: number; sortNumber?: number; authoritative?: boolean; + merchantId?: number; tenantId?: number; tenantName?: string; tenantCode?: string; @@ -55,6 +57,13 @@ export interface Company { socketUrl?: string; serverUrl?: string; modulesUrl?: string; + merchantUrl?: string; + websiteUrl?: string; + mpWeixinCode?: string; + mpAlipayCode?: string; + h5Code?: string; + androidUrl?: string; + iosUrl?: string; avatar?: string; nickname?: string; code?: number; @@ -62,6 +71,7 @@ export interface Company { updateTime?: string; password?: string; password2?: string; + collection?: boolean; } /** @@ -82,8 +92,11 @@ export interface CompanyParam extends PageParam { city?: string; region?: string; version?: number; + status?: number; sceneType?: string; createTimeStart?: string; createTimeEnd?: string; tenantId?: number; + collection?: boolean; + deleted?: number; } diff --git a/src/api/system/payment/model/index.ts b/src/api/system/payment/model/index.ts index 76fc787..31a8ac7 100644 --- a/src/api/system/payment/model/index.ts +++ b/src/api/system/payment/model/index.ts @@ -26,6 +26,8 @@ export interface Payment { apiclientKey?: string; // 商户证书序列号 merchantSerialNumber?: string; + // 支付结果通过 + notifyUrl?: string; // 备注 comments?: string; // 文章排序(数字越小越靠前) diff --git a/src/api/system/user-collection/index.ts b/src/api/system/user-collection/index.ts new file mode 100644 index 0000000..85786a0 --- /dev/null +++ b/src/api/system/user-collection/index.ts @@ -0,0 +1,106 @@ +import request from '@/utils/request'; +import type { ApiResult, PageResult } from '@/api'; +import type { UserCollection, UserCollectionParam } from './model'; +import { SERVER_API_URL } from '@/config/setting'; + +/** + * 分页查询我的收藏 + */ +export async function pageUserCollection(params: UserCollectionParam) { + const res = await request.get>>( + SERVER_API_URL + '/system/user-collection/page', + { + params + } + ); + if (res.data.code === 0) { + return res.data.data; + } + return Promise.reject(new Error(res.data.message)); +} + +/** + * 查询我的收藏列表 + */ +export async function listUserCollection(params?: UserCollectionParam) { + const res = await request.get>( + SERVER_API_URL + '/system/user-collection', + { + params + } + ); + if (res.data.code === 0 && res.data.data) { + return res.data.data; + } + return Promise.reject(new Error(res.data.message)); +} + +/** + * 添加我的收藏 + */ +export async function addUserCollection(data: UserCollection) { + const res = await request.post>( + SERVER_API_URL + '/system/user-collection', + data + ); + if (res.data.code === 0) { + return res.data.message; + } + return Promise.reject(new Error(res.data.message)); +} + +/** + * 修改我的收藏 + */ +export async function updateUserCollection(data: UserCollection) { + const res = await request.put>( + SERVER_API_URL + '/system/user-collection', + data + ); + if (res.data.code === 0) { + return res.data.message; + } + return Promise.reject(new Error(res.data.message)); +} + +/** + * 删除我的收藏 + */ +export async function removeUserCollection(id?: number) { + const res = await request.delete>( + SERVER_API_URL + '/system/user-collection/' + id + ); + if (res.data.code === 0) { + return res.data.message; + } + return Promise.reject(new Error(res.data.message)); +} + +/** + * 批量删除我的收藏 + */ +export async function removeBatchUserCollection(data: (number | undefined)[]) { + const res = await request.delete>( + SERVER_API_URL + '/system/user-collection/batch', + { + data + } + ); + if (res.data.code === 0) { + return res.data.message; + } + return Promise.reject(new Error(res.data.message)); +} + +/** + * 根据id查询我的收藏 + */ +export async function getUserCollection(id: number) { + const res = await request.get>( + SERVER_API_URL + '/system/user-collection/' + 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/system/user-collection/model/index.ts b/src/api/system/user-collection/model/index.ts new file mode 100644 index 0000000..ebd88c9 --- /dev/null +++ b/src/api/system/user-collection/model/index.ts @@ -0,0 +1,25 @@ +import type { PageParam } from '@/api'; + +/** + * 我的收藏 + */ +export interface UserCollection { + // 主键ID + id?: number; + // 租户ID + tid?: number; + // 用户ID + userId?: number; + // 租户id + tenantId?: number; + // 注册时间 + createTime?: string; +} + +/** + * 我的收藏搜索条件 + */ +export interface UserCollectionParam extends PageParam { + id?: number; + keywords?: string; +} diff --git a/src/components/SelectMerchantDown/index.vue b/src/components/SelectMerchantDown/index.vue new file mode 100644 index 0000000..b519e39 --- /dev/null +++ b/src/components/SelectMerchantDown/index.vue @@ -0,0 +1,62 @@ + + + + diff --git a/src/store/modules/tenant.ts b/src/store/modules/tenant.ts index ea600aa..39b0615 100644 --- a/src/store/modules/tenant.ts +++ b/src/store/modules/tenant.ts @@ -42,7 +42,7 @@ export const useTenantStore = defineStore({ if (company) { this.company = company; localStorage.setItem('TenantId', String(company.tenantId)); - localStorage.setItem('TenantName', String(company.companyName)); + localStorage.setItem('TenantName', String(company.shortName)); localStorage.setItem('CompanyId', String(company.companyId)); } // 用户菜单, 过滤掉按钮类型并转为 children 形式 diff --git a/src/utils/domain.ts b/src/utils/domain.ts index 62cb172..73c44b0 100644 --- a/src/utils/domain.ts +++ b/src/utils/domain.ts @@ -48,6 +48,14 @@ export function getTenantId() { return getDomainPart1(); } +/** + * 获取根域名 + * hostname + */ +export function getHostname(): string { + return window.location.hostname; +} + /** * 获取域名 * @return https://www.domain.com diff --git a/src/utils/request.ts b/src/utils/request.ts index 66302a8..a570ca3 100644 --- a/src/utils/request.ts +++ b/src/utils/request.ts @@ -10,7 +10,7 @@ import { API_BASE_URL, TOKEN_HEADER_NAME, LAYOUT_PATH } from '@/config/setting'; import { getToken, setToken } from './token-util'; import { logout } from './page-tab-util'; import type { ApiResult } from '@/api'; -import { getTenantId } from '@/utils/domain'; +import { getHostname, getTenantId } from "@/utils/domain"; const service = axios.create({ baseURL: API_BASE_URL @@ -34,6 +34,10 @@ service.interceptors.request.use( if (companyId) { config.headers.common['CompanyId'] = companyId; } + // 通过网站域名获取租户ID + if (getHostname()){ + config.headers.common['Domain'] = getHostname(); + } // 解析二级域名获取租户ID if (getTenantId()) { config.headers.common['TenantId'] = getTenantId(); diff --git a/src/views/booking/order/components/orderEdit.vue b/src/views/booking/order/components/orderEdit.vue index d86ff7f..3320629 100644 --- a/src/views/booking/order/components/orderEdit.vue +++ b/src/views/booking/order/components/orderEdit.vue @@ -1,11 +1,11 @@ @@ -347,16 +327,15 @@ const form = reactive({ orderId: undefined, orderNo: undefined, - wechatOrder: undefined, + transactionId: undefined, refundOrder: undefined, merchantId: undefined, - userId: undefined, couponId: undefined, cardId: undefined, - aid: undefined, adminId: undefined, - code: undefined, - name: undefined, + confirmId: undefined, + icCard: undefined, + realName: undefined, phone: undefined, totalPrice: undefined, reducePrice: undefined, @@ -369,22 +348,27 @@ payType: undefined, payStatus: undefined, orderStatus: undefined, - type: undefined, + couponType: undefined, + couponDesc: undefined, qrcode: undefined, - desc: undefined, returnNum: undefined, returnMoney: undefined, startTime: undefined, isInvoice: undefined, - createTime: undefined, - updateTime: undefined, payTime: undefined, refundTime: undefined, refundApplyTime: undefined, checkBill: undefined, + isSettled: undefined, + version: undefined, + userId: undefined, deleted: undefined, tenantId: undefined, - comments: '' + updateTime: undefined, + createTime: undefined, + status: 0, + comments: '', + sortNumber: 100 }); /* 更新visible */ @@ -398,7 +382,7 @@ { required: true, type: 'string', - message: '请填写预约订单名称', + message: '请填写订单名称', trigger: 'blur' } ] diff --git a/src/views/booking/order/components/orderInfo.vue b/src/views/booking/order/components/orderInfo.vue new file mode 100644 index 0000000..97312f3 --- /dev/null +++ b/src/views/booking/order/components/orderInfo.vue @@ -0,0 +1,417 @@ + + + + + diff --git a/src/views/booking/order/components/search.vue b/src/views/booking/order/components/search.vue index c0ed76e..b00fe7d 100644 --- a/src/views/booking/order/components/search.vue +++ b/src/views/booking/order/components/search.vue @@ -1,6 +1,12 @@ - @@ -128,40 +133,35 @@ 已付款 - 未付款 未付款,占场中 + - - + @@ -189,7 +190,6 @@ ExclamationCircleOutlined, CheckOutlined, CloseOutlined, - RestOutlined, ClockCircleOutlined, IdcardOutlined, WechatOutlined, @@ -202,9 +202,14 @@ ColumnItem } from 'ele-admin-pro/es/ele-pro-table/types'; import Search from './components/search.vue'; - import OrderEdit from './components/orderEdit.vue'; - import { pageOrder, removeOrder, removeBatchOrder } from '@/api/shop/order'; - import type { Order, OrderParam } from '@/api/shop/order/model'; + import OrderInfo from './components/orderInfo.vue'; + import { + pageOrder, + removeOrder, + removeBatchOrder + } from '@/api/booking/order'; + import type { Order, OrderParam } from '@/api/booking/order/model'; + import { formatNumber } from 'ele-admin-pro/es'; // 表格实例 const tableRef = ref | null>(null); @@ -249,8 +254,8 @@ }, { title: '姓名', - dataIndex: 'name', - key: 'name', + dataIndex: 'realName', + key: 'realName', align: 'center' }, { @@ -264,19 +269,22 @@ title: '总额', dataIndex: 'totalPrice', key: 'totalPrice', - align: 'center' + align: 'center', + customRender: ({ text }) => `¥${formatNumber(text)}` }, { title: '减少金额', dataIndex: 'reducePrice', key: 'reducePrice', - align: 'center' + align: 'center', + customRender: ({ text }) => `¥${formatNumber(text)}` }, { title: '实付金额', dataIndex: 'payPrice', key: 'payPrice', - align: 'center' + align: 'center', + customRender: ({ text }) => `¥${formatNumber(text)}` }, { title: '支付方式', @@ -298,8 +306,8 @@ }, { title: '优惠类型', - dataIndex: 'type', - key: 'type', + dataIndex: 'couponType', + key: 'couponType', align: 'center' }, { @@ -427,5 +435,7 @@ diff --git a/src/views/cms/website/components/edit.vue b/src/views/cms/website/components/edit.vue new file mode 100644 index 0000000..3a0df56 --- /dev/null +++ b/src/views/cms/website/components/edit.vue @@ -0,0 +1,227 @@ + + + + diff --git a/src/views/cms/website/components/search.vue b/src/views/cms/website/components/search.vue new file mode 100644 index 0000000..82fea9d --- /dev/null +++ b/src/views/cms/website/components/search.vue @@ -0,0 +1,42 @@ + + + + diff --git a/src/views/cms/website/index.vue b/src/views/cms/website/index.vue new file mode 100644 index 0000000..b284cd2 --- /dev/null +++ b/src/views/cms/website/index.vue @@ -0,0 +1,217 @@ + + + + diff --git a/src/views/oa/link/components/link-edit.vue b/src/views/oa/link/components/link-edit.vue index 48a2a8f..da64f3f 100644 --- a/src/views/oa/link/components/link-edit.vue +++ b/src/views/oa/link/components/link-edit.vue @@ -151,7 +151,6 @@ { required: true, message: '请输入正确的URL', - pattern: urlReg, type: 'string', trigger: 'blur' } diff --git a/src/views/oa/link/index.vue b/src/views/oa/link/index.vue index b61dd80..6768dd1 100644 --- a/src/views/oa/link/index.vue +++ b/src/views/oa/link/index.vue @@ -26,12 +26,12 @@ - - + { - console.log(data); images.value.push({ uid: data.id, url: data.thumbnail, diff --git a/src/views/system/profile/index.vue b/src/views/system/profile/index.vue index 7a76414..84749cb 100644 --- a/src/views/system/profile/index.vue +++ b/src/views/system/profile/index.vue @@ -32,7 +32,7 @@ - + {{ form.shortName }} 修改 - +
{{ form.comments }}
修改
- - - Tenant - 修改 - - + + + + + 已上线 - 开发中 + 开发中 维护中 已欠费 @@ -66,127 +65,121 @@ 永久授权
- - + + {{ form.versionName }} 更新 - {{ form.createTime }} + {{ form.createTime }} - {{ form.expirationTime }} + {{ form.expirationTime }} -
+
{{ form.companyName ? form.companyName : '-' }} 已认证 未认证
- 修改 - {{ form.companyType }} - 修改 + {{ form.companyType }} - + {{ form.industryParent }} {{ form.industryChild ? form.industryChild : '-' }} - 修改 - + {{ form.province }} {{ form.city }} {{ form.region ? form.region : '-' }} - 修改 - + {{ form.address ? form.address : '-' }} - 修改 - - - - - {{ form.domain ? form.domain : '-' }} - 修改 - - - - - {{ form.phone }} - - - - - {{ form.email }} + + + + + + + + + + + + + + + + - + {{ form.users }} - 更新 - + {{ form.departments }} - - {{ getFileSize(form.storage) }}/{{ - getFileSize(form.storageMax) - }} + + {{ getFileSize(form.storage) }} + + + - - {{ form.tenantId }} + + {{ form.tenantId }} - - {{ form.tenantCode }} + + {{ form.tenantCode }} - - - {{ form.requestUrl ? form.requestUrl : '-' }} - 修改 - - - - - {{ form.socketUrl ? form.socketUrl : '-' }} - 修改 - - - - - {{ form.modulesUrl ? form.modulesUrl : '-' }} - 修改 - + + {{ form.planId }} + + + + + + + + + + + + + + + + + + - 注销 + 注销 +
注销后,当前应用的数据将会销毁,且不可恢复,请谨慎操作
@@ -272,6 +265,8 @@ import {FileRecord} from "@/api/system/file/model"; startTime: '', expirationTime: '', appType: undefined, + planId: 0, + businessEntity: '', version: undefined, versionName: '', versionCode: '', diff --git a/src/views/system/setting/index.vue b/src/views/system/setting/index.vue index 458e541..df70372 100644 --- a/src/views/system/setting/index.vue +++ b/src/views/system/setting/index.vue @@ -11,9 +11,9 @@ - - - + + + @@ -45,14 +45,14 @@ import WxWork from './components/wx-work.vue'; import WxOfficial from './components/wx-official.vue'; import MpWeixin from './components/mp-weixin.vue'; - import Payment from './components/payment.vue'; + // import Payment from './components/payment.vue'; import Sms from './components/sms.vue'; import Printer from './components/printer.vue'; import Clear from './components/clear.vue'; import { listSetting } from '@/api/system/setting'; // tab页选中 - const active = ref('payment'); + const active = ref('upload'); const data = ref(); diff --git a/src/views/system/user/components/org-select.vue b/src/views/system/user/components/org-select.vue new file mode 100644 index 0000000..587424f --- /dev/null +++ b/src/views/system/user/components/org-select.vue @@ -0,0 +1,39 @@ + + + + diff --git a/src/views/system/user/components/role-select.vue b/src/views/system/user/components/role-select.vue new file mode 100644 index 0000000..04534b9 --- /dev/null +++ b/src/views/system/user/components/role-select.vue @@ -0,0 +1,71 @@ + + + + diff --git a/src/views/system/user/components/sex-select.vue b/src/views/system/user/components/sex-select.vue new file mode 100644 index 0000000..1497ad5 --- /dev/null +++ b/src/views/system/user/components/sex-select.vue @@ -0,0 +1,45 @@ + + + + diff --git a/src/views/system/user/components/user-edit.vue b/src/views/system/user/components/user-edit.vue new file mode 100644 index 0000000..f19cd97 --- /dev/null +++ b/src/views/system/user/components/user-edit.vue @@ -0,0 +1,351 @@ + + + + diff --git a/src/views/system/user/components/user-import.vue b/src/views/system/user/components/user-import.vue new file mode 100644 index 0000000..0d8cbcb --- /dev/null +++ b/src/views/system/user/components/user-import.vue @@ -0,0 +1,88 @@ + + + + diff --git a/src/views/system/user/components/user-info.vue b/src/views/system/user/components/user-info.vue new file mode 100644 index 0000000..a737d2f --- /dev/null +++ b/src/views/system/user/components/user-info.vue @@ -0,0 +1,143 @@ + + + + diff --git a/src/views/system/user/components/user-search.vue b/src/views/system/user/components/user-search.vue new file mode 100644 index 0000000..b68abad --- /dev/null +++ b/src/views/system/user/components/user-search.vue @@ -0,0 +1,111 @@ + + + + diff --git a/src/views/system/user/details/index.vue b/src/views/system/user/details/index.vue new file mode 100644 index 0000000..9e535df --- /dev/null +++ b/src/views/system/user/details/index.vue @@ -0,0 +1,130 @@ + + + + + diff --git a/src/views/system/user/index.vue b/src/views/system/user/index.vue new file mode 100644 index 0000000..97fc239 --- /dev/null +++ b/src/views/system/user/index.vue @@ -0,0 +1,554 @@ + + + + + + +