diff --git a/apps/web-antd/src/api/property/conservationManagement/model.d.ts b/apps/web-antd/src/api/property/conservationManagement/model.d.ts index 6207f3b7..78654253 100644 --- a/apps/web-antd/src/api/property/conservationManagement/model.d.ts +++ b/apps/web-antd/src/api/property/conservationManagement/model.d.ts @@ -29,7 +29,7 @@ export interface OrderMaintainVO { /** * 服务类型 */ - serveType: number; + serveType: string | number; /** * 养护周期类型 @@ -59,7 +59,7 @@ export interface OrderMaintainVO { /** * 巡检结果 */ - inspectResult: number; + inspectResult: string | number; /** * 处理措施 @@ -79,7 +79,7 @@ export interface OrderMaintainVO { /** * 处理状态 */ - state: number; + state: string | number; } export interface OrderMaintainForm extends BaseEntity { @@ -111,7 +111,7 @@ export interface OrderMaintainForm extends BaseEntity { /** * 服务类型 */ - serveType?: number; + serveType?: string | number; /** * 养护周期类型 @@ -141,7 +141,7 @@ export interface OrderMaintainForm extends BaseEntity { /** * 巡检结果 */ - inspectResult?: number; + inspectResult?: string | number; /** * 处理措施 @@ -161,7 +161,7 @@ export interface OrderMaintainForm extends BaseEntity { /** * 处理状态 */ - state?: number; + state?: string | number; } export interface OrderMaintainQuery extends PageQuery { @@ -188,7 +188,7 @@ export interface OrderMaintainQuery extends PageQuery { /** * 服务类型 */ - serveType?: number; + serveType?: string | number; /** * 养护周期类型 @@ -218,7 +218,7 @@ export interface OrderMaintainQuery extends PageQuery { /** * 巡检结果 */ - inspectResult?: number; + inspectResult?: string | number; /** * 处理措施 @@ -238,10 +238,92 @@ export interface OrderMaintainQuery extends PageQuery { /** * 处理状态 */ - state?: number; + state?: string | number; /** * 日期范围参数 */ params?: any; } + +export interface conservationManagement extends BaseEntity { + /** + * 主键 + */ + id: string | number; + + /** + * 养护名称 + */ + maintainName: string; + + /** + * 小区id + */ + communityId: string | number; + + /** + * 建筑id + */ + buildingId: string | number; + + /** + * 楼层id + */ + floorId: string | number; + + /** + * 服务类型 + */ + serveType: string | number; + + /** + * 养护周期类型 + */ + periodType: number; + + /** + * 养护周期频次 + */ + periodFrequency: number; + + /** + * 订单id + */ + orderId: string | number; + + /** + * 计划执行时间 + */ + startTime: string; + + /** + * 计划完成时间 + */ + endTime: string; + + /** + * 巡检结果 + */ + inspectResult: string | number; + + /** + * 处理措施 + */ + measure: string; + + /** + * 客户评分 + */ + customerScore: number; + + /** + * 客户反馈 + */ + customerAdvice: string; + + /** + * 处理状态 + */ + state: string | number; +} diff --git a/apps/web-antd/src/api/property/rentalPlan/model.d.ts b/apps/web-antd/src/api/property/rentalPlan/model.d.ts index b51af708..8568b515 100644 --- a/apps/web-antd/src/api/property/rentalPlan/model.d.ts +++ b/apps/web-antd/src/api/property/rentalPlan/model.d.ts @@ -77,6 +77,11 @@ export interface RentalPlanForm extends BaseEntity { */ remarks?: string; + /** + * 方案下绿植产品 + */ + productList:any[]; + } export interface RentalPlanQuery extends PageQuery { diff --git a/apps/web-antd/src/api/property/resident/unit/model.d.ts b/apps/web-antd/src/api/property/resident/unit/model.d.ts index 3ea7c440..471f6103 100644 --- a/apps/web-antd/src/api/property/resident/unit/model.d.ts +++ b/apps/web-antd/src/api/property/resident/unit/model.d.ts @@ -29,7 +29,7 @@ export interface Resident_unitVO { /** * 联系电话 */ - phone: number; + phone: string; /** * 入驻位置 @@ -87,7 +87,7 @@ export interface Resident_unitForm extends BaseEntity { /** * 联系电话 */ - phone?: number; + phone?: string; /** * 入驻位置 @@ -140,7 +140,7 @@ export interface Resident_unitQuery extends PageQuery { /** * 联系电话 */ - phone?: number; + phone?: string; /** * 入驻位置 @@ -197,13 +197,15 @@ export interface Unit extends BaseEntity { /** * 联系电话 */ - phone?: number; + phone?: string; /** * 入驻位置 */ location?: string; + locationDetail?: string; + /** * 入驻时间 */ 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/attendanceManagement/attendanceSettings/attendanceGroupSettings/index.vue b/apps/web-antd/src/views/property/attendanceManagement/attendanceSettings/attendanceGroupSettings/index.vue new file mode 100644 index 00000000..63016dc2 --- /dev/null +++ b/apps/web-antd/src/views/property/attendanceManagement/attendanceSettings/attendanceGroupSettings/index.vue @@ -0,0 +1,11 @@ + + + + + diff --git a/apps/web-antd/src/views/property/attendanceManagement/attendanceSettings/festivalAndHoliday/index.vue b/apps/web-antd/src/views/property/attendanceManagement/attendanceSettings/festivalAndHoliday/index.vue new file mode 100644 index 00000000..c8764c2e --- /dev/null +++ b/apps/web-antd/src/views/property/attendanceManagement/attendanceSettings/festivalAndHoliday/index.vue @@ -0,0 +1,11 @@ + + + + + diff --git a/apps/web-antd/src/views/property/attendanceManagement/attendanceSettings/shiftSetting/index.vue b/apps/web-antd/src/views/property/attendanceManagement/attendanceSettings/shiftSetting/index.vue new file mode 100644 index 00000000..cbdee30e --- /dev/null +++ b/apps/web-antd/src/views/property/attendanceManagement/attendanceSettings/shiftSetting/index.vue @@ -0,0 +1,11 @@ + + + + + diff --git a/apps/web-antd/src/views/property/attendanceManagement/attendanceStatistics/CheckInRecord/index.vue b/apps/web-antd/src/views/property/attendanceManagement/attendanceStatistics/CheckInRecord/index.vue new file mode 100644 index 00000000..7845cc97 --- /dev/null +++ b/apps/web-antd/src/views/property/attendanceManagement/attendanceStatistics/CheckInRecord/index.vue @@ -0,0 +1,11 @@ + + + + + diff --git a/apps/web-antd/src/views/property/attendanceManagement/attendanceStatistics/dailyStatistics/index.vue b/apps/web-antd/src/views/property/attendanceManagement/attendanceStatistics/dailyStatistics/index.vue new file mode 100644 index 00000000..178bfe9f --- /dev/null +++ b/apps/web-antd/src/views/property/attendanceManagement/attendanceStatistics/dailyStatistics/index.vue @@ -0,0 +1,11 @@ + + + + + diff --git a/apps/web-antd/src/views/property/attendanceManagement/holidayType/index.vue b/apps/web-antd/src/views/property/attendanceManagement/holidayType/index.vue new file mode 100644 index 00000000..d3035dd3 --- /dev/null +++ b/apps/web-antd/src/views/property/attendanceManagement/holidayType/index.vue @@ -0,0 +1,11 @@ + + + + + diff --git a/apps/web-antd/src/views/property/attendanceManagement/workforceManagement/index.vue b/apps/web-antd/src/views/property/attendanceManagement/workforceManagement/index.vue new file mode 100644 index 00000000..5fc518eb --- /dev/null +++ b/apps/web-antd/src/views/property/attendanceManagement/workforceManagement/index.vue @@ -0,0 +1,11 @@ + + + + + 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 d19cd563..fe1757b9 100644 --- a/apps/web-antd/src/views/property/greenPlantRentalManagement/chargeManagement/data.ts +++ b/apps/web-antd/src/views/property/greenPlantRentalManagement/chargeManagement/data.ts @@ -2,7 +2,7 @@ import type { FormSchemaGetter } from '#/adapter/form'; import type { VxeGridProps } from '#/adapter/vxe-table'; import { getDictOptions } from '#/utils/dict'; import { renderDict } from '#/utils/render'; -import {orderChargeList} from "#/api/property/chargeManagement"; +import {rentalOrderList} from "#/api/property/rentalOrder"; export const querySchema: FormSchemaGetter = () => [ { @@ -64,38 +64,47 @@ export const columns: VxeGridProps['columns'] = [ return (rowIndex + 1).toString(); }, }, + minWidth: '120' }, { title: '订单号', field: 'orderId', + minWidth: '120' }, { title: '租赁合同编号', field: 'userId', + minWidth: '120' }, { title: '租赁人', field: 'userName', + minWidth: '120' }, { title: '租金', field: 'rent', + minWidth: '120' }, { title: '押金', field: 'deposit', + minWidth: '120' }, { title: '违约金', field: 'penalty', + minWidth: '120' }, { title: '总金额', field: 'totalAmount', + minWidth: '120' }, { title: '收费日期', field: 'chargeDate', + minWidth: '120' }, { title: '支付方式', @@ -105,6 +114,7 @@ export const columns: VxeGridProps['columns'] = [ return renderDict(row.paymentMethod, 'pro_payment_method'); }, }, + minWidth: '120' }, { title: '开票状态', @@ -114,10 +124,12 @@ export const columns: VxeGridProps['columns'] = [ return renderDict(row.invoiceStatus, 'pro_invoice_status'); }, }, + minWidth: '120' }, { title: '发票类型', field: 'invoiceType', + minWidth: '120' }, { title: '收费状态', @@ -127,10 +139,12 @@ export const columns: VxeGridProps['columns'] = [ return renderDict(row.chargeStatus, 'pro_charging_status'); }, }, + minWidth: '120' }, { title: '创建时间', field: 'createTime', + minWidth: '120' }, { field: 'action', @@ -151,28 +165,35 @@ export const modalSchema: FormSchemaGetter = () => [ triggerFields: [''], }, }, - // { - // label: '订单号', - // fieldName: 'orderId', - // component: 'Input', - // rules: 'required', - // }, { label: '订单号', fieldName: 'orderId', component: 'ApiSelect', componentProps: { - api: orderChargeList, + api: rentalOrderList, resultField: 'rows', - valueField: 'orderId', + labelField: 'orderNo', + valueField: 'id', }, rules: 'required', }, + // { + // label: '租赁人ID', + // fieldName: 'userId', + // component: 'ApiSelect', + // componentProps: { + // api: rentalOrderList, + // resultField: 'rows', + // labelField: 'customerName', + // valueField: 'id', + // }, + // rules: 'required', + // }, { label: '租赁人', fieldName: 'userName', - component: 'Input', - rules: 'required', + component: "Select", + rules: 'selectRequired', }, { label: '租金', @@ -192,6 +213,12 @@ export const modalSchema: FormSchemaGetter = () => [ component: 'Input', rules: 'required', }, + { + label: '总金额', + fieldName: 'totalAmount', + component: 'Input', + rules: 'required', + }, { label: '开票状态', fieldName: 'invoiceStatus', @@ -204,8 +231,11 @@ export const modalSchema: FormSchemaGetter = () => [ { label: '发票类型', fieldName: 'invoiceType', - component: 'Input', - rules: 'required', + component: 'Select', + componentProps: { + options: getDictOptions('pro_invoice_type'), + }, + rules: 'selectRequired', }, { label: '收费状态', @@ -216,4 +246,24 @@ export const modalSchema: FormSchemaGetter = () => [ }, rules: 'selectRequired', }, + { + label: '支付方式', + fieldName: 'paymentMethod', + component: 'Select', + componentProps: { + options: getDictOptions('pro_payment_method'), + }, + rules: 'selectRequired', + }, + { + label: '收费日期', + fieldName: 'chargeDate', + component: 'DatePicker', + componentProps: { + showTime: true, + format: 'YYYY-MM-DD HH:mm:ss', + valueFormat: 'YYYY-MM-DD HH:mm:ss', + }, + rules: 'required', + }, ]; diff --git a/apps/web-antd/src/views/property/greenPlantRentalManagement/chargeManagement/index.vue b/apps/web-antd/src/views/property/greenPlantRentalManagement/chargeManagement/index.vue index 718a2cf7..13c42d28 100644 --- a/apps/web-antd/src/views/property/greenPlantRentalManagement/chargeManagement/index.vue +++ b/apps/web-antd/src/views/property/greenPlantRentalManagement/chargeManagement/index.vue @@ -2,6 +2,7 @@ import { Page, useVbenModal, type VbenFormProps } from '@vben/common-ui'; import { getVxePopupContainer } from '@vben/utils'; import { Modal, Popconfirm, Space } from 'ant-design-vue'; +import { $t } from '@vben/locales'; import { useVbenVxeGrid, vxeCheckboxChecked, diff --git a/apps/web-antd/src/views/property/greenPlantRentalManagement/chargeManagement/orderCharge-detail.vue b/apps/web-antd/src/views/property/greenPlantRentalManagement/chargeManagement/orderCharge-detail.vue index 89cb0aa6..fd703108 100644 --- a/apps/web-antd/src/views/property/greenPlantRentalManagement/chargeManagement/orderCharge-detail.vue +++ b/apps/web-antd/src/views/property/greenPlantRentalManagement/chargeManagement/orderCharge-detail.vue @@ -72,11 +72,11 @@ async function handleOpenChange(open: boolean) { {{ orderChargeDetail.createTime }} - - {{ orderChargeDetail.createTime }} + + {{ orderChargeDetail.totalAmount }} - + diff --git a/apps/web-antd/src/views/property/greenPlantRentalManagement/chargeManagement/orderCharge-modal.vue b/apps/web-antd/src/views/property/greenPlantRentalManagement/chargeManagement/orderCharge-modal.vue index 4099e78e..3b7f4600 100644 --- a/apps/web-antd/src/views/property/greenPlantRentalManagement/chargeManagement/orderCharge-modal.vue +++ b/apps/web-antd/src/views/property/greenPlantRentalManagement/chargeManagement/orderCharge-modal.vue @@ -1,5 +1,5 @@ + + + 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 59ac9e41..720c84c3 100644 --- a/apps/web-antd/src/views/property/greenPlantRentalManagement/conservationManagement/data.ts +++ b/apps/web-antd/src/views/property/greenPlantRentalManagement/conservationManagement/data.ts @@ -14,6 +14,7 @@ export const querySchema: FormSchemaGetter = () => [ { component: 'Select', componentProps: { + options: getDictOptions('pro_processing_status'), }, fieldName: 'state', label: '处理状态', @@ -22,59 +23,80 @@ export const querySchema: FormSchemaGetter = () => [ export const columns: VxeGridProps['columns'] = [ { type: 'checkbox', width: 60 }, + { + title: '序号', + field: 'id', + slots: { + default: ({ rowIndex }) => { + return (rowIndex + 1).toString(); + }, + }, + minWidth: '120' + }, { title: '养护名称', field: 'maintainName', + minWidth: '120' }, { - title: '小区id', - field: 'communityId', - }, - { - title: '建筑id', - field: 'buildingId', - }, - { - title: '楼层id', - field: 'floorId', + title: '服务地点(房间id)', + field: 'roomId', + minWidth: '120' }, { title: '服务类型', field: 'serveType', + slots: { + default: ({ row }) => { + return renderDict(row.serveType, 'pro_service_type'); + }, + }, + minWidth: '120' }, { title: '养护周期类型', field: 'periodType', slots: { default: ({ row }) => { - // 可选从DictEnum中获取 DictEnum.WY_TIME_UNIT 便于维护 return renderDict(row.periodType, 'wy_time_unit'); }, }, + minWidth: '120' }, { title: '养护周期频次', field: 'periodFrequency', + minWidth: '120' }, { - title: '订单id', + title: '关联订单', field: 'orderId', + minWidth: '120' }, { title: '计划执行时间', field: 'startTime', + minWidth: '120' }, { title: '计划完成时间', field: 'endTime', + minWidth: '120' }, { title: '巡检结果', field: 'inspectResult', + slots: { + default: ({ row }) => { + return renderDict(row.inspectResult, 'pro_inspection_results'); + }, + }, + minWidth: '120' }, { title: '处理措施', field: 'measure', + minWidth: '120' }, { title: '客户评分', @@ -87,15 +109,22 @@ export const columns: VxeGridProps['columns'] = [ }); }, }, - width:200 + minWidth: '120' }, { title: '客户反馈', field: 'customerAdvice', + minWidth: '120' }, { title: '处理状态', field: 'state', + slots: { + default: ({ row }) => { + return renderDict(row.state, 'pro_processing_status'); + }, + }, + minWidth: '120' }, { field: 'action', @@ -121,32 +150,24 @@ export const modalSchema: FormSchemaGetter = () => [ fieldName: 'maintainName', component: 'Input', rules: 'required', + labelWidth:100 }, { - label: '小区id', + label: '服务地点', fieldName: 'communityId', component: 'Input', rules: 'required', - }, - { - label: '建筑id', - fieldName: 'buildingId', - component: 'Input', - rules: 'required', - }, - { - label: '楼层id', - fieldName: 'floorId', - component: 'Input', - rules: 'required', + labelWidth:100 }, { label: '服务类型', fieldName: 'serveType', component: 'Select', componentProps: { + options: getDictOptions('pro_service_type'), }, rules: 'selectRequired', + labelWidth:100 }, { label: '养护周期类型', @@ -157,18 +178,21 @@ export const modalSchema: FormSchemaGetter = () => [ options: getDictOptions('wy_time_unit'), }, rules: 'selectRequired', + labelWidth:100 }, { label: '养护周期频次', fieldName: 'periodFrequency', component: 'Input', rules: 'required', + labelWidth:100 }, { - label: '订单id', + label: '关联订单', fieldName: 'orderId', component: 'Input', rules: 'required', + labelWidth:100 }, { label: '计划执行时间', @@ -180,6 +204,7 @@ export const modalSchema: FormSchemaGetter = () => [ valueFormat: 'YYYY-MM-DD HH:mm:ss', }, rules: 'required', + labelWidth:100 }, { label: '计划完成时间', @@ -191,16 +216,24 @@ export const modalSchema: FormSchemaGetter = () => [ valueFormat: 'YYYY-MM-DD HH:mm:ss', }, rules: 'required', + labelWidth:100 }, { label: '巡检结果', fieldName: 'inspectResult', - component: 'Input', + component: 'Select', + componentProps: { + options: getDictOptions('pro_inspection_results'), + }, + rules: 'selectRequired', + labelWidth:100 }, { label: '处理措施', fieldName: 'measure', component: 'Input', + rules: 'required', + labelWidth:100 }, { label: '客户评分', @@ -213,17 +246,22 @@ export const modalSchema: FormSchemaGetter = () => [ defaultValue: 0 }, rules: 'required', + labelWidth:100 }, { label: '客户反馈', fieldName: 'customerAdvice', component: 'Textarea', + labelWidth:100 }, { label: '处理状态', fieldName: 'state', component: 'Select', componentProps: { + options: getDictOptions('pro_processing_status'), }, + rules: 'selectRequired', + labelWidth:100 }, ]; diff --git a/apps/web-antd/src/views/property/greenPlantRentalManagement/conservationManagement/index.vue b/apps/web-antd/src/views/property/greenPlantRentalManagement/conservationManagement/index.vue index b4e9dac3..910d4c5f 100644 --- a/apps/web-antd/src/views/property/greenPlantRentalManagement/conservationManagement/index.vue +++ b/apps/web-antd/src/views/property/greenPlantRentalManagement/conservationManagement/index.vue @@ -2,6 +2,7 @@ import { Page, useVbenModal, type VbenFormProps } from '@vben/common-ui'; import { getVxePopupContainer } from '@vben/utils'; import { Modal, Popconfirm, Space } from 'ant-design-vue'; +import { $t } from '@vben/locales'; import { useVbenVxeGrid, vxeCheckboxChecked, @@ -14,6 +15,7 @@ import { import type { OrderMaintainForm } from '#/api/property/conservationManagement/model'; import orderMaintainModal from './orderMaintain-modal.vue'; import { columns, querySchema } from './data'; +import orderMaintainDetail from "#/views/property/greenPlantRentalManagement/conservationManagement/orderMaintain-detail.vue"; const formOptions: VbenFormProps = { commonConfig: { @@ -61,6 +63,15 @@ const [OrderMaintainModal, modalApi] = useVbenModal({ connectedComponent: orderMaintainModal, }); +const [orderMaintainDetailModal, orderMaintainDetailApi] = useVbenModal({ + connectedComponent: orderMaintainDetail, +}); + +async function handleInfo(row: Required) { + orderMaintainDetailApi.setData({ id: row.id }); + orderMaintainDetailApi.open(); +} + function handleAdd() { modalApi.setData({}); modalApi.open(); @@ -115,6 +126,11 @@ function handleMultiDelete() { diff --git a/apps/web-antd/src/views/property/greenPlantRentalManagement/conservationManagement/orderMaintain-detail.vue b/apps/web-antd/src/views/property/greenPlantRentalManagement/conservationManagement/orderMaintain-detail.vue new file mode 100644 index 00000000..d3a07536 --- /dev/null +++ b/apps/web-antd/src/views/property/greenPlantRentalManagement/conservationManagement/orderMaintain-detail.vue @@ -0,0 +1,77 @@ + + + diff --git a/apps/web-antd/src/views/property/greenPlantRentalManagement/conservationManagement/orderMaintain-modal.vue b/apps/web-antd/src/views/property/greenPlantRentalManagement/conservationManagement/orderMaintain-modal.vue index 7d391b8e..db5ae183 100644 --- a/apps/web-antd/src/views/property/greenPlantRentalManagement/conservationManagement/orderMaintain-modal.vue +++ b/apps/web-antd/src/views/property/greenPlantRentalManagement/conservationManagement/orderMaintain-modal.vue @@ -17,7 +17,7 @@ const title = computed(() => { const [BasicForm, formApi] = useVbenForm({ commonConfig: { - formItemClass: 'col-span-2', + formItemClass: 'col-span-1', labelWidth: 80, componentProps: { class: 'w-full', @@ -36,7 +36,7 @@ const { onBeforeClose, markInitialized, resetInitialized } = useBeforeCloseDiff( ); const [BasicModal, modalApi] = useVbenModal({ - class: 'w-[550px]', + class: 'w-[60%]', fullscreenButton: false, onBeforeClose, onClosed: handleClosed, @@ -52,6 +52,9 @@ const [BasicModal, modalApi] = useVbenModal({ if (isUpdate.value && id) { const record = await orderMaintainInfo(id); + record.serveType = record.serveType?.toString(); + record.state = record.state?.toString(); + record.inspectResult = record.inspectResult?.toString(); await formApi.setValues(record); } await markInitialized(); diff --git a/apps/web-antd/src/views/property/greenPlantRentalManagement/orderManagement/data.ts b/apps/web-antd/src/views/property/greenPlantRentalManagement/orderManagement/data.ts index aff9b7eb..812bcc3d 100644 --- a/apps/web-antd/src/views/property/greenPlantRentalManagement/orderManagement/data.ts +++ b/apps/web-antd/src/views/property/greenPlantRentalManagement/orderManagement/data.ts @@ -69,7 +69,7 @@ export const columns: VxeGridProps['columns'] = [ field: 'rentalPeriod', slots: { default: ({ row }) => { - return renderDict(row.rentalPeriod, 'wy_sjdw'); + return renderDict(row.rentalPeriod, 'wy_time_unit'); }, }, width: 100 @@ -149,170 +149,29 @@ export const columns: VxeGridProps['columns'] = [ }, ]; -export const modalSchema: FormSchemaGetter = () => [ +export const planInfoColumns: VxeGridProps['columns'] = [ { - label: '主键', - fieldName: 'id', - component: 'Input', - dependencies: { - show: () => false, - triggerFields: [''], - }, + title: '序号', + field: 'id', + width: 100, + align: 'center' }, { - label: '客户名称', - fieldName: 'customerName', - component: 'Input', - rules: 'required', + title: '产品名称', + field: 'plantName', + minWidth: 100, + align: 'center' }, { - label: '客户类型', - fieldName: 'customerType', - component: 'Select', - componentProps: { - options: getDictOptions('wy_khlx') - }, - rules: 'selectRequired', + title: '产品租金', + field: 'rent', + minWidth: 100, + align: 'center' }, { - label: '租赁周期', - fieldName: 'rentalPeriod', - component: 'Select', - componentProps: { - options: getDictOptions('wy_time_unit') - }, - rules: 'selectRequired', + title: '产品数量', + field: 'inventory', + minWidth: 100, + align: 'center' }, - { - label: '租赁时间', - fieldName: 'rentalTime', - component: 'RangePicker', - componentProps: { - showTime: true, - format: 'YYYY-MM-DD', - valueFormat: 'YYYY-MM-DD', - }, - rules: 'selectRequired', - }, - { - label: '租赁方式', - fieldName: 'rentalType', - component: 'Select', - componentProps: { - options: getDictOptions('wy_zlfs') - }, - rules: 'selectRequired', - formItemClass: 'col-span-2' - }, - { - label: '租赁方案', - fieldName: 'planId', - component: 'Select', - dependencies: { - // 仅当 租赁方式 为 2(套餐) 时显示 - show: (formValues) => formValues.rentalType === '2', - triggerFields: ['rentalType'], - }, - rules: 'selectRequired', - formItemClass: 'col-span-2' - }, - { - label: '方案详情', - fieldName: 'planInfo', - component: 'Input', - dependencies: { - // 仅当 租赁方式 为 2(套餐) 时显示 - show: (formValues) => formValues.rentalType === '2' && formValues.planId != null, - triggerFields: ['rentalType'], - }, - formItemClass: 'col-span-2' - }, - { - label: '绿植产品', - fieldName: 'productId', - component: 'Select', - dependencies: { - // 仅当 租赁方式 为 1(单点) 时显示 - show: (formValues) => formValues.rentalType === '1', - triggerFields: ['rentalType'], - }, - rules: 'selectRequired', - formItemClass: 'col-span-2' - }, - { - label: '租赁数量', - fieldName: 'productNum', - component: 'InputNumber', - componentProps: { - min: 1, - precision: 0, - step: 1, - placeholder:'租赁数量不可超出绿植产品库存数量' - }, - dependencies: { - // 仅当 租赁方式 为 1(单点) 时显示 - show: (formValues) => formValues.rentalType === '1', - triggerFields: ['rentalType', 'productId'], - }, - rules: 'required', - }, - // { - // label: '应付总额', - // fieldName: 'totalAmount', - // component: 'Input', - // rules: 'required', - // }, - // { - // label: '支付状态', - // fieldName: 'paymentStatus', - // component: 'Select', - // componentProps: { - // options: getDictOptions('pro_charging_status'), - // }, - // rules: 'selectRequired', - // }, - // { - // label: '是否续租', - // fieldName: 'isRelet', - // component: 'RadioGroup', - // componentProps: { - // buttonStyle: 'solid', - // optionType: 'button', - // options: getDictOptions('wy_sf'), - // }, - // }, - { - label: '合同状态', - fieldName: 'contractStatus', - component: 'Select', - componentProps: { - options: getDictOptions('wy_htzt'), - }, - rules: 'selectRequired' - }, - { - label: '合同编号', - fieldName: 'contractCode', - component: 'Input', - dependencies: { - show: (formValues) => formValues.contractStatus != null && formValues.contractStatus != 1, - triggerFields: ['contractStatus'], - }, - rules: 'required' - }, - { - label: '签署时间', - fieldName: 'signTime', - component: 'DatePicker', - componentProps: { - showTime: true, - format: 'YYYY-MM-DD', - valueFormat: 'YYYY-MM-DD', - }, - dependencies: { - show: (formValues) => formValues.contractStatus != null && formValues.contractStatus != 1, - triggerFields: ['contractStatus'], - }, - rules: 'required' - }, -]; +] diff --git a/apps/web-antd/src/views/property/greenPlantRentalManagement/orderManagement/index.vue b/apps/web-antd/src/views/property/greenPlantRentalManagement/orderManagement/index.vue index b895b77f..b8bbc44b 100644 --- a/apps/web-antd/src/views/property/greenPlantRentalManagement/orderManagement/index.vue +++ b/apps/web-antd/src/views/property/greenPlantRentalManagement/orderManagement/index.vue @@ -89,10 +89,10 @@ function handleAdd() { modalApi.open(); } -async function handleEdit(row: Required) { - modalApi.setData({ id: row.id }); - modalApi.open(); -} +// async function handleEdit(row: Required) { +// modalApi.setData({ id: row.id }); +// modalApi.open(); +// } async function handleDelete(row: Required) { await rentalOrderRemove(row.id); @@ -150,12 +150,12 @@ function handleDownloadExcel() {