feat:便民服务
All checks were successful
Build and Push Docker Image / build (push) Successful in 3m4s

This commit is contained in:
uiuJun 2025-09-02 18:42:14 +08:00
parent 14004b9022
commit bca4eff39b
10 changed files with 736 additions and 463 deletions

22
src/gen/ApiTypes.d.ts vendored
View File

@ -503,6 +503,28 @@ declare namespace ApiTypes {
"filename": string; // 文件名称 "filename": string; // 文件名称
}; };
} }
namespace ConvenienceServices {
type List = {
"name"?: string; // 模糊搜索:名称
};
type Store = {
"type": string; // 类型,[enum:ConvenienceServicesTypeEnum]
"name": string; // 名称
"content": string[]; // 内容
};
type Update = {
"id": number; // id
"type": string; // 类型,[enum:ConvenienceServicesTypeEnum]
"name": string; // 名称
"content": string[]; // 内容
};
type Show = {
"id": number; // id
};
type Delete = {
"id": number; // id
};
}
} }
namespace Company { namespace Company {
namespace Companies { namespace Companies {

View File

@ -300,6 +300,23 @@ export const Apis = {
return request('admin/common/auth/temporary_url', { data }); return request('admin/common/auth/temporary_url', { data });
}, },
}, },
ConvenienceServices: {
List(data?: ApiTypes.Common.ConvenienceServices.List): Promise<MyResponseType> {
return request('admin/common/convenience_services/list', { data });
},
Store(data: ApiTypes.Common.ConvenienceServices.Store): Promise<MyResponseType> {
return request('admin/common/convenience_services/store', { data });
},
Update(data: ApiTypes.Common.ConvenienceServices.Update): Promise<MyResponseType> {
return request('admin/common/convenience_services/update', { data });
},
Show(data: ApiTypes.Common.ConvenienceServices.Show): Promise<MyResponseType> {
return request('admin/common/convenience_services/show', { data });
},
Delete(data: ApiTypes.Common.ConvenienceServices.Delete): Promise<MyResponseType> {
return request('admin/common/convenience_services/delete', { data });
},
},
}, },
Company: { Company: {
Companies: { Companies: {

View File

@ -1,616 +1,481 @@
// AssetHousesOrientationEnum // AssetHousesOrientationEnum
export const AssetHousesOrientationEnum = { export const AssetHousesOrientationEnum= {
East: { text: '东', color: '#007bff', value: 'East' }, 'East': {"text":"东","color":"#007bff","value":"East"},
South: { text: '南', color: '#28a745', value: 'South' }, 'South': {"text":"南","color":"#28a745","value":"South"},
West: { text: '西', color: '#ffc107', value: 'West' }, 'West': {"text":"西","color":"#ffc107","value":"West"},
North: { text: '北', color: '#dc3545', value: 'North' }, 'North': {"text":"北","color":"#dc3545","value":"North"},
Southeast: { text: '东南', color: '#20c997', value: 'Southeast' }, 'Southeast': {"text":"东南","color":"#20c997","value":"Southeast"},
Northeast: { text: '东北', color: '#6f42c1', value: 'Northeast' }, 'Northeast': {"text":"东北","color":"#6f42c1","value":"Northeast"},
Southwest: { text: '西南', color: '#fd7e14', value: 'Southwest' }, 'Southwest': {"text":"西南","color":"#fd7e14","value":"Southwest"},
Northwest: { text: '西北', color: '#17a2b8', value: 'Northwest' }, 'Northwest': {"text":"西北","color":"#17a2b8","value":"Northwest"},
EastWest: { text: '东西', color: '#6610f2', value: 'EastWest' }, 'EastWest': {"text":"东西","color":"#6610f2","value":"EastWest"},
SouthNorth: { text: '南北', color: '#e83e8c', value: 'SouthNorth' }, 'SouthNorth': {"text":"南北","color":"#e83e8c","value":"SouthNorth"},
}; };
// AssetHousesOwnershipTypeEnum // AssetHousesOwnershipTypeEnum
export const AssetHousesOwnershipTypeEnum = { export const AssetHousesOwnershipTypeEnum= {
CommodityHousing: { 'CommodityHousing': {"text":"商品房","color":"#007bff","value":"CommodityHousing"},
text: '商品房', 'FundedHousing': {"text":"集资房","color":"#28a745","value":"FundedHousing"},
color: '#007bff', 'MilitaryHousing': {"text":"军产房","color":"#17a2b8","value":"MilitaryHousing"},
value: 'CommodityHousing', 'AffordableHousing': {"text":"保障房","color":"#ffc107","value":"AffordableHousing"},
}, 'RuralHousing': {"text":"农民房","color":"#6f42c1","value":"RuralHousing"},
FundedHousing: { text: '集资房', color: '#28a745', value: 'FundedHousing' }, 'CommercialOffice': {"text":"商业写字楼","color":"#fd7e14","value":"CommercialOffice"},
MilitaryHousing: { 'CommercialComplex': {"text":"商业综合体","color":"#dc3545","value":"CommercialComplex"},
text: '军产房', 'ResettlementHousing': {"text":"回迁房","color":"#20c997","value":"ResettlementHousing"},
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 // AssetHousesPropertyOwnershipEnum
export const AssetHousesPropertyOwnershipEnum = { export const AssetHousesPropertyOwnershipEnum= {
Individual: { text: '个人', color: '#2db7f5', value: 'Individual' }, 'Individual': {"text":"个人","color":"#2db7f5","value":"Individual"},
Enterprise: { text: '企业', color: '#87d068', value: 'Enterprise' }, 'Enterprise': {"text":"企业","color":"#87d068","value":"Enterprise"},
Developer: { text: '开发商', color: '#fa8c16', value: 'Developer' }, 'Developer': {"text":"开发商","color":"#fa8c16","value":"Developer"},
Government: { text: '政府', color: '#f5222d', value: 'Government' }, 'Government': {"text":"政府","color":"#f5222d","value":"Government"},
}; };
// AssetHousesStatusEnum // AssetHousesStatusEnum
export const AssetHousesStatusEnum = { export const AssetHousesStatusEnum= {
Unsold: { text: '未售', color: '#6c757d', value: 'Unsold' }, 'Unsold': {"text":"未售","color":"#6c757d","value":"Unsold"},
SoldNotDelivered: { 'SoldNotDelivered': {"text":"已售未交房","color":"#ffc107","value":"SoldNotDelivered"},
text: '已售未交房', 'SelfOccupied': {"text":"自住","color":"#28a745","value":"SelfOccupied"},
color: '#ffc107', 'Rented': {"text":"出租","color":"#007bff","value":"Rented"},
value: 'SoldNotDelivered', 'Vacant': {"text":"空置","color":"#dc3545","value":"Vacant"},
},
SelfOccupied: { text: '自住', color: '#28a745', value: 'SelfOccupied' },
Rented: { text: '出租', color: '#007bff', value: 'Rented' },
Vacant: { text: '空置', color: '#dc3545', value: 'Vacant' },
}; };
// AssetHousesUsageEnum // AssetHousesUsageEnum
export const AssetHousesUsageEnum = { export const AssetHousesUsageEnum= {
Residence: { text: '住宅', color: '#007bff', value: 'Residence' }, 'Residence': {"text":"住宅","color":"#007bff","value":"Residence"},
Apartment: { text: '公寓', color: '#28a745', value: 'Apartment' }, 'Apartment': {"text":"公寓","color":"#28a745","value":"Apartment"},
Villa: { text: '别墅', color: '#17a2b8', value: 'Villa' }, 'Villa': {"text":"别墅","color":"#17a2b8","value":"Villa"},
Shop: { text: '商铺', color: '#ffc107', value: 'Shop' }, 'Shop': {"text":"商铺","color":"#ffc107","value":"Shop"},
ParkingSpace: { text: '车位', color: '#6c757d', value: 'ParkingSpace' }, 'ParkingSpace': {"text":"车位","color":"#6c757d","value":"ParkingSpace"},
Office: { text: '写字楼', color: '#6610f2', value: 'Office' }, 'Office': {"text":"写字楼","color":"#6610f2","value":"Office"},
Clubhouse: { text: '会所', color: '#fd7e14', value: 'Clubhouse' }, 'Clubhouse': {"text":"会所","color":"#fd7e14","value":"Clubhouse"},
PropertyRoom: { text: '物业用房', color: '#dc3545', value: 'PropertyRoom' }, 'PropertyRoom': {"text":"物业用房","color":"#dc3545","value":"PropertyRoom"},
}; };
// AssetProjectsChargeEnum // AssetProjectsChargeEnum
export const AssetProjectsChargeEnum = { export const AssetProjectsChargeEnum= {
Contract: { text: '包干制', color: '#007bff', value: 'Contract' }, 'Contract': {"text":"包干制","color":"#007bff","value":"Contract"},
Commission: { text: '酬金制', color: '#28a745', value: 'Commission' }, 'Commission': {"text":"酬金制","color":"#28a745","value":"Commission"},
}; };
// AssetProjectsEntrustTypeEnum // AssetProjectsEntrustTypeEnum
export const AssetProjectsEntrustTypeEnum = { export const AssetProjectsEntrustTypeEnum= {
DeveloperJointEntrust: { 'DeveloperJointEntrust': {"text":"开发商全委","color":"#007bff","value":"DeveloperJointEntrust"},
text: '开发商全委', 'OwnersFullEntrust': {"text":"业委会全委","color":"#28a745","value":"OwnersFullEntrust"},
color: '#007bff', 'GovernmentFullEntrust': {"text":"政府类全委","color":"#ffc107","value":"GovernmentFullEntrust"},
value: 'DeveloperJointEntrust',
},
OwnersFullEntrust: {
text: '业委会全委',
color: '#28a745',
value: 'OwnersFullEntrust',
},
GovernmentFullEntrust: {
text: '政府类全委',
color: '#ffc107',
value: 'GovernmentFullEntrust',
},
}; };
// AssetProjectsPropertyTypeEnum // AssetProjectsPropertyTypeEnum
export const AssetProjectsPropertyTypeEnum = { export const AssetProjectsPropertyTypeEnum= {
Residence: { text: '住宅', color: '#ff0000', value: 'Residence' }, 'Residence': {"text":"住宅","color":"#ff0000","value":"Residence"},
Commercial: { text: '商业', color: '#ff6600', value: 'Commercial' }, 'Commercial': {"text":"商业","color":"#ff6600","value":"Commercial"},
Office: { text: '办公', color: '#ffcc00', value: 'Office' }, 'Office': {"text":"办公","color":"#ffcc00","value":"Office"},
IndustrialPark: { text: '产业园', color: '#00cc66', value: 'IndustrialPark' }, 'IndustrialPark': {"text":"产业园","color":"#00cc66","value":"IndustrialPark"},
Complex: { text: '综合体', color: '#0099ff', value: 'Complex' }, 'Complex': {"text":"综合体","color":"#0099ff","value":"Complex"},
Municipal: { text: '市政设施', color: '#6633cc', value: 'Municipal' }, 'Municipal': {"text":"市政设施","color":"#6633cc","value":"Municipal"},
Venue: { text: '场馆', color: '#9966ff', value: 'Venue' }, 'Venue': {"text":"场馆","color":"#9966ff","value":"Venue"},
Education: { text: '教育', color: '#339999', value: 'Education' }, 'Education': {"text":"教育","color":"#339999","value":"Education"},
Medical: { text: '医疗', color: '#cc3366', value: 'Medical' }, 'Medical': {"text":"医疗","color":"#cc3366","value":"Medical"},
}; };
// AssetProjectsStatusEnum // AssetProjectsStatusEnum
export const AssetProjectsStatusEnum = { export const AssetProjectsStatusEnum= {
SignedNotDelivered: { 'SignedNotDelivered': {"text":"签约未交付","color":"#6c757d","value":"SignedNotDelivered"},
text: '签约未交付', 'RollingDevelopment': {"text":"滚动开发","color":"#007bff","value":"RollingDevelopment"},
color: '#6c757d', 'ManagedAndClosed': {"text":"在管封园","color":"#ffc107","value":"ManagedAndClosed"},
value: 'SignedNotDelivered', 'Exited': {"text":"退出","color":"#dc3545","value":"Exited"},
},
RollingDevelopment: {
text: '滚动开发',
color: '#007bff',
value: 'RollingDevelopment',
},
ManagedAndClosed: {
text: '在管封园',
color: '#ffc107',
value: 'ManagedAndClosed',
},
Exited: { text: '退出', color: '#dc3545', value: 'Exited' },
}; };
// AssetUnitsBuildingStructureEnum // AssetUnitsBuildingStructureEnum
export const AssetUnitsBuildingStructureEnum = { export const AssetUnitsBuildingStructureEnum= {
SteelConcrete: { text: '钢混', color: '#007bff', value: 'SteelConcrete' }, 'SteelConcrete': {"text":"钢混","color":"#007bff","value":"SteelConcrete"},
SteelStructure: { text: '钢结构', color: '#28a745', value: 'SteelStructure' }, 'SteelStructure': {"text":"钢结构","color":"#28a745","value":"SteelStructure"},
BrickConcrete: { text: '砖混', color: '#ffc107', value: 'BrickConcrete' }, 'BrickConcrete': {"text":"砖混","color":"#ffc107","value":"BrickConcrete"},
BrickWood: { text: '砖木', color: '#dc3545', value: 'BrickWood' }, 'BrickWood': {"text":"砖木","color":"#dc3545","value":"BrickWood"},
}; };
// AssetUnitsBuildingTypeEnum // AssetUnitsBuildingTypeEnum
export const AssetUnitsBuildingTypeEnum = { export const AssetUnitsBuildingTypeEnum= {
SlabAndTower: { text: '板塔结合', color: '#007bff', value: 'SlabAndTower' }, 'SlabAndTower': {"text":"板塔结合","color":"#007bff","value":"SlabAndTower"},
Slab: { text: '板楼', color: '#28a745', value: 'Slab' }, 'Slab': {"text":"板楼","color":"#28a745","value":"Slab"},
Tower: { text: '塔楼', color: '#ffc107', value: 'Tower' }, 'Tower': {"text":"塔楼","color":"#ffc107","value":"Tower"},
}; };
// BannerSpacesTypeEnum // BannerSpacesTypeEnum
export const BannerSpacesTypeEnum = { export const BannerSpacesTypeEnum= {
Popup: { text: '弹窗', color: '#ff0000', value: 'Popup' }, 'Popup': {"text":"弹窗","color":"#ff0000","value":"Popup"},
Banner: { text: '横幅广告', color: '#00ff00', value: 'Banner' }, 'Banner': {"text":"横幅广告","color":"#00ff00","value":"Banner"},
FloatingButton: { 'FloatingButton': {"text":"悬浮按钮","color":"#0000ff","value":"FloatingButton"},
text: '悬浮按钮',
color: '#0000ff',
value: 'FloatingButton',
},
}; };
// BannersRedirectTypeEnum // BannersRedirectTypeEnum
export const BannersRedirectTypeEnum = { export const BannersRedirectTypeEnum= {
InnerPage: { text: '跳内页', color: '#ff0000', value: 'InnerPage' }, 'InnerPage': {"text":"跳内页","color":"#ff0000","value":"InnerPage"},
H5: { text: '跳H5', color: '#00ff00', value: 'H5' }, 'H5': {"text":"跳H5","color":"#00ff00","value":"H5"},
MiniProgramHome: { 'MiniProgramHome': {"text":"跳小程序首屏","color":"#0000ff","value":"MiniProgramHome"},
text: '跳小程序首屏', 'AnotherMiniProgram': {"text":"跳另一个小程序","color":"#ffa500","value":"AnotherMiniProgram"},
color: '#0000ff',
value: 'MiniProgramHome',
},
AnotherMiniProgram: {
text: '跳另一个小程序',
color: '#ffa500',
value: 'AnotherMiniProgram',
},
}; };
// BannersTypeEnum // BannersTypeEnum
export const BannersTypeEnum = { export const BannersTypeEnum= {
Image: { text: '图片', color: '#ff0000', value: 'Image' }, 'Image': {"text":"图片","color":"#ff0000","value":"Image"},
Video: { text: '视频', color: '#00ff00', value: 'Video' }, 'Video': {"text":"视频","color":"#00ff00","value":"Video"},
Text: { text: '文本', color: '#0000ff', value: 'Text' }, 'Text': {"text":"文本","color":"#0000ff","value":"Text"},
}; };
// 缓存类型 // 缓存类型
export const CacheTypeEnum = { export const CacheTypeEnum= {
MobilePhoneVerificationCode: { 'MobilePhoneVerificationCode': {"text":"手机验证码","color":"#a10533","value":"MobilePhoneVerificationCode"},
text: '手机验证码',
color: '#2432a3',
value: 'MobilePhoneVerificationCode',
},
}; };
// CompaniesMerchantTypeEnum // CompaniesMerchantTypeEnum
export const CompaniesMerchantTypeEnum = { export const CompaniesMerchantTypeEnum= {
PropertyManagement: { 'PropertyManagement': {"text":"物业公司","color":"#007bff","value":"PropertyManagement"},
text: '物业公司', 'ServiceProvider': {"text":"服务商","color":"#28a745","value":"ServiceProvider"},
color: '#007bff',
value: 'PropertyManagement',
},
ServiceProvider: {
text: '服务商',
color: '#28a745',
value: 'ServiceProvider',
},
}; };
// CompanyAppsAppTypeEnum // CompanyAppsAppTypeEnum
export const CompanyAppsAppTypeEnum = { export const CompanyAppsAppTypeEnum= {
MiniProgram: { text: '微信小程序', color: '#3b82f6', value: 'MiniProgram' }, 'MiniProgram': {"text":"微信小程序","color":"#3b82f6","value":"MiniProgram"},
MpOfficial: { text: '微信公众号', color: '#22c55e', value: 'MpOfficial' }, 'MpOfficial': {"text":"微信公众号","color":"#22c55e","value":"MpOfficial"},
WorkWechat: { text: '企业微信', color: '#6366f1', value: 'WorkWechat' }, 'WorkWechat': {"text":"企业微信","color":"#6366f1","value":"WorkWechat"},
}; };
// CompanyAppsModuleEnum // CompanyAppsModuleEnum
export const CompanyAppsModuleEnum = { export const CompanyAppsModuleEnum= {
Employee: { text: '员工端', color: '#3b82f6', value: 'Employee' }, 'Employee': {"text":"员工端","color":"#3b82f6","value":"Employee"},
Customer: { text: '客户端', color: '#10b981', value: 'Customer' }, 'Customer': {"text":"客户端","color":"#10b981","value":"Customer"},
}; };
// CompanyEmployeeBacklogsStatusEnum // CompanyEmployeeBacklogsStatusEnum
export const CompanyEmployeeBacklogsStatusEnum = { export const CompanyEmployeeBacklogsStatusEnum= {
Pending: { text: '待办', color: '#FF6600', value: 'Pending' }, 'Pending': {"text":"待办","color":"#FF6600","value":"Pending"},
Completed: { text: '已办', color: '#2A82E4', value: 'Completed' }, 'Completed': {"text":"已办","color":"#2A82E4","value":"Completed"},
}; };
// CompanyEmployeeBacklogsTypeEnum // CompanyEmployeeBacklogsTypeEnum
export const CompanyEmployeeBacklogsTypeEnum = { export const CompanyEmployeeBacklogsTypeEnum= {
WorkOrder: { text: '工单', color: '#FF6600', value: 'WorkOrder' }, 'WorkOrder': {"text":"工单","color":"#FF6600","value":"WorkOrder"},
Contract: { text: '合同', color: '#2A82E4', value: 'Contract' }, 'Contract': {"text":"合同","color":"#2A82E4","value":"Contract"},
}; };
// CompanyReceiptAccountsPayChannelEnum // CompanyReceiptAccountsPayChannelEnum
export const CompanyReceiptAccountsPayChannelEnum = { export const CompanyReceiptAccountsPayChannelEnum= {
WeChat: { text: '微信', color: '#07c160', value: 'WeChat' }, 'WeChat': {"text":"微信","color":"#07c160","value":"WeChat"},
Alipay: { text: '支付宝', color: '#1677ff', value: 'Alipay' }, 'Alipay': {"text":"支付宝","color":"#1677ff","value":"Alipay"},
BankTransfer: { text: '银行转账', color: '#6c757d', value: 'BankTransfer' }, 'BankTransfer': {"text":"银行转账","color":"#6c757d","value":"BankTransfer"},
TongLian: { text: '通联支付', color: '#ff9f0a', value: 'TongLian' }, 'TongLian': {"text":"通联支付","color":"#ff9f0a","value":"TongLian"},
};
// ConvenienceServicesTypeEnum
export const ConvenienceServicesTypeEnum= {
'EmergencyRepair': {"text":"紧急抢修","color":"#ef4444","value":"EmergencyRepair"},
'LifeService': {"text":"生活服务","color":"#3b82f6","value":"LifeService"},
'GovernmentConsulting': {"text":"政务咨询","color":"#10b981","value":"GovernmentConsulting"},
'PropertyExclusive': {"text":"物业专属","color":"#8b5cf6","value":"PropertyExclusive"},
}; };
// CustomerBacklogsStatusEnum // CustomerBacklogsStatusEnum
export const CustomerBacklogsStatusEnum = { export const CustomerBacklogsStatusEnum= {
Pending: { text: '待办', color: '#faad14', value: 'Pending' }, 'Pending': {"text":"待办","color":"#faad14","value":"Pending"},
Completed: { text: '已办', color: '#2A82E4', value: 'Completed' }, 'Completed': {"text":"已办","color":"#2A82E4","value":"Completed"},
}; };
// CustomerBacklogsTypeEnum // CustomerBacklogsTypeEnum
export const CustomerBacklogsTypeEnum = { export const CustomerBacklogsTypeEnum= {
RegisterApply: { text: '登记申请', color: '#2db7f5', value: 'RegisterApply' }, 'RegisterApply': {"text":"登记申请","color":"#2db7f5","value":"RegisterApply"},
PaymentPending: { 'PaymentPending': {"text":"费用待缴","color":"#faad14","value":"PaymentPending"},
text: '费用待缴', 'ContractTodo': {"text":"合同待办","color":"#722ed1","value":"ContractTodo"},
color: '#faad14',
value: 'PaymentPending',
},
ContractTodo: { text: '合同待办', color: '#722ed1', value: 'ContractTodo' },
}; };
// 账单状态枚举 // 账单状态枚举
export const HouseBillsBillStatusEnum = { export const HouseBillsBillStatusEnum= {
PendingPayment: { text: '待支付', color: '#facc15', value: 'PendingPayment' }, 'PendingPayment': {"text":"待支付","color":"#facc15","value":"PendingPayment"},
PartiallyPaid: { text: '部分支付', color: '#60a5fa', value: 'PartiallyPaid' }, 'PartiallyPaid': {"text":"部分支付","color":"#60a5fa","value":"PartiallyPaid"},
Paid: { text: '已支付', color: '#10b981', value: 'Paid' }, 'Paid': {"text":"已支付","color":"#10b981","value":"Paid"},
Overdue: { text: '已逾期', color: '#ef4444', value: 'Overdue' }, 'Overdue': {"text":"已逾期","color":"#ef4444","value":"Overdue"},
Cancelled: { text: '已取消', color: '#9ca3af', value: 'Cancelled' }, 'Cancelled': {"text":"已取消","color":"#9ca3af","value":"Cancelled"},
}; };
// 房屋账单类型枚举 // 房屋账单类型枚举
export const HouseBillsTypeEnum = { export const HouseBillsTypeEnum= {
PropertyFee: { text: '物业费', color: '#3b82f6', value: 'PropertyFee' }, 'PropertyFee': {"text":"物业费","color":"#3b82f6","value":"PropertyFee"},
MaintenanceFund: { 'MaintenanceFund': {"text":"维修基金","color":"#10b981","value":"MaintenanceFund"},
text: '维修基金', 'WaterFee': {"text":"水费","color":"#06b6d4","value":"WaterFee"},
color: '#10b981', 'ElectricityFee': {"text":"电费","color":"#f59e0b","value":"ElectricityFee"},
value: 'MaintenanceFund', 'SharedWaterFee': {"text":"公摊水费","color":"#8b5cf6","value":"SharedWaterFee"},
}, 'SharedElectricityFee': {"text":"公摊电费","color":"#ec4899","value":"SharedElectricityFee"},
WaterFee: { text: '水费', color: '#06b6d4', value: 'WaterFee' },
ElectricityFee: { text: '电费', color: '#f59e0b', value: 'ElectricityFee' },
SharedWaterFee: {
text: '公摊水费',
color: '#8b5cf6',
value: 'SharedWaterFee',
},
SharedElectricityFee: {
text: '公摊电费',
color: '#ec4899',
value: 'SharedElectricityFee',
},
}; };
// HouseChargeStandardsApportionmentMethodEnum // HouseChargeStandardsApportionmentMethodEnum
export const HouseChargeStandardsApportionmentMethodEnum = { export const HouseChargeStandardsApportionmentMethodEnum= {
HouseCount: { text: '房屋数分摊', color: '#3b82f6', value: 'HouseCount' }, 'HouseCount': {"text":"房屋数分摊","color":"#3b82f6","value":"HouseCount"},
AreaProportion: { 'AreaProportion': {"text":"房屋计费面积分摊","color":"#10b981","value":"AreaProportion"},
text: '房屋计费面积分摊', 'FixedRatio': {"text":"按固定比例分摊","color":"#f59e0b","value":"FixedRatio"},
color: '#10b981',
value: 'AreaProportion',
},
FixedRatio: { text: '按固定比例分摊', color: '#f59e0b', value: 'FixedRatio' },
}; };
// HouseChargeStandardsCalculationMethodEnum // HouseChargeStandardsCalculationMethodEnum
export const HouseChargeStandardsCalculationMethodEnum = { export const HouseChargeStandardsCalculationMethodEnum= {
ChargeableArea: { 'ChargeableArea': {"text":"计费面积","color":"#3b82f6","value":"ChargeableArea"},
text: '计费面积', 'BuiltArea': {"text":"建筑面积","color":"#10b981","value":"BuiltArea"},
color: '#3b82f6', 'InsideArea': {"text":"套内面积","color":"#f59e0b","value":"InsideArea"},
value: 'ChargeableArea', 'PerUnit': {"text":"按套","color":"#06b6d4","value":"PerUnit"},
}, 'ElectricityUsage': {"text":"用电量","color":"#8b5cf6","value":"ElectricityUsage"},
BuiltArea: { text: '建筑面积', color: '#10b981', value: 'BuiltArea' }, 'WaterUsage': {"text":"用水量","color":"#ec4899","value":"WaterUsage"},
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 // HouseChargeStandardsCalculationModeEnum
export const HouseChargeStandardsCalculationModeEnum = { export const HouseChargeStandardsCalculationModeEnum= {
FixedAmount: { text: '固定金额', color: '#3b82f6', value: 'FixedAmount' }, 'FixedAmount': {"text":"固定金额","color":"#3b82f6","value":"FixedAmount"},
QuantityPrice: { 'QuantityPrice': {"text":"数量*单价","color":"#10b981","value":"QuantityPrice"},
text: '数量*单价',
color: '#10b981',
value: 'QuantityPrice',
},
}; };
// HouseChargeStandardsCalculationPeriodEnum // HouseChargeStandardsCalculationPeriodEnum
export const HouseChargeStandardsCalculationPeriodEnum = { export const HouseChargeStandardsCalculationPeriodEnum= {
PerTime: { text: '按次', color: '#3b82f6', value: 'PerTime' }, 'PerTime': {"text":"按次","color":"#3b82f6","value":"PerTime"},
PerDay: { text: '按日', color: '#10b981', value: 'PerDay' }, 'PerDay': {"text":"按日","color":"#10b981","value":"PerDay"},
PerMonth: { text: '按月', color: '#f59e0b', value: 'PerMonth' }, 'PerMonth': {"text":"按月","color":"#f59e0b","value":"PerMonth"},
PerYear: { text: '按年', color: '#8b5cf6', value: 'PerYear' }, 'PerYear': {"text":"按年","color":"#8b5cf6","value":"PerYear"},
}; };
// HouseChargeStandardsPriceAlgorithmEnum // HouseChargeStandardsPriceAlgorithmEnum
export const HouseChargeStandardsPriceAlgorithmEnum = { export const HouseChargeStandardsPriceAlgorithmEnum= {
Fixed: { text: '固定', color: '#4caf50', value: 'Fixed' }, 'Fixed': {"text":"固定","color":"#4caf50","value":"Fixed"},
Tiered: { text: '分级价阶梯', color: '#2196f3', value: 'Tiered' }, 'Tiered': {"text":"分级价阶梯","color":"#2196f3","value":"Tiered"},
Peak: { text: '最高价阶梯', color: '#ff9800', value: 'Peak' }, 'Peak': {"text":"最高价阶梯","color":"#ff9800","value":"Peak"},
}; };
// HouseChargeStandardsStatusEnum // HouseChargeStandardsStatusEnum
export const HouseChargeStandardsStatusEnum = { export const HouseChargeStandardsStatusEnum= {
Active: { text: '启用', color: '#3b82f6', value: 'Active' }, 'Active': {"text":"启用","color":"#3b82f6","value":"Active"},
Inactive: { text: '禁用', color: '#ef4444', value: 'Inactive' }, 'Inactive': {"text":"禁用","color":"#ef4444","value":"Inactive"},
}; };
// HouseChargeStandardsTypeEnum // HouseChargeStandardsTypeEnum
export const HouseChargeStandardsTypeEnum = { export const HouseChargeStandardsTypeEnum= {
House: { text: '房屋', color: '#3b82f6', value: 'House' }, 'House': {"text":"房屋","color":"#3b82f6","value":"House"},
Meter: { text: '仪表', color: '#10b981', value: 'Meter' }, 'Meter': {"text":"仪表","color":"#10b981","value":"Meter"},
}; };
// HouseChargeTaskDetailsStatusEnum // HouseChargeTaskDetailsStatusEnum
export const HouseChargeTaskDetailsStatusEnum = { export const HouseChargeTaskDetailsStatusEnum= {
Pending: { text: '待处理', color: '#f59e0b', value: 'Pending' }, 'Pending': {"text":"待处理","color":"#f59e0b","value":"Pending"},
Success: { text: '成功', color: '#22c55e', value: 'Success' }, 'Success': {"text":"成功","color":"#22c55e","value":"Success"},
Failed: { text: '失败', color: '#ef4444', value: 'Failed' }, 'Failed': {"text":"失败","color":"#ef4444","value":"Failed"},
}; };
// HouseChargeTasksStatusEnum // HouseChargeTasksStatusEnum
export const HouseChargeTasksStatusEnum = { export const HouseChargeTasksStatusEnum= {
Pending: { text: '待执行', color: '#f59e0b', value: 'Pending' }, 'Pending': {"text":"待执行","color":"#f59e0b","value":"Pending"},
InProgress: { text: '执行中', color: '#3b82f6', value: 'InProgress' }, 'InProgress': {"text":"执行中","color":"#3b82f6","value":"InProgress"},
Completed: { text: '已完成', color: '#10b981', value: 'Completed' }, 'Completed': {"text":"已完成","color":"#10b981","value":"Completed"},
Failed: { text: '失败', color: '#ef4444', value: 'Failed' }, 'Failed': {"text":"失败","color":"#ef4444","value":"Failed"},
}; };
// HouseChargeTasksTypeEnum // HouseChargeTasksTypeEnum
export const HouseChargeTasksTypeEnum = { export const HouseChargeTasksTypeEnum= {
Scheduled: { text: '定时创建', color: '#3b82f6', value: 'Scheduled' }, 'Scheduled': {"text":"定时创建","color":"#3b82f6","value":"Scheduled"},
Manual: { text: '手动创建', color: '#10b981', value: 'Manual' }, 'Manual': {"text":"手动创建","color":"#10b981","value":"Manual"},
}; };
// HouseCollectionRecordsCollectionResultEnum // HouseCollectionRecordsCollectionResultEnum
export const HouseCollectionRecordsCollectionResultEnum = { export const HouseCollectionRecordsCollectionResultEnum= {
PromiseToPay: { text: '承诺缴费', color: '#4caf50', value: 'PromiseToPay' }, 'PromiseToPay': {"text":"承诺缴费","color":"#4caf50","value":"PromiseToPay"},
RefuseToPay: { text: '拒绝缴费', color: '#f44336', value: 'RefuseToPay' }, 'RefuseToPay': {"text":"拒绝缴费","color":"#f44336","value":"RefuseToPay"},
NotReached: { text: '未联系到', color: '#9e9e9e', value: 'NotReached' }, 'NotReached': {"text":"未联系到","color":"#9e9e9e","value":"NotReached"},
NeedFollowUp: { text: '需要跟进', color: '#ff9800', value: 'NeedFollowUp' }, 'NeedFollowUp': {"text":"需要跟进","color":"#ff9800","value":"NeedFollowUp"},
}; };
// HouseCollectionRecordsSmsStatusEnum // HouseCollectionRecordsSmsStatusEnum
export const HouseCollectionRecordsStatusEnum = { export const HouseCollectionRecordsStatusEnum= {
NotNotified: { text: '未通知', color: '#808080', value: 'NotNotified' }, 'NotNotified': {"text":"未通知","color":"#808080","value":"NotNotified"},
Notified: { text: '已通知', color: '#00cc00', value: 'Notified' }, 'Notified': {"text":"已通知","color":"#00cc00","value":"Notified"},
Failed: { text: '失败', color: '#ff0000', value: 'Failed' }, 'Failed': {"text":"失败","color":"#ff0000","value":"Failed"},
}; };
// HouseCollectionTasksChannelEnum // HouseCollectionTasksChannelEnum
export const HouseCollectionTasksChannelEnum = { export const HouseCollectionTasksChannelEnum= {
SMS: { text: '短信', color: '#1E90FF', value: 'SMS' }, 'SMS': {"text":"短信","color":"#1E90FF","value":"SMS"},
MiniProgram: { text: '小程序', color: '#00BFFF', value: 'MiniProgram' }, 'MiniProgram': {"text":"小程序","color":"#00BFFF","value":"MiniProgram"},
OfficialAccount: { 'OfficialAccount': {"text":"公众号","color":"#32CD32","value":"OfficialAccount"},
text: '公众号', 'PhoneCall': {"text":"电话催缴","color":"#FF8C00","value":"PhoneCall"},
color: '#32CD32', 'Visit': {"text":"上门催缴","color":"#8B4513","value":"Visit"},
value: 'OfficialAccount', 'WeChat': {"text":"微信联系","color":"#20B2AA","value":"WeChat"},
}, 'WrittenNotice': {"text":"书面通知","color":"#708090","value":"WrittenNotice"},
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 // HouseCollectionTasksStatusEnum
export const HouseCollectionTasksStatusEnum = { export const HouseCollectionTasksStatusEnum= {
Processing: { text: '进行中', color: '#ffcc00', value: 'Processing' }, 'Processing': {"text":"进行中","color":"#ffcc00","value":"Processing"},
Completed: { text: '已完成', color: '#00cc00', value: 'Completed' }, 'Completed': {"text":"已完成","color":"#00cc00","value":"Completed"},
Failed: { text: '失败', color: '#ff0000', value: 'Failed' }, 'Failed': {"text":"失败","color":"#ff0000","value":"Failed"},
}; };
// HouseOccupantsCardTypeEnum // HouseOccupantsCardTypeEnum
export const HouseOccupantsCardTypeEnum = { export const HouseOccupantsCardTypeEnum= {
MainlandID: { 'MainlandID': {"text":"中国大陆居民身份证","color":"#2db7f5","value":"MainlandID"},
text: '中国大陆居民身份证', 'HKPermit': {"text":"香港来往大陆通行证(回乡证)","color":"#fa8c16","value":"HKPermit"},
color: '#2db7f5', 'MOPermit': {"text":"澳门来往大陆通行证(回乡证)","color":"#faad14","value":"MOPermit"},
value: 'MainlandID', 'TWPermit': {"text":"台湾来往大陆通行证(台胞证)","color":"#87d068","value":"TWPermit"},
}, 'Passport': {"text":"护照","color":"#108ee9","value":"Passport"},
HKPermit: { 'BusinessLicense': {"text":"营业执照","color":"#f5222d","value":"BusinessLicense"},
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 // HouseOccupantsHouseRelationEnum
export const HouseOccupantsHouseRelationEnum = { export const HouseOccupantsHouseRelationEnum= {
Owner: { text: '产权人', color: '#2db7f5', value: 'Owner' }, 'Owner': {"text":"产权人","color":"#2db7f5","value":"Owner"},
NonOwner: { text: '非产权人', color: '#fa8c16', value: 'NonOwner' }, 'NonOwner': {"text":"非产权人","color":"#fa8c16","value":"NonOwner"},
}; };
// HouseOccupantsRelationWithOwnerEnum // HouseOccupantsRelationWithOwnerEnum
export const HouseOccupantsRelationWithOwnerEnum = { export const HouseOccupantsRelationWithOwnerEnum= {
Spouse: { text: '配偶', color: '#2db7f5', value: 'Spouse' }, 'Spouse': {"text":"配偶","color":"#2db7f5","value":"Spouse"},
Children: { text: '子女', color: '#87d068', value: 'Children' }, 'Children': {"text":"子女","color":"#87d068","value":"Children"},
Parents: { text: '父母', color: '#faad14', value: 'Parents' }, 'Parents': {"text":"父母","color":"#faad14","value":"Parents"},
Siblings: { text: '兄弟姐妹', color: '#fa8c16', value: 'Siblings' }, 'Siblings': {"text":"兄弟姐妹","color":"#fa8c16","value":"Siblings"},
OtherRelatives: { 'OtherRelatives': {"text":"其他亲属","color":"#f5222d","value":"OtherRelatives"},
text: '其他亲属',
color: '#f5222d',
value: 'OtherRelatives',
},
}; };
// HouseOccupantsResidentialRelationEnum // HouseOccupantsResidentialRelationEnum
export const HouseOccupantsResidentialRelationEnum = { export const HouseOccupantsResidentialRelationEnum= {
Resident: { text: '住户', color: '#2db7f5', value: 'Resident' }, 'Resident': {"text":"住户","color":"#2db7f5","value":"Resident"},
PrimaryTenant: { text: '主租人', color: '#87d068', value: 'PrimaryTenant' }, 'PrimaryTenant': {"text":"主租人","color":"#87d068","value":"PrimaryTenant"},
Tenant: { text: '租客', color: '#fa8c16', value: 'Tenant' }, 'Tenant': {"text":"租客","color":"#fa8c16","value":"Tenant"},
}; };
// HouseOccupantsStatusEnum // HouseOccupantsStatusEnum
export const HouseOccupantsStatusEnum = { export const HouseOccupantsStatusEnum= {
Normal: { text: '正常', color: '#52c41a', value: 'Normal' }, 'Normal': {"text":"正常","color":"#52c41a","value":"Normal"},
Unbound: { text: '已解除', color: '#f5222d', value: 'Unbound' }, 'Unbound': {"text":"已解除","color":"#f5222d","value":"Unbound"},
}; };
// 订单状态枚举 // 订单状态枚举
export const HouseOrdersOrderStatusEnum = { export const HouseOrdersOrderStatusEnum= {
Pending: { text: '待支付', color: '#facc15', value: 'Pending' }, 'Pending': {"text":"待支付","color":"#facc15","value":"Pending"},
Paid: { text: '已支付', color: '#10b981', value: 'Paid' }, 'Paid': {"text":"已支付","color":"#10b981","value":"Paid"},
Refunded: { text: '已退款', color: '#60a5fa', value: 'Refunded' }, 'Refunded': {"text":"已退款","color":"#60a5fa","value":"Refunded"},
Cancelled: { text: '已取消', color: '#9ca3af', value: 'Cancelled' }, 'Cancelled': {"text":"已取消","color":"#9ca3af","value":"Cancelled"},
Failed: { text: '支付失败', color: '#ef4444', value: 'Failed' }, 'Failed': {"text":"支付失败","color":"#ef4444","value":"Failed"},
}; };
// HouseOrdersPaymentMethodEnum // HouseOrdersPaymentMethodEnum
export const HouseOrdersPaymentMethodEnum = { export const HouseOrdersPaymentMethodEnum= {
WeChat: { text: '微信', color: '#07c160', value: 'WeChat' }, 'WeChat': {"text":"微信","color":"#07c160","value":"WeChat"},
Alipay: { text: '支付宝', color: '#1677ff', value: 'Alipay' }, 'Alipay': {"text":"支付宝","color":"#1677ff","value":"Alipay"},
BankTransfer: { text: '银行转账', color: '#6c757d', value: 'BankTransfer' }, 'BankTransfer': {"text":"银行转账","color":"#6c757d","value":"BankTransfer"},
TongLian: { text: '通联支付', color: '#ff9f0a', value: 'TongLian' }, 'TongLian': {"text":"通联支付","color":"#ff9f0a","value":"TongLian"},
}; };
// HouseRegistersCustomerTypeEnum // HouseRegistersCustomerTypeEnum
export const HouseRegistersCustomerTypeEnum = { export const HouseRegistersCustomerTypeEnum= {
Individual: { text: '个人客户', color: '#2db7f5', value: 'Individual' }, 'Individual': {"text":"个人客户","color":"#2db7f5","value":"Individual"},
Enterprise: { text: '普通企业', color: '#87d068', value: 'Enterprise' }, 'Enterprise': {"text":"普通企业","color":"#87d068","value":"Enterprise"},
Developer: { text: '开发企业', color: '#fa8c16', value: 'Developer' }, 'Developer': {"text":"开发企业","color":"#fa8c16","value":"Developer"},
Government: { text: '政府组织', color: '#f5222d', value: 'Government' }, 'Government': {"text":"政府组织","color":"#f5222d","value":"Government"},
}; };
// HouseRegistersHouseStatusEnum // HouseRegistersHouseStatusEnum
export const HouseRegistersHouseStatusEnum = { export const HouseRegistersHouseStatusEnum= {
SelfOccupied: { text: '自住', color: '#28a745', value: 'SelfOccupied' }, 'SelfOccupied': {"text":"自住","color":"#28a745","value":"SelfOccupied"},
Rented: { text: '出租', color: '#007bff', value: 'Rented' }, 'Rented': {"text":"出租","color":"#007bff","value":"Rented"},
Vacant: { text: '空置', color: '#dc3545', value: 'Vacant' }, 'Vacant': {"text":"空置","color":"#dc3545","value":"Vacant"},
}; };
// 房屋登记身份类型 // 房屋登记身份类型
export const HouseRegistersIdentityTypeEnum = { export const HouseRegistersIdentityTypeEnum= {
Owner: { text: '产权人', color: '#2db7f5', value: 'Owner' }, 'Owner': {"text":"产权人","color":"#2db7f5","value":"Owner"},
Tenant: { text: '租客', color: '#87d068', value: 'Tenant' }, 'Tenant': {"text":"租客","color":"#87d068","value":"Tenant"},
CoResident: { text: '同住人(亲属)', color: '#108ee9', value: 'CoResident' }, 'CoResident': {"text":"同住人(亲属)","color":"#108ee9","value":"CoResident"},
}; };
// HouseRegistersStatusEnum // HouseRegistersStatusEnum
export const HouseRegistersStatusEnum = { export const HouseRegistersStatusEnum= {
Pending: { text: '待审', color: '#faad14', value: 'Pending' }, 'Pending': {"text":"待审","color":"#faad14","value":"Pending"},
Approved: { text: '通过', color: '#52c41a', value: 'Approved' }, 'Approved': {"text":"通过","color":"#52c41a","value":"Approved"},
Rejected: { text: '驳回', color: '#f5222d', value: 'Rejected' }, 'Rejected': {"text":"驳回","color":"#f5222d","value":"Rejected"},
}; };
// HouseRegistersTypeEnum // HouseRegistersTypeEnum
export const HouseRegistersTypeEnum = { export const HouseRegistersTypeEnum= {
AddOwner: { text: '添加产权人', color: '#52c41a', value: 'AddOwner' }, 'AddOwner': {"text":"添加产权人","color":"#52c41a","value":"AddOwner"},
RemoveOwner: { text: '减少产权人', color: '#d9363e', value: 'RemoveOwner' }, 'RemoveOwner': {"text":"减少产权人","color":"#d9363e","value":"RemoveOwner"},
AddOccupant: { text: '添加住户', color: '#108ee9', value: 'AddOccupant' }, 'AddOccupant': {"text":"添加住户","color":"#108ee9","value":"AddOccupant"},
RemoveOccupant: { 'RemoveOccupant': {"text":"移除住户","color":"#fa8c16","value":"RemoveOccupant"},
text: '移除住户', 'MoveOut': {"text":"搬离登记","color":"#f50","value":"MoveOut"},
color: '#fa8c16', 'MoveIn': {"text":"搬入登记","color":"#ffc53d","value":"MoveIn"},
value: 'RemoveOccupant',
},
MoveOut: { text: '搬离登记', color: '#f50', value: 'MoveOut' },
MoveIn: { text: '搬入登记', color: '#ffc53d', value: 'MoveIn' },
}; };
// HouseRegistersUsagePlanEnum // HouseRegistersUsagePlanEnum
export const HouseRegistersUsagePlanEnum = { export const HouseRegistersUsagePlanEnum= {
Permanent: { text: '常住', color: '#52c41a', value: 'Permanent' }, 'Permanent': {"text":"常住","color":"#52c41a","value":"Permanent"},
Vacation: { text: '度假', color: '#faad14', value: 'Vacation' }, 'Vacation': {"text":"度假","color":"#faad14","value":"Vacation"},
Rental: { text: '出租', color: '#2db7f5', value: 'Rental' }, 'Rental': {"text":"出租","color":"#2db7f5","value":"Rental"},
Commercial: { text: '商用', color: '#f5222d', value: 'Commercial' }, 'Commercial': {"text":"商用","color":"#f5222d","value":"Commercial"},
}; };
// HouseWorkOrdersAssignStatusEnum // HouseWorkOrdersAssignStatusEnum
export const HouseWorkOrdersAssignStatusEnum = { export const HouseWorkOrdersAssignStatusEnum= {
Unassigned: { text: '未指派', color: '#ff0000', value: 'Unassigned' }, 'Unassigned': {"text":"未指派","color":"#ff0000","value":"Unassigned"},
Assigned: { text: '已指派', color: '#00ff00', value: 'Assigned' }, 'Assigned': {"text":"已指派","color":"#00ff00","value":"Assigned"},
}; };
// HouseWorkOrdersLevelEnum // HouseWorkOrdersLevelEnum
export const HouseWorkOrdersLevelEnum = { export const HouseWorkOrdersLevelEnum= {
Urgent: { text: '紧急', color: '#ff0000', value: 'Urgent' }, 'Urgent': {"text":"紧急","color":"#ff0000","value":"Urgent"},
High: { text: '高', color: '#ff7f00', value: 'High' }, 'High': {"text":"高","color":"#ff7f00","value":"High"},
Medium: { text: '中', color: '#00cc00', value: 'Medium' }, 'Medium': {"text":"中","color":"#00cc00","value":"Medium"},
Low: { text: '低', color: '#999999', value: 'Low' }, 'Low': {"text":"低","color":"#999999","value":"Low"},
}; };
// HouseWorkOrdersStatusEnum // HouseWorkOrdersStatusEnum
export const HouseWorkOrdersStatusEnum = { export const HouseWorkOrdersStatusEnum= {
Pending: { text: '待处理', color: '#FFA500', value: 'Pending' }, 'Pending': {"text":"待处理","color":"#FFA500","value":"Pending"},
Processing: { text: '处理中', color: '#1E90FF', value: 'Processing' }, 'Processing': {"text":"处理中","color":"#1E90FF","value":"Processing"},
Completed: { text: '已完成', color: '#28A745', value: 'Completed' }, 'Completed': {"text":"已完成","color":"#28A745","value":"Completed"},
Closed: { text: '已关闭', color: '#6C757D', value: 'Closed' }, 'Closed': {"text":"已关闭","color":"#6C757D","value":"Closed"},
}; };
// HouseWorkOrdersTypeEnum // HouseWorkOrdersTypeEnum
export const HouseWorkOrdersTypeEnum = { export const HouseWorkOrdersTypeEnum= {
Maintenance: { text: '维修', color: '#ff0000', value: 'Maintenance' }, 'Maintenance': {"text":"维修","color":"#ff0000","value":"Maintenance"},
Installation: { text: '安装', color: '#00aaff', value: 'Installation' }, 'Installation': {"text":"安装","color":"#00aaff","value":"Installation"},
Consultation: { text: '咨询', color: '#ffaa00', value: 'Consultation' }, 'Consultation': {"text":"咨询","color":"#ffaa00","value":"Consultation"},
Complaint: { text: '投诉', color: '#aa00ff', value: 'Complaint' }, 'Complaint': {"text":"投诉","color":"#aa00ff","value":"Complaint"},
Other: { text: '其它', color: '#00aa55', value: 'Other' }, 'Other': {"text":"其它","color":"#00aa55","value":"Other"},
}; };
// OrganizationsTypeEnum // OrganizationsTypeEnum
export const OrganizationsTypeEnum = { export const OrganizationsTypeEnum= {
Group: { text: '集团', color: '#007bff', value: 'Group' }, 'Group': {"text":"集团","color":"#007bff","value":"Group"},
Company: { text: '公司', color: '#28a745', value: 'Company' }, 'Company': {"text":"公司","color":"#28a745","value":"Company"},
ManagementOffice: { 'ManagementOffice': {"text":"管理处","color":"#ffc107","value":"ManagementOffice"},
text: '管理处', 'Department': {"text":"部门","color":"#dc3545","value":"Department"},
color: '#ffc107',
value: 'ManagementOffice',
},
Department: { text: '部门', color: '#dc3545', value: 'Department' },
}; };
// 性别 // 性别
export const SexEnum = { export const SexEnum= {
Male: { text: '男', color: '#0000ff', value: 'Male' }, 'Male': {"text":"男","color":"#0000ff","value":"Male"},
FeMale: { text: '女', color: '#ff0000', value: 'FeMale' }, 'FeMale': {"text":"女","color":"#ff0000","value":"FeMale"},
}; };
// SysModuleEnum // SysModuleEnum
export const SysModuleEnum = { export const SysModuleEnum= {
Admin: { text: '管理员', color: '#cf1322', value: 'Admin' }, 'Admin': {"text":"管理员","color":"#cf1322","value":"Admin"},
Customer: { text: '客户', color: '#d4b106', value: 'Customer' }, 'Customer': {"text":"客户","color":"#d4b106","value":"Customer"},
}; };
// SysPermissionsTypeEnum // SysPermissionsTypeEnum
export const SysPermissionsTypeEnum = { export const SysPermissionsTypeEnum= {
Directory: { text: '目录', color: '#6d7e14', value: 'Directory' }, 'Directory': {"text":"目录","color":"#6d7e14","value":"Directory"},
Page: { text: '页面', color: '#4d9a13', value: 'Page' }, 'Page': {"text":"页面","color":"#4d9a13","value":"Page"},
Button: { text: '按钮', color: '#97224f', value: 'Button' }, 'Button': {"text":"按钮","color":"#97224f","value":"Button"},
}; };
// WechatAuthsPlatformEnum // WechatAuthsPlatformEnum
export const WechatAuthsPlatformEnum = { export const WechatAuthsPlatformEnum= {
MiniProgram: { text: '微信小程序', color: '#3b82f6', value: 'MiniProgram' }, 'MiniProgram': {"text":"微信小程序","color":"#3b82f6","value":"MiniProgram"},
MpOfficial: { text: '微信公众号', color: '#22c55e', value: 'MpOfficial' }, 'MpOfficial': {"text":"微信公众号","color":"#22c55e","value":"MpOfficial"},
WorkWechat: { text: '企业微信', color: '#6366f1', value: 'WorkWechat' }, 'WorkWechat': {"text":"企业微信","color":"#6366f1","value":"WorkWechat"},
}; };

View File

@ -68,6 +68,17 @@ export default function Create(props: MyBetaModalFormProps) {
HouseChargeStandardsCalculationMethodEnum.PerUnit.value HouseChargeStandardsCalculationMethodEnum.PerUnit.value
? HouseChargeStandardsPriceAlgorithmEnum.Fixed.value ? HouseChargeStandardsPriceAlgorithmEnum.Fixed.value
: values?.price_algorithm, : values?.price_algorithm,
tiered_rates: values.tiered_rates?.map((res: any) => {
return {
...res,
};
}),
// 避免计费模式切换导致的价格异常
price:
values?.price_algorithm ===
HouseChargeStandardsPriceAlgorithmEnum.Fixed.value
? values.price
: 0,
}) })
.then(() => { .then(() => {
props.reload?.(); props.reload?.();
@ -254,7 +265,7 @@ export default function Create(props: MyBetaModalFormProps) {
? [ ? [
{ {
valueType: 'formList', valueType: 'formList',
dataIndex: 'scheme', dataIndex: 'tiered_rates',
title: '阶梯标准', title: '阶梯标准',
formItemProps: { ...rulesHelper.array }, formItemProps: { ...rulesHelper.array },
initialValue: [ initialValue: [
@ -275,7 +286,7 @@ export default function Create(props: MyBetaModalFormProps) {
colProps: { span: 24 }, colProps: { span: 24 },
columns: [ columns: [
{ {
key: 'start', key: 'min_quantity',
colProps: { span: 10 }, colProps: { span: 10 },
title: '起始值', title: '起始值',
valueType: 'number', valueType: 'number',
@ -292,7 +303,7 @@ export default function Create(props: MyBetaModalFormProps) {
formItemProps: { ...rulesHelper.number }, formItemProps: { ...rulesHelper.number },
}, },
{ {
key: 'end', key: 'max_quantity',
colProps: { span: 6 }, colProps: { span: 6 },
title: '结束值', title: '结束值',
valueType: 'number', valueType: 'number',
@ -321,7 +332,7 @@ export default function Create(props: MyBetaModalFormProps) {
? [ ? [
{ {
valueType: 'formList', valueType: 'formList',
dataIndex: 'scheme', dataIndex: 'tiered_rates',
title: '阶梯标准', title: '阶梯标准',
formItemProps: { ...rulesHelper.array }, formItemProps: { ...rulesHelper.array },
initialValue: [ initialValue: [
@ -342,7 +353,7 @@ export default function Create(props: MyBetaModalFormProps) {
colProps: { span: 24 }, colProps: { span: 24 },
columns: [ columns: [
{ {
key: 'start', key: 'min_quantity',
colProps: { span: 10 }, colProps: { span: 10 },
title: '起始值', title: '起始值',
valueType: 'number', valueType: 'number',
@ -359,7 +370,7 @@ export default function Create(props: MyBetaModalFormProps) {
formItemProps: { ...rulesHelper.number }, formItemProps: { ...rulesHelper.number },
}, },
{ {
key: 'end', key: 'max_quantity',
colProps: { span: 6 }, colProps: { span: 6 },
title: '结束值', title: '结束值',
valueType: 'number', valueType: 'number',

View File

@ -69,6 +69,17 @@ export default function Update(props: MyBetaModalFormProps) {
? HouseChargeStandardsPriceAlgorithmEnum.Fixed.value ? HouseChargeStandardsPriceAlgorithmEnum.Fixed.value
: values?.price_algorithm, : values?.price_algorithm,
id: props?.item?.id, id: props?.item?.id,
tiered_rates: values.tiered_rates?.map((res: any) => {
return {
...res,
};
}),
// 避免计费模式切换导致的价格异常
price:
values?.price_algorithm ===
HouseChargeStandardsPriceAlgorithmEnum.Fixed.value
? values.price
: 0,
}) })
.then(() => { .then(() => {
props.reload?.(); props.reload?.();
@ -249,16 +260,16 @@ export default function Update(props: MyBetaModalFormProps) {
? [ ? [
{ {
valueType: 'formList', valueType: 'formList',
dataIndex: 'scheme', dataIndex: 'tiered_rates',
title: '阶梯标准', title: '阶梯标准',
formItemProps: { ...rulesHelper.array }, formItemProps: { ...rulesHelper.array },
initialValue: [ // initialValue: [
{ // {
start: 0, // start: 0,
end: null, // end: null,
price: null, // price: null,
}, // },
], // ],
fieldProps: { fieldProps: {
actionRef: actionRef, actionRef: actionRef,
copyIconProps: false, copyIconProps: false,
@ -270,7 +281,7 @@ export default function Update(props: MyBetaModalFormProps) {
colProps: { span: 24 }, colProps: { span: 24 },
columns: [ columns: [
{ {
key: 'start', key: 'min_quantity',
colProps: { span: 10 }, colProps: { span: 10 },
title: '起始值', title: '起始值',
valueType: 'number', valueType: 'number',
@ -287,7 +298,7 @@ export default function Update(props: MyBetaModalFormProps) {
formItemProps: { ...rulesHelper.number }, formItemProps: { ...rulesHelper.number },
}, },
{ {
key: 'end', key: 'max_quantity',
colProps: { span: 6 }, colProps: { span: 6 },
title: '结束值', title: '结束值',
valueType: 'number', valueType: 'number',
@ -316,16 +327,16 @@ export default function Update(props: MyBetaModalFormProps) {
? [ ? [
{ {
valueType: 'formList', valueType: 'formList',
dataIndex: 'scheme', dataIndex: 'tiered_rates',
title: '阶梯标准', title: '阶梯标准',
formItemProps: { ...rulesHelper.array }, formItemProps: { ...rulesHelper.array },
initialValue: [ // initialValue: [
{ // {
start: 0, // start: 0,
end: null, // end: null,
price: null, // price: null,
}, // },
], // ],
fieldProps: { fieldProps: {
actionRef: actionRef, actionRef: actionRef,
copyIconProps: false, copyIconProps: false,
@ -337,7 +348,7 @@ export default function Update(props: MyBetaModalFormProps) {
colProps: { span: 24 }, colProps: { span: 24 },
columns: [ columns: [
{ {
key: 'start', key: 'min_quantity',
colProps: { span: 10 }, colProps: { span: 10 },
title: '起始值', title: '起始值',
valueType: 'number', valueType: 'number',
@ -354,7 +365,7 @@ export default function Update(props: MyBetaModalFormProps) {
formItemProps: { ...rulesHelper.number }, formItemProps: { ...rulesHelper.number },
}, },
{ {
key: 'end', key: 'max_quantity',
colProps: { span: 6 }, colProps: { span: 6 },
title: '结束值', title: '结束值',
valueType: 'number', valueType: 'number',

View File

@ -126,7 +126,7 @@ export default function Index({ title = '收费标准' }) {
...item, ...item,
}} }}
reload={action?.reload} reload={action?.reload}
title={'绑'} title={'绑房'}
/> />
<MyButtons.Delete <MyButtons.Delete
onConfirm={() => onConfirm={() =>

View File

@ -69,6 +69,17 @@ export default function Create(props: MyBetaModalFormProps) {
HouseChargeStandardsCalculationMethodEnum.PerUnit.value HouseChargeStandardsCalculationMethodEnum.PerUnit.value
? HouseChargeStandardsPriceAlgorithmEnum.Fixed.value ? HouseChargeStandardsPriceAlgorithmEnum.Fixed.value
: values?.price_algorithm, : values?.price_algorithm,
tiered_rates: values.tiered_rates?.map((res: any) => {
return {
...res,
};
}),
// 避免计费模式切换导致的价格异常
price:
values?.price_algorithm ===
HouseChargeStandardsPriceAlgorithmEnum.Fixed.value
? values.price
: 0,
}) })
.then(() => { .then(() => {
props.reload?.(); props.reload?.();
@ -261,7 +272,7 @@ export default function Create(props: MyBetaModalFormProps) {
? [ ? [
{ {
valueType: 'formList', valueType: 'formList',
dataIndex: 'scheme', dataIndex: 'tiered_rates',
title: '阶梯标准', title: '阶梯标准',
formItemProps: { ...rulesHelper.array }, formItemProps: { ...rulesHelper.array },
initialValue: [ initialValue: [
@ -328,7 +339,7 @@ export default function Create(props: MyBetaModalFormProps) {
? [ ? [
{ {
valueType: 'formList', valueType: 'formList',
dataIndex: 'scheme', dataIndex: 'tiered_rates',
title: '阶梯标准', title: '阶梯标准',
formItemProps: { ...rulesHelper.array }, formItemProps: { ...rulesHelper.array },
initialValue: [ initialValue: [

View File

@ -0,0 +1,115 @@
import {
MyButtons,
MyColumns,
MyPageContainer,
MyProTableProps,
usePageTabs,
} from '@/common';
import { Apis } from '@/gen/Apis';
import { ConvenienceServicesTypeEnum } from '@/gen/Enums';
import { ProTable } from '@ant-design/pro-components';
import { useNavigate } from '@umijs/max';
import { Space } from 'antd';
import BannerCreate from './modals/ServiceCreate';
import ServiceUpdate from './modals/ServiceUpdate';
export default function Index({ title = '便民服务' }) {
const navigate = useNavigate();
// 注册当前页面为标签页
usePageTabs({
tabKey: 'convenience_services',
tabLabel: title,
});
return (
<MyPageContainer
title={title}
enableTabs={true}
tabKey="banners"
tabLabel={title}
>
<ProTable
{...MyProTableProps.props}
request={async (params, sort) =>
MyProTableProps.request(
params,
sort,
Apis.Common.ConvenienceServices.List,
)
}
toolBarRender={(action) => [
<BannerCreate key="Create" reload={action?.reload} title={title} />,
]}
columns={[
MyColumns.ID(),
{
title: '关联项目',
dataIndex: ['asset_project', 'name'],
search: {
transform: (value) => {
return { project_name: value };
},
},
},
MyColumns.EnumTag({
title: '类型',
dataIndex: 'type',
valueEnum: ConvenienceServicesTypeEnum,
search: false,
}),
{
title: '服务名称',
dataIndex: 'name',
},
{
title: '联系方式',
render(_, record) {
const content = record?.content || [];
// 过滤有效数据
const validItems = content.filter(
(item: any) => item?.name && item?.phone,
);
return (
<div style={{ lineHeight: '1.6' }}>
{validItems.length > 0 ? (
validItems.map((item: any, index: number) => (
// 每个客户信息单独一行
<div key={index}>
{item.name}: {item.phone}
</div>
))
) : (
<span></span>
)}
</div>
);
},
search: false,
},
MyColumns.Option({
render: (_, item: any, index, action) => (
<Space key={index}>
<ServiceUpdate
item={item}
reload={action?.reload}
title={title}
/>
<MyButtons.Delete
onConfirm={() =>
Apis.Common.ConvenienceServices.Delete({
id: item.id,
}).then(() => action?.reload())
}
/>
</Space>
),
}),
]}
/>
</MyPageContainer>
);
}

View File

@ -0,0 +1,109 @@
import {
MyBetaModalFormProps,
MyButtons,
MyFormItems,
MyModalFormProps,
rulesHelper,
} from '@/common';
import { Selects } from '@/components/Select';
import { Apis } from '@/gen/Apis';
import { ConvenienceServicesTypeEnum } from '@/gen/Enums';
import { BetaSchemaForm } from '@ant-design/pro-components';
import { Form, message } from 'antd';
import { useRef } from 'react';
export default function Create(props: MyBetaModalFormProps) {
const [form] = Form.useForm();
const actionRef = useRef<any>();
return (
<BetaSchemaForm<ApiTypes.Common.ConvenienceServices.Store>
{...MyModalFormProps.props}
title={`添加便民服务`}
wrapperCol={{ span: 24 }}
width="600px"
trigger={<MyButtons.Create title={`添加便民服务`} />}
key={new Date().getTime()}
form={form}
onOpenChange={(open: any) => {
if (open) {
form.resetFields(); // 清空表单数据
}
}}
onFinish={async (values) =>
Apis.Common.ConvenienceServices.Store(values)
.then(() => {
props.reload?.();
message.success('添加便民服务成功');
return true;
})
.catch(() => false)
}
columns={[
MyFormItems.EnumRadio({
key: 'type',
title: '类型',
colProps: { span: 24 },
valueEnum: ConvenienceServicesTypeEnum,
required: true,
}),
{
key: 'name',
title: '名称',
colProps: { span: 12 },
formItemProps: { ...rulesHelper.text },
},
Selects?.AssetProjects({
key: 'asset_projects_id',
title: '项目',
colProps: { span: 12 },
formItemProps: { ...rulesHelper.text },
}),
{
valueType: 'formList',
dataIndex: 'content',
title: '服务内容',
formItemProps: { ...rulesHelper.array },
initialValue: [
{
name: null,
phone: null,
},
],
fieldProps: {
actionRef: actionRef,
copyIconProps: false,
// deleteIconProps: false,
},
columns: [
{
valueType: 'group',
colProps: { span: 24 },
columns: [
{
key: 'name',
colProps: { span: 12 },
// title: '服务名称',
fieldProps: {
addonBefore: '联系对象',
},
width: '100%',
formItemProps: { ...rulesHelper.text },
},
{
key: 'phone',
colProps: { span: 12 },
// title: '阶梯单价',
fieldProps: {
addonBefore: '联系电话',
},
formItemProps: { ...rulesHelper.text },
},
],
},
],
},
]}
/>
);
}

View File

@ -0,0 +1,112 @@
import {
MyBetaModalFormProps,
MyButtons,
MyFormItems,
MyModalFormProps,
rulesHelper,
} from '@/common';
import { Selects } from '@/components/Select';
import { Apis } from '@/gen/Apis';
import { ConvenienceServicesTypeEnum } from '@/gen/Enums';
import { BetaSchemaForm } from '@ant-design/pro-components';
import { Form, message } from 'antd';
import { useRef } from 'react';
export default function Update(props: MyBetaModalFormProps) {
const [form] = Form.useForm();
const actionRef = useRef<any>();
return (
<BetaSchemaForm<ApiTypes.Common.ConvenienceServices.Update>
{...MyModalFormProps.props}
title={`编辑便民服务`}
trigger={<MyButtons.Edit />}
wrapperCol={{ span: 24 }}
width="600px"
key={new Date().getTime()}
form={form}
onOpenChange={(open: any) => {
if (open && props.item) {
form.setFieldsValue(props.item);
}
}}
onFinish={async (values) =>
Apis.Common.ConvenienceServices.Update({
...values,
id: props.item?.id ?? 0,
})
.then(() => {
props.reload?.();
message.success('编辑便民服务成功');
return true;
})
.catch(() => false)
}
columns={[
MyFormItems.EnumRadio({
key: 'type',
title: '类型',
colProps: { span: 24 },
valueEnum: ConvenienceServicesTypeEnum,
required: true,
}),
{
key: 'name',
title: '名称',
colProps: { span: 12 },
formItemProps: { ...rulesHelper.text },
},
Selects?.AssetProjects({
key: 'asset_projects_id',
title: '项目',
colProps: { span: 12 },
formItemProps: { ...rulesHelper.text },
}),
{
valueType: 'formList',
dataIndex: 'content',
title: '服务内容',
formItemProps: { ...rulesHelper.array },
initialValue: [
{
name: null,
phone: null,
},
],
fieldProps: {
actionRef: actionRef,
copyIconProps: false,
// deleteIconProps: false,
},
columns: [
{
valueType: 'group',
colProps: { span: 24 },
columns: [
{
key: 'name',
colProps: { span: 12 },
// title: '服务名称',
fieldProps: {
addonBefore: '联系对象',
},
width: '100%',
formItemProps: { ...rulesHelper.text },
},
{
key: 'phone',
colProps: { span: 12 },
// title: '阶梯单价',
fieldProps: {
addonBefore: '联系电话',
},
formItemProps: { ...rulesHelper.text },
},
],
},
],
},
]}
/>
);
}