develop #2
@ -339,6 +339,43 @@ export const Selects = {
|
|||||||
},
|
},
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
|
//收款账号
|
||||||
|
ProjectReceiptAccountsSelect(props?: PropsType): ReturnType {
|
||||||
|
const {
|
||||||
|
title = '收款账户',
|
||||||
|
key = 'company_project_receipt_accounts_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.Company.CompanyProjectReceiptAccounts.ProjectReceiptAccountsSelect(
|
||||||
|
{
|
||||||
|
keywords: params?.keyWords,
|
||||||
|
projects_id: params?.asset_projects_id,
|
||||||
|
...params,
|
||||||
|
},
|
||||||
|
)
|
||||||
|
).data,
|
||||||
|
...rest,
|
||||||
|
fieldProps: {
|
||||||
|
showSearch: true,
|
||||||
|
fieldNames: {
|
||||||
|
label: 'label',
|
||||||
|
value: 'value',
|
||||||
|
},
|
||||||
|
...rest?.fieldProps,
|
||||||
|
},
|
||||||
|
};
|
||||||
|
},
|
||||||
//机构收款账户
|
//机构收款账户
|
||||||
CompanyAccounts(props?: PropsType): ReturnType {
|
CompanyAccounts(props?: PropsType): ReturnType {
|
||||||
const {
|
const {
|
||||||
|
|||||||
26
src/gen/ApiTypes.d.ts
vendored
26
src/gen/ApiTypes.d.ts
vendored
@ -195,7 +195,7 @@ declare namespace ApiTypes {
|
|||||||
namespace HouseRegisters {
|
namespace HouseRegisters {
|
||||||
type List = {
|
type List = {
|
||||||
"house_name"?: string; // 模糊搜索:房屋名称
|
"house_name"?: string; // 模糊搜索:房屋名称
|
||||||
"type"?: string; // 类型,[enum:HouseRegistersTypeEnum]
|
"type"?: string[]; // 类型,[enum:HouseRegistersTypeEnum]
|
||||||
"status"?: string; // 状态,[enum:HouseRegistersStatusEnum]
|
"status"?: string; // 状态,[enum:HouseRegistersStatusEnum]
|
||||||
"asset_houses_id"?: number; // 房屋ID
|
"asset_houses_id"?: number; // 房屋ID
|
||||||
};
|
};
|
||||||
@ -340,6 +340,17 @@ declare namespace ApiTypes {
|
|||||||
"asset_parking_places_id"?: number; // 所属车场id,[ref:asset_parking_places]
|
"asset_parking_places_id"?: number; // 所属车场id,[ref:asset_parking_places]
|
||||||
"keywords"?: string; // 关键词
|
"keywords"?: string; // 关键词
|
||||||
};
|
};
|
||||||
|
type Import = {
|
||||||
|
"asset_projects_id": number; // 所属项目id,[ref:asset_projects]
|
||||||
|
"upload_file": mimes:xlsx,xls; // 上传的Excel文件
|
||||||
|
};
|
||||||
|
type Export = {
|
||||||
|
"asset_projects_id"?: number; // 所属项目id,[ref:asset_projects]
|
||||||
|
"asset_parking_places_id"?: number; // 所属车场id,[ref:asset_parking_places]
|
||||||
|
"full_name"?: string; // 模糊搜索:名称
|
||||||
|
"current"?: number; // 页码
|
||||||
|
"download_type": string; // 下载类型:page 当前页(含查询条件),query 所有页(含查询条件),all所有记录
|
||||||
|
};
|
||||||
}
|
}
|
||||||
namespace AssetHouses {
|
namespace AssetHouses {
|
||||||
type List = {
|
type List = {
|
||||||
@ -660,6 +671,7 @@ declare namespace ApiTypes {
|
|||||||
"year"?: number; // 账单年份
|
"year"?: number; // 账单年份
|
||||||
"month"?: number; // 账单月份
|
"month"?: number; // 账单月份
|
||||||
"type"?: string; // 账单类型,[enum:HouseBillsTypeEnum]
|
"type"?: string; // 账单类型,[enum:HouseBillsTypeEnum]
|
||||||
|
"has_refunding"?: boolean; // 是否有退款中:false-无,true-有
|
||||||
};
|
};
|
||||||
type SummaryBillList = {
|
type SummaryBillList = {
|
||||||
"project_name"?: string; // 模糊搜索:项目名称
|
"project_name"?: string; // 模糊搜索:项目名称
|
||||||
@ -905,6 +917,9 @@ declare namespace ApiTypes {
|
|||||||
type Select = {
|
type Select = {
|
||||||
"projects_id"?: number; // 所属项目id,[ref:asset_projects]
|
"projects_id"?: number; // 所属项目id,[ref:asset_projects]
|
||||||
};
|
};
|
||||||
|
type ProjectReceiptAccountsSelect = {
|
||||||
|
"projects_id"?: number; // 所属项目id,[ref:asset_projects]
|
||||||
|
};
|
||||||
}
|
}
|
||||||
namespace CompanyPropertyBrands {
|
namespace CompanyPropertyBrands {
|
||||||
type List = {
|
type List = {
|
||||||
@ -1397,6 +1412,9 @@ declare namespace ApiTypes {
|
|||||||
"ids": string[]; // 订单ID数组
|
"ids": string[]; // 订单ID数组
|
||||||
"serial_number": string; // 流水号
|
"serial_number": string; // 流水号
|
||||||
};
|
};
|
||||||
|
type ImportSerialNumber = {
|
||||||
|
"upload_file": mimes:xlsx,xls; // 上传文件
|
||||||
|
};
|
||||||
type GetPayCode = {
|
type GetPayCode = {
|
||||||
"amount": number; // 金额
|
"amount": number; // 金额
|
||||||
"discount_amount"?: number; // 优惠金额
|
"discount_amount"?: number; // 优惠金额
|
||||||
@ -1531,6 +1549,9 @@ declare namespace ApiTypes {
|
|||||||
type Delete = {
|
type Delete = {
|
||||||
"id": number; // id
|
"id": number; // id
|
||||||
};
|
};
|
||||||
|
type Import = {
|
||||||
|
"upload_file": mimes:xlsx,xls; // 上传文件
|
||||||
|
};
|
||||||
}
|
}
|
||||||
namespace HouseMeterTaskDetails {
|
namespace HouseMeterTaskDetails {
|
||||||
type List = {
|
type List = {
|
||||||
@ -1760,6 +1781,9 @@ declare namespace ApiTypes {
|
|||||||
"status": string; // 工单状态,[enum:HouseWorkOrdersStatusEnum]
|
"status": string; // 工单状态,[enum:HouseWorkOrdersStatusEnum]
|
||||||
"description"?: string; // 进度描述
|
"description"?: string; // 进度描述
|
||||||
"attachments"?: string[]; // 附件
|
"attachments"?: string[]; // 附件
|
||||||
|
"is_fee"?: boolean; // 是否收费
|
||||||
|
"amount"?: number; // 收费金额
|
||||||
|
"company_project_receipt_accounts_id"?: number; // 收款账号id,[ref:company_project_receipt_accounts]
|
||||||
};
|
};
|
||||||
type Show = {
|
type Show = {
|
||||||
"id": number; // id
|
"id": number; // id
|
||||||
|
|||||||
@ -195,6 +195,15 @@ export const Apis = {
|
|||||||
Select(data?: ApiTypes.Asset.AssetCarPorts.Select): Promise<MyResponseType> {
|
Select(data?: ApiTypes.Asset.AssetCarPorts.Select): Promise<MyResponseType> {
|
||||||
return request('company/asset/asset_car_ports/select', { data });
|
return request('company/asset/asset_car_ports/select', { data });
|
||||||
},
|
},
|
||||||
|
Import(data: ApiTypes.Asset.AssetCarPorts.Import): Promise<MyResponseType> {
|
||||||
|
return request('company/asset/asset_car_ports/import', { data });
|
||||||
|
},
|
||||||
|
DownloadTemplate(): Promise<MyResponseType> {
|
||||||
|
return request('company/asset/asset_car_ports/download_template', {responseType: 'blob',});
|
||||||
|
},
|
||||||
|
Export(data: ApiTypes.Asset.AssetCarPorts.Export): Promise<MyResponseType> {
|
||||||
|
return request('company/asset/asset_car_ports/export', { responseType: 'blob',data });
|
||||||
|
},
|
||||||
},
|
},
|
||||||
AssetHouses: {
|
AssetHouses: {
|
||||||
List(data?: ApiTypes.Asset.AssetHouses.List): Promise<MyResponseType> {
|
List(data?: ApiTypes.Asset.AssetHouses.List): Promise<MyResponseType> {
|
||||||
@ -472,6 +481,9 @@ export const Apis = {
|
|||||||
Select(data?: ApiTypes.Company.CompanyProjectReceiptAccounts.Select): Promise<MyResponseType> {
|
Select(data?: ApiTypes.Company.CompanyProjectReceiptAccounts.Select): Promise<MyResponseType> {
|
||||||
return request('company/company/company_project_receipt_accounts/select', { data });
|
return request('company/company/company_project_receipt_accounts/select', { data });
|
||||||
},
|
},
|
||||||
|
ProjectReceiptAccountsSelect(data?: ApiTypes.Company.CompanyProjectReceiptAccounts.ProjectReceiptAccountsSelect): Promise<MyResponseType> {
|
||||||
|
return request('company/company/company_project_receipt_accounts/project_receipt_accounts_select', { data });
|
||||||
|
},
|
||||||
},
|
},
|
||||||
CompanyPropertyBrands: {
|
CompanyPropertyBrands: {
|
||||||
List(data?: ApiTypes.Company.CompanyPropertyBrands.List): Promise<MyResponseType> {
|
List(data?: ApiTypes.Company.CompanyPropertyBrands.List): Promise<MyResponseType> {
|
||||||
@ -763,6 +775,12 @@ export const Apis = {
|
|||||||
BatchUpdateSerialNumber(data: ApiTypes.HouseOrder.HouseOrders.BatchUpdateSerialNumber): Promise<MyResponseType> {
|
BatchUpdateSerialNumber(data: ApiTypes.HouseOrder.HouseOrders.BatchUpdateSerialNumber): Promise<MyResponseType> {
|
||||||
return request('company/house_order/house_orders/batch_update_serial_number', { data });
|
return request('company/house_order/house_orders/batch_update_serial_number', { data });
|
||||||
},
|
},
|
||||||
|
ImportSerialNumber(data: ApiTypes.HouseOrder.HouseOrders.ImportSerialNumber): Promise<MyResponseType> {
|
||||||
|
return request('company/house_order/house_orders/import_serial_number', { data });
|
||||||
|
},
|
||||||
|
DownloadSerialNumberTemplate(): Promise<MyResponseType> {
|
||||||
|
return request('company/house_order/house_orders/download_serial_number_template', {responseType: 'blob',});
|
||||||
|
},
|
||||||
GetPayCode(data: ApiTypes.HouseOrder.HouseOrders.GetPayCode): Promise<MyResponseType> {
|
GetPayCode(data: ApiTypes.HouseOrder.HouseOrders.GetPayCode): Promise<MyResponseType> {
|
||||||
return request('company/house_order/house_orders/get_pay_code', { data });
|
return request('company/house_order/house_orders/get_pay_code', { data });
|
||||||
},
|
},
|
||||||
@ -855,6 +873,12 @@ export const Apis = {
|
|||||||
Delete(data: ApiTypes.Meter.HouseMeterReadings.Delete): Promise<MyResponseType> {
|
Delete(data: ApiTypes.Meter.HouseMeterReadings.Delete): Promise<MyResponseType> {
|
||||||
return request('company/meter/house_meter_readings/delete', { data });
|
return request('company/meter/house_meter_readings/delete', { data });
|
||||||
},
|
},
|
||||||
|
Import(data: ApiTypes.Meter.HouseMeterReadings.Import): Promise<MyResponseType> {
|
||||||
|
return request('company/meter/house_meter_readings/import', { data });
|
||||||
|
},
|
||||||
|
DownloadTemplate(): Promise<MyResponseType> {
|
||||||
|
return request('company/meter/house_meter_readings/download_template', {responseType: 'blob',});
|
||||||
|
},
|
||||||
},
|
},
|
||||||
HouseMeterTaskDetails: {
|
HouseMeterTaskDetails: {
|
||||||
List(data?: ApiTypes.Meter.HouseMeterTaskDetails.List): Promise<MyResponseType> {
|
List(data?: ApiTypes.Meter.HouseMeterTaskDetails.List): Promise<MyResponseType> {
|
||||||
|
|||||||
@ -251,7 +251,7 @@ export const BannersTypeEnum= {
|
|||||||
|
|
||||||
// 缓存类型
|
// 缓存类型
|
||||||
export const CacheTypeEnum= {
|
export const CacheTypeEnum= {
|
||||||
'MobilePhoneVerificationCode': {"text":"手机验证码","color":"#bba798","value":"MobilePhoneVerificationCode"},
|
'MobilePhoneVerificationCode': {"text":"手机验证码","color":"#63f8de","value":"MobilePhoneVerificationCode"},
|
||||||
};
|
};
|
||||||
|
|
||||||
// CompaniesMerchantTypeEnum
|
// CompaniesMerchantTypeEnum
|
||||||
@ -406,9 +406,10 @@ export const GoodsReleasesStatusEnum= {
|
|||||||
|
|
||||||
// 账单状态枚举
|
// 账单状态枚举
|
||||||
export const HouseBillsBillStatusEnum= {
|
export const HouseBillsBillStatusEnum= {
|
||||||
'PendingPayment': {"text":"待支付","color":"#facc15","value":"PendingPayment"},
|
'PendingPayment': {"text":"待收款","color":"#facc15","value":"PendingPayment"},
|
||||||
'PartiallyPaid': {"text":"部分支付","color":"#60a5fa","value":"PartiallyPaid"},
|
'ToBeConfirmed': {"text":"待确认","color":"#fb923c","value":"ToBeConfirmed"},
|
||||||
'Paid': {"text":"已支付","color":"#10b981","value":"Paid"},
|
'PartiallyPaid': {"text":"部分收款","color":"#60a5fa","value":"PartiallyPaid"},
|
||||||
|
'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"},
|
||||||
};
|
};
|
||||||
@ -422,6 +423,7 @@ export const HouseBillsTypeEnum= {
|
|||||||
'SharedWaterFee': {"text":"公摊水费","color":"#8b5cf6","value":"SharedWaterFee"},
|
'SharedWaterFee': {"text":"公摊水费","color":"#8b5cf6","value":"SharedWaterFee"},
|
||||||
'SharedElectricityFee': {"text":"公摊电费","color":"#ec4899","value":"SharedElectricityFee"},
|
'SharedElectricityFee': {"text":"公摊电费","color":"#ec4899","value":"SharedElectricityFee"},
|
||||||
'CarPortFee': {"text":"车位费","color":"#f59e0b","value":"CarPortFee"},
|
'CarPortFee': {"text":"车位费","color":"#f59e0b","value":"CarPortFee"},
|
||||||
|
'WorkOrderRepairFee': {"text":"工单维修费","color":"#f97316","value":"WorkOrderRepairFee"},
|
||||||
};
|
};
|
||||||
|
|
||||||
// HouseChargeStandardsApportionmentMethodEnum
|
// HouseChargeStandardsApportionmentMethodEnum
|
||||||
@ -593,6 +595,7 @@ export const HouseOccupantsRelationWithOwnerEnum= {
|
|||||||
|
|
||||||
// HouseOccupantsResidentialRelationEnum
|
// HouseOccupantsResidentialRelationEnum
|
||||||
export const HouseOccupantsResidentialRelationEnum= {
|
export const HouseOccupantsResidentialRelationEnum= {
|
||||||
|
'PropertyOwner': {"text":"产权人","color":"#722ed1","value":"PropertyOwner"},
|
||||||
'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"},
|
||||||
@ -624,6 +627,7 @@ export const HouseOrdersAuditStatusEnum= {
|
|||||||
// 订单状态枚举
|
// 订单状态枚举
|
||||||
export const HouseOrdersOrderStatusEnum= {
|
export const HouseOrdersOrderStatusEnum= {
|
||||||
'Pending': {"text":"待支付","color":"#facc15","value":"Pending"},
|
'Pending': {"text":"待支付","color":"#facc15","value":"Pending"},
|
||||||
|
'ToBeConfirmed': {"text":"待确认","color":"#fb923c","value":"ToBeConfirmed"},
|
||||||
'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"},
|
||||||
|
|||||||
@ -1,29 +1,30 @@
|
|||||||
import { Apis } from '@/gen/Apis';
|
import { Apis } from '@/gen/Apis';
|
||||||
import { ProFormSelect, QueryFilter } from '@ant-design/pro-components';
|
import { ProFormSelect, QueryFilter } from '@ant-design/pro-components';
|
||||||
import { Form } from 'antd';
|
import { Form } from 'antd';
|
||||||
|
import { useState } from 'react';
|
||||||
type Props = {
|
type Props = {
|
||||||
onChange?: (value: any) => void;
|
onChange?: (value: any) => void;
|
||||||
};
|
};
|
||||||
export default function Search(props: Props) {
|
export default function Search(props: Props) {
|
||||||
const [form] = Form.useForm();
|
const [form] = Form.useForm();
|
||||||
|
const [assetProjectsId, setAssetProjectsId] = useState<any>();
|
||||||
|
const [assetBuildingsId, setAssetBuildingsId] = useState<any>();
|
||||||
|
const [assetUnitsId, setAssetUnitsId] = useState<any>();
|
||||||
return (
|
return (
|
||||||
<QueryFilter
|
<QueryFilter
|
||||||
style={{ backgroundColor: '#fff' }}
|
style={{ backgroundColor: '#fff' }}
|
||||||
defaultCollapsed
|
defaultCollapsed
|
||||||
split
|
split
|
||||||
form={form}
|
form={form}
|
||||||
|
span={6}
|
||||||
onFinish={props?.onChange}
|
onFinish={props?.onChange}
|
||||||
onReset={() => {
|
onReset={() => {
|
||||||
props?.onChange?.(form?.getFieldsValue() || {});
|
props?.onChange?.(form?.getFieldsValue() || {});
|
||||||
}}
|
}}
|
||||||
>
|
>
|
||||||
<ProFormSelect
|
<ProFormSelect
|
||||||
name="asset_houses_id"
|
name="asset_projects_id"
|
||||||
label="房屋"
|
label="选择项目"
|
||||||
valueEnum={{
|
|
||||||
open: '未解决',
|
|
||||||
closed: '已解决',
|
|
||||||
}}
|
|
||||||
request={async (params) => {
|
request={async (params) => {
|
||||||
let res = await Apis.Asset.AssetProjects.Select({
|
let res = await Apis.Asset.AssetProjects.Select({
|
||||||
keywords: params?.keyWords,
|
keywords: params?.keyWords,
|
||||||
@ -31,6 +32,76 @@ export default function Search(props: Props) {
|
|||||||
});
|
});
|
||||||
return res?.data;
|
return res?.data;
|
||||||
}}
|
}}
|
||||||
|
fieldProps={{
|
||||||
|
showSearch: true,
|
||||||
|
}}
|
||||||
|
onChange={(e: any) => {
|
||||||
|
console.log(e, 'e');
|
||||||
|
setAssetProjectsId(e);
|
||||||
|
}}
|
||||||
|
placeholder="请选择项目"
|
||||||
|
/>
|
||||||
|
<ProFormSelect
|
||||||
|
name="asset_buildings_id"
|
||||||
|
label="选择楼栋"
|
||||||
|
params={{
|
||||||
|
asset_projects_id: assetProjectsId,
|
||||||
|
}}
|
||||||
|
fieldProps={{
|
||||||
|
showSearch: true,
|
||||||
|
}}
|
||||||
|
onChange={(e: any) => {
|
||||||
|
setAssetBuildingsId(e);
|
||||||
|
}}
|
||||||
|
request={async (params) => {
|
||||||
|
let res = await Apis.Asset.AssetBuildings.Select({
|
||||||
|
keywords: params?.keyWords,
|
||||||
|
...params,
|
||||||
|
});
|
||||||
|
return res?.data;
|
||||||
|
}}
|
||||||
|
placeholder="请选择楼栋"
|
||||||
|
/>
|
||||||
|
<ProFormSelect
|
||||||
|
name="asset_units_id"
|
||||||
|
label="选择单元"
|
||||||
|
params={{
|
||||||
|
asset_projects_id: assetProjectsId,
|
||||||
|
asset_buildings_id: assetBuildingsId,
|
||||||
|
}}
|
||||||
|
fieldProps={{
|
||||||
|
showSearch: true,
|
||||||
|
}}
|
||||||
|
onChange={(e: any) => {
|
||||||
|
setAssetUnitsId(e);
|
||||||
|
}}
|
||||||
|
request={async (params) => {
|
||||||
|
let res = await Apis.Asset.AssetUnits.Select({
|
||||||
|
keywords: params?.keyWords,
|
||||||
|
...params,
|
||||||
|
});
|
||||||
|
return res?.data;
|
||||||
|
}}
|
||||||
|
placeholder="请选择单元"
|
||||||
|
/>
|
||||||
|
<ProFormSelect
|
||||||
|
name="asset_houses_id"
|
||||||
|
label="选择房屋"
|
||||||
|
params={{
|
||||||
|
asset_projects_id: assetProjectsId,
|
||||||
|
asset_buildings_id: assetBuildingsId,
|
||||||
|
asset_units_id: assetUnitsId,
|
||||||
|
}}
|
||||||
|
fieldProps={{
|
||||||
|
showSearch: true,
|
||||||
|
}}
|
||||||
|
request={async (params) => {
|
||||||
|
let res = await Apis.Asset.AssetHouses.Select({
|
||||||
|
keywords: params?.keyWords,
|
||||||
|
...params,
|
||||||
|
});
|
||||||
|
return res?.data;
|
||||||
|
}}
|
||||||
placeholder="请选择房屋"
|
placeholder="请选择房屋"
|
||||||
/>
|
/>
|
||||||
</QueryFilter>
|
</QueryFilter>
|
||||||
|
|||||||
@ -72,10 +72,16 @@ export default function Index({ title = '房屋账单' }) {
|
|||||||
onChange={(values) => {
|
onChange={(values) => {
|
||||||
setParams({
|
setParams({
|
||||||
asset_houses_id: values?.asset_houses_id || '',
|
asset_houses_id: values?.asset_houses_id || '',
|
||||||
|
asset_projects_id: values?.asset_projects_id || '',
|
||||||
|
asset_buildings_id: values?.asset_buildings_id || '',
|
||||||
|
asset_units_id: values?.asset_units_id || '',
|
||||||
page: 1,
|
page: 1,
|
||||||
});
|
});
|
||||||
getSummaryBillList({
|
getSummaryBillList({
|
||||||
asset_houses_id: values?.asset_houses_id || '',
|
asset_houses_id: values?.asset_houses_id || '',
|
||||||
|
asset_projects_id: values?.asset_projects_id || '',
|
||||||
|
asset_buildings_id: values?.asset_buildings_id || '',
|
||||||
|
asset_units_id: values?.asset_units_id || '',
|
||||||
page: 1,
|
page: 1,
|
||||||
});
|
});
|
||||||
}}
|
}}
|
||||||
|
|||||||
@ -128,7 +128,7 @@ export default function WorkLogsCreate({
|
|||||||
placeholder: '请输入客户需支付的金额',
|
placeholder: '请输入客户需支付的金额',
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
Selects?.ProjectAccounts({
|
Selects?.ProjectReceiptAccountsSelect({
|
||||||
key: 'company_project_receipt_accounts_id',
|
key: 'company_project_receipt_accounts_id',
|
||||||
title: '选择账户',
|
title: '选择账户',
|
||||||
params: {
|
params: {
|
||||||
|
|||||||
@ -17,7 +17,6 @@ export default function Index({ title = '未回访工单' }) {
|
|||||||
{
|
{
|
||||||
show: (
|
show: (
|
||||||
<>
|
<>
|
||||||
{' '}
|
|
||||||
{item.is_visited === 0 && (
|
{item.is_visited === 0 && (
|
||||||
<WorkOrderShow item={item} title="回访" reload={action?.reload} />
|
<WorkOrderShow item={item} title="回访" reload={action?.reload} />
|
||||||
)}
|
)}
|
||||||
|
|||||||
@ -1,29 +1,27 @@
|
|||||||
import { MyPageContainer, useCurrentPermissions } from '@/common';
|
import { MyPageContainer } from '@/common';
|
||||||
import { useNavigate, useSearchParams } from '@umijs/max';
|
import { useNavigate, useSearchParams } from '@umijs/max';
|
||||||
import type { TabsProps } from 'antd';
|
import type { TabsProps } from 'antd';
|
||||||
import { Button, Tabs } from 'antd';
|
import { Tabs } from 'antd';
|
||||||
import { useEffect, useState } from 'react';
|
import { useEffect, useState } from 'react';
|
||||||
import IsVisited from './components/IsVisited';
|
import IsVisited from './components/IsVisited';
|
||||||
import NoVisited from './components/NoVisited';
|
import NoVisited from './components/NoVisited';
|
||||||
|
|
||||||
export default function Index({ title = '工单回访' }) {
|
export default function Index({ title = '工单回访' }) {
|
||||||
const getCurrentPermissions = useCurrentPermissions();
|
|
||||||
|
|
||||||
const [searchParams] = useSearchParams();
|
const [searchParams] = useSearchParams();
|
||||||
const [activeKey, setActiveKey] = useState('1');
|
const [activeKey, setActiveKey] = useState('1');
|
||||||
const navigate = useNavigate();
|
const navigate = useNavigate();
|
||||||
const items: TabsProps['items'] = getCurrentPermissions({
|
const items: TabsProps['items'] = [
|
||||||
NoVisited: {
|
{
|
||||||
key: 'NoVisited',
|
key: 'NoVisited',
|
||||||
label: '未回访工单',
|
label: '未回访工单',
|
||||||
children: <NoVisited />,
|
children: <NoVisited />,
|
||||||
},
|
},
|
||||||
IsVisited: {
|
{
|
||||||
key: 'IsVisited',
|
key: 'IsVisited',
|
||||||
label: '已回访工单',
|
label: '已回访工单',
|
||||||
children: <IsVisited />,
|
children: <IsVisited />,
|
||||||
},
|
},
|
||||||
});
|
];
|
||||||
|
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
if (searchParams?.get('key')) {
|
if (searchParams?.get('key')) {
|
||||||
@ -38,21 +36,7 @@ export default function Index({ title = '工单回访' }) {
|
|||||||
tabKey="visited"
|
tabKey="visited"
|
||||||
tabLabel={title}
|
tabLabel={title}
|
||||||
>
|
>
|
||||||
<Tabs
|
<Tabs defaultActiveKey={activeKey} items={items} type="card" />
|
||||||
defaultActiveKey={activeKey}
|
|
||||||
items={items}
|
|
||||||
type="card"
|
|
||||||
tabBarExtraContent={{
|
|
||||||
right: (
|
|
||||||
<Button
|
|
||||||
type="primary"
|
|
||||||
onClick={() => navigate('/work_order/work_bi')}
|
|
||||||
>
|
|
||||||
返回工单BI
|
|
||||||
</Button>
|
|
||||||
),
|
|
||||||
}}
|
|
||||||
/>
|
|
||||||
</MyPageContainer>
|
</MyPageContainer>
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user