Commit 5c5f61a0 authored by 邓超's avatar 邓超

fix: 添加流程节点是否发送短信配置,调整用户中心目录结构

parent 8baa4ed2
Pipeline #42335 passed with stages
in 6 minutes 45 seconds
...@@ -91,7 +91,7 @@ const BaseForm = props => { ...@@ -91,7 +91,7 @@ const BaseForm = props => {
}, []); }, []);
return ( return (
<Form size="small" form={form} {...formProps} {...restProps}> <Form form={form} {...formProps} {...restProps}>
{items && {items &&
items.map(item => { items.map(item => {
const { const {
......
import React from 'react'; import React from 'react';
import { Upload, Modal, message, Tabs, Result, Input, Collapse } from 'antd'; import { Upload, Modal, message, Tabs, Result, Input, Collapse,Anchor } from 'antd';
import { PlusOutlined, CheckCircleFilled } from '@ant-design/icons'; import { PlusOutlined, CheckCircleFilled } from '@ant-design/icons';
import ImgCrop from 'antd-img-crop'; import ImgCrop from 'antd-img-crop';
import classnames from 'classnames'; import classnames from 'classnames';
...@@ -10,6 +10,7 @@ import styles from './index.less'; ...@@ -10,6 +10,7 @@ import styles from './index.less';
import { getImageBases } from '@/services/common/api'; import { getImageBases } from '@/services/common/api';
import UploadContext from './context.js' import UploadContext from './context.js'
import _, { clone } from 'lodash' import _, { clone } from 'lodash'
const { Link } = Anchor;
...@@ -22,12 +23,12 @@ const wallCateName: any = { ...@@ -22,12 +23,12 @@ const wallCateName: any = {
uploaded: '上传', uploaded: '上传',
}; };
const tabNames: any = { const tabNames: any = {
CityTemp: '用户上传',
icon: 'icon图标', icon: 'icon图标',
androidMenu: '移动应用图标', androidMenu: '移动应用图标',
menuNew: '应用图标', menuNew: '应用图标',
logo: '项目logo', logo: '项目logo',
menu: '菜单图标' menu: '菜单图标',
CityTemp: '用户上传',
} }
function getBase64(file: File | Blob) { function getBase64(file: File | Blob) {
...@@ -163,6 +164,8 @@ class PicturesWall extends React.Component<PicturesWallType> { ...@@ -163,6 +164,8 @@ class PicturesWall extends React.Component<PicturesWallType> {
}; };
handleImgSelected = (url: string, baseUrl: any) => { handleImgSelected = (url: string, baseUrl: any) => {
console.log(url,baseUrl);
this.setState({ this.setState({
curSelectedImg: url, curSelectedImg: url,
baseUrl: baseUrl baseUrl: baseUrl
...@@ -288,7 +291,7 @@ class PicturesWall extends React.Component<PicturesWallType> { ...@@ -288,7 +291,7 @@ class PicturesWall extends React.Component<PicturesWallType> {
<CheckCircleFilled /> <CheckCircleFilled />
</span> </span>
</div> </div>
<span title={fileName}>{fileName}</span> <span id={`#${curSelectedImg}`} title={fileName}>{fileName}</span>
</div> </div>
); );
} }
...@@ -442,11 +445,12 @@ class PicturesWall extends React.Component<PicturesWallType> { ...@@ -442,11 +445,12 @@ class PicturesWall extends React.Component<PicturesWallType> {
onOk={this.handleModalOk} onOk={this.handleModalOk}
className={styles.modal} className={styles.modal}
> >
{/* <Search onSearch={onSearch} /> */} {/* <Search style ={{ width:'200px',margin: '10px 0 10px 100px'}} onSearch={onSearch} /> */}
<Tabs defaultActiveKey={imgBed[0]?.moduleName} tabPosition="left" style={{ height: 520 }}> <Tabs defaultActiveKey={imgBed[0]?.moduleName} tabPosition="left" style={{ height: 520 }}>
{imgBed.map((item, i) => { {imgBed.map((item, i) => {
if (item.moduleName == picType || item.moduleName == 'CityTemp') { if (item.moduleName == picType || item.moduleName == 'CityTemp') {
const child = [...item.child] || []; const child = [...item.child] || [];
console.log(item,'item');
if (item.fileUrls.length > 0) { if (item.fileUrls.length > 0) {
child.push({ child.push({
moduleName: item.moduleName, moduleName: item.moduleName,
......
...@@ -44,9 +44,7 @@ const BasicLayout = props => { ...@@ -44,9 +44,7 @@ const BasicLayout = props => {
matchRoutes(props.route.routes, props.location.pathname); matchRoutes(props.route.routes, props.location.pathname);
return ( return (
<ProLayout <ProLayout
logo={() => ( logo={() => <img src={logo} style={{ width: '32px', height: '32px' }} alt="" />}
<img src={logo} style={{ width: '32px', height: '32px' }} alt="" />
)}
style={{ height: '100vh' }} style={{ height: '100vh' }}
onCollapse={handleMenuCollapse} onCollapse={handleMenuCollapse}
onMenuHeaderClick={() => {}} onMenuHeaderClick={() => {}}
......
...@@ -466,14 +466,9 @@ const InitDataBase = props => { ...@@ -466,14 +466,9 @@ const InitDataBase = props => {
let mapCheckVersion = mapList.get(item.key); let mapCheckVersion = mapList.get(item.key);
// 根据key值去匹配对应的checkVersion // 根据key值去匹配对应的checkVersion
item.checkVersion = item.checkVersion =
mapCheckVersion.checkVersion === undefined mapCheckVersion.checkVersion === undefined ? null : mapCheckVersion.checkVersion;
? null
: mapCheckVersion.checkVersion;
// 根据key值去匹配对应的二级目录的check // 根据key值去匹配对应的二级目录的check
item.check = item.check = mapCheckVersion.check === undefined ? null : mapCheckVersion.check;
mapCheckVersion.check === undefined
? null
: mapCheckVersion.check;
if (item.check) { if (item.check) {
item.hasCheck = true; item.hasCheck = true;
} }
...@@ -526,8 +521,7 @@ const InitDataBase = props => { ...@@ -526,8 +521,7 @@ const InitDataBase = props => {
const radioChange = (index, value) => { const radioChange = (index, value) => {
setInitList(val => { setInitList(val => {
const list = JSON.parse(JSON.stringify(val)); const list = JSON.parse(JSON.stringify(val));
const secondList = const secondList = list[index.tabIndex].modularSolutions[index.radioIndex];
list[index.tabIndex].modularSolutions[index.radioIndex];
// 取消功能 一开始未选中的才能取消 // 取消功能 一开始未选中的才能取消
if (value === secondList.checkVersion && !secondList.hasCheck) { if (value === secondList.checkVersion && !secondList.hasCheck) {
secondList.checkVersion = null; secondList.checkVersion = null;
...@@ -651,7 +645,7 @@ const InitDataBase = props => { ...@@ -651,7 +645,7 @@ const InitDataBase = props => {
> >
修改描述 修改描述
</Button> </Button>
<div onClick={e => e.stopPropagation()}> {/* <div onClick={e => e.stopPropagation()}>
<Popconfirm <Popconfirm
title="是否删除该连接的历史记录?" title="是否删除该连接的历史记录?"
okText="确认" okText="确认"
...@@ -664,7 +658,7 @@ const InitDataBase = props => { ...@@ -664,7 +658,7 @@ const InitDataBase = props => {
删除 删除
</Button> </Button>
</Popconfirm> </Popconfirm>
</div> </div> */}
</Space> </Space>
), ),
}, },
...@@ -710,9 +704,7 @@ const InitDataBase = props => { ...@@ -710,9 +704,7 @@ const InitDataBase = props => {
console.log(option); console.log(option);
return ( return (
option.children && option.children &&
option.children option.children.toLowerCase().indexOf(input.toLowerCase()) >= 0
.toLowerCase()
.indexOf(input.toLowerCase()) >= 0
); );
}} }}
> >
...@@ -730,11 +722,7 @@ const InitDataBase = props => { ...@@ -730,11 +722,7 @@ const InitDataBase = props => {
<Space size="large" className={styles.btnBox}> <Space size="large" className={styles.btnBox}>
<Space> <Space>
<Button onClick={onCheck}>测试连接</Button> <Button onClick={onCheck}>测试连接</Button>
<Button <Button type="primary" htmlType="submit" loading={tableLoading}>
type="primary"
htmlType="submit"
loading={tableLoading}
>
保存连接 保存连接
</Button> </Button>
</Space> </Space>
...@@ -859,10 +847,7 @@ const InitDataBase = props => { ...@@ -859,10 +847,7 @@ const InitDataBase = props => {
visible={modalVisible.initVisible} visible={modalVisible.initVisible}
onCancel={() => handleShowModal('initVisible', false)} onCancel={() => handleShowModal('initVisible', false)}
footer={[ footer={[
<Button <Button key="back" onClick={() => handleShowModal('initVisible', false)}>
key="back"
onClick={() => handleShowModal('initVisible', false)}
>
取消 取消
</Button>, </Button>,
<Popconfirm <Popconfirm
......
...@@ -165,9 +165,7 @@ const ManagementDataBase = () => { ...@@ -165,9 +165,7 @@ const ManagementDataBase = () => {
const handleErrLog = (text, val) => { const handleErrLog = (text, val) => {
setModalTitle(val); setModalTitle(val);
let arr = []; let arr = [];
arr.push( arr.push(text.split(/(\r\n)|(\n)/).map((item, index) => <p key={index}>{item}</p>));
text.split(/(\r\n)|(\n)/).map((item, index) => <p key={index}>{item}</p>),
);
setModalVisible(true); setModalVisible(true);
// setContent(text); // setContent(text);
setContent(arr); setContent(arr);
...@@ -175,9 +173,7 @@ const ManagementDataBase = () => { ...@@ -175,9 +173,7 @@ const ManagementDataBase = () => {
const handleLog = (text, val) => { const handleLog = (text, val) => {
setModalTitle(val); setModalTitle(val);
let arr = []; let arr = [];
arr.push( arr.push(text.split(/(\r\n)|(\n)/).map((item, index) => <p key={index}>{item}</p>));
text.split(/(\r\n)|(\n)/).map((item, index) => <p key={index}>{item}</p>),
);
setModalVisible(true); setModalVisible(true);
// setContent(text); // setContent(text);
setContent(arr); setContent(arr);
...@@ -381,8 +377,7 @@ const ManagementDataBase = () => { ...@@ -381,8 +377,7 @@ const ManagementDataBase = () => {
</Card> </Card>
<Card className={styles.mgTop20}> <Card className={styles.mgTop20}>
<div className={styles.tableTitle}> <div className={styles.tableTitle}>
手动修复 手动修复 (字段长度不统一,请手动修改差异,数据可能会截断,请谨慎操作)
(字段长度不统一,请手动修改差异,数据可能会截断,请谨慎操作)
</div> </div>
<Table <Table
className={styles.mgTop20} className={styles.mgTop20}
...@@ -421,11 +416,7 @@ const ManagementDataBase = () => { ...@@ -421,11 +416,7 @@ const ManagementDataBase = () => {
}} }}
style={{ top: '40px' }} style={{ top: '40px' }}
footer={[ footer={[
<Button <Button type="primary" onClick={() => setModalVisible(false)} key="back">
type="primary"
onClick={() => setModalVisible(false)}
key="back"
>
关闭窗口 关闭窗口
</Button>, </Button>,
]} ]}
......
...@@ -103,9 +103,7 @@ const Timelimit = props => { ...@@ -103,9 +103,7 @@ const Timelimit = props => {
dataIndex: 'TimeLimitField', dataIndex: 'TimeLimitField',
align: 'center', align: 'center',
render: text => ( render: text => (
<span style={{ color: text === '(未配置)' ? 'grey' : '#0000009D' }}> <span style={{ color: text === '(未配置)' ? 'grey' : '#0000009D' }}>{text}</span>
{text}
</span>
), ),
}, },
{ {
...@@ -113,9 +111,7 @@ const Timelimit = props => { ...@@ -113,9 +111,7 @@ const Timelimit = props => {
dataIndex: 'TimeoutField', dataIndex: 'TimeoutField',
align: 'center', align: 'center',
render: text => ( render: text => (
<span style={{ color: text === '(未配置)' ? 'grey' : '#0000009D' }}> <span style={{ color: text === '(未配置)' ? 'grey' : '#0000009D' }}>{text}</span>
{text}
</span>
), ),
}, },
{ {
...@@ -139,9 +135,7 @@ const Timelimit = props => { ...@@ -139,9 +135,7 @@ const Timelimit = props => {
okText="是" okText="是"
cancelText="否" cancelText="否"
> >
<DeleteOutlined <DeleteOutlined style={{ fontSize: '16px', color: '#e86060' }} />
style={{ fontSize: '16px', color: '#e86060' }}
/>
</Popconfirm> </Popconfirm>
</Tooltip> </Tooltip>
</Space> </Space>
...@@ -186,8 +180,7 @@ const Timelimit = props => { ...@@ -186,8 +180,7 @@ const Timelimit = props => {
}, },
})} })}
pagination={{ pagination={{
showTotal: (total, range) => showTotal: (total, range) => `第${range[0]}-${range[1]} 条/共 ${total} 条`,
`第${range[0]}-${range[1]} 条/共 ${total} 条`,
pageSizeOptions: [10, 20, 50, 100], pageSizeOptions: [10, 20, 50, 100],
defaultPageSize: 10, defaultPageSize: 10,
showQuickJumper: true, showQuickJumper: true,
......
...@@ -8,15 +8,7 @@ import { Form, Modal, Input, notification, Select } from 'antd'; ...@@ -8,15 +8,7 @@ import { Form, Modal, Input, notification, Select } from 'antd';
const { Option } = Select; const { Option } = Select;
const AddModal = props => { const AddModal = props => {
const { const { onSubumit, handleCancel, visible, msg, flowId, modalType, title } = props;
onSubumit,
handleCancel,
visible,
msg,
flowId,
modalType,
title,
} = props;
const [flowNodes, setFlowNodes] = useState([]); const [flowNodes, setFlowNodes] = useState([]);
const [timeLimitFlowNodes, setTimeLimitFlowNodes] = useState([]); const [timeLimitFlowNodes, setTimeLimitFlowNodes] = useState([]);
const [startNodeIndex, setStartNodeIndex] = useState(null); const [startNodeIndex, setStartNodeIndex] = useState(null);
...@@ -147,11 +139,7 @@ const AddModal = props => { ...@@ -147,11 +139,7 @@ const AddModal = props => {
<Form.Item label="规则名称" name="Name" rules={[{ required: true }]}> <Form.Item label="规则名称" name="Name" rules={[{ required: true }]}>
<Input placeholder="请输入规则名称" /> <Input placeholder="请输入规则名称" />
</Form.Item> </Form.Item>
<Form.Item <Form.Item label="起止节点" style={{ marginBottom: 0, message: '请选择节点' }} required>
label="起止节点"
style={{ marginBottom: 0, message: '请选择节点' }}
required
>
<div style={{ display: 'flex' }}> <div style={{ display: 'flex' }}>
<Form.Item <Form.Item
name="StartNode" name="StartNode"
...@@ -181,9 +169,7 @@ const AddModal = props => { ...@@ -181,9 +169,7 @@ const AddModal = props => {
<Option <Option
value={item.Name} value={item.Name}
key={item.ID} key={item.ID}
disabled={ disabled={startNodeIndex !== null && index <= startNodeIndex}
startNodeIndex !== null && index <= startNodeIndex
}
> >
{item.Name} {item.Name}
</Option> </Option>
...@@ -201,9 +187,7 @@ const AddModal = props => { ...@@ -201,9 +187,7 @@ const AddModal = props => {
{ required: true, message: '请选填写时限' }, { required: true, message: '请选填写时限' },
{ {
validator: (_, value) => validator: (_, value) =>
value < 0 value < 0 ? Promise.reject(new Error('默认时限需要大于零')) : Promise.resolve(),
? Promise.reject(new Error('默认时限需要大于零'))
: Promise.resolve(),
}, },
]} ]}
> >
......
...@@ -172,7 +172,18 @@ const FlowNode = () => { ...@@ -172,7 +172,18 @@ const FlowNode = () => {
key: 'outFields', key: 'outFields',
align: 'center', align: 'center',
width: 100, width: 100,
render: text => <span style={{ color: Number(text) > 0 ? 'red' : '' }}>{text}</span>, render: text => (
<span
style={{
display: 'inline-block',
width: '80px',
color: Number(text) > 0 ? 'red' : '',
backgroundColor: Number(text) > 0 ? 'yellow' : '',
}}
>
{text}
</span>
),
}, },
{ {
...@@ -220,6 +231,15 @@ const FlowNode = () => { ...@@ -220,6 +231,15 @@ const FlowNode = () => {
<span style={{ color: record.colorType === 2 ? 'red' : '#000000D9' }}>{text}</span> <span style={{ color: record.colorType === 2 ? 'red' : '#000000D9' }}>{text}</span>
), ),
}, },
{
title: '发送短信',
dataIndex: 'IsSendMessage',
align: 'center',
width: 80,
render: (text, record) => (
<span style={{ color: record.colorType === 2 ? 'red' : '#000000D9' }}>{text}</span>
),
},
{ {
title: '操作', title: '操作',
align: 'center', align: 'center',
...@@ -369,6 +389,11 @@ const FlowNode = () => { ...@@ -369,6 +389,11 @@ const FlowNode = () => {
align: 'center', align: 'center',
width: 80, width: 80,
}, },
{
title: '发送短信',
align: 'center',
width: 80,
},
{ {
title: '操作', title: '操作',
align: 'center', align: 'center',
......
...@@ -369,6 +369,12 @@ const NodeEdit = props => { ...@@ -369,6 +369,12 @@ const NodeEdit = props => {
<Radio value="1"></Radio> <Radio value="1"></Radio>
</Radio.Group> </Radio.Group>
</Form.Item> </Form.Item>
<Form.Item label="是否发送短信" name="IsSendMessage">
<Radio.Group>
<Radio value={0}></Radio>
<Radio value={1}></Radio>
</Radio.Group>
</Form.Item>
<Form.Item label="工单主表" name="TableName"> <Form.Item label="工单主表" name="TableName">
<Select placeholder="请选择工单主表" onChange={changTable}> <Select placeholder="请选择工单主表" onChange={changTable}>
{eventTable.map(item => ( {eventTable.map(item => (
......
import React, { useEffect } from 'react'; import React, { useEffect } from 'react';
import { import { getFlowNodeExtendPage, operateFlowNodeExtendPage } from '@/services/platform/flow';
getFlowNodeExtendPage,
operateFlowNodeExtendPage,
} from '@/services/platform/flow';
import { Form, Modal, Input, notification } from 'antd'; import { Form, Modal, Input, notification } from 'antd';
const ProcessConfig = props => { const ProcessConfig = props => {
const { const { onSubumit, handleCancel, visible, msg, flowNodeId, modalType, title } = props;
onSubumit,
handleCancel,
visible,
msg,
flowNodeId,
modalType,
title,
} = props;
const [form] = Form.useForm(); const [form] = Form.useForm();
useEffect(() => { useEffect(() => {
form.resetFields(); form.resetFields();
......
...@@ -202,7 +202,18 @@ const incident = () => { ...@@ -202,7 +202,18 @@ const incident = () => {
key: 'outFields', key: 'outFields',
align: 'center', align: 'center',
width: 100, width: 100,
render: text => <span style={{ color: Number(text) > 0 ? 'red' : '' }}>{text}</span>, render: text => (
<span
style={{
display: 'inline-block',
width: '80px',
color: Number(text) > 0 ? 'red' : '',
backgroundColor: Number(text) > 0 ? 'yellow' : '',
}}
>
{text}
</span>
),
}, },
{ {
title: '上报方式', title: '上报方式',
......
import React, { useEffect, useState } from 'react'; import React, { useEffect, useState } from 'react';
import { import { WFGetAllFlow, GetFlowNode, DeleteFlow } from '@/services/platform/workflow';
WFGetAllFlow,
GetFlowNode,
DeleteFlow,
} from '@/services/platform/workflow';
import { Card, Spin, Tooltip, notification, Empty, Modal } from 'antd'; import { Card, Spin, Tooltip, notification, Empty, Modal } from 'antd';
import { import {
...@@ -263,10 +259,7 @@ const Workflow = () => { ...@@ -263,10 +259,7 @@ const Workflow = () => {
<div style={{ display: `${treeVisible ? 'block' : 'none'}` }}> <div style={{ display: `${treeVisible ? 'block' : 'none'}` }}>
<span className={styles.processTitle}>流程树</span> <span className={styles.processTitle}>流程树</span>
<Tooltip title="添加流程组"> <Tooltip title="添加流程组">
<PlusSquareFilled <PlusSquareFilled onClick={e => addFlowGroup(e)} className={styles.treeHeadIcon} />
onClick={e => addFlowGroup(e)}
className={styles.treeHeadIcon}
/>
</Tooltip> </Tooltip>
<hr className={styles.splitLine} /> <hr className={styles.splitLine} />
<div className={styles.treeContent}> <div className={styles.treeContent}>
...@@ -303,10 +296,7 @@ const Workflow = () => { ...@@ -303,10 +296,7 @@ const Workflow = () => {
leaveCallBack={leaveCallBack} leaveCallBack={leaveCallBack}
/> />
) : ( ) : (
<Empty <Empty image={Empty.PRESENTED_IMAGE_SIMPLE} description="当前未选中流程" />
image={Empty.PRESENTED_IMAGE_SIMPLE}
description="当前未选中流程"
/>
)} )}
</div> </div>
</div> </div>
......
...@@ -155,9 +155,7 @@ const FlowChart = props => { ...@@ -155,9 +155,7 @@ const FlowChart = props => {
diagram.nodeTemplate = objGo( diagram.nodeTemplate = objGo(
go.Node, go.Node,
'Auto', 'Auto',
new go.Binding('location', 'points', go.Point.parse).makeTwoWay( new go.Binding('location', 'points', go.Point.parse).makeTwoWay(go.Point.stringify),
go.Point.stringify,
),
// 节点样式配置 // 节点样式配置
objGo( objGo(
go.Panel, go.Panel,
...@@ -165,13 +163,9 @@ const FlowChart = props => { ...@@ -165,13 +163,9 @@ const FlowChart = props => {
go.Shape, go.Shape,
new go.Binding('width', 'NodeType', v => (v === '0' ? 135 : 105)), new go.Binding('width', 'NodeType', v => (v === '0' ? 135 : 105)),
new go.Binding('height', 'NodeType', v => (v === '0' ? 75 : 105)), new go.Binding('height', 'NodeType', v => (v === '0' ? 75 : 105)),
new go.Binding('figure', 'NodeType', v => new go.Binding('figure', 'NodeType', v => (v === '0' ? 'RoundedRectangle' : 'Ellipse')),
v === '0' ? 'RoundedRectangle' : 'Ellipse',
),
new go.Binding('strokeWidth', 'NodeType', v => (v === '0' ? 1 : 15)), new go.Binding('strokeWidth', 'NodeType', v => (v === '0' ? 1 : 15)),
new go.Binding('stroke', 'NodeType', v => new go.Binding('stroke', 'NodeType', v => (v === '0' ? '#0587E0' : '#D7EFFF')),
v === '0' ? '#0587E0' : '#D7EFFF',
),
new go.Binding('fill', 'NodeType', v => { new go.Binding('fill', 'NodeType', v => {
if (v === '0') { if (v === '0') {
return '#DCF2FE'; return '#DCF2FE';
...@@ -191,9 +185,7 @@ const FlowChart = props => { ...@@ -191,9 +185,7 @@ const FlowChart = props => {
go.TextBlock, go.TextBlock,
{ maxSize: new go.Size(130, NaN), wrap: go.TextBlock.WrapFit }, { maxSize: new go.Size(130, NaN), wrap: go.TextBlock.WrapFit },
new go.Binding('text', 'NodeName'), new go.Binding('text', 'NodeName'),
new go.Binding('stroke', 'NodeType', v => new go.Binding('stroke', 'NodeType', v => (v === '0' ? '#077BD6' : '#fff')),
v === '0' ? '#077BD6' : '#fff',
),
), ),
objGo( objGo(
go.Picture, go.Picture,
...@@ -333,9 +325,7 @@ const FlowChart = props => { ...@@ -333,9 +325,7 @@ const FlowChart = props => {
Nodes: diagramObj.nodeDataArray, Nodes: diagramObj.nodeDataArray,
Lines: diagramObj.linkDataArray, Lines: diagramObj.linkDataArray,
}; };
if ( if (JSON.stringify(stageJson.Nodes) === JSON.stringify(initFlowData.Nodes)) {
JSON.stringify(stageJson.Nodes) === JSON.stringify(initFlowData.Nodes)
) {
setShowLeaveTip(false); setShowLeaveTip(false);
leaveCallBack(false); leaveCallBack(false);
} else { } else {
...@@ -373,6 +363,11 @@ const FlowChart = props => { ...@@ -373,6 +363,11 @@ const FlowChart = props => {
}) })
.then(res => { .then(res => {
if (res.code === 0) { if (res.code === 0) {
setDeleteNodes([]);
setDeleteLines([]);
setAddNodes([]);
setDeleteNode('');
setDeleteLine('');
getFlowData(); getFlowData();
notification.success({ notification.success({
message: '提示', message: '提示',
...@@ -397,10 +392,7 @@ const FlowChart = props => { ...@@ -397,10 +392,7 @@ const FlowChart = props => {
}; };
return ( return (
<> <>
<Prompt <Prompt message="编辑的内容还未保存,确定要离开该页面吗?" when={showLeaveTip} />
message="编辑的内容还未保存,确定要离开该页面吗?"
when={showLeaveTip}
/>
<div className={styles.buttonList}> <div className={styles.buttonList}>
<Button onClick={() => addNode()}>添加节点</Button> <Button onClick={() => addNode()}>添加节点</Button>
<Button type="primary" onClick={() => saveFlow()}> <Button type="primary" onClick={() => saveFlow()}>
......
...@@ -70,10 +70,7 @@ const NodeModal = props => { ...@@ -70,10 +70,7 @@ const NodeModal = props => {
return; return;
} }
// 如果已经有角色就提示 // 如果已经有角色就提示
if ( if (nodeMsg.roleList.some(item => item.roleId === obj.roleId) && isEdit === 'add') {
nodeMsg.roleList.some(item => item.roleId === obj.roleId) &&
isEdit === 'add'
) {
notification.error({ notification.error({
message: '提示', message: '提示',
duration: 3, duration: 3,
...@@ -82,9 +79,7 @@ const NodeModal = props => { ...@@ -82,9 +79,7 @@ const NodeModal = props => {
return; return;
} }
// 编辑角色覆盖原有 // 编辑角色覆盖原有
let chooseIndex = nodeMsg.roleList.findIndex( let chooseIndex = nodeMsg.roleList.findIndex(item => item.roleId === obj.roleId);
item => item.roleId === obj.roleId,
);
let newList; let newList;
if (chooseIndex === -1) { if (chooseIndex === -1) {
// 添加表格 // 添加表格
...@@ -146,9 +141,7 @@ const NodeModal = props => { ...@@ -146,9 +141,7 @@ const NodeModal = props => {
okText="是" okText="是"
cancelText="否" cancelText="否"
> >
<DeleteOutlined <DeleteOutlined style={{ fontSize: '16px', color: '#e86060' }} />
style={{ fontSize: '16px', color: '#e86060' }}
/>
</Popconfirm> </Popconfirm>
</Tooltip> </Tooltip>
<Tooltip title="修改默认承办人"> <Tooltip title="修改默认承办人">
......
...@@ -220,10 +220,7 @@ const RoalChoose = props => { ...@@ -220,10 +220,7 @@ const RoalChoose = props => {
treeData={treeData.map(item => mapTree(item))} treeData={treeData.map(item => mapTree(item))}
/> />
) : ( ) : (
<Empty <Empty image={Empty.PRESENTED_IMAGE_SIMPLE} description="未有查找到角色" />
image={Empty.PRESENTED_IMAGE_SIMPLE}
description="未有查找到角色"
/>
); );
return ( return (
<Modal <Modal
...@@ -250,11 +247,7 @@ const RoalChoose = props => { ...@@ -250,11 +247,7 @@ const RoalChoose = props => {
/> />
</Form.Item> </Form.Item>
<Form.Item> <Form.Item>
<Button <Button type="primary" htmlType="submit" disabled={modalType === 'edit'}>
type="primary"
htmlType="submit"
disabled={modalType === 'edit'}
>
搜索 搜索
</Button> </Button>
</Form.Item> </Form.Item>
...@@ -296,26 +289,15 @@ const RoalChoose = props => { ...@@ -296,26 +289,15 @@ const RoalChoose = props => {
{/* 用户列表 */} {/* 用户列表 */}
<div className={styles.userContent}> <div className={styles.userContent}>
<div className={styles.userCheckBox}> <div className={styles.userCheckBox}>
<Checkbox <Checkbox indeterminate={indeterminate} onChange={onCheckAllChange} checked={checkAll}>
indeterminate={indeterminate}
onChange={onCheckAllChange}
checked={checkAll}
>
<span style={{ fontWeight: 700 }}>用户列表</span> <span style={{ fontWeight: 700 }}>用户列表</span>
</Checkbox> </Checkbox>
<Divider style={{ margin: '10px 0' }} /> <Divider style={{ margin: '10px 0' }} />
<div className={styles.checkContent}> <div className={styles.checkContent}>
{plainOptions.length > 0 ? ( {plainOptions.length > 0 ? (
<CheckboxGroup <CheckboxGroup options={plainOptions} value={checkedList} onChange={onChange} />
options={plainOptions}
value={checkedList}
onChange={onChange}
/>
) : ( ) : (
<Empty <Empty image={Empty.PRESENTED_IMAGE_SIMPLE} description="未有查找到用户" />
image={Empty.PRESENTED_IMAGE_SIMPLE}
description="未有查找到用户"
/>
)} )}
</div> </div>
</div> </div>
......
...@@ -104,7 +104,18 @@ const standingBook = props => { ...@@ -104,7 +104,18 @@ const standingBook = props => {
key: 'outFields', key: 'outFields',
align: 'center', align: 'center',
width: 100, width: 100,
render: text => <span style={{ color: Number(text) > 0 ? 'red' : '' }}>{text}</span>, render: text => (
<span
style={{
display: 'inline-block',
width: '80px',
color: Number(text) > 0 ? 'red' : '',
backgroundColor: Number(text) > 0 ? 'yellow' : '',
}}
>
{text}
</span>
),
}, },
{ {
title: '操作', title: '操作',
......
...@@ -3,10 +3,7 @@ import { Form, Input, Button, Space, Select, Col } from 'antd'; ...@@ -3,10 +3,7 @@ import { Form, Input, Button, Space, Select, Col } from 'antd';
import { MinusCircleOutlined, PlusOutlined } from '@ant-design/icons'; import { MinusCircleOutlined, PlusOutlined } from '@ant-design/icons';
import { get, post } from '../../services'; import { get, post } from '../../services';
const methods = [ const methods = [{ label: 'get', value: 'get' }, { label: 'post', value: 'post' }];
{ label: 'get', value: 'get' },
{ label: 'post', value: 'post' },
];
const RequestTest = () => { const RequestTest = () => {
const [protocal, setprotocal] = useState('http://'); const [protocal, setprotocal] = useState('http://');
...@@ -46,11 +43,7 @@ const RequestTest = () => { ...@@ -46,11 +43,7 @@ const RequestTest = () => {
}; };
const protocalBefore = ( const protocalBefore = (
<Select <Select defaultValue="http://" className="select-before" onChange={handleProtoSelectChange}>
defaultValue="http://"
className="select-before"
onChange={handleProtoSelectChange}
>
<Select.Option value="http://">http://</Select.Option> <Select.Option value="http://">http://</Select.Option>
<Select.Option value="https://">https://</Select.Option> <Select.Option value="https://">https://</Select.Option>
</Select> </Select>
......
...@@ -278,18 +278,6 @@ const SelectUser = props => { ...@@ -278,18 +278,6 @@ const SelectUser = props => {
))} ))}
</div> </div>
</Spin> </Spin>
{/* 分页 */}
<Pagination
total={total}
showTotal={(totals, range) => `第${range[0]}-${range[1]} 条/共 ${totals} 条`}
defaultPageSize={pageSize}
defaultCurrent={1}
current={currentPage}
onChange={paginationChange}
style={{ marginBottom: '10px', width: '500px' }}
size="small"
showQuickJumper
/>
</div> </div>
<div className={styles.tableRight}> <div className={styles.tableRight}>
<Table <Table
...@@ -304,6 +292,18 @@ const SelectUser = props => { ...@@ -304,6 +292,18 @@ const SelectUser = props => {
/> />
</div> </div>
</div> </div>
{/* 分页 */}
<Pagination
total={total}
showTotal={(totals, range) => `第${range[0]}-${range[1]} 条/共 ${totals} 条`}
defaultPageSize={pageSize}
defaultCurrent={1}
current={currentPage}
onChange={paginationChange}
style={{ marginBottom: '10px' }}
size="small"
showQuickJumper
/>
</Modal> </Modal>
</> </>
); );
......
.cardBox{ :global {
min-height: calc(100vh - 75px); ::-webkit-scrollbar {
max-height: calc(100vh - 75px); height: 6px; //x轴滚动条粗细
overflow-y: scroll; width: 6px; //y轴滚动条粗细
overflow-x: hidden; border-bottom: 2px solid white;
width: 300px; }
left: 0;
top: 0; //滚动条里面的小方块,能上下左右移动(取决于是垂直滚动条还是水平滚动条)
margin-right: 10px; ::-webkit-scrollbar-thumb {
position: relative; border-radius: 10px;
// transition: left,width 10s; box-shadow: inset 0 0 5px rgba(0, 0, 0, 0.1);
transition-property:width,left; background: rgba(74, 74, 75, 0.3);
transition-duration: 0.5s; margin-bottom: 10px;
white-space: nowrap }
//滚动条的轨道(里面装有thumb)滚动槽
::-webkit-scrollbar-track {
box-shadow: 0;
border-radius: 0;
background: white; //滚动槽背景色
border-radius: 10px; //滚动条边框半径设置
}
.ant-tree-node-content-wrapper {
width: 100%;
overflow: hidden !important;
.ant-tree-title {
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
display: block;
}
}
.ant-pagination-prev,
.ant-pagination-next {
line-height: 8px !important;
}
.ant-input-search-button {
line-height: 1;
}
.ant-dropdown-menu-item > .anticon:first-child {
vertical-align: 0.15em !important;
}
.ant-table-tbody {
.ant-table-row:hover > td {
background: #aed8fa !important;
}
}
.ant-modal-close-icon {
vertical-align: 0.3em;
}
.ant-notification-close-icon {
vertical-align: 0.2em;
}
.ant-tree-switcher-icon svg {
font-size: 14px;
}
} }
.hideBox{
left: 0px; .redText {
top: 0; color: red;
width: 20px; cursor: pointer;
} }
.hideH{
width: 100%; .ant-layout {
overflow: auto;
.ant-layout-content {
margin: 12px !important;
}
} }
.siteTitle{
.siteTitle {
font-size: 16px; font-size: 16px;
margin: 0 0 6px 0; margin: 0 0 6px 0;
user-select: none; user-select: none;
padding: 3px; padding: 3px;
border-bottom: 1px solid #ccc; border-bottom: 1px solid #ccc;
} }
.cardBoxR{
min-height: calc(100vh - 210px);
max-height: calc(100vh - 210px);
min-width: 600px;
overflow-y: scroll;
}
.cardBoxTop{
// max-width: calc( 100% - 450px);
// margin-bottom: 10px;
} .siteManageContainer {
.ant-tree-node-content-wrapper-open{ .ant-card-body {
display: flex; padding: 15px;
align-items: center; }
} .ant-spin-container {
.treeTitle { // overflow-y: scroll;
display: flex; // height: calc(100vh - 410px);
}
.ant-tree-treenode {
width: 100% !important;
.ant-tree-node-content-wrapper {
display: inline-block;
width: 100%;
}
.iconWraper1 {
float: right;
span { span {
display: none; display: none;
} }
}
.treeTitle:hover {
span {
margin-left: 20px;
display: block;
} }
} }
.titleBox{
.ant-tree-treenode:hover {
.iconWraper1 > span {
margin-left: 12px;
font-size: 18px;
display: inline-block;
}
}
.contentContainer {
display: flex; display: flex;
// flex-wrap: wrap; width: 100%;
justify-content: space-around; position: relative;
align-items: center;
} .orgContainer {
.listItem{ height: calc(100vh - 74px);
height: 35px !important; width: 407px;
padding-left: 5px; padding-right: 10px;
cursor: pointer; left: 0;
font-size: 14px; top: 0;
} overflow: hidden;
.listItem:hover{ margin-right: 10px;
background-color: #f8f8f8 ; position: relative;
} transition-property: width, left;
.selected{ transition-duration: 0.5s;
font-weight: bold; white-space: nowrap;
background-color: #bae7ff!important;
} .ant-tree {
padding-top: 6px;
.hide{ .ant-tree-switcher {
line-height: 1;
margin-right: 0px !important;
color: #1890ff;
.ant-tree-switcher-line-icon {
margin-left: 5px;
}
}
}
.switcher {
display: block; display: block;
position: absolute; position: absolute;
font-size: 18px; font-size: 18px;
color: #1890FF!important; color: #1890ff !important;
top: 45%; top: 45%;
right: -3px; right: 2px;
transform: translate(0%,-50%); transform: translate(0%, -50%);
z-index: 2; z-index: 1;
} }
// .hide{ }
// left: 0;
// } .orgContainerHide {
.content{ // transform: translateX(-230px);
left: 0px;
top: 0;
width: 26px;
}
.userContainer {
height: calc(100vh - 74px) !important;
z-index: 999;
// min-width: 800px;
background: white;
width: 100%; width: 100%;
display: flex;
position: relative; position: relative;
transition: width 0.5s;
.title {
margin: 16px 0 10px 16px;
display: inline-block;
width: 270px;
cursor: pointer;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
.ant-table-pagination {
padding-right: 12px;
background: white;
margin: 1px 0;
padding: 8px;
padding-right: 20px;
}
.ant-btn {
margin: 0px 10px;
.ant-btn-primary {
background: #50aefc;
}
}
.ant-input-search-button {
margin-left: 0px !important;
}
.ant-table-thead tr th {
font-weight: 600;
color: rgba(0, 0, 0, 0.85);
}
.ant-table-cell {
text-align: center;
overflow: hidden;
// text-overflow:ellipsis;
white-space: nowrap;
}
.ant-table-body {
height: calc(100vh - 210px);
border-right: white;
overflow: auto !important;
}
.clickRowStyle {
background: #cfe7fd;
}
.ant-pagination {
z-index: 999;
border-top: 1px solid #f0eded;
}
}
}
} }
.boxR{
//机构编辑面板
.boxR {
width: 100%; width: 100%;
position: relative; position: relative;
transition: width 2s; transition: width 2s;
} }
.siteCheckbox .ant-collapse-content > .ant-collapse-content-box{ .cardBoxR {
min-height: calc(100vh - 210px);
max-height: calc(100vh - 210px);
min-width: 600px;
}
.siteCheckbox .ant-collapse-content > .ant-collapse-content-box {
padding: 16px 16px 0; padding: 16px 16px 0;
} }
.siteList{
width:199px; .siteList {
width: 199px;
// margin:0 0 15px 0;
padding: 0 0 15px 0;
overflow: hidden;
white-space: nowrap;
text-overflow: ellipsis;
}
.siteListTitle {
width: 199px;
// margin:0 0 15px 0; // margin:0 0 15px 0;
padding:0 0 15px 0; padding: 0 0 0 15px;
overflow: hidden; overflow: hidden;
white-space: nowrap; white-space: nowrap;
text-overflow: ellipsis; text-overflow: ellipsis;
} }
.sitePanel{ .sitePanel {
margin: 0 0 10px 0; margin: 0 0 10px 0;
} }
.sitePanelHead{
.sitePanelHead {
background-color: #f5f5f5; background-color: #f5f5f5;
padding:8px 10px; padding: 8px 10px;
cursor: pointer; cursor: pointer;
display: flex; display: flex;
align-items: center;
flex-direction: row; flex-direction: row;
} }
.sitePanelHead p{
.sitePanelHead p {
margin: 0; margin: 0;
margin-right: 0.6rem;
} }
.sitePanelCon{
border:1px solid #f5f5f5; .sitePanelCon {
padding:20px; border: 1px solid #f5f5f5;
padding: 20px;
padding-bottom: 0; padding-bottom: 0;
border-top:0; border-top: 0;
max-height: 200px; max-height: 200px;
overflow: auto; overflow: auto;
} }
.sitePanel .ant-checkbox-wrapper + .ant-checkbox-wrapper{
margin:0 .sitePanel .ant-checkbox-wrapper + .ant-checkbox-wrapper {
margin: 0;
} }
.siteIcon{
color:#ccc; .siteIcon {
margin:4px 10px 0 0; color: #ccc;
margin: 4px 10px 0 0;
} }
.siteAll{
margin:0 0 10px 0; .siteAll {
margin: 0 0 10px 0;
} }
.siteColor{
color:#f00 .siteColor {
color: #f00;
} }
.siteCommit{
.siteCommit {
margin: 10px 0; margin: 10px 0;
} }
.siteSelectList{
border:1px solid #f5f5f5; .siteSelectList {
height: 200px; border: 1px solid #f5f5f5;
overflow: auto; overflow: auto;
margin-bottom: 50px; .siteSelectUl {
.siteSelectUl{
margin: 0; margin: 0;
padding: 15px; padding: 15px;
display: flex; display: flex;
flex-direction: row; flex-direction: row;
flex-wrap: wrap; flex-wrap: wrap;
li{
width:200px; li {
height: 35px; height: 35px;
line-height: 35px; line-height: 35px;
background: rgba(24, 144, 255,0.16) url('../../../assets/images/icons/close.png') no-repeat 175px; background: rgba(24, 144, 255, 0.16)
url('../../../assets/images/icons/close.png') no-repeat 170px;
background-size: 20px; background-size: 20px;
background-position: center right;
margin: 0 10px 10px 0; margin: 0 10px 10px 0;
cursor: pointer; cursor: pointer;
overflow: hidden; overflow: hidden;
white-space: nowrap; white-space: nowrap;
text-overflow: ellipsis; text-overflow: ellipsis;
padding: 0 20px 0 10px; padding: 0 40px 0 10px;
} }
} }
} }
.siteline{
border-top: 1px solid #eee; .siteline {
padding-top: 15px;
margin-top: 20px;
} }
.siteBtn{
width:98%; .siteBtn {
width: 98%;
display: flex; display: flex;
flex-direction: row; flex-direction: row;
align-items: center; align-items: center;
justify-content: center;
}
.ant-modal-root {
.ant-tree-switcher {
line-height: 1;
color: #1890ff;
margin-right: 0px !important;
}
.ant-checkbox-group .ant-checkbox-group-item {
margin-right: 0px !important;
min-width: 300px !important;
}
.ant-tree-list-holder {
overflow: auto;
overflow-x: hidden;
height: 40vh;
}
.ant-tabs-content-holder {
overflow: auto;
height: 50vh;
}
}
.title {
display: flex;
align-items: center;
width: 100%;
}
.tip {
display: none;
}
.title:hover {
.tip {
display: flex;
align-items: center;
justify-content: flex-end; justify-content: flex-end;
width: 100%;
}
}
.titleText {
width: 12rem;
overflow: hidden;
white-space: nowrap;
text-overflow: ellipsis;
}
.fs {
font-size: 18px;
margin-left: 10px;
}
.titleTop {
width: 12rem;
overflow: hidden;
white-space: nowrap;
text-overflow: ellipsis;
} }
This diff is collapsed.
:global {
::-webkit-scrollbar {
height: 6px; //x轴滚动条粗细
width: 6px; //y轴滚动条粗细
border-bottom: 2px solid white;
}
//滚动条里面的小方块,能上下左右移动(取决于是垂直滚动条还是水平滚动条)
::-webkit-scrollbar-thumb {
border-radius: 10px;
box-shadow: inset 0 0 5px rgba(0, 0, 0, 0.1);
background: rgba(74, 74, 75, 0.3);
margin-bottom: 10px;
}
//滚动条的轨道(里面装有thumb)滚动槽
::-webkit-scrollbar-track {
box-shadow: 0;
border-radius: 0;
background: white; //滚动槽背景色
border-radius: 10px; //滚动条边框半径设置
}
.ant-tree-node-content-wrapper {
width: 100%;
overflow: hidden !important;
.ant-tree-title {
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
display: block;
}
}
.ant-pagination-prev,
.ant-pagination-next {
line-height: 8px !important;
}
.ant-input-search-button {
line-height: 1;
}
.ant-dropdown-menu-item > .anticon:first-child {
vertical-align: 0.15em !important;
}
.ant-table-tbody {
.ant-table-row:hover > td {
background: #aed8fa !important;
}
}
.ant-modal-close-icon {
vertical-align: 0.3em;
}
.ant-notification-close-icon {
vertical-align: 0.2em;
}
.ant-tree-switcher-icon svg {
font-size: 14px;
}
}
.redText {
color: red;
cursor: pointer;
}
.ant-layout {
overflow: auto;
.ant-layout-content {
margin: 12px !important;
}
}
.siteTitle {
font-size: 16px;
margin: 0 0 6px 0;
user-select: none;
padding: 3px;
border-bottom: 1px solid #ccc;
}
.siteManageContainer {
.ant-card-body {
padding: 15px;
}
.ant-spin-container {
// overflow-y: scroll;
// height: calc(100vh - 410px);
}
.ant-tree-treenode {
width: 100% !important;
.ant-tree-node-content-wrapper {
display: inline-block;
width: 100%;
}
.iconWraper1 {
float: right;
span {
display: none;
}
}
}
.ant-tree-treenode:hover {
.iconWraper1 > span {
margin-left: 12px;
font-size: 18px;
display: inline-block;
}
}
.contentContainer {
display: flex;
width: 100%;
position: relative;
.orgContainer {
height: calc(100vh - 74px);
width: 407px;
padding-right: 10px;
left: 0;
top: 0;
overflow: hidden;
margin-right: 10px;
position: relative;
transition-property: width, left;
transition-duration: 0.5s;
white-space: nowrap;
.ant-tree {
padding-top: 6px;
.ant-tree-switcher {
line-height: 1;
margin-right: 0px !important;
color: #1890ff;
.ant-tree-switcher-line-icon {
margin-left: 5px;
}
}
}
.switcher {
display: block;
position: absolute;
font-size: 18px;
color: #1890ff !important;
top: 45%;
right: 2px;
transform: translate(0%, -50%);
z-index: 1;
}
}
.orgContainerHide {
// transform: translateX(-230px);
left: 0px;
top: 0;
width: 26px;
}
.userContainer {
height: calc(100vh - 74px) !important;
z-index: 999;
// min-width: 800px;
background: white;
width: 100%;
position: relative;
transition: width 0.5s;
.title {
margin: 16px 0 10px 16px;
display: inline-block;
width: 270px;
cursor: pointer;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
.ant-table-pagination {
padding-right: 12px;
background: white;
margin: 1px 0;
padding: 8px;
padding-right: 20px;
}
.ant-btn {
margin: 0px 10px;
.ant-btn-primary {
background: #50aefc;
}
}
.ant-input-search-button {
margin-left: 0px !important;
}
.ant-table-thead tr th {
font-weight: 600;
color: rgba(0, 0, 0, 0.85);
}
.ant-table-cell {
text-align: center;
overflow: hidden;
// text-overflow:ellipsis;
white-space: nowrap;
}
.ant-table-body {
height: calc(100vh - 210px);
border-right: white;
overflow: auto !important;
}
.clickRowStyle {
background: #cfe7fd;
}
.ant-pagination {
z-index: 999;
border-top: 1px solid #f0eded;
}
}
}
}
//机构编辑面板
.boxR {
width: 100%;
position: relative;
transition: width 2s;
}
.cardBoxR {
min-height: calc(100vh - 210px);
max-height: calc(100vh - 210px);
min-width: 600px;
}
.siteCheckbox .ant-collapse-content > .ant-collapse-content-box {
padding: 16px 16px 0;
}
.siteList {
width: 199px;
// margin:0 0 15px 0;
padding: 0 0 15px 0;
overflow: hidden;
white-space: nowrap;
text-overflow: ellipsis;
}
.siteListTitle {
width: 199px;
// margin:0 0 15px 0;
padding: 0 0 0 15px;
overflow: hidden;
white-space: nowrap;
text-overflow: ellipsis;
}
.sitePanel {
margin: 0 0 10px 0;
}
.sitePanelHead {
background-color: #f5f5f5;
padding: 8px 10px;
cursor: pointer;
display: flex;
align-items: center;
flex-direction: row;
}
.sitePanelHead p {
margin: 0;
margin-right: 0.6rem;
}
.sitePanelCon {
border: 1px solid #f5f5f5;
padding: 20px;
padding-bottom: 0;
border-top: 0;
max-height: 200px;
overflow: auto;
}
.sitePanel .ant-checkbox-wrapper + .ant-checkbox-wrapper {
margin: 0;
}
.siteIcon {
color: #ccc;
margin: 4px 10px 0 0;
}
.siteAll {
margin: 0 0 10px 0;
}
.siteColor {
color: #f00;
}
.siteCommit {
margin: 10px 0;
}
.siteSelectList {
border: 1px solid #f5f5f5;
overflow: auto;
.siteSelectUl {
margin: 0;
padding: 15px;
display: flex;
flex-direction: row;
flex-wrap: wrap;
li {
height: 35px;
line-height: 35px;
background: rgba(24, 144, 255, 0.16)
url('../../../assets/images/icons/close.png') no-repeat 170px;
background-size: 20px;
background-position: center right;
margin: 0 10px 10px 0;
cursor: pointer;
overflow: hidden;
white-space: nowrap;
text-overflow: ellipsis;
padding: 0 40px 0 10px;
}
}
}
.siteline {
}
.siteBtn {
width: 98%;
display: flex;
flex-direction: row;
align-items: center;
justify-content: center;
}
.ant-modal-root {
.ant-tree-switcher {
line-height: 1;
color: #1890ff;
margin-right: 0px !important;
}
.ant-checkbox-group .ant-checkbox-group-item {
margin-right: 0px !important;
min-width: 300px !important;
}
.ant-tree-list-holder {
overflow: auto;
overflow-x: hidden;
height: 40vh;
}
.ant-tabs-content-holder {
overflow: auto;
height: 50vh;
}
}
.title {
display: flex;
align-items: center;
width: 100%;
}
.tip {
display: none;
}
.title:hover {
.tip {
display: flex;
align-items: center;
justify-content: flex-end;
width: 100%;
}
}
.titleText {
width: 12rem;
overflow: hidden;
white-space: nowrap;
text-overflow: ellipsis;
}
.fs {
font-size: 18px;
margin-left: 10px;
}
.titleTop {
width: 12rem;
overflow: hidden;
white-space: nowrap;
text-overflow: ellipsis;
}
...@@ -23,7 +23,7 @@ import CurrentSolution from '@/pages/currentSolution/CurrentSolution'; ...@@ -23,7 +23,7 @@ import CurrentSolution from '@/pages/currentSolution/CurrentSolution';
import UserManage from '../pages/userCenter/userManage/UserManage'; import UserManage from '../pages/userCenter/userManage/UserManage';
import RoleManage from '@/pages/userCenter/roleManage/RoleManage'; import RoleManage from '@/pages/userCenter/roleManage/RoleManage';
import SiteManage from '../pages/userCenter/siteManage/SiteManage'; import SiteManage from '../pages/userCenter/siteManage/SiteManage';
import SiteManageV2 from '../pages/userCenter/siteManageV2/siteManage';
import Dictionary from '../pages/dataCenter/dictionary'; import Dictionary from '../pages/dataCenter/dictionary';
import Dictionary1 from '../pages/dataCenter/dictionary1'; import Dictionary1 from '../pages/dataCenter/dictionary1';
// import Search from '../pages/dataCenter/search'; // import Search from '../pages/dataCenter/search';
...@@ -150,7 +150,7 @@ export default { ...@@ -150,7 +150,7 @@ export default {
{ {
path: '/userCenter/SiteManage', path: '/userCenter/SiteManage',
name: '站点管理', name: '站点管理',
component: SiteManageV2, component: SiteManage,
}, },
], ],
}, },
...@@ -173,7 +173,7 @@ export default { ...@@ -173,7 +173,7 @@ export default {
routes: [ routes: [
{ {
path: '/platformCenter/gis/twoDimensionConfig', path: '/platformCenter/gis/twoDimensionConfig',
name: '二维配置', name: '地图配置',
component: SchemeConfig, component: SchemeConfig,
}, },
{ {
......
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