Commit 1215edc8 authored by shaoan123's avatar shaoan123

解决表字段字符集中出现的bug

parent c65c49e5
Pipeline #31748 passed with stages
in 27 minutes 6 seconds
......@@ -19,10 +19,16 @@ const AddModal = props => {
const [checkAll, setCheckAll] = useState([]);
const [selectData, setSelectData] = useState([])
let objArr = []
const onChangeList = (list, index) => {
const onChangeList = (list, index,title) => {
const checkedListArr = [...checkedList]
checkedListArr[index] = list
setCheckedList(checkedListArr);
const indeterminateArr = [...indeterminate]
const checkAllArr = [...checkAll]
indeterminateArr[index] = !!list.length && list.length < filed[title].length
checkAllArr[index] = list.length === filed[title].length
setIndeterminate(indeterminateArr)
setCheckAll(checkAllArr);
};
const onCheckAllChange = e => {
......@@ -59,20 +65,23 @@ const AddModal = props => {
setCheckValue(formObj.rule)
}
else if (isType === 'characteristics') {
console.log(filed,'122');
console.log('newCheckedList',newCheckedList);
console.log('characterValue',characterValue);
let arr = Object.keys(filed)
setTitle(arr)
console.log('arr', arr);
let checkArr = []
let indeterminateArr = []
let checkAllArr = []
arr.map((item, index) => {
indeterminateArr.push(true)
checkAllArr.push(false)
checkArr[index] = []
newCheckedList.map(checkItem => {
if (filed[item].includes(checkItem)) {
checkArr[index].push(checkItem)
}
})
indeterminateArr.push(!!checkArr[index].length && checkArr[index].length < filed[item].length)
checkAllArr.push(checkArr[index].length === filed[item].length)
})
setCheckedList(newCheckedList)
setCheckedList(checkArr)
setIndeterminate(indeterminateArr)
setCheckAll(checkAllArr)
let newArr = characterValue.length? characterValue.split(","):[]
......@@ -162,7 +171,7 @@ const AddModal = props => {
{title.map((item, index) => {
return <div className={styles.cardItemData} key={index}>
<Divider orientation="left" style={{ margin: '0 0 10px 0', color: '#15428b', borderTopColor: '#99bbe8' }}>{item} <Checkbox indeterminate={indeterminate[index]} onChange={onCheckAllChange} index={index} checkvalue={filed[item]} checked={checkAll[index]}> </Checkbox></Divider>
<CheckboxGroup options={filed[item]} value={checkedList[index]} onChange={(e) => onChangeList(e, index)} /></div>
<CheckboxGroup options={filed[item]} value={checkedList[index]} onChange={(e) => onChangeList(e, index,item)} /></div>
})}
</div>
</div>
......
......@@ -112,6 +112,7 @@ const AddModal = props => {
}
setPramData({ ...res[0].data.root, coordinates, must, picture })
let index = res[2].data.root.find(item => { return item.Name == res[0].data.root.ExceptionEvent })
console.log('index',index);
getFieldData(index.TableName)
}
})
......
......@@ -146,7 +146,7 @@ const AddModal = props => {
let arr =formateArrDataA(res.data.root,'group')
let newArr = []
Object.keys(arr).map((item, index) => {
newArr.push({ type: item, key: index })
newArr.push({ type: item, key: index,id:index })
})
setAllData(arr);
setTableData(newArr);
......@@ -226,7 +226,7 @@ const AddModal = props => {
// pagination={{ pageSize: 10 }}
scroll={{ y: '45rem' }}
size="small"
rowKey={(record, index) => `complete${record.tableID}${index}`}
rowKey='id'
pagination={{
showTotal: (total, range) =>
`第${range[0]}-${range[1]} 条/共 ${total} 条`,
......
......@@ -10,7 +10,7 @@ import {
message
} from 'antd';
import { PlusCircleOutlined } from '@ant-design/icons';
import { useHistory } from 'react-router-dom';
const { Search } = Input;
const { Option } = Select;
import EditModal from './components/EditModal'
......@@ -18,7 +18,7 @@ import VisibleRoleModal from './components/RolseSelect/VisibleRoleModal'
import { GetMessageConfigList, TestPush, DeleteMessageConfig, GetMsgTypeList, DeleteIISAgentConfig } from '@/services/platform/messagemanage'
import styles from './ProjectManage.less'
const ProjectManage = () => {
const history = useHistory();
const [visibleParams, setvisibleParams] = useState({
addVisible: false, // 新增弹窗
delVisible: false, // 删除弹窗
......@@ -120,18 +120,18 @@ const ProjectManage = () => {
GetMessageList({ pageSize: 10, pageIndex: 0, search: value })
}
const changeDesc = (record) => {
setCurrentTempalte(record)
// history.push({pathname:`/platformCenter/schemeDetail`,state:{template:record}} )
handleShowModal("editVisible", true)
}
const TestDesc = (record) => {
console.log(record)
if(record.ThemeName)
TestPush({
theme:record.ThemeName,
msgType:record.MsgType,
tousers:record.PushGroup,
pushPath:record.item.AgentConfig.Url,
pushPath:record.item.AgentConfig?record.item.AgentConfig.Url:'',
msgTypeId:record.ID
}).then(
res =>{
......
import React, { useState, useEffect, useRef } from 'react'
import SiteModal from '@/components/Modal/SiteModa';
import { Form, Input, notification, Select, Checkbox, message, Button } from 'antd'
import BaseForm from '@/components/BaseForm/index';
import { Switch } from 'react-router';
import { iteratee } from 'lodash';
import styles from './schemeDetail.less';
import v from 'voca';
import VisibleRoleModal from '../messageManage/projectManage/components/RolseSelect/VisibleRoleModal'
import VisibleIISAgentConfig from '../messageManage/projectManage/components/IISAgentConfig/VisibleIISAgentConfig'
import { GetMessageTemplate } from '@/services/platform/messagemanage'
import moment from 'moment'
import { UpdateMessageConfig, InsertMessageConfig, AddIISAgentConfig } from '@/services/platform/messagemanage'
const { Item } = Form;
const EditModal = props => {
console.log(props,'props');
const [form] = Form.useForm();
const [loading, setLoading] = useState(false);
const [isStart, setIsStart] = useState(false);
const [IISConfig, setIISConfig] = useState(null)
const { template, confirmModal } = props.location.state
const [currentTrench, setCurrentTrench] = useState({
isMessageShow: false,
isAPPShow: false,
isWEBShow: false,
isWXShow: false
})
const plainOptions = ['平台弹框', '短信推送', '公众号推送'];
const [APP_ITEMS, setAPP_ITEMS] = useState([])
const [WEB_ITEMS, setWEB_ITEMS] = useState([])
const [WX_ITEMS, setWX_ITEMS] = useState([])
const [MES_ITEMS, setMES_ITEMS] = useState([])
useEffect(() => {
GetMessageTemplate().then(
res => {
if (res.code === 0) {
let arr1 = []
let arr2 = []
let arr3 = []
let arr4 = []
res.data.map((item, index) => {
if (item.Type === "公众号") {
arr1.push(item)
}
if (item.Type === "短信") {
arr2.push(item)
}
if (item.Type === "APP") {
arr3.push(item)
}
if (item.Type === "WEB") {
arr4.push(item)
}
})
setAPP_ITEMS(arr3)
setMES_ITEMS(arr2)
setWX_ITEMS(arr1)
setWEB_ITEMS(arr4)
}
}
)
}, [])
useEffect(() => {
if (template.ThemeName) {
console.log(template);
form.setFieldsValue({
name: template.MsgType,
isStart: template.IsStarted === "0" ? "关闭" : "开启",
to_person: template.PushGroup,
push_plan: template.MsgType,
push_mode: template.PushMode === null ? '' : template.PushMode.split(","),
app_template: template.AppTemplateID,
app_path: template.AppFunctionPath,
wx_template: parseInt(template.PublicTemplateID),
h5_path: template.PublicPath,
miniprogram_path: template.MiniAppRoute,
web_template: template.WebTemplateID,
web_path: template.WebFunctionPath,
message_template: template.MsgTemplateID,
})
setCurrentTrench({
isAPPShow: template.PushMode && template.PushMode.split(",").indexOf("平台弹框") > -1 ? true : false,
isWXShow: template.PushMode && template.PushMode.split(",").indexOf("公众号推送") > -1 ? true : false,
isWEBShow: template.PushMode &&template.PushMode.split(",").indexOf("平台弹框") > -1 ? true : false,
isMessageShow: template.PushMode &&template.PushMode.split(",").indexOf("短信推送") > -1 ? true : false,
})
}
}, [props])
const onNameChange = (e) => {
form.setFieldsValue({
push_plan: e.target.value
})
}
const onSubmit = () => {
console.log(form.getFieldValue())
let fv = form.getFieldValue()
if (template.ThemeName) {
let a = {
ID: template.ID,
ThemeName: template.ThemeName,
MsgType: fv.name,
PublicTemplateID: fv.wx_template,
PublicConfig: template.PublicConfig,
PublicPath: fv.h5_path,
MsgTemplateName: template.MsgTemplateName,
MsgTemplateCode: template.MsgTemplateCode,
MsgConfig: template.MsgConfig,
MiniAppRoute: fv.miniprogram_path,
AppFunctionPath: fv.app_path,
AppConfig: template.AppConfig,
WebFunctionPath: fv.web_path,
WebConfig: template.WebConfig,
IsDelete: template.IsDelete,
InputTime: moment().format("YYYY-MM-DD HH:mm:ss"),
Pusher: template.Pusher,
PushMode: fv.push_mode.toString(),
PushPath: template.PushPath,
IsStarted: fv.isStart,
MsgTemplateID: fv.message_template,
AppTemplateID: fv.app_template,
WebTemplateID: fv.web_template,
PushGroup: fv.to_person.toString()
}
console.log(a)
UpdateMessageConfig(a).then(
res => {
if (res.code === 0) {
if (IISConfig) {
AddIISAgentConfig(IISConfig).then(
res => {
if (res.code === 0) {
message.success("保存成功")
confirmModal()
}
}
)
} else {
message.success("保存成功")
confirmModal()
}
}
}
)
} else {
let b = {
ThemeName: "定时推送",
MsgType: fv.name,
PublicTemplateID: fv.wx_template,
PublicConfig: template.PublicConfig,
PublicPath: fv.h5_path,
MsgTemplateName: template.MsgTemplateName,
MsgTemplateCode: template.MsgTemplateCode,
MsgConfig: template.MsgConfig,
MiniAppRoute: fv.miniprogram_path,
AppFunctionPath: fv.app_path,
AppConfig: template.AppConfig,
WebFunctionPath: fv.web_path,
WebConfig: template.WebConfig,
IsDelete: template.IsDelete,
InputTime: moment().format("YYYY-MM-DD HH:mm:ss"),
Pusher: template.Pusher,
PushMode: fv.push_mode.toString(),
PushPath: template.PushPath,
IsStarted: fv.isStart,
MsgTemplateID: fv.message_template,
AppTemplateID: fv.app_template,
WebTemplateID: fv.web_template,
PushGroup: fv.to_person.toString()
}
console.log(b)
InsertMessageConfig(b).then(
res => {
if (res.code === 0) {
if (IISConfig) {
AddIISAgentConfig(IISConfig).then(
res => {
if (res.code === 0) {
message.success("保存成功")
confirmModal()
}
}
)
} else {
message.success("保存成功")
confirmModal()
}
}
}
)
}
}
const onTypeChange = (value) => {
console.log(value)
setCurrentTrench({
isAPPShow: value.indexOf("平台弹框") > -1 ? true : false,
isWXShow: value.indexOf("公众号推送") > -1 ? true : false,
isWEBShow: value.indexOf("平台弹框") > -1 ? true : false,
isMessageShow: value.indexOf("短信推送") > -1 ? true : false,
})
}
const onIISAgentSubmit = (value) => {
console.log(value, "IIS配置")
setIISConfig(value)
}
const onPushSubmit = (value) => {
console.log(value, "onPushSubmit")
}
return (
<div className={styles.editModal_container}>
<Form form={form} labelCol={{ span: 4 }}>
<Item
label="方案名称"
name="name"
rules={[
{
required: true,
message: '请输入方案名称',
},
]}
>
<Input placeholder="请输入方案名称" disabled={template.ThemeName ? true : false} onChange={onNameChange} />
</Item>
<Item
label="是否开启"
name="isStart"
>
<Select >
<Option value="1">开启</Option>
<Option value="0">关闭</Option>
</Select>
</Item>
<Item
label="推送人"
name="to_person"
>
<VisibleRoleModal
onSubmit={onPushSubmit}
title={"推送人员"}
/>
</Item>
<Item
label="定时计划"
name="push_plan"
>
<VisibleIISAgentConfig agentConfig={template.item && template.item.AgentConfig} onIISAgentSubmit={onIISAgentSubmit} />
</Item>
<Item
label="推送方式"
name="push_mode"
>
<Checkbox.Group
options={plainOptions}
onChange={onTypeChange}
/>
</Item>
<div className={styles.push_trench}>
{
currentTrench.isAPPShow && (
<div className={styles.trench_card}>
<div className={styles.card_title}>
<div className={styles.lable}>APP</div>
</div>
<div className={styles.card_body}>
<Item
label="模板"
name="app_template"
>
<Select >
{
APP_ITEMS.map((item, idx) => {
return (
<Option value={item.Id} key={idx}>{item.LikeName}</Option>
)
})
}
</Select>
</Item>
<Item
label="功能路径"
name="app_path"
>
<Input placeholder="请输入功能路径" />
</Item>
</div>
</div>
)
}
{
currentTrench.isWXShow && (
<div className={styles.trench_card}>
<div className={styles.card_title}>
<div className={styles.lable}>微信</div>
</div>
<div className={styles.card_body}>
<Item
label="模板"
name="wx_template"
>
<Select >
{
WX_ITEMS.map((item, idx) => {
return (
<Option value={item.Id} key={idx}>{item.LikeName}</Option>
)
})
}
</Select>
</Item>
<Item
label="H5路由"
name="h5_path"
>
<Input placeholder="请输入功能路径" />
</Item>
<Item
label="小程序路由"
name="miniprogram_path"
>
<Input placeholder="请输入功能路径" />
</Item>
</div>
</div>
)
}
{
currentTrench.isWEBShow && (
<div className={styles.trench_card}>
<div className={styles.card_title}>
<div className={styles.lable}>WEB</div>
</div>
<div className={styles.card_body}>
<Item
label="模板"
name="web_template"
>
<Select >
{
WEB_ITEMS.map((item, idx) => {
return (
<Option value={item.Id} key={idx}>{item.LikeName}</Option>
)
})
}
</Select>
</Item>
<Item
label="功能路径"
name="web_path"
>
<Input placeholder="请输入功能路径" />
</Item>
</div>
</div>
)
}
{
currentTrench.isMessageShow && (
<div className={styles.trench_card}>
<div className={styles.card_title}>
<div className={styles.lable}>短信推送</div>
</div>
<div className={styles.card_body}>
<Item
label="模板"
name="message_template"
>
<Select >
{
MES_ITEMS.map((item, idx) => {
return (
<Option value={item.Id} key={idx}>{item.LikeName}</Option>
)
})
}
</Select>
</Item>
</div>
</div>
)
}
</div>
</Form>
</div>
)
}
export default EditModal;
\ No newline at end of file
.editModal_container{
width: 100%;
background-color: #FFFFFF;
overflow-y: scroll;
display: flex;
flex-direction: column;
.push_trench{
width: 100%;
height: fit-content;
display: flex;
flex-direction:row;
flex-wrap: wrap;
.trench_card{
width: 500px;
margin: 20px;
border-width: 1px;
border-color: #EEEEEE;
border-style: solid;
border-radius: 5px;
display: flex;
flex-direction: column;
justify-content: space-around;
align-items: center;
.card_title{
border-bottom-style: solid;
border-bottom-width: 1px;
border-bottom-color:#F6F7F9;
height:50px;
width: 100%;
display: flex;
flex-direction: row;
justify-content: flex-start;
align-items: center;
.lable{
font-size: large;
margin-left: 10px;
}
}
.card_body{
margin-top: 10px;
width: 100%;
padding: 10px;
}
}
}
}
\ No newline at end of file
......@@ -38,6 +38,7 @@ import BaseFrameContainer from '@/components/BaseFrameContainer';
import JumpContainer from '@/components/JumpContainer';
import HostManager from '@/pages/platformCenter/hostmanager'
import MessageManager from '@/pages/platformCenter/messageManage'
import SchemeDetail from '@/pages/platformCenter/schemeDetail/schemeDetail'
import SchemeConfig from '@/pages/platformCenter/schemeConfig/schemeConfig';
import DimensionsConfig from '@/pages/platformCenter/dimensionsConfig/dimensionsConfig';
......@@ -244,6 +245,12 @@ export default {
component: MessageManager,
},
{
path: '/platformCenter/SchemeDetail',
name: '模板编辑',
component: SchemeDetail,
hideMenu: true,
},
{
path: '/platformCenter/emq',
name: '宿主管理',
......
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