diff --git a/apps/web-antd/src/api/property/businessManagement/workOrders/index.ts b/apps/web-antd/src/api/property/businessManagement/workOrders/index.ts new file mode 100644 index 00000000..d1148daa --- /dev/null +++ b/apps/web-antd/src/api/property/businessManagement/workOrders/index.ts @@ -0,0 +1,61 @@ +import type { WorkOrdersVO, WorkOrdersForm, WorkOrdersQuery } 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 workOrdersList(params?: WorkOrdersQuery) { + return requestClient.get>('/property/workOrders/list', { params }); +} + +/** + * 导出工单处理列表 + * @param params + * @returns 工单处理列表 + */ +export function workOrdersExport(params?: WorkOrdersQuery) { + return commonExport('/property/workOrders/export', params ?? {}); +} + +/** + * 查询工单处理详情 + * @param id id + * @returns 工单处理详情 + */ +export function workOrdersInfo(id: ID) { + return requestClient.get(`/property/workOrders/${id}`); +} + +/** + * 新增工单处理 + * @param data + * @returns void + */ +export function workOrdersAdd(data: WorkOrdersForm) { + return requestClient.postWithMsg('/property/workOrders', data); +} + +/** + * 更新工单处理 + * @param data + * @returns void + */ +export function workOrdersUpdate(data: WorkOrdersForm) { + return requestClient.putWithMsg('/property/workOrders', data); +} + +/** + * 删除工单处理 + * @param id id + * @returns void + */ +export function workOrdersRemove(id: ID | IDS) { + return requestClient.deleteWithMsg(`/property/workOrders/${id}`); +} diff --git a/apps/web-antd/src/api/property/businessManagement/workOrders/model.d.ts b/apps/web-antd/src/api/property/businessManagement/workOrders/model.d.ts new file mode 100644 index 00000000..3498c884 --- /dev/null +++ b/apps/web-antd/src/api/property/businessManagement/workOrders/model.d.ts @@ -0,0 +1,219 @@ +import type { PageQuery, BaseEntity } from '#/api/common'; + +export interface WorkOrdersVO { + /** + * id + */ + id: string | number; + + /** + * 工单编号 + */ + orderNo: string; + + /** + * 工单名称 + */ + orderName: string; + + /** + * 工单类型 + */ + type: number; + + /** + * 状态 + */ + status: number; + + /** + * 派单时间 + */ + dispatchTime: string; + + /** + * 发起人姓名 + */ + initiatorName: string; + + /** + * 发起人手机号 + */ + initiatorPhone: string; + + /** + * 处理人姓名 + */ + handler: string; + + /** + * 地址 + */ + location: string; + + /** + * 计划完成时间 + */ + planCompleTime: string; + + /** + * 完成时间 + */ + compleTime: string; + + /** + * 评价 + */ + serviceEvalua: string; + + /** + * 是否超时 + */ + isTimeOut: number; + +} + +export interface WorkOrdersForm extends BaseEntity { + /** + * id + */ + id?: string | number; + + /** + * 工单编号 + */ + orderNo?: string; + + /** + * 工单名称 + */ + orderName?: string; + + /** + * 工单类型 + */ + type?: number; + + /** + * 状态 + */ + status?: number; + + /** + * 派单时间 + */ + dispatchTime?: string; + + /** + * 发起人姓名 + */ + initiatorName?: string; + + /** + * 发起人手机号 + */ + initiatorPhone?: string; + + /** + * 处理人姓名 + */ + handler?: string; + + /** + * 地址 + */ + location?: string; + + /** + * 计划完成时间 + */ + planCompleTime?: string; + + /** + * 完成时间 + */ + compleTime?: string; + + /** + * 评价 + */ + serviceEvalua?: string; + + /** + * 是否超时 + */ + isTimeOut?: number; + +} + +export interface WorkOrdersQuery extends PageQuery { + /** + * 工单编号 + */ + orderNo?: string; + + /** + * 工单名称 + */ + orderName?: string; + + /** + * 工单类型 + */ + type?: number; + + /** + * 状态 + */ + status?: number; + + /** + * 派单时间 + */ + dispatchTime?: string; + + /** + * 发起人姓名 + */ + initiatorName?: string; + + /** + * 发起人手机号 + */ + initiatorPhone?: string; + + /** + * 处理人姓名 + */ + handler?: string; + + /** + * 地址 + */ + location?: string; + + /** + * 计划完成时间 + */ + planCompleTime?: string; + + /** + * 完成时间 + */ + compleTime?: string; + + /** + * 评价 + */ + serviceEvalua?: string; + + /** + * 是否超时 + */ + isTimeOut?: number; + + /** + * 日期范围参数 + */ + params?: any; +} diff --git a/apps/web-antd/src/api/property/businessManagement/workOrdersType/index.ts b/apps/web-antd/src/api/property/businessManagement/workOrdersType/index.ts new file mode 100644 index 00000000..4cfbd81f --- /dev/null +++ b/apps/web-antd/src/api/property/businessManagement/workOrdersType/index.ts @@ -0,0 +1,59 @@ +import type { WorkOrdersTypeVO, WorkOrdersTypeForm, WorkOrdersTypeQuery } 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 workOrdersTypeList(params?: WorkOrdersTypeQuery) { + return requestClient.get>('/property/workOrdersType/list', { params }); +} + +/** + * 导出工单类型管理列表 + * @param params + * @returns 工单类型管理列表 + */ +export function workOrdersTypeExport(params?: WorkOrdersTypeQuery) { + return commonExport('/property/workOrdersType/export', params ?? {}); +} + +/** + * 查询工单类型管理详情 + * @param id id + * @returns 工单类型管理详情 + */ +export function workOrdersTypeInfo(id: ID) { + return requestClient.get(`/property/workOrdersType/${id}`); +} + +/** + * 新增工单类型管理 + * @param data + * @returns void + */ +export function workOrdersTypeAdd(data: WorkOrdersTypeForm) { + return requestClient.postWithMsg('/property/workOrdersType', data); +} + +/** + * 更新工单类型管理 + * @param data + * @returns void + */ +export function workOrdersTypeUpdate(data: WorkOrdersTypeForm) { + return requestClient.putWithMsg('/property/workOrdersType', data); +} + +/** + * 删除工单类型管理 + * @param id id + * @returns void + */ +export function workOrdersTypeRemove(id: ID | IDS) { + return requestClient.deleteWithMsg(`/property/workOrdersType/${id}`); +} diff --git a/apps/web-antd/src/api/property/businessManagement/workOrdersType/model.d.ts b/apps/web-antd/src/api/property/businessManagement/workOrdersType/model.d.ts new file mode 100644 index 00000000..f1f10907 --- /dev/null +++ b/apps/web-antd/src/api/property/businessManagement/workOrdersType/model.d.ts @@ -0,0 +1,112 @@ +import type { PageQuery, BaseEntity } from '#/api/common'; + +export interface WorkOrdersTypeVO { + /** + * id + */ + id: string | number; + + /** + * 工单类型编号 + */ + orderTypeNo: string; + + /** + * 工单类型名称 + */ + orderTypeName: string; + + /** + * 运作模式 + */ + operationMode: string; + + /** + * 排序值 + */ + sort: number; + + /** + * 累计工单数量 + */ + number: number; + + /** + * 是否支持转单(0支持,1不支持) + */ + isTransfers: number; +} + +export interface WorkOrdersTypeForm extends BaseEntity { + /** + * id + */ + id?: string | number; + + /** + * 工单类型编号 + */ + orderTypeNo?: string; + + /** + * 工单类型名称 + */ + orderTypeName?: string; + + /** + * 运作模式 + */ + operationMode?: string; + + /** + * 排序值 + */ + sort?: number; + + /** + * 累计工单数量 + */ + number?: number; + + /** + * 是否支持转单(0支持,1不支持) + */ + isTransfers?: number; +} + +export interface WorkOrdersTypeQuery extends PageQuery { + /** + * 工单类型编号 + */ + orderTypeNo?: string; + + /** + * 工单类型名称 + */ + orderTypeName?: string; + + /** + * 运作模式 + */ + operationMode?: string; + + /** + * 排序值 + */ + sort?: number; + + /** + * 累计工单数量 + */ + number?: number; + + /** + * 是否支持转单(0支持,1不支持) + */ + isTransfers?: number; + + /** + * 日期范围参数 + */ + params?: any; +} diff --git a/apps/web-antd/src/api/property/roomBooking/conferenceAddServices/index.ts b/apps/web-antd/src/api/property/roomBooking/conferenceAddServices/index.ts index 16384b08..4565ecd3 100644 --- a/apps/web-antd/src/api/property/roomBooking/conferenceAddServices/index.ts +++ b/apps/web-antd/src/api/property/roomBooking/conferenceAddServices/index.ts @@ -14,6 +14,9 @@ import { requestClient } from '#/api/request'; export function attachList(params?: AttachQuery) { return requestClient.get>('/property/attach/list', { params }); } +export function attachListAll() { + return requestClient.get('/property/attach/attachList', ); +} /** * 导出会议室增值服务列表 diff --git a/apps/web-antd/src/api/property/roomBooking/conferenceReservationRecords/index.ts b/apps/web-antd/src/api/property/roomBooking/conferenceReservationRecords/index.ts index 3bf2a7bf..f9eaf014 100644 --- a/apps/web-antd/src/api/property/roomBooking/conferenceReservationRecords/index.ts +++ b/apps/web-antd/src/api/property/roomBooking/conferenceReservationRecords/index.ts @@ -1,8 +1,6 @@ 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'; @@ -12,7 +10,7 @@ import { requestClient } from '#/api/request'; * @returns booking列表 */ export function bookingList(params?: BookingQuery) { - return requestClient.get>('/system/booking/list', { params }); + return requestClient.get>('/property/meetbooking/list', { params }); } /** @@ -30,7 +28,7 @@ export function bookingExport(params?: BookingQuery) { * @returns booking详情 */ export function bookingInfo(id: ID) { - return requestClient.get(`/system/booking/${id}`); + return requestClient.get(`/property/meetbooking/${id}`); } /** @@ -48,7 +46,7 @@ export function bookingAdd(data: BookingForm) { * @returns void */ export function bookingUpdate(data: BookingForm) { - return requestClient.putWithMsg('/system/booking', data); + return requestClient.putWithMsg('/property/meetbooking', data); } /** 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 index 83a45ee4..b27f5d02 100644 --- a/apps/web-antd/src/api/property/roomBooking/conferenceReservationRecords/model.d.ts +++ b/apps/web-antd/src/api/property/roomBooking/conferenceReservationRecords/model.d.ts @@ -85,7 +85,6 @@ export interface BookingVO { * 搜索值 */ searchValue: string; - } export interface BookingForm extends BaseEntity { @@ -173,7 +172,6 @@ export interface BookingForm extends BaseEntity { * 搜索值 */ searchValue?: string; - } export interface BookingQuery extends PageQuery { diff --git a/apps/web-antd/src/api/property/roomBooking/conferenceReservations/index.ts b/apps/web-antd/src/api/property/roomBooking/conferenceReservations/index.ts new file mode 100644 index 00000000..b4c4305a --- /dev/null +++ b/apps/web-antd/src/api/property/roomBooking/conferenceReservations/index.ts @@ -0,0 +1,12 @@ +import type { ReservationForm} from './model'; + +import { requestClient } from '#/api/request'; + +/** + * 新增会议管理 + * @param data + * @returns void + */ +export function reservationAdd(data: ReservationForm) { + return requestClient.postWithMsg('/property/meetbooking', data); +} diff --git a/apps/web-antd/src/api/property/roomBooking/conferenceReservations/model.d.ts b/apps/web-antd/src/api/property/roomBooking/conferenceReservations/model.d.ts new file mode 100644 index 00000000..5a560e45 --- /dev/null +++ b/apps/web-antd/src/api/property/roomBooking/conferenceReservations/model.d.ts @@ -0,0 +1,59 @@ +import type { BaseEntity } from '#/api/common'; + +export interface ReservationForm extends BaseEntity { + /** + * id + */ + id?: string | number; + + /** + * 会议室id + */ + meetId?: string | number; + + /** + * 预约人 + */ + person?: string; + + /** + * 所属单位 + */ + unit?: string; + + /** + * 参会人数 + */ + personSum?: string; + + /** + * 会议主题 + */ + conferenceTheme?: string; + + /** + * 预约日期 + */ + appointmentDate?: string; + + /** + * 预约开始时段 + */ + appointmentBeginTime?: string; + + /** + * 预约结束时段 + */ + appointmentEndTime?: string; + + /** + * 备注 + */ + remark?: string; + + /** + * 是否需要增值服务(0:需要,1:不需要) + */ + attach?: number; + +} diff --git a/apps/web-antd/src/api/property/roomBooking/conferenceSettings/index.ts b/apps/web-antd/src/api/property/roomBooking/conferenceSettings/index.ts index 8c75d4e7..8799428e 100644 --- a/apps/web-antd/src/api/property/roomBooking/conferenceSettings/index.ts +++ b/apps/web-antd/src/api/property/roomBooking/conferenceSettings/index.ts @@ -1,4 +1,4 @@ -import type { MeetVO, MeetForm, MeetQuery } from './model'; +import type {MeetVO, MeetForm, MeetQuery, MeetBo} from './model'; import type { ID, IDS } from '#/api/common'; import type { PageResult } from '#/api/common'; @@ -12,7 +12,7 @@ import { requestClient } from '#/api/request'; * @returns 会议室设置列表 */ export function meetList(params?: MeetQuery) { - return requestClient.get>('/system/meet/list', { params }); + return requestClient.get>('/property/meet/list', { params }); } /** @@ -21,7 +21,7 @@ export function meetList(params?: MeetQuery) { * @returns 会议室设置列表 */ export function meetExport(params?: MeetQuery) { - return commonExport('/system/meet/export', params ?? {}); + return commonExport('/property/meet/export', params ?? {}); } /** @@ -30,7 +30,7 @@ export function meetExport(params?: MeetQuery) { * @returns 会议室设置详情 */ export function meetInfo(id: ID) { - return requestClient.get(`/system/meet/${id}`); + return requestClient.get(`/property/meet/${id}`); } /** @@ -39,7 +39,7 @@ export function meetInfo(id: ID) { * @returns void */ export function meetAdd(data: MeetForm) { - return requestClient.postWithMsg('/system/meet', data); + return requestClient.postWithMsg('/property/meet', data); } /** @@ -48,7 +48,7 @@ export function meetAdd(data: MeetForm) { * @returns void */ export function meetUpdate(data: MeetForm) { - return requestClient.putWithMsg('/system/meet', data); + return requestClient.putWithMsg('/property/meet', data); } /** @@ -57,5 +57,9 @@ export function meetUpdate(data: MeetForm) { * @returns void */ export function meetRemove(id: ID | IDS) { - return requestClient.deleteWithMsg(`/system/meet/${id}`); + return requestClient.deleteWithMsg(`/property/meet/${id}`); +} + +export function notlist(params?: MeetBo) { + return requestClient.get>('/property/meet/notlist', { params }); } 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 index 3fdd6073..3766063a 100644 --- a/apps/web-antd/src/api/property/roomBooking/conferenceSettings/model.d.ts +++ b/apps/web-antd/src/api/property/roomBooking/conferenceSettings/model.d.ts @@ -24,7 +24,7 @@ export interface MeetVO { /** * 基础服务 */ - baseServiceId: string | number; + baseService: string; /** * 基础价格 @@ -35,21 +35,38 @@ export interface MeetVO { * 增值服务是否启用 */ attach: number; - /** - * 创建人id + * 负责人 */ - createById: string | number; - + principals: string; /** - * 更新人id + * 描述 */ - updateById: string | number; - + descs: string; /** - * 搜索值 + * 联系电话 */ - searchValue: string; + phoneNo: string; + /** + * 是否审核 + */ + isCheck: string; + /** + * 开放时间 + */ + openHours: string; + /** + * 状态 + */ + status: string; + /** + *费用模式 + */ + expenseType: string; + /** + * 图片 + */ + picture: string; } export interface MeetForm extends BaseEntity { @@ -103,6 +120,39 @@ export interface MeetForm extends BaseEntity { */ searchValue?: string; + /** + * 负责人 + */ + principals: string; + /** + * 描述 + */ + descs: string; + /** + * 联系电话 + */ + phoneNo: string; + /** + * 是否审核 + */ + isCheck: string; + /** + * 开放时间 + */ + openHours: string; + /** + * 状态 + */ + status: string; + /** + *费用模式 + */ + expenseType: string; + /** + * 图片 + */ + picture: string; + } export interface MeetQuery extends PageQuery { @@ -155,6 +205,39 @@ export interface MeetQuery extends PageQuery { * 日期范围参数 */ params?: any; + + /** + * 负责人 + */ + principals: string; + /** + * 描述 + */ + descs: string; + /** + * 联系电话 + */ + phoneNo: string; + /** + * 是否审核 + */ + isCheck: string; + /** + * 开放时间 + */ + openHours: string; + /** + * 状态 + */ + status: string; + /** + *费用模式 + */ + expenseType: string; + /** + * 图片 + */ + picture: string; } export interface conferenceSettingsDetail extends BaseEntity { @@ -173,6 +256,8 @@ export interface conferenceSettingsDetail extends BaseEntity { */ location: string; + locationName: string; + /** * 容纳人数 */ @@ -183,6 +268,8 @@ export interface conferenceSettingsDetail extends BaseEntity { */ baseServiceId: string | number; + baseService: string; + /** * 基础价格 */ @@ -207,4 +294,96 @@ export interface conferenceSettingsDetail extends BaseEntity { * 搜索值 */ searchValue: string; + + /** + * 负责人 + */ + principals: string; + + principalsName: string; + /** + * 描述 + */ + descs: string; + /** + * 联系电话 + */ + phoneNo: string; + /** + * 是否审核 + */ + isCheck: string; + /** + * 开放时间 + */ + openHours: string; + /** + * 状态 + */ + status: string; + /** + *费用模式 + */ + expenseType: string; + /** + * 图片 + */ + picture: string; +} + +export interface MeetBo{ + /** + * 会议室名称 + */ + 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; + + /** + * 开放时间 + */ + openHours?: string; } diff --git a/apps/web-antd/src/main.ts b/apps/web-antd/src/main.ts index 5d728a02..f3228461 100644 --- a/apps/web-antd/src/main.ts +++ b/apps/web-antd/src/main.ts @@ -1,6 +1,5 @@ import { initPreferences } from '@vben/preferences'; import { unmountGlobalLoading } from '@vben/utils'; - import { overridesPreferences } from './preferences'; /** @@ -27,5 +26,4 @@ async function initApplication() { // 移除并销毁loading unmountGlobalLoading(); } - initApplication(); diff --git a/apps/web-antd/src/views/property/businessManagement/workOrders/data.ts b/apps/web-antd/src/views/property/businessManagement/workOrders/data.ts new file mode 100644 index 00000000..2cc814ab --- /dev/null +++ b/apps/web-antd/src/views/property/businessManagement/workOrders/data.ts @@ -0,0 +1,210 @@ +import type {FormSchemaGetter} from '#/adapter/form'; +import type {VxeGridProps} from '#/adapter/vxe-table'; +import {renderDict} from "#/utils/render"; +import {getDictOptions} from "#/utils/dict"; +import {h} from "vue"; +import {Rate} from "ant-design-vue"; + + +export const querySchema: FormSchemaGetter = () => [ + { + component: 'Input', + fieldName: 'orderNo', + label: '工单编号', + }, + { + component: 'Input', + fieldName: 'orderName', + label: '工单名称', + }, + { + component: 'Select', + componentProps: { + options: getDictOptions('wy_gdclzt'), + }, + fieldName: 'status', + label: '状态', + }, +]; + +export const columns: VxeGridProps['columns'] = [ + {type: 'checkbox', width: 60}, + { + title: '工单编号', + field: 'orderNo', + width: 180, + }, + { + title: '工单名称', + field: 'orderName', + minWidth: 180, + }, + { + title: '派单时间', + field: 'dispatchTime', + width: 100, + }, + { + title: '状态', + field: 'status', + slots: { + default: ({row}) => { + return renderDict(row.status, 'wy_gdclzt'); + }, + }, + width: 100, + }, + { + title: '地址', + field: 'location', + width: 100, + }, + { + title: '计划完成时间', + field: 'planCompleTime', + width: 100, + }, + { + title: '完成时间', + field: 'compleTime', + width: 100, + }, + { + title: '评价', + field: 'serviceEvalua', + width: 180, + slots:{ + default: ({ row }) => { + return h(Rate, { + value: row.serviceEvalua || 0, + disabled: true, + }); + }, + }, + + }, + { + title: '是否超时', + field: 'isTimeOut', + width: 100, + slots: { + default: ({row}) => { + return renderDict(row.status, 'wy_sf'); + }, + }, + }, + { + field: 'action', + fixed: 'right', + slots: {default: 'action'}, + title: '操作', + width: 180, + }, +]; + +export const modalSchema: FormSchemaGetter = () => [ + { + label: 'id', + fieldName: 'id', + component: 'Input', + dependencies: { + show: () => false, + triggerFields: [''], + }, + }, + { + label: '工单名称', + fieldName: 'orderName', + component: 'Input', + rules: 'required', + }, + { + label: '工单类型', + fieldName: 'type', + component: 'ApiSelect', + componentProps: {}, + rules: 'selectRequired', + }, + // { + // label: '状态', + // fieldName: 'status', + // component: 'RadioGroup', + // componentProps: { + // buttonStyle: 'solid', + // optionType: 'button', + // }, + // rules: 'selectRequired', + // }, + { + label: '派单时间', + fieldName: 'dispatchTime', + component: 'DatePicker', + componentProps: { + showTime: true, + format: 'YYYY-MM-DD HH:mm:ss', + valueFormat: 'YYYY-MM-DD HH:mm:ss', + }, + rules: 'selectRequired', + }, + { + label: '发起人', + fieldName: 'initiatorName', + component: 'ApiSelect', + formItemClass: 'col-span-2', + rules: 'selectRequired', + + }, + { + label: '处理人', + fieldName: 'handler', + component: 'ApiSelect', + formItemClass: 'col-span-2', + rules: 'selectRequired', + }, + { + label: '具体位置', + fieldName: 'location', + component: 'Input', + formItemClass: 'col-span-2', + rules: 'selectRequired', + }, + { + label: '计划完成时间', + fieldName: 'planCompleTime', + component: 'DatePicker', + componentProps: { + showTime: true, + format: 'YYYY-MM-DD HH:mm:ss', + valueFormat: 'YYYY-MM-DD HH:mm:ss', + }, + labelWidth: 110, + rules: 'selectRequired', + }, + { + label: '完成时间', + fieldName: 'compleTime', + component: 'DatePicker', + componentProps: { + showTime: true, + format: 'YYYY-MM-DD HH:mm:ss', + valueFormat: 'YYYY-MM-DD HH:mm:ss', + }, + rules: 'selectRequired', + }, + { + label: '评价', + fieldName: 'serviceEvalua', + component: 'Rate', + rules: 'required', + }, + { + label: '是否超时', + fieldName: 'isTimeOut', + component: 'RadioGroup', + componentProps: { + buttonStyle: 'solid', + options: getDictOptions('wy_sf'), + }, + rules: 'selectRequired', + }, +]; diff --git a/apps/web-antd/src/views/property/businessManagement/workOrders/index.vue b/apps/web-antd/src/views/property/businessManagement/workOrders/index.vue new file mode 100644 index 00000000..b07e1cc2 --- /dev/null +++ b/apps/web-antd/src/views/property/businessManagement/workOrders/index.vue @@ -0,0 +1,221 @@ + + + diff --git a/apps/web-antd/src/views/property/businessManagement/workOrders/work-orders-detail.vue b/apps/web-antd/src/views/property/businessManagement/workOrders/work-orders-detail.vue new file mode 100644 index 00000000..dd1f38de --- /dev/null +++ b/apps/web-antd/src/views/property/businessManagement/workOrders/work-orders-detail.vue @@ -0,0 +1,98 @@ + + + diff --git a/apps/web-antd/src/views/property/businessManagement/workOrders/workOrders-modal.vue b/apps/web-antd/src/views/property/businessManagement/workOrders/workOrders-modal.vue new file mode 100644 index 00000000..4c071fbb --- /dev/null +++ b/apps/web-antd/src/views/property/businessManagement/workOrders/workOrders-modal.vue @@ -0,0 +1,163 @@ + + + + diff --git a/apps/web-antd/src/views/property/businessManagement/workOrdersType/data.ts b/apps/web-antd/src/views/property/businessManagement/workOrdersType/data.ts new file mode 100644 index 00000000..b8d89579 --- /dev/null +++ b/apps/web-antd/src/views/property/businessManagement/workOrdersType/data.ts @@ -0,0 +1,120 @@ +import type { FormSchemaGetter } from '#/adapter/form'; +import type { VxeGridProps } from '#/adapter/vxe-table'; +import {renderDict} from "#/utils/render"; +import {getDictOptions} from "#/utils/dict"; + +export const querySchema: FormSchemaGetter = () => [ + { + component: 'Input', + fieldName: 'orderTypeNo', + label: '工单类型编号', + }, + { + component: 'Input', + fieldName: 'orderTypeName', + label: '类型名称', + }, + { + component: 'Select', + componentProps: { + options: getDictOptions('pro_operation_pattern'), + }, + fieldName: 'operationMode', + label: '运作模式', + }, +]; + +export const columns: VxeGridProps['columns'] = [ + { type: 'checkbox', width: 60 }, + { + title: '工单类型编号', + field: 'orderTypeNo', + }, + { + title: '类型名称', + field: 'orderTypeName', + }, + { + title: '运作模式', + field: 'operationMode', + slots: { + default: ({ row }) => { + return renderDict(row.operationMode, 'pro_operation_pattern'); + }, + }, + minWidth:'120' + }, + { + title: '排序值', + field: 'sort', + }, + { + title: '累计工单数量', + field: 'number', + }, + { + title: '是否支持转单', + field: 'isTransfers', + slots: { + default: ({ row }) => { + return renderDict(row.isTransfers, 'support_transferring_orders'); + }, + }, + minWidth:'120' + }, + { + field: 'action', + fixed: 'right', + slots: { default: 'action' }, + title: '操作', + width: 180, + }, +]; + +export const modalSchema: FormSchemaGetter = () => [ + { + label: 'id', + fieldName: 'id', + component: 'Input', + dependencies: { + show: () => false, + triggerFields: [''], + }, + }, + { + label: '类型名称', + fieldName: 'orderTypeName', + component: 'Input', + rules: 'required', + }, + { + label: '运作模式', + fieldName: 'operationMode', + component: 'Select', + componentProps: { + options: getDictOptions('pro_operation_pattern'), + }, + rules: 'selectRequired', + }, + { + label: '完成时效(小时)', + fieldName: 'isTransfers', + component: 'Input', + rules: 'required', + }, + { + label: '是否支持转单', + fieldName: 'isTransfers', + component: 'Select', + componentProps: { + options: getDictOptions('support_transferring_orders'), + }, + rules: 'selectRequired', + }, + { + label: '排序值', + fieldName: 'sort', + component: 'Input', + rules: 'required', + }, +]; diff --git a/apps/web-antd/src/views/property/businessManagement/workOrdersType/index.vue b/apps/web-antd/src/views/property/businessManagement/workOrdersType/index.vue new file mode 100644 index 00000000..3f2d5ba7 --- /dev/null +++ b/apps/web-antd/src/views/property/businessManagement/workOrdersType/index.vue @@ -0,0 +1,164 @@ + + + diff --git a/apps/web-antd/src/views/property/businessManagement/workOrdersType/workOrdersType-detail.vue b/apps/web-antd/src/views/property/businessManagement/workOrdersType/workOrdersType-detail.vue new file mode 100644 index 00000000..67c71dfb --- /dev/null +++ b/apps/web-antd/src/views/property/businessManagement/workOrdersType/workOrdersType-detail.vue @@ -0,0 +1,62 @@ + + + diff --git a/apps/web-antd/src/views/property/roomBooking/conferenceReservationRecords/conferenceReservationRecords-modal.vue b/apps/web-antd/src/views/property/businessManagement/workOrdersType/workOrdersType-modal.vue similarity index 82% rename from apps/web-antd/src/views/property/roomBooking/conferenceReservationRecords/conferenceReservationRecords-modal.vue rename to apps/web-antd/src/views/property/businessManagement/workOrdersType/workOrdersType-modal.vue index a35647e5..b543a8ba 100644 --- a/apps/web-antd/src/views/property/roomBooking/conferenceReservationRecords/conferenceReservationRecords-modal.vue +++ b/apps/web-antd/src/views/property/businessManagement/workOrdersType/workOrdersType-modal.vue @@ -1,19 +1,16 @@ + + 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 4d739609..e21faef6 100644 --- a/apps/web-antd/src/views/property/roomBooking/conferenceReservationRecords/data.ts +++ b/apps/web-antd/src/views/property/roomBooking/conferenceReservationRecords/data.ts @@ -25,7 +25,7 @@ export const querySchema: FormSchemaGetter = () => [ { component: 'Select', componentProps: { - options: getDictOptions('wy_yyzt'), + options: getDictOptions('pro_appointment_status'), }, fieldName: 'state', label: '预约状态', @@ -33,25 +33,19 @@ export const querySchema: FormSchemaGetter = () => [ ]; export const columns: VxeGridProps['columns'] = [ - { type: 'checkbox', width: 60 }, { title: '会议室名称', field: 'name', minWidth:'120' }, - { - title: '会议室地址', - field: 'meetLocation', - minWidth:'120' - }, { title: '所属单位', - field: 'unit', + field: 'unitName', minWidth:'120' }, { title: '预定人', - field: 'person', + field: 'personName', minWidth:'120' }, { @@ -59,15 +53,29 @@ export const columns: VxeGridProps['columns'] = [ field: 'phone', minWidth:'120' }, + // { + // title: '预定时间', + // field: 'scheduledStarttime', + // minWidth: '180', + // formatter: ({ row }) => { + // return `${row.scheduledStarttime} ~ ${row.scheduledEndtime}`; + // }, + // }, { - title: '预定开始时间', + title: '预定时间', field: 'scheduledStarttime', - minWidth:'120' - }, - { - title: '预定结束时间', - field: 'scheduledEndtime', - minWidth:'120' + minWidth: '180', + formatter: ({ row }) => { + const start = row.scheduledStarttime; + const end = row.scheduledEndtime; + + const startDate = start.substring(0, 10); + const endDate = end.substring(0, 10); + + const endDisplay = startDate === endDate ? end.substring(11) : end; + + return `${start}-${endDisplay}`; + }, }, { title: '参会人数', @@ -82,6 +90,11 @@ export const columns: VxeGridProps['columns'] = [ { title: '是否有增值服务', field: 'attach', + slots: { + default: ({ row }) => { + return renderDict(row.attach, 'pro_add_service'); + }, + }, minWidth:'120' }, { @@ -99,14 +112,14 @@ export const columns: VxeGridProps['columns'] = [ field: 'state', slots: { default: ({ row }) => { - return renderDict(row.state, 'wy_yyzt'); + return renderDict(row.state, 'pro_appointment_status'); }, }, minWidth:'120' }, { title: '提交时间', - field: 'updateTime', + field: 'createTime', minWidth:'120' }, { @@ -117,126 +130,3 @@ export const columns: VxeGridProps['columns'] = [ width: 180, }, ]; - -export const modalSchema: FormSchemaGetter = () => [ - { - label: '主键', - fieldName: 'id', - component: 'Input', - dependencies: { - show: () => false, - triggerFields: [''], - }, - }, - { - label: '会议室名称', - fieldName: 'name', - component: 'Input', - rules: 'required', - }, - { - 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 便于维护 - options: getDictOptions('wy_yyzt'), - }, - rules: 'selectRequired', - }, - { - label: '创建人id', - fieldName: 'createById', - component: 'Input', - }, - { - label: '更新人id', - fieldName: 'updateById', - component: 'Input', - }, - { - label: '搜索值', - fieldName: 'searchValue', - component: 'Input', - }, -]; 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 564ee8db..df26fb52 100644 --- a/apps/web-antd/src/views/property/roomBooking/conferenceReservationRecords/index.vue +++ b/apps/web-antd/src/views/property/roomBooking/conferenceReservationRecords/index.vue @@ -1,21 +1,19 @@ diff --git a/apps/web-antd/src/views/property/roomBooking/conferenceReservations/conferenceReservations-modal.vue b/apps/web-antd/src/views/property/roomBooking/conferenceReservations/conferenceReservations-modal.vue new file mode 100644 index 00000000..c1188e17 --- /dev/null +++ b/apps/web-antd/src/views/property/roomBooking/conferenceReservations/conferenceReservations-modal.vue @@ -0,0 +1,238 @@ + + + + + + diff --git a/apps/web-antd/src/views/property/roomBooking/conferenceReservations/data.ts b/apps/web-antd/src/views/property/roomBooking/conferenceReservations/data.ts new file mode 100644 index 00000000..2cbb9f4c --- /dev/null +++ b/apps/web-antd/src/views/property/roomBooking/conferenceReservations/data.ts @@ -0,0 +1,118 @@ +import type { FormSchemaGetter } from '#/adapter/form'; +import type {VxeGridProps} from "#/adapter/vxe-table"; + +export const modalSchema: FormSchemaGetter = () => [ + { + label: '主键', + fieldName: 'id', + component: 'Input', + dependencies: { + show: () => false, + triggerFields: [''], + }, + }, + { + label: '会议预定人', + fieldName: 'person', + component: 'ApiSelect', + rules: 'selectRequired', + formItemClass:'col-span-2', + }, + { + label: '使用单位', + fieldName: 'unit', + component: 'ApiSelect', + rules: 'selectRequired', + formItemClass:'col-span-2', + }, + { + label: '会议主题', + fieldName: 'meetTheme', + component: 'Input', + rules: 'required', + formItemClass:'col-span-2', + }, + { + label: '预约日期', + fieldName: 'appointmentTime', + component: 'DatePicker', + componentProps: { + showTime: true, + format: 'YYYY-MM-DD', + valueFormat: 'YYYY-MM-DD', + }, + rules: 'required', + }, + { + label: '预约时段', + fieldName: 'timeSpan', + component: 'Input', + rules: 'required', + slots:{ + default: 'meetTheme' + } + }, + { + label: '参会人数', + fieldName: 'personSum', + component: 'InputNumber', + rules: 'required', + componentProps:{ + min:1, + precision:0, + } + }, + { + label: '备注', + fieldName: 'remark', + component: 'Textarea', + formItemClass:'col-span-2', + }, + { + label: '是否需要增值服务', + fieldName: 'attach', + component: 'RadioGroup', + componentProps: { + options: [ + { label: '是', value: '0' }, + { label: '否', value: '1' }, + ], + }, + rules: 'required', + formItemClass:'col-span-2', + labelWidth:130 + }, + { + label: '增值服务', + fieldName: 'serverInfo', + component: 'Input', + formItemClass:'col-span-2', + dependencies: { + show: (formValue) =>formValue.attach=='0' , + triggerFields: ['attach'], + }, + slots:{default:'serverInfo'} + }, +]; +export const addServiceColumns: VxeGridProps['columns'] = [ + { + title: '产品名称', + field: 'projectName', + width: 120, + align:"center" + }, + { + title: '产品价格', + field: 'price', + width: 120, + align:"center" + }, + { + title: '数量', + field: 'quantity', + width: 200 + }, +] + + + diff --git a/apps/web-antd/src/views/property/roomBooking/conferenceReservations/index.vue b/apps/web-antd/src/views/property/roomBooking/conferenceReservations/index.vue index 5a44e01d..7aeaea4e 100644 --- a/apps/web-antd/src/views/property/roomBooking/conferenceReservations/index.vue +++ b/apps/web-antd/src/views/property/roomBooking/conferenceReservations/index.vue @@ -1,53 +1,140 @@ -