import * as React from 'react';
import { useState, useMemo, useRef } from 'react';
import DrawerPro from '@/components/DrawerPro';
import AutoTable from '@/components/AutoTable';
import AutoTables from '@/components/AutoTable/mtable';
import PremButton from '@/components/PremButton';
import getcolumns from './columns';
import { useRequest } from 'ahooks';
import { doFetch } from '@/utils/doFetch';
function Order(props) {
const actionRef = useRef(),
formRef = useRef();
const [drawer, setdrawer] = useState({
open: false,
});
const pathconfig = useMemo(() => {
let pathconf = getcolumns(setdrawer)?.pathconfig ?? {};
return pathconf;
}, []);
const { run, loading, runAsync } = useRequest(doFetch, {
manual: true,
onSuccess: (res, params) => {
if (res?.code == '0000') {
actionRef?.current?.reload();
setdrawer((s) => ({
...s,
open: false,
}));
}
},
});
const detail = (text, row, _, action) => {
return (
{
setdrawer((s) => ({
...s,
open: true,
item: row,
title: '详情',
val: 'detail',
title: '详细信息',
}));
},
}}
>
详情
);
};
const edit = (text, row, _, action) => {
return (
{
setdrawer((s) => ({
...s,
open: true,
item: row,
title: '编辑',
val: 'edit',
}));
},
}}
>
编辑
);
};
const remove = (text, row, _, action) => {
return (
{
run({ url: pathconfig?.delete || '/delete', params: { id: row?.id } });
},
}}
btn={{
size: 'small',
type: 'danger',
}}
>
删除
);
};
const order = (text, row, _, action) => {
return (
{
await runAsync({ url: '/check/umEquipmentCheckTask/meet', params: { id: row?.id } });
},
}}
btn={{
size: 'small',
}}
>
接单
);
};
const close = (text, row, _, action) => {
return (
{
await runAsync({ url: '/check/umEquipmentCheckTask/shut', params: { id: row?.id } });
},
}}
btn={{
size: 'small',
type: 'danger',
}}
>
关单
);
};
const columns = useMemo(() => {
let defcolumn = getcolumns(setdrawer)?.columns;
return defcolumn.concat({
title: '操作',
valueType: 'option',
width: 120,
render: (text, row, _, action) => [
order(text, row, _, action),
close(text, row, _, action)
],
});
}, []);
const detailsColumns = useMemo(() => {
const columnsc = [
{
title: '点检项目',
dataIndex: 'checkItem',
key: 'checkItem',
hideInForm: true,
},
{
title: '部位',
dataIndex: 'checkPosition',
key: 'checkPosition',
hideInForm: true,
},
{
title: '点检方法',
dataIndex: 'checkWay',
key: 'checkWay',
hideInForm: true,
},
];
if (drawer?.val == "detail") {
return [
{
title: '计划信息',
valueType: 'split',
},
{
title: '点检单号',
dataIndex: 'taskNo',
key: 'taskNo',
},
{
title: '创建时间',
dataIndex: 'createTime',
key: 'createTime',
},
{
title: '工单状态',
dataIndex: 'statusName',
key: 'statusName',
},
{
title: '点检计划单号',
dataIndex: 'planNo',
key: 'planNo',
},
{
title: '基本信息',
valueType: 'split',
},
{
title: '设备编号',
dataIndex: 'equipmentNo',
key: 'equipmentNo',
},
{
title: '设备名称',
dataIndex: 'equipmentName',
key: 'equipmentName',
},
{
title: '设备型号',
dataIndex: 'equipmentModelName',
key: 'equipmentModelName',
},
{
title: '点检类型',
dataIndex: 'checkTypeName',
key: 'checkTypeName',
},
{
title: '点检截止日期',
dataIndex: 'checkCloseDate',
key: 'checkCloseDate',
span: 2
},
{
title: '点检项目',
dataIndex: 'item',
key: 'item',
valueType: 'formList',
colProps: {
span: 24,
},
columns,
span: 3,
render: (text, row) => {
return (
({
...it,
hideInSearch: true,
}))}
dataSource={row?.item}
/>
);
},
}
]
}
}, [drawer?.val, drawer?.item?.id]);
return (
{
setdrawer((s) => ({
...s,
open: true,
item: null,
title: '新增',
val: 'add',
}));
},
},
}}
/>
{
setdrawer((s) => ({
...s,
open: false,
}));
}}
{...drawer}
onFinish={(vals) => {
if (drawer?.val == 'add') {
run({ url: pathconfig?.add || '/add', params: { ...vals } });
} else if (drawer?.val == 'edit') {
run({ url: pathconfig?.edit || '/edit', params: { ...vals, id: drawer?.item?.id } });
}
}}
/>
);
}
export default Order;