From 1603d9d525cc7b92619ec002fb87cc715c05b97f Mon Sep 17 00:00:00 2001 From: sonjinyon <2476687577@qq.com> Date: Wed, 23 Oct 2024 23:13:47 +0800 Subject: [PATCH] =?UTF-8?q?=E9=A2=84=E7=BA=A6=E6=A8=A1=E5=9D=97=E4=BF=AE?= =?UTF-8?q?=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/api/subscribe/configuration/index.ts | 56 +++ .../src/api/subscribe/project/index.ts | 12 + .../src/api/subscribe/reservation/index.ts | 16 +- .../src/api/subscribe/technician/index.ts | 3 +- yudao-admin-vue3/src/utils/dict.ts | 3 + .../src/views/subscribe/brand/index.vue | 467 +++++++----------- .../configuration/ConfigurationForm.vue | 121 +++++ .../views/subscribe/configuration/index.vue | 242 +++++++++ .../views/subscribe/project/ProjectForm.vue | 4 +- .../src/views/subscribe/project/index.vue | 5 +- .../src/views/subscribe/reservation/index.vue | 67 ++- .../technician/LitemallTechnicianForm.vue | 86 ++-- .../src/views/subscribe/technician/index.vue | 167 +++++-- .../app/order/vo/AppPointOrderVO.java | 1 + .../order/vo/AppTradeOrderDetailRespVO.java | 2 + .../convert/order/TradeOrderConvert.java | 2 + .../subscribe/enums/ErrorCodeConstants.java | 6 + .../yudao-module-subscribe-biz/pom.xml | 4 + .../ConfigurationController.java | 113 +++++ .../vo/ConfigurationPageReqVO.java | 41 ++ .../configuration/vo/ConfigurationRespVO.java | 49 ++ .../vo/ConfigurationSaveReqVO.java | 36 ++ .../admin/project/ProjectController.java | 9 + .../admin/project/vo/SelectDataVO.java | 11 + .../projectday/ProjectdayController.java | 97 ++++ .../projectday/vo/ProjectdayPageReqVO.java | 28 ++ .../admin/projectday/vo/ProjectdayRespVO.java | 31 ++ .../projectday/vo/ProjectdaySaveReqVO.java | 22 + .../vo/LitemallReservationPageReqVO.java | 21 +- .../vo/LitemallReservationRespVO.java | 35 +- .../vo/LitemallReservationSaveReqVO.java | 20 +- .../LitemallTechnicianController.java | 4 + .../vo/LitemallTechnicianPageReqVO.java | 2 + .../vo/LitemallTechnicianRespVO.java | 3 + .../vo/LitemallTechnicianSaveReqVO.java | 4 + .../admin/technician/vo/ServiceTimeVO.java | 2 + .../app/brand/AppBrandController.java | 23 +- .../AppConfigurationController.java | 27 + .../app/project/AppProjectController.java | 28 ++ .../projectday/AppProjectDayController.java | 30 ++ .../reservation/AppReservationController.java | 45 +- .../technician/AppTechnicianController.java | 60 ++- .../configuration/ConfigurationDO.java | 58 +++ .../dataobject/projectday/ProjectdayDO.java | 41 ++ .../reservation/LitemallReservationDO.java | 51 +- .../technician/LitemallTechnicianDO.java | 4 + .../configuration/ConfigurationMapper.java | 30 ++ .../mysql/projectday/ProjectdayMapper.java | 27 + .../LitemallReservationMapper.java | 4 - .../service/brand/LitemallBrandService.java | 2 + .../configuration/ConfigurationService.java | 64 +++ .../ConfigurationServiceImpl.java | 145 ++++++ .../service/project/ProjectService.java | 7 + .../service/project/ProjectServiceImpl.java | 122 ++++- .../service/projectday/ProjectdayService.java | 60 +++ .../projectday/ProjectdayServiceImpl.java | 78 +++ .../LitemallReservationService.java | 6 +- .../LitemallReservationServiceImpl.java | 110 ++++- .../technician/LitemallTechnicianService.java | 2 + .../LitemallTechnicianServiceImpl.java | 60 ++- 60 files changed, 2320 insertions(+), 556 deletions(-) create mode 100644 yudao-admin-vue3/src/api/subscribe/configuration/index.ts create mode 100644 yudao-admin-vue3/src/views/subscribe/configuration/ConfigurationForm.vue create mode 100644 yudao-admin-vue3/src/views/subscribe/configuration/index.vue create mode 100644 yudao-module-subscribe/yudao-module-subscribe-biz/src/main/java/cn/iocoder/yudao/module/srbscribe/controller/admin/configuration/ConfigurationController.java create mode 100644 yudao-module-subscribe/yudao-module-subscribe-biz/src/main/java/cn/iocoder/yudao/module/srbscribe/controller/admin/configuration/vo/ConfigurationPageReqVO.java create mode 100644 yudao-module-subscribe/yudao-module-subscribe-biz/src/main/java/cn/iocoder/yudao/module/srbscribe/controller/admin/configuration/vo/ConfigurationRespVO.java create mode 100644 yudao-module-subscribe/yudao-module-subscribe-biz/src/main/java/cn/iocoder/yudao/module/srbscribe/controller/admin/configuration/vo/ConfigurationSaveReqVO.java create mode 100644 yudao-module-subscribe/yudao-module-subscribe-biz/src/main/java/cn/iocoder/yudao/module/srbscribe/controller/admin/project/vo/SelectDataVO.java create mode 100644 yudao-module-subscribe/yudao-module-subscribe-biz/src/main/java/cn/iocoder/yudao/module/srbscribe/controller/admin/projectday/ProjectdayController.java create mode 100644 yudao-module-subscribe/yudao-module-subscribe-biz/src/main/java/cn/iocoder/yudao/module/srbscribe/controller/admin/projectday/vo/ProjectdayPageReqVO.java create mode 100644 yudao-module-subscribe/yudao-module-subscribe-biz/src/main/java/cn/iocoder/yudao/module/srbscribe/controller/admin/projectday/vo/ProjectdayRespVO.java create mode 100644 yudao-module-subscribe/yudao-module-subscribe-biz/src/main/java/cn/iocoder/yudao/module/srbscribe/controller/admin/projectday/vo/ProjectdaySaveReqVO.java create mode 100644 yudao-module-subscribe/yudao-module-subscribe-biz/src/main/java/cn/iocoder/yudao/module/srbscribe/controller/app/configuration/AppConfigurationController.java create mode 100644 yudao-module-subscribe/yudao-module-subscribe-biz/src/main/java/cn/iocoder/yudao/module/srbscribe/controller/app/project/AppProjectController.java create mode 100644 yudao-module-subscribe/yudao-module-subscribe-biz/src/main/java/cn/iocoder/yudao/module/srbscribe/controller/app/projectday/AppProjectDayController.java create mode 100644 yudao-module-subscribe/yudao-module-subscribe-biz/src/main/java/cn/iocoder/yudao/module/srbscribe/dal/dataobject/configuration/ConfigurationDO.java create mode 100644 yudao-module-subscribe/yudao-module-subscribe-biz/src/main/java/cn/iocoder/yudao/module/srbscribe/dal/dataobject/projectday/ProjectdayDO.java create mode 100644 yudao-module-subscribe/yudao-module-subscribe-biz/src/main/java/cn/iocoder/yudao/module/srbscribe/dal/mysql/configuration/ConfigurationMapper.java create mode 100644 yudao-module-subscribe/yudao-module-subscribe-biz/src/main/java/cn/iocoder/yudao/module/srbscribe/dal/mysql/projectday/ProjectdayMapper.java create mode 100644 yudao-module-subscribe/yudao-module-subscribe-biz/src/main/java/cn/iocoder/yudao/module/srbscribe/service/configuration/ConfigurationService.java create mode 100644 yudao-module-subscribe/yudao-module-subscribe-biz/src/main/java/cn/iocoder/yudao/module/srbscribe/service/configuration/ConfigurationServiceImpl.java create mode 100644 yudao-module-subscribe/yudao-module-subscribe-biz/src/main/java/cn/iocoder/yudao/module/srbscribe/service/projectday/ProjectdayService.java create mode 100644 yudao-module-subscribe/yudao-module-subscribe-biz/src/main/java/cn/iocoder/yudao/module/srbscribe/service/projectday/ProjectdayServiceImpl.java diff --git a/yudao-admin-vue3/src/api/subscribe/configuration/index.ts b/yudao-admin-vue3/src/api/subscribe/configuration/index.ts new file mode 100644 index 0000000..fc3d3e1 --- /dev/null +++ b/yudao-admin-vue3/src/api/subscribe/configuration/index.ts @@ -0,0 +1,56 @@ +import request from '@/config/axios' + +// 预约配置 VO +export interface ConfigurationVO { + id: number // id + projectdayId: number + serviceTime: string + technicianId: number // 套餐id + technicianName: string + timeQuantum: string // 时间段 + availableNumber: number // 可预约数 + residueNumber: number // 剩余预约数 + status: number // 状态 +} + +// 预约配置 API +export const ConfigurationApi = { + // 查询预约配置分页 + getConfigurationPage: async (params: any) => { + return await request.get({ url: `/subscribe/configuration/page`, params }) + }, + + // 查询预约配置详情 + getConfiguration: async (id: number) => { + return await request.get({ url: `/subscribe/configuration/get?id=` + id }) + }, + + // 新增预约配置 + createConfiguration: async (data: ConfigurationVO) => { + return await request.post({ url: `/subscribe/configuration/create`, data }) + }, + + // 修改预约配置 + updateConfiguration: async (data: ConfigurationVO) => { + return await request.put({ url: `/subscribe/configuration/update`, data }) + }, + + // 删除预约配置 + deleteConfiguration: async (id: number) => { + return await request.delete({ url: `/subscribe/configuration/delete?id=` + id }) + }, + + // 导出预约配置 Excel + exportConfiguration: async (params) => { + return await request.download({ url: `/subscribe/configuration/export-excel`, params }) + }, + + // addUpdConfiguration: async (projectdayId: number,technicianId: number,serviceTimes: string) => { + // return await request.post({ url: `/subscribe/configuration/addUpdConfiguration?projectdayId=`+projectdayId+`&technicianId=`+technicianId+`&serviceTimes=`+serviceTimes }) + // }, + + + addUpdConfiguration: async (data: ConfigurationVO) => { + return await request.post({ url: `/subscribe/configuration/addUpdConfiguration`, data }) + }, +} \ No newline at end of file diff --git a/yudao-admin-vue3/src/api/subscribe/project/index.ts b/yudao-admin-vue3/src/api/subscribe/project/index.ts index 99e91f7..f4dcfb8 100644 --- a/yudao-admin-vue3/src/api/subscribe/project/index.ts +++ b/yudao-admin-vue3/src/api/subscribe/project/index.ts @@ -4,6 +4,7 @@ import request from '@/config/axios' export interface ProjectVO { id: number // ID brandId: number // 所属门店 + yuyueNum: number //可预约数量 name: string // 项目名称 pictrue: string // 项目图片 content: string // 项目简介 @@ -48,4 +49,15 @@ export const ProjectApi = { return await request.get({ url: `/subscribe/project/getProjectName` }) }, + getProjectDay: async (id: number) => { + return await request.get({ url: `/subscribe/project/getProjectDay?id=` + id }) + }, + + getConfiguration: async (id: number) => { + return await request.get({ url: `/subscribe/configuration/getConfiguration?id=` + id }) + }, + + + + } \ No newline at end of file diff --git a/yudao-admin-vue3/src/api/subscribe/reservation/index.ts b/yudao-admin-vue3/src/api/subscribe/reservation/index.ts index 3a6e6e0..692116b 100644 --- a/yudao-admin-vue3/src/api/subscribe/reservation/index.ts +++ b/yudao-admin-vue3/src/api/subscribe/reservation/index.ts @@ -5,13 +5,21 @@ export interface LitemallReservationVO { id: number // id userId: number // 用户id nickname: string - type: number // 预约类型 + // type: number // 预约类型 brandId: string // 门店id - brandName: string technicianId: string // 人员id + + name: string + phone: string + brandName: string + porjectName: string technicianName: string - reAddTime: Date // 预约时间 - hsstr: string // 预约时间段 + days: string + timeQuantum: string + + + // reAddTime: Date // 预约时间 + // hsstr: string // 预约时间段 reStatus: number // 预约状态 status: number // 审核状态 remark: string // 备注 diff --git a/yudao-admin-vue3/src/api/subscribe/technician/index.ts b/yudao-admin-vue3/src/api/subscribe/technician/index.ts index 2c042ca..dcc3add 100644 --- a/yudao-admin-vue3/src/api/subscribe/technician/index.ts +++ b/yudao-admin-vue3/src/api/subscribe/technician/index.ts @@ -2,7 +2,8 @@ import request from '@/config/axios' // 人员管理 VO export interface LitemallTechnicianVO { - id: number // id + id: number // idd + name: string projectId: number // 项目id brandName: string //项目名称 photo: string // 照片 diff --git a/yudao-admin-vue3/src/utils/dict.ts b/yudao-admin-vue3/src/utils/dict.ts index 84772d4..d768bba 100644 --- a/yudao-admin-vue3/src/utils/dict.ts +++ b/yudao-admin-vue3/src/utils/dict.ts @@ -126,6 +126,9 @@ export enum DICT_TYPE { //预约:项目 SUBSCRIBE_PROJECT_STATUS = 'subscribe_project_status', + + //预约:配置 + SUBSCRIBE_CONFIGURATION_STATUS = 'subscribe_configuration_status', //预约:人员管理 STALL_SEX = 'stall_sex', diff --git a/yudao-admin-vue3/src/views/subscribe/brand/index.vue b/yudao-admin-vue3/src/views/subscribe/brand/index.vue index f000a3f..84aaf00 100644 --- a/yudao-admin-vue3/src/views/subscribe/brand/index.vue +++ b/yudao-admin-vue3/src/views/subscribe/brand/index.vue @@ -1,292 +1,209 @@ + /** 初始化 **/ + onMounted(() => { + getList() + }) + \ No newline at end of file diff --git a/yudao-admin-vue3/src/views/subscribe/configuration/ConfigurationForm.vue b/yudao-admin-vue3/src/views/subscribe/configuration/ConfigurationForm.vue new file mode 100644 index 0000000..9480f09 --- /dev/null +++ b/yudao-admin-vue3/src/views/subscribe/configuration/ConfigurationForm.vue @@ -0,0 +1,121 @@ + + \ No newline at end of file diff --git a/yudao-admin-vue3/src/views/subscribe/configuration/index.vue b/yudao-admin-vue3/src/views/subscribe/configuration/index.vue new file mode 100644 index 0000000..e2e5de4 --- /dev/null +++ b/yudao-admin-vue3/src/views/subscribe/configuration/index.vue @@ -0,0 +1,242 @@ + + + \ No newline at end of file diff --git a/yudao-admin-vue3/src/views/subscribe/project/ProjectForm.vue b/yudao-admin-vue3/src/views/subscribe/project/ProjectForm.vue index 3204d9e..21138f7 100644 --- a/yudao-admin-vue3/src/views/subscribe/project/ProjectForm.vue +++ b/yudao-admin-vue3/src/views/subscribe/project/ProjectForm.vue @@ -34,7 +34,6 @@ - { try { formData.value = await ProjectApi.getProject(id) formData.value.timeInterval = JSON.parse(formData.value.timeInterval) - console.log('11111111111',formData.value) + } finally { formLoading.value = false } @@ -107,6 +106,7 @@ defineExpose({ open }) // 提供 open 方法,用于打开弹窗 /** 提交表单 */ const emit = defineEmits(['success']) // 定义 success 事件,用于操作成功后的回调 const submitForm = async () => { + console.log('11111111111',formData.value.timeInterval) formData.value.timeInterval = JSON.stringify(formData.value.timeInterval); // 校验表单 await formRef.value.validate() diff --git a/yudao-admin-vue3/src/views/subscribe/project/index.vue b/yudao-admin-vue3/src/views/subscribe/project/index.vue index 156bb26..815ad44 100644 --- a/yudao-admin-vue3/src/views/subscribe/project/index.vue +++ b/yudao-admin-vue3/src/views/subscribe/project/index.vue @@ -49,10 +49,10 @@ - + - +