diff --git a/src/components/Select.tsx b/src/components/Select.tsx index d6e4854..d8bf8b5 100644 --- a/src/components/Select.tsx +++ b/src/components/Select.tsx @@ -445,7 +445,41 @@ export const Selects = { }, }; }, + //房屋全称 + AssetFullName(props?: PropsType): ReturnType { + const { + title = '选择房屋', + key = 'asset_houses_id', + required = false, + hideInTable = true, + ...rest + } = props ?? {}; + return { + title: title, + key: key, + valueType: 'select', + hideInTable: hideInTable, + formItemProps: { ...(required ? rulesHelper.number : {}) }, + request: async (params) => + ( + await Apis.Asset.AssetHouses.SelectFullName({ + keywords: params?.keyWords, + ...params, + }) + ).data, + ...rest, + fieldProps: { + showSearch: true, + placeholder: '请选择(支持关键字搜索)', + fieldNames: { + label: 'label', + value: 'value', + }, + ...rest?.fieldProps, + }, + }; + }, //获取广告位 GetBannerSpace(props?: PropsType): ReturnType { const { diff --git a/src/gen/ApiTypes.d.ts b/src/gen/ApiTypes.d.ts index 1d7c24d..d3f6b71 100644 --- a/src/gen/ApiTypes.d.ts +++ b/src/gen/ApiTypes.d.ts @@ -578,7 +578,6 @@ declare namespace ApiTypes { "year"?: number; // 账单年份 "month"?: number; // 账单月份 "type"?: string; // 账单类型,[enum:HouseBillsTypeEnum] - "has_refunding"?: boolean; // 是否有退款中:false-无,true-有 }; type SummaryBillList = { "project_name"?: string; // 模糊搜索:项目名称 diff --git a/src/gen/Enums.ts b/src/gen/Enums.ts index c2eb751..6c240c6 100644 --- a/src/gen/Enums.ts +++ b/src/gen/Enums.ts @@ -1,762 +1,1728 @@ // ActivitiesPublishStatusEnum -export const ActivitiesPublishStatusEnum= { - 'Unpublished': {"text":"未发布","color":"#9e9e9e","value":"Unpublished"}, - 'Published': {"text":"已发布","color":"#00c853","value":"Published"}, - 'Unlisted': {"text":"已下架","color":"#d32f2f","value":"Unlisted"}, +export const ActivitiesPublishStatusEnum = { + Unpublished: { text: '未发布', color: '#9e9e9e', value: 'Unpublished' }, + Published: { text: '已发布', color: '#00c853', value: 'Published' }, + Unlisted: { text: '已下架', color: '#d32f2f', value: 'Unlisted' }, }; // ActivitiesPublishTypeEnum -export const ActivitiesPublishTypeEnum= { - 'Manual': {"text":"手动","color":"#4caf50","value":"Manual"}, - 'Schedule': {"text":"定时","color":"#2196f3","value":"Schedule"}, +export const ActivitiesPublishTypeEnum = { + Manual: { text: '手动', color: '#4caf50', value: 'Manual' }, + Schedule: { text: '定时', color: '#2196f3', value: 'Schedule' }, }; // ActivitiesStatusEnum -export const ActivitiesStatusEnum= { - 'NotStarted': {"text":"未开始","color":"#9e9e9e","value":"NotStarted"}, - 'InProgress': {"text":"进行中","color":"#00c853","value":"InProgress"}, - 'Finished': {"text":"已结束","color":"#d32f2f","value":"Finished"}, +export const ActivitiesStatusEnum = { + NotStarted: { text: '未开始', color: '#9e9e9e', value: 'NotStarted' }, + InProgress: { text: '进行中', color: '#00c853', value: 'InProgress' }, + Finished: { text: '已结束', color: '#d32f2f', value: 'Finished' }, }; // ActivityEnrollsStatusEnum -export const ActivityEnrollsStatusEnum= { - 'PendingReview': {"text":"待审核","color":"#2196f3","value":"PendingReview"}, - 'Success': {"text":"成功","color":"#00c853","value":"Success"}, - 'Failed': {"text":"失败","color":"#d32f2f","value":"Failed"}, - 'Cancelled': {"text":"取消","color":"#ff9800","value":"Cancelled"}, +export const ActivityEnrollsStatusEnum = { + PendingReview: { text: '待审核', color: '#2196f3', value: 'PendingReview' }, + Success: { text: '成功', color: '#00c853', value: 'Success' }, + Failed: { text: '失败', color: '#d32f2f', value: 'Failed' }, + Cancelled: { text: '取消', color: '#ff9800', value: 'Cancelled' }, }; -// 车位产权类型 -export const AssetCarPortsPropertyTypeEnum= { - 'Ownership': {"text":"产权车位","color":"#1e90ff","value":"Ownership"}, - 'CivilDefense': {"text":"人防车位","color":"#32cd32","value":"CivilDefense"}, - 'Public': {"text":"公共车位","color":"#ff8c00","value":"Public"}, - 'Temporary': {"text":"临时车位","color":"#ba55d3","value":"Temporary"}, - 'Other': {"text":"其他","color":"#a9a9a9","value":"Other"}, +// ApprovalInstancesStatusEnum +export const ApprovalInstancesStatusEnum = { + Pending: { text: '待审批', color: '#ff9800', value: 'Pending' }, + Approved: { text: '已通过', color: '#4caf50', value: 'Approved' }, + Rejected: { text: '已拒绝', color: '#f44336', value: 'Rejected' }, + Cancelled: { text: '已取消', color: '#9e9e9e', value: 'Cancelled' }, }; -// 车位状态 -export const AssetCarPortsStatusEnum= { - 'Unsold': {"text":"未售","color":"#6b7280","value":"Unsold"}, - 'Sold': {"text":"已售","color":"#10b981","value":"Sold"}, - 'Rented': {"text":"已租","color":"#3b82f6","value":"Rented"}, - 'Unrented': {"text":"未租","color":"#f59e0b","value":"Unrented"}, - 'Other': {"text":"其他","color":"#9ca3af","value":"Other"}, +// ApprovalRecordsStatusEnum +export const ApprovalRecordsStatusEnum = { + Pending: { text: '待审批', color: '#ff9800', value: 'Pending' }, + Approved: { text: '同意', color: '#4caf50', value: 'Approved' }, + Rejected: { text: '拒绝', color: '#f44336', value: 'Rejected' }, + Transferred: { text: '转交', color: '#9c27b0', value: 'Transferred' }, }; -// 车位类型 -export const AssetCarPortsTypeEnum= { - 'Standard': {"text":"标准车位","color":"#1e90ff","value":"Standard"}, - 'Mini': {"text":"微型车位","color":"#32cd32","value":"Mini"}, - 'Accessible': {"text":"无障碍车位","color":"#ff8c00","value":"Accessible"}, - 'Tandem': {"text":"子母车位","color":"#ba55d3","value":"Tandem"}, - 'Mechanical': {"text":"机械车位","color":"#20b2aa","value":"Mechanical"}, - 'Other': {"text":"其他","color":"#a9a9a9","value":"Other"}, +// ApprovalTemplateNodesApproveTypeEnum +export const ApprovalTemplateNodesApproveTypeEnum = { + And: { text: '会签', color: '#4caf50', value: 'And' }, + Or: { text: '或签', color: '#ff9800', value: 'Or' }, +}; + +// ApprovalTemplateNodesNodeTypeEnum +export const ApprovalTemplateNodesNodeTypeEnum = { + Approver: { text: '审批人', color: '#2196f3', value: 'Approver' }, + CC: { text: '抄送人', color: '#9e9e9e', value: 'CC' }, +}; + +// ApprovalTemplatesTypeEnum +export const ApprovalTemplatesTypeEnum = { + Contract: { text: '合同', color: '#2196f3', value: 'Contract' }, + Finance: { text: '财务', color: '#4caf50', value: 'Finance' }, + Refund: { text: '退款', color: '#f44336', value: 'Refund' }, +}; + +// AssetCarPortsPropertyTypeEnum +export const AssetCarPortsPropertyTypeEnum = { + Ownership: { text: '产权车位', color: '#1e90ff', value: 'Ownership' }, + CivilDefense: { text: '人防车位', color: '#32cd32', value: 'CivilDefense' }, + Public: { text: '公共车位', color: '#ff8c00', value: 'Public' }, + Temporary: { text: '临时车位', color: '#ba55d3', value: 'Temporary' }, + Other: { text: '其他', color: '#a9a9a9', value: 'Other' }, +}; + +// AssetCarPortsStatusEnum +export const AssetCarPortsStatusEnum = { + Unsold: { text: '未售', color: '#6b7280', value: 'Unsold' }, + Sold: { text: '已售', color: '#10b981', value: 'Sold' }, + Rented: { text: '已租', color: '#3b82f6', value: 'Rented' }, + Unrented: { text: '未租', color: '#f59e0b', value: 'Unrented' }, + Other: { text: '其他', color: '#9ca3af', value: 'Other' }, +}; + +// AssetCarPortsTypeEnum +export const AssetCarPortsTypeEnum = { + Standard: { text: '标准车位', color: '#1e90ff', value: 'Standard' }, + Mini: { text: '微型车位', color: '#32cd32', value: 'Mini' }, + Accessible: { text: '无障碍车位', color: '#ff8c00', value: 'Accessible' }, + Tandem: { text: '子母车位', color: '#ba55d3', value: 'Tandem' }, + Mechanical: { text: '机械车位', color: '#20b2aa', value: 'Mechanical' }, + Other: { text: '其他', color: '#a9a9a9', value: 'Other' }, }; // AssetHousesOrientationEnum -export const AssetHousesOrientationEnum= { - 'East': {"text":"东","color":"#007bff","value":"East"}, - 'South': {"text":"南","color":"#28a745","value":"South"}, - 'West': {"text":"西","color":"#ffc107","value":"West"}, - 'North': {"text":"北","color":"#dc3545","value":"North"}, - 'Southeast': {"text":"东南","color":"#20c997","value":"Southeast"}, - 'Northeast': {"text":"东北","color":"#6f42c1","value":"Northeast"}, - 'Southwest': {"text":"西南","color":"#fd7e14","value":"Southwest"}, - 'Northwest': {"text":"西北","color":"#17a2b8","value":"Northwest"}, - 'EastWest': {"text":"东西","color":"#6610f2","value":"EastWest"}, - 'SouthNorth': {"text":"南北","color":"#e83e8c","value":"SouthNorth"}, +export const AssetHousesOrientationEnum = { + East: { text: '东', color: '#007bff', value: 'East' }, + South: { text: '南', color: '#28a745', value: 'South' }, + West: { text: '西', color: '#ffc107', value: 'West' }, + North: { text: '北', color: '#dc3545', value: 'North' }, + Southeast: { text: '东南', color: '#20c997', value: 'Southeast' }, + Northeast: { text: '东北', color: '#6f42c1', value: 'Northeast' }, + Southwest: { text: '西南', color: '#fd7e14', value: 'Southwest' }, + Northwest: { text: '西北', color: '#17a2b8', value: 'Northwest' }, + EastWest: { text: '东西', color: '#6610f2', value: 'EastWest' }, + SouthNorth: { text: '南北', color: '#e83e8c', value: 'SouthNorth' }, }; // AssetHousesOwnershipTypeEnum -export const AssetHousesOwnershipTypeEnum= { - 'CommodityHousing': {"text":"商品房","color":"#007bff","value":"CommodityHousing"}, - 'FundedHousing': {"text":"集资房","color":"#28a745","value":"FundedHousing"}, - 'MilitaryHousing': {"text":"军产房","color":"#17a2b8","value":"MilitaryHousing"}, - 'AffordableHousing': {"text":"保障房","color":"#ffc107","value":"AffordableHousing"}, - 'RuralHousing': {"text":"农民房","color":"#6f42c1","value":"RuralHousing"}, - 'CommercialOffice': {"text":"商业写字楼","color":"#fd7e14","value":"CommercialOffice"}, - 'CommercialComplex': {"text":"商业综合体","color":"#dc3545","value":"CommercialComplex"}, - 'ResettlementHousing': {"text":"回迁房","color":"#20c997","value":"ResettlementHousing"}, +export const AssetHousesOwnershipTypeEnum = { + CommodityHousing: { + text: '商品房', + color: '#007bff', + value: 'CommodityHousing', + }, + FundedHousing: { text: '集资房', color: '#28a745', value: 'FundedHousing' }, + MilitaryHousing: { + text: '军产房', + color: '#17a2b8', + value: 'MilitaryHousing', + }, + AffordableHousing: { + text: '保障房', + color: '#ffc107', + value: 'AffordableHousing', + }, + RuralHousing: { text: '农民房', color: '#6f42c1', value: 'RuralHousing' }, + CommercialOffice: { + text: '商业写字楼', + color: '#fd7e14', + value: 'CommercialOffice', + }, + CommercialComplex: { + text: '商业综合体', + color: '#dc3545', + value: 'CommercialComplex', + }, + ResettlementHousing: { + text: '回迁房', + color: '#20c997', + value: 'ResettlementHousing', + }, }; // AssetHousesPropertyOwnershipEnum -export const AssetHousesPropertyOwnershipEnum= { - 'Individual': {"text":"个人","color":"#2db7f5","value":"Individual"}, - 'Enterprise': {"text":"企业","color":"#87d068","value":"Enterprise"}, - 'Developer': {"text":"开发商","color":"#fa8c16","value":"Developer"}, - 'Government': {"text":"政府","color":"#f5222d","value":"Government"}, +export const AssetHousesPropertyOwnershipEnum = { + Individual: { text: '个人', color: '#2db7f5', value: 'Individual' }, + Enterprise: { text: '企业', color: '#87d068', value: 'Enterprise' }, + Developer: { text: '开发商', color: '#fa8c16', value: 'Developer' }, + Government: { text: '政府', color: '#f5222d', value: 'Government' }, }; // AssetHousesStatusEnum -export const AssetHousesStatusEnum= { - 'Unsold': {"text":"未售","color":"#6c757d","value":"Unsold"}, - 'SoldNotDelivered': {"text":"已售未交房","color":"#ffc107","value":"SoldNotDelivered"}, - 'SelfOccupied': {"text":"自住","color":"#28a745","value":"SelfOccupied"}, - 'Rented': {"text":"出租","color":"#007bff","value":"Rented"}, - 'Vacant': {"text":"空置","color":"#dc3545","value":"Vacant"}, +export const AssetHousesStatusEnum = { + Unsold: { text: '未售', color: '#6c757d', value: 'Unsold' }, + SoldNotDelivered: { + text: '已售未交房', + color: '#ffc107', + value: 'SoldNotDelivered', + }, + SelfOccupied: { text: '自住', color: '#28a745', value: 'SelfOccupied' }, + Rented: { text: '出租', color: '#007bff', value: 'Rented' }, + Vacant: { text: '空置', color: '#dc3545', value: 'Vacant' }, }; // AssetHousesUsageEnum -export const AssetHousesUsageEnum= { - 'Residence': {"text":"住宅","color":"#007bff","value":"Residence"}, - 'Apartment': {"text":"公寓","color":"#28a745","value":"Apartment"}, - 'Villa': {"text":"别墅","color":"#17a2b8","value":"Villa"}, - 'Shop': {"text":"商铺","color":"#ffc107","value":"Shop"}, - 'ParkingSpace': {"text":"车位","color":"#6c757d","value":"ParkingSpace"}, - 'Office': {"text":"写字楼","color":"#6610f2","value":"Office"}, - 'Clubhouse': {"text":"会所","color":"#fd7e14","value":"Clubhouse"}, - 'PropertyRoom': {"text":"物业用房","color":"#dc3545","value":"PropertyRoom"}, +export const AssetHousesUsageEnum = { + Residence: { text: '住宅', color: '#007bff', value: 'Residence' }, + Apartment: { text: '公寓', color: '#28a745', value: 'Apartment' }, + Villa: { text: '别墅', color: '#17a2b8', value: 'Villa' }, + Shop: { text: '商铺', color: '#ffc107', value: 'Shop' }, + ParkingSpace: { text: '车位', color: '#6c757d', value: 'ParkingSpace' }, + Office: { text: '写字楼', color: '#6610f2', value: 'Office' }, + Clubhouse: { text: '会所', color: '#fd7e14', value: 'Clubhouse' }, + PropertyRoom: { text: '物业用房', color: '#dc3545', value: 'PropertyRoom' }, + CommercialProperty: { + text: '商业用房', + color: '#20c997', + value: 'CommercialProperty', + }, }; -// 车场收费类型 -export const AssetParkingPlacesChargeTypeEnum= { - 'Free': {"text":"免费","color":"#32cd32","value":"Free"}, - 'TemporaryCharge': {"text":"临停收费","color":"#1e90ff","value":"TemporaryCharge"}, - 'MonthlyCharge': {"text":"月卡收费","color":"#ff8c00","value":"MonthlyCharge"}, - 'MixedCharge': {"text":"混合收费","color":"#ba55d3","value":"MixedCharge"}, +// AssetItemDisposalConfirmStatusEnum +export const AssetItemDisposalConfirmStatusEnum = { + Pending: { text: '待审批', color: '#ff9800', value: 'Pending' }, + Approved: { text: '已通过', color: '#4caf50', value: 'Approved' }, + Rejected: { text: '已驳回', color: '#f44336', value: 'Rejected' }, }; -// 车场位置类型 -export const AssetParkingPlacesLocationTypeEnum= { - 'GroundParking': {"text":"地面车场","color":"#ffa500","value":"GroundParking"}, - 'UndergroundParking': {"text":"地下车场","color":"#4682b4","value":"UndergroundParking"}, +// AssetItemDisposalResultEnum +export const AssetItemDisposalResultEnum = { + Disposing: { text: '处置中', color: '#ff9800', value: 'Disposing' }, + Disposed: { text: '已处置', color: '#4caf50', value: 'Disposed' }, }; -// 车场产权类型 -export const AssetParkingPlacesPropertyTypeEnum= { - 'DispersedOwnership': {"text":"分散产权","color":"#ff7f50","value":"DispersedOwnership"}, - 'SingleOwnership': {"text":"单一产权","color":"#1e90ff","value":"SingleOwnership"}, - 'SharedOwnership': {"text":"共有产权","color":"#32cd32","value":"SharedOwnership"}, +// AssetItemInventoryDetailResultEnum +export const AssetItemInventoryDetailResultEnum = { + Normal: { text: '正常', color: '#4caf50', value: 'Normal' }, + Loss: { text: '盘亏', color: '#f44336', value: 'Loss' }, }; -// 车场类型 -export const AssetParkingPlacesTypeEnum= { - 'ResidentialSupporting': {"text":"住宅配套车场","color":"#ff8c00","value":"ResidentialSupporting"}, - 'Commercial': {"text":"商业车场","color":"#1e90ff","value":"Commercial"}, - 'Mixed': {"text":"混合车场","color":"#32cd32","value":"Mixed"}, +// AssetItemInventoryResultEnum +export const AssetItemInventoryResultEnum = { + Normal: { text: '正常', color: '#4caf50', value: 'Normal' }, + Loss: { text: '盘亏', color: '#f44336', value: 'Loss' }, + Surplus: { text: '盘盈', color: '#2196f3', value: 'Surplus' }, +}; + +// AssetItemInventoryStatusEnum +export const AssetItemInventoryStatusEnum = { + Pending: { text: '待处理', color: '#ff9800', value: 'Pending' }, + Processing: { text: '处理中', color: '#2196f3', value: 'Processing' }, + Completed: { text: '已完成', color: '#4caf50', value: 'Completed' }, + Closed: { text: '已关闭', color: '#607d8b', value: 'Closed' }, +}; + +// AssetItemMaintenanceRuleStatusEnum +export const AssetItemMaintenanceRuleStatusEnum = { + Enabled: { text: '启用', color: '#4caf50', value: 'Enabled' }, + Disabled: { text: '禁用', color: '#f44336', value: 'Disabled' }, +}; + +// AssetItemMaintenanceSourceEnum +export const AssetItemMaintenanceSourceEnum = { + Auto: { text: '自动生成', color: '#2196f3', value: 'Auto' }, + Manual: { text: '手动创建', color: '#ff9800', value: 'Manual' }, +}; + +// AssetItemMaintenanceStatusEnum +export const AssetItemMaintenanceStatusEnum = { + Pending: { text: '待处理', color: '#ff9800', value: 'Pending' }, + Assigned: { text: '待开始', color: '#2196f3', value: 'Assigned' }, + Processing: { text: '处理中', color: '#9c27b0', value: 'Processing' }, + Completed: { text: '已完成', color: '#4caf50', value: 'Completed' }, + Closed: { text: '已关闭', color: '#607d8b', value: 'Closed' }, +}; + +// AssetItemMaintenanceTypeEnum +export const AssetItemMaintenanceTypeEnum = { + Maintenance: { text: '维保', color: '#4caf50', value: 'Maintenance' }, + Repair: { text: '维修', color: '#f44336', value: 'Repair' }, +}; + +// AssetItemMarkingConfirmStatusEnum +export const AssetItemMarkingConfirmStatusEnum = { + Pending: { text: '待审批', color: '#ff9800', value: 'Pending' }, + Approved: { text: '已通过', color: '#4caf50', value: 'Approved' }, + Rejected: { text: '已驳回', color: '#f44336', value: 'Rejected' }, +}; + +// AssetItemMarkingTypeEnum +export const AssetItemMarkingTypeEnum = { + Damaged: { text: '损毁', color: '#f44336', value: 'Damaged' }, + Lost: { text: '丢失', color: '#9c27b0', value: 'Lost' }, +}; + +// AssetItemReceiveConfirmStatusEnum +export const AssetItemReceiveConfirmStatusEnum = { + Pending: { text: '待确认', color: '#ff9800', value: 'Pending' }, + Approved: { text: '已确认', color: '#4caf50', value: 'Approved' }, + Rejected: { text: '已拒绝', color: '#f44336', value: 'Rejected' }, +}; + +// AssetItemReturnConfirmStatusEnum +export const AssetItemReturnConfirmStatusEnum = { + Pending: { text: '待确认', color: '#ff9800', value: 'Pending' }, + Approved: { text: '已确认', color: '#4caf50', value: 'Approved' }, + Rejected: { text: '已拒绝', color: '#f44336', value: 'Rejected' }, +}; + +// AssetItemTransferConfirmStatusEnum +export const AssetItemTransferConfirmStatusEnum = { + Pending: { text: '待审批', color: '#ff9800', value: 'Pending' }, + Approved: { text: '已通过', color: '#4caf50', value: 'Approved' }, + Rejected: { text: '已驳回', color: '#f44336', value: 'Rejected' }, +}; + +// AssetItemsEntryTypeEnum +export const AssetItemsEntryTypeEnum = { + Purchase: { text: '采购入库', color: '#2196f3', value: 'Purchase' }, + Inventory: { text: '盘盈入库', color: '#4caf50', value: 'Inventory' }, + Donation: { text: '捐赠入库', color: '#9c27b0', value: 'Donation' }, + Transfer: { text: '调拨入库', color: '#ff9800', value: 'Transfer' }, +}; + +// AssetItemsManageStatusEnum +export const AssetItemsManageStatusEnum = { + Idle: { text: '闲置', color: '#9e9e9e', value: 'Idle' }, + Storing: { text: '入库中', color: '#2196f3', value: 'Storing' }, + Transferring: { text: '调拨中', color: '#ff9800', value: 'Transferring' }, + StockLoss: { text: '盘亏', color: '#f44336', value: 'StockLoss' }, + Disposing: { text: '处置中', color: '#9c27b0', value: 'Disposing' }, + Disposed: { text: '已处置', color: '#607d8b', value: 'Disposed' }, + Checking: { text: '盘点中', color: '#00bcd4', value: 'Checking' }, + Maintaining: { text: '维护中', color: '#673ab7', value: 'Maintaining' }, + Receiving: { text: '领用中', color: '#4caf50', value: 'Receiving' }, + Received: { text: '已领用', color: '#8bc34a', value: 'Received' }, +}; + +// AssetItemsStatusEnum +export const AssetItemsStatusEnum = { + Good: { text: '良好', color: '#4caf50', value: 'Good' }, + WaitRepair: { text: '待维修', color: '#ff9800', value: 'WaitRepair' }, + Repairing: { text: '维修中', color: '#2196f3', value: 'Repairing' }, + WaitMaintain: { text: '待保养', color: '#9c27b0', value: 'WaitMaintain' }, + Maintaining: { text: '保养中', color: '#673ab7', value: 'Maintaining' }, + Damaged: { text: '损毁', color: '#f44336', value: 'Damaged' }, + Lost: { text: '丢失', color: '#607d8b', value: 'Lost' }, +}; + +// AssetParkingPlacesChargeTypeEnum +export const AssetParkingPlacesChargeTypeEnum = { + Free: { text: '免费', color: '#32cd32', value: 'Free' }, + TemporaryCharge: { + text: '临停收费', + color: '#1e90ff', + value: 'TemporaryCharge', + }, + MonthlyCharge: { text: '月卡收费', color: '#ff8c00', value: 'MonthlyCharge' }, + MixedCharge: { text: '混合收费', color: '#ba55d3', value: 'MixedCharge' }, +}; + +// AssetParkingPlacesLocationTypeEnum +export const AssetParkingPlacesLocationTypeEnum = { + GroundParking: { text: '地面车场', color: '#ffa500', value: 'GroundParking' }, + UndergroundParking: { + text: '地下车场', + color: '#4682b4', + value: 'UndergroundParking', + }, +}; + +// AssetParkingPlacesPropertyTypeEnum +export const AssetParkingPlacesPropertyTypeEnum = { + DispersedOwnership: { + text: '分散产权', + color: '#ff7f50', + value: 'DispersedOwnership', + }, + SingleOwnership: { + text: '单一产权', + color: '#1e90ff', + value: 'SingleOwnership', + }, + SharedOwnership: { + text: '共有产权', + color: '#32cd32', + value: 'SharedOwnership', + }, +}; + +// AssetParkingPlacesTypeEnum +export const AssetParkingPlacesTypeEnum = { + ResidentialSupporting: { + text: '住宅配套车场', + color: '#ff8c00', + value: 'ResidentialSupporting', + }, + Commercial: { text: '商业车场', color: '#1e90ff', value: 'Commercial' }, + Mixed: { text: '混合车场', color: '#32cd32', value: 'Mixed' }, }; // AssetProjectsChargeEnum -export const AssetProjectsChargeEnum= { - 'Contract': {"text":"包干制","color":"#007bff","value":"Contract"}, - 'Commission': {"text":"酬金制","color":"#28a745","value":"Commission"}, +export const AssetProjectsChargeEnum = { + Contract: { text: '包干制', color: '#007bff', value: 'Contract' }, + Commission: { text: '酬金制', color: '#28a745', value: 'Commission' }, }; // AssetProjectsEntrustTypeEnum -export const AssetProjectsEntrustTypeEnum= { - 'DeveloperJointEntrust': {"text":"开发商全委","color":"#007bff","value":"DeveloperJointEntrust"}, - 'OwnersFullEntrust': {"text":"业委会全委","color":"#28a745","value":"OwnersFullEntrust"}, - 'GovernmentFullEntrust': {"text":"政府类全委","color":"#ffc107","value":"GovernmentFullEntrust"}, +export const AssetProjectsEntrustTypeEnum = { + DeveloperJointEntrust: { + text: '开发商全委', + color: '#007bff', + value: 'DeveloperJointEntrust', + }, + OwnersFullEntrust: { + text: '业委会全委', + color: '#28a745', + value: 'OwnersFullEntrust', + }, + GovernmentFullEntrust: { + text: '政府类全委', + color: '#ffc107', + value: 'GovernmentFullEntrust', + }, }; // 业权类型 -export const AssetProjectsOwnershipTypeEnum= { - 'SingleOwnership': {"text":"单业权","color":"#00cc66","value":"SingleOwnership"}, - 'MultipleOwnership': {"text":"多业权","color":"#0099ff","value":"MultipleOwnership"}, +export const AssetProjectsOwnershipTypeEnum = { + SingleOwnership: { + text: '单业权', + color: '#00cc66', + value: 'SingleOwnership', + }, + MultipleOwnership: { + text: '多业权', + color: '#0099ff', + value: 'MultipleOwnership', + }, }; // AssetProjectsPropertyTypeEnum -export const AssetProjectsPropertyTypeEnum= { - 'Residence': {"text":"住宅","color":"#ff0000","value":"Residence"}, - 'Commercial': {"text":"商业","color":"#ff6600","value":"Commercial"}, - 'Office': {"text":"办公","color":"#ffcc00","value":"Office"}, - 'IndustrialPark': {"text":"产业园","color":"#00cc66","value":"IndustrialPark"}, - 'Complex': {"text":"综合体","color":"#0099ff","value":"Complex"}, - 'Municipal': {"text":"市政设施","color":"#6633cc","value":"Municipal"}, - 'Venue': {"text":"场馆","color":"#9966ff","value":"Venue"}, - 'Education': {"text":"教育","color":"#339999","value":"Education"}, - 'Medical': {"text":"医疗","color":"#cc3366","value":"Medical"}, +export const AssetProjectsPropertyTypeEnum = { + Residence: { text: '住宅', color: '#ff0000', value: 'Residence' }, + Commercial: { text: '商业', color: '#ff6600', value: 'Commercial' }, + Office: { text: '写字楼', color: '#ffcc00', value: 'Office' }, + IndustrialPark: { text: '产业园', color: '#00cc66', value: 'IndustrialPark' }, + Complex: { text: '综合体', color: '#0099ff', value: 'Complex' }, + Municipal: { text: '市政设施', color: '#6633cc', value: 'Municipal' }, + Venue: { text: '场馆', color: '#9966ff', value: 'Venue' }, + Education: { text: '教育', color: '#339999', value: 'Education' }, + Medical: { text: '医疗', color: '#cc3366', value: 'Medical' }, }; // AssetProjectsStatusEnum -export const AssetProjectsStatusEnum= { - 'SignedNotDelivered': {"text":"签约未交付","color":"#6c757d","value":"SignedNotDelivered"}, - 'RollingDevelopment': {"text":"滚动开发","color":"#007bff","value":"RollingDevelopment"}, - 'ManagedAndClosed': {"text":"在管封园","color":"#ffc107","value":"ManagedAndClosed"}, - 'Exited': {"text":"退出","color":"#dc3545","value":"Exited"}, +export const AssetProjectsStatusEnum = { + SignedNotDelivered: { + text: '签约未交付', + color: '#6c757d', + value: 'SignedNotDelivered', + }, + RollingDevelopment: { + text: '滚动开发', + color: '#007bff', + value: 'RollingDevelopment', + }, + ManagedAndClosed: { + text: '在管封园', + color: '#ffc107', + value: 'ManagedAndClosed', + }, + Exited: { text: '退出', color: '#dc3545', value: 'Exited' }, }; // AssetUnitsBuildingStructureEnum -export const AssetUnitsBuildingStructureEnum= { - 'SteelConcrete': {"text":"钢混","color":"#007bff","value":"SteelConcrete"}, - 'SteelStructure': {"text":"钢结构","color":"#28a745","value":"SteelStructure"}, - 'BrickConcrete': {"text":"砖混","color":"#ffc107","value":"BrickConcrete"}, - 'BrickWood': {"text":"砖木","color":"#dc3545","value":"BrickWood"}, +export const AssetUnitsBuildingStructureEnum = { + SteelConcrete: { text: '钢混', color: '#007bff', value: 'SteelConcrete' }, + SteelStructure: { text: '钢结构', color: '#28a745', value: 'SteelStructure' }, + BrickConcrete: { text: '砖混', color: '#ffc107', value: 'BrickConcrete' }, + BrickWood: { text: '砖木', color: '#dc3545', value: 'BrickWood' }, }; // AssetUnitsBuildingTypeEnum -export const AssetUnitsBuildingTypeEnum= { - 'SlabAndTower': {"text":"板塔结合","color":"#007bff","value":"SlabAndTower"}, - 'Slab': {"text":"板楼","color":"#28a745","value":"Slab"}, - 'Tower': {"text":"塔楼","color":"#ffc107","value":"Tower"}, +export const AssetUnitsBuildingTypeEnum = { + SlabAndTower: { text: '板塔结合', color: '#007bff', value: 'SlabAndTower' }, + Slab: { text: '板楼', color: '#28a745', value: 'Slab' }, + Tower: { text: '塔楼', color: '#ffc107', value: 'Tower' }, +}; + +// AttendanceRecordsCheckinTypeEnum +export const AttendanceRecordsCheckinTypeEnum = { + CheckIn: { text: '上班', color: '#1890ff', value: 'CheckIn' }, + CheckOut: { text: '下班', color: '#52c41a', value: 'CheckOut' }, +}; + +// AttendanceRecordsStatusEnum +export const AttendanceRecordsStatusEnum = { + Normal: { text: '正常', color: '#52c41a', value: 'Normal' }, + Late: { text: '迟到', color: '#faad14', value: 'Late' }, + EarlyLeave: { text: '早退', color: '#fa8c16', value: 'EarlyLeave' }, + OutOfRange: { text: '范围外', color: '#ff4d4f', value: 'OutOfRange' }, + Reissue: { text: '补卡', color: '#1890ff', value: 'Reissue' }, +}; + +// AttendanceSchedulesStatusEnum +export const AttendanceSchedulesStatusEnum = { + Pending: { text: '待生效', color: '#faad14', value: 'Pending' }, + Active: { text: '生效中', color: '#52c41a', value: 'Active' }, + Cancelled: { text: '已取消', color: '#ff4d4f', value: 'Cancelled' }, +}; + +// 打卡状态枚举 +export const AttendanceStatusEnum = { + Normal: { text: '正常', color: '#52c41a', value: 'Normal' }, + Late: { text: '迟到', color: '#faad14', value: 'Late' }, + Early: { text: '早退', color: '#faad14', value: 'Early' }, + OutOfRange: { text: '范围外', color: '#ff4d4f', value: 'OutOfRange' }, + MakeUp: { text: '补卡', color: '#722ed1', value: 'MakeUp' }, }; // BannerSpacesTypeEnum -export const BannerSpacesTypeEnum= { - 'Popup': {"text":"弹窗","color":"#ff0000","value":"Popup"}, - 'Banner': {"text":"横幅广告","color":"#00ff00","value":"Banner"}, - 'FloatingButton': {"text":"悬浮按钮","color":"#0000ff","value":"FloatingButton"}, +export const BannerSpacesTypeEnum = { + Popup: { text: '弹窗', color: '#ff0000', value: 'Popup' }, + Banner: { text: '横幅广告', color: '#00ff00', value: 'Banner' }, + FloatingButton: { + text: '悬浮按钮', + color: '#0000ff', + value: 'FloatingButton', + }, }; // BannersRedirectTypeEnum -export const BannersRedirectTypeEnum= { - 'InnerPage': {"text":"跳内页","color":"#ff0000","value":"InnerPage"}, - 'H5': {"text":"跳H5","color":"#00ff00","value":"H5"}, - 'MiniProgramHome': {"text":"跳小程序首屏","color":"#0000ff","value":"MiniProgramHome"}, - 'AnotherMiniProgram': {"text":"跳另一个小程序","color":"#ffa500","value":"AnotherMiniProgram"}, +export const BannersRedirectTypeEnum = { + InnerPage: { text: '跳内页', color: '#ff0000', value: 'InnerPage' }, + H5: { text: '跳H5', color: '#00ff00', value: 'H5' }, + MiniProgramHome: { + text: '跳小程序首屏', + color: '#0000ff', + value: 'MiniProgramHome', + }, + AnotherMiniProgram: { + text: '跳另一个小程序', + color: '#ffa500', + value: 'AnotherMiniProgram', + }, }; // BannersTypeEnum -export const BannersTypeEnum= { - 'Image': {"text":"图片","color":"#ff0000","value":"Image"}, - 'Video': {"text":"视频","color":"#00ff00","value":"Video"}, - 'Text': {"text":"文本","color":"#0000ff","value":"Text"}, +export const BannersTypeEnum = { + Image: { text: '图片', color: '#ff0000', value: 'Image' }, + Video: { text: '视频', color: '#00ff00', value: 'Video' }, + Text: { text: '文本', color: '#0000ff', value: 'Text' }, +}; + +// BillPaymentsStatusEnum +export const BillPaymentsStatusEnum = { + Pending: { text: '待审', color: '#faad14', value: 'Pending' }, + Approved: { text: '已审', color: '#52c41a', value: 'Approved' }, + Rejected: { text: '驳回', color: '#f5222d', value: 'Rejected' }, +}; + +// BillPaymentsTypeEnum +export const BillPaymentsTypeEnum = { + DoorCard: { text: '门卡', color: '#2196f3', value: 'DoorCard' }, + ResourceOrder: { text: '资源订单', color: '#4caf50', value: 'ResourceOrder' }, + EmergencyEvent: { + text: '突发事件', + color: '#ef4444', + value: 'EmergencyEvent', + }, + RenovationDeposit: { + text: '装修押金', + color: '#f59e0b', + value: 'RenovationDeposit', + }, +}; + +// BillsFlowTypeEnum +export const BillsFlowTypeEnum = { + Income: { text: '收入', color: '#10b981', value: 'Income' }, + Expense: { text: '支出', color: '#ef4444', value: 'Expense' }, +}; + +// BillsRefundStatusEnum +export const BillsRefundStatusEnum = { + Requested: { text: '已申请', color: '#2196f3', value: 'Requested' }, + Reviewing: { text: '审核中', color: '#ff9800', value: 'Reviewing' }, + Rejected: { text: '已拒绝', color: '#f44336', value: 'Rejected' }, + Processing: { text: '退款中', color: '#9c27b0', value: 'Processing' }, + Refunded: { text: '已退款', color: '#4caf50', value: 'Refunded' }, + Failed: { text: '退款失败', color: '#e91e63', value: 'Failed' }, +}; + +// BillsStatusEnum +export const BillsStatusEnum = { + PendingPayment: { text: '待支付', color: '#facc15', value: 'PendingPayment' }, + Paid: { text: '已支付', color: '#10b981', value: 'Paid' }, + Overdue: { text: '已逾期', color: '#ef4444', value: 'Overdue' }, + Cancelled: { text: '已取消', color: '#9ca3af', value: 'Cancelled' }, }; // 缓存类型 -export const CacheTypeEnum= { - 'MobilePhoneVerificationCode': {"text":"手机验证码","color":"#792f87","value":"MobilePhoneVerificationCode"}, +export const CacheTypeEnum = { + MobilePhoneVerificationCode: { + text: '手机验证码', + color: '#4ef9dd', + value: 'MobilePhoneVerificationCode', + }, }; // CompaniesMerchantTypeEnum -export const CompaniesMerchantTypeEnum= { - 'PropertyManagement': {"text":"物业公司","color":"#007bff","value":"PropertyManagement"}, - 'ServiceProvider': {"text":"服务商","color":"#28a745","value":"ServiceProvider"}, +export const CompaniesMerchantTypeEnum = { + PropertyManagement: { + text: '物业公司', + color: '#007bff', + value: 'PropertyManagement', + }, + ServiceProvider: { + text: '服务商', + color: '#28a745', + value: 'ServiceProvider', + }, }; // CompanyAppsAppTypeEnum -export const CompanyAppsAppTypeEnum= { - 'MiniProgram': {"text":"微信小程序","color":"#3b82f6","value":"MiniProgram"}, - 'MpOfficial': {"text":"微信公众号","color":"#22c55e","value":"MpOfficial"}, - 'WorkWechat': {"text":"企业微信","color":"#6366f1","value":"WorkWechat"}, +export const CompanyAppsAppTypeEnum = { + MiniProgram: { text: '微信小程序', color: '#3b82f6', value: 'MiniProgram' }, + MpOfficial: { text: '微信公众号', color: '#22c55e', value: 'MpOfficial' }, + WorkWechat: { text: '企业微信', color: '#6366f1', value: 'WorkWechat' }, }; // CompanyAppsModuleEnum -export const CompanyAppsModuleEnum= { - 'Employee': {"text":"员工端","color":"#3b82f6","value":"Employee"}, - 'Customer': {"text":"客户端","color":"#10b981","value":"Customer"}, +export const CompanyAppsModuleEnum = { + Employee: { text: '员工端', color: '#3b82f6', value: 'Employee' }, + Customer: { text: '客户端', color: '#10b981', value: 'Customer' }, }; // CompanyAppsWorkTypeEnum -export const CompanyAppsWorkTypeEnum= { - 'WorkWechatApp': {"text":"企微应用","color":"#00c853","value":"WorkWechatApp"}, - 'WorkWechat': {"text":"企微","color":"#0091ea","value":"WorkWechat"}, -}; - -// CompanyConfigsConfigKeyEnum -export const CompanyConfigsConfigKeyEnum= { - 'Theme': {"text":"主题色","color":"#3b82f6","value":"Theme"}, +export const CompanyAppsWorkTypeEnum = { + WorkWechatApp: { text: '企微应用', color: '#00c853', value: 'WorkWechatApp' }, + WorkWechat: { text: '企微', color: '#0091ea', value: 'WorkWechat' }, }; // CompanyEmployeeBacklogsStatusEnum -export const CompanyEmployeeBacklogsStatusEnum= { - 'Pending': {"text":"待办","color":"#FF6600","value":"Pending"}, - 'Completed': {"text":"已办","color":"#2A82E4","value":"Completed"}, +export const CompanyEmployeeBacklogsStatusEnum = { + Pending: { text: '待办', color: '#FF6600', value: 'Pending' }, + Completed: { text: '已办', color: '#2A82E4', value: 'Completed' }, }; // CompanyEmployeeBacklogsTypeEnum -export const CompanyEmployeeBacklogsTypeEnum= { - 'WorkOrder': {"text":"工单","color":"#FF6600","value":"WorkOrder"}, - 'Contract': {"text":"合同","color":"#2A82E4","value":"Contract"}, - 'MomentTask': {"text":"朋友圈任务","color":"#FF6600","value":"MomentTask"}, +export const CompanyEmployeeBacklogsTypeEnum = { + WorkOrder: { text: '工单', color: '#FF6600', value: 'WorkOrder' }, + Contract: { text: '合同', color: '#2A82E4', value: 'Contract' }, + MomentTask: { text: '朋友圈任务', color: '#FF6600', value: 'MomentTask' }, +}; + +// CompanyEmployeesTypeEnum +export const CompanyEmployeesTypeEnum = { + WeCom: { text: '企微', color: '#2196f3', value: 'WeCom' }, + External: { text: '外部', color: '#4caf50', value: 'External' }, }; // CompanyReceiptAccountsPayChannelEnum -export const CompanyReceiptAccountsPayChannelEnum= { - 'WeChat': {"text":"微信","color":"#07c160","value":"WeChat"}, - 'Alipay': {"text":"支付宝","color":"#1677ff","value":"Alipay"}, - 'BankTransfer': {"text":"银行转账","color":"#6c757d","value":"BankTransfer"}, - 'TongLian': {"text":"通联支付","color":"#ff9f0a","value":"TongLian"}, +export const CompanyReceiptAccountsPayChannelEnum = { + WeChat: { text: '微信', color: '#07c160', value: 'WeChat' }, + Alipay: { text: '支付宝', color: '#1677ff', value: 'Alipay' }, + BankTransfer: { text: '银行转账', color: '#6c757d', value: 'BankTransfer' }, + TongLian: { text: '通联支付', color: '#ff9f0a', value: 'TongLian' }, +}; + +// CompanySealsTypeEnum +export const CompanySealsTypeEnum = { + OfficialSeal: { text: '公章', color: '#007bff', value: 'OfficialSeal' }, + FinanceSeal: { text: '财务专用章', color: '#28a745', value: 'FinanceSeal' }, + ContractSeal: { text: '合同专用章', color: '#17a2b8', value: 'ContractSeal' }, + LegalRepresentativeSeal: { + text: '法定代表人章', + color: '#ffc107', + value: 'LegalRepresentativeSeal', + }, + InvoiceSeal: { text: '发票专用章', color: '#dc3545', value: 'InvoiceSeal' }, + HRSeal: { text: '人事专用章', color: '#6f42c1', value: 'HRSeal' }, +}; + +// CompanySuppliersCertificateTypeEnum +export const CompanySuppliersCertificateTypeEnum = { + IdCard: { text: '身份证', color: '#1e90ff', value: 'IdCard' }, + BusinessLicense: { + text: '营业执照', + color: '#32cd32', + value: 'BusinessLicense', + }, +}; + +// CompanySuppliersCounterpartyEnum +export const CompanySuppliersCounterpartyEnum = { + Supplier: { text: '供应商', color: '#1e90ff', value: 'Supplier' }, + InternalCompany: { + text: '内部企业', + color: '#32cd32', + value: 'InternalCompany', + }, +}; + +// CompanySuppliersGradeEnum +export const CompanySuppliersGradeEnum = { + Excellent: { text: '优秀', color: '#10b981', value: 'Excellent' }, + Qualified: { text: '合格', color: '#3b82f6', value: 'Qualified' }, + ToImprove: { text: '待整改', color: '#f59e0b', value: 'ToImprove' }, + Eliminated: { text: '淘汰', color: '#ef4444', value: 'Eliminated' }, +}; + +// CompanySuppliersSupplierTypeEnum +export const CompanySuppliersSupplierTypeEnum = { + Individual: { text: '个人', color: '#1e90ff', value: 'Individual' }, + Enterprise: { text: '企业', color: '#32cd32', value: 'Enterprise' }, +}; + +// ContractArchivesConfidentialityLevelEnum +export const ContractArchivesConfidentialityLevelEnum = { + TopSecret: { text: '绝密', color: '#dc3545', value: 'TopSecret' }, + Confidential: { text: '机密', color: '#fd7e14', value: 'Confidential' }, + Secret: { text: '保密', color: '#ffc107', value: 'Secret' }, + Internal: { text: '内部公开', color: '#17a2b8', value: 'Internal' }, + Public: { text: '公开', color: '#28a745', value: 'Public' }, +}; + +// ContractArchivesFileStatusEnum +export const ContractArchivesFileStatusEnum = { + Intact: { text: '完好', color: '#28a745', value: 'Intact' }, + SlightDamage: { text: '轻度损伤', color: '#ffc107', value: 'SlightDamage' }, + ModerateDamage: { + text: '中度损伤', + color: '#fd7e14', + value: 'ModerateDamage', + }, + SevereDamage: { text: '重度损伤', color: '#dc3545', value: 'SevereDamage' }, +}; + +// ContractArchivesFileTypeEnum +export const ContractArchivesFileTypeEnum = { + PaperOriginal: { text: '纸质原件', color: '#007bff', value: 'PaperOriginal' }, + ElectronicOriginal: { + text: '电子原件', + color: '#28a745', + value: 'ElectronicOriginal', + }, + Copy: { text: '复印件', color: '#ffc107', value: 'Copy' }, +}; + +// ContractArchivesPeriodTypeEnum +export const ContractArchivesPeriodTypeEnum = { + FixedTerm: { text: '定期', color: '#007bff', value: 'FixedTerm' }, + Permanent: { text: '永久', color: '#28a745', value: 'Permanent' }, +}; + +// ContractBillPaymentsStatusEnum +export const ContractBillPaymentsStatusEnum = { + Pending: { text: '待审', color: '#faad14', value: 'Pending' }, + Approved: { text: '已审', color: '#52c41a', value: 'Approved' }, + Rejected: { text: '驳回', color: '#f5222d', value: 'Rejected' }, +}; + +// ContractBillsCostTypeEnum +export const ContractBillsCostTypeEnum = { + Income: { text: '收入', color: '#52c41a', value: 'Income' }, + Expense: { text: '支出', color: '#f5222d', value: 'Expense' }, +}; + +// ContractPeoplesSignPartyEnum +export const ContractPeoplesSignPartyEnum = { + PartyA: { text: '甲方', color: '#007bff', value: 'PartyA' }, + PartyB: { text: '乙方', color: '#28a745', value: 'PartyB' }, + PartyC: { text: '丙方', color: '#ffc107', value: 'PartyC' }, + PartyD: { text: '丁方', color: '#dc3545', value: 'PartyD' }, +}; + +// ContractTemplatesIncomeExpenseTypeEnum +export const ContractTemplatesIncomeExpenseTypeEnum = { + Income: { text: '收入类', color: '#32cd32', value: 'Income' }, + Expense: { text: '支出类', color: '#ff4500', value: 'Expense' }, + None: { text: '无收无支', color: '#808080', value: 'None' }, +}; + +// ContractTemplatesSourceEnum +export const ContractTemplatesSourceEnum = { + Internal: { text: '内部', color: '#1e90ff', value: 'Internal' }, + External: { text: '外部', color: '#32cd32', value: 'External' }, +}; + +// ContractsContractNatureEnum +export const ContractsContractNatureEnum = { + RegularContract: { + text: '常规合同', + color: '#007bff', + value: 'RegularContract', + }, + FrameworkAgreement: { + text: '框架协议', + color: '#28a745', + value: 'FrameworkAgreement', + }, +}; + +// ContractsSettlementModeEnum +export const ContractsSettlementModeEnum = { + LumpSumContract: { + text: '总价合同', + color: '#007bff', + value: 'LumpSumContract', + }, + OpenContract: { text: '开口合同', color: '#28a745', value: 'OpenContract' }, +}; + +// ContractsStatusEnum +export const ContractsStatusEnum = { + TemporaryStorage: { + text: '暂存', + color: '#6c757d', + value: 'TemporaryStorage', + }, + UnderApproval: { text: '审核中', color: '#007bff', value: 'UnderApproval' }, + Approved: { text: '已通过', color: '#28a745', value: 'Approved' }, + Rejected: { text: '已退回', color: '#dc3545', value: 'Rejected' }, + Signed: { text: '已签约', color: '#17a2b8', value: 'Signed' }, + Archived: { text: '已归档', color: '#20c997', value: 'Archived' }, + Terminating: { text: '终止中', color: '#ffc107', value: 'Terminating' }, + Terminated: { text: '已终止', color: '#fd7e14', value: 'Terminated' }, + Closed: { text: '已关闭', color: '#343a40', value: 'Closed' }, + Voided: { text: '已作废', color: '#6610f2', value: 'Voided' }, }; // ConvenienceServicesTypeEnum -export const ConvenienceServicesTypeEnum= { - 'PropertyExclusive': {"text":"物业专属","color":"#8b5cf6","value":"PropertyExclusive"}, - 'EmergencyRepair': {"text":"紧急抢修","color":"#ef4444","value":"EmergencyRepair"}, - 'LifeService': {"text":"生活服务","color":"#3b82f6","value":"LifeService"}, - 'GovernmentConsulting': {"text":"政务咨询","color":"#10b981","value":"GovernmentConsulting"}, +export const ConvenienceServicesTypeEnum = { + PropertyExclusive: { + text: '物业专属', + color: '#8b5cf6', + value: 'PropertyExclusive', + }, + EmergencyRepair: { + text: '紧急抢修', + color: '#ef4444', + value: 'EmergencyRepair', + }, + LifeService: { text: '生活服务', color: '#3b82f6', value: 'LifeService' }, + GovernmentConsulting: { + text: '政务咨询', + color: '#10b981', + value: 'GovernmentConsulting', + }, }; // CustomerBacklogsStatusEnum -export const CustomerBacklogsStatusEnum= { - 'Pending': {"text":"待办","color":"#faad14","value":"Pending"}, - 'Completed': {"text":"已办","color":"#2A82E4","value":"Completed"}, +export const CustomerBacklogsStatusEnum = { + Pending: { text: '待办', color: '#faad14', value: 'Pending' }, + Completed: { text: '已办', color: '#2A82E4', value: 'Completed' }, }; // CustomerBacklogsTypeEnum -export const CustomerBacklogsTypeEnum= { - 'RegisterApply': {"text":"登记申请","color":"#2db7f5","value":"RegisterApply"}, - 'PaymentPending': {"text":"费用待缴","color":"#faad14","value":"PaymentPending"}, - 'ContractTodo': {"text":"合同待办","color":"#722ed1","value":"ContractTodo"}, +export const CustomerBacklogsTypeEnum = { + RegisterApply: { text: '登记申请', color: '#2db7f5', value: 'RegisterApply' }, + PaymentPending: { + text: '费用待缴', + color: '#faad14', + value: 'PaymentPending', + }, + ContractTodo: { text: '合同待办', color: '#722ed1', value: 'ContractTodo' }, }; // CustomerMomentTasksStatusEnum -export const CustomerMomentTasksStatusEnum= { - 'NotSent': {"text":"未发","color":"#FF4500","value":"NotSent"}, - 'Sent': {"text":"已发","color":"#32CD32","value":"Sent"}, +export const CustomerMomentTasksStatusEnum = { + NotSent: { text: '未发', color: '#FF4500', value: 'NotSent' }, + Sent: { text: '已发', color: '#32CD32', value: 'Sent' }, }; // CustomerMomentsChannelEnum -export const CustomerMomentsChannelEnum= { - 'MomentCorp': {"text":"朋友圈(企业)","color":"#1E90FF","value":"MomentCorp"}, - 'CustomerDirectCorp': {"text":"客户1对1消息群发(企业)","color":"#FFA500","value":"CustomerDirectCorp"}, - 'CustomerGroupCorp': {"text":"客户群群发(企业)","color":"#FF69B4","value":"CustomerGroupCorp"}, +export const CustomerMomentsChannelEnum = { + MomentCorp: { text: '朋友圈(企业)', color: '#1E90FF', value: 'MomentCorp' }, + CustomerDirectCorp: { + text: '客户1对1消息群发(企业)', + color: '#FFA500', + value: 'CustomerDirectCorp', + }, + CustomerGroupCorp: { + text: '客户群群发(企业)', + color: '#FF69B4', + value: 'CustomerGroupCorp', + }, }; // CustomerMomentsContentTypeEnum -export const CustomerMomentsContentTypeEnum= { - 'Image': {"text":"图片消息","color":"#1E90FF","value":"Image"}, - 'Link': {"text":"转载链接消息","color":"#32CD32","value":"Link"}, - 'MiniProgram': {"text":"跳小程序","color":"#FFA500","value":"MiniProgram"}, - 'Video': {"text":"视频消息","color":"#FF69B4","value":"Video"}, +export const CustomerMomentsContentTypeEnum = { + Image: { text: '图片消息', color: '#1E90FF', value: 'Image' }, + Link: { text: '转载链接消息', color: '#32CD32', value: 'Link' }, + MiniProgram: { text: '跳小程序', color: '#FFA500', value: 'MiniProgram' }, + Video: { text: '视频消息', color: '#FF69B4', value: 'Video' }, }; // CustomerMomentsPushStatusEnum -export const CustomerMomentsPushStatusEnum= { - 'NotPushed': {"text":"未推送","color":"#FF4500","value":"NotPushed"}, - 'Pushed': {"text":"已推送","color":"#32CD32","value":"Pushed"}, +export const CustomerMomentsPushStatusEnum = { + NotPushed: { text: '未推送', color: '#FF4500', value: 'NotPushed' }, + Pushed: { text: '已推送', color: '#32CD32', value: 'Pushed' }, }; // CustomerMomentsPushTypeEnum -export const CustomerMomentsPushTypeEnum= { - 'ManualPush': {"text":"手动推送","color":"#1E90FF","value":"ManualPush"}, - 'ScheduledPush': {"text":"定时推送","color":"#32CD32","value":"ScheduledPush"}, +export const CustomerMomentsPushTypeEnum = { + ManualPush: { text: '手动推送', color: '#1E90FF', value: 'ManualPush' }, + ScheduledPush: { text: '定时推送', color: '#32CD32', value: 'ScheduledPush' }, }; // CustomerMomentsRangeTypeEnum -export const CustomerMomentsRangeTypeEnum= { - 'Project': {"text":"按项目推送","color":"#1E90FF","value":"Project"}, +export const CustomerMomentsRangeTypeEnum = { + Project: { text: '按项目推送', color: '#1E90FF', value: 'Project' }, }; // CustomerMomentsSkipTypeEnum -export const CustomerMomentsSkipTypeEnum= { - 'H5': {"text":"H5","color":"#1E90FF","value":"H5"}, +export const CustomerMomentsSkipTypeEnum = { + H5: { text: 'H5', color: '#1E90FF', value: 'H5' }, }; // CustomerMomentsTaskEndTypeEnum -export const CustomerMomentsTaskEndTypeEnum= { - 'AfterNDays': {"text":"发送后N天","color":"#1E90FF","value":"AfterNDays"}, - 'ScheduledEnd': {"text":"定时结束","color":"#32CD32","value":"ScheduledEnd"}, +export const CustomerMomentsTaskEndTypeEnum = { + AfterNDays: { text: '发送后N天', color: '#1E90FF', value: 'AfterNDays' }, + ScheduledEnd: { text: '定时结束', color: '#32CD32', value: 'ScheduledEnd' }, }; // CustomerOpinionsTypeEnum -export const CustomerOpinionsTypeEnum= { - 'FeatureException': {"text":"功能异常","color":"#ff0000","value":"FeatureException"}, - 'FeatureSuggestion': {"text":"新功能建议","color":"#00bfff","value":"FeatureSuggestion"}, +export const CustomerOpinionsTypeEnum = { + FeatureException: { + text: '功能异常', + color: '#ff0000', + value: 'FeatureException', + }, + FeatureSuggestion: { + text: '新功能建议', + color: '#00bfff', + value: 'FeatureSuggestion', + }, +}; + +// EmergencyEventBillsCostTypeEnum +export const EmergencyEventBillsCostTypeEnum = { + Income: { text: '收入', color: '#52c41a', value: 'Income' }, + Expense: { text: '支出', color: '#f5222d', value: 'Expense' }, +}; + +// EmergencyEventBillsFeeTypeEnum +export const EmergencyEventBillsFeeTypeEnum = { + Compensation: { text: '赔偿', color: '#ef4444', value: 'Compensation' }, + Penalty: { text: '罚款', color: '#f59e0b', value: 'Penalty' }, +}; + +// EmergencyEventBillsPaymentMethodEnum +export const EmergencyEventBillsPaymentMethodEnum = { + WeChat: { text: '微信', color: '#07c160', value: 'WeChat' }, + Alipay: { text: '支付宝', color: '#1677ff', value: 'Alipay' }, + BankTransfer: { text: '银行转账', color: '#6c757d', value: 'BankTransfer' }, + TongLian: { text: '通联支付', color: '#ff9f0a', value: 'TongLian' }, + Prepayment: { text: '预缴支付', color: '#f59e0b', value: 'Prepayment' }, + POS: { text: 'POS机', color: '#8b5cf6', value: 'POS' }, + Cash: { text: '现金', color: '#dc2626', value: 'Cash' }, +}; + +// EmergencyEventBillsPaymentStatusEnum +export const EmergencyEventBillsPaymentStatusEnum = { + Pending: { text: '待支付', color: '#facc15', value: 'Pending' }, + ToBeConfirmed: { text: '待确认', color: '#fb923c', value: 'ToBeConfirmed' }, + Paid: { text: '已支付', color: '#10b981', value: 'Paid' }, + Refunded: { text: '已退款', color: '#60a5fa', value: 'Refunded' }, + Cancelled: { text: '已取消', color: '#9ca3af', value: 'Cancelled' }, + Failed: { text: '支付失败', color: '#ef4444', value: 'Failed' }, +}; + +// EmergencyEventsAuditStatusEnum +export const EmergencyEventsAuditStatusEnum = { + Pending: { text: '待审', color: '#ff9800', value: 'Pending' }, + Approved: { text: '通过', color: '#4caf50', value: 'Approved' }, + Rejected: { text: '驳回', color: '#f44336', value: 'Rejected' }, +}; + +// EmergencyEventsCompensationTypeEnum +export const EmergencyEventsCompensationTypeEnum = { + Ours: { text: '我方', color: '#2196f3', value: 'Ours' }, + Others: { text: '他方', color: '#9c27b0', value: 'Others' }, +}; + +// EmergencyEventsStatusEnum +export const EmergencyEventsStatusEnum = { + PendingFollowUp: { + text: '待跟进', + color: '#f59e0b', + value: 'PendingFollowUp', + }, + InProgress: { text: '跟进中', color: '#3b82f6', value: 'InProgress' }, + PendingReview: { text: '待审核', color: '#a855f7', value: 'PendingReview' }, + Closed: { text: '已关闭', color: '#6b7280', value: 'Closed' }, +}; + +// EmergencyTeamMembersPositionEnum +export const EmergencyTeamMembersPositionEnum = { + Leader: { text: '应急组长', color: '#e74c3c', value: 'Leader' }, + Member: { text: '现场处置员', color: '#3498db', value: 'Member' }, + Liaison: { text: '信息联络员', color: '#f1c40f', value: 'Liaison' }, + Support: { text: '后勤保障员', color: '#2ecc71', value: 'Support' }, + Reserve: { text: '机动预备员', color: '#9b59b6', value: 'Reserve' }, +}; + +// GoodsReleasesAuditStatusEnum +export const GoodsReleasesAuditStatusEnum = { + Pending: { text: '待审核', color: '#faad14', value: 'Pending' }, + Approved: { text: '已通过', color: '#52c41a', value: 'Approved' }, + Rejected: { text: '已退回', color: '#ff4d4f', value: 'Rejected' }, +}; + +// GoodsReleasesPassedTypeEnum +export const GoodsReleasesPassedTypeEnum = { + Moving: { text: '搬家', color: '#1890ff', value: 'Moving' }, + Delivery: { text: '出货', color: '#52c41a', value: 'Delivery' }, + Other: { text: '其他', color: '#faad14', value: 'Other' }, +}; + +// GoodsReleasesStatusEnum +export const GoodsReleasesStatusEnum = { + Pending: { text: '待审核', color: '#faad14', value: 'Pending' }, + OwnerApproved: { text: '业主已审', color: '#1890ff', value: 'OwnerApproved' }, + Approved: { text: '已通过', color: '#52c41a', value: 'Approved' }, + Rejected: { text: '已退回', color: '#ff4d4f', value: 'Rejected' }, + Released: { text: '已放行', color: '#722ed1', value: 'Released' }, }; // 账单状态枚举 -export const HouseBillsBillStatusEnum= { - 'PendingPayment': {"text":"待支付","color":"#facc15","value":"PendingPayment"}, - 'PartiallyPaid': {"text":"部分支付","color":"#60a5fa","value":"PartiallyPaid"}, - 'Paid': {"text":"已支付","color":"#10b981","value":"Paid"}, - 'Overdue': {"text":"已逾期","color":"#ef4444","value":"Overdue"}, - 'Cancelled': {"text":"已取消","color":"#9ca3af","value":"Cancelled"}, +export const HouseBillsBillStatusEnum = { + PendingPayment: { text: '待收款', color: '#facc15', value: 'PendingPayment' }, + ToBeConfirmed: { text: '待确认', color: '#fb923c', value: 'ToBeConfirmed' }, + PartiallyPaid: { text: '部分收款', color: '#60a5fa', value: 'PartiallyPaid' }, + Paid: { text: '已收款', color: '#10b981', value: 'Paid' }, + Overdue: { text: '已逾期', color: '#ef4444', value: 'Overdue' }, + Cancelled: { text: '已取消', color: '#9ca3af', value: 'Cancelled' }, }; // 房屋账单类型枚举 -export const HouseBillsTypeEnum= { - 'PropertyFee': {"text":"物业费","color":"#3b82f6","value":"PropertyFee"}, - 'MaintenanceFund': {"text":"维修基金","color":"#10b981","value":"MaintenanceFund"}, - 'WaterFee': {"text":"水费","color":"#06b6d4","value":"WaterFee"}, - 'ElectricityFee': {"text":"电费","color":"#f59e0b","value":"ElectricityFee"}, - 'SharedWaterFee': {"text":"公摊水费","color":"#8b5cf6","value":"SharedWaterFee"}, - 'SharedElectricityFee': {"text":"公摊电费","color":"#ec4899","value":"SharedElectricityFee"}, - 'CarPortFee': {"text":"车位费","color":"#f59e0b","value":"CarPortFee"}, +export const HouseBillsTypeEnum = { + PropertyFee: { text: '物业费', color: '#3b82f6', value: 'PropertyFee' }, + MaintenanceFund: { + text: '维修基金', + color: '#10b981', + value: 'MaintenanceFund', + }, + WaterFee: { text: '水费', color: '#06b6d4', value: 'WaterFee' }, + ElectricityFee: { text: '电费', color: '#f59e0b', value: 'ElectricityFee' }, + SharedWaterFee: { + text: '公摊水费', + color: '#8b5cf6', + value: 'SharedWaterFee', + }, + SharedElectricityFee: { + text: '公摊电费', + color: '#ec4899', + value: 'SharedElectricityFee', + }, + CarPortFee: { text: '车位费', color: '#f59e0b', value: 'CarPortFee' }, }; // HouseChargeStandardsApportionmentMethodEnum -export const HouseChargeStandardsApportionmentMethodEnum= { - 'HouseCount': {"text":"房屋数分摊","color":"#3b82f6","value":"HouseCount"}, - 'AreaProportion': {"text":"房屋计费面积分摊","color":"#10b981","value":"AreaProportion"}, - 'FixedRatio': {"text":"按固定比例分摊","color":"#f59e0b","value":"FixedRatio"}, +export const HouseChargeStandardsApportionmentMethodEnum = { + HouseCount: { text: '按房屋数分摊', color: '#3b82f6', value: 'HouseCount' }, + AreaProportion: { + text: '按建筑面积分摊', + color: '#10b981', + value: 'AreaProportion', + }, + FixedRatio: { text: '按固定比例分摊', color: '#f59e0b', value: 'FixedRatio' }, }; // HouseChargeStandardsCalculationMethodEnum -export const HouseChargeStandardsCalculationMethodEnum= { - 'ChargeableArea': {"text":"计费面积","color":"#3b82f6","value":"ChargeableArea"}, - 'BuiltArea': {"text":"建筑面积","color":"#10b981","value":"BuiltArea"}, - 'InsideArea': {"text":"套内面积","color":"#f59e0b","value":"InsideArea"}, - 'PerUnit': {"text":"按套","color":"#06b6d4","value":"PerUnit"}, - 'ElectricityUsage': {"text":"用电量","color":"#8b5cf6","value":"ElectricityUsage"}, - 'WaterUsage': {"text":"用水量","color":"#ec4899","value":"WaterUsage"}, +export const HouseChargeStandardsCalculationMethodEnum = { + ChargeableArea: { + text: '计费面积', + color: '#3b82f6', + value: 'ChargeableArea', + }, + BuiltArea: { text: '建筑面积', color: '#10b981', value: 'BuiltArea' }, + InsideArea: { text: '套内面积', color: '#f59e0b', value: 'InsideArea' }, + PerUnit: { text: '按套', color: '#06b6d4', value: 'PerUnit' }, + ElectricityUsage: { + text: '用电量', + color: '#8b5cf6', + value: 'ElectricityUsage', + }, + WaterUsage: { text: '用水量', color: '#ec4899', value: 'WaterUsage' }, }; // HouseChargeStandardsCalculationModeEnum -export const HouseChargeStandardsCalculationModeEnum= { - 'FixedAmount': {"text":"固定金额","color":"#3b82f6","value":"FixedAmount"}, - 'QuantityPrice': {"text":"数量*单价","color":"#10b981","value":"QuantityPrice"}, +export const HouseChargeStandardsCalculationModeEnum = { + FixedAmount: { text: '固定金额', color: '#3b82f6', value: 'FixedAmount' }, + QuantityPrice: { + text: '数量*单价', + color: '#10b981', + value: 'QuantityPrice', + }, }; // HouseChargeStandardsCalculationPeriodEnum -export const HouseChargeStandardsCalculationPeriodEnum= { - 'PerTime': {"text":"按次","color":"#3b82f6","value":"PerTime"}, - 'PerDay': {"text":"按日","color":"#10b981","value":"PerDay"}, - 'PerMonth': {"text":"按月","color":"#f59e0b","value":"PerMonth"}, - 'PerYear': {"text":"按年","color":"#8b5cf6","value":"PerYear"}, +export const HouseChargeStandardsCalculationPeriodEnum = { + PerTime: { text: '按次', color: '#3b82f6', value: 'PerTime' }, + PerDay: { text: '按日', color: '#10b981', value: 'PerDay' }, + PerMonth: { text: '按月', color: '#f59e0b', value: 'PerMonth' }, + PerYear: { text: '按年', color: '#8b5cf6', value: 'PerYear' }, }; // HouseChargeStandardsPriceAlgorithmEnum -export const HouseChargeStandardsPriceAlgorithmEnum= { - 'Fixed': {"text":"固定","color":"#4caf50","value":"Fixed"}, - 'Tiered': {"text":"分级价阶梯","color":"#2196f3","value":"Tiered"}, - 'Peak': {"text":"最高价阶梯","color":"#ff9800","value":"Peak"}, +export const HouseChargeStandardsPriceAlgorithmEnum = { + Fixed: { text: '固定', color: '#4caf50', value: 'Fixed' }, + Tiered: { text: '分级价阶梯', color: '#2196f3', value: 'Tiered' }, + Peak: { text: '最高价阶梯', color: '#ff9800', value: 'Peak' }, }; // HouseChargeStandardsStatusEnum -export const HouseChargeStandardsStatusEnum= { - 'Active': {"text":"启用","color":"#3b82f6","value":"Active"}, - 'Inactive': {"text":"禁用","color":"#ef4444","value":"Inactive"}, +export const HouseChargeStandardsStatusEnum = { + Active: { text: '启用', color: '#3b82f6', value: 'Active' }, + Inactive: { text: '禁用', color: '#ef4444', value: 'Inactive' }, }; // HouseChargeStandardsTypeEnum -export const HouseChargeStandardsTypeEnum= { - 'House': {"text":"房屋","color":"#3b82f6","value":"House"}, - 'Meter': {"text":"仪表","color":"#10b981","value":"Meter"}, - 'CarPort': {"text":"车位","color":"#f59e0b","value":"CarPort"}, +export const HouseChargeStandardsTypeEnum = { + House: { text: '房屋', color: '#3b82f6', value: 'House' }, + Meter: { text: '仪表', color: '#10b981', value: 'Meter' }, + CarPort: { text: '车位', color: '#f59e0b', value: 'CarPort' }, }; // HouseChargeTaskDetailsStatusEnum -export const HouseChargeTaskDetailsStatusEnum= { - 'Pending': {"text":"待处理","color":"#f59e0b","value":"Pending"}, - 'Success': {"text":"成功","color":"#22c55e","value":"Success"}, - 'Failed': {"text":"失败","color":"#ef4444","value":"Failed"}, +export const HouseChargeTaskDetailsStatusEnum = { + Pending: { text: '待处理', color: '#f59e0b', value: 'Pending' }, + Success: { text: '成功', color: '#22c55e', value: 'Success' }, + Failed: { text: '失败', color: '#ef4444', value: 'Failed' }, }; // HouseChargeTaskDetailsTargetTypeEnum -export const HouseChargeTaskDetailsTargetTypeEnum= { - 'House': {"text":"房屋","color":"#3b82f6","value":"House"}, - 'CarPort': {"text":"车位","color":"#f59e0b","value":"CarPort"}, +export const HouseChargeTaskDetailsTargetTypeEnum = { + House: { text: '房屋', color: '#3b82f6', value: 'House' }, + CarPort: { text: '车位', color: '#f59e0b', value: 'CarPort' }, }; // HouseChargeTasksStatusEnum -export const HouseChargeTasksStatusEnum= { - 'Pending': {"text":"待执行","color":"#f59e0b","value":"Pending"}, - 'InProgress': {"text":"执行中","color":"#3b82f6","value":"InProgress"}, - 'Completed': {"text":"已完成","color":"#10b981","value":"Completed"}, - 'Failed': {"text":"失败","color":"#ef4444","value":"Failed"}, +export const HouseChargeTasksStatusEnum = { + Pending: { text: '待执行', color: '#f59e0b', value: 'Pending' }, + InProgress: { text: '执行中', color: '#3b82f6', value: 'InProgress' }, + Completed: { text: '已完成', color: '#10b981', value: 'Completed' }, + Failed: { text: '失败', color: '#ef4444', value: 'Failed' }, }; // HouseChargeTasksTypeEnum -export const HouseChargeTasksTypeEnum= { - 'Scheduled': {"text":"定时创建","color":"#3b82f6","value":"Scheduled"}, - 'Manual': {"text":"手动创建","color":"#10b981","value":"Manual"}, +export const HouseChargeTasksTypeEnum = { + Scheduled: { text: '定时创建', color: '#3b82f6', value: 'Scheduled' }, + Manual: { text: '手动创建', color: '#10b981', value: 'Manual' }, }; // HouseCollectionRecordsCollectionResultEnum -export const HouseCollectionRecordsCollectionResultEnum= { - 'PromiseToPay': {"text":"承诺缴费","color":"#4caf50","value":"PromiseToPay"}, - 'RefuseToPay': {"text":"拒绝缴费","color":"#f44336","value":"RefuseToPay"}, - 'NotReached': {"text":"未联系到","color":"#9e9e9e","value":"NotReached"}, - 'NeedFollowUp': {"text":"需要跟进","color":"#ff9800","value":"NeedFollowUp"}, +export const HouseCollectionRecordsCollectionResultEnum = { + PromiseToPay: { text: '承诺缴费', color: '#4caf50', value: 'PromiseToPay' }, + RefuseToPay: { text: '拒绝缴费', color: '#f44336', value: 'RefuseToPay' }, + NotReached: { text: '未联系到', color: '#9e9e9e', value: 'NotReached' }, + NeedFollowUp: { text: '需要跟进', color: '#ff9800', value: 'NeedFollowUp' }, }; // HouseCollectionRecordsSmsStatusEnum -export const HouseCollectionRecordsStatusEnum= { - 'NotNotified': {"text":"未通知","color":"#808080","value":"NotNotified"}, - 'Notified': {"text":"已通知","color":"#00cc00","value":"Notified"}, - 'Failed': {"text":"失败","color":"#ff0000","value":"Failed"}, +export const HouseCollectionRecordsStatusEnum = { + NotNotified: { text: '未通知', color: '#808080', value: 'NotNotified' }, + Notified: { text: '已通知', color: '#00cc00', value: 'Notified' }, + Failed: { text: '失败', color: '#ff0000', value: 'Failed' }, }; // HouseCollectionTasksChannelEnum -export const HouseCollectionTasksChannelEnum= { - 'SMS': {"text":"短信","color":"#1E90FF","value":"SMS"}, - 'MiniProgram': {"text":"小程序","color":"#00BFFF","value":"MiniProgram"}, - 'OfficialAccount': {"text":"公众号","color":"#32CD32","value":"OfficialAccount"}, - 'PhoneCall': {"text":"电话催缴","color":"#FF8C00","value":"PhoneCall"}, - 'Visit': {"text":"上门催缴","color":"#8B4513","value":"Visit"}, - 'WeChat': {"text":"微信联系","color":"#20B2AA","value":"WeChat"}, - 'WrittenNotice': {"text":"书面通知","color":"#708090","value":"WrittenNotice"}, +export const HouseCollectionTasksChannelEnum = { + SMS: { text: '短信', color: '#1E90FF', value: 'SMS' }, + MiniProgram: { text: '小程序', color: '#00BFFF', value: 'MiniProgram' }, + OfficialAccount: { + text: '公众号', + color: '#32CD32', + value: 'OfficialAccount', + }, + PhoneCall: { text: '电话催缴', color: '#FF8C00', value: 'PhoneCall' }, + Visit: { text: '上门催缴', color: '#8B4513', value: 'Visit' }, + WeChat: { text: '微信联系', color: '#20B2AA', value: 'WeChat' }, + WrittenNotice: { text: '书面通知', color: '#708090', value: 'WrittenNotice' }, }; // HouseCollectionTasksStatusEnum -export const HouseCollectionTasksStatusEnum= { - 'Processing': {"text":"进行中","color":"#ffcc00","value":"Processing"}, - 'Completed': {"text":"已完成","color":"#00cc00","value":"Completed"}, - 'Failed': {"text":"失败","color":"#ff0000","value":"Failed"}, +export const HouseCollectionTasksStatusEnum = { + Processing: { text: '进行中', color: '#ffcc00', value: 'Processing' }, + Completed: { text: '已完成', color: '#00cc00', value: 'Completed' }, + Failed: { text: '失败', color: '#ff0000', value: 'Failed' }, +}; + +// HouseDoorCardLogsTypeEnum +export const HouseDoorCardLogsTypeEnum = { + View: { text: '查看', color: '#2196f3', value: 'View' }, + Update: { text: '修改', color: '#4caf50', value: 'Update' }, + ReportLoss: { text: '挂失', color: '#ff9800', value: 'ReportLoss' }, + Invalidate: { text: '作废', color: '#f44336', value: 'Invalidate' }, }; // HouseMeterReadingsOperationTypeEnum -export const HouseMeterReadingsOperationTypeEnum= { - 'NormalReading': {"text":"正常抄表","color":"#4caf50","value":"NormalReading"}, - 'ResetReading': {"text":"重置读数","color":"#f44336","value":"ResetReading"}, - 'CorrectReading': {"text":"修正读数","color":"#ff9800","value":"CorrectReading"}, +export const HouseMeterReadingsOperationTypeEnum = { + NormalReading: { text: '正常抄表', color: '#4caf50', value: 'NormalReading' }, + ResetReading: { text: '重置读数', color: '#f44336', value: 'ResetReading' }, + CorrectReading: { + text: '修正读数', + color: '#ff9800', + value: 'CorrectReading', + }, }; // HouseMeterTasksGenerationMethodEnum -export const HouseMeterTasksGenerationMethodEnum= { - 'Building': {"text":"按楼栋","color":"#4caf50","value":"Building"}, - 'Unit': {"text":"按单元","color":"#2196f3","value":"Unit"}, - 'Meter': {"text":"按仪表","color":"#ff9800","value":"Meter"}, +export const HouseMeterTasksGenerationMethodEnum = { + Building: { text: '按楼栋', color: '#4caf50', value: 'Building' }, + Unit: { text: '按单元', color: '#2196f3', value: 'Unit' }, + Meter: { text: '按仪表', color: '#ff9800', value: 'Meter' }, }; // HouseMetersMeterTypeEnum -export const HouseMetersMeterTypeEnum= { - 'HouseMeter': {"text":"房屋表","color":"#4caf50","value":"HouseMeter"}, - 'CommonMeter': {"text":"公摊表","color":"#2196f3","value":"CommonMeter"}, +export const HouseMetersMeterTypeEnum = { + HouseMeter: { text: '房屋表', color: '#4caf50', value: 'HouseMeter' }, + CommonMeter: { text: '公摊表', color: '#2196f3', value: 'CommonMeter' }, }; // HouseMetersUsageTypeEnum -export const HouseMetersUsageTypeEnum= { - 'WaterMeter': {"text":"水表","color":"#2196f3","value":"WaterMeter"}, - 'ElectricMeter': {"text":"电表","color":"#ff9800","value":"ElectricMeter"}, - 'GasMeter': {"text":"燃气表","color":"#f44336","value":"GasMeter"}, - 'HeatingMeter': {"text":"暖气表","color":"#9c27b0","value":"HeatingMeter"}, +export const HouseMetersUsageTypeEnum = { + WaterMeter: { text: '水表', color: '#2196f3', value: 'WaterMeter' }, + ElectricMeter: { text: '电表', color: '#ff9800', value: 'ElectricMeter' }, + GasMeter: { text: '燃气表', color: '#f44336', value: 'GasMeter' }, + HeatingMeter: { text: '暖气表', color: '#9c27b0', value: 'HeatingMeter' }, }; // HouseOccupantsCardTypeEnum -export const HouseOccupantsCardTypeEnum= { - 'MainlandID': {"text":"中国大陆居民身份证","color":"#2db7f5","value":"MainlandID"}, - 'HKPermit': {"text":"香港来往大陆通行证(回乡证)","color":"#fa8c16","value":"HKPermit"}, - 'MOPermit': {"text":"澳门来往大陆通行证(回乡证)","color":"#faad14","value":"MOPermit"}, - 'TWPermit': {"text":"台湾来往大陆通行证(台胞证)","color":"#87d068","value":"TWPermit"}, - 'Passport': {"text":"护照","color":"#108ee9","value":"Passport"}, - 'BusinessLicense': {"text":"营业执照","color":"#f5222d","value":"BusinessLicense"}, +export const HouseOccupantsCardTypeEnum = { + MainlandID: { + text: '中国大陆居民身份证', + color: '#2db7f5', + value: 'MainlandID', + }, + HKPermit: { + text: '香港来往大陆通行证(回乡证)', + color: '#fa8c16', + value: 'HKPermit', + }, + MOPermit: { + text: '澳门来往大陆通行证(回乡证)', + color: '#faad14', + value: 'MOPermit', + }, + TWPermit: { + text: '台湾来往大陆通行证(台胞证)', + color: '#87d068', + value: 'TWPermit', + }, + Passport: { text: '护照', color: '#108ee9', value: 'Passport' }, + BusinessLicense: { + text: '营业执照', + color: '#f5222d', + value: 'BusinessLicense', + }, }; // HouseOccupantsHouseRelationEnum -export const HouseOccupantsHouseRelationEnum= { - 'Owner': {"text":"产权人","color":"#2db7f5","value":"Owner"}, - 'NonOwner': {"text":"非产权人","color":"#fa8c16","value":"NonOwner"}, +export const HouseOccupantsHouseRelationEnum = { + Owner: { text: '产权人', color: '#2db7f5', value: 'Owner' }, + NonOwner: { text: '非产权人', color: '#fa8c16', value: 'NonOwner' }, }; // HouseOccupantsRelationWithOwnerEnum -export const HouseOccupantsRelationWithOwnerEnum= { - 'Self': {"text":"本人","color":"#52c41a","value":"Self"}, - 'Spouse': {"text":"配偶","color":"#2db7f5","value":"Spouse"}, - 'Children': {"text":"子女","color":"#87d068","value":"Children"}, - 'Parents': {"text":"父母","color":"#faad14","value":"Parents"}, - 'Siblings': {"text":"兄弟姐妹","color":"#fa8c16","value":"Siblings"}, - 'OtherRelatives': {"text":"其他","color":"#f5222d","value":"OtherRelatives"}, - 'PrimaryTenant': {"text":"主租客","color":"#722ed1","value":"PrimaryTenant"}, - 'Tenant': {"text":"租客","color":"#1890ff","value":"Tenant"}, +export const HouseOccupantsRelationWithOwnerEnum = { + Self: { text: '本人', color: '#52c41a', value: 'Self' }, + Spouse: { text: '配偶', color: '#2db7f5', value: 'Spouse' }, + Children: { text: '子女', color: '#87d068', value: 'Children' }, + Parents: { text: '父母', color: '#faad14', value: 'Parents' }, + Siblings: { text: '兄弟姐妹', color: '#fa8c16', value: 'Siblings' }, + OtherRelatives: { text: '其他', color: '#f5222d', value: 'OtherRelatives' }, + PrimaryTenant: { text: '主租客', color: '#722ed1', value: 'PrimaryTenant' }, + Tenant: { text: '租客', color: '#1890ff', value: 'Tenant' }, }; // HouseOccupantsResidentialRelationEnum -export const HouseOccupantsResidentialRelationEnum= { - 'Resident': {"text":"住户","color":"#2db7f5","value":"Resident"}, - 'PrimaryTenant': {"text":"主租人","color":"#87d068","value":"PrimaryTenant"}, - 'Tenant': {"text":"租客","color":"#fa8c16","value":"Tenant"}, +export const HouseOccupantsResidentialRelationEnum = { + PropertyOwner: { text: '产权人', color: '#eb2f96', value: 'PropertyOwner' }, + Resident: { text: '住户', color: '#2db7f5', value: 'Resident' }, + PrimaryTenant: { text: '主租人', color: '#87d068', value: 'PrimaryTenant' }, + Tenant: { text: '租客', color: '#fa8c16', value: 'Tenant' }, }; // HouseOccupantsStatusEnum -export const HouseOccupantsStatusEnum= { - 'Normal': {"text":"绑定","color":"#52c41a","value":"Normal"}, - 'Unbound': {"text":"解绑","color":"#f5222d","value":"Unbound"}, +export const HouseOccupantsStatusEnum = { + Normal: { text: '绑定', color: '#52c41a', value: 'Normal' }, + Unbound: { text: '解绑', color: '#f5222d', value: 'Unbound' }, }; -// HouseOrderRefundsRefundStatusEnum -export const HouseOrderRefundsRefundStatusEnum= { - 'Requested': {"text":"已申请","color":"#2196f3","value":"Requested"}, - 'Reviewing': {"text":"审核中","color":"#ff9800","value":"Reviewing"}, - 'Rejected': {"text":"已拒绝","color":"#f44336","value":"Rejected"}, - 'Processing': {"text":"退款中","color":"#9c27b0","value":"Processing"}, - 'Refunded': {"text":"已退款","color":"#4caf50","value":"Refunded"}, - 'Failed': {"text":"退款失败","color":"#e91e63","value":"Failed"}, -}; - -// 订单审核状态枚举 -export const HouseOrdersAuditStatusEnum= { - 'Pending': {"text":"待审核","color":"#f59e0b","value":"Pending"}, - 'Approved': {"text":"已通过","color":"#10b981","value":"Approved"}, - 'Rejected': {"text":"已驳回","color":"#ef4444","value":"Rejected"}, +// HouseOrdersAuditStatusEnum +export const HouseOrdersAuditStatusEnum = { + Pending: { text: '待审', color: '#f59e0b', value: 'Pending' }, + Approved: { text: '通过', color: '#10b981', value: 'Approved' }, + Rejected: { text: '驳回', color: '#ef4444', value: 'Rejected' }, }; // 订单状态枚举 -export const HouseOrdersOrderStatusEnum= { - 'Pending': {"text":"待支付","color":"#facc15","value":"Pending"}, - 'Paid': {"text":"已支付","color":"#10b981","value":"Paid"}, - 'Refunded': {"text":"已退款","color":"#60a5fa","value":"Refunded"}, - 'Cancelled': {"text":"已取消","color":"#9ca3af","value":"Cancelled"}, - 'Failed': {"text":"支付失败","color":"#ef4444","value":"Failed"}, +export const HouseOrdersOrderStatusEnum = { + Pending: { text: '待支付', color: '#facc15', value: 'Pending' }, + ToBeConfirmed: { text: '待确认', color: '#fb923c', value: 'ToBeConfirmed' }, + Paid: { text: '已支付', color: '#10b981', value: 'Paid' }, + Refunded: { text: '已退款', color: '#60a5fa', value: 'Refunded' }, + Cancelled: { text: '已取消', color: '#9ca3af', value: 'Cancelled' }, + Failed: { text: '支付失败', color: '#ef4444', value: 'Failed' }, }; // HouseOrdersPaymentMethodEnum -export const HouseOrdersPaymentMethodEnum= { - 'WeChat': {"text":"微信","color":"#07c160","value":"WeChat"}, - 'Alipay': {"text":"支付宝","color":"#1677ff","value":"Alipay"}, - 'BankTransfer': {"text":"银行转账","color":"#6c757d","value":"BankTransfer"}, - 'TongLian': {"text":"通联支付","color":"#ff9f0a","value":"TongLian"}, - 'Prepayment': {"text":"预缴支付","color":"#f59e0b","value":"Prepayment"}, - 'POS': {"text":"POS机","color":"#8b5cf6","value":"POS"}, - 'Cash': {"text":"现金","color":"#dc2626","value":"Cash"}, +export const HouseOrdersPaymentMethodEnum = { + WeChat: { text: '微信', color: '#07c160', value: 'WeChat' }, + Alipay: { text: '支付宝', color: '#1677ff', value: 'Alipay' }, + BankTransfer: { text: '银行转账', color: '#6c757d', value: 'BankTransfer' }, + TongLian: { text: '通联支付', color: '#ff9f0a', value: 'TongLian' }, + Prepayment: { text: '预缴支付', color: '#f59e0b', value: 'Prepayment' }, + POS: { text: 'POS机', color: '#8b5cf6', value: 'POS' }, + Cash: { text: '现金', color: '#dc2626', value: 'Cash' }, }; // HousePrepaymentLogsTypeEnum -export const HousePrepaymentLogsTypeEnum= { - 'Add': {"text":"加","color":"#52c41a","value":"Add"}, - 'Subtract': {"text":"减","color":"#f5222d","value":"Subtract"}, +export const HousePrepaymentLogsTypeEnum = { + Add: { text: '加', color: '#52c41a', value: 'Add' }, + Subtract: { text: '减', color: '#f5222d', value: 'Subtract' }, }; // HouseRegistersCustomerTypeEnum -export const HouseRegistersCustomerTypeEnum= { - 'Individual': {"text":"个人客户","color":"#2db7f5","value":"Individual"}, - 'Enterprise': {"text":"普通企业","color":"#87d068","value":"Enterprise"}, - 'Developer': {"text":"开发企业","color":"#fa8c16","value":"Developer"}, - 'Government': {"text":"政府组织","color":"#f5222d","value":"Government"}, +export const HouseRegistersCustomerTypeEnum = { + Individual: { text: '个人客户', color: '#2db7f5', value: 'Individual' }, + Enterprise: { text: '普通企业', color: '#87d068', value: 'Enterprise' }, + Developer: { text: '开发企业', color: '#fa8c16', value: 'Developer' }, + Government: { text: '政府组织', color: '#f5222d', value: 'Government' }, }; // HouseRegistersHouseStatusEnum -export const HouseRegistersHouseStatusEnum= { - 'SelfOccupied': {"text":"自住","color":"#28a745","value":"SelfOccupied"}, - 'Rented': {"text":"出租","color":"#007bff","value":"Rented"}, - 'Vacant': {"text":"空置","color":"#dc3545","value":"Vacant"}, +export const HouseRegistersHouseStatusEnum = { + SelfOccupied: { text: '自住', color: '#28a745', value: 'SelfOccupied' }, + Rented: { text: '出租', color: '#007bff', value: 'Rented' }, + Vacant: { text: '空置', color: '#dc3545', value: 'Vacant' }, }; // 房屋登记身份类型 -export const HouseRegistersIdentityTypeEnum= { - 'Owner': {"text":"产权人","color":"#2db7f5","value":"Owner"}, - 'Tenant': {"text":"租客","color":"#87d068","value":"Tenant"}, - 'CoResident': {"text":"同住人(亲属)","color":"#108ee9","value":"CoResident"}, +export const HouseRegistersIdentityTypeEnum = { + Owner: { text: '产权人', color: '#2db7f5', value: 'Owner' }, + Tenant: { text: '租客', color: '#87d068', value: 'Tenant' }, + CoResident: { text: '同住人(亲属)', color: '#108ee9', value: 'CoResident' }, }; // HouseRegistersStatusEnum -export const HouseRegistersStatusEnum= { - 'Pending': {"text":"待审","color":"#faad14","value":"Pending"}, - 'Approved': {"text":"通过","color":"#52c41a","value":"Approved"}, - 'Rejected': {"text":"驳回","color":"#f5222d","value":"Rejected"}, +export const HouseRegistersStatusEnum = { + Pending: { text: '待审', color: '#faad14', value: 'Pending' }, + Approved: { text: '通过', color: '#52c41a', value: 'Approved' }, + Rejected: { text: '驳回', color: '#f5222d', value: 'Rejected' }, }; // HouseRegistersTypeEnum -export const HouseRegistersTypeEnum= { - 'AddOwner': {"text":"添加产权人","color":"#52c41a","value":"AddOwner"}, - 'RemoveOwner': {"text":"减少产权人","color":"#d9363e","value":"RemoveOwner"}, - 'AddOccupant': {"text":"添加住户","color":"#108ee9","value":"AddOccupant"}, - 'RemoveOccupant': {"text":"移除住户","color":"#fa8c16","value":"RemoveOccupant"}, - 'MoveOut': {"text":"搬离登记","color":"#f50","value":"MoveOut"}, - 'MoveIn': {"text":"搬入登记","color":"#ffc53d","value":"MoveIn"}, - 'UpdateInfo': {"text":"修改信息","color":"#722ed1","value":"UpdateInfo"}, - 'UpdatePhone': {"text":"修改电话","color":"#13c2c2","value":"UpdatePhone"}, - 'GoodsRelease': {"text":"物品放行","color":"#a0d911","value":"GoodsRelease"}, +export const HouseRegistersTypeEnum = { + AddOwner: { text: '添加产权人', color: '#52c41a', value: 'AddOwner' }, + RemoveOwner: { text: '减少产权人', color: '#d9363e', value: 'RemoveOwner' }, + AddOccupant: { text: '添加住户', color: '#108ee9', value: 'AddOccupant' }, + RemoveOccupant: { + text: '移除住户', + color: '#fa8c16', + value: 'RemoveOccupant', + }, + MoveOut: { text: '搬离登记', color: '#f50', value: 'MoveOut' }, + MoveIn: { text: '搬入登记', color: '#ffc53d', value: 'MoveIn' }, + UpdateInfo: { text: '修改信息', color: '#722ed1', value: 'UpdateInfo' }, + UpdatePhone: { text: '修改电话', color: '#13c2c2', value: 'UpdatePhone' }, + GoodsRelease: { text: '物品放行', color: '#a0d911', value: 'GoodsRelease' }, }; // HouseRegistersUsagePlanEnum -export const HouseRegistersUsagePlanEnum= { - 'Permanent': {"text":"常住","color":"#52c41a","value":"Permanent"}, - 'Vacation': {"text":"度假","color":"#faad14","value":"Vacation"}, - 'Rental': {"text":"出租","color":"#2db7f5","value":"Rental"}, - 'Commercial': {"text":"商用","color":"#f5222d","value":"Commercial"}, +export const HouseRegistersUsagePlanEnum = { + Permanent: { text: '常住', color: '#52c41a', value: 'Permanent' }, + Vacation: { text: '度假', color: '#faad14', value: 'Vacation' }, + Rental: { text: '出租', color: '#2db7f5', value: 'Rental' }, + Commercial: { text: '商用', color: '#f5222d', value: 'Commercial' }, }; // HouseWorkOrdersAcceptResultEnum -export const HouseWorkOrdersAcceptResultEnum= { - 'Satisfied': {"text":"满意","color":"#28A745","value":"Satisfied"}, - 'Unsatisfied': {"text":"不满意","color":"#DC3545","value":"Unsatisfied"}, +export const HouseWorkOrdersAcceptResultEnum = { + Satisfied: { text: '满意', color: '#28A745', value: 'Satisfied' }, + Unsatisfied: { text: '不满意', color: '#DC3545', value: 'Unsatisfied' }, }; // HouseWorkOrdersAssignStatusEnum -export const HouseWorkOrdersAssignStatusEnum= { - 'Unassigned': {"text":"未指派","color":"#ff0000","value":"Unassigned"}, - 'Assigned': {"text":"已指派","color":"#00ff00","value":"Assigned"}, +export const HouseWorkOrdersAssignStatusEnum = { + Unassigned: { text: '未指派', color: '#ff0000', value: 'Unassigned' }, + Assigned: { text: '已指派', color: '#00ff00', value: 'Assigned' }, }; // HouseWorkOrdersComplaintTypeEnum -export const HouseWorkOrdersComplaintTypeEnum= { - 'Hygiene': {"text":"卫生环境","color":"#ff0000","value":"Hygiene"}, - 'Greening': {"text":"绿植绿化","color":"#00aaff","value":"Greening"}, - 'Safety': {"text":"安全问题","color":"#ffaa00","value":"Safety"}, - 'Maintenance': {"text":"维修问题","color":"#aa00ff","value":"Maintenance"}, - 'PropertyService': {"text":"物业服务","color":"#00aa55","value":"PropertyService"}, - 'Staff': {"text":"工作人员","color":"#ff00aa","value":"Staff"}, - 'Other': {"text":"其他","color":"#aaaaaa","value":"Other"}, +export const HouseWorkOrdersComplaintTypeEnum = { + Hygiene: { text: '卫生环境', color: '#ff0000', value: 'Hygiene' }, + Greening: { text: '绿植绿化', color: '#00aaff', value: 'Greening' }, + Safety: { text: '安全问题', color: '#ffaa00', value: 'Safety' }, + Maintenance: { text: '维修问题', color: '#aa00ff', value: 'Maintenance' }, + PropertyService: { + text: '物业服务', + color: '#00aa55', + value: 'PropertyService', + }, + Staff: { text: '工作人员', color: '#ff00aa', value: 'Staff' }, + Other: { text: '其他', color: '#aaaaaa', value: 'Other' }, }; // HouseWorkOrdersLevelEnum -export const HouseWorkOrdersLevelEnum= { - 'Urgent': {"text":"紧急","color":"#ff0000","value":"Urgent"}, - 'High': {"text":"高","color":"#ff7f00","value":"High"}, - 'Medium': {"text":"中","color":"#00cc00","value":"Medium"}, - 'Low': {"text":"低","color":"#999999","value":"Low"}, +export const HouseWorkOrdersLevelEnum = { + Urgent: { text: '紧急', color: '#ff0000', value: 'Urgent' }, + High: { text: '高', color: '#ff7f00', value: 'High' }, + Medium: { text: '中', color: '#00cc00', value: 'Medium' }, + Low: { text: '低', color: '#999999', value: 'Low' }, }; // HouseWorkOrdersLocationEnum -export const HouseWorkOrdersLocationEnum= { - 'CommonArea': {"text":"公共区域","color":"#ff0000","value":"CommonArea"}, - 'MyHome': {"text":"房屋","color":"#00ff00","value":"MyHome"}, +export const HouseWorkOrdersLocationEnum = { + CommonArea: { text: '公共区域', color: '#ff0000', value: 'CommonArea' }, + MyHome: { text: '房屋', color: '#00ff00', value: 'MyHome' }, + Office: { text: '办公室', color: '#0000ff', value: 'Office' }, }; // HouseWorkOrdersRefundStatusEnum -export const HouseWorkOrdersRefundStatusEnum= { - 'Refunding': {"text":"退款中","color":"#FFA500","value":"Refunding"}, - 'Refunded': {"text":"已退款","color":"#28A745","value":"Refunded"}, - 'PartialRefund': {"text":"部分退款","color":"#17A2B8","value":"PartialRefund"}, +export const HouseWorkOrdersRefundStatusEnum = { + Refunding: { text: '退款中', color: '#FFA500', value: 'Refunding' }, + Refunded: { text: '已退款', color: '#28A745', value: 'Refunded' }, + PartialRefund: { text: '部分退款', color: '#17A2B8', value: 'PartialRefund' }, }; // HouseWorkOrdersStatusEnum -export const HouseWorkOrdersStatusEnum= { - 'Pending': {"text":"待处理","color":"#FFA500","value":"Pending"}, - 'Processing': {"text":"处理中","color":"#1E90FF","value":"Processing"}, - 'PendingPayment': {"text":"待支付","color":"#FF8C00","value":"PendingPayment"}, - 'PendingAcceptance': {"text":"待验收","color":"#17A2B8","value":"PendingAcceptance"}, - 'Completed': {"text":"已完成","color":"#28A745","value":"Completed"}, - 'Closed': {"text":"已关闭","color":"#6C757D","value":"Closed"}, +export const HouseWorkOrdersStatusEnum = { + Pending: { text: '待处理', color: '#FFA500', value: 'Pending' }, + Processing: { text: '处理中', color: '#1E90FF', value: 'Processing' }, + PendingPayment: { text: '待支付', color: '#FF8C00', value: 'PendingPayment' }, + PendingAcceptance: { + text: '待验收', + color: '#17A2B8', + value: 'PendingAcceptance', + }, + Completed: { text: '已完成', color: '#28A745', value: 'Completed' }, + Closed: { text: '已关闭', color: '#6C757D', value: 'Closed' }, }; // HouseWorkOrdersTypeEnum -export const HouseWorkOrdersTypeEnum= { - 'Repair': {"text":"报修","color":"#ff0000","value":"Repair"}, - 'Incident': {"text":"报事","color":"#00aaff","value":"Incident"}, - 'Complaint': {"text":"投诉","color":"#aa00ff","value":"Complaint"}, +export const HouseWorkOrdersTypeEnum = { + Repair: { text: '报修', color: '#ff0000', value: 'Repair' }, + Incident: { text: '报事', color: '#00aaff', value: 'Incident' }, + Complaint: { text: '投诉', color: '#aa00ff', value: 'Complaint' }, + RenovationInspection: { + text: '装修巡检', + color: '#27ae60', + value: 'RenovationInspection', + }, + RenovationAcceptance: { + text: '装修验收', + color: '#f39c12', + value: 'RenovationAcceptance', + }, + SecurityInspection: { + text: '安防巡检', + color: '#3498db', + value: 'SecurityInspection', + }, + Emergency: { text: '突发事件', color: '#e74c3c', value: 'Emergency' }, + EquipmentMaintenance: { + text: '设备维保', + color: '#9b59b6', + value: 'EquipmentMaintenance', + }, + QualityCheck: { text: '品质检查', color: '#16a085', value: 'QualityCheck' }, }; -// 公告接收对象 -export const MsgPropertyAnnouncementsObjectEnum= { - 'Customer': {"text":"客户","color":"#3b82f6","value":"Customer"}, - 'Employee': {"text":"员工","color":"#10b981","value":"Employee"}, +// MsgPropertyAnnouncementsObjectEnum +export const MsgPropertyAnnouncementsObjectEnum = { + Customer: { text: '客户', color: '#3b82f6', value: 'Customer' }, + Employee: { text: '员工', color: '#10b981', value: 'Employee' }, }; // MsgPropertyAnnouncementsPublishTypeEnum -export const MsgPropertyAnnouncementsPublishTypeEnum= { - 'Manual': {"text":"手动","color":"#4caf50","value":"Manual"}, - 'Schedule': {"text":"定时","color":"#2196f3","value":"Schedule"}, +export const MsgPropertyAnnouncementsPublishTypeEnum = { + Manual: { text: '手动', color: '#4caf50', value: 'Manual' }, + Schedule: { text: '定时', color: '#2196f3', value: 'Schedule' }, }; // OrganizationsTypeEnum -export const OrganizationsTypeEnum= { - 'Group': {"text":"集团","color":"#007bff","value":"Group"}, - 'Company': {"text":"公司","color":"#28a745","value":"Company"}, - 'ManagementOffice': {"text":"管理处","color":"#ffc107","value":"ManagementOffice"}, - 'Department': {"text":"部门","color":"#dc3545","value":"Department"}, +export const OrganizationsTypeEnum = { + Group: { text: '集团', color: '#007bff', value: 'Group' }, + Company: { text: '公司', color: '#28a745', value: 'Company' }, + ManagementOffice: { + text: '管理处', + color: '#ffc107', + value: 'ManagementOffice', + }, + Department: { text: '部门', color: '#dc3545', value: 'Department' }, }; -// 退款状态枚举 -export const RefundsStatusEnum= { - 'Pending': {"text":"待审批","color":"#ff9800","value":"Pending"}, - 'Reviewing': {"text":"审核中","color":"#2196f3","value":"Reviewing"}, - 'Approved': {"text":"已审批","color":"#9c27b0","value":"Approved"}, - 'Processing': {"text":"退款中","color":"#00bcd4","value":"Processing"}, - 'Completed': {"text":"已退款","color":"#4caf50","value":"Completed"}, - 'PartialRefund': {"text":"部分退款","color":"#8bc34a","value":"PartialRefund"}, - 'Rejected': {"text":"已拒绝","color":"#f44336","value":"Rejected"}, - 'Failed': {"text":"退款失败","color":"#e91e63","value":"Failed"}, - 'Cancelled': {"text":"已取消","color":"#9e9e9e","value":"Cancelled"}, +// PatrolRoutesGenerationMethodEnum +export const PatrolRoutesGenerationMethodEnum = { + Daily: { text: '按天', color: '#007bff', value: 'Daily' }, + Weekly: { text: '按周', color: '#28a745', value: 'Weekly' }, + Monthly: { text: '按月', color: '#ffc107', value: 'Monthly' }, +}; + +// PatrolTaskLocationsStatusEnum +export const PatrolTaskLocationsStatusEnum = { + Incomplete: { text: '未完成', color: '#ff9800', value: 'Incomplete' }, + Completed: { text: '已完成', color: '#4caf50', value: 'Completed' }, +}; + +// PatrolTasksCreateTypeEnum +export const PatrolTasksCreateTypeEnum = { + Auto: { text: '定时生成', color: '#2196f3', value: 'Auto' }, + Manual: { text: '手动创建', color: '#4caf50', value: 'Manual' }, +}; + +// PatrolTasksStatusEnum +export const PatrolTasksStatusEnum = { + Unassigned: { text: '未分配', color: '#9e9e9e', value: 'Unassigned' }, + Pending: { text: '待执行', color: '#ff9800', value: 'Pending' }, + InProgress: { text: '进行中', color: '#2196f3', value: 'InProgress' }, + Completed: { text: '已完成', color: '#4caf50', value: 'Completed' }, + Canceled: { text: '已取消', color: '#f44336', value: 'Canceled' }, + Overdue: { text: '已超期', color: '#e91e63', value: 'Overdue' }, +}; + +// QuestionsTypeEnum +export const QuestionsTypeEnum = { + Score: { text: '评分题', color: '#4caf50', value: 'Score' }, + Fill: { text: '填空题', color: '#2196f3', value: 'Fill' }, +}; + +// RefundsStatusEnum +export const RefundsStatusEnum = { + Pending: { text: '待审批', color: '#ff9800', value: 'Pending' }, + Reviewing: { text: '审核中', color: '#2196f3', value: 'Reviewing' }, + Approved: { text: '已审批', color: '#9c27b0', value: 'Approved' }, + Processing: { text: '退款中', color: '#00bcd4', value: 'Processing' }, + Completed: { text: '已退款', color: '#4caf50', value: 'Completed' }, + PartialRefund: { text: '部分退款', color: '#8bc34a', value: 'PartialRefund' }, + Rejected: { text: '已拒绝', color: '#f44336', value: 'Rejected' }, + Failed: { text: '退款失败', color: '#e91e63', value: 'Failed' }, + Cancelled: { text: '已取消', color: '#9e9e9e', value: 'Cancelled' }, +}; + +// RefundsTypeEnum +export const RefundsTypeEnum = { + HouseOrder: { text: '物业账单', color: '#2196f3', value: 'HouseOrder' }, + Bill: { text: '账单退款', color: '#4caf50', value: 'Bill' }, + ContractBill: { text: '合同退款', color: '#ff9800', value: 'ContractBill' }, + RenovationApply: { + text: '退保证金', + color: '#86aac3ff', + value: 'RenovationApply', + }, + HouseDoorCard: { text: '门禁退款', color: '#9c27b0', value: 'HouseDoorCard' }, + HouseWorkOrder: { + text: '工单退款', + color: '#00bcd4', + value: 'HouseWorkOrder', + }, + Other: { text: '其他退款', color: '#607d8b', value: 'Other' }, +}; + +// RenovationAppliesAcceptanceStatusEnum +export const RenovationAppliesAcceptanceStatusEnum = { + PendingAcceptance: { + text: '待验收', + color: '#f1c40f', + value: 'PendingAcceptance', + }, + Accepted: { text: '验收合格', color: '#2ecc71', value: 'Accepted' }, + Rejected: { text: '验收不合格', color: '#e74c3c', value: 'Rejected' }, + Cancelled: { text: '已取消', color: '#95a5a6', value: 'Cancelled' }, +}; + +// RenovationAppliesConstructionStatusEnum +export const RenovationAppliesConstructionStatusEnum = { + PendingConstruction: { + text: '待施工', + color: '#f1c40f', + value: 'PendingConstruction', + }, + NormalConstruction: { + text: '正常施工', + color: '#2ecc71', + value: 'NormalConstruction', + }, + StoppedConstruction: { + text: '已停工', + color: '#e74c3c', + value: 'StoppedConstruction', + }, + CompletedConstruction: { + text: '已竣工', + color: '#3498db', + value: 'CompletedConstruction', + }, +}; + +// RenovationAppliesProcessTypeEnum +export const RenovationAppliesProcessTypeEnum = { + OwnerProcess: { text: '业主办理', color: '#3498db', value: 'OwnerProcess' }, + AgentProcess: { text: '代理人办理', color: '#9b59b6', value: 'AgentProcess' }, +}; + +// RenovationAppliesRenovationContentEnum +export const RenovationAppliesRenovationContentEnum = { + PartialRenovation: { + text: '局部装修', + color: '#f39c12', + value: 'PartialRenovation', + }, + FullHouseRenovation: { + text: '全屋装修', + color: '#2ecc71', + value: 'FullHouseRenovation', + }, + PartialRefurbishment: { + text: '部分翻新', + color: '#3498db', + value: 'PartialRefurbishment', + }, +}; + +// RenovationAppliesStatusEnum +export const RenovationAppliesStatusEnum = { + Draft: { text: '暂存', color: '#f39c12', value: 'Draft' }, + Pending: { text: '审核中', color: '#faad14', value: 'Pending' }, + Approved: { text: '已完成', color: '#52c41a', value: 'Approved' }, + Rejected: { text: '驳回', color: '#f5222d', value: 'Rejected' }, + Cancelled: { text: '作废', color: '#9b59b6', value: 'Cancelled' }, +}; + +// RenovationAppliesTypeEnum +export const RenovationAppliesTypeEnum = { + SelfRenovation: { text: '自装', color: '#1abc9c', value: 'SelfRenovation' }, + RenovationCompany: { + text: '装修公司', + color: '#e67e22', + value: 'RenovationCompany', + }, +}; + +// ResourceOrdersPaymentStatusEnum +export const ResourceOrdersPaymentStatusEnum = { + Unpaid: { text: '未支付', color: '#f59e0b', value: 'Unpaid' }, + Paid: { text: '已支付', color: '#10b981', value: 'Paid' }, + Refunded: { text: '已退款', color: '#3b82f6', value: 'Refunded' }, +}; + +// ResourceOrdersStatusEnum +export const ResourceOrdersStatusEnum = { + Locked: { text: '已锁定', color: '#8b5cf6', value: 'Locked' }, + Reserved: { text: '已预约', color: '#3b82f6', value: 'Reserved' }, + Used: { text: '已使用', color: '#10b981', value: 'Used' }, + Overed: { text: '已结束', color: '#fca5a5', value: 'Overed' }, + Refunding: { text: '退订中', color: '#f59e0b', value: 'Refunding' }, + Refunded: { text: '已退订', color: '#ef4444', value: 'Refunded' }, + Closed: { text: '已关闭', color: '#6b7280', value: 'Closed' }, +}; + +// ResourceTypesTypeEnum +export const ResourceTypesCategoryEnum = { + Advertising: { text: '广告', color: '#ff9800', value: 'Advertising' }, + Venue: { text: '场地', color: '#4caf50', value: 'Venue' }, +}; + +// ResourcesChannelEnum +export const ResourcesChannelEnum = { + Consumer: { text: 'ToC', color: '#3b82f6', value: 'Consumer' }, + Business: { text: 'ToB', color: '#10b981', value: 'Business' }, +}; + +// ResourcesOpenDaysEnum +export const ResourcesOpenDaysEnum = { + Monday: { text: '星期一', color: '#3b82f6', value: 'Monday' }, + Tuesday: { text: '星期二', color: '#3b82f6', value: 'Tuesday' }, + Wednesday: { text: '星期三', color: '#3b82f6', value: 'Wednesday' }, + Thursday: { text: '星期四', color: '#3b82f6', value: 'Thursday' }, + Friday: { text: '星期五', color: '#3b82f6', value: 'Friday' }, + Saturday: { text: '星期六', color: '#10b981', value: 'Saturday' }, + Sunday: { text: '星期日', color: '#ef4444', value: 'Sunday' }, +}; + +// ResourcesReservationRuleEnum +export const ResourcesReservationRuleEnum = { + ByDay: { text: '按天', color: '#3b82f6', value: 'ByDay' }, + BySession: { text: '按场次', color: '#10b981', value: 'BySession' }, +}; + +// ResourcesReservationStatusEnum +export const ResourcesReservationStatusEnum = { + Fully: { text: '全部预约', color: '#4caf50', value: 'Fully' }, + Partially: { text: '部分预约', color: '#ff9800', value: 'Partially' }, + Not: { text: '无预约', color: '#f44336', value: 'Not' }, }; // 性别 -export const SexEnum= { - 'Male': {"text":"男","color":"#0000ff","value":"Male"}, - 'FeMale': {"text":"女","color":"#ff0000","value":"FeMale"}, +export const SexEnum = { + Male: { text: '男', color: '#0000ff', value: 'Male' }, + FeMale: { text: '女', color: '#ff0000', value: 'FeMale' }, +}; + +// SurveyReleasesTypeEnum +export const SurveyReleasesTypeEnum = { + Manual: { text: '手动发布', color: '#4caf50', value: 'Manual' }, + Timing: { text: '定时发布', color: '#2196f3', value: 'Timing' }, }; // SysModuleEnum -export const SysModuleEnum= { - 'Admin': {"text":"管理员","color":"#cf1322","value":"Admin"}, - 'Customer': {"text":"客户","color":"#d4b106","value":"Customer"}, - 'Company': {"text":"机构","color":"#1890ff","value":"Company"}, +export const SysModuleEnum = { + Admin: { text: '管理员', color: '#cf1322', value: 'Admin' }, + Customer: { text: '客户', color: '#d4b106', value: 'Customer' }, }; // SysPermissionsTypeEnum -export const SysPermissionsTypeEnum= { - 'Directory': {"text":"目录","color":"#6d7e14","value":"Directory"}, - 'Page': {"text":"页面","color":"#4d9a13","value":"Page"}, - 'Button': {"text":"按钮","color":"#97224f","value":"Button"}, +export const SysPermissionsTypeEnum = { + Directory: { text: '目录', color: '#6d7e14', value: 'Directory' }, + Page: { text: '页面', color: '#4d9a13', value: 'Page' }, + Tab: { text: '页签', color: '#1d6fb8', value: 'Tab' }, + Button: { text: '按钮', color: '#97224f', value: 'Button' }, +}; + +// 来访事由 +export const VisitReasonEnum = { + Visit: { text: '拜访', color: '#2196f3', value: 'Visit' }, + Business: { text: '商务', color: '#3f51b5', value: 'Business' }, + Interview: { text: '面试', color: '#9c27b0', value: 'Interview' }, + Private: { text: '私人', color: '#e91e63', value: 'Private' }, + Express: { text: '快递', color: '#00bcd4', value: 'Express' }, + Renovation: { text: '装修', color: '#ff5722', value: 'Renovation' }, + Other: { text: '其他', color: '#607d8b', value: 'Other' }, +}; + +// 访客申请状态 +export const VisitorAppliesStatusEnum = { + Pending: { text: '审核中', color: '#ff9800', value: 'Pending' }, + Approved: { text: '已通过', color: '#4caf50', value: 'Approved' }, + Rejected: { text: '已驳回', color: '#f44336', value: 'Rejected' }, + Expired: { text: '已失效', color: '#9e9e9e', value: 'Expired' }, +}; + +// 访客申请类型 +export const VisitorApplyTypeEnum = { + invite: { text: '业主邀请', color: '#2196f3', value: 'invite' }, + register: { text: '访客登记', color: '#ff9800', value: 'register' }, +}; + +// 通行码状态 +export const VisitorCodeStatusEnum = { + unused: { text: '未使用', color: '#2196f3', value: 'unused' }, + used: { text: '已使用', color: '#4caf50', value: 'used' }, + expired: { text: '已过期', color: '#f44336', value: 'expired' }, +}; + +// 访客扫码类型 +export const VisitorScanTypeEnum = { + enter: { text: '进入', color: '#4caf50', value: 'enter' }, + exit: { text: '离开', color: '#f44336', value: 'exit' }, }; // WechatAuthsPlatformEnum -export const WechatAuthsPlatformEnum= { - 'MiniProgram': {"text":"微信小程序","color":"#3b82f6","value":"MiniProgram"}, - 'MpOfficial': {"text":"微信公众号","color":"#22c55e","value":"MpOfficial"}, - 'WorkWechat': {"text":"企业微信","color":"#6366f1","value":"WorkWechat"}, +export const WechatAuthsPlatformEnum = { + MiniProgram: { text: '微信小程序', color: '#3b82f6', value: 'MiniProgram' }, + MpOfficial: { text: '微信公众号', color: '#22c55e', value: 'MpOfficial' }, + WorkWechat: { text: '企业微信', color: '#6366f1', value: 'WorkWechat' }, }; - diff --git a/src/pages/asset/grids/modals/GridUpdate.tsx b/src/pages/asset/grids/modals/GridUpdate.tsx index a1757e2..af6cd09 100644 --- a/src/pages/asset/grids/modals/GridUpdate.tsx +++ b/src/pages/asset/grids/modals/GridUpdate.tsx @@ -21,7 +21,7 @@ export default function Update(props: MyBetaModalFormProps) { labelCol={{ span: 4 }} wrapperCol={{ span: 24 }} labelAlign="right" - trigger={} + trigger={} form={form} key={new Date().getTime()} onOpenChange={(open: any) => { diff --git a/src/pages/asset/parking_space/index.tsx b/src/pages/asset/parking_space/index.tsx index 1f2be7b..9691a65 100644 --- a/src/pages/asset/parking_space/index.tsx +++ b/src/pages/asset/parking_space/index.tsx @@ -5,6 +5,7 @@ import { MyProTableProps, useCurrentPermissions, } from '@/common'; +import { MyExport } from '@/components/MyExport'; import { Selects } from '@/components/Select'; import { Apis } from '@/gen/Apis'; import { @@ -14,9 +15,13 @@ import { } from '@/gen/Enums'; import { ProTable } from '@ant-design/pro-components'; import { Space } from 'antd'; +import { useState } from 'react'; + +import SpaceShow from './modals/SpaceShow'; import SpaceUpdate from './modals/SpaceUpdate'; export default function Index({ title = '车位列表' }) { + const [getParams, setParams] = useState({ page: 1 }); const getCurrentPermissions = useCurrentPermissions(); let tableRender = (item: any, action: any) => { return getCurrentPermissions({ @@ -44,11 +49,22 @@ export default function Index({ title = '车位列表' }) { headerTitle="车位列表" tooltip="车位列表的信息管理,请在【项目列表】的【配置】中进行操作" request={async (params, sort) => - MyProTableProps.request(params, sort, Apis.Asset.AssetCarPorts.List) + MyProTableProps.request( + params, + sort, + Apis.Asset.AssetCarPorts.List, + setParams, + ) } - // toolBarRender={(action) => [ - // , - // ]} + toolBarRender={(action) => [ + , + // , + ]} columns={[ MyColumns.ID({ search: false }), Selects?.AssetProjects({ @@ -59,11 +75,12 @@ export default function Index({ title = '车位列表' }) { { title: '项目名称', dataIndex: ['asset_project', 'name'], - search: { - transform: (value) => { - return { project_name: value }; - }, - }, + // search: { + // transform: (value) => { + // return { project_name: value }; + // }, + // }, + search: false, }, { title: '车场名称', @@ -106,7 +123,10 @@ export default function Index({ title = '车位列表' }) { MyColumns.CreatedAt(), MyColumns.Option({ render: (_, item: any, index, action) => ( - {tableRender(item, action)} + + + {tableRender(item, action)} + ), }), ]} diff --git a/src/pages/asset/parking_space/modals/SpaceCreate.tsx b/src/pages/asset/parking_space/modals/SpaceCreate.tsx index b025a5f..e0d9d7f 100644 --- a/src/pages/asset/parking_space/modals/SpaceCreate.tsx +++ b/src/pages/asset/parking_space/modals/SpaceCreate.tsx @@ -5,6 +5,7 @@ import { MyModalFormProps, rulesHelper, } from '@/common'; +import { Selects } from '@/components/Select'; import { Apis } from '@/gen/Apis'; import { AssetCarPortsPropertyTypeEnum, @@ -14,7 +15,7 @@ import { import { BetaSchemaForm } from '@ant-design/pro-components'; import { Form, message } from 'antd'; -export default function Create(props: MyBetaModalFormProps) { +export default function SpaceCreate(props: MyBetaModalFormProps) { const [form] = Form.useForm(); return ( @@ -60,6 +61,7 @@ export default function Create(props: MyBetaModalFormProps) { title: '建筑面积', valueType: 'digit', colProps: { span: 24 }, + formItemProps: { ...rulesHelper.number }, fieldProps: { addonAfter: 'm²', }, @@ -83,7 +85,24 @@ export default function Create(props: MyBetaModalFormProps) { valueEnum: AssetCarPortsStatusEnum, required: true, }), - + { + key: 'owner_name', + title: '业主姓名', + colProps: { span: 24 }, + }, + { + key: 'owner_phone', + title: '业主手机号', + colProps: { span: 24 }, + }, + Selects?.AssetFullName({ + key: 'asset_houses_id', + params: { + asset_projects_id: props?.item?.asset_projects_id, + }, + title: '关联房屋', + colProps: { span: 24 }, + }), { key: 'remark', title: '备注', diff --git a/src/pages/asset/parking_space/modals/SpaceShow.tsx b/src/pages/asset/parking_space/modals/SpaceShow.tsx new file mode 100644 index 0000000..b005d25 --- /dev/null +++ b/src/pages/asset/parking_space/modals/SpaceShow.tsx @@ -0,0 +1,95 @@ +import { MyBetaModalFormProps, MyButtons, renderTextHelper } from '@/common'; +import { MyModal } from '@/components/MyModal'; +import { Apis } from '@/gen/Apis'; +import { + AssetCarPortsPropertyTypeEnum, + AssetCarPortsStatusEnum, + AssetCarPortsTypeEnum, +} from '@/gen/Enums'; +import { ProCard, ProDescriptions } from '@ant-design/pro-components'; +import { useNavigate } from '@umijs/max'; +import { Space, Spin } from 'antd'; +import { useState } from 'react'; + +export default function SpaceShow(props: MyBetaModalFormProps) { + const [loading, setLoading] = useState(true); + const [data, setData] = useState({}); + const navigate = useNavigate(); + + return ( + { + if (props?.item?.id) { + setLoading(true); + Apis.Asset.AssetCarPorts.Show({ id: props.item.id }) + .then((res) => { + setData(res?.data || {}); + }) + .finally(() => { + setLoading(false); + }); + } + }} + node={ + + + + + + {data?.name} + + + {data?.built_area} m² + + + + + + + + + + + + {data?.owner_name || '-'} + + + {data?.owner_phone || '-'} + + + {data?.asset_houses_id ? ( + { + navigate( + `/customer/archive/show/${data?.asset_houses_id}`, + ); + }} + /> + ) : ( + '无' + )} + + + + {data?.remark || '-'} + + + + + + } + /> + ); +} diff --git a/src/pages/asset/parking_space/modals/SpaceUpdate.tsx b/src/pages/asset/parking_space/modals/SpaceUpdate.tsx index 0b78e46..ca36d3a 100644 --- a/src/pages/asset/parking_space/modals/SpaceUpdate.tsx +++ b/src/pages/asset/parking_space/modals/SpaceUpdate.tsx @@ -5,6 +5,7 @@ import { MyModalFormProps, rulesHelper, } from '@/common'; +import { Selects } from '@/components/Select'; import { Apis } from '@/gen/Apis'; import { AssetCarPortsPropertyTypeEnum, @@ -59,6 +60,7 @@ export default function Update(props: MyBetaModalFormProps) { title: '建筑面积', valueType: 'digit', colProps: { span: 24 }, + formItemProps: { ...rulesHelper.number }, fieldProps: { addonAfter: 'm²', }, @@ -82,6 +84,22 @@ export default function Update(props: MyBetaModalFormProps) { valueEnum: AssetCarPortsStatusEnum, required: true, }), + { + key: 'owner_name', + title: '业主姓名', + colProps: { span: 24 }, + }, + { + key: 'owner_phone', + title: '业主手机号', + colProps: { span: 24 }, + }, + Selects?.AssetFullName({ + key: 'asset_houses_id', + params: { + asset_projects_id: props?.item?.asset_projects_id, + }, + }), { key: 'remark', title: '备注', diff --git a/src/pages/bills/summary/index.tsx b/src/pages/bills/summary/index.tsx index 389f346..1ab6599 100644 --- a/src/pages/bills/summary/index.tsx +++ b/src/pages/bills/summary/index.tsx @@ -4,7 +4,7 @@ import { Apis } from '@/gen/Apis'; import { HomeFilled } from '@ant-design/icons'; import { ProCard } from '@ant-design/pro-components'; import { useNavigate } from '@umijs/max'; -import { Empty, Space, Tag } from 'antd'; +import { Empty, Space, Tabs, Tag } from 'antd'; import { useEffect, useState } from 'react'; import SearchInfo from './components/SearchInfo'; @@ -12,14 +12,40 @@ export default function Index({ title = '房屋账单' }) { const navigate = useNavigate(); // const [selectedBuilding, setSelectedBuilding] = // useState(null); + const [items, setItems] = useState([ + { + key: '1', + label: '全部房屋', + }, + ]); const [params, setParams] = useState({ page: 1 }); const [getSummaryBillListData, setGetSummaryBillListData] = useState({}); + const setPageStatistics = (res: any) => { + setItems([ + { + key: '1', + label: '全部房屋', + }, + { + key: '2', + label: `清欠房屋数(${res?.['清欠房屋数']})`, + }, + { + key: '3', + label: `欠费房屋数(${res?.['欠费房屋数']})`, + }, + ]); + }; + const getSummaryBillList = (data: any) => { - Apis.Bill.HouseBills.SummaryBillList({ ...params, ...data }).then((res) => { - setParams({ ...params, ...data }); - setGetSummaryBillListData(res); - }); + Apis.Bill.HouseBills.SummaryBillList({ ...params, ...data }).then( + (res: any) => { + setParams({ ...params, ...data }); + setPageStatistics(res?.statistics || {}); + setGetSummaryBillListData(res); + }, + ); }; useEffect(() => { @@ -55,6 +81,17 @@ export default function Index({ title = '房屋账单' }) { }} /> + { + console.log(e); + getSummaryBillList({ + page: 1, + has_overdue: e === '3' ? true : e === '2' ? false : undefined, + }); + }} + />
{getSummaryBillListData?.data?.length ? null : (
+ MyProTableProps.request( + { + ...params, + charge_type: HouseBillsTypeEnum.CarPortFee.value, + }, + sort, + Apis.HouseCharge.HouseChargeStandards.List, + ) + } + toolBarRender={(action) => [ + , + ]} + columns={[ + MyColumns.ID({ search: false }), + Selects?.AssetProjects({ + title: '选择项目', + key: 'asset_projects_id', + hidden: true, + }), + { + title: '关联项目', + dataIndex: ['asset_project', 'name'], + // search: { + // transform: (value) => { + // return { project_name: value }; + // }, + // }, + search: false, + }, + { + title: '收费名称', + dataIndex: 'name', + search: false, + render: (_, item: any) => { + return ; + }, + }, + { + title: '绑定车位', + dataIndex: 'house_charge_has_houses_count', + search: false, + }, + MyColumns.EnumTag({ + title: '收费项', + dataIndex: 'charge_type', + valueEnum: HouseBillsTypeEnum, + search: false, + }), + MyColumns.EnumTag({ + title: '计量单位', + dataIndex: 'calculation_method', + valueEnum: HouseChargeStandardsCalculationMethodEnum, + search: false, + }), + MyColumns.EnumTag({ + title: '计费模式', + dataIndex: 'calculation_mode', + valueEnum: HouseChargeStandardsCalculationModeEnum, + search: false, + }), + MyColumns.EnumTag({ + title: '计费算法', + dataIndex: 'price_algorithm', + valueEnum: HouseChargeStandardsPriceAlgorithmEnum, + search: false, + }), + { + title: '价格', + dataIndex: 'price', + search: false, + render(_, record) { + if (record?.price_algorithm === 'Fixed') { + return record?.price; + } else { + return ( +
+ {record?.tiered_rates?.map((rate: any, index: number) => ( +
+ {rate?.min_quantity} - {rate?.max_quantity} :{rate?.price} +
+ ))} +
+ ); + } + }, + }, + MyColumns.EnumTag({ + title: '账单计费周期', + dataIndex: 'calculation_period', + valueEnum: HouseChargeStandardsCalculationPeriodEnum, + search: false, + }), + { + title: '账单自动生成日期', + dataIndex: 'auto_date', + search: false, + }, + { + title: '是否公摊', + dataIndex: 'is_apportionment', + search: false, + render(_, record) { + return `${record?.is_apportionment ? '是' : '否'} `; + }, + }, + MyColumns.Option({ + render: (_, item: any, index, action) => ( + + { + navigate(`/charge/standard/show/${item.id}?type=Car`); + }} + /> + + + + Apis.HouseCharge.HouseChargeStandards.Delete({ + id: item.id, + }).then(() => action?.reload()) + } + /> + + ), + }), + ]} + /> + ); +} diff --git a/src/pages/charge/standard/components/ChargeInfo.tsx b/src/pages/charge/standard/components/ChargeInfo.tsx index 4766f23..1f0a224 100644 --- a/src/pages/charge/standard/components/ChargeInfo.tsx +++ b/src/pages/charge/standard/components/ChargeInfo.tsx @@ -1,49 +1,108 @@ import { MyBetaModalFormProps, renderTextHelper } from '@/common'; import { HouseBillsTypeEnum, + HouseChargeStandardsApportionmentMethodEnum, + HouseChargeStandardsCalculationMethodEnum, HouseChargeStandardsCalculationModeEnum, HouseChargeStandardsCalculationPeriodEnum, + HouseChargeStandardsPriceAlgorithmEnum, } from '@/gen/Enums'; import { ProCard, ProDescriptions } from '@ant-design/pro-components'; import { Space } from 'antd'; -export default function info(props: MyBetaModalFormProps) { +export default function ChargeInfo(props: MyBetaModalFormProps) { const { item } = props; return ( - - - {item?.asset_project?.name} - + {item?.name} - - + + {item?.asset_project?.name || '-'} + + + + + {item?.company_receipt_account?.company_bank}: + {item?.company_receipt_account?.company_account} + + {item?.apportionment_method ? ( + + + + ) : ( + '' + )} + + {item?.is_apportionment ? '是' : '否'} + + + - + + + + + ¥{item?.price}元 + + {item?.calculation_method !== 'PerUnit' ? ( + + + {item?.tiered_rates?.map((rate: any, index: number) => ( +
+ 阶梯范围:{rate?.min_quantity}-{rate?.max_quantity}{' '} + 阶梯单价:¥{rate?.price}元 +
+ ))} +
+
+ ) : ( + '' + )} + - - + + {item?.auto_date} + + {item?.has_late_fee ? ( + + +
有滞纳金:{item?.has_late_fee ? '是' : '否'}
+
起算天数:生成账单后{item?.late_fee_start_days}天
+
收取费率:每日{item?.late_fee_rate}%
+
封顶天数:最多{item?.late_fee_cap_days}天
+
+
+ ) : ( + '' + )} + {item?.remark}
diff --git a/src/pages/charge/standard/components/HasCar.tsx b/src/pages/charge/standard/components/HasCar.tsx new file mode 100644 index 0000000..1b10c8e --- /dev/null +++ b/src/pages/charge/standard/components/HasCar.tsx @@ -0,0 +1,111 @@ +import { MyButtons, MyColumns, MyProTableProps } from '@/common'; +import { Apis } from '@/gen/Apis'; + +import { + AssetCarPortsPropertyTypeEnum, + AssetCarPortsStatusEnum, + AssetCarPortsTypeEnum, +} from '@/gen/Enums'; +import { ProTable } from '@ant-design/pro-components'; +import { Space } from 'antd'; +import { useEffect, useRef } from 'react'; +import ChargeStandardHasCar from '../modals/ChargeStandardHasCar'; + +export default function Index({ ...rest }) { + const actionLooks = useRef(); + useEffect(() => { + actionLooks?.current.reloadAndRest(); + }, [rest.loadmore]); + + return ( + <> + > + {...MyProTableProps.props} + actionRef={actionLooks} + request={async (params, sort) => + MyProTableProps.request( + { + ...params, + house_charge_standards_id: rest.item?.house_charge_has_houses_id, + }, + sort, + Apis.HouseCharge.HouseChargeHasCarPorts.List, + ) + } + toolBarRender={(action) => [ + , + ]} + search={false} + columns={[ + // MyColumns.ID({ + // search: false, + // }), + { + title: '车场名称', + dataIndex: ['asset_parking_place', 'name'], + search: { + transform: (value) => { + return { parking_place_name: value }; + }, + }, + }, + { + title: '车位号', + dataIndex: ['asset_car_port', 'name'], + search: false, + }, + // { + // title: '车位全称', + // dataIndex: ['asset_car_port', 'full_name'], + // }, + { + title: '建筑面积', + dataIndex: ['asset_car_port', 'built_area'], + search: false, + }, + MyColumns.EnumTag({ + title: '类型', + dataIndex: ['asset_car_port', 'type'], + valueEnum: AssetCarPortsTypeEnum, + }), + MyColumns.EnumTag({ + title: '产权类型', + dataIndex: ['asset_car_port', 'property_type'], + valueEnum: AssetCarPortsPropertyTypeEnum, + }), + MyColumns.EnumTag({ + title: '状态', + dataIndex: ['asset_car_port', 'status'], + valueEnum: AssetCarPortsStatusEnum, + }), + { + title: '绑定时间', + dataIndex: 'updated_at', + search: false, + }, + MyColumns.Option({ + width: 80, + render: (_, item: any, index, action) => ( + + + Apis.HouseCharge.HouseChargeHasCarPorts.Delete({ + id: item.id, + }).then(() => action?.reload()) + } + /> + + ), + }), + ]} + /> + + ); +} diff --git a/src/pages/charge/standard/components/Instrument.tsx b/src/pages/charge/standard/components/Instrument.tsx index 1ec4c6a..5b9bd3a 100644 --- a/src/pages/charge/standard/components/Instrument.tsx +++ b/src/pages/charge/standard/components/Instrument.tsx @@ -40,7 +40,7 @@ export default function Index(props: MyBetaModalFormProps) { { - navigate(`/instrument/readings/show/${item.id}`); + navigate(`/meter/readings/show/${item.id}`); }} /> ), diff --git a/src/pages/charge/standard/index.tsx b/src/pages/charge/standard/index.tsx index 10e6751..e52fdcb 100644 --- a/src/pages/charge/standard/index.tsx +++ b/src/pages/charge/standard/index.tsx @@ -1,5 +1,6 @@ import { MyPageContainer } from '@/common'; import { Tabs } from 'antd'; +import CarPortFee from './components/CarPortFee'; import ElectricityFee from './components/ElectricityFee'; import MaintenanceFund from './components/MaintenanceFund'; import PropertyFee from './components/PropertyFee'; @@ -39,6 +40,11 @@ export default function Index({ title = '收费标准配置' }) { label: '维修基金', children: , }, + { + key: 'CarPortFee', + label: '车位管理费', + children: , + }, ]; return ( diff --git a/src/pages/charge/standard/modals/ChargeStandardHasCar.tsx b/src/pages/charge/standard/modals/ChargeStandardHasCar.tsx new file mode 100644 index 0000000..5fae263 --- /dev/null +++ b/src/pages/charge/standard/modals/ChargeStandardHasCar.tsx @@ -0,0 +1,174 @@ +import { + MyBetaModalFormProps, + MyButtons, + MyColumns, + MyProTableProps, +} from '@/common'; +import { MyModal } from '@/components/MyModal'; + +import { Apis } from '@/gen/Apis'; +import { + AssetCarPortsPropertyTypeEnum, + AssetCarPortsStatusEnum, + AssetCarPortsTypeEnum, +} from '@/gen/Enums'; +import { ProTable } from '@ant-design/pro-components'; +import { message, Space } from 'antd'; +import { useRef, useState } from 'react'; + +export default function ChargeStandardHasHouse(props: MyBetaModalFormProps) { + // 使用 useState 保存选中的房屋 ID 和行数据,确保跨页选中状态保持 + const [selectedHousesIds, setSelectedHousesIds] = useState([]); + const [selectedRows, setSelectedRows] = useState([]); + + // 添加 tableRef 用于操作表格 + const tableRef = useRef(); + + const onShowContactPhone = () => { + if (selectedRows.length === 0) { + message.warning('请至少选择一个车位'); + return; + } + + // 确保 houses_ids 是字符串数组 + const carPortsIds = selectedRows.map((row) => String(row.id)); + + Apis.HouseCharge.HouseChargeHasCarPorts.Store({ + house_charge_standards_id: props?.item?.id ?? 0, + car_ports_ids: carPortsIds, + }) + .then(() => { + // 成功后重置选中状态 + setSelectedHousesIds([]); + setSelectedRows([]); + props.reload?.(); + message.success('绑车位成功!'); + }) + .catch((error) => { + console.error('绑车位失败:', error); + message.error('绑车位失败: ' + (error.message || '未知错误')); + return false; + }); + }; + + return ( + + MyProTableProps.request( + { + ...params, + asset_projects_id: props?.item?.asset_projects_id, + }, + sort, + Apis.Asset.AssetCarPorts.List, + undefined, + (res) => { + // 确保响应数据正确处理 + console.log('加载房屋数据:', res); + return res; + }, + ) + } + style={{ + padding: '20px', + height: '680px', + overflowY: 'auto', + overflowX: 'hidden', + }} + pagination={{ + showQuickJumper: true, + // pageSizeOptions: [10, 20, 50, 100, 200, 500, 1000, 2000], + }} + rowSelection={{ + type: 'checkbox', + preserveSelectedRowKeys: true, // 启用跨页选择 + selectedRowKeys: selectedHousesIds, + onChange: (selectedRowKeys, selectedRows) => { + // 确保 selectedRowKeys 是数字类型 + const numericKeys = selectedRowKeys.map((key) => + typeof key === 'string' ? parseInt(key, 10) : key, + ) as number[]; + + // 更新选中状态 + setSelectedHousesIds(numericKeys); + + // 合并当前页面选中的行和之前选中的行 + const newSelectedRows = [...selectedRows]; + + // 设置选中行数据 + setSelectedRows(newSelectedRows); + }, + }} + tableAlertOptionRender={({ selectedRowKeys, onCleanSelected }) => { + return ( + + 已选 {selectedRowKeys.length} 项 + 清空 + onShowContactPhone()} + /> + + ); + }} + options={false} + columns={[ + { + title: '项目名称', + dataIndex: ['asset_project', 'name'], + search: false, + }, + { + title: '车场名称', + dataIndex: ['asset_parking_place', 'name'], + search: { + transform: (value) => { + return { parking_place_name: value }; + }, + }, + }, + { + title: '车位号', + dataIndex: 'name', + search: false, + }, + { + title: '车位全称', + dataIndex: 'full_name', + }, + { + title: '建筑面积', + dataIndex: 'built_area', + search: false, + }, + MyColumns.EnumTag({ + title: '类型', + dataIndex: 'type', + valueEnum: AssetCarPortsTypeEnum, + }), + MyColumns.EnumTag({ + title: '产权类型', + dataIndex: 'property_type', + valueEnum: AssetCarPortsPropertyTypeEnum, + }), + MyColumns.EnumTag({ + title: '状态', + dataIndex: 'status', + valueEnum: AssetCarPortsStatusEnum, + }), + ]} + /> + } + /> + ); +} diff --git a/src/pages/charge/standard/modals/ChargeStandardUpdate.tsx b/src/pages/charge/standard/modals/ChargeStandardUpdate.tsx index 109a644..2ea2ad7 100644 --- a/src/pages/charge/standard/modals/ChargeStandardUpdate.tsx +++ b/src/pages/charge/standard/modals/ChargeStandardUpdate.tsx @@ -14,7 +14,6 @@ import { HouseChargeStandardsCalculationModeEnum, HouseChargeStandardsCalculationPeriodEnum, HouseChargeStandardsPriceAlgorithmEnum, - HouseChargeStandardsTypeEnum, } from '@/gen/Enums'; import { BetaSchemaForm } from '@ant-design/pro-components'; import { Form, message } from 'antd'; @@ -51,11 +50,7 @@ export default function Update(props: MyBetaModalFormProps) { ...values, charge_type: props?.item?.charge_type, asset_projects_id: props?.item?.asset_projects_id, - type: - values.charge_type === HouseBillsTypeEnum.PropertyFee.value || - values.charge_type === HouseBillsTypeEnum.MaintenanceFund.value - ? HouseChargeStandardsTypeEnum.House.value - : HouseChargeStandardsTypeEnum.Meter.value, + type: props?.item?.type, is_apportionment: values.charge_type === HouseBillsTypeEnum.SharedWaterFee.value || values.charge_type === HouseBillsTypeEnum.SharedElectricityFee.value diff --git a/src/pages/charge/standard/pages/CreateCarPortFee.tsx b/src/pages/charge/standard/pages/CreateCarPortFee.tsx new file mode 100644 index 0000000..d65bf92 --- /dev/null +++ b/src/pages/charge/standard/pages/CreateCarPortFee.tsx @@ -0,0 +1,522 @@ +import { + MyBetaModalFormProps, + MyButtons, + MyFormItems, + MyModalFormProps, + rulesHelper, +} from '@/common'; +import { Selects } from '@/components/Select'; +import { Apis } from '@/gen/Apis'; +import { + HouseBillsTypeEnum, + HouseChargeStandardsCalculationMethodEnum, + HouseChargeStandardsCalculationModeEnum, + HouseChargeStandardsCalculationPeriodEnum, + HouseChargeStandardsPriceAlgorithmEnum, +} from '@/gen/Enums'; +import { BetaSchemaForm } from '@ant-design/pro-components'; +import { Form, message } from 'antd'; +import { useRef } from 'react'; + +export default function CreatePropertyFee(props: MyBetaModalFormProps) { + const [form] = Form.useForm(); + const actionRef = useRef(); + + return ( + + {...MyModalFormProps.props} + form={form} + title={`新增车位管理费标准`} + // wrapperCol={{ span: 24 }} + // 基础表单 + layout="horizontal" + labelCol={{ span: 5 }} + wrapperCol={{ span: 19 }} + labelAlign="left" + width="680px" + trigger={} + key={new Date().getTime()} + onOpenChange={(open: any) => { + if (open) { + form.resetFields(); // 清空表单数据 + } + }} + onFinish={async (values: any) => + Apis.HouseCharge.HouseChargeStandards.Store({ + ...values, + charge_type: HouseBillsTypeEnum.CarPortFee.value, + type: 'House', + is_apportionment: + values.charge_type === HouseBillsTypeEnum.SharedWaterFee.value || + values.charge_type === HouseBillsTypeEnum.SharedElectricityFee.value + ? 1 + : 0, + // 按套 + calculation_mode: + values?.calculation_method === + HouseChargeStandardsCalculationMethodEnum.PerUnit.value + ? HouseChargeStandardsCalculationModeEnum.FixedAmount.value + : values?.calculation_mode, + // 按固定金额 + price_algorithm: + values?.calculation_mode === + HouseChargeStandardsCalculationModeEnum.FixedAmount.value || + values?.calculation_method === + HouseChargeStandardsCalculationMethodEnum.PerUnit.value + ? HouseChargeStandardsPriceAlgorithmEnum.Fixed.value + : values?.price_algorithm, + tiered_rates: values.tiered_rates?.map((res: any) => { + return { + ...res, + }; + }), + // 避免计费模式切换导致的价格异常 + price: + values?.price_algorithm === + HouseChargeStandardsPriceAlgorithmEnum.Fixed.value || + values?.calculation_mode === + HouseChargeStandardsCalculationModeEnum.FixedAmount.value + ? values.price + : 0, + late_fee_rate: values.has_late_fee || '', + late_fee_start_days: values.has_late_fee || '', + late_fee_cap_days: values.has_late_fee || '', + }) + .then(() => { + props.reload?.(); + message.success('车位管理费标准创建成功'); + return true; + }) + .catch(() => false) + } + columns={[ + Selects?.AssetProjects({ + key: 'asset_projects_id', + title: '选择项目', + colProps: { span: 24 }, + required: true, + fieldProps: { + onChange: () => { + // 切换计量单位时清空计费模式 + form.setFieldValue('company_receipt_accounts_id', undefined); + }, + }, + }), + { + key: 'name', + title: '收费标准名称', + colProps: { span: 24 }, + formItemProps: { ...rulesHelper.text }, + }, + { + valueType: 'dependency', + name: ['asset_projects_id'], + columns: ({ asset_projects_id }) => { + return [ + Selects?.ProjectAccounts({ + title: '项目收款账户', + key: 'company_receipt_accounts_id', + params: { + asset_projects_id: asset_projects_id, + }, + colProps: { span: 24 }, + formItemProps: { ...rulesHelper.text }, + }), + ]; + }, + }, + MyFormItems.EnumRadio({ + key: 'calculation_method', + title: '计量单位', + colProps: { span: 24 }, + valueEnum: () => { + let obj: any = JSON.parse( + JSON.stringify(HouseChargeStandardsCalculationMethodEnum), + ); + delete obj.ElectricityUsage; + delete obj.WaterUsage; + return obj; + }, + required: true, + fieldProps: { + buttonStyle: 'solid', + onChange: () => { + // 切换计量单位时清空计费模式 + form.setFieldValue('calculation_mode', undefined); + form.setFieldValue('price', undefined); + form.setFieldValue('price_algorithm', undefined); + }, + }, + }), + + { + name: ['calculation_method'], + valueType: 'dependency', + columns: ({ calculation_method }: any) => { + return calculation_method === + HouseChargeStandardsCalculationMethodEnum.PerUnit.value + ? [ + { + key: 'price', + title: '固定单价', + colProps: { span: 24 }, + fieldProps: { + addonAfter: '元', + }, + formItemProps: { ...rulesHelper.number }, + }, + ] + : !calculation_method && + calculation_method !== + HouseChargeStandardsCalculationMethodEnum.PerUnit.value + ? [] + : [ + MyFormItems.EnumRadio({ + key: 'calculation_mode', + title: '计费模式', + colProps: { span: 24 }, + // valueEnum: HouseChargeStandardsCalculationModeEnum, + valueEnum: () => { + let obj: any = JSON.parse( + JSON.stringify(HouseChargeStandardsCalculationModeEnum), + ); + delete obj.FixedAmount; + return obj; + }, + required: true, + }), + ]; + }, + }, + + { + name: ['calculation_mode'], + valueType: 'dependency', + columns: ({ calculation_mode }: any) => { + return calculation_mode === + HouseChargeStandardsCalculationModeEnum.FixedAmount.value + ? [ + { + key: 'price', + title: '固定单价', + colProps: { span: 24 }, + fieldProps: { + addonAfter: '元', + }, + formItemProps: { ...rulesHelper.number }, + }, + ] + : calculation_mode === + HouseChargeStandardsCalculationModeEnum.QuantityPrice.value + ? [ + MyFormItems.EnumRadio({ + key: 'price_algorithm', + title: '计费算法', + colProps: { span: 24 }, + valueEnum: HouseChargeStandardsPriceAlgorithmEnum, + required: true, + fieldProps: { + buttonStyle: 'solid', + onChange: () => { + // 切换计费算法时清空阶梯配置 + form.setFieldValue('price', undefined); + form.setFieldValue('tiered_rates', undefined); + }, + }, + }), + { + name: ['price_algorithm'], + valueType: 'dependency', + columns: ({ price_algorithm }: any) => { + return price_algorithm === + HouseChargeStandardsPriceAlgorithmEnum.Fixed.value + ? [ + { + key: 'price', + title: '固定单价', + valueType: 'digit', + colProps: { span: 24 }, + fieldProps: { + addonAfter: '元', + max: 99, + }, + formItemProps: { ...rulesHelper.number }, + }, + ] + : price_algorithm === + HouseChargeStandardsPriceAlgorithmEnum.Tiered.value + ? [ + { + valueType: 'formList', + dataIndex: 'tiered_rates', + title: '阶梯标准', + formItemProps: { ...rulesHelper.array }, + initialValue: [ + { + min_quantity: 0, + max_quantity: null, + price: null, + }, + ], + fieldProps: { + actionRef: actionRef, + copyIconProps: false, + // deleteIconProps: false, + }, + columns: [ + { + valueType: 'group', + colProps: { span: 24 }, + columns: [ + { + key: 'min_quantity', + colProps: { span: 9 }, + // title: '起始值', + valueType: 'digit', + fieldProps: { + min: 0, + addonBefore: '阶梯范围', + placeholder: '起始值', + }, + width: '100%', + formItemProps: { + ...rulesHelper.number, + }, + }, + { + key: 'max_quantity', + colProps: { span: 5 }, + // title: '结束值', + valueType: 'digit', + width: '100%', + formItemProps: { + ...rulesHelper.number, + }, + fieldProps: { + min: 0, + max: 999, + placeholder: '结束值', + }, + }, + { + key: 'price', + colProps: { span: 10 }, + // title: '阶梯单价', + valueType: 'digit', + fieldProps: { + addonBefore: '阶梯单价', + addonAfter: '元', + min: 0, + max: 999, + }, + formItemProps: { + ...rulesHelper.number, + }, + }, + ], + }, + ], + }, + ] + : price_algorithm === + HouseChargeStandardsPriceAlgorithmEnum.Peak.value + ? [ + { + valueType: 'formList', + dataIndex: 'tiered_rates', + title: '阶梯标准', + formItemProps: { ...rulesHelper.array }, + initialValue: [ + { + min_quantity: 0, + max_quantity: null, + price: null, + }, + ], + fieldProps: { + actionRef: actionRef, + copyIconProps: false, + // deleteIconProps: false, + }, + columns: [ + { + valueType: 'group', + colProps: { span: 24 }, + columns: [ + { + key: 'min_quantity', + colProps: { span: 9 }, + // title: '起始值', + valueType: 'digit', + fieldProps: { + min: 0, + addonBefore: '阶梯范围', + placeholder: '起始值', + }, + width: '100%', + formItemProps: { + ...rulesHelper.number, + }, + }, + { + key: 'max_quantity', + colProps: { span: 5 }, + // title: '结束值', + valueType: 'digit', + width: '100%', + formItemProps: { + ...rulesHelper.number, + }, + fieldProps: { + min: 0, + max: 999, + placeholder: '结束值', + }, + }, + { + key: 'price', + colProps: { span: 10 }, + // title: '阶梯单价', + valueType: 'digit', + fieldProps: { + addonBefore: '阶梯单价', + addonAfter: '元', + min: 0, + max: 999, + }, + formItemProps: { + ...rulesHelper.number, + }, + }, + ], + }, + ], + }, + ] + : []; + }, + }, + ] + : []; + }, + }, + { + name: ['price', 'price_algorithm'], + valueType: 'dependency', + columns: ({ price, price_algorithm }: any) => { + return price || + price_algorithm === + HouseChargeStandardsPriceAlgorithmEnum.Tiered.value || + price_algorithm === + HouseChargeStandardsPriceAlgorithmEnum.Peak.value + ? [ + { + valueType: 'group', + columns: [ + MyFormItems.EnumRadio({ + key: 'calculation_period', + title: '计费周期', + colProps: { span: 24 }, + valueEnum: HouseChargeStandardsCalculationPeriodEnum, + required: true, + }), + { + key: 'auto_date', + title: '生成日期', + colProps: { span: 24 }, + tooltip: '系统将按该设置日期自动生成第一期的账单', + valueType: 'date', + width: '100%', + formItemProps: { ...rulesHelper.text }, + }, + { + key: 'has_late_fee', + title: '启用滞纳金', + colProps: { span: 24 }, + valueType: 'switch', + width: '100%', + fieldProps: { + onChange: () => { + // 切换计费算法时清空阶梯配置 + form.setFieldValue( + 'late_fee_start_days', + undefined, + ); + form.setFieldValue('late_fee_rate', undefined); + form.setFieldValue('late_fee_cap_days', undefined); + }, + }, + }, + { + name: ['has_late_fee'], + valueType: 'dependency', + columns: ({ has_late_fee }: any) => { + return has_late_fee + ? [ + { + key: 'late_fee_start_days', + title: '滞纳起算', + colProps: { span: 24 }, + formItemProps: { + ...rulesHelper.number, + }, + fieldProps: { + mix: 1, + addonBefore: '生成账单后', + addonAfter: '天', + placeholder: + '请输入按账单生成后多少天后开始收取', + }, + }, + { + key: 'late_fee_rate', + title: '滞纳金费率', + valueType: 'digit', + colProps: { span: 24 }, + formItemProps: { + ...rulesHelper.number, + }, + fieldProps: { + addonBefore: '每日', + addonAfter: '%', + max: 100, + }, + }, + { + key: 'late_fee_cap_days', + title: '滞纳金封顶', + colProps: { span: 24 }, + formItemProps: { + ...rulesHelper.number, + }, + fieldProps: { + mix: 1, + placeholder: '请输入封顶天数', + addonAfter: '天', + }, + }, + ] + : []; + }, + }, + { + key: 'remark', + title: '备注', + colProps: { span: 24 }, + valueType: 'textarea', + fieldProps: { + // rows: 2, + maxLength: 100, + showCount: true, + }, + }, + ], + }, + ] + : []; + }, + }, + ]} + /> + ); +} diff --git a/src/pages/charge/standard/pages/CreateElectricityFee.tsx b/src/pages/charge/standard/pages/CreateElectricityFee.tsx index 84870d0..f4b7791 100644 --- a/src/pages/charge/standard/pages/CreateElectricityFee.tsx +++ b/src/pages/charge/standard/pages/CreateElectricityFee.tsx @@ -13,7 +13,6 @@ import { HouseChargeStandardsCalculationModeEnum, HouseChargeStandardsCalculationPeriodEnum, HouseChargeStandardsPriceAlgorithmEnum, - HouseChargeStandardsTypeEnum, } from '@/gen/Enums'; import { BetaSchemaForm } from '@ant-design/pro-components'; import { Form, message } from 'antd'; @@ -46,11 +45,7 @@ export default function CreateWaterFee(props: MyBetaModalFormProps) { Apis.HouseCharge.HouseChargeStandards.Store({ ...values, charge_type: HouseBillsTypeEnum.ElectricityFee.value, - type: - values.charge_type === HouseBillsTypeEnum.PropertyFee.value || - values.charge_type === HouseBillsTypeEnum.MaintenanceFund.value - ? HouseChargeStandardsTypeEnum.House.value - : HouseChargeStandardsTypeEnum.Meter.value, + type: 'Meter', is_apportionment: values.charge_type === HouseBillsTypeEnum.SharedWaterFee.value || values.charge_type === HouseBillsTypeEnum.SharedElectricityFee.value diff --git a/src/pages/charge/standard/pages/CreateMaintenanceFund.tsx b/src/pages/charge/standard/pages/CreateMaintenanceFund.tsx index e514faf..7b6959e 100644 --- a/src/pages/charge/standard/pages/CreateMaintenanceFund.tsx +++ b/src/pages/charge/standard/pages/CreateMaintenanceFund.tsx @@ -13,7 +13,6 @@ import { HouseChargeStandardsCalculationModeEnum, HouseChargeStandardsCalculationPeriodEnum, HouseChargeStandardsPriceAlgorithmEnum, - HouseChargeStandardsTypeEnum, } from '@/gen/Enums'; import { BetaSchemaForm } from '@ant-design/pro-components'; import { Form, message } from 'antd'; @@ -46,11 +45,7 @@ export default function CreateMaintenanceFund(props: MyBetaModalFormProps) { Apis.HouseCharge.HouseChargeStandards.Store({ ...values, charge_type: HouseBillsTypeEnum.MaintenanceFund.value, - type: - values.charge_type === HouseBillsTypeEnum.PropertyFee.value || - values.charge_type === HouseBillsTypeEnum.MaintenanceFund.value - ? HouseChargeStandardsTypeEnum.House.value - : HouseChargeStandardsTypeEnum.Meter.value, + type: 'House', is_apportionment: values.charge_type === HouseBillsTypeEnum.SharedWaterFee.value || values.charge_type === HouseBillsTypeEnum.SharedElectricityFee.value diff --git a/src/pages/charge/standard/pages/CreatePropertyfee.tsx b/src/pages/charge/standard/pages/CreatePropertyfee.tsx index 93edc7b..8af9dd4 100644 --- a/src/pages/charge/standard/pages/CreatePropertyfee.tsx +++ b/src/pages/charge/standard/pages/CreatePropertyfee.tsx @@ -13,7 +13,6 @@ import { HouseChargeStandardsCalculationModeEnum, HouseChargeStandardsCalculationPeriodEnum, HouseChargeStandardsPriceAlgorithmEnum, - HouseChargeStandardsTypeEnum, } from '@/gen/Enums'; import { BetaSchemaForm } from '@ant-design/pro-components'; import { Form, message } from 'antd'; @@ -46,11 +45,7 @@ export default function CreatePropertyFee(props: MyBetaModalFormProps) { Apis.HouseCharge.HouseChargeStandards.Store({ ...values, charge_type: HouseBillsTypeEnum.PropertyFee.value, - type: - values.charge_type === HouseBillsTypeEnum.PropertyFee.value || - values.charge_type === HouseBillsTypeEnum.MaintenanceFund.value - ? HouseChargeStandardsTypeEnum.House.value - : HouseChargeStandardsTypeEnum.Meter.value, + type: 'House', is_apportionment: values.charge_type === HouseBillsTypeEnum.SharedWaterFee.value || values.charge_type === HouseBillsTypeEnum.SharedElectricityFee.value diff --git a/src/pages/charge/standard/pages/CreateSharedElectricityFee.tsx b/src/pages/charge/standard/pages/CreateSharedElectricityFee.tsx index dc55db6..8f2e03e 100644 --- a/src/pages/charge/standard/pages/CreateSharedElectricityFee.tsx +++ b/src/pages/charge/standard/pages/CreateSharedElectricityFee.tsx @@ -14,7 +14,6 @@ import { HouseChargeStandardsCalculationModeEnum, HouseChargeStandardsCalculationPeriodEnum, HouseChargeStandardsPriceAlgorithmEnum, - HouseChargeStandardsTypeEnum, } from '@/gen/Enums'; import { BetaSchemaForm } from '@ant-design/pro-components'; import { Form, message } from 'antd'; @@ -47,11 +46,7 @@ export default function CreateWaterFee(props: MyBetaModalFormProps) { Apis.HouseCharge.HouseChargeStandards.Store({ ...values, charge_type: HouseBillsTypeEnum.SharedElectricityFee.value, - type: - values.charge_type === HouseBillsTypeEnum.PropertyFee.value || - values.charge_type === HouseBillsTypeEnum.MaintenanceFund.value - ? HouseChargeStandardsTypeEnum.House.value - : HouseChargeStandardsTypeEnum.Meter.value, + type: 'Meter', is_apportionment: values.charge_type === HouseBillsTypeEnum.SharedWaterFee.value || values.charge_type === HouseBillsTypeEnum.SharedElectricityFee.value diff --git a/src/pages/charge/standard/pages/CreateSharedWaterFee.tsx b/src/pages/charge/standard/pages/CreateSharedWaterFee.tsx index 293382f..40427ce 100644 --- a/src/pages/charge/standard/pages/CreateSharedWaterFee.tsx +++ b/src/pages/charge/standard/pages/CreateSharedWaterFee.tsx @@ -14,7 +14,6 @@ import { HouseChargeStandardsCalculationModeEnum, HouseChargeStandardsCalculationPeriodEnum, HouseChargeStandardsPriceAlgorithmEnum, - HouseChargeStandardsTypeEnum, } from '@/gen/Enums'; import { BetaSchemaForm } from '@ant-design/pro-components'; import { Form, message } from 'antd'; @@ -47,11 +46,7 @@ export default function CreateSharedWaterFee(props: MyBetaModalFormProps) { Apis.HouseCharge.HouseChargeStandards.Store({ ...values, charge_type: HouseBillsTypeEnum.SharedWaterFee.value, - type: - values.charge_type === HouseBillsTypeEnum.PropertyFee.value || - values.charge_type === HouseBillsTypeEnum.MaintenanceFund.value - ? HouseChargeStandardsTypeEnum.House.value - : HouseChargeStandardsTypeEnum.Meter.value, + type: 'Meter', is_apportionment: values.charge_type === HouseBillsTypeEnum.SharedWaterFee.value || values.charge_type === HouseBillsTypeEnum.SharedElectricityFee.value diff --git a/src/pages/charge/standard/pages/CreateWaterFee.tsx b/src/pages/charge/standard/pages/CreateWaterFee.tsx index dbe790b..9046f39 100644 --- a/src/pages/charge/standard/pages/CreateWaterFee.tsx +++ b/src/pages/charge/standard/pages/CreateWaterFee.tsx @@ -13,7 +13,6 @@ import { HouseChargeStandardsCalculationModeEnum, HouseChargeStandardsCalculationPeriodEnum, HouseChargeStandardsPriceAlgorithmEnum, - HouseChargeStandardsTypeEnum, } from '@/gen/Enums'; import { BetaSchemaForm } from '@ant-design/pro-components'; import { Form, message } from 'antd'; @@ -46,11 +45,7 @@ export default function CreateWaterFee(props: MyBetaModalFormProps) { Apis.HouseCharge.HouseChargeStandards.Store({ ...values, charge_type: HouseBillsTypeEnum.WaterFee.value, - type: - values.charge_type === HouseBillsTypeEnum.PropertyFee.value || - values.charge_type === HouseBillsTypeEnum.MaintenanceFund.value - ? HouseChargeStandardsTypeEnum.House.value - : HouseChargeStandardsTypeEnum.Meter.value, + type: 'Meter', is_apportionment: values.charge_type === HouseBillsTypeEnum.SharedWaterFee.value || values.charge_type === HouseBillsTypeEnum.SharedElectricityFee.value diff --git a/src/pages/charge/standard/show/$id.tsx b/src/pages/charge/standard/show/$id.tsx index 4a79134..5319956 100644 --- a/src/pages/charge/standard/show/$id.tsx +++ b/src/pages/charge/standard/show/$id.tsx @@ -6,6 +6,7 @@ import { useParams, useSearchParams } from '@umijs/max'; import { Tabs } from 'antd'; import { useEffect, useState } from 'react'; import ChargeInfo from '../components/ChargeInfo'; +import HasCar from '../components/HasCar'; import HasHouse from '../components/HasHouse'; import Instrument from '../components/Instrument'; @@ -56,6 +57,22 @@ export default function Show({ title = '详情' }: { title?: string } = {}) { }, ]); } + + if (pageType === 'Car') { + setItem([ + { + label: '关联车位', + key: '3', + closable: false, + children: ( + loadShow()} + /> + ), + }, + ]); + } }); }; diff --git a/src/pages/charge/tasks/modals/TaskCreate.tsx b/src/pages/charge/tasks/modals/TaskCreate.tsx index a4627a0..baa44b9 100644 --- a/src/pages/charge/tasks/modals/TaskCreate.tsx +++ b/src/pages/charge/tasks/modals/TaskCreate.tsx @@ -20,7 +20,7 @@ export default function Create(props: MyBetaModalFormProps) { labelCol={{ span: 8 }} wrapperCol={{ span: 16 }} labelAlign="left" - trigger={} + trigger={} key={new Date().getTime()} form={form} onOpenChange={(open: any) => { @@ -61,7 +61,7 @@ export default function Create(props: MyBetaModalFormProps) { key: 'house_charge_standards_id', params: { asset_projects_id: asset_projects_id, - charge_type: ['PropertyFee', 'MaintenanceFund'], + charge_type: ['PropertyFee', 'MaintenanceFund', 'CarPortFee'], }, colProps: { span: 24 }, formItemProps: { ...rulesHelper.text }, diff --git a/src/pages/meter/common_meter/index.tsx b/src/pages/meter/common_meter/index.tsx index 5e6fd48..7664fa4 100644 --- a/src/pages/meter/common_meter/index.tsx +++ b/src/pages/meter/common_meter/index.tsx @@ -21,7 +21,6 @@ import { useState } from 'react'; import ChargingStandard from './modals/ChargingStandard'; import Create from './modals/Create'; import MeterHasHouse from './modals/MeterHasHouse'; -import MeterHasOne from './modals/MeterHasOne'; import Update from './modals/Update'; export default function CommonMeter({ title = '公摊表' }) { @@ -69,7 +68,7 @@ export default function CommonMeter({ title = '公摊表' }) { { - navigate(`/instrument/readings/show/${item.id}`); + navigate(`/meter/readings/show/${item.id}`); }} /> ), @@ -80,23 +79,11 @@ export default function CommonMeter({ title = '公摊表' }) { has: { key: '1', label: ( - <> - {item.meter_type === HouseMetersMeterTypeEnum.HouseMeter.value && - !item.house_meter_has_houses_count && ( - - )} - {item.meter_type === HouseMetersMeterTypeEnum.CommonMeter.value && ( - - )} - + ), }, delete: { @@ -178,7 +165,7 @@ export default function CommonMeter({ title = '公摊表' }) { }, }, { - title: '关联房屋数', + title: '绑定房屋', dataIndex: 'house_meter_has_houses_count', search: false, }, @@ -218,14 +205,14 @@ export default function CommonMeter({ title = '公摊表' }) { // dataIndex: 'remark', // search: false, // }, - MyColumns.SoftDelete({ - onRestore: Apis.Meter.HouseMeters.Restore, - onSoftDelete: Apis.Meter.HouseMeters.SoftDelete, - search: false, - setPermissions: getCurrentPermissions({ - enableDisable: true, - }), - }), + // MyColumns.SoftDelete({ + // onRestore: Apis.Meter.HouseMeters.Restore, + // onSoftDelete: Apis.Meter.HouseMeters.SoftDelete, + // search: false, + // setPermissions: getCurrentPermissions({ + // enableDisable: true, + // }), + // }), // MyColumns.CreatedAt(), MyColumns.Option({ render: (_, item: any, index, action) => ( diff --git a/src/pages/meter/common_meter/modals/ChargingStandard.tsx b/src/pages/meter/common_meter/modals/ChargingStandard.tsx index 8d19569..bd9b92c 100644 --- a/src/pages/meter/common_meter/modals/ChargingStandard.tsx +++ b/src/pages/meter/common_meter/modals/ChargingStandard.tsx @@ -20,7 +20,7 @@ export default function Index(props: MyBetaModalFormProps) { type="link" width="1000px" onOpen={() => { - Apis.HouseCharage.HouseChargeStandards.Show({ + Apis.HouseCharge.HouseChargeStandards.Show({ id: props.item?.charge_standards_id ?? 0, }).then((res) => { setData(res?.data || {}); diff --git a/src/pages/meter/house_meter/index.tsx b/src/pages/meter/house_meter/index.tsx index 0f9cd47..2a743fb 100644 --- a/src/pages/meter/house_meter/index.tsx +++ b/src/pages/meter/house_meter/index.tsx @@ -20,7 +20,6 @@ import dayjs from 'dayjs'; import { useState } from 'react'; import ChargingStandard from './modals/ChargingStandard'; import Create from './modals/Create'; -import MeterHasHouse from './modals/MeterHasHouse'; import MeterHasOne from './modals/MeterHasOne'; import Update from './modals/Update'; @@ -69,7 +68,7 @@ export default function HouseMeter({ title = '房屋表' }) { { - navigate(`/instrument/readings/show/${item.id}`); + navigate(`/meter/readings/show/${item.id}`); }} /> ), @@ -80,23 +79,11 @@ export default function HouseMeter({ title = '房屋表' }) { has: { key: '1', label: ( - <> - {item.meter_type === HouseMetersMeterTypeEnum.HouseMeter.value && - !item.house_meter_has_houses_count && ( - - )} - {item.meter_type === HouseMetersMeterTypeEnum.CommonMeter.value && ( - - )} - + ), }, delete: { @@ -178,7 +165,7 @@ export default function HouseMeter({ title = '房屋表' }) { }, }, { - title: '关联房屋数', + title: '绑定房屋', dataIndex: 'house_meter_has_houses_count', search: false, }, diff --git a/src/pages/meter/house_meter/modals/ChargingStandard.tsx b/src/pages/meter/house_meter/modals/ChargingStandard.tsx index 8d19569..bd9b92c 100644 --- a/src/pages/meter/house_meter/modals/ChargingStandard.tsx +++ b/src/pages/meter/house_meter/modals/ChargingStandard.tsx @@ -20,7 +20,7 @@ export default function Index(props: MyBetaModalFormProps) { type="link" width="1000px" onOpen={() => { - Apis.HouseCharage.HouseChargeStandards.Show({ + Apis.HouseCharge.HouseChargeStandards.Show({ id: props.item?.charge_standards_id ?? 0, }).then((res) => { setData(res?.data || {}); diff --git a/src/pages/meter/readings/table/HasHouse.tsx b/src/pages/meter/readings/table/HasHouse.tsx index 459c309..0bb9ac4 100644 --- a/src/pages/meter/readings/table/HasHouse.tsx +++ b/src/pages/meter/readings/table/HasHouse.tsx @@ -9,8 +9,6 @@ import { HouseMetersMeterTypeEnum } from '@/gen/Enums'; import { ProTable } from '@ant-design/pro-components'; import { useNavigate } from '@umijs/max'; import { Space } from 'antd'; -import MeterHasHouse from '../../instrument_list/modals/MeterHasHouse'; -import MeterHasOne from '../../instrument_list/modals/MeterHasOne'; export default function Index(props: MyBetaModalFormProps) { const navigate = useNavigate();