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

fix: '修改样式'

parent b810613d
Pipeline #42517 skipped with stages
...@@ -948,34 +948,34 @@ const WebDic = () => { ...@@ -948,34 +948,34 @@ const WebDic = () => {
fieldKey={[fieldKey, 'frist']} fieldKey={[fieldKey, 'frist']}
rules={[ rules={[
{ required: true, message: '不能为空' }, { required: true, message: '不能为空' },
// { {
// validator: (rule, value, callback) => { validator: (rule, value, callback) => {
// const nodeName = addForm.getFieldsValue().nodeName1; // 第一项的nodeName const nodeName = addForm.getFieldsValue().nodeName1; // 第一项的nodeName
// const nodeName1 = addForm.getFieldsValue(); const nodeName1 = addForm.getFieldsValue();
// console.log(nodeName); console.log(nodeName);
// let result = nodeName1.users; let result = nodeName1.users;
// let arr = []; let arr = [];
// // eslint-disable-next-line array-callback-return // eslint-disable-next-line array-callback-return
// result.map(item => { result.map(item => {
// if (item) { if (item) {
// let a = item.nodeName; let a = item.nodeName;
// if (a !== '') { if (a !== '') {
// arr.push(a); arr.push(a);
// } }
// } }
// }); });
// if (nodeName !== undefined) { if (nodeName !== undefined) {
// arr.unshift(nodeName); arr.unshift(nodeName);
// } }
// console.log(arr); console.log(arr);
// if (new Set(arr).size !== arr.length) { if (new Set(arr).size !== arr.length) {
// arr = [...new Set(arr)]; arr = [...new Set(arr)];
// console.log(arr); console.log(arr);
// callback('用户名重复'); callback('用户名重复');
// } }
// }, },
// }, },
]} ]}
> >
<Input placeholder="请输入名称" /> <Input placeholder="请输入名称" />
......
This diff is collapsed.
.dictionaryContainer{ .dictionaryContainer {
.font { .ant-card-body {
font-weight: bold; padding: 0px 24px 24px 17px;
} }
.containerBox { }
width: 100vm;
height: calc(100vh - 70px) ;
background: #ffffff;
.ant-table.ant-table-small .ant-table-tbody .ant-table-wrapper:only-child .ant-table{
margin-left: 0;
}
.ant-table.ant-table-bordered > .ant-table-container{
border: none;
}
.clickRowStyle{
background: #cfe7fd;
}
.ant-table-thead tr th{
font-weight: 600;
color:rgba(0,0,0,0.85);
}
}
.config{
display: flex;
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: flex-end;
width: 20rem;
}
.ant-btn{
display: flex;
align-items: center;
margin-left: 20px;
}
}
}
\ No newline at end of file
/*
* @Description:
* @Author: leizhe
* @Date: 2021-07-13 16:32:28
* @LastEditTime: 2021-10-26 16:38:27
* @LastEditors: leizhe
*/
import React from 'react';
import { Tabs, Card } from 'antd';
import PageContainer from '@/components/BasePageContainer';
import WebDic from './WebDic';
import AppDic from './AppDic';
import styles from './index.less';
// import VersionPublish from './VersionPublish';
const dictionary1 = () => {
const { TabPane } = Tabs;
return (
<PageContainer className={styles.dictionary1Container}>
<Card>
<Tabs defaultActiveKey="1">
<TabPane tab="通用数据字典" key="1">
<WebDic />
</TabPane>
<TabPane tab="App数据字典" key="2">
<AppDic />
</TabPane>
</Tabs>
</Card>
</PageContainer>
);
};
export default dictionary1;
.dictionary1Container{
.ant-card-body {
padding: 0px 24px 24px 17px;
}
}
\ No newline at end of file
...@@ -21,11 +21,7 @@ import { ...@@ -21,11 +21,7 @@ import {
CM_XWBPlan_DataList, CM_XWBPlan_DataList,
} from '@/services/maintenance/api'; } from '@/services/maintenance/api';
import { CM_Event_LoadDepartmentAndRoles } from '@/services/standingBook/api'; import { CM_Event_LoadDepartmentAndRoles } from '@/services/standingBook/api';
import { import { PlusOutlined, DownOutlined, StepForwardFilled } from '@ant-design/icons';
PlusOutlined,
DownOutlined,
StepForwardFilled,
} from '@ant-design/icons';
import ChangeAdd from './ChangeAdd'; import ChangeAdd from './ChangeAdd';
const { Option } = Select; const { Option } = Select;
...@@ -45,9 +41,9 @@ const AddModal = props => { ...@@ -45,9 +41,9 @@ const AddModal = props => {
const [filed, setFiled] = useState({}); // 传给子组件列表数据 const [filed, setFiled] = useState({}); // 传给子组件列表数据
const [filed1, setFiled1] = useState({}); // 传给子组件列表数据 const [filed1, setFiled1] = useState({}); // 传给子组件列表数据
const [types, setTypes] = useState(''); // 弹窗类型 const [types, setTypes] = useState(''); // 弹窗类型
const [pickItem, setPickItem] = useState(''); //复选框数据填入项 const [pickItem, setPickItem] = useState(''); // 复选框数据填入项
const [checkedList1, setCheckedList1] = useState([]); //最新选择数据 const [checkedList1, setCheckedList1] = useState([]); // 最新选择数据
const [characterValue, setCharacterValue] = useState(''); //打开弹框之前数据 const [characterValue, setCharacterValue] = useState(''); // 打开弹框之前数据
const [ff, setFf] = useState([]); const [ff, setFf] = useState([]);
const [form] = Form.useForm(); const [form] = Form.useForm();
...@@ -368,10 +364,7 @@ const AddModal = props => { ...@@ -368,10 +364,7 @@ const AddModal = props => {
</Menu> </Menu>
} }
> >
<div <div className={styles.linkDrowp} onClick={e => e.preventDefault()}>
className={styles.linkDrowp}
onClick={e => e.preventDefault()}
>
<DownOutlined <DownOutlined
style={{ style={{
fontSize: '12px', fontSize: '12px',
...@@ -396,11 +389,7 @@ const AddModal = props => { ...@@ -396,11 +389,7 @@ const AddModal = props => {
}, },
]} ]}
> >
<Select <Select placeholder="选择计划执行周期" onChange={changTable} value={selectValue}>
placeholder="选择计划执行周期"
onChange={changTable}
value={selectValue}
>
<Option value="一周一次">一周一次</Option> <Option value="一周一次">一周一次</Option>
<Option value="半月一次">半月一次</Option> <Option value="半月一次">半月一次</Option>
<Option value="一月一次">一月一次</Option> <Option value="一月一次">一月一次</Option>
...@@ -468,10 +457,7 @@ const AddModal = props => { ...@@ -468,10 +457,7 @@ const AddModal = props => {
</Menu> </Menu>
} }
> >
<div <div className={styles.linkDrowp} onClick={e => e.preventDefault()}>
className={styles.linkDrowp}
onClick={e => e.preventDefault()}
>
<DownOutlined <DownOutlined
style={{ style={{
fontSize: '12px', fontSize: '12px',
...@@ -613,22 +599,14 @@ const AddModal = props => { ...@@ -613,22 +599,14 @@ const AddModal = props => {
}, },
]} ]}
> >
<Select <Select placeholder="是否送审" onChange={changTable1} value={selectValue1}>
placeholder="是否送审"
onChange={changTable1}
value={selectValue1}
>
<Option value="否"></Option> <Option value="否"></Option>
<Option value="是"></Option> <Option value="是"></Option>
</Select> </Select>
</Item> </Item>
</Col> </Col>
<Col span={23}> <Col span={23}>
<Item <Item label="台账过滤条件" name="filterCondition" labelCol={{ span: 4 }}>
label="台账过滤条件"
name="filterCondition"
labelCol={{ span: 4 }}
>
<TextArea placeholder="设备对应的Scada台账名称,可多选" /> <TextArea placeholder="设备对应的Scada台账名称,可多选" />
</Item> </Item>
</Col> </Col>
...@@ -641,6 +619,7 @@ const AddModal = props => { ...@@ -641,6 +619,7 @@ const AddModal = props => {
newCheckedList={checkedList1} newCheckedList={checkedList1}
isType={types} isType={types}
filed={filed} filed={filed}
type={type}
filed1={filed1} filed1={filed1}
ff={ff} ff={ff}
pickItem={pickItem} pickItem={pickItem}
......
/* eslint-disable no-lonely-if */
/* eslint-disable eqeqeq */
import React, { useState, useEffect, PureComponent } from 'react'; import React, { useState, useEffect, PureComponent } from 'react';
import { Modal, Divider, Checkbox, Space, Button } from 'antd'; import { Modal, Divider, Checkbox, Space, Button } from 'antd';
import styles from './maintenance.less'; import styles from './maintenance.less';
...@@ -14,6 +16,7 @@ const ChangeAdd = props => { ...@@ -14,6 +16,7 @@ const ChangeAdd = props => {
pickItem, pickItem,
characterValue, characterValue,
ff, ff,
type,
} = props; } = props;
const [checkedList, setCheckedList] = useState([]); // 选中的复选框内容 const [checkedList, setCheckedList] = useState([]); // 选中的复选框内容
const [indeterminate, setIndeterminate] = useState(true); // 全选样式控制 const [indeterminate, setIndeterminate] = useState(true); // 全选样式控制
...@@ -47,9 +50,7 @@ const ChangeAdd = props => { ...@@ -47,9 +50,7 @@ const ChangeAdd = props => {
const onSubmit = () => { const onSubmit = () => {
isType === 'rule' isType === 'rule'
? callBackSubmit( ? callBackSubmit(
`${ `${value === '无' || value === '' ? '' : `${value},`}${checkValue.join(',')}`,
value === '无' || value === '' ? '' : `${value},`
}${checkValue.join(',')}`,
) )
: callBackSubmit({ : callBackSubmit({
checkedList, checkedList,
...@@ -85,36 +86,62 @@ const ChangeAdd = props => { ...@@ -85,36 +86,62 @@ const ChangeAdd = props => {
useEffect(() => { useEffect(() => {
console.log(indeterminate); console.log(indeterminate);
if (isType != '' && isType === 'add') { if (type == 'edit') {
let checkArr = []; if (isType != '' && isType === 'add') {
console.log(newCheckedList); let checkArr = [];
newCheckedList.map(checkItem => { console.log(newCheckedList);
if (filed.includes(checkItem)) { newCheckedList.map(checkItem => {
checkArr.push(checkItem); if (filed.includes(checkItem)) {
} checkArr.push(checkItem);
}); }
setCheckedList(checkArr); });
setIndeterminate( setCheckedList(checkArr);
!!newCheckedList.length && newCheckedList.length < filed.length, setIndeterminate(!!newCheckedList.length && newCheckedList.length < filed.length);
); setCheckAll(newCheckedList.length === filed.length);
setCheckAll(newCheckedList.length === filed.length); let newArr = characterValue.length ? characterValue.split(',') : [];
let newArr = characterValue.length ? characterValue.split(',') : []; setSelectData(newArr);
setSelectData(newArr); } else if (isType === 'app') {
} else if (isType === 'app') { let checkArr = [];
let checkArr = []; console.log(newCheckedList);
console.log(newCheckedList); newCheckedList.map(checkItem => {
newCheckedList.map(checkItem => { if (ff.includes(checkItem)) {
if (ff.includes(checkItem)) { checkArr.push(checkItem);
checkArr.push(checkItem); }
} });
}); setCheckedList(checkArr);
setCheckedList(checkArr); setIndeterminate(!!newCheckedList.length && newCheckedList.length < ff.length);
setIndeterminate( setCheckAll(newCheckedList.length === ff.length);
!!newCheckedList.length && newCheckedList.length < ff.length, let newArr = characterValue.length ? characterValue.split(',') : [];
); setSelectData(newArr);
setCheckAll(newCheckedList.length === ff.length); }
let newArr = characterValue.length ? characterValue.split(',') : []; } else {
setSelectData(newArr); if (isType != '' && isType === 'add') {
let checkArr = [];
console.log(newCheckedList);
newCheckedList.map(checkItem => {
if (filed.includes(checkItem)) {
checkArr.push(checkItem);
}
});
setCheckedList(checkArr);
setIndeterminate(false);
setCheckAll(false);
let newArr = characterValue.length ? characterValue.split(',') : [];
setSelectData(newArr);
} else if (isType === 'app') {
let checkArr = [];
console.log(newCheckedList);
newCheckedList.map(checkItem => {
if (ff.includes(checkItem)) {
checkArr.push(checkItem);
}
});
setCheckedList(checkArr);
setIndeterminate(false);
setCheckAll(false);
let newArr = characterValue.length ? characterValue.split(',') : [];
setSelectData(newArr);
}
} }
}, [visible]); }, [visible]);
......
...@@ -2,10 +2,7 @@ ...@@ -2,10 +2,7 @@
/* eslint-disable camelcase */ /* eslint-disable camelcase */
import React, { useState, useEffect } from 'react'; import React, { useState, useEffect } from 'react';
import { Space, Table, Popconfirm, Tooltip, Button, notification } from 'antd'; import { Space, Table, Popconfirm, Tooltip, Button, notification } from 'antd';
import { import { CM_XWBPlan_DataList, CM_XWBPlan_RemovePlan } from '@/services/maintenance/api';
CM_XWBPlan_DataList,
CM_XWBPlan_RemovePlan,
} from '@/services/maintenance/api';
import { EditTwoTone, DeleteOutlined, PlusOutlined } from '@ant-design/icons'; import { EditTwoTone, DeleteOutlined, PlusOutlined } from '@ant-design/icons';
import styles from './maintenance.less'; import styles from './maintenance.less';
import AddModal from './AddModal'; import AddModal from './AddModal';
...@@ -24,82 +21,231 @@ const maintenance = () => { ...@@ -24,82 +21,231 @@ const maintenance = () => {
dataIndex: 'businessName', dataIndex: 'businessName',
key: 'businessName', key: 'businessName',
width: 100, width: 100,
onCell: () => ({
style: {
maxWidth: 100,
overflow: 'hidden',
whiteSpace: 'nowrap',
textOverflow: 'ellipsis',
cursor: 'pointer',
},
}),
align: 'center', align: 'center',
render: record => (
<Tooltip placement="topLeft" title={record}>
{record}
</Tooltip>
),
}, },
{ {
title: '业务类型', title: '业务类型',
dataIndex: 'businessType', dataIndex: 'businessType',
key: 'businessType', key: 'businessType',
width: 100, width: 100,
ellipsis: true, onCell: () => ({
style: {
maxWidth: 100,
overflow: 'hidden',
whiteSpace: 'nowrap',
textOverflow: 'ellipsis',
cursor: 'pointer',
},
}),
align: 'center', align: 'center',
render: record => (
<Tooltip placement="topLeft" title={record}>
{record}
</Tooltip>
),
}, },
{ {
title: '执行周期', title: '执行周期',
dataIndex: 'docycle', dataIndex: 'docycle',
key: 'docycle', key: 'docycle',
width: 100, width: 100,
onCell: () => ({
style: {
maxWidth: 100,
overflow: 'hidden',
whiteSpace: 'nowrap',
textOverflow: 'ellipsis',
cursor: 'pointer',
},
}),
align: 'center', align: 'center',
render: record => (
<Tooltip placement="topLeft" title={record}>
{record}
</Tooltip>
),
}, },
{ {
title: '台账名称', title: '台账名称',
dataIndex: 'accountName', dataIndex: 'accountName',
key: 'accountName', key: 'accountName',
width: 200, width: 100,
ellipsis: true, onCell: () => ({
style: {
maxWidth: 100,
overflow: 'hidden',
whiteSpace: 'nowrap',
textOverflow: 'ellipsis',
cursor: 'pointer',
},
}),
align: 'center', align: 'center',
render: record => (
<Tooltip placement="topLeft" title={record}>
{record}
</Tooltip>
),
}, },
{ {
title: '反馈名称', title: '反馈名称',
dataIndex: 'feedbackName', dataIndex: 'feedbackName',
key: 'feedbackName', key: 'feedbackName',
width: 200, width: 100,
onCell: () => ({
style: {
maxWidth: 100,
overflow: 'hidden',
whiteSpace: 'nowrap',
textOverflow: 'ellipsis',
cursor: 'pointer',
},
}),
align: 'center', align: 'center',
render: record => (
<Tooltip placement="topLeft" title={record}>
{record}
</Tooltip>
),
}, },
{ {
title: '台账过滤条件', title: '台账过滤条件',
dataIndex: 'filterCondition', dataIndex: 'filterCondition',
key: 'filterCondition', key: 'filterCondition',
width: 200, width: 200,
ellipsis: true, onCell: () => ({
style: {
maxWidth: 200,
overflow: 'hidden',
whiteSpace: 'nowrap',
textOverflow: 'ellipsis',
cursor: 'pointer',
},
}),
align: 'center', align: 'center',
render: record => (
<Tooltip placement="topLeft" title={record}>
{record}
</Tooltip>
),
}, },
{ {
title: '是否送审', title: '是否送审',
dataIndex: 'isSubmit', dataIndex: 'isSubmit',
key: 'isSubmit', key: 'isSubmit',
width: 100, width: 100,
onCell: () => ({
style: {
maxWidth: 100,
overflow: 'hidden',
whiteSpace: 'nowrap',
textOverflow: 'ellipsis',
cursor: 'pointer',
},
}),
align: 'center', align: 'center',
render: record => (
<Tooltip placement="topLeft" title={record}>
{record}
</Tooltip>
),
}, },
{ {
title: '执行角色', title: '执行角色',
dataIndex: 'doRole', dataIndex: 'doRole',
key: 'doRole', key: 'doRole',
width: 200, width: 300,
ellipsis: true, onCell: () => ({
style: {
maxWidth: 300,
overflow: 'hidden',
whiteSpace: 'nowrap',
textOverflow: 'ellipsis',
cursor: 'pointer',
},
}),
align: 'center', align: 'center',
render: record => (
<Tooltip placement="topLeft" title={record}>
{record}
</Tooltip>
),
}, },
{ {
title: '预生成天数', title: '预生成天数',
dataIndex: 'produceDays', dataIndex: 'produceDays',
key: 'produceDays', key: 'produceDays',
width: 100, width: 100,
onCell: () => ({
style: {
maxWidth: 100,
overflow: 'hidden',
whiteSpace: 'nowrap',
textOverflow: 'ellipsis',
cursor: 'pointer',
},
}),
align: 'center', align: 'center',
render: record => (
<Tooltip placement="topLeft" title={record}>
{record}
</Tooltip>
),
}, },
{ {
title: '在线任务量', title: '在线任务量',
dataIndex: 'onLines', dataIndex: 'onLines',
key: 'onLines', key: 'onLines',
width: 100, width: 100,
ellipsis: true, onCell: () => ({
style: {
maxWidth: 100,
overflow: 'hidden',
whiteSpace: 'nowrap',
textOverflow: 'ellipsis',
cursor: 'pointer',
},
}),
align: 'center', align: 'center',
render: record => (
<Tooltip placement="topLeft" title={record}>
{record}
</Tooltip>
),
}, },
{ {
title: '启停', title: '启停',
dataIndex: 'doNot', dataIndex: 'doNot',
key: 'doNot', key: 'doNot',
width: 100, width: 100,
onCell: () => ({
style: {
maxWidth: 100,
overflow: 'hidden',
whiteSpace: 'nowrap',
textOverflow: 'ellipsis',
cursor: 'pointer',
},
}),
align: 'center', align: 'center',
render: record => (
<Tooltip placement="topLeft" title={record}>
{record}
</Tooltip>
),
}, },
{ {
title: '操作', title: '操作',
...@@ -109,10 +255,7 @@ const maintenance = () => { ...@@ -109,10 +255,7 @@ const maintenance = () => {
render: (text, record) => ( render: (text, record) => (
<Space> <Space>
<Tooltip title="修改"> <Tooltip title="修改">
<EditTwoTone <EditTwoTone onClick={() => editEventType(record)} style={{ fontSize: '16px' }} />
onClick={() => editEventType(record)}
style={{ fontSize: '16px' }}
/>
</Tooltip> </Tooltip>
<Tooltip title="删除"> <Tooltip title="删除">
<Popconfirm <Popconfirm
...@@ -206,8 +349,7 @@ const maintenance = () => { ...@@ -206,8 +349,7 @@ const maintenance = () => {
dataSource={tableData} dataSource={tableData}
scroll={{ y: 'calc(100vh - 215px)', x: 'max-content' }} scroll={{ y: 'calc(100vh - 215px)', x: 'max-content' }}
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: 20, defaultPageSize: 20,
showQuickJumper: true, showQuickJumper: true,
......
.maintenanceContainer{ .maintenanceContainer {
.ant-card-body { .ant-card-body {
padding: 12px 24px 24px 24px; padding: 12px 24px 24px 24px;
} }
.pickItem{ .pickItem {
background-color: #F5F6F9; background-color: #f5f6f9;
} }
} }
.formData{ .formData {
height: 38rem; height: 38rem;
overflow-y: scroll; overflow-y: scroll;
.ant-form-item-label > label.ant-form-item-required:not(.ant-form-item-required-mark-optional)::before{ .ant-form-item-label
display: none; > label.ant-form-item-required:not(.ant-form-item-required-mark-optional)::before {
} display: none;
.formData_label{ }
display: flex; .formData_label {
align-items: center;
}
.filed_listItem{
display: flex;
height: 3.6rem;
.ant-btn-icon-only {
width: 32px;
height: 32px;
/* padding: 2.4px 0; */
font-size: 16px;
border-radius: 2px;
display: flex;
align-items: center;
justify-content: center;
}
}
}
.linkDrowp{
position: absolute;
top: 0px;
left: 93.5%;
width: 1rem;
height: 100%;
display: flex; display: flex;
align-items: center; align-items: center;
} }
.listItem{ .filed_listItem {
display: flex; display: flex;
justify-content: space-between; height: 3.6rem;
font-size: 14px; .ant-btn-icon-only {
font-weight: 400; width: 32px;
color: #414E65; height: 32px;
cursor: pointer; /* padding: 2.4px 0; */
line-height: 28px; font-size: 16px;
align-items: center; border-radius: 2px;
padding: 8px 14px;
display: flex;
align-items: center;
justify-content: center;
}
}
}
.linkDrowp {
position: absolute;
top: 0px;
left: 93.5%;
width: 1rem;
height: 100%;
display: flex;
align-items: center;
}
.listItem {
display: flex;
justify-content: space-between;
font-size: 14px;
font-weight: 400;
color: #414e65;
cursor: pointer;
line-height: 28px;
align-items: center;
padding: 8px 14px;
} }
.ant-select-arrow .anticon { .ant-select-arrow .anticon {
vertical-align: middle; vertical-align: middle;
} }
.listCard{ .listCard {
display: flex; display: flex;
.cardItem{ .cardItem {
padding: 0.5rem; padding: 0.5rem;
} }
.cardContent{ .cardContent {
height: 30rem; height: 30rem;
overflow-y: scroll; overflow-y: scroll;
width: 100%; width: 100%;
} }
.cardItemData{ .cardItemData {
display:inline-block; display: inline-block;
padding: 0.5rem; padding: 0.5rem;
border: 1px solid #b5b8c8; border: 1px solid #b5b8c8;
width:100%; width: 100%;
// height: 30rem; // height: 30rem;
overflow-y: scroll; overflow-y: scroll;
} }
} }
.ant-modal-body { .ant-modal-body {
padding: 10px 24px 0px 24px; padding: 10px 24px 0px 24px;
} }
.ant-modal-footer { .ant-modal-footer {
padding: 0px 48px 10px 40px; padding: 0px 48px 10px 40px;
} }
.ant-table-pagination.ant-pagination { .ant-table-pagination.ant-pagination {
margin: 5px 0; margin: 5px 0;
} }
import { Tabs, Button } from 'antd'; import { Tabs, Button } from 'antd';
import React, { useState, useEffect } from 'react'; import React, { useState, useEffect } from 'react';
import PageContainer from '@/components/BasePageContainer'; import PageContainer from '@/components/BasePageContainer';
import styles from './dimensionsConfig.less' import styles from './dimensionsConfig.less';
import TileConfig from './TileConfig/TileConfig'; import TileConfig from './TileConfig/TileConfig';
import VectorData from './VectorData/VectorData'; import VectorData from './VectorData/VectorData';
import ProjectMessage from './projectMessage/projectMessage'; import ProjectMessage from './projectMessage/projectMessage';
...@@ -10,32 +10,30 @@ import SolutionConfig from './solutionConfig/solutionConfig'; ...@@ -10,32 +10,30 @@ import SolutionConfig from './solutionConfig/solutionConfig';
const { TabPane } = Tabs; const { TabPane } = Tabs;
const SchemeConfig = () => { const SchemeConfig = () => {
const [activekey,setActiveKey] =useState('1') const [activekey, setActiveKey] = useState('1');
const callback = (index) => { const callback = index => {
setActiveKey(index) setActiveKey(index);
} };
return ( return (
<PageContainer> <PageContainer>
<div className={styles.container3d} activekey={activekey}> <div className={styles.container3d} activekey={activekey}>
<Tabs onChange={callback} type="card"> <Tabs onChange={callback} type="card">
<TabPane tab="瓦片数据配置" key="1"> <TabPane tab="瓦片数据配置" key="1">
{activekey==='1'?<TileConfig />:''} {activekey === '1' ? <TileConfig /> : ''}
</TabPane> </TabPane>
<TabPane tab="数据源配置" key="2"> <TabPane tab="数据源配置" key="2">
{activekey==='2'?<VectorData />:''} {activekey === '2' ? <VectorData /> : ''}
</TabPane> </TabPane>
<TabPane tab="方案管理" key="3"> <TabPane tab="方案管理" key="3">
{activekey==='3'?<ProjectMessage />:''} {activekey === '3' ? <ProjectMessage /> : ''}
</TabPane> </TabPane>
<TabPane tab="方案配置" key="4"> <TabPane tab="方案配置" key="4">
{activekey==='4'?<SolutionConfig />:''} {activekey === '4' ? <SolutionConfig /> : ''}
</TabPane> </TabPane>
</Tabs> </Tabs>
</div> </div>
</PageContainer>
</PageContainer> );
) };
export default SchemeConfig;
}
export default SchemeConfig;
\ No newline at end of file
.container3d{ .container3d {
width: 100%; width: 100%;
background-color: #ffffff;
display: flex;
.ant-table {
min-height: 15rem !important;
}
padding: 0.8rem;
.ant-table-thead tr th {
font-weight: 600;
color: rgba(0, 0, 0, 0.85);
}
overflow-y: scroll;
.ant-input-number-input {
background-color: #ffffff; background-color: #ffffff;
display: flex; color: #000000;
.ant-table { }
min-height: 15rem !important; .ant-card-body {
} padding: 12px 24px 24px 25px;
padding: 0.8rem; }
.ant-table-thead tr th { }
font-weight: 600; .imgList {
color: rgba(0, 0, 0, 0.85); display: flex;
} flex-wrap: wrap;
overflow-y: scroll; }
.ant-input-number-input{ .imgItem {
background-color: #ffffff; display: flex;
color: #000000; flex-direction: column;
} align-items: center;
.ant-card-body { margin: 0 1rem 1rem 0;
padding: 12px 24px 24px 25px; }
} .tileBtn {
} display: flex;
.imgList{ justify-content: flex-end;
display: flex; width: 100%;
flex-wrap: wrap; padding: 0 0 2rem;
} }
.imgItem{ .schemeName {
display: flex; margin-right: 0.8rem;
flex-direction: column; font-weight: bold;
align-items: center;
margin:0 1rem 1rem 0;
}
.tileBtn{
display: flex;
justify-content: flex-end;
width: 100%;
padding: 0 0 2rem
}
.schemeName{
margin-right: 0.8rem;
font-weight: bold;
} }
.schemeItem,.schemeBtn{ .schemeItem,
display: flex; .schemeBtn {
align-items: center; display: flex;
} align-items: center;
.schemeBtn{
width: 12rem;
justify-content: center;
}
.mapItem{
display: flex;
border: 1px solid #ccc;
border-radius: 4px;
height: 2.2rem;
align-items: center;
margin: 0.5rem 0;
width: 14.5rem;
}
.defaultTile{
background: #ccc;
color: white;
cursor: pointer;
height: 100%;
display: flex;
align-items: center;
width: 3rem;
justify-content: center;
} }
.mapText{ .schemeBtn {
width: 10rem; width: 12rem;
text-align: center; justify-content: center;
} }
.mapIcon{ .mapItem {
display: flex; display: flex;
justify-content: center; border: 1px solid #ccc;
align-items: center; border-radius: 4px;
cursor: pointer; height: 2.2rem;
align-items: center;
margin: 0.5rem 0;
width: 14.5rem;
} }
.activeTile{ .defaultTile {
background-color: #4699f4 background: #ccc;
color: white;
cursor: pointer;
height: 100%;
display: flex;
align-items: center;
width: 3rem;
justify-content: center;
}
.mapText {
width: 10rem;
text-align: center;
}
.mapIcon {
display: flex;
justify-content: center;
align-items: center;
cursor: pointer;
}
.activeTile {
background-color: #4699f4;
} }
.dropList { .dropList {
position: absolute; position: absolute;
right: 2%; right: 2%;
top: 25%; top: 25%;
color: rgba(0, 0, 0, 0.25); color: rgba(0, 0, 0, 0.25);
z-index: 99; z-index: 99;
}
.divider{
display: flex;
align-items: center;
line-height: 100%;
padding: 0.5rem;
.dividerIcon{
margin-left: 0.8rem;
color: #4699f4;
cursor: pointer;
}
} }
.divider {
.cardsList{ display: flex;
display: flex; align-items: center;
flex-wrap: wrap; line-height: 100%;
} padding: 0.5rem;
.cardItem{ .dividerIcon {
width: 18rem; margin-left: 0.8rem;
height: 26rem; color: #4699f4;
margin: 0 2rem; cursor: pointer;
} }
.containerFileds{ }
display: flex;
justify-content: space-between; .cardsList {
width: 98%; display: flex;
border:1px solid #f0f0f0; flex-wrap: wrap;
margin-top: 1rem; }
} .cardItem {
\ No newline at end of file width: 18rem;
height: 26rem;
margin: 0 2rem;
}
.containerFileds {
display: flex;
justify-content: space-between;
width: 98%;
border: 1px solid #f0f0f0;
margin-top: 0.5rem;
}
...@@ -69,7 +69,6 @@ const BaseConfig = () => { ...@@ -69,7 +69,6 @@ const BaseConfig = () => {
</div> </div>
)} )}
<br /> <br />
<Button style={{ marginLeft: '116px', marginTop: '10px' }}>生成编号</Button>
<div style={{ marginTop: '50px', display: 'flex', alignItems: 'center' }}> <div style={{ marginTop: '50px', display: 'flex', alignItems: 'center' }}>
<img src={servie} style={{ height: '16px' }} alt="" /> <img src={servie} style={{ height: '16px' }} alt="" />
<span style={{ marginLeft: '10px', fontWeight: 'bold' }}>服务器链接</span> <span style={{ marginLeft: '10px', fontWeight: 'bold' }}>服务器链接</span>
......
...@@ -17,11 +17,7 @@ import { ...@@ -17,11 +17,7 @@ import {
notification, notification,
Spin, Spin,
} from 'antd'; } from 'antd';
import { import { PlusCircleOutlined, EditTwoTone, DeleteOutlined } from '@ant-design/icons';
PlusCircleOutlined,
EditTwoTone,
DeleteOutlined,
} from '@ant-design/icons';
const { Search } = Input; const { Search } = Input;
const { Option } = Select; const { Option } = Select;
...@@ -148,6 +144,21 @@ const TemplateManage = () => { ...@@ -148,6 +144,21 @@ const TemplateManage = () => {
dataIndex: 'third_id', dataIndex: 'third_id',
key: 'third_id', key: 'third_id',
align: 'center', align: 'center',
width: 150,
onCell: () => ({
style: {
maxWidth: 150,
overflow: 'hidden',
whiteSpace: 'nowrap',
textOverflow: 'ellipsis',
cursor: 'pointer',
},
}),
render: record => (
<Tooltip placement="topLeft" title={record}>
{record}
</Tooltip>
),
}, },
{ {
title: '模板参数1.0', title: '模板参数1.0',
...@@ -172,6 +183,21 @@ const TemplateManage = () => { ...@@ -172,6 +183,21 @@ const TemplateManage = () => {
dataIndex: 'analysis_params', dataIndex: 'analysis_params',
key: 'analysis_params', key: 'analysis_params',
align: 'center', align: 'center',
width: 150,
onCell: () => ({
style: {
maxWidth: 150,
overflow: 'hidden',
whiteSpace: 'nowrap',
textOverflow: 'ellipsis',
cursor: 'pointer',
},
}),
render: record => (
<Tooltip placement="topLeft" title={record}>
{record}
</Tooltip>
),
}, },
{ {
title: '操作', title: '操作',
...@@ -203,9 +229,7 @@ const TemplateManage = () => { ...@@ -203,9 +229,7 @@ const TemplateManage = () => {
delTemplate(record); delTemplate(record);
}} }}
> >
<DeleteOutlined <DeleteOutlined style={{ fontSize: '16px', color: '#e86060' }} />
style={{ fontSize: '16px', color: '#e86060' }}
/>
</Popconfirm> </Popconfirm>
</div> </div>
</Tooltip> </Tooltip>
...@@ -218,10 +242,7 @@ const TemplateManage = () => { ...@@ -218,10 +242,7 @@ const TemplateManage = () => {
const searchStyle = val => { const searchStyle = val => {
let n; let n;
if (showSearchStyle) { if (showSearchStyle) {
n = val.replace( n = val.replace(new RegExp(value, 'g'), `<span style='color:red'>${value}</span>`);
new RegExp(value, 'g'),
`<span style='color:red'>${value}</span>`,
);
} else { } else {
n = val; n = val;
} }
......
import { Tabs, Button } from 'antd'; import { Tabs, Button } from 'antd';
import React from 'react'; import React from 'react';
import PageContainer from '@/components/BasePageContainer'; import PageContainer from '@/components/BasePageContainer';
import styles from './SchemeConfig.less' import styles from './SchemeConfig.less';
import TileConfig from './TileConfig/TileConfig'; import TileConfig from './TileConfig/TileConfig';
import VectorData from './VectorData/VectorData'; import VectorData from './VectorData/VectorData';
import ProjectMessage from './projectMessage/projectMessage'; import ProjectMessage from './projectMessage/projectMessage';
...@@ -10,32 +10,27 @@ import SolutionConfig from './solutionConfig/solutionConfig'; ...@@ -10,32 +10,27 @@ import SolutionConfig from './solutionConfig/solutionConfig';
const { TabPane } = Tabs; const { TabPane } = Tabs;
const SchemeConfig = () => { const SchemeConfig = () => {
const callback = () => {};
const callback = () => { return (
<PageContainer>
} <div className={styles.container}>
<Tabs onChange={callback} type="card">
return ( <TabPane tab="瓦片数据配置" key="1">
<PageContainer> <TileConfig />
<div className={styles.container}> </TabPane>
<Tabs onChange={callback} type="card"> <TabPane tab="矢量数据配置" key="2">
<TabPane tab="瓦片数据配置" key="1"> <VectorData />
<TileConfig /> </TabPane>
</TabPane> <TabPane tab="方案管理" key="3">
<TabPane tab="矢量数据配置" key="2"> <ProjectMessage />
<VectorData /> </TabPane>
</TabPane> <TabPane tab="方案配置" key="4">
<TabPane tab="方案管理" key="3"> <SolutionConfig />
<ProjectMessage /> </TabPane>
</TabPane> </Tabs>
<TabPane tab="方案配置" key="4"> </div>
<SolutionConfig/> </PageContainer>
</TabPane> );
</Tabs> };
</div> export default SchemeConfig;
</PageContainer>
)
}
export default SchemeConfig;
\ No newline at end of file
...@@ -2,22 +2,30 @@ import React, { useEffect, useState } from 'react'; ...@@ -2,22 +2,30 @@ import React, { useEffect, useState } from 'react';
import { Form, Modal, Row, Col, Input, Select, notification } from 'antd'; import { Form, Modal, Row, Col, Input, Select, notification } from 'antd';
const VideoModal = props => { const VideoModal = props => {
const { callBackSubmit = () => { }, visible, onCancel, obj } = props; const { callBackSubmit = () => {}, visible, onCancel, obj } = props;
return ( return (
<Modal <Modal
visible={visible} visible={visible}
title={obj.Name} title={obj.Name}
onCancel={onCancel} onCancel={onCancel}
destroyOnClose destroyOnClose
width="1000px" width="1000px"
maskClosable={false} maskClosable={false}
footer={[]} footer={[]}
> >
<div className="pp"> <div className="pp">
< iframe style={{ border: 0, width: "100%", height: 630, }} src={window.location.origin + `/web4/video/indexAll.html?ID=${obj.EquipmentCode}&skipCheck=true&name=${obj.Name}&disk=${obj.RecorderName}&site=null`} /> <iframe
</div> style={{ border: 0, width: '100%', height: 630 }}
</Modal> src={
) window.location.origin +
} `/web4/video/indexAll.html?ID=${obj.EquipmentCode}&skipCheck=true&name=${
export default VideoModal obj.Name
\ No newline at end of file }&disk=${obj.RecorderName}&site=null`
}
/>
</div>
</Modal>
);
};
export default VideoModal;
...@@ -25,7 +25,6 @@ import RoleManage from '@/pages/userCenter/roleManage/RoleManage'; ...@@ -25,7 +25,6 @@ import RoleManage from '@/pages/userCenter/roleManage/RoleManage';
import SiteManage from '../pages/userCenter/siteManage/SiteManage'; import SiteManage from '../pages/userCenter/siteManage/SiteManage';
import Dictionary from '../pages/dataCenter/dictionary'; import Dictionary from '../pages/dataCenter/dictionary';
import Dictionary1 from '../pages/dataCenter/dictionary1';
// import Search from '../pages/dataCenter/search'; // import Search from '../pages/dataCenter/search';
import ServiceLog from '../pages/log/serviceLog'; import ServiceLog from '../pages/log/serviceLog';
import LoginLog from '../pages/log/loginLog'; import LoginLog from '../pages/log/loginLog';
...@@ -381,14 +380,8 @@ export default { ...@@ -381,14 +380,8 @@ export default {
routes: [ routes: [
{ {
path: '/dataCenter/dictionary', path: '/dataCenter/dictionary',
name: '数据字典1',
hideMenu: true,
component: Dictionary,
},
{
path: '/dataCenter/dictionary1',
name: '数据字典', name: '数据字典',
component: Dictionary1, component: Dictionary,
}, },
// { // {
// path: '/dataCenter/search', // path: '/dataCenter/search',
......
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