/* 故障设置
* @Author: Li Hanlin
* @Date: 2022-12-07 11:19:30
* @Last Modified by: Li Hanlin
* @Last Modified time: 2023-02-24 14:38:19
*/
import * as React from 'react';
import { useState, useMemo, useEffect, useRef } from 'react';
import DrawerPro from '@/components/DrawerPro';
import AutoTable from '@/components/AutoTable';
import PremButton from '@/components/PremButton';
import getcolumns from './columns';
import { useRequest } from 'ahooks';
import { doFetch } from '@/utils/doFetch';
import InitForm from '@/components/InitForm';
import { ProDescriptions } from '@ant-design/pro-components';
import { message } from 'antd';
const pathconfig = {
enableadd: true,
enableedit: true,
enabledelete: true,
enabledetail: true,
add: '/repair/umFaultSetting/save',
edit: '/repair/umFaultSetting/save',
list: '/repair/umFaultSetting/queryList',
delete: '/repair/umFaultSetting/deleteById',
detail: '',
};
function Fault(props) {
let actionRef = useRef(),
formRef = useRef();
const [drawer, setdrawer] = useState({
open: false,
});
const [drawergz, setdrawergz] = useState({
open: false,
});
const { run, loading } = useRequest(doFetch, {
manual: true,
onSuccess: (res, params) => {
if (res?.code == '0000') {
actionRef?.current?.reload();
setdrawer((s) => ({
...s,
open: false,
}));
}
},
});
const gzmc = (text, row, _, action) => {
return (
{
setdrawer((s) => ({
...s,
open: true,
item: row,
title: '详情',
val: 'only',
type: 'gzmc',
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 columns = useMemo(() => {
let defcolumn = getcolumns(setdrawer);
if (drawer?.type == 'gzmc') {
return defcolumn;
} else {
return defcolumn.concat({
title: '操作',
valueType: 'option',
width: 150,
render: (text, row, _, action) => [
pathconfig?.enabledetail && gzmc(text, row, _, action),
pathconfig?.enableedit && edit(text, row, _, action),
pathconfig?.enabledelete && remove(text, row, _, action),
],
});
}
}, [drawer?.type]);
const FaultName = (props) => {
const [request, setrequest] = useState();
const gzmcref = useRef();
const remove = (text, row, _, action) => {
return (
{
let res = await doFetch({
url: '/repair/umFaultSettingDetail/deleteById',
params: { id: row.id },
});
if (res.code === '0000') {
message.success('删除成功!');
setdrawergz((s) => ({
...s,
open: false,
}));
actionRef.current.reload();
}
},
}}
btn={{
size: 'small',
type: 'danger',
}}
>
删除
);
};
const edit = (text, row, _, action) => {
return (
{
setdrawergz((s) => ({
...s,
open: true,
title: '编辑',
val: 'edit',
detailpath: '/repair/umFaultSettingDetail/queryById',
params: { id: row.id },
onFinish: async (vals) => {
//console.log(1);
let params = {
...vals,
faultSettingId: drawer?.item.id,
id: row.id,
};
let res = await doFetch({
url: '/repair/umFaultSettingDetail/save',
params,
});
if (res.code === '0000') {
message.success('编辑成功!');
setdrawergz((s) => ({
...s,
open: false,
}));
actionRef.current.reload();
}
},
}));
},
}}
>
编辑
);
};
const columns = useMemo(() => {
return [
{
title: '故障名称',
dataIndex: 'faultDetailName',
key: 'faultDetailName',
formItemProps: {
rules: [
{
required: true,
message: '此项为必填项',
},
],
},
},
{
title: '故障名称代码',
dataIndex: 'faultDetailCode',
key: 'faultDetailCode',
},
{
title: '故障描述',
dataIndex: 'faultPhenomenon',
key: 'faultPhenomenon',
valueType: 'textarea',
},
{
title: '解决方案',
dataIndex: 'faultSolution',
key: 'faultSolution',
valueType: 'textarea',
search: false,
},
{
title: '操作',
valueType: 'option',
width: 150,
render: (text, row, _, action) => [
edit(text, row, _, action),
remove(text, row, _, action),
],
},
];
}, []);
const renderRef = useRef(true);
return (
<>
{
setdrawergz((s) => ({
...s,
open: true,
title: '新建故障名称',
val: 'add',
onFinish: async (vals) => {
let params = {
...vals,
faultSettingId: drawer?.item.id,
};
let res = await doFetch({
url: '/repair/umFaultSettingDetail/save',
params,
});
if (res.code === '0000') {
message.success('新增成功!');
setdrawergz((s) => ({
...s,
open: false,
}));
gzmcref?.current?.reload();
}
},
}));
},
},
}}
/>
{
setdrawergz((s) => ({
...s,
open: false,
type: null,
item: null,
}));
}}
{...drawergz}
/>
>
);
};
function selectType(type) {
switch (type) {
case 'gzmc':
return ;
default:
break;
}
}
return (
故障设置}
columns={columns}
actionRef={actionRef}
path={pathconfig?.list || '/ngic-auth/sysUser/query/page'}
pageextra={pathconfig?.enableadd ? 'add' : null}
resizeable={false}
addconfig={{
// access: 'sysDepartment_save',
btn: {
disabled: false,
type: 'primary',
onClick: () => {
setdrawer((s) => ({
...s,
open: true,
item: null,
title: '新增',
val: 'add',
}));
},
},
}}
/>
{
setdrawer((s) => ({
...s,
open: false,
type: null,
item: null,
}));
}}
{...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 } });
}
}}
>
{selectType(drawer?.type)}
);
}
export default Fault;