Merge pull request 'fix:更新金刚区' (#3) from develop into main
All checks were successful
Build and Push Docker Image / build (push) Successful in 4m43s

Reviewed-on: #3
This commit is contained in:
zsq 2026-01-29 09:24:04 +08:00
commit d45102e2db
23 changed files with 110 additions and 99 deletions

Binary file not shown.

Before

Width:  |  Height:  |  Size: 161 KiB

After

Width:  |  Height:  |  Size: 12 KiB

View File

@ -257,6 +257,7 @@ export function MyPageContainer({
<PageContainer <PageContainer
fixedHeader fixedHeader
header={{ header={{
breadcrumb: {},
title: ( title: (
<Space style={{ fontSize: '12px', cursor: 'pointer', color: '#999' }}> <Space style={{ fontSize: '12px', cursor: 'pointer', color: '#999' }}>
<Breadcrumb <Breadcrumb

View File

@ -45,7 +45,7 @@ export function MyLoginPage() {
title={ title={
<div style={{ display: 'flex', alignItems: 'center', gap: 12 }}> <div style={{ display: 'flex', alignItems: 'center', gap: 12 }}>
{/* <img src={gcLogo} style={{ height: 30, width: 'auto' }} /> */} {/* <img src={gcLogo} style={{ height: 30, width: 'auto' }} /> */}
<span style={{ color: '#b1b1b1ff', fontSize: 20 }}>|</span> {/* <span style={{ color: '#b1b1b1ff', fontSize: 20 }}>|</span> */}
<span style={{ color: token.colorTextBase, fontSize: 21 }}> <span style={{ color: token.colorTextBase, fontSize: 21 }}>
</span> </span>

View File

@ -76,11 +76,12 @@ export default function Index({ title = '房屋列表' }) {
{ {
title: '项目名称', title: '项目名称',
dataIndex: ['asset_project', 'name'], dataIndex: ['asset_project', 'name'],
search: { search: false,
transform: (value) => { // search: {
return { project_name: value }; // transform: (value) => {
}, // return { project_name: value };
}, // },
// },
}, },
{ {
title: '房屋名称', title: '房屋名称',

View File

@ -66,11 +66,12 @@ export default function Index({ title = '车场车位' }) {
{ {
title: '项目名称', title: '项目名称',
dataIndex: ['asset_project', 'name'], dataIndex: ['asset_project', 'name'],
search: { search: false,
transform: (value) => { // search: {
return { project_name: value }; // transform: (value) => {
}, // return { project_name: value };
}, // },
// },
}, },
{ {
title: '车场名称', title: '车场名称',

View File

@ -166,17 +166,17 @@ export default function Index({ title = '线上收款单' }) {
}, },
{ {
title: '收款账户', title: '收款账户',
dataIndex: ['receipt_account', 'company_name'], dataIndex: 'accept_name',
// search: false, // search: false,
}, },
{ {
title: '收款银行', title: '收款银行',
dataIndex: ['receipt_account', 'company_bank'], dataIndex: 'accept_bank',
// search: false, // search: false,
}, },
{ {
title: '收款账号', title: '收款账号',
dataIndex: ['receipt_account', 'company_account'], dataIndex: 'accept_account',
// search: false, // search: false,
}, },
{ {

View File

@ -49,11 +49,12 @@ export default function Index({ title = '电费标准' }) {
{ {
title: '关联项目', title: '关联项目',
dataIndex: ['asset_project', 'name'], dataIndex: ['asset_project', 'name'],
search: { search: false,
transform: (value) => { // search: {
return { project_name: value }; // transform: (value) => {
}, // return { project_name: value };
}, // },
// },
}, },
{ {
title: '收费名称', title: '收费名称',

View File

@ -50,11 +50,12 @@ export default function Index({ title = '维修基金标准' }) {
{ {
title: '关联项目', title: '关联项目',
dataIndex: ['asset_project', 'name'], dataIndex: ['asset_project', 'name'],
search: { search: false,
transform: (value) => { // search: {
return { project_name: value }; // transform: (value) => {
}, // return { project_name: value };
}, // },
// },
}, },
{ {
title: '收费名称', title: '收费名称',

View File

@ -50,11 +50,12 @@ export default function Index({ title = '物业费标准' }) {
{ {
title: '关联项目', title: '关联项目',
dataIndex: ['asset_project', 'name'], dataIndex: ['asset_project', 'name'],
search: { search: false,
transform: (value) => { // search: {
return { project_name: value }; // transform: (value) => {
}, // return { project_name: value };
}, // },
// },
}, },
{ {
title: '收费名称', title: '收费名称',

View File

@ -49,11 +49,12 @@ export default function Index({ title = '公摊电费标准' }) {
{ {
title: '关联项目', title: '关联项目',
dataIndex: ['asset_project', 'name'], dataIndex: ['asset_project', 'name'],
search: { search: false,
transform: (value) => { // search: {
return { project_name: value }; // transform: (value) => {
}, // return { project_name: value };
}, // },
// },
}, },
{ {
title: '收费名称', title: '收费名称',

View File

@ -49,11 +49,12 @@ export default function Index({ title = '公摊水费标准' }) {
{ {
title: '关联项目', title: '关联项目',
dataIndex: ['asset_project', 'name'], dataIndex: ['asset_project', 'name'],
search: { search: false,
transform: (value) => { // search: {
return { project_name: value }; // transform: (value) => {
}, // return { project_name: value };
}, // },
// },
}, },
{ {
title: '收费名称', title: '收费名称',

View File

@ -45,11 +45,12 @@ export default function Index({ title = '水费标准' }) {
{ {
title: '关联项目', title: '关联项目',
dataIndex: ['asset_project', 'name'], dataIndex: ['asset_project', 'name'],
search: { search: false,
transform: (value) => { // search: {
return { project_name: value }; // transform: (value) => {
}, // return { project_name: value };
}, // },
// },
}, },
{ {
title: '收费名称', title: '收费名称',

View File

@ -11,6 +11,7 @@ import { ProTable } from '@ant-design/pro-components';
import { Dropdown, Space } from 'antd'; import { Dropdown, Space } from 'antd';
import Change from './modals/Change'; import Change from './modals/Change';
import { Selects } from '@/components/Select';
import EmployeeCreate from './modals/EmployeeCreate'; import EmployeeCreate from './modals/EmployeeCreate';
import EmployeeUpdate from './modals/EmployeeUpdate'; import EmployeeUpdate from './modals/EmployeeUpdate';
import Role from './modals/Role'; import Role from './modals/Role';
@ -96,14 +97,24 @@ export default function Index({ title = '员工管理' }) {
MyColumns.ID({ MyColumns.ID({
search: false, search: false,
}), }),
Selects?.OrganizationsTree({
title: '选择组织',
key: 'organizations_id',
search: {
transform: (value) => {
return { organizations_id: value[value.length - 1] };
},
},
}),
{ {
title: '所在组织', title: '所在组织',
dataIndex: 'organization_path', dataIndex: 'organization_path',
search: { search: false,
transform: (value) => { // search: {
return { organization_name: value }; // transform: (value) => {
}, // return { organization_name: value };
}, // },
// },
}, },
{ {
title: '姓名', title: '姓名',

View File

@ -82,7 +82,7 @@ export default function Show(props: MyBetaModalFormProps) {
<HouseInfo item={data} reload={loadShow} /> <HouseInfo item={data} reload={loadShow} />
{id && <SummaryInfo item={{ ...data, id: id }} reload={loadShow} />} {id && <SummaryInfo item={{ ...data, id: id }} reload={loadShow} />}
<ProCard style={{ marginTop: 16 }}> <ProCard style={{ marginTop: 16 }}>
<Tabs type="card" items={items} defaultActiveKey="1" size="small" /> <Tabs type="card" items={items} defaultActiveKey="1" />
</ProCard> </ProCard>
</> </>
); );

View File

@ -5,7 +5,7 @@ export default function Login() {
<div> <div>
<MyLoginPage /> <MyLoginPage />
<div className="filing_info"> <div className="filing_info">
XXXX有限公| |
<a <a
href="https://beian.miit.gov.cn/#/Integrated/index" href="https://beian.miit.gov.cn/#/Integrated/index"
target="_blank" target="_blank"

View File

@ -31,7 +31,7 @@ export default function Index({ title = '仪表管理' }) {
<MyPageContainer <MyPageContainer
title={title} title={title}
enableTabs={true} enableTabs={true}
tabKey="resources_page" tabKey="meter_resources_page"
tabLabel={title} tabLabel={title}
> >
<Tabs type="card" defaultActiveKey={activeKey} items={items} /> <Tabs type="card" defaultActiveKey={activeKey} items={items} />

View File

@ -51,7 +51,7 @@ export default function Index({ title = '抄表数据' }) {
<MyPageContainer <MyPageContainer
title={title} title={title}
enableTabs={true} enableTabs={true}
tabKey="house_meter_readings" tabKey="house_meter_data_readings"
tabLabel={title} tabLabel={title}
> >
<ProTable <ProTable

View File

@ -3,7 +3,6 @@ import {
MyColumns, MyColumns,
MyPageContainer, MyPageContainer,
MyProTableProps, MyProTableProps,
usePageTabs,
} from '@/common'; } from '@/common';
import { Apis } from '@/gen/Apis'; import { Apis } from '@/gen/Apis';
import { import {
@ -16,18 +15,12 @@ import { Space } from 'antd';
import TaskCreate from './modals/TaskCreate'; import TaskCreate from './modals/TaskCreate';
import TaskShow from './modals/TaskShow'; import TaskShow from './modals/TaskShow';
export default function Index({ title = '仪表任务' }) { export default function Index({ title = '仪表账单生成' }) {
// 注册当前页面为标签页
usePageTabs({
tabKey: 'house_meter_tasks',
tabLabel: title,
});
return ( return (
<MyPageContainer <MyPageContainer
title={title} title={title}
enableTabs={true} enableTabs={true}
tabKey="house_charge_tasks" tabKey="house_charge_tasks_bill"
tabLabel={title} tabLabel={title}
> >
<ProTable <ProTable
@ -55,6 +48,21 @@ export default function Index({ title = '仪表任务' }) {
dataIndex: 'generation_method', dataIndex: 'generation_method',
valueEnum: HouseMeterTasksGenerationMethodEnum, valueEnum: HouseMeterTasksGenerationMethodEnum,
}), }),
{
title: '选择年份',
dataIndex: 'bill_year',
valueType: 'dateYear',
hidden: true,
},
{
title: '选择月份',
dataIndex: 'bill_month',
valueType: 'dateMonth',
hidden: true,
fieldProps: {
format: 'MM',
},
},
// { // {
// title: '收费标准', // title: '收费标准',
// dataIndex: ['house_charge_standard', 'name'], // dataIndex: ['house_charge_standard', 'name'],
@ -62,6 +70,7 @@ export default function Index({ title = '仪表任务' }) {
// }, // },
{ {
title: '账单月份', title: '账单月份',
search: false,
render: (_, record) => { render: (_, record) => {
return `${record.bill_year}-${String(record.bill_month).padStart( return `${record.bill_year}-${String(record.bill_month).padStart(
2, 2,

View File

@ -51,6 +51,8 @@ export default function Index({ title = '客户评价' }) {
Apis.WorkOrder.HouseWorkOrders.List, Apis.WorkOrder.HouseWorkOrders.List,
) )
} }
headerTitle="评价列表"
search={false}
columns={[ columns={[
MyColumns.ID({ MyColumns.ID({
search: false, search: false,

View File

@ -39,7 +39,12 @@ export default function WorkOrderShow({
return ( return (
<> <>
<MyButtons.Default onClick={handleOpen} type={'primary'} title={title} /> <MyButtons.Default
onClick={handleOpen}
disabled={item?.is_visited}
type={'primary'}
title={title}
/>
<Modal <Modal
title={title} title={title}
open={open} open={open}

View File

@ -1,4 +1,4 @@
import { MyColumns, MyProTableProps, useCurrentPermissions } from '@/common'; import { MyColumns, MyProTableProps } from '@/common';
import { Selects } from '@/components/Select'; import { Selects } from '@/components/Select';
import { Apis } from '@/gen/Apis'; import { Apis } from '@/gen/Apis';
import { import {
@ -11,17 +11,6 @@ import { Space } from 'antd';
import WorkOrderShow from '../../list/modals/WorkOrderShow'; import WorkOrderShow from '../../list/modals/WorkOrderShow';
export default function Index({ title = '已回访工单' }) { export default function Index({ title = '已回访工单' }) {
const getCurrentPermissions = useCurrentPermissions();
let tableRender = (item: any, action: any) => {
return getCurrentPermissions(
{
show: (
<WorkOrderShow item={item} title="详情" reload={action?.reload} />
),
},
'IsVisited',
);
};
return ( return (
<ProTable <ProTable
{...MyProTableProps.props} {...MyProTableProps.props}
@ -144,7 +133,10 @@ export default function Index({ title = '已回访工单' }) {
// MyColumns.CreatedAt(), // MyColumns.CreatedAt(),
MyColumns.Option({ MyColumns.Option({
render: (_, item: any, index, action) => ( render: (_, item: any, index, action) => (
<Space key={index}>{tableRender(item, action)}</Space> <Space key={index}>
{' '}
<WorkOrderShow item={item} title="详情" reload={action?.reload} />
</Space>
), ),
}), }),
]} ]}

View File

@ -1,4 +1,4 @@
import { MyColumns, MyProTableProps, useCurrentPermissions } from '@/common'; import { MyColumns, MyProTableProps } from '@/common';
import { Selects } from '@/components/Select'; import { Selects } from '@/components/Select';
import { Apis } from '@/gen/Apis'; import { Apis } from '@/gen/Apis';
import { import {
@ -11,21 +11,6 @@ import { Space } from 'antd';
import WorkOrderShow from '../../list/modals/WorkOrderShow'; import WorkOrderShow from '../../list/modals/WorkOrderShow';
export default function Index({ title = '未回访工单' }) { export default function Index({ title = '未回访工单' }) {
const getCurrentPermissions = useCurrentPermissions();
let tableRender = (item: any, action: any) => {
return getCurrentPermissions(
{
show: (
<>
{item.is_visited === 0 && (
<WorkOrderShow item={item} title="回访" reload={action?.reload} />
)}
</>
),
},
'NoVisited',
);
};
return ( return (
<ProTable <ProTable
{...MyProTableProps.props} {...MyProTableProps.props}
@ -86,10 +71,6 @@ export default function Index({ title = '未回访工单' }) {
title: '位置信息', title: '位置信息',
dataIndex: ['asset_house', 'full_name'], dataIndex: ['asset_house', 'full_name'],
render: (_, record) => { render: (_, record) => {
const locationConfig =
HouseWorkOrdersLocationEnum[
record.location as keyof typeof HouseWorkOrdersLocationEnum
];
return ( return (
<Space> <Space>
{record?.asset_house?.full_name {record?.asset_house?.full_name
@ -141,7 +122,9 @@ export default function Index({ title = '未回访工单' }) {
MyColumns.Option({ MyColumns.Option({
width: 120, width: 120,
render: (_, item: any, index, action) => ( render: (_, item: any, index, action) => (
<Space key={index}>{tableRender(item, action)}</Space> <Space key={index}>
<WorkOrderShow item={item} title="回访" reload={action?.reload} />
</Space>
), ),
}), }),
]} ]}

View File

@ -1,5 +1,5 @@
import { MyPageContainer } from '@/common'; import { MyPageContainer } from '@/common';
import { useNavigate, useSearchParams } from '@umijs/max'; import { useSearchParams } from '@umijs/max';
import type { TabsProps } from 'antd'; import type { TabsProps } from 'antd';
import { Tabs } from 'antd'; import { Tabs } from 'antd';
import { useEffect, useState } from 'react'; import { useEffect, useState } from 'react';
@ -9,7 +9,7 @@ import NoVisited from './components/NoVisited';
export default function Index({ title = '工单回访' }) { export default function Index({ title = '工单回访' }) {
const [searchParams] = useSearchParams(); const [searchParams] = useSearchParams();
const [activeKey, setActiveKey] = useState('1'); const [activeKey, setActiveKey] = useState('1');
const navigate = useNavigate();
const items: TabsProps['items'] = [ const items: TabsProps['items'] = [
{ {
key: 'NoVisited', key: 'NoVisited',