diff --git a/src/gen/ApiTypes.d.ts b/src/gen/ApiTypes.d.ts index 9337a58..d473266 100644 --- a/src/gen/ApiTypes.d.ts +++ b/src/gen/ApiTypes.d.ts @@ -151,6 +151,11 @@ declare namespace ApiTypes { "asset_houses_id"?: number; // 资产房屋ID "asset_projects_id"?: number; // 资产项目ID "status"?: string; // 状态,[enum:HouseOccupantsStatusEnum] + "name"?: string; // 客户姓名 + "phone"?: string; // 客户手机号 + "id_card"?: string; // 客户身份证号 + "house_name"?: string; // 房屋名称 + "project_name"?: string; // 项目名称 }; type CustomerList = { "name"?: string; // 客户姓名 @@ -198,6 +203,8 @@ declare namespace ApiTypes { "type"?: string[]; // 类型,[enum:HouseRegistersTypeEnum] "status"?: string; // 状态,[enum:HouseRegistersStatusEnum] "asset_houses_id"?: number; // 房屋ID + "customer_name"?: string; // 客户名称 + "project_name"?: string; // 模糊搜索:项目名称 }; type Store = { "asset_houses_id": number; // 房屋ID @@ -895,7 +902,7 @@ declare namespace ApiTypes { } namespace CompanyProjectReceiptAccounts { type List = { - "projects_id"?: number; // 所属项目id,[ref:asset_projects] + "asset_projects_id"?: number; // 所属项目id,[ref:asset_projects] }; type Store = { "projects_id": number; // 所属项目id,[ref:asset_projects] @@ -1191,7 +1198,7 @@ declare namespace ApiTypes { "tiered_rates"?: string[]; // 阶梯收费标准 "is_apportionment"?: number; // 是否分摊 "apportionment_method"?: string; // 分摊方式,[enum:HouseChargeStandardsApportionmentMethodEnum] - "has_late_fee"?: number; // 是否滞纳金 + "has_late_fee"?: boolean; // 是否滞纳金 "late_fee_start_days"?: number; // 生成几天后开始收取滞纳金 "late_fee_rate"?: number; // 滞纳金费率(百分比) "late_fee_cap_days"?: number; // 滞纳金封顶天数 @@ -1216,7 +1223,7 @@ declare namespace ApiTypes { "tiered_rates"?: string[]; // 阶梯收费标准 "is_apportionment"?: number; // 是否分摊 "apportionment_method"?: string; // 分摊方式,[enum:HouseChargeStandardsApportionmentMethodEnum] - "has_late_fee"?: number; // 是否滞纳金 + "has_late_fee"?: boolean; // 是否滞纳金 "late_fee_start_days"?: number; // 生成几天后开始收取滞纳金 "late_fee_rate"?: number; // 滞纳金费率(百分比) "late_fee_cap_days"?: number; // 滞纳金封顶天数 @@ -1255,11 +1262,15 @@ declare namespace ApiTypes { } namespace HouseChargeTasks { type List = { + "id"?: number; // id 任务id "charge_standard_name"?: string; // 模糊搜索:收费标准名称 "asset_projects_id"?: number; // 资产项目id,[ref:asset_projects] "status"?: string; // 任务状态,[enum:HouseChargeTasksStatusEnum] "type"?: string; // 类型,[enum:HouseChargeTasksTypeEnum] "project_name"?: string; // 资产项目名称 + "company_name"?: string; // 公司名称 + "bill_year"?: string; // 月份 + "bill_month"?: string; // 月份 }; type Store = { "house_charge_standards_id": number; // 房屋收费标准id,[ref:house_charge_standards] @@ -1422,6 +1433,9 @@ declare namespace ApiTypes { "total_payable_amount": number; // 应付金额 "bill_ids": string[]; // 账单id }; + type ImportOfflinePayment = { + "upload_file": mimes:xlsx,xls; // 上传文件 + }; } namespace HousePrepaymentLogs { type List = { @@ -1517,6 +1531,9 @@ declare namespace ApiTypes { type Delete = { "id": number; // id }; + type Import = { + "upload_file"?: mimes:xlsx,xls; // 上传的时候必填文件 + }; } namespace HouseMeterReadings { type List = { @@ -1573,6 +1590,10 @@ declare namespace ApiTypes { namespace HouseMeterTasks { type List = { "name"?: string; // 模糊搜索:名称 + "status"?: string; // 任务状态,[enum:HouseChargeTasksStatusEnum] + "generation_method"?: string; // 生成方式,[enum:HouseMeterTasksGenerationMethodEnum] + "bill_year"?: number; // 年份 + "bill_month"?: number; // 月份 }; type Store = { "asset_projects_id": number; // 资产项目id,[ref:asset_projects] @@ -1599,6 +1620,9 @@ declare namespace ApiTypes { "project_name"?: string; // 模糊搜索:项目名称 "charge_standards_id"?: number; // 房屋收费标准id,[ref:house_charge_standards] "meter_type"?: string; // 仪表类型,[enum:HouseMetersMeterTypeEnum] + "usage_type"?: string; // 使用类型,[enum:HouseMetersUsageTypeEnum] + "charge_standard_name"?: string; // 模糊搜索:收费标准名称 + "asset_houses_id"?: number; // 房屋id,[ref:asset_houses] }; type Store = { "asset_projects_id": number; // 项目id,[ref:asset_projects] @@ -1635,6 +1659,21 @@ declare namespace ApiTypes { type Delete = { "id": number; // id }; + type Import = { + "upload_file"?: mimes:xlsx,xls; // 上传的时候必填文件 + }; + type Export = { + "name"?: string; // 模糊搜索:名称 + "asset_projects_id"?: number; // 项目id,[ref:asset_projects] + "project_name"?: string; // 模糊搜索:项目名称 + "charge_standards_id"?: number; // 房屋收费标准id,[ref:house_charge_standards] + "meter_type"?: string; // 仪表类型,[enum:HouseMetersMeterTypeEnum] + "usage_type"?: string; // 使用类型,[enum:HouseMetersUsageTypeEnum] + "charge_standard_name"?: string; // 模糊搜索:收费标准名称 + "asset_houses_id"?: number; // 房屋id,[ref:asset_houses] + "download_type"?: string; // 下载类型:all-全部,page-当前页 + "current"?: number; // 当前页偏移量 + }; } } namespace Msg { @@ -1813,6 +1852,13 @@ declare namespace ApiTypes { "assign_status"?: string; // 工单分配状态,[enum:HouseWorkOrdersAssignStatusEnum] "reporter_name"?: string; // 模糊搜索:上报人姓名 "reporter_phone"?: string; // 模糊搜索:上报人手机 + "is_completed"?: boolean; // 是否完工:0否,1是 + "is_evaluated"?: boolean; // 是否评价: 0否,1是 + "is_visited"?: boolean; // 是否已访问: 0否,1是 + "location"?: string; // 报修位置[enum:HouseWorkOrdersLocationEnum] + "asset_projects_id"?: number; // 资产项目id,[ref:asset_projects] + "project_name"?: string; // 模糊搜索:项目名称 + "asset_houses_id"?: number; // 资产房屋id,[ref:asset_houses] }; type Store = { "type": string; // 工单类型,[enum:HouseWorkOrdersTypeEnum] diff --git a/src/gen/Apis.ts b/src/gen/Apis.ts index 8e4a4dd..2a8fd1b 100644 --- a/src/gen/Apis.ts +++ b/src/gen/Apis.ts @@ -784,6 +784,12 @@ export const Apis = { GetPayCode(data: ApiTypes.HouseOrder.HouseOrders.GetPayCode): Promise { return request('company/house_order/house_orders/get_pay_code', { data }); }, + DownloadOfflinePaymentTemplate(): Promise { + return request('company/house_order/house_orders/download_offline_payment_template', {responseType: 'blob',}); + }, + ImportOfflinePayment(data: ApiTypes.HouseOrder.HouseOrders.ImportOfflinePayment): Promise { + return request('company/house_order/house_orders/import_offline_payment', { data }); + }, }, HousePrepaymentLogs: { List(data?: ApiTypes.HouseOrder.HousePrepaymentLogs.List): Promise { @@ -856,6 +862,12 @@ export const Apis = { Delete(data: ApiTypes.Meter.HouseMeterHasHouses.Delete): Promise { return request('company/meter/house_meter_has_houses/delete', { data }); }, + Import(data?: ApiTypes.Meter.HouseMeterHasHouses.Import): Promise { + return request('company/meter/house_meter_has_houses/import', { data }); + }, + DownloadTemplate(): Promise { + return request('company/meter/house_meter_has_houses/download_template', {responseType: 'blob',}); + }, }, HouseMeterReadings: { List(data: ApiTypes.Meter.HouseMeterReadings.List): Promise { @@ -927,6 +939,15 @@ export const Apis = { Delete(data: ApiTypes.Meter.HouseMeters.Delete): Promise { return request('company/meter/house_meters/delete', { data }); }, + Import(data?: ApiTypes.Meter.HouseMeters.Import): Promise { + return request('company/meter/house_meters/import', { data }); + }, + DownloadTemplate(): Promise { + return request('company/meter/house_meters/download_template', {responseType: 'blob',}); + }, + Export(data?: ApiTypes.Meter.HouseMeters.Export): Promise { + return request('company/meter/house_meters/export', { responseType: 'blob',data }); + }, }, }, Msg: { diff --git a/src/gen/Enums.ts b/src/gen/Enums.ts index 2d0a7cf..9c33826 100644 --- a/src/gen/Enums.ts +++ b/src/gen/Enums.ts @@ -251,7 +251,7 @@ export const BannersTypeEnum= { // 缓存类型 export const CacheTypeEnum= { - 'MobilePhoneVerificationCode': {"text":"手机验证码","color":"#63f8de","value":"MobilePhoneVerificationCode"}, + 'MobilePhoneVerificationCode': {"text":"手机验证码","color":"#e482d3","value":"MobilePhoneVerificationCode"}, }; // CompaniesMerchantTypeEnum diff --git a/src/pages/meter/common_meter/index.tsx b/src/pages/meter/common_meter/index.tsx index 7664fa4..a06b02f 100644 --- a/src/pages/meter/common_meter/index.tsx +++ b/src/pages/meter/common_meter/index.tsx @@ -72,19 +72,19 @@ export default function CommonMeter({ title = '公摊表' }) { }} /> ), - update: , + has: ( + + ), }); let permissionsSpace = getCurrentPermissions({ - has: { + update: { key: '1', - label: ( - - ), + label: , }, delete: { key: '2', @@ -135,6 +135,20 @@ export default function CommonMeter({ title = '公摊表' }) { // search: { transform: (value) => ({ project_name: value }) } search: false, }, + { + title: '房屋', + render: (_, item: any) => { + return ( + + {item.house_meter_has_houses?.map( + (res: { full_name: string }) => { + return res?.full_name; + }, + )} + + ); + }, + }, { title: '仪表编号', dataIndex: 'name', diff --git a/src/pages/meter/house_meter/index.tsx b/src/pages/meter/house_meter/index.tsx index 2a743fb..c49c30b 100644 --- a/src/pages/meter/house_meter/index.tsx +++ b/src/pages/meter/house_meter/index.tsx @@ -72,19 +72,19 @@ export default function HouseMeter({ title = '房屋表' }) { }} /> ), - update: , + has: ( + + ), }); let permissionsSpace = getCurrentPermissions({ - has: { + update: { key: '1', - label: ( - - ), + label: , }, delete: { key: '2', @@ -135,6 +135,16 @@ export default function HouseMeter({ title = '房屋表' }) { // search: { transform: (value) => ({ project_name: value }) } search: false, }, + { + title: '房屋', + render: (_, item: any) => { + return item.house_meter_has_houses?.map( + (res: { full_name: string }) => { + return res?.full_name; + }, + ); + }, + }, { title: '仪表编号', dataIndex: 'name', @@ -205,14 +215,14 @@ export default function HouseMeter({ 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/readings/show/$id.tsx b/src/pages/meter/readings/show/$id.tsx index 77e303d..ae5aade 100644 --- a/src/pages/meter/readings/show/$id.tsx +++ b/src/pages/meter/readings/show/$id.tsx @@ -1,4 +1,4 @@ -import { MyPageContainer, usePageTabs } from '@/common'; +import { MyPageContainer } from '@/common'; import { Apis } from '@/gen/Apis'; import { ProCard } from '@ant-design/pro-components'; import { useParams } from '@umijs/max'; @@ -12,13 +12,6 @@ import Tasks from '../table/Tasks'; export default function Show({ title = '仪表详情' }) { const { id } = useParams<{ id: string }>(); const [data, setShow] = useState({}); - console.log('id', data); - - // 注册标签页 - const { addTab } = usePageTabs({ - tabKey: `meter-detail-${id}`, - tabLabel: `仪表:${data?.name}` || title, - }); const loadShow = () => { let paramsId: any = { id: id ?? 0 }; @@ -68,7 +61,12 @@ export default function Show({ title = '仪表详情' }) { ]; return ( - + diff --git a/src/pages/meter/readings/table/HasHouse.tsx b/src/pages/meter/readings/table/HasHouse.tsx index 0bb9ac4..ac7d61c 100644 --- a/src/pages/meter/readings/table/HasHouse.tsx +++ b/src/pages/meter/readings/table/HasHouse.tsx @@ -9,6 +9,8 @@ import { HouseMetersMeterTypeEnum } from '@/gen/Enums'; import { ProTable } from '@ant-design/pro-components'; import { useNavigate } from '@umijs/max'; import { Space } from 'antd'; +import MeterHasHouse from '../../house_meter/modals/MeterHasHouse'; +import MeterHasOne from '../../house_meter/modals/MeterHasOne'; export default function Index(props: MyBetaModalFormProps) { const navigate = useNavigate();