diff --git a/apps/web-antd/src/api/property/clean_order/model.d.ts b/apps/web-antd/src/api/property/clean_order/model.d.ts index 9715d000..74c0f48d 100644 --- a/apps/web-antd/src/api/property/clean_order/model.d.ts +++ b/apps/web-antd/src/api/property/clean_order/model.d.ts @@ -70,7 +70,7 @@ export interface Clean_orderVO { * 联系电话 */ phone: string; - + relationList: any[]; } export interface Clean_orderForm extends BaseEntity { diff --git a/apps/web-antd/src/api/property/meetbooking/index.ts b/apps/web-antd/src/api/property/meetbooking/index.ts index 9e0b4e02..41c3e37b 100644 --- a/apps/web-antd/src/api/property/meetbooking/index.ts +++ b/apps/web-antd/src/api/property/meetbooking/index.ts @@ -1,4 +1,4 @@ -import type { MeetbookingVO, MeetbookingForm, MeetbookingQuery } from './model'; +import type { MeetbookingVO, MeetbookingForm, MeetbookingQuery, MeetbookingAppointmentQuery } from './model'; import type { ID, IDS } from '#/api/common'; import type { PageResult } from '#/api/common'; diff --git a/apps/web-antd/src/api/property/meetbooking/model.d.ts b/apps/web-antd/src/api/property/meetbooking/model.d.ts index 142e72e2..213c7266 100644 --- a/apps/web-antd/src/api/property/meetbooking/model.d.ts +++ b/apps/web-antd/src/api/property/meetbooking/model.d.ts @@ -222,3 +222,4 @@ export interface MeetbookingQuery extends PageQuery { */ params?: any; } + diff --git a/apps/web-antd/src/api/property/reportStatistics/index.ts b/apps/web-antd/src/api/property/reportStatistics/index.ts index 1b90ef0b..d562372c 100644 --- a/apps/web-antd/src/api/property/reportStatistics/index.ts +++ b/apps/web-antd/src/api/property/reportStatistics/index.ts @@ -68,3 +68,12 @@ export function countAchieved() { export function countByCusScore() { return requestClient.get('/property/orderMaintain/countByCusScore'); } + + /** + * 统计下单客户总数 + * @param + * @returns void + */ + export function countCustomers() { + return requestClient.get('/property/rentalOrder/countCustomers'); + } diff --git a/apps/web-antd/src/api/property/roomBooking/conferenceView/index.ts b/apps/web-antd/src/api/property/roomBooking/conferenceView/index.ts new file mode 100644 index 00000000..4ab4c243 --- /dev/null +++ b/apps/web-antd/src/api/property/roomBooking/conferenceView/index.ts @@ -0,0 +1,21 @@ +import type { getAppointmentListByDateQuery,getAppointmentListByIdQuery } from './model'; + +import type { PageResult } from '#/api/common'; +import { requestClient } from '#/api/request'; + +/** +* 按照日期查询已预约会议预约记录列表 +* @param params +* @returns 会议预约列表 +*/ +export function getAppointmentListByDate(params?: getAppointmentListByDateQuery) { + return requestClient.get('/property/meetbooking/appointment-list', { params }); +} +/** +* 按照会议室Id查询已预约会议预约记录列表 +* @param params +* @returns 会议预约列表 +*/ +export function getAppointmentListBymeetId(params?: getAppointmentListByIdQuery) { + return requestClient.get('/property/meetbooking/meet-appointment-list', { params }); +} \ No newline at end of file diff --git a/apps/web-antd/src/api/property/roomBooking/conferenceView/model.d.ts b/apps/web-antd/src/api/property/roomBooking/conferenceView/model.d.ts new file mode 100644 index 00000000..9ae38093 --- /dev/null +++ b/apps/web-antd/src/api/property/roomBooking/conferenceView/model.d.ts @@ -0,0 +1,12 @@ +export interface getAppointmentListByDateQuery { + /** + * 日期 + */ + appointmentDate?: string; +} +export interface getAppointmentListByIdQuery { + /** + * 会议室id + */ + meetId?: string; +} diff --git a/apps/web-antd/src/api/property/roomBooking/index.ts b/apps/web-antd/src/api/property/roomBooking/index.ts index 746b8244..2619975f 100644 --- a/apps/web-antd/src/api/property/roomBooking/index.ts +++ b/apps/web-antd/src/api/property/roomBooking/index.ts @@ -1,4 +1,4 @@ -import type { RoomBookingVO, RoomBookingForm, RoomBookingQuery } from './model'; +import type { RoomBookingVO, RoomBookingForm, RoomBookingQuery,GetMeetNameVO } from './model'; import type { ID, IDS } from '#/api/common'; import type { PageResult } from '#/api/common'; @@ -6,6 +6,15 @@ import type { PageResult } from '#/api/common'; import { commonExport } from '#/api/helper'; import { requestClient } from '#/api/request'; +/** +* 查询会议室名称列表 +* @param getMeetName 后端约定传'getMeetName' +* @returns 会议室名称列表 +*/ +export function getMeetName() { + return requestClient.get>(`/property/enum-fetcher/enum-values/${'getMeetName'}`); +} + /** * 查询会议管理列表 * @param params @@ -59,3 +68,11 @@ export function roomBookingUpdate(data: RoomBookingForm) { export function roomBookingRemove(id: ID | IDS) { return requestClient.deleteWithMsg(`/property/roomBooking/${id}`); } +/** +* 按照日期查询已预约会议预约记录列表 +* @param params +* @returns 会议预约列表 +*/ +export function meetbookingAppointmentList(params?: MeetbookingAppointmentQuery) { + return requestClient.get>('/property/meetbooking/appointment-list', { params }); +} \ No newline at end of file diff --git a/apps/web-antd/src/api/property/roomBooking/model.d.ts b/apps/web-antd/src/api/property/roomBooking/model.d.ts index cf146008..380f36bd 100644 --- a/apps/web-antd/src/api/property/roomBooking/model.d.ts +++ b/apps/web-antd/src/api/property/roomBooking/model.d.ts @@ -1,5 +1,9 @@ import type { PageQuery, BaseEntity } from '#/api/common'; +export interface GetMeetNameVO { + id: string; + name: string; +} export interface RoomBookingVO { /** * 会议室id diff --git a/apps/web-antd/src/assets/222.gif b/apps/web-antd/src/assets/222.gif new file mode 100644 index 00000000..33c38c41 Binary files /dev/null and b/apps/web-antd/src/assets/222.gif differ diff --git a/apps/web-antd/src/assets/from.png b/apps/web-antd/src/assets/from.png new file mode 100644 index 00000000..ff076013 Binary files /dev/null and b/apps/web-antd/src/assets/from.png differ diff --git a/apps/web-antd/src/assets/juxing.png b/apps/web-antd/src/assets/juxing.png new file mode 100644 index 00000000..da084f61 Binary files /dev/null and b/apps/web-antd/src/assets/juxing.png differ diff --git a/apps/web-antd/src/assets/login.png b/apps/web-antd/src/assets/login.png new file mode 100644 index 00000000..5052a9b1 Binary files /dev/null and b/apps/web-antd/src/assets/login.png differ diff --git a/apps/web-antd/src/assets/mima.png b/apps/web-antd/src/assets/mima.png new file mode 100644 index 00000000..b831e62d Binary files /dev/null and b/apps/web-antd/src/assets/mima.png differ diff --git a/apps/web-antd/src/assets/my.png b/apps/web-antd/src/assets/my.png new file mode 100644 index 00000000..82c4889e Binary files /dev/null and b/apps/web-antd/src/assets/my.png differ diff --git a/apps/web-antd/src/assets/navigation.png b/apps/web-antd/src/assets/navigation.png new file mode 100644 index 00000000..c49e2642 Binary files /dev/null and b/apps/web-antd/src/assets/navigation.png differ diff --git a/apps/web-antd/src/assets/return.png b/apps/web-antd/src/assets/return.png new file mode 100644 index 00000000..4e2b8634 Binary files /dev/null and b/apps/web-antd/src/assets/return.png differ diff --git a/apps/web-antd/src/assets/shine-lines.png b/apps/web-antd/src/assets/shine-lines.png new file mode 100644 index 00000000..400e4a25 Binary files /dev/null and b/apps/web-antd/src/assets/shine-lines.png differ diff --git a/apps/web-antd/src/assets/shine.png b/apps/web-antd/src/assets/shine.png new file mode 100644 index 00000000..2def48d2 Binary files /dev/null and b/apps/web-antd/src/assets/shine.png differ diff --git a/apps/web-antd/src/views/property/clean/cleanOrders/clean-modal.vue b/apps/web-antd/src/views/property/clean/cleanOrders/clean-modal.vue index 1a7a0774..a7952c01 100644 --- a/apps/web-antd/src/views/property/clean/cleanOrders/clean-modal.vue +++ b/apps/web-antd/src/views/property/clean/cleanOrders/clean-modal.vue @@ -39,6 +39,8 @@ const totalSumPeices = computed(() => { const isUpdate = ref(false); const isReadonly = ref(false); +const isAudit = ref(false); +const isRefund = ref(false); const title = computed(() => { return isUpdate.value ? $t('pages.common.edit') : isReadonly.value ? '详情' : $t('pages.common.add'); }); @@ -121,12 +123,16 @@ const [BasicModal, modalApi] = useVbenModal({ // 查询服务地址树形结构 setupCommunitySelect() modalApi.modalLoading(true); - const { id, readonly } = modalApi.getData() as { + const { id, readonly,audit,refund } = modalApi.getData() as { id?: string; readonly?: boolean; + audit?: boolean; + refund?: boolean; }; editCleanOrderId.value = id || ''; isReadonly.value = !!readonly; + isAudit.value = !!audit; + isRefund.value = !!refund; //判断是否是编辑状态需要先判断是否是只读状态 if(isReadonly.value){ isUpdate.value = false; @@ -139,6 +145,14 @@ const [BasicModal, modalApi] = useVbenModal({ if (record.endTime) record.endTime = dayjs(record.endTime); editUnitId.value = record.unitId || ''; detailTable.value = record.cleanList || []; + for(const item of record.relationList){ + for(let i = 0; i < detailTable.value.length; i++){ + if(item.cleanId === detailTable.value[i].id){ + detailTable.value[i].area = item.areas; + detailTable.value[i].sumPeices = item.sumPrice; + } + } + } await formApi.setValues(record); } await markInitialized(); @@ -275,14 +289,10 @@ function handleAddDetail() { } // 添加订单服务详情 function handleDetailReload(data: any) { - console.log(data,'afawed'); - detailTable.value.push(data); } // 编辑订单服务详情 function handleEditDetailReload(data: any) { - console.log(data,'1203342423'); - detailTable.value[data.index] = data; } @@ -326,7 +336,8 @@ async function handleConfirm() { data.unit = unitObj ? unitObj.name : data.unit || ''; data.name = cleanObj ? cleanObj.name : data.name || ''; data.unitId = unitObj ? unitObj.id : isUpdate.value ? editUnitId.value : ''; - data.sumPeices = parseInt(totalSumPeices.value, 10); + data.sumPeices = Number(totalSumPeices.value) + // data.sumPeices = parseInt(totalSumPeices.value, 10); // 组装 cleanIds // data.cleanIds = detailTable.value.map((item: any) => item.id); data.cleanList = detailTable.value; @@ -382,6 +393,46 @@ async function setupCommunitySelect() { }, ]); } +async function handleAudit(params: any) { + modalApi.lock(true); + const { valid } = await formApi.validate(); + if (!valid) { + return; + } + const data = cloneDeep(await formApi.getValues()); + // 单位数据缓存 + if (unitListData.length === 0) { + const res = await resident_unitList(); + unitListData = res.rows || []; + } + // 劳务数据缓存 cleanListData 已有 + // 查找label + const unitObj = unitListData.find((item) => item.id === data.unitId); + const cleanObj = cleanListData.find((item) => item.id === data.name); + data.unit = unitObj ? unitObj.name : data.unit || ''; + data.name = cleanObj ? cleanObj.name : data.name || ''; + data.unitId = unitObj ? unitObj.id : isUpdate.value ? editUnitId.value : ''; + data.sumPeices = Number(totalSumPeices.value) + data.starTime = dayjs(data.starTime).format('YYYY-MM-DD HH:mm:ss'); + data.endTime = dayjs(data.endTime).format('YYYY-MM-DD HH:mm:ss'); + // data.sumPeices = parseInt(totalSumPeices.value, 10); + // 组装 cleanIds + // data.cleanIds = detailTable.value.map((item: any) => item.id); + data.cleanList = detailTable.value; + if(params.isRefund){ + data.isUnbooking = 1; + } else if(params.isAudit){ + data.state = 1; + }else{ + data.state = 2; + } + console.log(data,'data'); + // 0:未审核 1:审核通过 2:审核不通过 + await clean_orderUpdate({...data,id:editCleanOrderId.value}) + resetInitialized(); + emit('reload'); + modalApi.close(); +} diff --git a/apps/web-antd/vite.config.mts b/apps/web-antd/vite.config.mts index 53ad1bd5..8bea9502 100644 --- a/apps/web-antd/vite.config.mts +++ b/apps/web-antd/vite.config.mts @@ -1,4 +1,5 @@ import { defineConfig } from '@vben/vite-config'; +import path from 'path'; // 自行取消注释来启用按需导入功能 // import { AntDesignVueResolver } from 'unplugin-vue-components/resolvers'; @@ -27,7 +28,7 @@ export default defineConfig(async () => { changeOrigin: true, rewrite: (path) => path.replace(/^\/api/, ''), // mock代理目标地址 - target: 'http://192.168.0.106:8080', + target: 'http://192.168.43.169:8080', // target: 'http://47.109.37.87:3010', ws: true, }, diff --git a/package.json b/package.json index 4fe3df68..0f94fcd2 100644 --- a/package.json +++ b/package.json @@ -114,5 +114,10 @@ "canvas", "node-gyp" ] + }, + "dependencies": { + "@ant-design/icons-vue": "^7.0.1", + "ant-design-vue": "^4.2.6", + "postcss-antd-fixes": "^0.2.0" } } diff --git a/packages/effects/layouts/src/authentication/authentication.vue b/packages/effects/layouts/src/authentication/authentication.vue index cb500de5..da515493 100644 --- a/packages/effects/layouts/src/authentication/authentication.vue +++ b/packages/effects/layouts/src/authentication/authentication.vue @@ -1,4 +1,4 @@ -