Commit c0cf7174 authored by 皮倩雯's avatar 皮倩雯

fix: '消息平台推送模板配置新增WEB,APP配置'

parent 9e324b11
Pipeline #49031 passed with stages
in 4 minutes 34 seconds
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
* @Description: * @Description:
* @Author: leizhe * @Author: leizhe
* @Date: 2022-03-04 18:33:24 * @Date: 2022-03-04 18:33:24
* @LastEditTime: 2022-03-24 17:41:25 * @LastEditTime: 2022-04-27 14:26:14
* @LastEditors: leizhe * @LastEditors: leizhe
*/ */
import { Tree } from 'antd'; import { Tree } from 'antd';
...@@ -18,7 +18,8 @@ export default props => { ...@@ -18,7 +18,8 @@ export default props => {
const { expandedKeys, onExpand, onSelect, selectedKeys, keepTree, ...rest } = props; const { expandedKeys, onExpand, onSelect, selectedKeys, keepTree, ...rest } = props;
const [epKeys, setEpKeys] = useState([expandedKeys]); const [epKeys, setEpKeys] = useState([expandedKeys]);
useEffect(() => { useEffect(() => {
console.log(expandedKeys, 'expandedKeys'); console.log(expandedKeys);
console.log(selectedKeys);
setEpKeys([expandedKeys]); setEpKeys([expandedKeys]);
}, [expandedKeys]); }, [expandedKeys]);
......
...@@ -31,6 +31,7 @@ const StandingBook = props => { ...@@ -31,6 +31,7 @@ const StandingBook = props => {
const [allData, setAllData] = useState([]); const [allData, setAllData] = useState([]);
const [tableData, setTableData] = useState([]); const [tableData, setTableData] = useState([]);
const [treeLoading, setTreeLoading] = useState(false); const [treeLoading, setTreeLoading] = useState(false);
const [tableLoading, setTableLoading] = useState(false);
const [maxLength, setMaxLength] = useState(0); const [maxLength, setMaxLength] = useState(0);
const [treeVisible, setTreeVisible] = useState(true); // 左边列表是否可见 const [treeVisible, setTreeVisible] = useState(true); // 左边列表是否可见
const [formObj, setFormObj] = useState(''); const [formObj, setFormObj] = useState('');
...@@ -180,7 +181,7 @@ const StandingBook = props => { ...@@ -180,7 +181,7 @@ const StandingBook = props => {
setShowSearchStyle(false); setShowSearchStyle(false);
// 第一次进入展示第一页 不是第一次进入根据当前选择的来进行展示 // 第一次进入展示第一页 不是第一次进入根据当前选择的来进行展示
flag === 0 ? setPickItem(newArr[0]) : setPickItem(pickItem); flag === 0 ? setPickItem(newArr[0]) : setPickItem(pickItem);
// pickItem ? setPickItem(pickItem) : setPickItem(newArr[0]); setPickItem(newArr[0]);
console.log(newArr, 'newArr'); console.log(newArr, 'newArr');
setTableData(newArr); setTableData(newArr);
} }
...@@ -257,9 +258,9 @@ const StandingBook = props => { ...@@ -257,9 +258,9 @@ const StandingBook = props => {
const onSearch = () => { const onSearch = () => {
console.log(searchWord); console.log(searchWord);
console.log(pickItem); console.log(pickItem);
setTreeLoading(true); setTableLoading(true);
GetCM_Ledger_LoadLedgers({ accountName: searchWord }).then(res => { GetCM_Ledger_LoadLedgers({ accountName: searchWord }).then(res => {
setTreeLoading(false); setTableLoading(false);
if (res.msg === 'Ok' && res.data.root) { if (res.msg === 'Ok' && res.data.root) {
console.log(res.data.root); console.log(res.data.root);
setMaxLength(res.data.root.length + 1); setMaxLength(res.data.root.length + 1);
...@@ -270,7 +271,7 @@ const StandingBook = props => { ...@@ -270,7 +271,7 @@ const StandingBook = props => {
}); });
console.log(arr); console.log(arr);
setShowSearchStyle(true); setShowSearchStyle(true);
setAllData(arr); // setAllData(arr);
setSearchData(res.data.root); setSearchData(res.data.root);
setPickItem(''); setPickItem('');
// 第一次进入展示第一页 不是第一次进入根据当前选择的来进行展示 // 第一次进入展示第一页 不是第一次进入根据当前选择的来进行展示
...@@ -285,7 +286,27 @@ const StandingBook = props => { ...@@ -285,7 +286,27 @@ const StandingBook = props => {
console.log(e.target.value); console.log(e.target.value);
setSearchWord(e.target.value); setSearchWord(e.target.value);
if (e.target.value == '') { if (e.target.value == '') {
handleReset(); setTableLoading(true);
GetCM_Ledger_LoadLedgers().then(res => {
setTableLoading(false);
if (res.msg === 'Ok' && res.data.root) {
console.log(res.data.root);
setMaxLength(res.data.root.length + 1);
let arr = formateArrDataA(res.data.root, 'type');
let newArr = [];
Object.keys(arr).map((item, index) => {
newArr.push(item);
});
console.log(arr);
setAllData(arr);
setShowSearchStyle(false);
// 第一次进入展示第一页 不是第一次进入根据当前选择的来进行展示
flag === 0 ? setPickItem(newArr[0]) : setPickItem(pickItem);
setPickItem(newArr[0]);
console.log(newArr, 'newArr');
setTableData(newArr);
}
});
} }
}; };
...@@ -301,7 +322,6 @@ const StandingBook = props => { ...@@ -301,7 +322,6 @@ const StandingBook = props => {
}; };
const handleReset = () => { const handleReset = () => {
setFlag(flag + 1); setFlag(flag + 1);
setSearchWord('');
}; };
return ( return (
<PageContainer className={styles.userManageContainer}> <PageContainer className={styles.userManageContainer}>
...@@ -354,7 +374,10 @@ const StandingBook = props => { ...@@ -354,7 +374,10 @@ const StandingBook = props => {
[styles.pickItem]: item === pickItem, [styles.pickItem]: item === pickItem,
[styles.listHover]: item !== pickItem && item === hoverItemIndex, [styles.listHover]: item !== pickItem && item === hoverItemIndex,
})} })}
onClick={e => setPickItem(item)} onClick={() => {
setPickItem(item);
setSearchWord('');
}}
onMouseEnter={() => { onMouseEnter={() => {
setHoverItemIndex(item); setHoverItemIndex(item);
}} }}
...@@ -422,6 +445,7 @@ const StandingBook = props => { ...@@ -422,6 +445,7 @@ const StandingBook = props => {
}; };
}} }}
columns={columns} columns={columns}
loading={tableLoading}
dataSource={pickItem ? allData[pickItem] : searchData} dataSource={pickItem ? allData[pickItem] : searchData}
// loading={tableLoading} // loading={tableLoading}
scroll={{ x: 'max-content', y: 'calc(100vh - 180px)' }} scroll={{ x: 'max-content', y: 'calc(100vh - 180px)' }}
......
/* eslint-disable default-case */
/* eslint-disable no-undef */
import React, { useState, useEffect } from 'react'; import React, { useState, useEffect } from 'react';
import SiteModal from '@/components/Modal/SiteModa'; import SiteModal from '@/components/Modal/SiteModa';
import { Form, Input, notification, Select, Row, Col } from 'antd'; import { Form, Input, notification, Select, Row, Col } from 'antd';
...@@ -6,7 +8,7 @@ const { Item } = Form; ...@@ -6,7 +8,7 @@ const { Item } = Form;
const { TextArea } = Input; const { TextArea } = Input;
const AddModal = props => { const AddModal = props => {
const { option, messageVersion } = props; const { option, messageVersion, visible } = props;
const [form] = Form.useForm(); const [form] = Form.useForm();
const [loading, setLoading] = useState(false); const [loading, setLoading] = useState(false);
...@@ -16,10 +18,18 @@ const AddModal = props => { ...@@ -16,10 +18,18 @@ const AddModal = props => {
}; };
const onSubmitSuccess = () => { const onSubmitSuccess = () => {
const result = form.getFieldValue(); const result = form.getFieldValue();
if (result.type == 'APP' || result.type == 'WEB') {
delete result.third_id;
delete result.third_name;
delete result.weixin;
}
console.log(result.type);
console.log(result);
props.onSubmit & props.onSubmit({ Id: props.template.Id, ...result }); props.onSubmit & props.onSubmit({ Id: props.template.Id, ...result });
form.resetFields(); form.resetFields();
}; };
useEffect(() => { useEffect(() => {
if (visible) {
console.log(option); console.log(option);
if (option) { if (option) {
setTemplateName(option.filter(item => item.Type === '公众号')); setTemplateName(option.filter(item => item.Type === '公众号'));
...@@ -27,6 +37,7 @@ const AddModal = props => { ...@@ -27,6 +37,7 @@ const AddModal = props => {
type: '公众号', type: '公众号',
}); });
} }
}
}, [props]); }, [props]);
const layout = { const layout = {
layout: 'horizontal', layout: 'horizontal',
...@@ -37,9 +48,7 @@ const AddModal = props => { ...@@ -37,9 +48,7 @@ const AddModal = props => {
span: 19, span: 19,
}, },
}; };
// useEffect(()=>{
// },[props.template])
const onChange = (value, option) => { const onChange = (value, option) => {
form.setFieldsValue({ form.setFieldsValue({
third_id: option.code, third_id: option.code,
...@@ -47,6 +56,7 @@ const AddModal = props => { ...@@ -47,6 +56,7 @@ const AddModal = props => {
// setTemplateName(option.filter(item => item.Type === value)) // setTemplateName(option.filter(item => item.Type === value))
}; };
const onChangeType = value => { const onChangeType = value => {
form.setFieldsValue({ third_name: '', third_id: '', weixin: '' });
setTemplateName(option.filter(item => item.Type === value)); setTemplateName(option.filter(item => item.Type === value));
console.log(option.filter(item => item.Type === value)); console.log(option.filter(item => item.Type === value));
}; };
...@@ -116,12 +126,18 @@ const AddModal = props => { ...@@ -116,12 +126,18 @@ const AddModal = props => {
<Select style={{ width: '85%' }} onChange={value => onChangeType(value)}> <Select style={{ width: '85%' }} onChange={value => onChangeType(value)}>
<Select.Option value="公众号">公众号</Select.Option> <Select.Option value="公众号">公众号</Select.Option>
<Select.Option value="短信">短信</Select.Option> <Select.Option value="短信">短信</Select.Option>
<Select.Option value="APP">APP</Select.Option>
<Select.Option value="WEB">WEB</Select.Option>
<Select.Option value="企业微信">企业微信</Select.Option> <Select.Option value="企业微信">企业微信</Select.Option>
</Select> </Select>
</Item> </Item>
</Col> </Col>
</Row> </Row>
{form.getFieldsValue().type === 'APP' || form.getFieldsValue().type === 'WEB' ? (
<></>
) : (
<>
{form.getFieldsValue().type !== '企业微信' ? ( {form.getFieldsValue().type !== '企业微信' ? (
<> <>
<Row> <Row>
...@@ -219,11 +235,13 @@ const AddModal = props => { ...@@ -219,11 +235,13 @@ const AddModal = props => {
</Row> </Row>
</> </>
)} )}
</>
)}
<Item label="模板参数(仅针对2.0规则)" labelCol={{ span: 6 }} name="params"> <Item label="模板参数(仅针对2.0规则)" labelCol={{ span: 6 }} name="params">
<TextArea rows={2} style={{ width: '95%' }} placeholder="first|Second|Third|Four" /> <TextArea rows={2} style={{ width: '95%' }} placeholder="first|Second|Third|Four" />
</Item> </Item>
<Item label="模板参数(仅针对2.0规则)" labelCol={{ span: 6 }} name="param1"> <Item label="解析参数(仅针对2.0规则)" labelCol={{ span: 6 }} name="param1">
<TextArea rows={2} style={{ width: '95%' }} placeholder="first|Second|Third|Four" /> <TextArea rows={2} style={{ width: '95%' }} placeholder="first|Second|Third|Four" />
</Item> </Item>
<Item label="参数说明" name="desc" labelCol={{ span: 6 }}> <Item label="参数说明" name="desc" labelCol={{ span: 6 }}>
......
...@@ -16,10 +16,17 @@ const EditModal = props => { ...@@ -16,10 +16,17 @@ const EditModal = props => {
}; };
const onSubmitSuccess = () => { const onSubmitSuccess = () => {
const result = form.getFieldValue(); const result = form.getFieldValue();
if (result.type == 'APP' || result.type == 'WEB') {
delete result.third_id;
delete result.third_name;
delete result.weixin;
}
props.onSubmit & props.onSubmit({ Id: props.template.Id, ...result }); props.onSubmit & props.onSubmit({ Id: props.template.Id, ...result });
form.resetFields();
}; };
useEffect(() => { useEffect(() => {
if (visible) {
form.setFieldsValue({ form.setFieldsValue({
name: props.template.name, name: props.template.name,
type: props.template.type, type: props.template.type,
...@@ -29,7 +36,8 @@ const EditModal = props => { ...@@ -29,7 +36,8 @@ const EditModal = props => {
params: props.template.template_params1 == '-' ? '' : props.template.template_params1, params: props.template.template_params1 == '-' ? '' : props.template.template_params1,
param1: props.template.template_params2 == '-' ? '' : props.template.template_params2, param1: props.template.template_params2 == '-' ? '' : props.template.template_params2,
desc: props.template.desc == '-' ? '' : props.template.desc, desc: props.template.desc == '-' ? '' : props.template.desc,
analysis_params: props.template.analysis_params == '-' ? '' : props.template.analysis_params, analysis_params:
props.template.analysis_params == '-' ? '' : props.template.analysis_params,
}); });
setTimeout(() => { setTimeout(() => {
console.log(form.getFieldsValue().type); console.log(form.getFieldsValue().type);
...@@ -39,6 +47,7 @@ const EditModal = props => { ...@@ -39,6 +47,7 @@ const EditModal = props => {
if (option) { if (option) {
setTemplateName(option.filter(item => item.Type === props.template.type)); setTemplateName(option.filter(item => item.Type === props.template.type));
} }
}
}, [props.template, visible]); }, [props.template, visible]);
const layout = { const layout = {
...@@ -52,6 +61,7 @@ const EditModal = props => { ...@@ -52,6 +61,7 @@ const EditModal = props => {
}; };
const onChangeType = value => { const onChangeType = value => {
form.setFieldsValue({ third_name: '', third_id: '', weixin: '' });
console.log(option.filter(item => item.Type === value), '123'); console.log(option.filter(item => item.Type === value), '123');
setTemplateName(option.filter(item => item.Type === value)); setTemplateName(option.filter(item => item.Type === value));
}; };
...@@ -128,12 +138,18 @@ const EditModal = props => { ...@@ -128,12 +138,18 @@ const EditModal = props => {
<Select style={{ width: '85%' }} onChange={value => onChangeType(value)}> <Select style={{ width: '85%' }} onChange={value => onChangeType(value)}>
<Select.Option value="公众号">公众号</Select.Option> <Select.Option value="公众号">公众号</Select.Option>
<Select.Option value="短信">短信</Select.Option> <Select.Option value="短信">短信</Select.Option>
<Select.Option value="APP">APP</Select.Option>
<Select.Option value="WEB">WEB</Select.Option>
<Select.Option value="企业微信">企业微信</Select.Option> <Select.Option value="企业微信">企业微信</Select.Option>
</Select> </Select>
</Item> </Item>
</Col> </Col>
</Row> </Row>
{form.getFieldsValue().type === '企业微信' ? ( {form.getFieldsValue().type === 'APP' || form.getFieldsValue().type === 'WEB' ? (
<></>
) : (
<>
{form.getFieldsValue().type !== '企业微信' ? (
<> <>
<Row> <Row>
<Col span={12}> <Col span={12}>
...@@ -145,101 +161,97 @@ const EditModal = props => { ...@@ -145,101 +161,97 @@ const EditModal = props => {
rules={[ rules={[
{ {
required: true, required: true,
message: '请输入第三方模板名称', message: '请选择第三方模板名称',
}, },
]} ]}
> >
{/* <Input placeholder="请输入模板名称" /> */}
<Select <Select
style={{ width: '120%' }}
onChange={value => onChangeType1(value)}
placeholder="请选择模板名称" placeholder="请选择模板名称"
style={{ width: '120%' }}
onChange={(value, option) => onChange(value, option)}
> >
<Select.Option value="普通文本">普通文本</Select.Option> {templateName &&
<Select.Option value="文字卡片">文字卡片</Select.Option> templateName.length > 0 &&
<Select.Option value="图片消息">图片消息</Select.Option> templateName.map((item, index) => (
<Select.Option value="图片">图片</Select.Option> <Select.Option value={item.Name} key={index} code={item.Code}>
{item.Name}
</Select.Option>
))}
</Select> </Select>
</Item> </Item>
</Col> </Col>
<Col span={12}> <Col span={12}>
<Item <Item
label="企业微信应用id" label="第三方模板编号"
name="third_id"
wrapperCol={{ span: 12 }} wrapperCol={{ span: 12 }}
labelCol={{ span: 12 }} labelCol={{ span: 12 }}
name="weixin"
rules={[ rules={[
{ {
required: true, required: true,
message: '请输入企业微信号', message: '请输入第三方模板编号',
}, },
]} ]}
> >
<Input placeholder="请输入企业微信号" style={{ width: '160px' }} /> <Input placeholder="请输入第三方模板编号" style={{ width: '85%' }} />
</Item> </Item>
</Col> </Col>
</Row> </Row>
</> </>
) : ( ) : (
''
)}
{form.getFieldsValue().type !== '企业微信' &&
form.getFieldsValue().type !== 'APP' &&
form.getFieldsValue().type !== 'WEB' ? (
<> <>
<Row> <Row>
<Col span={12}> <Col span={12}>
<Item <Item
label="第三方模板名称" label="第三方模板名称"
name="third_name"
wrapperCol={{ span: 12 }} wrapperCol={{ span: 12 }}
labelCol={{ span: 12 }} labelCol={{ span: 12 }}
name="third_name"
rules={[ rules={[
{ {
required: true, required: true,
message: '请输入第三方模板名称', message: '请选择第三方模板名称',
}, },
]} ]}
> >
<Select <Select
placeholder="请选择模板名称"
style={{ width: '120%' }} style={{ width: '120%' }}
onChange={(value, option) => onChange(value, option)} onChange={value => onChangeType1(value)}
placeholder="请选择模板名称"
> >
{templateName && <Select.Option value="普通文本">普通文本</Select.Option>
templateName.length > 0 && <Select.Option value="文字卡片">文字卡片</Select.Option>
templateName.map((item, index) => ( <Select.Option value="图片消息">图片消息</Select.Option>
<Option value={item.Name} key={item.Name + index} code={item.Code}> <Select.Option value="图片">图片</Select.Option>
{item.Name}
</Option>
))}
</Select> </Select>
</Item> </Item>
</Col> </Col>
<Col span={12}> <Col span={12}>
<Item <Item
label="第三方模板编号" label="企业微信应用id"
wrapperCol={{ span: 12 }} wrapperCol={{ span: 12 }}
labelCol={{ span: 12 }} labelCol={{ span: 12 }}
name="third_id" name="weixin"
rules={[ rules={[
{ {
required: true, required: true,
message: '请输入第三方模板编号', message: '请输入企业微信号',
}, },
]} ]}
> >
<Input placeholder="请输入模板名称" style={{ width: '85%' }} /> <Input placeholder="请输入企业微信号" style={{ width: '160px' }} />
</Item> </Item>
</Col> </Col>
</Row> </Row>
</> </>
) : ( )}
'' </>
)} )}
<Item label="模板参数(仅针对2.0规则)" labelCol={{ span: 6 }} name="params"> <Item label="模板参数(仅针对2.0规则)" labelCol={{ span: 6 }} name="params">
<TextArea rows={2} style={{ width: '95%' }} placeholder="first|Second|Third|Four" /> <TextArea rows={2} style={{ width: '95%' }} placeholder="first|Second|Third|Four" />
</Item> </Item>
<Item label="模板参数(仅针对2.0规则)" labelCol={{ span: 6 }} name="param1"> <Item label="解析参数(仅针对2.0规则)" labelCol={{ span: 6 }} name="param1">
<TextArea rows={2} style={{ width: '95%' }} placeholder="first|Second|Third|Four" /> <TextArea rows={2} style={{ width: '95%' }} placeholder="first|Second|Third|Four" />
</Item> </Item>
<Item label="参数说明" labelCol={{ span: 6 }} name="desc"> <Item label="参数说明" labelCol={{ span: 6 }} name="desc">
......
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