From e28ddabf57e0184fb30560bf185ba36e7baae3c5 Mon Sep 17 00:00:00 2001 From: FLL <2162874245@qq.com> Date: Fri, 4 Jul 2025 17:56:14 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=9A=E8=AE=AE=E7=AE=A1=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../conferenceAddServices}/index.ts | 0 .../conferenceAddServices}/model.d.ts | 43 ++- .../conferenceReservationRecords/index.ts | 61 ++++ .../conferenceReservationRecords/model.d.ts | 264 ++++++++++++++ .../roomBooking/conferenceSettings/index.ts | 61 ++++ .../roomBooking/conferenceSettings/model.d.ts | 159 +++++++++ .../src/views/property/attach/index.vue | 182 ---------- .../chargeManagement/data.ts | 28 +- .../conservationManagement/data.ts | 28 +- .../productManagement/data.ts | 15 - .../conferenceAddServices-detail.vue | 59 ++++ .../conferenceAddServices-modal.vue} | 8 +- .../conferenceAddServices}/data.ts | 66 ++-- .../conferenceAddServices/index.vue | 167 ++++++++- ...=> conferenceReservationRecords-modal.vue} | 6 +- .../conferenceReservationRecords/data.ts | 332 ++++++++---------- .../conferenceReservationRecords/index.vue | 81 ++--- .../roomBooking/conferenceSettings/data.ts | 142 ++++++++ .../roomBooking/conferenceSettings/index.vue | 150 +++++++- .../conferenceSettings/meet-modal.vue | 101 ++++++ 20 files changed, 1433 insertions(+), 520 deletions(-) rename apps/web-antd/src/api/property/{attach => roomBooking/conferenceAddServices}/index.ts (100%) rename apps/web-antd/src/api/property/{attach => roomBooking/conferenceAddServices}/model.d.ts (73%) create mode 100644 apps/web-antd/src/api/property/roomBooking/conferenceReservationRecords/index.ts create mode 100644 apps/web-antd/src/api/property/roomBooking/conferenceReservationRecords/model.d.ts create mode 100644 apps/web-antd/src/api/property/roomBooking/conferenceSettings/index.ts create mode 100644 apps/web-antd/src/api/property/roomBooking/conferenceSettings/model.d.ts delete mode 100644 apps/web-antd/src/views/property/attach/index.vue create mode 100644 apps/web-antd/src/views/property/roomBooking/conferenceAddServices/conferenceAddServices-detail.vue rename apps/web-antd/src/views/property/{attach/attach-modal.vue => roomBooking/conferenceAddServices/conferenceAddServices-modal.vue} (93%) rename apps/web-antd/src/views/property/{attach => roomBooking/conferenceAddServices}/data.ts (67%) rename apps/web-antd/src/views/property/roomBooking/conferenceReservationRecords/{roomBooking-modal.vue => conferenceReservationRecords-modal.vue} (90%) create mode 100644 apps/web-antd/src/views/property/roomBooking/conferenceSettings/data.ts create mode 100644 apps/web-antd/src/views/property/roomBooking/conferenceSettings/meet-modal.vue diff --git a/apps/web-antd/src/api/property/attach/index.ts b/apps/web-antd/src/api/property/roomBooking/conferenceAddServices/index.ts similarity index 100% rename from apps/web-antd/src/api/property/attach/index.ts rename to apps/web-antd/src/api/property/roomBooking/conferenceAddServices/index.ts diff --git a/apps/web-antd/src/api/property/attach/model.d.ts b/apps/web-antd/src/api/property/roomBooking/conferenceAddServices/model.d.ts similarity index 73% rename from apps/web-antd/src/api/property/attach/model.d.ts rename to apps/web-antd/src/api/property/roomBooking/conferenceAddServices/model.d.ts index c3809dd3..3ba035ac 100644 --- a/apps/web-antd/src/api/property/attach/model.d.ts +++ b/apps/web-antd/src/api/property/roomBooking/conferenceAddServices/model.d.ts @@ -40,7 +40,6 @@ export interface AttachVO { * 创建时间 */ createTime: string; - } export interface AttachForm extends BaseEntity { @@ -117,3 +116,45 @@ export interface AttachQuery extends PageQuery { */ params?: any; } + +export interface conferenceAddServices extends BaseEntity { + /** + * 主键 + */ + id: string | number; + + /** + * 会议室id + */ + meetId: string | number; + + /** + * 产品名称 + */ + projectName: string; + + /** + * 单价 + */ + price: number; + + /** + * 单位 + */ + unit: string; + + /** + * 类型 + */ + type: string; + + /** + * 状态 + */ + state: number; + + /** + * 创建时间 + */ + createTime: string; +} diff --git a/apps/web-antd/src/api/property/roomBooking/conferenceReservationRecords/index.ts b/apps/web-antd/src/api/property/roomBooking/conferenceReservationRecords/index.ts new file mode 100644 index 00000000..3bf2a7bf --- /dev/null +++ b/apps/web-antd/src/api/property/roomBooking/conferenceReservationRecords/index.ts @@ -0,0 +1,61 @@ +import type { BookingVO, BookingForm, BookingQuery } from './model'; + +import type { ID, IDS } from '#/api/common'; +import type { PageResult } from '#/api/common'; + +import { commonExport } from '#/api/helper'; +import { requestClient } from '#/api/request'; + +/** +* 查询booking列表 +* @param params +* @returns booking列表 +*/ +export function bookingList(params?: BookingQuery) { + return requestClient.get>('/system/booking/list', { params }); +} + +/** + * 导出booking列表 + * @param params + * @returns booking列表 + */ +export function bookingExport(params?: BookingQuery) { + return commonExport('/system/booking/export', params ?? {}); +} + +/** + * 查询booking详情 + * @param id id + * @returns booking详情 + */ +export function bookingInfo(id: ID) { + return requestClient.get(`/system/booking/${id}`); +} + +/** + * 新增booking + * @param data + * @returns void + */ +export function bookingAdd(data: BookingForm) { + return requestClient.postWithMsg('/system/booking', data); +} + +/** + * 更新booking + * @param data + * @returns void + */ +export function bookingUpdate(data: BookingForm) { + return requestClient.putWithMsg('/system/booking', data); +} + +/** + * 删除booking + * @param id id + * @returns void + */ +export function bookingRemove(id: ID | IDS) { + return requestClient.deleteWithMsg(`/system/booking/${id}`); +} diff --git a/apps/web-antd/src/api/property/roomBooking/conferenceReservationRecords/model.d.ts b/apps/web-antd/src/api/property/roomBooking/conferenceReservationRecords/model.d.ts new file mode 100644 index 00000000..83a45ee4 --- /dev/null +++ b/apps/web-antd/src/api/property/roomBooking/conferenceReservationRecords/model.d.ts @@ -0,0 +1,264 @@ +import type { PageQuery, BaseEntity } from '#/api/common'; + +export interface BookingVO { + /** + * 主键 + */ + id: string | number; + + /** + * 会议室名称 + */ + name: string; + + /** + * 会议室id + */ + meetId: string | number; + + /** + * 会议室地址 + */ + meetLocation: string; + + /** + * 所属单位 + */ + unit: string; + + /** + * 预定人 + */ + person: string; + + /** + * 联系方式 + */ + phone: string; + + /** + * 预定开始时间 + */ + scheduledStarttime: string; + + /** + * 预定结束时间 + */ + scheduledEndtime: string; + + /** + * 参会人数 + */ + personSum: number; + + /** + * 费用 + */ + price: number; + + /** + * 是否包含增值服务 + */ + attach: number; + + /** + * 支付状态 + */ + payState: number; + + /** + * 状态 + */ + state: number; + + /** + * 创建人id + */ + createById: string | number; + + /** + * 更新人id + */ + updateById: string | number; + + /** + * 搜索值 + */ + searchValue: string; + +} + +export interface BookingForm extends BaseEntity { + /** + * 主键 + */ + id?: string | number; + + /** + * 会议室名称 + */ + name?: string; + + /** + * 会议室id + */ + meetId?: string | number; + + /** + * 会议室地址 + */ + meetLocation?: string; + + /** + * 所属单位 + */ + unit?: string; + + /** + * 预定人 + */ + person?: string; + + /** + * 联系方式 + */ + phone?: string; + + /** + * 预定开始时间 + */ + scheduledStarttime?: string; + + /** + * 预定结束时间 + */ + scheduledEndtime?: string; + + /** + * 参会人数 + */ + personSum?: number; + + /** + * 费用 + */ + price?: number; + + /** + * 是否包含增值服务 + */ + attach?: number; + + /** + * 支付状态 + */ + payState?: number; + + /** + * 状态 + */ + state?: number; + + /** + * 创建人id + */ + createById?: string | number; + + /** + * 更新人id + */ + updateById?: string | number; + + /** + * 搜索值 + */ + searchValue?: string; + +} + +export interface BookingQuery extends PageQuery { + /** + * 会议室名称 + */ + name?: string; + + /** + * 会议室id + */ + meetId?: string | number; + + /** + * 会议室地址 + */ + meetLocation?: string; + + /** + * 所属单位 + */ + unit?: string; + + /** + * 预定人 + */ + person?: string; + + /** + * 联系方式 + */ + phone?: string; + + /** + * 预定开始时间 + */ + scheduledStarttime?: string; + + /** + * 预定结束时间 + */ + scheduledEndtime?: string; + + /** + * 参会人数 + */ + personSum?: number; + + /** + * 费用 + */ + price?: number; + + /** + * 是否包含增值服务 + */ + attach?: number; + + /** + * 支付状态 + */ + payState?: number; + + /** + * 状态 + */ + state?: number; + + /** + * 创建人id + */ + createById?: string | number; + + /** + * 更新人id + */ + updateById?: string | number; + + /** + * 搜索值 + */ + searchValue?: string; + + /** + * 日期范围参数 + */ + params?: any; +} diff --git a/apps/web-antd/src/api/property/roomBooking/conferenceSettings/index.ts b/apps/web-antd/src/api/property/roomBooking/conferenceSettings/index.ts new file mode 100644 index 00000000..8c75d4e7 --- /dev/null +++ b/apps/web-antd/src/api/property/roomBooking/conferenceSettings/index.ts @@ -0,0 +1,61 @@ +import type { MeetVO, MeetForm, MeetQuery } from './model'; + +import type { ID, IDS } from '#/api/common'; +import type { PageResult } from '#/api/common'; + +import { commonExport } from '#/api/helper'; +import { requestClient } from '#/api/request'; + +/** +* 查询会议室设置列表 +* @param params +* @returns 会议室设置列表 +*/ +export function meetList(params?: MeetQuery) { + return requestClient.get>('/system/meet/list', { params }); +} + +/** + * 导出会议室设置列表 + * @param params + * @returns 会议室设置列表 + */ +export function meetExport(params?: MeetQuery) { + return commonExport('/system/meet/export', params ?? {}); +} + +/** + * 查询会议室设置详情 + * @param id id + * @returns 会议室设置详情 + */ +export function meetInfo(id: ID) { + return requestClient.get(`/system/meet/${id}`); +} + +/** + * 新增会议室设置 + * @param data + * @returns void + */ +export function meetAdd(data: MeetForm) { + return requestClient.postWithMsg('/system/meet', data); +} + +/** + * 更新会议室设置 + * @param data + * @returns void + */ +export function meetUpdate(data: MeetForm) { + return requestClient.putWithMsg('/system/meet', data); +} + +/** + * 删除会议室设置 + * @param id id + * @returns void + */ +export function meetRemove(id: ID | IDS) { + return requestClient.deleteWithMsg(`/system/meet/${id}`); +} diff --git a/apps/web-antd/src/api/property/roomBooking/conferenceSettings/model.d.ts b/apps/web-antd/src/api/property/roomBooking/conferenceSettings/model.d.ts new file mode 100644 index 00000000..6829f8c5 --- /dev/null +++ b/apps/web-antd/src/api/property/roomBooking/conferenceSettings/model.d.ts @@ -0,0 +1,159 @@ +import type { PageQuery, BaseEntity } from '#/api/common'; + +export interface MeetVO { + /** + * 主键 + */ + id: string | number; + + /** + * 会议室名称 + */ + name: string; + + /** + * 位置 + */ + location: string; + + /** + * 容纳人数 + */ + personNumber: number; + + /** + * 基础服务 + */ + baseServiceId: string | number; + + /** + * 基础价格 + */ + basePrice: number; + + /** + * 增值服务是否启用 + */ + attach: number; + + /** + * 创建人id + */ + createById: string | number; + + /** + * 更新人id + */ + updateById: string | number; + + /** + * 搜索值 + */ + searchValue: string; + +} + +export interface MeetForm extends BaseEntity { + /** + * 主键 + */ + id?: string | number; + + /** + * 会议室名称 + */ + name?: string; + + /** + * 位置 + */ + location?: string; + + /** + * 容纳人数 + */ + personNumber?: number; + + /** + * 基础服务 + */ + baseServiceId?: string | number; + + /** + * 基础价格 + */ + basePrice?: number; + + /** + * 增值服务是否启用 + */ + attach?: number; + + /** + * 创建人id + */ + createById?: string | number; + + /** + * 更新人id + */ + updateById?: string | number; + + /** + * 搜索值 + */ + searchValue?: string; + +} + +export interface MeetQuery extends PageQuery { + /** + * 会议室名称 + */ + name?: string; + + /** + * 位置 + */ + location?: string; + + /** + * 容纳人数 + */ + personNumber?: number; + + /** + * 基础服务 + */ + baseServiceId?: string | number; + + /** + * 基础价格 + */ + basePrice?: number; + + /** + * 增值服务是否启用 + */ + attach?: number; + + /** + * 创建人id + */ + createById?: string | number; + + /** + * 更新人id + */ + updateById?: string | number; + + /** + * 搜索值 + */ + searchValue?: string; + + /** + * 日期范围参数 + */ + params?: any; +} diff --git a/apps/web-antd/src/views/property/attach/index.vue b/apps/web-antd/src/views/property/attach/index.vue deleted file mode 100644 index 30a1644d..00000000 --- a/apps/web-antd/src/views/property/attach/index.vue +++ /dev/null @@ -1,182 +0,0 @@ - - - diff --git a/apps/web-antd/src/views/property/greenPlantRentalManagement/chargeManagement/data.ts b/apps/web-antd/src/views/property/greenPlantRentalManagement/chargeManagement/data.ts index a6e0d6ec..fe1757b9 100644 --- a/apps/web-antd/src/views/property/greenPlantRentalManagement/chargeManagement/data.ts +++ b/apps/web-antd/src/views/property/greenPlantRentalManagement/chargeManagement/data.ts @@ -64,47 +64,47 @@ export const columns: VxeGridProps['columns'] = [ return (rowIndex + 1).toString(); }, }, - width: 'auto' + minWidth: '120' }, { title: '订单号', field: 'orderId', - width: 'auto' + minWidth: '120' }, { title: '租赁合同编号', field: 'userId', - width: 'auto' + minWidth: '120' }, { title: '租赁人', field: 'userName', - width: 'auto' + minWidth: '120' }, { title: '租金', field: 'rent', - width: 'auto' + minWidth: '120' }, { title: '押金', field: 'deposit', - width: 'auto' + minWidth: '120' }, { title: '违约金', field: 'penalty', - width: 'auto' + minWidth: '120' }, { title: '总金额', field: 'totalAmount', - width: 'auto' + minWidth: '120' }, { title: '收费日期', field: 'chargeDate', - width: 'auto' + minWidth: '120' }, { title: '支付方式', @@ -114,7 +114,7 @@ export const columns: VxeGridProps['columns'] = [ return renderDict(row.paymentMethod, 'pro_payment_method'); }, }, - width: 'auto' + minWidth: '120' }, { title: '开票状态', @@ -124,12 +124,12 @@ export const columns: VxeGridProps['columns'] = [ return renderDict(row.invoiceStatus, 'pro_invoice_status'); }, }, - width: 'auto' + minWidth: '120' }, { title: '发票类型', field: 'invoiceType', - width: 'auto' + minWidth: '120' }, { title: '收费状态', @@ -139,12 +139,12 @@ export const columns: VxeGridProps['columns'] = [ return renderDict(row.chargeStatus, 'pro_charging_status'); }, }, - width: 'auto' + minWidth: '120' }, { title: '创建时间', field: 'createTime', - width: 'auto' + minWidth: '120' }, { field: 'action', diff --git a/apps/web-antd/src/views/property/greenPlantRentalManagement/conservationManagement/data.ts b/apps/web-antd/src/views/property/greenPlantRentalManagement/conservationManagement/data.ts index b3656bbd..720c84c3 100644 --- a/apps/web-antd/src/views/property/greenPlantRentalManagement/conservationManagement/data.ts +++ b/apps/web-antd/src/views/property/greenPlantRentalManagement/conservationManagement/data.ts @@ -31,17 +31,17 @@ export const columns: VxeGridProps['columns'] = [ return (rowIndex + 1).toString(); }, }, - width: 'auto' + minWidth: '120' }, { title: '养护名称', field: 'maintainName', - width: 'auto' + minWidth: '120' }, { title: '服务地点(房间id)', field: 'roomId', - width: 'auto' + minWidth: '120' }, { title: '服务类型', @@ -51,7 +51,7 @@ export const columns: VxeGridProps['columns'] = [ return renderDict(row.serveType, 'pro_service_type'); }, }, - width: 'auto' + minWidth: '120' }, { title: '养护周期类型', @@ -61,27 +61,27 @@ export const columns: VxeGridProps['columns'] = [ return renderDict(row.periodType, 'wy_time_unit'); }, }, - width: 'auto' + minWidth: '120' }, { title: '养护周期频次', field: 'periodFrequency', - width: 'auto' + minWidth: '120' }, { title: '关联订单', field: 'orderId', - width: 'auto' + minWidth: '120' }, { title: '计划执行时间', field: 'startTime', - width: 'auto' + minWidth: '120' }, { title: '计划完成时间', field: 'endTime', - width: 'auto' + minWidth: '120' }, { title: '巡检结果', @@ -91,12 +91,12 @@ export const columns: VxeGridProps['columns'] = [ return renderDict(row.inspectResult, 'pro_inspection_results'); }, }, - width: 'auto' + minWidth: '120' }, { title: '处理措施', field: 'measure', - width: 'auto' + minWidth: '120' }, { title: '客户评分', @@ -109,12 +109,12 @@ export const columns: VxeGridProps['columns'] = [ }); }, }, - width: 'auto' + minWidth: '120' }, { title: '客户反馈', field: 'customerAdvice', - width: 'auto' + minWidth: '120' }, { title: '处理状态', @@ -124,7 +124,7 @@ export const columns: VxeGridProps['columns'] = [ return renderDict(row.state, 'pro_processing_status'); }, }, - width: 'auto' + minWidth: '120' }, { field: 'action', diff --git a/apps/web-antd/src/views/property/greenPlantRentalManagement/productManagement/data.ts b/apps/web-antd/src/views/property/greenPlantRentalManagement/productManagement/data.ts index 5bbef1cf..9c23214f 100644 --- a/apps/web-antd/src/views/property/greenPlantRentalManagement/productManagement/data.ts +++ b/apps/web-antd/src/views/property/greenPlantRentalManagement/productManagement/data.ts @@ -26,15 +26,6 @@ export const querySchema: FormSchemaGetter = () => [ export const columns: VxeGridProps['columns'] = [ { type: 'checkbox', width: 60 }, - { - title: '序号', - field: 'id', - slots: { - default: ({ rowIndex }) => { - return (rowIndex + 1).toString(); - }, - }, - }, { title: '产品编号', field: 'plantCode', @@ -104,12 +95,6 @@ export const modalSchema: FormSchemaGetter = () => [ triggerFields: [''], }, }, - { - label: '产品编号', - fieldName: 'plantCode', - component: 'Input', - rules: 'required', - }, { label: '产品名称', fieldName: 'plantName', diff --git a/apps/web-antd/src/views/property/roomBooking/conferenceAddServices/conferenceAddServices-detail.vue b/apps/web-antd/src/views/property/roomBooking/conferenceAddServices/conferenceAddServices-detail.vue new file mode 100644 index 00000000..7c45e4c8 --- /dev/null +++ b/apps/web-antd/src/views/property/roomBooking/conferenceAddServices/conferenceAddServices-detail.vue @@ -0,0 +1,59 @@ + + + diff --git a/apps/web-antd/src/views/property/attach/attach-modal.vue b/apps/web-antd/src/views/property/roomBooking/conferenceAddServices/conferenceAddServices-modal.vue similarity index 93% rename from apps/web-antd/src/views/property/attach/attach-modal.vue rename to apps/web-antd/src/views/property/roomBooking/conferenceAddServices/conferenceAddServices-modal.vue index 033cfbf2..4edccbce 100644 --- a/apps/web-antd/src/views/property/attach/attach-modal.vue +++ b/apps/web-antd/src/views/property/roomBooking/conferenceAddServices/conferenceAddServices-modal.vue @@ -6,7 +6,7 @@ import { $t } from '@vben/locales'; import { cloneDeep } from '@vben/utils'; import { useVbenForm } from '#/adapter/form'; -import { attachAdd, attachInfo, attachUpdate } from '#/api/property/attach'; +import { attachAdd, attachInfo, attachUpdate } from '#/api/property/roomBooking/conferenceAddServices'; import { defaultFormValueGetter, useBeforeCloseDiff } from '#/utils/popup'; import { modalSchema } from './data'; @@ -15,13 +15,13 @@ const emit = defineEmits<{ reload: [] }>(); const isUpdate = ref(false); const title = computed(() => { - return isUpdate.value ? $t('pages.common.edit') : $t('pages.common.add'); + return isUpdate.value ? $t('pages.common.edit') : $t('新增产品'); }); const [BasicForm, formApi] = useVbenForm({ commonConfig: { // 默认占满两列 - formItemClass: 'col-span-2', + formItemClass: 'col-span-1', // 默认label宽度 px labelWidth: 80, // 通用配置项 会影响到所有表单项 @@ -43,7 +43,7 @@ const { onBeforeClose, markInitialized, resetInitialized } = useBeforeCloseDiff( const [BasicModal, modalApi] = useVbenModal({ // 在这里更改宽度 - class: 'w-[550px]', + class: 'w-[60%]', fullscreenButton: false, onBeforeClose, onClosed: handleClosed, diff --git a/apps/web-antd/src/views/property/attach/data.ts b/apps/web-antd/src/views/property/roomBooking/conferenceAddServices/data.ts similarity index 67% rename from apps/web-antd/src/views/property/attach/data.ts rename to apps/web-antd/src/views/property/roomBooking/conferenceAddServices/data.ts index 18c9645e..241b2950 100644 --- a/apps/web-antd/src/views/property/attach/data.ts +++ b/apps/web-antd/src/views/property/roomBooking/conferenceAddServices/data.ts @@ -1,60 +1,40 @@ import type { FormSchemaGetter } from '#/adapter/form'; import type { VxeGridProps } from '#/adapter/vxe-table'; - +import {getDictOptions} from "#/utils/dict"; +import {renderDict} from "#/utils/render"; export const querySchema: FormSchemaGetter = () => [ { component: 'Input', - fieldName: 'meetId', - label: '会议室id', - }, - { - component: 'Textarea', fieldName: 'projectName', label: '产品名称', }, - { - component: 'Input', - fieldName: 'price', - label: '单价', - }, - { - component: 'Input', - fieldName: 'unit', - label: '单位', - }, { component: 'Select', componentProps: { + options: getDictOptions('value_added_type'), }, fieldName: 'type', label: '类型', }, { - component: 'Input', + component: 'Select', + componentProps: { + options: getDictOptions('product_management_status'), + }, fieldName: 'state', label: '状态', }, ]; -// 需要使用i18n注意这里要改成getter形式 否则切换语言不会刷新 -// export const columns: () => VxeGridProps['columns'] = () => [ export const columns: VxeGridProps['columns'] = [ { type: 'checkbox', width: 60 }, - { - title: '主键', - field: 'id', - }, - { - title: '会议室id', - field: 'meetId', - }, { title: '产品名称', field: 'projectName', }, { - title: '单价', + title: '单价(元)', field: 'price', }, { @@ -64,14 +44,20 @@ export const columns: VxeGridProps['columns'] = [ { title: '类型', field: 'type', + slots: { + default: ({ row }) => { + return renderDict(row.type, 'value_added_type'); + }, + }, }, { title: '状态', field: 'state', - }, - { - title: '创建时间', - field: 'createTime', + slots: { + default: ({ row }) => { + return renderDict(row.state, 'product_management_status'); + }, + }, }, { field: 'action', @@ -92,16 +78,10 @@ export const modalSchema: FormSchemaGetter = () => [ triggerFields: [''], }, }, - { - label: '会议室id', - fieldName: 'meetId', - component: 'Input', - rules: 'required', - }, { label: '产品名称', fieldName: 'projectName', - component: 'Textarea', + component: 'Input', rules: 'required', }, { @@ -121,13 +101,17 @@ export const modalSchema: FormSchemaGetter = () => [ fieldName: 'type', component: 'Select', componentProps: { + options: getDictOptions('value_added_type'), }, rules: 'selectRequired', }, { label: '状态', fieldName: 'state', - component: 'Input', - rules: 'required', + component: 'Select', + componentProps: { + options: getDictOptions('product_management_status'), + }, + rules: 'selectRequired', }, ]; diff --git a/apps/web-antd/src/views/property/roomBooking/conferenceAddServices/index.vue b/apps/web-antd/src/views/property/roomBooking/conferenceAddServices/index.vue index c97d2a01..2d257043 100644 --- a/apps/web-antd/src/views/property/roomBooking/conferenceAddServices/index.vue +++ b/apps/web-antd/src/views/property/roomBooking/conferenceAddServices/index.vue @@ -1,5 +1,166 @@ + + - - \ No newline at end of file diff --git a/apps/web-antd/src/views/property/roomBooking/conferenceReservationRecords/roomBooking-modal.vue b/apps/web-antd/src/views/property/roomBooking/conferenceReservationRecords/conferenceReservationRecords-modal.vue similarity index 90% rename from apps/web-antd/src/views/property/roomBooking/conferenceReservationRecords/roomBooking-modal.vue rename to apps/web-antd/src/views/property/roomBooking/conferenceReservationRecords/conferenceReservationRecords-modal.vue index 0841d157..a35647e5 100644 --- a/apps/web-antd/src/views/property/roomBooking/conferenceReservationRecords/roomBooking-modal.vue +++ b/apps/web-antd/src/views/property/roomBooking/conferenceReservationRecords/conferenceReservationRecords-modal.vue @@ -6,7 +6,7 @@ import { $t } from '@vben/locales'; import { cloneDeep } from '@vben/utils'; import { useVbenForm } from '#/adapter/form'; -import { roomBookingAdd, roomBookingInfo, roomBookingUpdate } from '#/api/property/roomBooking'; +import { bookingAdd, bookingInfo, bookingUpdate } from '#/api/property/roomBooking/conferenceReservationRecords'; import { defaultFormValueGetter, useBeforeCloseDiff } from '#/utils/popup'; import { modalSchema } from './data'; @@ -58,7 +58,7 @@ const [BasicModal, modalApi] = useVbenModal({ isUpdate.value = !!id; if (isUpdate.value && id) { - const record = await roomBookingInfo(id); + const record = await bookingInfo(id); await formApi.setValues(record); } await markInitialized(); @@ -76,7 +76,7 @@ async function handleConfirm() { } // getValues获取为一个readonly的对象 需要修改必须先深拷贝一次 const data = cloneDeep(await formApi.getValues()); - await (isUpdate.value ? roomBookingUpdate(data) : roomBookingAdd(data)); + await (isUpdate.value ? bookingUpdate(data) : bookingAdd(data)); resetInitialized(); emit('reload'); modalApi.close(); diff --git a/apps/web-antd/src/views/property/roomBooking/conferenceReservationRecords/data.ts b/apps/web-antd/src/views/property/roomBooking/conferenceReservationRecords/data.ts index fae41f2c..4d739609 100644 --- a/apps/web-antd/src/views/property/roomBooking/conferenceReservationRecords/data.ts +++ b/apps/web-antd/src/views/property/roomBooking/conferenceReservationRecords/data.ts @@ -1,117 +1,113 @@ import type { FormSchemaGetter } from '#/adapter/form'; import type { VxeGridProps } from '#/adapter/vxe-table'; - import { getDictOptions } from '#/utils/dict'; import { renderDict } from '#/utils/render'; export const querySchema: FormSchemaGetter = () => [ - { + { component: 'Input', - fieldName: 'roomName', + fieldName: 'name', label: '会议室名称', }, { component: 'Input', - fieldName: 'bookingName', - label: '会议预订人', + fieldName: 'person', + label: '预定人', + }, + { + component: 'Select', + componentProps: { + options: getDictOptions('pro_charging_status'), + }, + fieldName: 'payState', + label: '支付状态', }, { component: 'Select', componentProps: { - // 可选从DictEnum中获取 DictEnum.WY_YYZT 便于维护 options: getDictOptions('wy_yyzt'), }, - fieldName: 'bookingStatus', + fieldName: 'state', label: '预约状态', }, - ]; -// 需要使用i18n注意这里要改成getter形式 否则切换语言不会刷新 -// export const columns: () => VxeGridProps['columns'] = () => [ export const columns: VxeGridProps['columns'] = [ { type: 'checkbox', width: 60 }, { - title: '会议室id', - field: 'tbConferenceId', + title: '会议室名称', + field: 'name', + minWidth:'120' }, { - title: '预约状态', - field: 'bookingStatus', - slots: { - default: ({ row }) => { - // 可选从DictEnum中获取 DictEnum.WY_YYZT 便于维护 - return renderDict(row.bookingStatus, 'wy_yyzt'); - }, - }, + title: '会议室地址', + field: 'meetLocation', + minWidth:'120' }, { - title: '审核状态', - field: 'reviewStatus', - slots: { - default: ({ row }) => { - // 可选从DictEnum中获取 DictEnum.WY_SHZT 便于维护 - return renderDict(row.reviewStatus, 'wy_shzt'); - }, - }, + title: '所属单位', + field: 'unit', + minWidth:'120' }, { - title: '会议预订人', - field: 'bookingName', + title: '预定人', + field: 'person', + minWidth:'120' }, { - title: '使用单位', - field: 'userUnit', + title: '联系方式', + field: 'phone', + minWidth:'120' }, { - title: '会议主题', - field: 'conferenceTheme', + title: '预定开始时间', + field: 'scheduledStarttime', + minWidth:'120' }, { - title: '预约日期', - field: 'appointmentDate', - }, - { - title: '预约开始时段', - field: 'appointmentBeginTime', - }, - { - title: '预约结束时段', - field: 'appointmentEndTime', - }, - { - title: '参会人员', - field: 'attendeesName', + title: '预定结束时间', + field: 'scheduledEndtime', + minWidth:'120' }, { title: '参会人数', - field: 'approverCount', + field: 'personSum', + minWidth:'120' }, { - title: '签到开始时间', - field: 'checkInStartTime', + title: '费用', + field: 'price', + minWidth:'120' }, { - title: '签到结束时间', - field: 'checkInEndTime', + title: '是否有增值服务', + field: 'attach', + minWidth:'120' }, { - title: '评价', - field: 'evaluate', - }, - { - title: '备注', - field: 'remark', - }, - { - title: '是否需要增值服务', - field: 'addServices', + title: '支付状态', + field: 'payState', slots: { default: ({ row }) => { - // 可选从DictEnum中获取 DictEnum.WY_SF 便于维护 - return renderDict(row.addServices, 'wy_sf'); + return renderDict(row.payState, 'pro_charging_status'); }, }, + minWidth:'120' + }, + { + title: '预约状态', + field: 'state', + slots: { + default: ({ row }) => { + return renderDict(row.state, 'wy_yyzt'); + }, + }, + minWidth:'120' + }, + { + title: '提交时间', + field: 'updateTime', + minWidth:'120' }, { field: 'action', @@ -124,7 +120,7 @@ export const columns: VxeGridProps['columns'] = [ export const modalSchema: FormSchemaGetter = () => [ { - label: 'id', + label: '主键', fieldName: 'id', component: 'Input', dependencies: { @@ -133,14 +129,94 @@ export const modalSchema: FormSchemaGetter = () => [ }, }, { - label: '会议室id', - fieldName: 'tbConferenceId', + label: '会议室名称', + fieldName: 'name', component: 'Input', rules: 'required', }, { - label: '预约状态', - fieldName: 'bookingStatus', + label: '会议室id', + fieldName: 'meetId', + component: 'Input', + rules: 'required', + }, + { + label: '会议室地址', + fieldName: 'meetLocation', + component: 'Input', + rules: 'required', + }, + { + label: '所属单位', + fieldName: 'unit', + component: 'Input', + rules: 'required', + }, + { + label: '预定人', + fieldName: 'person', + component: 'Input', + rules: 'required', + }, + { + label: '联系方式', + fieldName: 'phone', + component: 'Input', + rules: 'required', + }, + { + label: '预定开始时间', + fieldName: 'scheduledStarttime', + component: 'DatePicker', + componentProps: { + showTime: true, + format: 'YYYY-MM-DD HH:mm:ss', + valueFormat: 'YYYY-MM-DD HH:mm:ss', + }, + rules: 'required', + }, + { + label: '预定结束时间', + fieldName: 'scheduledEndtime', + component: 'DatePicker', + componentProps: { + showTime: true, + format: 'YYYY-MM-DD HH:mm:ss', + valueFormat: 'YYYY-MM-DD HH:mm:ss', + }, + rules: 'required', + }, + { + label: '参会人数', + fieldName: 'personSum', + component: 'Input', + rules: 'required', + }, + { + label: '费用', + fieldName: 'price', + component: 'Input', + rules: 'required', + }, + { + label: '是否包含增值服务', + fieldName: 'attach', + component: 'Input', + rules: 'required', + }, + { + label: '支付状态', + fieldName: 'payState', + component: 'Select', + componentProps: { + // 可选从DictEnum中获取 DictEnum.PRO_CHARGING_STATUS 便于维护 + options: getDictOptions('pro_charging_status'), + }, + rules: 'selectRequired', + }, + { + label: '状态', + fieldName: 'state', component: 'Select', componentProps: { // 可选从DictEnum中获取 DictEnum.WY_YYZT 便于维护 @@ -149,122 +225,18 @@ export const modalSchema: FormSchemaGetter = () => [ rules: 'selectRequired', }, { - label: '审核状态', - fieldName: 'reviewStatus', - component: 'Select', - componentProps: { - // 可选从DictEnum中获取 DictEnum.WY_SHZT 便于维护 - options: getDictOptions('wy_shzt'), - }, - rules: 'selectRequired', - }, - { - label: '会议预订人', - fieldName: 'bookingName', + label: '创建人id', + fieldName: 'createById', component: 'Input', - rules: 'required', }, { - label: '使用单位', - fieldName: 'userUnit', + label: '更新人id', + fieldName: 'updateById', component: 'Input', - rules: 'required', }, { - label: '会议主题', - fieldName: 'conferenceTheme', + label: '搜索值', + fieldName: 'searchValue', component: 'Input', - rules: 'required', - }, - { - label: '预约日期', - fieldName: 'appointmentDate', - component: 'DatePicker', - componentProps: { - showTime: true, - format: 'YYYY-MM-DD HH:mm:ss', - valueFormat: 'YYYY-MM-DD HH:mm:ss', - }, - rules: 'required', - }, - { - label: '预约开始时段', - fieldName: 'appointmentBeginTime', - component: 'DatePicker', - componentProps: { - showTime: true, - format: 'YYYY-MM-DD HH:mm:ss', - valueFormat: 'YYYY-MM-DD HH:mm:ss', - }, - rules: 'required', - }, - { - label: '预约结束时段', - fieldName: 'appointmentEndTime', - component: 'DatePicker', - componentProps: { - showTime: true, - format: 'YYYY-MM-DD HH:mm:ss', - valueFormat: 'YYYY-MM-DD HH:mm:ss', - }, - rules: 'required', - }, - { - label: '参会人员', - fieldName: 'attendeesName', - component: 'Input', - rules: 'required', - }, - { - label: '参会人数', - fieldName: 'approverCount', - component: 'Input', - rules: 'required', - }, - { - label: '签到开始时间', - fieldName: 'checkInStartTime', - component: 'DatePicker', - componentProps: { - showTime: true, - format: 'YYYY-MM-DD HH:mm:ss', - valueFormat: 'YYYY-MM-DD HH:mm:ss', - }, - rules: 'required', - }, - { - label: '签到结束时间', - fieldName: 'checkInEndTime', - component: 'DatePicker', - componentProps: { - showTime: true, - format: 'YYYY-MM-DD HH:mm:ss', - valueFormat: 'YYYY-MM-DD HH:mm:ss', - }, - rules: 'required', - }, - { - label: '评价', - fieldName: 'evaluate', - component: 'Input', - rules: 'required', - }, - { - label: '备注', - fieldName: 'remark', - component: 'Input', - rules: 'required', - }, - { - label: '是否需要增值服务', - fieldName: 'addServices', - component: 'RadioGroup', - componentProps: { - // 可选从DictEnum中获取 DictEnum.WY_SF 便于维护 - options: getDictOptions('wy_sf'), - buttonStyle: 'solid', - optionType: 'button', - }, - rules: 'selectRequired', }, ]; diff --git a/apps/web-antd/src/views/property/roomBooking/conferenceReservationRecords/index.vue b/apps/web-antd/src/views/property/roomBooking/conferenceReservationRecords/index.vue index 1b150dfa..564ee8db 100644 --- a/apps/web-antd/src/views/property/roomBooking/conferenceReservationRecords/index.vue +++ b/apps/web-antd/src/views/property/roomBooking/conferenceReservationRecords/index.vue @@ -1,29 +1,20 @@