Commit 9511f1a9 authored by shaoan123's avatar shaoan123

修改消息平台界面样式

parent 0b189001
Pipeline #32296 skipped with stages
......@@ -13,7 +13,7 @@ import {
Tooltip,
Badge, Spac
} from 'antd';
import { EditOutlined, DeleteOutlined, FontColorsOutlined, PlusSquareOutlined, SortDescendingOutlined, DownOutlined } from '@ant-design/icons';
import { EditOutlined, DeleteOutlined, FontColorsOutlined, PlusSquareOutlined, SortDescendingOutlined ,PlusOutlined,BorderInnerOutlined } from '@ant-design/icons';
import PageContainer from '@/components/BasePageContainer';
import { CM_Table_LoadTable, removeTable, loadUnattachedTables } from '@/services/platform/bs'
import styles from './index.less'
......@@ -144,7 +144,7 @@ const TableManager = (props) => {
Object.keys(groupData).map((item, index) => {
newArr.push({ type: item, key: index })
})
console.log('groupData', groupData);
setAllData(groupData)
setGroupArr(newArr)
setSelect(newArr)
......@@ -398,8 +398,8 @@ const TableManager = (props) => {
/>
</div>
<Button type="primary" style={{ marginLeft: "10px" }} onClick={AddTable}>建表</Button>
<Button type="primary" style={{ marginLeft: "10px" }} onClick={AffiliateAddTable}>附加</Button>
<Button type="primary" style={{ marginLeft: "10px" }} icon={<BorderInnerOutlined />} onClick={AddTable}>建表</Button>
<Button type="primary" style={{ marginLeft: "10px" }} icon={<PlusOutlined />} onClick={AffiliateAddTable}>附加表</Button>
</div>
<div style={{ width: '100vm', height: 'calc(100vh - 150px) ', background: '#ffffff' }}>
......@@ -428,7 +428,7 @@ const TableManager = (props) => {
expandRowByClick={true}
defaultExpandAllRows={true}
dataSource={groupArr}
scroll={{ y: 'calc(100vh - 200px)' }}
scroll={{ y: 'calc(100vh - 190px)' }}
size="small"
pagination={false}
onExpand={onUnfold}
......
......@@ -17,6 +17,10 @@
font-weight: 600;
color:rgba(0,0,0,0.85);
}
.ant-btn{
display: flex;
align-items: center;
}
.clickRowStyle{
background: #cfe7fd;
}
......
......@@ -8,15 +8,19 @@ import {
Popconfirm,
Spin,
notification,
Tooltip
} from 'antd';
import { reloadTableFields, removeFields } from '@/services/platform/bs';
import { EditOutlined, DeleteOutlined,SortDescendingOutlined,PlusSquareOutlined,RollbackOutlined } from '@ant-design/icons';
import { reloadTableFields, removeFields, loadUnattachedTables } from '@/services/platform/bs';
import FieldEditor from './fieldEditor';
import { useHistory } from 'react-router-dom';
import styles from './index.less'
import AffiliateAdd from '../bsmanager/tablemanager/components/Field/affiliateAdd'
import LoadGroup from '../bsmanager/tablemanager/components/Field/loadGroup'
const AddModal = props => {
const history = useHistory();
const [allData, setAllData] = useState([]);
const [tableList, setTableList] = useState([])
const [tableData, setTableData] = useState([]);
const [treeLoading, setTreeLoading] = useState(false);
const [formObj, setFormObj] = useState('');
......@@ -26,6 +30,9 @@ const AddModal = props => {
const [itemData, setItemData] = useState({});
const [select, setSelect] = useState([])
const [selectTableName, setSelectTableName] = useState({})
const [pramFormObj, setPramFormObj] = useState({});
const [visible, setVisible] = useState(false); // 弹窗
const [type, setType] = useState(''); // 弹窗类型
const editor = record => {
setIsType('edit');
setIsVisible(true);
......@@ -35,7 +42,14 @@ const AddModal = props => {
setIsVisible(false);
setFlag(flag + 1);
};
const getField = () => {
loadUnattachedTables().then(res => {
if (res.data.root && res.data.root.length) {
setTableList(res.data.root)
}
})
}
const expandedRowRender = (item) => {
const columns = [
{
......@@ -44,7 +58,7 @@ const AddModal = props => {
key: 'name',
width: 190,
align: 'left',
render: text => <div style={{paddingLeft:'2rem'}}>{text}</div>,
render: text => <div style={{ paddingLeft: '2rem' }}>{text}</div>,
},
{
title: '别名',
......@@ -96,15 +110,14 @@ const AddModal = props => {
align: 'center',
render: (text, record) => (
<Space>
<Button
type="primary"
size="small"
onClick={() => {
editor(record);
}}
>
编辑
</Button>
<Tooltip title="修改">
<EditOutlined style={{ fontSize: '16px', color: '#1890FF' }}
onClick={() => {
editor(record);
}}>
编辑
</EditOutlined>
</Tooltip>
<div onClick={e => e.stopPropagation()}>
<Popconfirm
title="是否删除该字段?"
......@@ -114,9 +127,9 @@ const AddModal = props => {
deleteChart(record);
}}
>
<Button size="small" danger>
删除
</Button>
<Tooltip title="删除">
<DeleteOutlined style={{ fontSize: '16px', color: '#e86060' }}>删除</DeleteOutlined>
</Tooltip>
</Popconfirm>
</div>
</Space>
......@@ -206,7 +219,6 @@ const AddModal = props => {
];
useEffect(() => {
if (props.match.params.id) {
setFormObj(props.match.params.id)
setTreeLoading(true);
......@@ -225,6 +237,7 @@ const AddModal = props => {
setSelect(newArr)
}
});
getField()
}
}, [flag]);
const formateArrDataA = (initialArr, name) => {
......@@ -298,11 +311,33 @@ const AddModal = props => {
}
setSelect(data)
}
//附加
const add = (record) => {
setPramFormObj(props.history.location.state.template);
setType('affiliateAdd');
setVisible(true);
}
//分组与排序
const sort = (record) => {
setPramFormObj(props.history.location.state.template);
setType('sort');
setVisible(true);
}
const onSubmit = prop => {
setVisible(false);
setFlag(flag + 1)
};
return (
<><Spin tip="loading..." spinning={treeLoading}>
<div className={styles.containerBox}>
<div className={styles.config}><div className={styles.title}>{formObj}(字段配置)</div> <Button type="primary" onClick={back}>返回</Button></div>
<div className={styles.config}><div className={styles.title}>{formObj}(字段配置)</div>
<div className={styles.btn}>
<Button type="primary" icon={<PlusSquareOutlined />} onClick={add}>附加</Button>
<Button type="primary" icon={<SortDescendingOutlined /> }onClick={sort}>分组排序</Button>
<Button type="primary" icon={<RollbackOutlined />} onClick={back}>返回</Button></div>
</div>
<Table
columns={columns}
dataSource={tableData}
......@@ -323,7 +358,27 @@ const AddModal = props => {
itemData={itemData}
formObj1={formObj}
onCancel={() => setIsVisible(false)}
callBackSubmit={Submit} /></>
callBackSubmit={Submit} />
{visible && type === 'affiliateAdd' && (
<AffiliateAdd
visible={visible}
tableList={tableList}
type={type}
onCancel={() => setVisible(false)}
callBackSubmit={onSubmit}
formObj={pramFormObj}
/>
)}
{visible && type === 'sort' && (
<LoadGroup
visible={visible}
type={type}
formObj={pramFormObj}
onCancel={() => setVisible(false)}
callBackSubmit={onSubmit}
/>
)}</>
);
};
......
......@@ -35,6 +35,10 @@
.clickRowStyle{
background: #cfe7fd;
}
.ant-table-thead tr th{
font-weight: 600;
color:rgba(0,0,0,0.85);
}
}
.paneTitle{
......@@ -101,13 +105,21 @@
}
.config{
display: flex;
justify-content: space-between;
padding: 1rem 0 0.5rem 0.5rem;
justify-content: space-between;
width: calc(100% - 10px);
.title{
font-size: 18px;
color: rgba(0, 114, 255, 1);
font-weight: bold;
}
.btn{
display: flex;
justify-content: space-around;
width: 20rem;
}
.ant-btn{
display: flex;
align-items: center;
}
}
......@@ -156,6 +156,9 @@ const ProjectManage = () => {
}
)
}
else{
message.error(res.msg)
}
}
)
} else {
......@@ -236,7 +239,6 @@ const ProjectManage = () => {
setTreeLoading(false)
let mesList = []
if (res.code === 0) {
console.log('res.data.MessageConfigModels', res.data.MessageConfigModels);
res.data.MessageConfigModels.map((item) => {
mesList.push({
name: item.MessageConfig.MsgType,
......
......@@ -50,11 +50,11 @@ const DayOfWeekSelect = props => {
},[props])
return (
<div >
<Radio.Group onChange={onTypeChange}>
<Radio value={0}>全选</Radio>
<Radio value={1}>反选</Radio>
<Radio value={2}>工作日</Radio>
<Radio value={3}>周末</Radio>
<Radio.Group onChange={onTypeChange} style={{margin:'0.25rem 0'}} >
<Radio style={{width:'85px'}} value={0}>全选</Radio>
<Radio style={{width:'85px'}} value={1}>反选</Radio>
<Radio style={{width:'88px'}} value={2}>工作日</Radio>
<Radio style={{width:'88px'}} value={3}>周末</Radio>
</Radio.Group>
<Checkbox.Group value={selectValues} onChange={onCheckChange}>
<Row>
......
......@@ -69,12 +69,12 @@ const HourOfDaySelect = props => {
}
return (
<div className={styles.hourOfDay_container}>
<Radio.Group onChange={onTypeChange}>
<Radio value={0}>全选</Radio>
<Radio value={1}>反选</Radio>
<Radio value={2}>一天两次</Radio>
<Radio value={3}>一天三次</Radio>
<Radio value={4}>一天四次</Radio>
<Radio.Group onChange={onTypeChange} style={{marginBottom:'0.5rem'}} >
<Radio style={{width:'85px'}} value={0}>全选</Radio>
<Radio style={{width:'85px'}} value={1}>反选</Radio>
<Radio style={{width:'88px'}} value={2}>一天两次</Radio>
<Radio style={{width:'88px'}} value={3}>一天三次</Radio>
<Radio style={{width:'88px'}} value={4}>一天四次</Radio>
</Radio.Group>
<Checkbox.Group value={selectValues} onChange={onCheckChange}>
<Row>
......
.hourOfDay_container{
display: flex;
flex-direction: column;
margin-top: 0.3rem;
.ant-form-item-control-input{
}
.ant-radio-wrapper{
}
}
\ No newline at end of file
......@@ -25,15 +25,21 @@ const VisibleRoleModal = props => {
const [dataLeafs, setDataLeafs] = useState([])
const [selectValues, setSelectValues] = useState([])
const { onSubmit, title, operate, initValues, selectValue } = props
const [isUnmount, setIsUnmount] = useState(true)
const GetRoleGroupList = () => {
RoleGroupList().then(
res => {
//数据转换
}
useEffect(() => {
let isUnmount = false
if (selectValue) {
setSelectRole(selectValue)
RoleGroupList().then(async res => {
let tree = []
let leafs = []
res.data.roleList.map((item, index) => {
res.data && res.data.roleList.map((item, index) => {
tree.push({
name: item.visibleTitle,
id: index,
......@@ -47,28 +53,21 @@ const VisibleRoleModal = props => {
id: roleItem.roleID,
children: []
}
// for (const id of initValues) {
// if(id == roleItem.roleID){
// leafNode.checked = true
// }
// }
return leafNode
})
})
})
setDataTree(tree)
setDataLeafs(leafs)
}
)
}
if (!isUnmount) {
setDataTree(tree)
setDataLeafs(leafs)
}
useEffect(() => {
setSelectRole(props.value)
selectValue && setSelectRole(selectValue)
GetRoleGroupList()
}, [])
}
)
}
return () => isUnmount = true;
}, [selectValue])
const handleCancel = () => {
......
......@@ -15,13 +15,13 @@ import moment from 'moment'
import { UpdateMessageConfig, InsertMessageConfig, AddIISAgentConfig } from '@/services/platform/messagemanage'
import { useHistory } from 'react-router-dom';
const { Item } = Form;
const { TextArea } = Input;
const EditModal = props => {
const history = useHistory();
const [form] = Form.useForm();
const [loading, setLoading] = useState(false);
const [plan,setPlan]= useState('');
const [plan, setPlan] = useState('');
const [isStart, setIsStart] = useState(false);
const [IISConfig, setIISConfig] = useState(null)
const [isUse, setIsUse] = useState("0")
......@@ -63,7 +63,6 @@ const EditModal = props => {
})
setAPP_ITEMS(arr3)
setMES_ITEMS(arr2)
console.log('arr1', arr1);
setWX_ITEMS(arr1)
setWEB_ITEMS(arr4)
}
......@@ -72,6 +71,7 @@ const EditModal = props => {
}, [])
useEffect(() => {
if (template.ThemeName) {
console.log('template',template);
form.setFieldsValue({
name: template.MsgType,
isStart: template.IsStarted === "0" ? "关闭" : "开启",
......@@ -100,17 +100,13 @@ const EditModal = props => {
else {
setBtnType('定时推送')
}
}, [props])
const onNameChange = (e) => {
setPlan(e.target.value)
}
const onSubmit = () => {
let fv = form.getFieldValue()
console.log('fv',fv);
let push_mode = ((currentTrench.isAPPShow || currentTrench.isWEBShow) ? '平台弹框' : '') + (currentTrench.isWXShow ? ',公众号推送' : '') + (currentTrench.isMessageShow ? ',短信推送' : '')
if (template.ThemeName) {
let a = {
......@@ -149,6 +145,12 @@ const EditModal = props => {
if (res.code === 0) {
message.success("保存成功")
} else {
notification.error({
message: '提示',
duration: 3,
description: res.msg,
});
}
}
)
......@@ -171,7 +173,7 @@ const EditModal = props => {
let b = {
ThemeName: "定时推送",
MsgType: fv.name,
PublicTemplateID: fv.wx_template?fv.wx_template.toString():null,
PublicTemplateID: fv.wx_template ? fv.wx_template.toString() : null,
PublicConfig: template.PublicConfig,
PublicPath: fv.h5_path,
MsgTemplateName: template.MsgTemplateName,
......@@ -203,7 +205,7 @@ const EditModal = props => {
message.success("保存成功")
}
else{
else {
notification.error({
message: '提示',
duration: 3,
......@@ -231,6 +233,7 @@ const EditModal = props => {
const onIISAgentSubmit = (value) => {
console.log('value',value);
setIISConfig(value)
}
......@@ -248,7 +251,7 @@ const EditModal = props => {
},
};
const onChange = (value) => {
setIsUse(value?'1':'0')
setIsUse(value ? '1' : '0')
}
const back = () => {
history.push('/platformCenter/notify')
......@@ -297,7 +300,7 @@ const EditModal = props => {
<Item
label="推送组"
name="to_person"
labelCol={{ span: 5 }}
labelCol={{ span: 3 }}
style={{ paddingTop: '1.6rem', width: '35rem' }}
>
<VisibleRoleModal
......@@ -327,8 +330,9 @@ const EditModal = props => {
<div className={styles.card_body}>
<Item
label="模板"
labelAlign='left'
name="app_template"
labelCol={{ span: 3 }}
labelCol={{ span: 2 }}
>
<Select style={{ width: '97%' }} disabled={!currentTrench.isAPPShow} >
{
......@@ -343,9 +347,10 @@ const EditModal = props => {
<Item
label="功能路径"
name="app_path"
labelCol={{ span: 3 }}
labelAlign='left'
labelCol={{ span: 2 }}
>
<Input style={{ width: '97%' }} disabled={!currentTrench.isAPPShow} placeholder="请输入功能路径" />
<TextArea rows={4} style={{ width: '97%' }} disabled={!currentTrench.isAPPShow} placeholder="请输入功能路径" />
</Item>
</div>
</div>
......@@ -362,7 +367,8 @@ const EditModal = props => {
<Item
label="模板"
name="wx_template"
labelCol={{ span: 4 }}
labelAlign='left'
labelCol={{ span: 3 }}
>
<Select style={{ width: '97%' }} disabled={!currentTrench.isWXShow} >
{
......@@ -377,14 +383,16 @@ const EditModal = props => {
<Item
label="H5路由"
name="h5_path"
labelCol={{ span: 4 }}
labelAlign='left'
labelCol={{ span: 3 }}
>
<Input style={{ width: '97%' }} disabled={!currentTrench.isWXShow} placeholder="请输入功能路径" />
</Item>
<Item
label="小程序路由"
name="miniprogram_path"
labelCol={{ span: 4 }}
labelAlign='left'
labelCol={{ span: 3 }}
>
<Input style={{ width: '97%' }} disabled={!currentTrench.isWXShow} placeholder="请输入功能路径" />
</Item>
......@@ -403,7 +411,8 @@ const EditModal = props => {
<Item
label="模板"
name="web_template"
labelCol={{ span: 3 }}
labelCol={{ span: 2 }}
labelAlign='left'
>
<Select style={{ width: '97%' }} disabled={!currentTrench.isWEBShow}>
{
......@@ -418,9 +427,10 @@ const EditModal = props => {
<Item
label="功能路径"
name="web_path"
labelCol={{ span: 3 }}
labelAlign='left'
labelCol={{ span: 2 }}
>
<Input style={{ width: '97%' }} disabled={!currentTrench.isWEBShow} placeholder="请输入功能路径" />
<TextArea rows={4} style={{ width: '97%' }} disabled={!currentTrench.isWEBShow} placeholder="请输入功能路径" />
</Item>
</div>
</div>
......@@ -437,8 +447,9 @@ const EditModal = props => {
<div className={styles.card_body}>
<Item
label="模板"
labelAlign='left'
name="message_template"
labelCol={{ span: 4 }}
labelCol={{ span: 2 }}
>
<Select style={{ width: '97%' }} disabled={!currentTrench.isMessageShow} >
{
......
......@@ -55,7 +55,7 @@
display: flex;
flex-direction: row;
justify-content:space-between;
padding: 0 1.6rem;
padding: 0 24px;
align-items: center;
.lable{
font-size: large;
......@@ -66,10 +66,15 @@
margin-top: 10px;
width: 100%;
padding: 10px;
height: 18rem;
height: 12rem;
display: flex;
flex-direction: column;
justify-content: center;
}
.ant-switch{
margin-right: 0.5rem;
}
.ant-form-item{
margin-left: 1.3rem;
}
}
......
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