Commit 36c434a1 authored by TZW's avatar TZW

11

parent c69946df
...@@ -5,6 +5,7 @@ import DetailPro from '../DetailPro'; ...@@ -5,6 +5,7 @@ import DetailPro from '../DetailPro';
import PropTypes from 'prop-types'; import PropTypes from 'prop-types';
function DrawerPro(props) { function DrawerPro(props) {
let pushSettingFlag = props.pushSettingFlag;
let newProps = { ...props }; let newProps = { ...props };
delete newProps.children; delete newProps.children;
const detailprops = { const detailprops = {
...@@ -30,6 +31,16 @@ function DrawerPro(props) { ...@@ -30,6 +31,16 @@ function DrawerPro(props) {
) : ( ) : (
<InitForm {...newProps} /> <InitForm {...newProps} />
)} )}
{pushSettingFlag ? (
<a
id="pushSettingBtn"
onClick={() => {
props.checkVariableOpen();
}}
>
查看变量
</a>
) : null}
</Drawer> </Drawer>
); );
} }
......
...@@ -486,3 +486,10 @@ ol { ...@@ -486,3 +486,10 @@ ol {
z-index: 998; z-index: 998;
} }
} }
#pushSettingBtn {
position: relative;
top: -162px;
left: 74px;
color: #1890ff;
}
\ No newline at end of file
function getcolumns(setdrawer) { function getcolumns(setdrawer) {
return { return {
"columns": [ columns: [
{ {
"title": "推送场景", title: '推送场景',
"dataIndex": "businessMsgSceneId", dataIndex: 'msgSceneName',
"key": "businessMsgSceneId" key: 'businessMsgSceneId',
valueType: 'select',
options: {
path: '/base/paBusinessMsgScene/queryAllForSelect',
params: {},
}, },
{
"title": "推送方式",
"dataIndex": "sendMethodType",
"key": "sendMethodType"
}, },
{ {
"title": "适用类型", title: '推送方式',
"dataIndex": "fitField", dataIndex: 'sendMethodName',
"key": "fitField", key: 'sendMethodType',
"valueType": "select", valueType: 'select',
"mode": "radio", options: [
"options": [
{ {
"label": "全部", value: '4',
"value": "1" label: '邮件',
},
],
}, },
{ {
"label": "公司", title: '适用类型',
"value": "2" dataIndex: 'fitFieldName',
key: 'fitField',
valueType: 'select',
mode: 'radio',
options: [
{
label: '全部',
value: '1',
}, },
{ {
"label": "部门", label: '公司',
"value": "3" value: '2',
}, },
{ {
"label": "工厂", label: '部门',
"value": "4" value: '3',
}, },
{ {
"label": "车间", label: '工厂',
"value": "5" value: '4',
}, },
{ {
"label": "工段", label: '车间',
"value": "6" value: '5',
}, },
{ {
"label": "产线", label: '工段',
"value": "7" value: '6',
}
]
}, },
{ {
"title": "适用选择", label: '产线',
"dataIndex": "fieldId", value: '7',
"key": "fieldId" },
],
}, },
{ {
"title": "推送标题", title: '类型名称',
"dataIndex": "sendTitle", dataIndex: 'fieldName',
"key": "sendTitle" key: 'fieldId',
}, },
{ {
"title": "推送内容", title: '推送内容',
"dataIndex": "sendContent", dataIndex: 'sendContent',
"key": "sendContent" key: 'sendContent',
} valueType: 'textarea',
},
], ],
"pathconfig": { pathconfig: {
"enableadd": false, enableadd: true,
"enableedit": false, enableedit: true,
"enabledelete": false, enabledelete: true,
"enabledetail": false, enabledetail: true,
"add": "", add: '',
"edit": "", edit: '',
"list": "/repair/umRepairOrder/queryRepairOrderList", list: '/base/paBusinessMsgOption/queryList',
"delete": "", delete: '/base/paBusinessMsgOption/deleteById',
"detail": "" detail: '',
} },
}; };
} }
export default getcolumns; export default getcolumns;
\ No newline at end of file
import * as React from 'react'; import * as React from 'react';
import { useState, useMemo, useRef } from 'react'; import { useState, useMemo, useRef, useEffect } from 'react';
import DrawerPro from '@/components/DrawerPro'; import DrawerPro from '@/components/DrawerPro';
import AutoTable from '@/components/AutoTable'; import AutoTable from '@/components/AutoTable';
import PremButton from '@/components/PremButton'; import PremButton from '@/components/PremButton';
import getcolumns from './columns'; import getcolumns from './columns';
import { useRequest } from 'ahooks'; import { useRequest } from 'ahooks';
import { doFetch } from '@/utils/doFetch'; import { doFetch } from '@/utils/doFetch';
import { Drawer, Space, Table, message } from 'antd';
import InitForm from '@/components/InitForm';
import copy from 'copy-to-clipboard';
function Pushsetting(props) { function Pushsetting(props) {
const actionRef = useRef(), const actionRef = useRef(),
formRef = useRef(); formRef = useRef();
const [drawer, setdrawer] = useState({ const [drawer, setdrawer] = useState({
open: false, open: false,
}); });
const [checkVariableDraw, setCheckVariableDraw] = useState(false);
const pathconfig = useMemo(() => { const pathconfig = useMemo(() => {
let pathconf = getcolumns(setdrawer)?.pathconfig ?? {}; let pathconf = getcolumns(setdrawer)?.pathconfig ?? {};
return pathconf; return pathconf;
...@@ -30,12 +35,11 @@ import * as React from 'react'; ...@@ -30,12 +35,11 @@ import * as React from 'react';
}, },
}); });
const detail = (text, row, _, action) => { const news = (text, row, _, action) => {
return ( return (
<PremButton <PremButton
btn={{ btn={{
size: 'small', size: 'small',
type: 'link',
onClick: () => { onClick: () => {
setdrawer((s) => ({ setdrawer((s) => ({
...s, ...s,
...@@ -48,7 +52,7 @@ import * as React from 'react'; ...@@ -48,7 +52,7 @@ import * as React from 'react';
}, },
}} }}
> >
详情 新增通知
</PremButton> </PremButton>
); );
}; };
...@@ -95,6 +99,50 @@ import * as React from 'react'; ...@@ -95,6 +99,50 @@ import * as React from 'react';
); );
}; };
// 查看变量
const checkVariableOpen = () => {
setCheckVariableDraw(true);
};
const CheckVariable = () => {
const columns = [
{
title: '变量名称',
dataIndex: 'variableName',
key: 'variableName',
},
{
title: '变量编号',
dataIndex: 'variableCode',
key: 'variableCode',
},
{
title: '操作',
key: 'action',
render: (_, record) => (
<Space size="middle">
<a
onClick={() => {
console.log(record, _);
copy(record.variableCode);
message.success('已成功复制到剪切板!');
}}
>
复制
</a>
</Space>
),
},
];
return (
<AutoTable
columns={columns}
path="/base/paBusinessMsgSceneVariable/queryPageBySceneId"
pagination={false}
/>
);
};
const columns = useMemo(() => { const columns = useMemo(() => {
let defcolumn = getcolumns(setdrawer)?.columns; let defcolumn = getcolumns(setdrawer)?.columns;
return defcolumn.concat({ return defcolumn.concat({
...@@ -102,13 +150,23 @@ import * as React from 'react'; ...@@ -102,13 +150,23 @@ import * as React from 'react';
valueType: 'option', valueType: 'option',
width: 150, width: 150,
render: (text, row, _, action) => [ render: (text, row, _, action) => [
pathconfig?.enabledetail && detail(text, row, _, action), news(text, row, _, action),
pathconfig?.enableedit && edit(text, row, _, action), edit(text, row, _, action),
pathconfig?.enabledelete && remove(text, row, _, action), remove(text, row, _, action),
], ],
}); });
}, []); }, []);
const selectValueType = {
1: '全部',
2: '公司',
3: '部门',
4: '工厂',
5: '车间',
6: '工段',
7: '产线',
};
return ( return (
<div style={{ position: 'relative' }}> <div style={{ position: 'relative' }}>
<AutoTable <AutoTable
...@@ -125,6 +183,7 @@ import * as React from 'react'; ...@@ -125,6 +183,7 @@ import * as React from 'react';
onClick: () => { onClick: () => {
setdrawer((s) => ({ setdrawer((s) => ({
...s, ...s,
pushSettingFlag: true,
open: true, open: true,
item: null, item: null,
title: '新增', title: '新增',
...@@ -141,8 +200,16 @@ import * as React from 'react'; ...@@ -141,8 +200,16 @@ import * as React from 'react';
formRef={formRef} formRef={formRef}
placement="right" placement="right"
detailpath={pathconfig?.detail || null} detailpath={pathconfig?.detail || null}
checkVariableOpen={checkVariableOpen}
detailData={drawer?.item} detailData={drawer?.item}
defaultFormValue={drawer?.item} defaultFormValue={drawer?.item}
onValuesChange={async (a, b) => {
if (a?.fitField) {
console.log(a, b);
const res = doFetch({ url: selectValueType[a?.fitField] });
console.log(formRef);
}
}}
onClose={() => { onClose={() => {
setdrawer((s) => ({ setdrawer((s) => ({
...s, ...s,
...@@ -158,8 +225,19 @@ import * as React from 'react'; ...@@ -158,8 +225,19 @@ import * as React from 'react';
} }
}} }}
/> />
<Drawer
title="查看变量"
width={700}
placement="right"
onClose={() => {
setCheckVariableDraw(false);
}}
open={checkVariableDraw}
>
<CheckVariable />
</Drawer>
</div> </div>
); );
} }
export default Pushsetting; export default Pushsetting;
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment