Merge pull request 'fix:更新装修验收指派' (#24) from develop into main
All checks were successful
Build and Push Docker Image / build (push) Successful in 5m1s

Reviewed-on: #24
This commit is contained in:
zsq 2026-05-07 14:51:06 +08:00
commit 667e7a407a
2 changed files with 131 additions and 122 deletions

View File

@ -1,4 +1,4 @@
import { MyColumns, MyProTableProps } from '@/common';
import { MyColumns, MyPageContainer, MyProTableProps } from '@/common';
import { Selects } from '@/components/Select';
import { Apis } from '@/gen/Apis';
import {
@ -18,129 +18,140 @@ export const RenovationWorkOrdersStatusEnum = {
Closed: { text: '已关闭', color: '#6C757D', value: 'Closed' },
};
export default function Index({ title = '装修巡检' }) {
export default function Index({ title = '装修验收' }) {
return (
<ProTable<Record<any, any>>
{...MyProTableProps.props}
headerTitle={title}
request={async (params, sort) => {
return MyProTableProps.request(
<MyPageContainer
title={title}
enableTabs={true}
tabKey="renovation_inspection_list"
tabLabel={title}
>
<ProTable<Record<any, any>>
{...MyProTableProps.props}
headerTitle={title}
request={async (params, sort) => {
return MyProTableProps.request(
{
...params,
type: [
HouseWorkOrdersTypeEnum.RenovationInspection.value,
HouseWorkOrdersTypeEnum.RenovationAcceptance.value,
],
},
sort,
Apis.WorkOrder.HouseWorkOrders.List,
);
}}
// toolBarRender={(action) => [toolBarRender(action)]}
columns={[
MyColumns.ID({ search: false }),
Selects?.AssetProjects({
title: '选择项目',
key: 'asset_projects_id',
hidden: true,
}),
MyColumns.EnumTag({
title: '处理状态',
dataIndex: 'status',
valueEnum: RenovationWorkOrdersStatusEnum,
}),
{
...params,
type: [
HouseWorkOrdersTypeEnum.RenovationInspection.value,
HouseWorkOrdersTypeEnum.RenovationAcceptance.value,
],
title: '项目名称',
dataIndex: 'project_name',
hidden: true,
},
sort,
Apis.WorkOrder.HouseWorkOrders.List,
);
}}
// toolBarRender={(action) => [toolBarRender(action)]}
columns={[
MyColumns.ID({ search: false }),
Selects?.AssetProjects({
title: '选择项目',
key: 'asset_projects_id',
hidden: true,
}),
MyColumns.EnumTag({
title: '处理状态',
dataIndex: 'status',
valueEnum: RenovationWorkOrdersStatusEnum,
}),
{
title: '项目名称',
dataIndex: 'project_name',
hidden: true,
},
MyColumns.EnumTag({
title: '分配状态',
dataIndex: 'assign_status',
valueEnum: HouseWorkOrdersAssignStatusEnum,
}),
MyColumns.EnumTag({
title: '工单类型',
dataIndex: 'type',
valueEnum: HouseWorkOrdersTypeEnum,
search: false,
}),
// MyColumns.EnumTag({
// title: '报修位置',
// dataIndex: 'location',
// valueEnum: HouseWorkOrdersLocationEnum,
// search: false,
// }),
{
title: '位置信息',
dataIndex: ['asset_house', 'full_name'],
render: (_, record) => {
return (
<Space>
{record?.asset_house?.full_name
? record?.asset_house?.full_name
: record?.asset_project?.name}
</Space>
);
},
search: {
transform: (value) => {
return { house_name: value };
MyColumns.EnumTag({
title: '分配状态',
dataIndex: 'assign_status',
valueEnum: HouseWorkOrdersAssignStatusEnum,
}),
MyColumns.EnumTag({
title: '工单类型',
dataIndex: 'type',
valueEnum: HouseWorkOrdersTypeEnum,
search: false,
}),
// MyColumns.EnumTag({
// title: '报修位置',
// dataIndex: 'location',
// valueEnum: HouseWorkOrdersLocationEnum,
// search: false,
// }),
{
title: '位置信息',
dataIndex: ['asset_house', 'full_name'],
render: (_, record) => {
return (
<Space>
{record?.asset_house?.full_name
? record?.asset_house?.full_name
: record?.asset_project?.name}
</Space>
);
},
search: {
transform: (value) => {
return { house_name: value };
},
},
},
},
// {
// title: '工单描述',
// dataIndex: 'content',
// search: false,
// width: 200, // 关键:固定列宽(若父容器过窄,可设 minWidth: 200 优先保证列宽)
// render: (text) => (
// <div
// style={{
// width: '100%', // 继承列宽
// // height: '60px', // 设置固定高度约显示3行文本
// overflow: 'hidden', // 超出隐藏
// textOverflow: 'ellipsis', // 省略号
// display: '-webkit-box',
// WebkitBoxOrient: 'vertical',
// WebkitLineClamp: 3, // 显示3行
// }}
// >
// {text}
// </div>
// ),
// },
MyColumns.EnumTag({
title: '优先级',
dataIndex: 'level',
valueEnum: HouseWorkOrdersLevelEnum,
search: false,
}),
// {
// title: '工单描述',
// dataIndex: 'content',
// search: false,
// width: 200, // 关键:固定列宽(若父容器过窄,可设 minWidth: 200 优先保证列宽)
// render: (text) => (
// <div
// style={{
// width: '100%', // 继承列宽
// // height: '60px', // 设置固定高度约显示3行文本
// overflow: 'hidden', // 超出隐藏
// textOverflow: 'ellipsis', // 省略号
// display: '-webkit-box',
// WebkitBoxOrient: 'vertical',
// WebkitLineClamp: 3, // 显示3行
// }}
// >
// {text}
// </div>
// ),
// },
MyColumns.EnumTag({
title: '优先级',
dataIndex: 'level',
valueEnum: HouseWorkOrdersLevelEnum,
search: false,
}),
{
title: '处理人',
dataIndex: ['assign_employee', 'name'],
search: false,
render: (_, record) => {
return `${record?.assign_employee?.name || ''}-${
record?.assign_employee?.phone || ''
}`;
{
title: '处理人',
dataIndex: ['assign_employee', 'name'],
search: false,
render: (_, record) => {
return `${record?.assign_employee?.name || ''}-${
record?.assign_employee?.phone || ''
}`;
},
},
},
MyColumns.CreatedAt(),
MyColumns.Option({
render: (_, item: any, index, action) => (
<Space key={index}>
<WorkOrderShow item={item} title="详情" reload={action?.reload} />
<RenovationAssign
item={item}
reload={action?.reload}
title="指派"
/>
</Space>
),
}),
]}
/>
MyColumns.CreatedAt(),
MyColumns.Option({
render: (_, item: any, index, action) => (
<Space key={index}>
<WorkOrderShow
item={item}
title="详情"
reload={action?.reload}
/>
<RenovationAssign
item={item}
reload={action?.reload}
title="指派"
/>
</Space>
),
}),
]}
/>
</MyPageContainer>
);
}

View File

@ -28,10 +28,8 @@ export default function WorkOrderAssign(
<MyButtons.Default
title={props.title || '指派'}
disabled={
!(
props?.item.assign_status === 'Unassigned' &&
props?.item.type === 'RenovationAcceptance'
)
props?.item.assign_status !== 'Unassigned' &&
props?.item.type === 'RenovationAcceptance'
}
type="primary"
/>