diff --git a/apps/web-antd/src/api/property/clean/index.ts b/apps/web-antd/src/api/property/clean/index.ts new file mode 100644 index 00000000..2fc6d5ca --- /dev/null +++ b/apps/web-antd/src/api/property/clean/index.ts @@ -0,0 +1,61 @@ +import type { CleanVO, CleanForm, CleanQuery } 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 cleanList(params?: CleanQuery) { + return requestClient.get>('/property/clean/list', { params }); +} + +/** + * 导出保洁管理列表 + * @param params + * @returns 保洁管理列表 + */ +export function cleanExport(params?: CleanQuery) { + return commonExport('/property/clean/export', params ?? {}); +} + +/** + * 查询保洁管理详情 + * @param id id + * @returns 保洁管理详情 + */ +export function cleanInfo(id: ID) { + return requestClient.get(`/property/clean/${id}`); +} + +/** + * 新增保洁管理 + * @param data + * @returns void + */ +export function cleanAdd(data: CleanForm) { + return requestClient.postWithMsg('/property/clean', data); +} + +/** + * 更新保洁管理 + * @param data + * @returns void + */ +export function cleanUpdate(data: CleanForm) { + return requestClient.putWithMsg('/property/clean', data); +} + +/** + * 删除保洁管理 + * @param id id + * @returns void + */ +export function cleanRemove(id: ID | IDS) { + return requestClient.deleteWithMsg(`/property/clean/${id}`); +} diff --git a/apps/web-antd/src/api/property/clean/model.d.ts b/apps/web-antd/src/api/property/clean/model.d.ts new file mode 100644 index 00000000..eb023662 --- /dev/null +++ b/apps/web-antd/src/api/property/clean/model.d.ts @@ -0,0 +1,139 @@ +import type { PageQuery, BaseEntity } from '#/api/common'; + +export interface CleanVO { + /** + * 主键id + */ + id: string | number; + + /** + * 劳务名称 + */ + name: string; + + /** + * 计量单位 + */ + measure: string; + + /** + * 计算方式 + */ + method: string; + + /** + * 单价 + */ + peices: string; + + /** + * 保洁频率 + */ + frequency: string; + + /** + * 保洁标准 + */ + standard: string; + + /** + * 备注 + */ + remark: string; + + /** + * 状态 + */ + stater: number; + +} + +export interface CleanForm extends BaseEntity { + /** + * 主键id + */ + id?: string | number; + + /** + * 劳务名称 + */ + name?: string; + + /** + * 计量单位 + */ + measure?: string; + + /** + * 计算方式 + */ + method?: string; + + /** + * 单价 + */ + peices?: string; + + /** + * 保洁频率 + */ + frequency?: string; + + /** + * 保洁标准 + */ + standard?: string; + + /** + * 备注 + */ + remark?: string; + + /** + * 状态 + */ + stater?: number; + +} + +export interface CleanQuery extends PageQuery { + /** + * 劳务名称 + */ + name?: string; + + /** + * 计量单位 + */ + measure?: string; + + /** + * 计算方式 + */ + method?: string; + + /** + * 单价 + */ + peices?: string; + + /** + * 保洁频率 + */ + frequency?: string; + + /** + * 保洁标准 + */ + standard?: string; + + /** + * 状态 + */ + stater?: number; + + /** + * 日期范围参数 + */ + params?: any; +} diff --git a/apps/web-antd/src/api/property/clean_order/index.ts b/apps/web-antd/src/api/property/clean_order/index.ts new file mode 100644 index 00000000..d7cea91f --- /dev/null +++ b/apps/web-antd/src/api/property/clean_order/index.ts @@ -0,0 +1,61 @@ +import type { Clean_orderVO, Clean_orderForm, Clean_orderQuery } 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 clean_orderList(params?: Clean_orderQuery) { + return requestClient.get>('/property/clean_order/list', { params }); +} + +/** + * 导出保洁订单列表 + * @param params + * @returns 保洁订单列表 + */ +export function clean_orderExport(params?: Clean_orderQuery) { + return commonExport('/property/clean_order/export', params ?? {}); +} + +/** + * 查询保洁订单详情 + * @param id id + * @returns 保洁订单详情 + */ +export function clean_orderInfo(id: ID) { + return requestClient.get(`/property/clean_order/${id}`); +} + +/** + * 新增保洁订单 + * @param data + * @returns void + */ +export function clean_orderAdd(data: Clean_orderForm) { + return requestClient.postWithMsg('/property/clean_order', data); +} + +/** + * 更新保洁订单 + * @param data + * @returns void + */ +export function clean_orderUpdate(data: Clean_orderForm) { + return requestClient.putWithMsg('/property/clean_order', data); +} + +/** + * 删除保洁订单 + * @param id id + * @returns void + */ +export function clean_orderRemove(id: ID | IDS) { + return requestClient.deleteWithMsg(`/property/clean_order/${id}`); +} diff --git a/apps/web-antd/src/api/property/clean_order/model.d.ts b/apps/web-antd/src/api/property/clean_order/model.d.ts new file mode 100644 index 00000000..423116ff --- /dev/null +++ b/apps/web-antd/src/api/property/clean_order/model.d.ts @@ -0,0 +1,219 @@ +import type { PageQuery, BaseEntity } from '#/api/common'; + +export interface Clean_orderVO { + /** + * 主键 + */ + id: string | number; + + /** + * 位置 + */ + location: string; + + /** + * 面积 + */ + area: string; + + /** + * 保洁id + */ + cleanId: string | number; + + /** + * 名称 + */ + name: string; + + /** + * 单价 + */ + prices: number; + + /** + * 总价 + */ + sumPeices: number; + + /** + * 支付状态 + */ + payState: number; + + /** + * 开始时间 + */ + starTime: string; + + /** + * 结束时间 + */ + endTime: string; + + /** + * 单位id + */ + unitId: string | number; + + /** + * 申请单位 + */ + unit: string; + + /** + * 联系人 + */ + persion: string; + + /** + * 联系电话 + */ + phone: string; + +} + +export interface Clean_orderForm extends BaseEntity { + /** + * 主键 + */ + id?: string | number; + + /** + * 位置 + */ + location?: string; + + /** + * 面积 + */ + area?: string; + + /** + * 保洁id + */ + cleanId?: string | number; + + /** + * 名称 + */ + name?: string; + + /** + * 单价 + */ + prices?: number; + + /** + * 总价 + */ + sumPeices?: number; + + /** + * 支付状态 + */ + payState?: number; + + /** + * 开始时间 + */ + starTime?: string; + + /** + * 结束时间 + */ + endTime?: string; + + /** + * 单位id + */ + unitId?: string | number; + + /** + * 申请单位 + */ + unit?: string; + + /** + * 联系人 + */ + persion?: string; + + /** + * 联系电话 + */ + phone?: string; + +} + +export interface Clean_orderQuery extends PageQuery { + /** + * 位置 + */ + location?: string; + + /** + * 面积 + */ + area?: string; + + /** + * 保洁id + */ + cleanId?: string | number; + + /** + * 名称 + */ + name?: string; + + /** + * 单价 + */ + prices?: number; + + /** + * 总价 + */ + sumPeices?: number; + + /** + * 支付状态 + */ + payState?: number; + + /** + * 开始时间 + */ + starTime?: string; + + /** + * 结束时间 + */ + endTime?: string; + + /** + * 单位id + */ + unitId?: string | number; + + /** + * 申请单位 + */ + unit?: string; + + /** + * 联系人 + */ + persion?: string; + + /** + * 联系电话 + */ + phone?: string; + + /** + * 日期范围参数 + */ + params?: any; +} diff --git a/apps/web-antd/src/api/property/person/index.ts b/apps/web-antd/src/api/property/person/index.ts new file mode 100644 index 00000000..f3593634 --- /dev/null +++ b/apps/web-antd/src/api/property/person/index.ts @@ -0,0 +1,61 @@ +import type { PersonVO, PersonForm, PersonQuery } 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 personList(params?: PersonQuery) { + return requestClient.get>('/property/person/list', { params }); +} + +/** + * 导出入驻员工列表 + * @param params + * @returns 入驻员工列表 + */ +export function personExport(params?: PersonQuery) { + return commonExport('/property/person/export', params ?? {}); +} + +/** + * 查询入驻员工详情 + * @param id id + * @returns 入驻员工详情 + */ +export function personInfo(id: ID) { + return requestClient.get(`/property/person/${id}`); +} + +/** + * 新增入驻员工 + * @param data + * @returns void + */ +export function personAdd(data: PersonForm) { + return requestClient.postWithMsg('/property/person', data); +} + +/** + * 更新入驻员工 + * @param data + * @returns void + */ +export function personUpdate(data: PersonForm) { + return requestClient.putWithMsg('/property/person', data); +} + +/** + * 删除入驻员工 + * @param id id + * @returns void + */ +export function personRemove(id: ID | IDS) { + return requestClient.deleteWithMsg(`/property/person/${id}`); +} diff --git a/apps/web-antd/src/api/property/person/model.d.ts b/apps/web-antd/src/api/property/person/model.d.ts new file mode 100644 index 00000000..0d08e829 --- /dev/null +++ b/apps/web-antd/src/api/property/person/model.d.ts @@ -0,0 +1,199 @@ +import type { PageQuery, BaseEntity } from '#/api/common'; + +export interface PersonVO { + /** + * 主键id + */ + id: string | number; + + /** + * 用户id + */ + userId: string | number; + + /** + * 用户名称 + */ + userName: string; + + /** + * 联系电话 + */ + phone: string; + + /** + * 性别 + */ + gender: number; + + /** + * 人脸图片 + */ + img: string; + + /** + * 所属单位id + */ + unitId: string | number; + + /** + * 所属单位名称 + */ + unitName: string; + + /** + * 入驻位置 + */ + locathon: string; + + /** + * 入驻时间 + */ + time: string; + + /** + * 车牌号码 + */ + carNumber: string; + + /** + * 状态 + */ + state: number; + + /** + * 备注 + */ + remark: string; + +} + +export interface PersonForm extends BaseEntity { + /** + * 主键id + */ + id?: string | number; + + /** + * 用户id + */ + userId?: string | number; + + /** + * 用户名称 + */ + userName?: string; + + /** + * 联系电话 + */ + phone?: string; + + /** + * 性别 + */ + gender?: number; + + /** + * 人脸图片 + */ + img?: string; + + /** + * 所属单位id + */ + unitId?: string | number; + + /** + * 所属单位名称 + */ + unitName?: string; + + /** + * 入驻位置 + */ + locathon?: string; + + /** + * 入驻时间 + */ + time?: string; + + /** + * 车牌号码 + */ + carNumber?: string; + + /** + * 状态 + */ + state?: number; + + /** + * 备注 + */ + remark?: string; + +} + +export interface PersonQuery extends PageQuery { + /** + * 用户id + */ + userId?: string | number; + + /** + * 用户名称 + */ + userName?: string; + + /** + * 联系电话 + */ + phone?: string; + + /** + * 性别 + */ + gender?: number; + + /** + * 人脸图片 + */ + img?: string; + + /** + * 所属单位id + */ + unitId?: string | number; + + /** + * 所属单位名称 + */ + unitName?: string; + + /** + * 入驻位置 + */ + locathon?: string; + + /** + * 入驻时间 + */ + time?: string; + + /** + * 车牌号码 + */ + carNumber?: string; + + /** + * 状态 + */ + state?: number; + + /** + * 日期范围参数 + */ + params?: any; +} diff --git a/apps/web-antd/src/api/property/resident_unit/index.ts b/apps/web-antd/src/api/property/resident_unit/index.ts new file mode 100644 index 00000000..aa042dcd --- /dev/null +++ b/apps/web-antd/src/api/property/resident_unit/index.ts @@ -0,0 +1,61 @@ +import type { Resident_unitVO, Resident_unitForm, Resident_unitQuery } 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 resident_unitList(params?: Resident_unitQuery) { + return requestClient.get>('/property/resident_unit/list', { params }); +} + +/** + * 导出入驻单位列表 + * @param params + * @returns 入驻单位列表 + */ +export function resident_unitExport(params?: Resident_unitQuery) { + return commonExport('/property/resident_unit/export', params ?? {}); +} + +/** + * 查询入驻单位详情 + * @param id id + * @returns 入驻单位详情 + */ +export function resident_unitInfo(id: ID) { + return requestClient.get(`/property/resident_unit/${id}`); +} + +/** + * 新增入驻单位 + * @param data + * @returns void + */ +export function resident_unitAdd(data: Resident_unitForm) { + return requestClient.postWithMsg('/property/resident_unit', data); +} + +/** + * 更新入驻单位 + * @param data + * @returns void + */ +export function resident_unitUpdate(data: Resident_unitForm) { + return requestClient.putWithMsg('/property/resident_unit', data); +} + +/** + * 删除入驻单位 + * @param id id + * @returns void + */ +export function resident_unitRemove(id: ID | IDS) { + return requestClient.deleteWithMsg(`/property/resident_unit/${id}`); +} 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 new file mode 100644 index 00000000..ac7fe7d4 --- /dev/null +++ b/apps/web-antd/src/api/property/resident_unit/model.d.ts @@ -0,0 +1,169 @@ +import type { PageQuery, BaseEntity } from '#/api/common'; + +export interface Resident_unitVO { + /** + * id + */ + id: string | number; + + /** + * 入驻单位名称 + */ + name: string; + + /** + * 单位编号 + */ + unitNumber: number; + + /** + * 企业类型 + */ + type: number; + + /** + * 联系人 + */ + contactPerson: string; + + /** + * 联系电话 + */ + phone: number; + + /** + * 入驻位置 + */ + location: string; + + /** + * 入驻时间 + */ + time: string; + + /** + * 状态 + */ + state: number; + + /** + * 员工人数 + */ + number: number; + + /** + * 备注 + */ + remark: string; + +} + +export interface Resident_unitForm extends BaseEntity { + /** + * id + */ + id?: string | number; + + /** + * 入驻单位名称 + */ + name?: string; + + /** + * 单位编号 + */ + unitNumber?: number; + + /** + * 企业类型 + */ + type?: number; + + /** + * 联系人 + */ + contactPerson?: string; + + /** + * 联系电话 + */ + phone?: number; + + /** + * 入驻位置 + */ + location?: string; + + /** + * 入驻时间 + */ + time?: string; + + /** + * 状态 + */ + state?: number; + + /** + * 员工人数 + */ + number?: number; + + /** + * 备注 + */ + remark?: string; + +} + +export interface Resident_unitQuery extends PageQuery { + /** + * 入驻单位名称 + */ + name?: string; + + /** + * 单位编号 + */ + unitNumber?: number; + + /** + * 企业类型 + */ + type?: number; + + /** + * 联系人 + */ + contactPerson?: string; + + /** + * 联系电话 + */ + phone?: number; + + /** + * 入驻位置 + */ + location?: string; + + /** + * 入驻时间 + */ + time?: string; + + /** + * 状态 + */ + state?: number; + + /** + * 员工人数 + */ + number?: number; + + /** + * 日期范围参数 + */ + params?: any; +} diff --git a/apps/web-antd/src/api/property/visitorManagement/model.d.ts b/apps/web-antd/src/api/property/visitorManagement/model.d.ts index 3aa6afe9..673a8f46 100644 --- a/apps/web-antd/src/api/property/visitorManagement/model.d.ts +++ b/apps/web-antd/src/api/property/visitorManagement/model.d.ts @@ -11,6 +11,11 @@ export interface VisitorManagementVO { */ visitorName: string; + /** + * 所属公司 + */ + visitorUnit: string; + /** * 访客电话 */ @@ -21,6 +26,21 @@ export interface VisitorManagementVO { */ visitingReason: string; + /** + * 被访人 + */ + interviewedPerson: string; + + /** + * 被访单位 + */ + interviewedUnit: string; + + /** + * 被访人联系方式 + */ + interviewedPhone: string; + /** * 拜访开始时间 */ @@ -64,6 +84,11 @@ export interface VisitorManagementForm extends BaseEntity { */ visitorName?: string; + /** + * 所属公司 + */ + visitorUnit?: string; + /** * 访客电话 */ @@ -74,6 +99,31 @@ export interface VisitorManagementForm extends BaseEntity { */ visitingReason?: string; + /** + * 被访人 + */ + interviewedPerson?: string; + + /** + * 被访单位 + */ + interviewedUnit?: string; + + /** + * 被访人联系方式 + */ + interviewedPhone?: string; + + /** + * 拜访开始时间 + */ + visitingBeginTime?: string; + + /** + * 拜访结束时间 + */ + visitingEndTime?: string; + /** * 预约车位(0:预约,1:不预约) */ @@ -102,6 +152,11 @@ export interface VisitorManagementQuery extends PageQuery { */ visitorName?: string; + /** + * 所属公司 + */ + visitorUnit?: string; + /** * 访客电话 */ @@ -112,6 +167,21 @@ export interface VisitorManagementQuery extends PageQuery { */ visitingReason?: string; + /** + * 被访人 + */ + interviewedPerson?: string; + + /** + * 被访单位 + */ + interviewedUnit?: string; + + /** + * 被访人联系方式 + */ + interviewedPhone?: string; + /** * 拜访开始时间 */ diff --git a/apps/web-antd/src/views/property/clean/clean-modal.vue b/apps/web-antd/src/views/property/clean/clean-modal.vue new file mode 100644 index 00000000..8be6af3d --- /dev/null +++ b/apps/web-antd/src/views/property/clean/clean-modal.vue @@ -0,0 +1,101 @@ + + + + diff --git a/apps/web-antd/src/views/property/clean/data.ts b/apps/web-antd/src/views/property/clean/data.ts new file mode 100644 index 00000000..4425e214 --- /dev/null +++ b/apps/web-antd/src/views/property/clean/data.ts @@ -0,0 +1,150 @@ +import type { FormSchemaGetter } from '#/adapter/form'; +import type { VxeGridProps } from '#/adapter/vxe-table'; + + +export const querySchema: FormSchemaGetter = () => [ + { + component: 'Input', + fieldName: 'name', + label: '劳务名称', + }, + { + component: 'Textarea', + fieldName: 'measure', + label: '计量单位', + }, + { + component: 'Input', + fieldName: 'method', + label: '计算方式', + }, + { + component: 'Input', + fieldName: 'peices', + label: '单价', + }, + { + component: 'Input', + fieldName: 'frequency', + label: '保洁频率', + }, + { + component: 'Input', + fieldName: 'standard', + label: '保洁标准', + }, + { + component: 'Input', + fieldName: 'stater', + label: '状态', + }, +]; + +// 需要使用i18n注意这里要改成getter形式 否则切换语言不会刷新 +// export const columns: () => VxeGridProps['columns'] = () => [ +export const columns: VxeGridProps['columns'] = [ + { type: 'checkbox', width: 60 }, + { + title: '主键id', + field: 'id', + }, + { + title: '劳务名称', + field: 'name', + }, + { + title: '计量单位', + field: 'measure', + }, + { + title: '计算方式', + field: 'method', + }, + { + title: '单价', + field: 'peices', + }, + { + title: '保洁频率', + field: 'frequency', + }, + { + title: '保洁标准', + field: 'standard', + }, + { + title: '备注', + field: 'remark', + }, + { + title: '状态', + field: 'stater', + }, + { + 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: 'name', + component: 'Input', + rules: 'required', + }, + { + label: '计量单位', + fieldName: 'measure', + component: 'Textarea', + rules: 'required', + }, + { + label: '计算方式', + fieldName: 'method', + component: 'Input', + rules: 'required', + }, + { + label: '单价', + fieldName: 'peices', + component: 'Input', + rules: 'required', + }, + { + label: '保洁频率', + fieldName: 'frequency', + component: 'Input', + rules: 'required', + }, + { + label: '保洁标准', + fieldName: 'standard', + component: 'Input', + rules: 'required', + }, + { + label: '备注', + fieldName: 'remark', + component: 'Input', + rules: 'required', + }, + { + label: '状态', + fieldName: 'stater', + component: 'Input', + rules: 'required', + }, +]; diff --git a/apps/web-antd/src/views/property/clean/index.vue b/apps/web-antd/src/views/property/clean/index.vue new file mode 100644 index 00000000..e6f5ff92 --- /dev/null +++ b/apps/web-antd/src/views/property/clean/index.vue @@ -0,0 +1,182 @@ + + + diff --git a/apps/web-antd/src/views/property/clean_order/clean_order-modal.vue b/apps/web-antd/src/views/property/clean_order/clean_order-modal.vue new file mode 100644 index 00000000..6573b1dd --- /dev/null +++ b/apps/web-antd/src/views/property/clean_order/clean_order-modal.vue @@ -0,0 +1,101 @@ + + + + diff --git a/apps/web-antd/src/views/property/clean_order/data.ts b/apps/web-antd/src/views/property/clean_order/data.ts new file mode 100644 index 00000000..0230eb17 --- /dev/null +++ b/apps/web-antd/src/views/property/clean_order/data.ts @@ -0,0 +1,248 @@ +import type { FormSchemaGetter } from '#/adapter/form'; +import type { VxeGridProps } from '#/adapter/vxe-table'; + + +export const querySchema: FormSchemaGetter = () => [ + { + component: 'Textarea', + fieldName: 'location', + label: '位置', + }, + { + component: 'Textarea', + fieldName: 'area', + label: '面积', + }, + { + component: 'Input', + fieldName: 'cleanId', + label: '保洁id', + }, + { + component: 'Textarea', + fieldName: 'name', + label: '名称', + }, + { + component: 'Input', + fieldName: 'prices', + label: '单价', + }, + { + component: 'Input', + fieldName: 'sumPeices', + label: '总价', + }, + { + component: 'Input', + fieldName: 'payState', + label: '支付状态', + }, + { + component: 'DatePicker', + componentProps: { + showTime: true, + format: 'YYYY-MM-DD HH:mm:ss', + valueFormat: 'YYYY-MM-DD HH:mm:ss', + }, + fieldName: 'starTime', + label: '开始时间', + }, + { + component: 'DatePicker', + componentProps: { + showTime: true, + format: 'YYYY-MM-DD HH:mm:ss', + valueFormat: 'YYYY-MM-DD HH:mm:ss', + }, + fieldName: 'endTime', + label: '结束时间', + }, + { + component: 'Input', + fieldName: 'unitId', + label: '单位id', + }, + { + component: 'Textarea', + fieldName: 'unit', + label: '申请单位', + }, + { + component: 'Textarea', + fieldName: 'persion', + label: '联系人', + }, + { + component: 'Textarea', + fieldName: 'phone', + label: '联系电话', + }, +]; + +// 需要使用i18n注意这里要改成getter形式 否则切换语言不会刷新 +// export const columns: () => VxeGridProps['columns'] = () => [ +export const columns: VxeGridProps['columns'] = [ + { type: 'checkbox', width: 60 }, + { + title: '主键', + field: 'id', + }, + { + title: '位置', + field: 'location', + }, + { + title: '面积', + field: 'area', + }, + { + title: '保洁id', + field: 'cleanId', + }, + { + title: '名称', + field: 'name', + }, + { + title: '单价', + field: 'prices', + }, + { + title: '总价', + field: 'sumPeices', + }, + { + title: '支付状态', + field: 'payState', + }, + { + title: '开始时间', + field: 'starTime', + }, + { + title: '结束时间', + field: 'endTime', + }, + { + title: '单位id', + field: 'unitId', + }, + { + title: '申请单位', + field: 'unit', + }, + { + title: '联系人', + field: 'persion', + }, + { + title: '联系电话', + field: 'phone', + }, + { + field: 'action', + fixed: 'right', + slots: { default: 'action' }, + title: '操作', + width: 180, + }, +]; + +export const modalSchema: FormSchemaGetter = () => [ + { + label: '主键', + fieldName: 'id', + component: 'Input', + dependencies: { + show: () => false, + triggerFields: [''], + }, + }, + { + label: '位置', + fieldName: 'location', + component: 'Textarea', + rules: 'required', + }, + { + label: '面积', + fieldName: 'area', + component: 'Textarea', + }, + { + label: '保洁id', + fieldName: 'cleanId', + component: 'Input', + rules: 'required', + }, + { + label: '名称', + fieldName: 'name', + component: 'Textarea', + rules: 'required', + }, + { + label: '单价', + fieldName: 'prices', + component: 'Input', + rules: 'required', + }, + { + label: '总价', + fieldName: 'sumPeices', + component: 'Input', + }, + { + label: '支付状态', + fieldName: 'payState', + component: 'Input', + rules: 'required', + }, + { + label: '开始时间', + fieldName: 'starTime', + component: 'DatePicker', + componentProps: { + showTime: true, + format: 'YYYY-MM-DD HH:mm:ss', + valueFormat: 'YYYY-MM-DD HH:mm:ss', + }, + rules: 'required', + }, + { + label: '结束时间', + fieldName: 'endTime', + component: 'DatePicker', + componentProps: { + showTime: true, + format: 'YYYY-MM-DD HH:mm:ss', + valueFormat: 'YYYY-MM-DD HH:mm:ss', + }, + rules: 'required', + }, + { + label: '单位id', + fieldName: 'unitId', + component: 'Input', + rules: 'required', + }, + { + label: '申请单位', + fieldName: 'unit', + component: 'Textarea', + rules: 'required', + }, + { + label: '联系人', + fieldName: 'persion', + component: 'Textarea', + rules: 'required', + }, + { + label: '联系电话', + fieldName: 'phone', + component: 'Textarea', + rules: 'required', + }, +]; diff --git a/apps/web-antd/src/views/property/clean_order/index.vue b/apps/web-antd/src/views/property/clean_order/index.vue new file mode 100644 index 00000000..55f23a25 --- /dev/null +++ b/apps/web-antd/src/views/property/clean_order/index.vue @@ -0,0 +1,182 @@ + + + diff --git a/apps/web-antd/src/views/property/person/data.ts b/apps/web-antd/src/views/property/person/data.ts new file mode 100644 index 00000000..4c6dcf34 --- /dev/null +++ b/apps/web-antd/src/views/property/person/data.ts @@ -0,0 +1,213 @@ +import type { FormSchemaGetter } from '#/adapter/form'; +import type { VxeGridProps } from '#/adapter/vxe-table'; + + +export const querySchema: FormSchemaGetter = () => [ + { + component: 'Input', + fieldName: 'userId', + label: '用户id', + }, + { + component: 'Input', + fieldName: 'userName', + label: '用户名称', + }, + { + component: 'Input', + fieldName: 'phone', + label: '联系电话', + }, + { + component: 'Input', + fieldName: 'gender', + label: '性别', + }, + { + component: 'Input', + fieldName: 'img', + label: '人脸图片', + }, + { + component: 'Input', + fieldName: 'unitId', + label: '所属单位id', + }, + { + component: 'Input', + fieldName: 'unitName', + label: '所属单位名称', + }, + { + component: 'Input', + fieldName: 'locathon', + label: '入驻位置', + }, + { + component: 'DatePicker', + componentProps: { + showTime: true, + format: 'YYYY-MM-DD HH:mm:ss', + valueFormat: 'YYYY-MM-DD HH:mm:ss', + }, + fieldName: 'time', + label: '入驻时间', + }, + { + component: 'Textarea', + fieldName: 'carNumber', + label: '车牌号码', + }, + { + component: 'Input', + fieldName: 'state', + label: '状态', + }, +]; + +// 需要使用i18n注意这里要改成getter形式 否则切换语言不会刷新 +// export const columns: () => VxeGridProps['columns'] = () => [ +export const columns: VxeGridProps['columns'] = [ + { type: 'checkbox', width: 60 }, + { + title: '主键id', + field: 'id', + }, + { + title: '用户id', + field: 'userId', + }, + { + title: '用户名称', + field: 'userName', + }, + { + title: '联系电话', + field: 'phone', + }, + { + title: '性别', + field: 'gender', + }, + { + title: '人脸图片', + field: 'img', + }, + { + title: '所属单位id', + field: 'unitId', + }, + { + title: '所属单位名称', + field: 'unitName', + }, + { + title: '入驻位置', + field: 'locathon', + }, + { + title: '入驻时间', + field: 'time', + }, + { + title: '车牌号码', + field: 'carNumber', + }, + { + title: '状态', + field: 'state', + }, + { + title: '备注', + field: 'remark', + }, + { + 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: '用户id', + fieldName: 'userId', + component: 'Input', + rules: 'required', + }, + { + label: '用户名称', + fieldName: 'userName', + component: 'Input', + rules: 'required', + }, + { + label: '联系电话', + fieldName: 'phone', + component: 'Input', + rules: 'required', + }, + { + label: '性别', + fieldName: 'gender', + component: 'Input', + rules: 'required', + }, + { + label: '人脸图片', + fieldName: 'img', + component: 'Input', + }, + { + label: '所属单位id', + fieldName: 'unitId', + component: 'Input', + }, + { + label: '所属单位名称', + fieldName: 'unitName', + component: 'Input', + }, + { + label: '入驻位置', + fieldName: 'locathon', + component: 'Input', + }, + { + label: '入驻时间', + fieldName: 'time', + component: 'DatePicker', + componentProps: { + showTime: true, + format: 'YYYY-MM-DD HH:mm:ss', + valueFormat: 'YYYY-MM-DD HH:mm:ss', + }, + }, + { + label: '车牌号码', + fieldName: 'carNumber', + component: 'Textarea', + }, + { + label: '状态', + fieldName: 'state', + component: 'Input', + rules: 'required', + }, + { + label: '备注', + fieldName: 'remark', + component: 'Textarea', + }, +]; diff --git a/apps/web-antd/src/views/property/person/index.vue b/apps/web-antd/src/views/property/person/index.vue new file mode 100644 index 00000000..0922669c --- /dev/null +++ b/apps/web-antd/src/views/property/person/index.vue @@ -0,0 +1,182 @@ + + + diff --git a/apps/web-antd/src/views/property/person/person-modal.vue b/apps/web-antd/src/views/property/person/person-modal.vue new file mode 100644 index 00000000..a2336964 --- /dev/null +++ b/apps/web-antd/src/views/property/person/person-modal.vue @@ -0,0 +1,101 @@ + + + + diff --git a/apps/web-antd/src/views/property/resident_unit/data.ts b/apps/web-antd/src/views/property/resident_unit/data.ts new file mode 100644 index 00000000..18612db3 --- /dev/null +++ b/apps/web-antd/src/views/property/resident_unit/data.ts @@ -0,0 +1,193 @@ +import type { FormSchemaGetter } from '#/adapter/form'; +import type { VxeGridProps } from '#/adapter/vxe-table'; + + +export const querySchema: FormSchemaGetter = () => [ + { + component: 'Input', + fieldName: 'name', + label: '入驻单位名称', + }, + { + component: 'Input', + fieldName: 'unitNumber', + label: '单位编号', + }, + { + component: 'Select', + componentProps: { + }, + fieldName: 'type', + label: '企业类型', + }, + { + component: 'Input', + fieldName: 'contactPerson', + label: '联系人', + }, + { + component: 'Input', + fieldName: 'phone', + label: '联系电话', + }, + { + component: 'Textarea', + fieldName: 'location', + label: '入驻位置', + }, + { + component: 'DatePicker', + componentProps: { + showTime: true, + format: 'YYYY-MM-DD HH:mm:ss', + valueFormat: 'YYYY-MM-DD HH:mm:ss', + }, + fieldName: 'time', + label: '入驻时间', + }, + { + component: 'Input', + fieldName: 'state', + label: '状态', + }, + { + component: 'Input', + fieldName: 'number', + label: '员工人数', + }, +]; + +// 需要使用i18n注意这里要改成getter形式 否则切换语言不会刷新 +// export const columns: () => VxeGridProps['columns'] = () => [ +export const columns: VxeGridProps['columns'] = [ + { type: 'checkbox', width: 60 }, + { + title: 'id', + field: 'id', + }, + { + title: '入驻单位名称', + field: 'name', + }, + { + title: '单位编号', + field: 'unitNumber', + }, + { + title: '企业类型', + field: 'type', + }, + { + title: '联系人', + field: 'contactPerson', + }, + { + title: '联系电话', + field: 'phone', + }, + { + title: '入驻位置', + field: 'location', + }, + { + title: '入驻时间', + field: 'time', + }, + { + title: '状态', + field: 'state', + }, + { + title: '员工人数', + field: 'number', + }, + { + title: '备注', + field: 'remark', + }, + { + 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: 'name', + component: 'Input', + rules: 'required', + }, + { + label: '单位编号', + fieldName: 'unitNumber', + component: 'Input', + rules: 'required', + }, + { + label: '企业类型', + fieldName: 'type', + component: 'Input', + componentProps: { + }, + rules: 'selectRequired', + }, + { + label: '联系人', + fieldName: 'contactPerson', + component: 'Input', + rules: 'required', + }, + { + label: '联系电话', + fieldName: 'phone', + component: 'Input', + rules: 'required', + }, + { + label: '入驻位置', + fieldName: 'location', + component: 'Textarea', + rules: 'required', + }, + { + label: '入驻时间', + fieldName: 'time', + component: 'DatePicker', + componentProps: { + showTime: true, + format: 'YYYY-MM-DD HH:mm:ss', + valueFormat: 'YYYY-MM-DD HH:mm:ss', + }, + rules: 'required', + }, + { + label: '状态', + fieldName: 'state', + component: 'Input', + rules: 'required', + }, + { + label: '员工人数', + fieldName: 'number', + component: 'Input', + rules: 'required', + }, + { + label: '备注', + fieldName: 'remark', + component: 'Textarea', + }, +]; diff --git a/apps/web-antd/src/views/property/resident_unit/index.vue b/apps/web-antd/src/views/property/resident_unit/index.vue new file mode 100644 index 00000000..f58213e4 --- /dev/null +++ b/apps/web-antd/src/views/property/resident_unit/index.vue @@ -0,0 +1,182 @@ + + + diff --git a/apps/web-antd/src/views/property/resident_unit/resident_unit-modal.vue b/apps/web-antd/src/views/property/resident_unit/resident_unit-modal.vue new file mode 100644 index 00000000..3bf2dbed --- /dev/null +++ b/apps/web-antd/src/views/property/resident_unit/resident_unit-modal.vue @@ -0,0 +1,101 @@ + + + + diff --git a/apps/web-antd/src/views/property/visitorManagement/data.ts b/apps/web-antd/src/views/property/visitorManagement/data.ts index 0b97c33c..56ff8245 100644 --- a/apps/web-antd/src/views/property/visitorManagement/data.ts +++ b/apps/web-antd/src/views/property/visitorManagement/data.ts @@ -1,6 +1,8 @@ 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 = () => [ { @@ -8,6 +10,11 @@ export const querySchema: FormSchemaGetter = () => [ fieldName: 'visitorName', label: '访客姓名', }, + { + component: 'Input', + fieldName: 'visitorUnit', + label: '所属公司', + }, { component: 'Input', fieldName: 'visitorPhone', @@ -18,6 +25,21 @@ export const querySchema: FormSchemaGetter = () => [ fieldName: 'visitingReason', label: '拜访事由', }, + { + component: 'Input', + fieldName: 'interviewedPerson', + label: '被访人', + }, + { + component: 'Input', + fieldName: 'interviewedUnit', + label: '被访单位', + }, + { + component: 'Input', + fieldName: 'interviewedPhone', + label: '被访人联系方式', + }, { component: 'DatePicker', componentProps: { @@ -56,6 +78,8 @@ export const querySchema: FormSchemaGetter = () => [ { component: 'RadioGroup', componentProps: { + // 可选从DictEnum中获取 DictEnum.WY_APPOINTMENT_TATUS 便于维护 + options: getDictOptions('wy_appointment_tatus'), buttonStyle: 'solid', optionType: 'button', }, @@ -76,6 +100,10 @@ export const columns: VxeGridProps['columns'] = [ title: '访客姓名', field: 'visitorName', }, + { + title: '所属公司', + field: 'visitorUnit', + }, { title: '访客电话', field: 'visitorPhone', @@ -84,6 +112,18 @@ export const columns: VxeGridProps['columns'] = [ title: '拜访事由', field: 'visitingReason', }, + { + title: '被访人', + field: 'interviewedPerson', + }, + { + title: '被访单位', + field: 'interviewedUnit', + }, + { + title: '被访人联系方式', + field: 'interviewedPhone', + }, { title: '拜访开始时间', field: 'visitingBeginTime', @@ -107,6 +147,12 @@ export const columns: VxeGridProps['columns'] = [ { title: '预约状态', field: 'serveStatus', + slots: { + default: ({ row }) => { + // 可选从DictEnum中获取 DictEnum.WY_APPOINTMENT_TATUS 便于维护 + return renderDict(row.serveStatus, 'wy_appointment_tatus'); + }, + }, }, { field: 'action', @@ -133,6 +179,12 @@ export const modalSchema: FormSchemaGetter = () => [ component: 'Input', rules: 'required', }, + { + label: '所属公司', + fieldName: 'visitorUnit', + component: 'Input', + rules: 'required', + }, { label: '访客电话', fieldName: 'visitorPhone', @@ -145,6 +197,42 @@ export const modalSchema: FormSchemaGetter = () => [ component: 'Input', rules: 'required', }, + { + label: '被访人', + fieldName: 'interviewedPerson', + component: 'Input', + rules: 'required', + }, + { + label: '被访单位', + fieldName: 'interviewedUnit', + component: 'Input', + }, + { + label: '被访人联系方式', + fieldName: 'interviewedPhone', + component: 'Input', + }, + { + label: '拜访开始时间', + fieldName: 'visitingBeginTime', + component: 'DatePicker', + componentProps: { + showTime: true, + format: 'YYYY-MM-DD HH:mm:ss', + valueFormat: 'YYYY-MM-DD HH:mm:ss', + }, + }, + { + label: '拜访结束时间', + fieldName: 'visitingEndTime', + component: 'DatePicker', + componentProps: { + showTime: true, + format: 'YYYY-MM-DD HH:mm:ss', + valueFormat: 'YYYY-MM-DD HH:mm:ss', + }, + }, { label: '预约车位', fieldName: 'bookingParkingSpace', @@ -167,6 +255,8 @@ export const modalSchema: FormSchemaGetter = () => [ fieldName: 'serveStatus', component: 'RadioGroup', componentProps: { + // 可选从DictEnum中获取 DictEnum.WY_APPOINTMENT_TATUS 便于维护 + options: getDictOptions('wy_appointment_tatus'), buttonStyle: 'solid', optionType: 'button', }, diff --git a/apps/web-antd/src/views/tool/gen/index.vue b/apps/web-antd/src/views/tool/gen/index.vue index a6dec36d..82c34972 100644 --- a/apps/web-antd/src/views/tool/gen/index.vue +++ b/apps/web-antd/src/views/tool/gen/index.vue @@ -195,12 +195,6 @@ function handleImport() {