import * as React from 'react';
import { useState, useMemo, useRef, useEffect } 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 { Drawer, Space, Table, message } from 'antd';
import InitForm from '@/components/InitForm';
import copy from 'copy-to-clipboard';
import Notice from './Notice';
function Pushsetting(props) {
let actionRef = useRef(),
formRef = useRef();
const [drawer, setdrawer] = useState({
open: false,
});
const [checkVariableDraw, setCheckVariableDraw] = useState(false);
const [variablePath, setVariablePath] = useState(null);
const pathconfig = useMemo(() => {
let pathconf = getcolumns(setdrawer)?.pathconfig ?? {};
return pathconf;
}, []);
const { run, loading } = useRequest(doFetch, {
manual: true,
onSuccess: (res, params) => {
if (res?.code == '0000') {
actionRef?.current?.reload();
setdrawer((s) => ({
...s,
open: false,
}));
}
},
});
const news = (text, row, _, action) => {
return (
{
setdrawer((s) => ({
...s,
open: true,
item: row,
title: '通知',
val: 'only',
id: row?.id,
pushSettingFlag: false,
}));
},
}}
>
新增通知
);
};
const edit = (text, row, _, action) => {
return (
{
setdrawer((s) => ({
...s,
open: true,
item: row,
title: '编辑',
val: 'edit',
pushSettingFlag: true,
}));
},
}}
>
编辑
);
};
const remove = (text, row, _, action) => {
return (
{
run({ url: pathconfig?.delete || '/delete', params: { id: row?.id } });
},
}}
btn={{
size: 'small',
type: 'danger',
}}
>
删除
);
};
// 查看变量
const checkVariableOpen = () => {
setCheckVariableDraw(true);
};
const CheckVariable = () => {
const columns = [
{
title: '变量名称',
dataIndex: 'variableName',
key: 'variableName',
},
{
title: '变量编号',
dataIndex: 'variableCode',
key: 'variableCode',
},
{
title: '操作',
key: 'action',
render: (_, record) => (
{
copy(record.variableCode);
message.success('已成功复制到剪切板!');
}}
>
复制
),
},
];
return (
);
};
const columns = useMemo(() => {
let defcolumn = getcolumns(setdrawer)?.columns;
return defcolumn.concat({
title: '操作',
valueType: 'option',
width: 150,
render: (text, row, _, action) => [
news(text, row, _, action),
edit(text, row, _, action),
remove(text, row, _, action),
],
});
}, []);
const selectValueType = {
1: '全部',
2: '公司',
3: '部门',
4: '工厂',
5: '车间',
6: '工段',
7: '产线',
};
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,
pushSettingFlag: true,
open: true,
item: null,
title: '新增',
val: 'add',
}));
},
},
}}
/>
{
if (a?.fitField) {
const res = doFetch({ url: selectValueType[a?.fitField] });
} else if (a?.businessMsgSceneId) {
setVariablePath({
businessMsgSceneId: a?.businessMsgSceneId,
});
}
}}
onClose={() => {
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 } });
}
}}
>
{
setCheckVariableDraw(false);
}}
open={checkVariableDraw}
>
);
}
export default Pushsetting;