Commit 76477a88 authored by 邓超's avatar 邓超

Merge remote-tracking branch 'remotes/origin/styleEditBranch'

# Conflicts: # src/pages/bsmanager/workOrder/incident/AddModal.jsx # src/pages/database/ManagementDataBase/ManagementDataBase.jsx # src/pages/platformCenter/gis/schemeConfig/SchemeConfig.less
parents 3bf666bf 709086c9
Pipeline #61451 waiting for manual action with stages
......@@ -7,7 +7,7 @@
}
.ant-layout .ant-layout-content {
margin: 0px !important;
margin: 12px;
}
.ant-pro-page-container {
......
......@@ -2,16 +2,20 @@
.ant-modal-body {
padding: 0;
}
.ant-modal-header {
padding: 28px 16px;
}
.pageContent {
display: flex;
height: 100%;
.optionalList {
position: relative;
width: 60%;
width: 68%;
border-right: 1px solid #e7e7e7;
.title {
position: absolute;
left: 17px;
......@@ -21,18 +25,22 @@
z-index: 1;
color: #00070d;
}
.tabContent {
height: 590px;
.ant-tabs-content-holder {
height: 523px;
}
}
.searchInput {
position: absolute;
width: 200px;
z-index: 1;
top: 3px;
right: 40px;
.anticon svg {
margin-top: 0px;
}
......@@ -42,26 +50,33 @@
border-top-left-radius: 20px;
border-bottom-left-radius: 20px;
}
.ant-input-group-addon {
border-top-right-radius: 20px;
border-bottom-right-radius: 20px;
}
.ant-input-search-button {
width: 40px;
border-top-right-radius: 20px;
border-bottom-right-radius: 20px;
}
}
.checkContent {
display: flex;
flex-wrap: wrap;
margin-left: 32px;
height: 525px;
overflow-y: scroll;
.check {
.ant-checkbox-wrapper {
width: 180px;
margin-bottom: 10px;
margin-left: 6px;
}
.ant-checkbox-wrapper span {
max-width: 160px;
overflow: hidden;
......@@ -70,21 +85,26 @@
}
}
}
.footer {
padding-left: 25px;
.ant-pagination {
border: none;
}
}
.ant-tabs-nav {
background-color: #f2f1f1;
}
.ant-tabs-tab {
background-color: #f2f1f1;
color: #666666;
border-top-left-radius: 5px;
border-top-right-radius: 5px;
}
.ant-tabs-tab-active {
background-color: #fff;
color: #1685ff;
......@@ -92,6 +112,7 @@
border-top-right-radius: 5px;
}
}
.selectedList {
position: relative;
width: 40%;
......@@ -100,6 +121,7 @@
height: 40px;
width: 100%;
background-color: #f2f1f1;
.title {
position: absolute;
left: 17px;
......@@ -109,16 +131,19 @@
z-index: 1;
color: #00070d;
}
.tagHead {
display: flex;
position: absolute;
top: 10px;
left: 88px;
.tagContent {
display: flex;
align-items: center;
margin-right: 11px;
}
.tagRol,
.tagOrg,
.tagSite {
......@@ -127,25 +152,31 @@
margin-right: 5px;
}
.tagRol {
background-color: #87e8de;
}
.tagOrg {
background-color: #ffd591;
}
.tagSite {
background-color: #a785dd;
}
}
}
.selectBox {
height: 528px;
padding: 10px;
overflow-y: scroll;
.selectContent {
display: flex;
flex-wrap: wrap;
flex-direction: row;
.selectValue {
margin-bottom: 15px;
}
......@@ -153,11 +184,13 @@
}
}
}
.ant-empty-normal {
margin: auto;
}
.ant-divider-horizontal {
margin-top: 0px;
margin-bottom: 10px;
}
}
}
\ No newline at end of file
......@@ -465,7 +465,7 @@ class PicturesWall extends React.Component<PicturesWallType> {
onChange={e => this.setState({search: e.target.value})}
allowClear/>
{/* <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, overflowY:'scroll'}}>
{imgBed.map((item, i) => {
if (item.moduleName == picType || item.moduleName == 'CityTemp') {
const child = [...item.child] || [];
......
......@@ -12,6 +12,11 @@ body,
.ant-layout {
min-height: 100vh;
overflow: auto;
.ant-layout-content {
margin: 12px;
}
}
canvas {
......@@ -38,12 +43,15 @@ iframe {
.ant-table {
width: 100%;
overflow-x: auto;
&-thead > tr,
&-tbody > tr {
> th,
> td {
&-thead>tr,
&-tbody>tr {
>th,
>td {
white-space: pre;
> span {
>span {
display: block;
}
}
......@@ -52,19 +60,112 @@ iframe {
}
// 兼容IE11
@media screen and(-ms-high-contrast: active), (-ms-high-contrast: none) {
body .ant-design-pro > .ant-layout {
@media screen and(-ms-high-contrast: active),
(-ms-high-contrast: none) {
body .ant-design-pro>.ant-layout {
min-height: 100vh;
}
}
.ant-pro-global-header-layout-side>div:first-child /deep/{
.ant-pro-global-header-layout-side>div:first-child /deep/ {
flex: 0 !important;
}
iframe{
iframe {
border: none !important;
}
:global{
.ant-tree-node-content-wrapper .anticon-folder, .ant-tree-icon__customize, .ant-tree-switcher-icon{
color: #1890ff !important;
: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-table-body {
border-right: 1px solid rgb(240, 240, 240);
}
.ant-table-cell {
overflow: hidden;
white-space: nowrap;
}
.ant-tree.ant-tree-block-node .ant-tree-list-holder-inner .ant-tree-node-content-wrapper {
line-height: 28px;
width: 0;
}
.ant-tree-drop-indicator {
bottom: 3px;
margin-left: 6px;
}
.ant-tree-draggable-icon {
display: none;
}
.ant-tree-switcher-icon svg {
font-size: 14px;
color: #767777;
}
.ant-table-pagination {
padding-right: 12px;
background: white;
margin: 1px 0;
padding: 8px;
padding-right: 20px;
}
.ant-pagination {
padding-right: 12px;
background: white;
margin: 1px 0;
padding: 8px;
padding-right: 20px;
}
.ant-tree-node-content-wrapper .anticon-folder,
.ant-tree-icon__customize,
.ant-tree-switcher-icon {
color: #1890ff;
}
.ant-tree-node-content-wrapper {
width: 100%;
.ant-tree-title {
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
display: block;
}
}
.ant-spin-nested-loading {
height: 100%;
}
.ant-spin-container {
height: 100%;
}
}
\ No newline at end of file
......@@ -370,7 +370,7 @@ const StandingBook = props => {
>
{treeVisible ? (
<>
<div>
<div style={{ width: '214px', height: '100%' }}>
<span
style={{
fontSize: '15px ',
......@@ -396,7 +396,7 @@ const StandingBook = props => {
<hr style={{ width: '100%', color: '#eeecec' }} />
<div
style={{
height: 'calc(100vh - 150px)',
height: 'calc(100% - 35px)',
overflowY: 'scroll',
}}
>
......@@ -470,7 +470,7 @@ const StandingBook = props => {
重置
</Button> */}
</div>
<div style={{ marginTop: '10px' }}>
<div style={{ marginTop: '10px', height: 'calc(100% - 94px)' }}>
<Table
size="small"
rowKey="ID"
......@@ -487,7 +487,7 @@ const StandingBook = props => {
loading={tableLoading}
dataSource={searchFlag === 0 ? allData[pickItem] : searchData[pickItem]}
// loading={tableLoading}
scroll={{ x: 'max-content', y: 'calc(100vh - 180px)' }}
scroll={{ x: 'max-content', y: 'calc(100% - 40px)' }}
// scroll={{ x: 'max-content' }}
pagination={{
showTotal: (total, range) => `第${range[0]}-${range[1]} 条/共 ${total} 条`,
......
......@@ -3,19 +3,19 @@
cursor: pointer;
}
.ant-layout {
overflow: auto;
// .ant-layout {
// overflow: auto;
.ant-layout-content {
margin: 12px !important;
}
}
// .ant-layout-content {
// margin: 12px !important;
// }
// }
.ant-btn>.anticon+span,
.ant-btn>span+.anticon {
margin-left: 8px;
vertical-align: middle;
}
// .ant-btn>.anticon+span,
// .ant-btn>span+.anticon {
// margin-left: 8px;
// vertical-align: middle;
// }
.siteTitle {
font-size: 16px;
......@@ -27,8 +27,8 @@
.userManageContainer {
.ant-card-body {
padding-left: 0;
padding-right: 0;
height: 100%;
padding: 12px 24px 24px 10px;
}
.listItem {
......@@ -115,18 +115,21 @@
.contentContainers {
display: flex;
width: 100%;
height: 100%;
position: relative;
.ant-table.ant-table-bordered>.ant-table-container {
min-width: calc(100vw - 582px);
// min-width: calc(100vw - 582px);
// height: calc(100vh - 175px);
height: 100%;
overflow-x: hidden;
border: none;
}
.orgContainer {
height: calc(100vh - 74px);
width: 240px;
// height: calc(100vh - 74px);
height: 100%;
width: 250px;
left: 0;
top: 0;
margin-right: 10px;
......@@ -174,7 +177,7 @@
}
.userContainer {
height: calc(100vh - 74px) !important;
height: 100%;
z-index: 999;
min-width: 800px;
background: white;
......@@ -192,6 +195,13 @@
white-space: nowrap;
}
.ant-table-wrapper {
height: 100%;
.ant-table {
height: 100%;
}
}
.ant-table-pagination {
padding-right: 12px;
background: white;
......@@ -225,9 +235,9 @@
}
.ant-table-body {
height: calc(100vh - 210px);
border-right: white;
overflow: auto !important;
// height: calc(100vh - 210px);
// border-right: white;
// overflow: auto !important;
}
.clickRowStyle {
......@@ -242,53 +252,53 @@
}
}
.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: 200px !important;
}
.ant-tree-list-holder {
overflow: auto;
overflow-x: hidden;
height: 40vh;
}
.ant-tabs-content-holder {
overflow: auto;
height: 50vh;
}
}
// .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: 200px !important;
// }
// .ant-tree-list-holder {
// overflow: auto;
// overflow-x: hidden;
// height: 40vh;
// }
// .ant-tabs-content-holder {
// overflow: auto;
// height: 50vh;
// }
// }
.ant-modal-content {
border-radius: 5px;
}
// .ant-modal-content {
// border-radius: 5px;
// }
.ant-modal-header {
border-radius: 5px 5px 0 0;
padding: 28px 40px;
}
// .ant-modal-header {
// border-radius: 5px 5px 0 0;
// padding: 28px 40px;
// }
.ant-modal-close {
top: 14px;
right: 20px;
}
// .ant-modal-close {
// top: 14px;
// right: 20px;
// }
.ant-modal-footer {
border: none;
padding: 28px 40px;
}
// .ant-modal-footer {
// border: none;
// padding: 28px 40px;
// }
.ant-modal-footer .ant-btn+.ant-btn:not(.ant-dropdown-trigger) {
margin-bottom: 0;
margin-left: 15px;
}
// .ant-modal-footer .ant-btn+.ant-btn:not(.ant-dropdown-trigger) {
// margin-bottom: 0;
// margin-left: 15px;
// }
// .ant-form-horizontal .ant-form-item-control {
// margin-left: 10px;
......@@ -334,22 +344,26 @@
text-overflow: ellipsis;
}
.ant-popover-inner {
border-radius: 10px;
background-color: rgba(255, 255, 255, 0.788);
}
// .ant-popover-inner {
// border-radius: 10px;
// background-color: rgba(255, 255, 255, 0.788);
// }
.ant-popover-inner-content {
padding: 10px 10px;
}
// .ant-popover-inner-content {
// padding: 10px 10px;
// }
.ant-popover-message>.anticon {
top: 7.0005px;
}
// .ant-popover-message>.anticon {
// top: 7.0005px;
// }
.listCard {
display: flex;
.ant-checkbox-group-item {
width: 100%;
}
.cardItem {
padding: 0.5rem;
}
......
......@@ -670,13 +670,19 @@ const TableView = props => {
/>
</Form.Item>
<Form.Item>
<Button icon={<PlusOutlined />} type="primary" onClick={() => handleAdd()}>
新增
<Button type="primary" onClick={() => handleAdd()}>
<div style={{ display: 'flex', alignItems: 'center' }}>
<PlusOutlined style={{ marginRight: '5px' }} />
<span> 新增</span>
</div>
</Button>
</Form.Item>
<Form.Item>
<Button icon={<MinusOutlined />} onClick={() => deleteFilleds()}>
批量删除
<Button onClick={() => deleteFilleds()}>
<div style={{ display: 'flex', alignItems: 'center' }}>
<MinusOutlined style={{ marginRight: '5px' }} />
<span> 批量删除</span>
</div>
</Button>
</Form.Item>
</Form>
......
......@@ -31,9 +31,9 @@ import {
} from '@/services/tablemanager/tablemanager';
import { useHistory } from 'react-router-dom';
import FieldEditor from './fieldEditor';
import styles from './index.less';
import AffiliateAdd from '../components/Field/affiliateAdd';
import LoadGroup from '../components/Field/loadGroupNew';
import styles from './index.less';
const AddModal = props => {
const history = useHistory();
const [allData, setAllData] = useState([]);
......@@ -698,7 +698,7 @@ const AddModal = props => {
bordered
expandedRowKeys={selectGroup.map(item => item.key)}
expandRowByClick
scroll={{ y: 'calc(100vh - 170px)' }}
scroll={{ y: 'calc(100% - 70px)' }}
onRow={record => ({
onDoubleClick: event => {
event.stopPropagation();
......
......@@ -25,9 +25,19 @@
}
}
.containerBox {
width: 100vm;
height: calc(100vh - 90px);
width: 100%;
// height: calc(100vh - 90px);
height: 100%;
background: #ffffff;
.ant-table-wrapper {
height: calc(100% - 56px);
}
.ant-table {
height: 100%;
}
.ant-table-container {
height: 100%;
}
.ant-table.ant-table-small .ant-table-tbody .ant-table-wrapper:only-child .ant-table {
margin-left: 0;
}
......
......@@ -46,7 +46,7 @@ import {
} from '@/services/tablemanager/tablemanager';
import { useHistory } from 'react-router-dom';
import { Ellipse } from 'bizcharts/lib/g-components';
import styles from './index.less';
import Editor from './components/Field/editor';
// import AddTablelList from './components/Field/addTable';
import AddTablelList from './components/TableView';
......@@ -54,6 +54,7 @@ import AffiliateAdd from './components/Field/affiliateAdd';
import LoadGroup from './components/Field/loadGroup';
import LoadGroupNew from './components/Field/loadGroupNew';
import { defaultFields } from './components/defaultFields';
import styles from './index.less';
const { Search } = Input;
const { Option } = Select;
const placeholder = '请输入表名';
......@@ -621,7 +622,7 @@ const TableManager = props => {
附加表
</Button>
</div>
<div style={{ flex: 1, position: 'relative', width: '100%' }}>
<div style={{ flex: 1, position: 'relative', width: '100%', background: '#fff' }}>
<Table
rowKey={record => record.key}
size="small"
......@@ -629,7 +630,7 @@ const TableManager = props => {
style={{ position: 'absolute' }}
columns={columns}
dataSource={allData[select]}
scroll={{ x: 'max-content', y: 'calc(100vh - 217px)' }}
scroll={{ x: 'max-content', y: 'calc(100% - 50px)' }}
rowClassName={setRowClassName}
onRow={record => ({
onDoubleClick: event => {
......
......@@ -2,30 +2,52 @@
position: relative;
display: flex;
width: 100%;
height: 100%;
}
.tablemanager_container {
position: relative;
display: flex;
flex-direction: column;
width: 100%;
height: 100%;
border: 1px solid #f0f0f0;
.lack {
background-color: rgb(255, 255, 0);
color: rgb(255, 0, 0);
}
.ant-table-pagination.ant-pagination {
margin: 0;
.ant-pagination {
margin: 10px 20px 0 0;
}
.ant-table.ant-table-small .ant-table-tbody .ant-table-wrapper:only-child .ant-table {
margin-left: 0;
.ant-table-wrapper {
height: 100%;
}
.ant-table.ant-table-bordered > .ant-table-container {
border: none;
.ant-table-container {
height: 100%;
}
.ant-table {
height: calc(100% - 50px);
}
// .ant-table-pagination.ant-pagination {
// margin: 0;
// }
// .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;
// }
.ant-table-thead tr th {
font-weight: 600;
color: rgba(0, 0, 0, 0.85);
}
.ant-btn {
display: flex;
align-items: center;
......@@ -34,6 +56,7 @@
.clickRowStyle {
background: #cfe7fd;
}
.operate_bar {
width: 100%;
height: 60px;
......@@ -42,6 +65,7 @@
flex-direction: row;
justify-content: flex-start;
align-items: center;
.fast_search {
height: 60px;
margin-right: 10px;
......@@ -57,26 +81,35 @@
}
}
}
.orgContainer {
position: relative;
left: 0;
top: 0;
height: calc(100vh - 74px);
// height: calc(100vh - 74px);
height: 100%;
width: 250px;
margin-right: 10px;
transition-property: width;
transition-duration: 0.5s;
white-space: nowrap;
.ant-card-body {
padding: 12px 24px 24px 10px;
}
.processTitle {
font-size: 15px;
font-weight: bold;
color: #333e51;
padding-left: 14px;
}
.splitLine {
width: 100%;
color: #eeecec;
}
.listItem {
display: flex;
justify-content: space-between;
......@@ -88,6 +121,7 @@
color: #414e65;
cursor: pointer;
}
.listHover {
background-color: #f5f6f9;
}
......@@ -95,6 +129,7 @@
.pickItem {
background-color: #aed8fa;
}
.switcher {
display: block;
position: absolute;
......@@ -106,6 +141,7 @@
z-index: 1;
}
}
.orgContainerHide {
width: 26px;
}
}
\ No newline at end of file
......@@ -502,7 +502,7 @@ const AddModal = props => {
<Col span={12}>
<Item
label={
<div>
<div style={{ display: 'flex', alignItems: 'center' }}>
<Tooltip title="任务提前生成天数,仅适用于接口定时执行">
<InfoCircleOutlined
style={{
......
.maintenanceContainer {
height: 100%;
.contentContainers {
height: 100%;
.ant-table-wrapper {
height: calc(100% - 100px);
.ant-table {
height: 100%;
}
}
.ant-pagination {
padding: 10px;
}
}
.ant-card-body {
padding: 12px 24px 24px 24px;
}
.pickItem {
background-color: #f5f6f9;
}
}
.formData {
height: 38rem;
overflow-y: scroll;
.ant-form-item-label
> label.ant-form-item-required:not(.ant-form-item-required-mark-optional)::before {
.ant-form-item-label>label.ant-form-item-required:not(.ant-form-item-required-mark-optional)::before {
display: none;
}
.formData_label {
display: flex;
align-items: center;
}
.filed_listItem {
display: flex;
height: 3.6rem;
.ant-btn-icon-only {
width: 32px;
height: 32px;
......@@ -33,15 +56,18 @@
}
}
}
.cardContent {
height: 30rem;
overflow-y: scroll;
overflow-x: scroll;
width: 100%;
}
.doctorTable {
margin-bottom: 16px;
}
.linkDrowp {
position: absolute;
top: 0px;
......@@ -51,6 +77,7 @@
display: flex;
align-items: center;
}
.listItem {
display: flex;
justify-content: space-between;
......@@ -62,19 +89,24 @@
align-items: center;
padding: 8px 14px;
}
.ant-select-arrow .anticon {
vertical-align: middle;
}
.listCard {
display: flex;
.cardItem {
padding: 0.5rem;
}
.cardContent {
height: 30rem;
overflow-y: scroll;
width: 100%;
}
.cardItemData {
display: inline-block;
padding: 0.5rem;
......@@ -86,12 +118,15 @@
overflow-y: scroll;
}
}
.ant-modal-body {
padding: 10px 24px 0px 24px;
}
.ant-modal-footer {
padding: 10px 48px 10px 40px;
}
.ant-table-pagination.ant-pagination {
margin: 5px 0;
}
}
\ No newline at end of file
......@@ -280,7 +280,7 @@ const patrolFeedback = () => {
})}
columns={columns}
dataSource={tableData}
scroll={{ y: 'calc(100vh - 205px)', x: 'max-content' }}
scroll={{ y: 'calc(100% - 205px)', x: 'max-content' }}
pagination={{
showTotal: (total, range) => `第${range[0]}-${range[1]} 条/共 ${total} 条`,
pageSizeOptions: [10, 20, 50, 100],
......
.PatrolFeedbackContainer {
height: 100%;
.contentContainers {
height: 100%;
.ant-table-wrapper {
height: calc(100% - 100px);
.ant-table {
height: 100%;
}
}
.ant-pagination {
padding: 10px;
}
}
.ant-card-body {
padding: 12px 24px 24px 24px;
}
.pickItem {
background-color: #f5f6f9;
}
}
.formData {
height: 38rem;
overflow-y: scroll;
.ant-form-item-label
> label.ant-form-item-required:not(.ant-form-item-required-mark-optional)::before {
.ant-form-item-label>label.ant-form-item-required:not(.ant-form-item-required-mark-optional)::before {
display: none;
}
.formData_label {
display: flex;
align-items: center;
}
.filed_listItem {
display: flex;
height: 3.6rem;
.ant-btn-icon-only {
width: 32px;
height: 32px;
......@@ -33,15 +59,18 @@
}
}
}
.cardContent {
height: 30rem;
overflow-y: scroll;
overflow-x: scroll;
width: 100%;
}
.doctorTable {
margin-bottom: 16px;
}
.linkDrowp {
position: absolute;
top: 0px;
......@@ -51,6 +80,7 @@
display: flex;
align-items: center;
}
.listItem {
display: flex;
justify-content: space-between;
......@@ -62,19 +92,24 @@
align-items: center;
padding: 8px 14px;
}
.ant-select-arrow .anticon {
vertical-align: middle;
}
.listCard {
display: flex;
.cardItem {
padding: 0.5rem;
}
.cardContent {
height: 30rem;
overflow-y: scroll;
width: 100%;
}
.cardItemData {
display: inline-block;
padding: 0.5rem;
......@@ -86,12 +121,15 @@
overflow-y: scroll;
}
}
.ant-modal-body {
padding: 10px 24px 0px 24px;
}
.ant-modal-footer {
padding: 10px 48px 10px 40px;
}
.ant-table-pagination.ant-pagination {
margin: 5px 0;
}
}
\ No newline at end of file
......@@ -46,7 +46,13 @@ import {
GetCM_Event_QueryEventType,
CM_Event_AddEventTable,
} from '@/services/standingBook/api';
import { PlusOutlined, DownOutlined, InfoCircleOutlined, DeleteOutlined, PictureOutlined } from '@ant-design/icons';
import {
PlusOutlined,
DownOutlined,
InfoCircleOutlined,
DeleteOutlined,
PictureOutlined,
} from '@ant-design/icons';
import styles from './incident.less';
import ChangeAdd from './changeAdd';
import ChangeEdit from './changeEdit';
......@@ -626,7 +632,7 @@ const AddModal = props => {
setOrder(res.data.root.Order);
form.setFieldsValue({ ...res.data.root });
if (res.data.root.ImageExpression) {
setImageUrl(`${window.location.origin }/civweb4/${res.data.root.ImageExpression}`);
setImageUrl(`${window.location.origin}/civweb4/${res.data.root.ImageExpression}`);
setIm(res.data.root.ImageExpression);
} else {
form.setFieldsValue({
......@@ -966,23 +972,23 @@ const AddModal = props => {
console.log(initialArr);
//新建一个包含多个list的结果对象
let tempObj = {};
let aa =[];
let aa = [];
// 根据不同的"name"生成多个数组
// eslint-disable-next-line guard-for-in
for (let k in nameArr) {
for (let j in initialArr) {
if (initialArr[j][`${name}`] == nameArr[k]) {
// 每次外循环时新建一个对应"name"的数组, 内循环时当前数组不变
tempObj[nameArr[k]] = tempObj[nameArr[k]] || [];
if(initialArr[j].isDefaultField==false){
// 每次外循环时新建一个对应"name"的数组, 内循环时当前数组不变
tempObj[nameArr[k]] = tempObj[nameArr[k]] || [];
if (initialArr[j].isDefaultField == false) {
tempObj[nameArr[k]].push(initialArr[j]);
}else{
} else {
aa.push(initialArr[j].fieldName);
}
}
}
}
console.log(aa);
// tempObj.内置字段 = aa;
for (let key in tempObj) {
......@@ -1324,7 +1330,7 @@ const AddModal = props => {
const onOk = props => {
if (props) {
setImageUrl(`${window.location.origin }/civweb4/${props}`);
setImageUrl(`${window.location.origin}/civweb4/${props}`);
setIm(props);
setKeepImgeUrl(props);
form.setFieldsValue({ ImageExpression: `${props}` });
......@@ -1543,12 +1549,11 @@ const AddModal = props => {
<Col span={24}>
<Item
label={
<div>
<div style={{ display: 'flex', alignItems: 'center' }}>
<Tooltip title={`存在${summaryValue}个外部字段`}>
<InfoCircleOutlined
style={{
color: 'red',
display: summaryIsShow,
}}
/>
......@@ -1563,20 +1568,20 @@ const AddModal = props => {
{
validator: (rule, value) => {
console.log(checkedList1);
let aa =form.getFieldValue().SummaryFields
let bb =[];
let aa = form.getFieldValue().SummaryFields;
let bb = [];
console.log(aa.split(','));
aa.split(',').map(i=>{
if(i!=''){
bb.push(i)
aa.split(',').map(i => {
if (i != '') {
bb.push(i);
}
})
});
console.log(bb);
if (aa == '') {
return Promise.reject('摘要字段必选');
}
if(bb.length<3|| aa.split(',').length>5){
return Promise.reject('最少配置三个字段,最多配置五个字段');
if (bb.length < 3 || aa.split(',').length > 5) {
return Promise.reject('最少配置三个字段,最多配置五个字段');
}
return Promise.resolve();
},
......@@ -1603,7 +1608,7 @@ const AddModal = props => {
<Col span={24}>
<Item
label={
<div>
<div style={{ display: 'flex', alignItems: 'center' }}>
<Tooltip title={`存在${reportValue}个外部字段`}>
<InfoCircleOutlined
style={{
......@@ -1650,7 +1655,7 @@ const AddModal = props => {
<Col span={24}>
<Item
label={
<div>
<div style={{ display: 'flex', alignItems: 'center' }}>
<Tooltip title={`存在${displayValue}个外部字段`}>
<InfoCircleOutlined
style={{
......@@ -1697,7 +1702,7 @@ const AddModal = props => {
<Col span={24}>
<Item
label={
<div>
<div style={{ display: 'flex', alignItems: 'center' }}>
<Tooltip title={`存在${editableValue}个外部字段`}>
<InfoCircleOutlined
style={{
......@@ -1744,7 +1749,7 @@ const AddModal = props => {
<Col span={24}>
<Item
label={
<div>
<div style={{ display: 'flex', alignItems: 'center' }}>
<Tooltip title={`存在${displayColumns}个外部字段`}>
<InfoCircleOutlined
style={{
......@@ -1893,19 +1898,19 @@ const AddModal = props => {
left: '24px',
top: '45px',
color: 'white',
zIndex:'999'
zIndex: '999',
}}
/>
<PictureOutlined
onClick={pictruePreview}
style={{
position: 'absolute',
fontSize: '18px',
left: '54px',
top: '45px',
color: 'white',
zIndex:'999'
}}
<PictureOutlined
onClick={pictruePreview}
style={{
position: 'absolute',
fontSize: '18px',
left: '54px',
top: '45px',
color: 'white',
zIndex: '999',
}}
/>
</>
) : (
......
.ant-modal-close-x {
line-height: 35px;
}
.ant-btn .anticon.anticon-plus > svg {
margin-top: -5px;
}
// .ant-modal-close-x {
// line-height: 35px;
// }
// .ant-btn .anticon.anticon-plus > svg {
// margin-top: -5px;
// }
.incidentContainer {
.ant-card-body {
padding: 12px 24px 24px 24px;
......@@ -246,10 +246,10 @@
margin-bottom: 16px;
}
.ant-drawer-footer {
display: flex;
justify-content: flex-end;
}
// .ant-drawer-footer {
// display: flex;
// justify-content: flex-end;
// }
.config {
display: flex;
padding: 1rem 0 0.5rem 0.5rem;
......@@ -292,6 +292,6 @@
color: rgba(0, 0, 0, 0.85);
}
}
.panda-pro-pages-platform-center-bsmanager-work-order-incident-filed_listItem {
display: flex;
}
// .panda-pro-pages-platform-center-bsmanager-work-order-incident-filed_listItem {
// display: flex;
// }
......@@ -70,7 +70,7 @@ const incident = () => {
const [maxLength, setMaxLength] = useState(0);
const [pickItem, setPickItem] = useState('');
const [hoverItemIndex, setHoverItemIndex] = useState(0); // hover流程索引
const [keepIdValue, setKeepIdValue] = useState([])
const [keepIdValue, setKeepIdValue] = useState([]);
const columns = [
{
......@@ -309,7 +309,7 @@ const incident = () => {
console.log(newArr[rember]);
console.log(newArr, 'newArr');
setTreeData(newArr);
}else{
} else {
notification.error({
message: '提示',
duration: 3,
......@@ -455,7 +455,7 @@ const incident = () => {
[styles.orgContainerHide]: !treeVisible,
})}
>
<div>
<div style={{ height: '100%', display: treeVisible ? 'block' : 'none' }}>
<span
style={{
fontSize: '15px ',
......@@ -479,7 +479,7 @@ const incident = () => {
<hr style={{ width: '100%', color: '#eeecec' }} />
<div
style={{
height: 'calc(100vh - 150px)',
height: 'calc(100% - 60px)',
overflowY: 'scroll',
}}
>
......@@ -570,7 +570,7 @@ const incident = () => {
})}
columns={columns}
dataSource={tableData[pickItem]}
scroll={{ y: 'calc(100vh - 155px)', x: 'max-content' }}
scroll={{ y: 'calc(100% - 50px)', x: 'max-content' }}
pagination={{
showTotal: (total, range) => `第${range[0]}-${range[1]} 条/共 ${total} 条`,
pageSizeOptions: [10, 20, 50, 100],
......
.ant-modal-close-x {
line-height: 35px;
}
.ant-btn .anticon.anticon-plus > svg {
.ant-btn .anticon.anticon-plus>svg {
margin-top: -5px;
}
.incidentContainer {
height: 100%;
.ant-checkbox-wrapper ant-checkbox-group-item {
color: red;
}
.ant-card-body {
padding: 12px 24px 24px 24px;
padding: 12px 24px 24px 10px;
}
.ant-modal-body {
padding: 0px 24px 0px 24px;
}
.linkDrowp {
position: absolute;
left: 93.5%;
......@@ -19,6 +29,7 @@
display: flex;
align-items: center;
}
.listItem {
display: flex;
justify-content: space-between;
......@@ -30,32 +41,42 @@
align-items: center;
padding: 8px 14px;
}
.ant-btn .anticon.anticon-plus > svg,
.ant-btn .anticon.anticon-minus > svg {
.ant-btn .anticon.anticon-plus>svg,
.ant-btn .anticon.anticon-minus>svg {
margin-top: -5px;
}
.pickItem {
background-color: #aed8fa;
}
.listHover {
background-color: #f5f6f9;
}
.contentContainers {
height: 100%;
.ant-table table {
width: 100% !important;
overflow-x: scroll;
}
display: flex;
width: 100%;
position: relative;
.ant-table.ant-table-bordered > .ant-table-container {
min-width: calc(100vw - 582px);
height: calc(100vh - 166px);
overflow-x: hidden;
border: none;
}
// .ant-table.ant-table-bordered>.ant-table-container {
// min-width: calc(100vw - 582px);
// height: calc(100vh - 166px);
// overflow-x: hidden;
// border: none;
// }
.orgContainer {
height: calc(100vh - 74px);
// height: calc(100vh - 74px);
height: 100%;
width: 250px;
left: 0;
top: 0;
......@@ -64,17 +85,25 @@
transition-property: width, left;
transition-duration: 0.5s;
white-space: nowrap;
.ant-card-body {
height: 100%;
}
.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;
......@@ -93,17 +122,20 @@
top: 0;
width: 26px;
}
.ant-popover-message-title {
padding-left: 20px;
}
.userContainer {
height: calc(100vh - 74px) !important;
height: 100%;
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;
......@@ -113,6 +145,7 @@
text-overflow: ellipsis;
white-space: nowrap;
}
.ant-table-pagination {
padding-right: 12px;
background: white;
......@@ -120,59 +153,84 @@
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);
background-color: #f6f9fe;
}
.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;
.ant-table-wrapper {
height: calc(100% - 50px);
.ant-table {
height: calc(100% - 45px);
.ant-table-container {
height: 100%;
}
}
}
// .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;
}
}
}
.icon {
margin-top: -5px !important;
vertical-align: text-bottom;
}
}
.formData {
height: 38rem;
overflow-y: scroll;
.ant-form-item-label
> label.ant-form-item-required:not(.ant-form-item-required-mark-optional)::before {
.ant-form-item-label>label.ant-form-item-required:not(.ant-form-item-required-mark-optional)::before {
display: none;
}
.formData_label {
display: flex;
align-items: center;
}
.filed_listItem {
display: flex;
height: 3.6rem;
.ant-btn-icon-only {
width: 32px;
height: 32px;
......@@ -185,56 +243,74 @@
justify-content: center;
}
}
.ant-modal-root .ant-checkbox-group .ant-checkbox-group-item {
margin-right: 0px !important;
min-width: 200px !important;
}
}
.listCard {
display: flex;
justify-content: space-around;
width: 100%;
.cardItem {
padding: 0.5rem;
width: 50%;
}
.cardContent {
height: 30rem;
overflow-y: scroll;
overflow-x: scroll;
width: 100%;
.ant-checkbox-group {
.ant-checkbox-wrapper {
width: 100%;
}
}
}
.cardItemData {
padding: 1rem;
border: 1px solid #b5b8c8;
margin-bottom: 1rem;
overflow-x: scroll;
}
.cardItemData1 {
padding: 1rem;
border: 1px solid #b5b8c8;
margin-bottom: 1rem;
overflow-x: scroll;
.ant-checkbox-group-item {
color: red !important;
}
}
}
.listCard1 {
width: 100%;
display: flex;
height: 34rem;
.cardItem1 {
border: 1px solid #b5b8c8;
padding: 0.5rem;
width: 70%;
}
.cardItem11 {
border: 1px solid #b5b8c8;
padding: 0.5rem;
width: 30%;
}
.cardContent1 {
height: 33rem;
overflow-y: scroll;
......@@ -242,9 +318,11 @@
display: flex;
justify-content: space-around;
}
.tab {
width: 100%;
}
.cardItemData1 {
padding: 0rem 1rem;
margin-bottom: 1rem;
......@@ -252,6 +330,7 @@
// height: 28re;
}
}
.doctorTable {
margin-bottom: 16px;
}
......@@ -260,27 +339,32 @@
display: flex;
justify-content: flex-end;
}
.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;
}
}
.imgg {
position: relative;
top: -95px;
......@@ -289,34 +373,38 @@
width: 104px;
background: rgba(0, 0, 0, 0.5);
border-radius: 2px;
z-index:1;
z-index: 1;
}
.imgg :hover {
opacity: 0.7;
width: '100%';
background-color: '#2881a1';
}
.containerBox {
width: 100vm;
height: calc(100vh - 90px);
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 {
.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);
}
}
.panda-pro-pages-platform-center-bsmanager-work-order-incident-filed_listItem {
display: flex;
}
.ant-checkbox-wrapper ant-checkbox-group-item{
color:red;
}
// .panda-pro-pages-platform-center-bsmanager-work-order-incident-filed_listItem {
// display: flex;
// }
\ No newline at end of file
......@@ -229,11 +229,11 @@ const Flow = () => {
[styles.orgContainerHide]: !treeVisible,
})}
>
<div style={{ display: `${treeVisible ? 'block' : 'none'}` }}>
<div style={{ height: '100%', display: `${treeVisible ? 'block' : 'none'}` }}>
<span className={styles.processTitle}>流程列表</span>
<hr className={styles.splitLine} />
{/* 流程列表 */}
<div style={{ overflowY: 'scroll', height: 'calc(100vh - 150px)' }}>
<div style={{ overflowY: 'scroll', height: 'calc(100% - 30px)' }}>
{processData.length > 0 &&
processData.map((item, index) => (
<div
......@@ -293,7 +293,7 @@ const Flow = () => {
rowKey={record => record.ID}
bordered
size="small"
scroll={{ x: 'max-content', y: '100vh-150px' }}
scroll={{ x: 'max-content', y: 'calc(100% - 40px)' }}
onRow={record => ({
onDoubleClick: () => {
toNode(record.name);
......
.flowContainer {
display: flex;
width: 100%;
height: 100%;
position: relative;
.orgContainer {
position: relative;
left: 0;
top: 0;
height: calc(100vh - 74px);
height: 100%;
width: 250px;
margin-right: 10px;
transition-property: width;
transition-duration: 0.5s;
white-space: nowrap;
.ant-card-body {
height: 100%;
padding: 12px 24px 24px 10px;
}
.processTitle {
font-size: 15px;
font-weight: bold;
color: #333e51;
padding-left: 14px;
}
.splitLine {
width: 100%;
color: #eeecec;
}
.listItem {
display: flex;
justify-content: space-between;
......@@ -34,6 +43,7 @@
color: #414e65;
cursor: pointer;
}
.listHover {
background-color: #f5f6f9;
}
......@@ -41,6 +51,7 @@
.pickItem {
background-color: #aed8fa;
}
.switcher {
display: block;
position: absolute;
......@@ -52,24 +63,41 @@
z-index: 1;
}
}
.orgContainerHide {
width: 26px;
}
.processContainer {
position: relative;
width: 100%;
height: calc(100vh - 74px);
height: 100%;
min-width: 800px;
background: white;
.ant-table-wrapper {
height: calc(100% - 52px);
.ant-table {
height: calc(100% - 50px);
.ant-table-container {
height: 100%;
}
}
}
.buttonList {
display: flex;
justify-content: flex-end;
margin: 10px 10px 10px 0;
.ant-btn {
vertical-align: middle;
line-height: 2px;
}
}
.ant-table-pagination {
padding-right: 12px;
background: white;
......@@ -77,47 +105,58 @@
padding: 8px;
padding-right: 20px;
}
.ant-table-thead tr th {
font-weight: 600;
color: rgba(0, 0, 0, 0.85);
}
.ant-table-cell {
text-align: center;
overflow: hidden;
white-space: nowrap;
}
.ant-table-body {
height: calc(100vh - 210px);
border-right: white;
overflow: auto !important;
}
// .ant-table-body {
// height: calc(100vh - 210px);
// border-right: white;
// overflow: auto;
// }
.ant-pagination {
z-index: 999;
border-top: 1px solid #f0eded;
}
}
}
.ant-radio-wrapper {
min-width: 150px;
margin-bottom: 2px;
}
.doctorTable {
margin-bottom: 16px;
table {
width: 100%;
td {
padding: 6px;
border: 1px solid #e8e8e8;
}
thead {
tr {
font-weight: 600;
background: #fafafa;
}
td {
width: 12rem;
}
}
tbody {
tr:hover {
background-color: #ededed;
......@@ -130,6 +169,7 @@
display: flex;
justify-content: flex-end;
margin-bottom: 15px;
.ant-btn {
display: flex;
align-items: center;
......@@ -138,34 +178,15 @@
}
}
// 表格样式
.ant-table-pagination {
padding-right: 12px;
background: white;
margin: 1px 0;
padding: 8px;
padding-right: 20px;
}
.ant-table-thead tr th {
font-weight: 600;
color: rgba(0, 0, 0, 0.85);
}
.ant-table-cell {
// text-align: center;
overflow: hidden;
white-space: nowrap;
}
.ant-table-body {
height: calc(100vh - 160px);
border-right: 1px solid rgb(240, 240, 240);
overflow: auto !important;
}
.ant-pagination {
z-index: 999;
border-top: 1px solid #f0eded;
}
.unfoldTable {
.ant-table {
margin-left: -9px !important;
.timelimitBox {
height: 600px;
.ant-table-wrapper {
height: 100%;
.ant-table {
// height: 100%;
height: 500px;
}
}
}
}
\ No newline at end of file
......@@ -157,40 +157,42 @@ const Timelimit = props => {
footer={null}
destroyOnClose
>
<div className={styles.buttonList}>
<Button
type="primary"
onClick={() => {
setViewModal(true);
setModalType('add');
}}
icon={<PlusOutlined />}
>
新增流程时限配置
</Button>
<div className={styles.timelimitBox}>
<div className={styles.buttonList}>
<Button
type="primary"
onClick={() => {
setViewModal(true);
setModalType('add');
}}
icon={<PlusOutlined />}
>
新增流程时限配置
</Button>
</div>
<Spin spinning={loading} tip="loading...">
<Table
dataSource={tableData}
columns={columns}
rowKey={record => record.ID}
bordered
size="small"
scroll={{ y: '400px' }}
onRow={record => ({
onDoubleClick: () => {
toEdit(record);
},
})}
pagination={{
showTotal: (total, range) => `第${range[0]}-${range[1]} 条/共 ${total} 条`,
pageSizeOptions: [10, 20, 50, 100],
defaultPageSize: 10,
showQuickJumper: true,
showSizeChanger: true,
}}
/>
</Spin>
</div>
<Spin spinning={loading} tip="loading...">
<Table
dataSource={tableData}
columns={columns}
rowKey={record => record.ID}
bordered
size="small"
scroll={{ y: '500px' }}
onRow={record => ({
onDoubleClick: () => {
toEdit(record);
},
})}
pagination={{
showTotal: (total, range) => `第${range[0]}-${range[1]} 条/共 ${total} 条`,
pageSizeOptions: [10, 20, 50, 100],
defaultPageSize: 10,
showQuickJumper: true,
showSizeChanger: true,
}}
/>
</Spin>
<AddModal
visible={viewModal}
......
......@@ -407,22 +407,23 @@ const FlowNode = () => {
</Button>
</div>
</div>
<Spin spinning={loading} tip="loading...">
<Table
dataSource={tableData}
columns={columns}
rowKey={record => record.GroupName}
size="small"
showHeader
scroll={{ y: '100vh-150px' }}
expandable={{
expandedRowRender: record => createUnfoldTable(record.Items),
}}
expandedRowKeys={expandedRowKeys}
onExpand={onUnfold}
pagination={false}
/>
</Spin>
<div style={{ height: 'calc(100% - 50px)', overflowY: 'scroll' }}>
<Spin spinning={loading} tip="loading...">
<Table
dataSource={tableData}
columns={columns}
rowKey={record => record.GroupName}
size="small"
showHeader
expandable={{
expandedRowRender: record => createUnfoldTable(record.Items),
}}
expandedRowKeys={expandedRowKeys}
onExpand={onUnfold}
pagination={false}
/>
</Spin>
</div>
<NodeEdit
visible={visible.nodeEdit}
......
......@@ -2,22 +2,64 @@
.NodeContent {
position: relative;
width: 100%;
height: calc(100vh - 74px);
// height: calc(100vh - 74px);
height: 100%;
min-width: 800px;
background: white;
// 表格样式
.ant-table-pagination {
padding-right: 12px;
background: white;
margin: 1px 0;
padding: 8px;
padding-right: 20px;
}
.ant-table-thead tr th {
font-weight: 600;
color: rgba(0, 0, 0, 0.85);
}
.ant-table-cell {
// text-align: center;
overflow: hidden;
white-space: nowrap;
}
.ant-table-body {
// height: calc(100vh - 160px);
// border-right: 1px solid rgb(240, 240, 240);
// overflow: auto !important;
}
.ant-pagination {
z-index: 999;
border-top: 1px solid #f0eded;
}
.unfoldTable {
.ant-table {
margin-left: -9px !important;
}
}
.header {
display: flex;
justify-content: space-between;
height: 50px;
line-height: 50px;
.nodeTitle {
font-size: 18px;
color: #0072ff;
font-weight: bold;
margin-left: 10px;
}
.buttonBox {
margin-right: 10px;
.ant-btn {
vertical-align: middle;
line-height: 1px;
......@@ -30,14 +72,17 @@
.formData {
height: calc(100vh - 162px);
overflow-y: scroll;
.ant-radio-wrapper {
min-width: 130px;
}
.filedListItem {
display: flex;
flex-wrap: nowrap;
justify-content: space-between;
width: 100%;
.ant-btn-icon-only {
display: flex;
align-items: center;
......@@ -51,6 +96,7 @@
// 字段集选择
.fieldContent {
display: flex;
.willSelectBox {
width: 50%;
height: 600px;
......@@ -58,42 +104,56 @@
padding: 8px;
border-right: 1px solid rgb(153, 187, 232);
box-sizing: border-box;
.cardContent {
height: 530px;
overflow-y: scroll;
.cardBox {
padding: 10px;
margin-bottom: 10px;
border: 1px solid #b5b8c8;
box-sizing: border-box;
}
.filedList {
.ant-checkbox-wrapper {
width: 100%;
}
}
}
}
.hasSelectBox {
width: 50%;
height: 600px;
padding: 8px 8px 8px 12px;
box-sizing: border-box;
.doctorTable {
margin-bottom: 16px;
height: 530px;
overflow-y: scroll;
}
}
.header {
margin: 0px 0px 10px;
background-color: rgb(223, 232, 246);
.headDivider {
margin-bottom: 10px;
background-color: #dfe8f6;
}
}
.cardDivider {
margin-bottom: 10px;
font-weight: 700;
color: #15428b;
line-height: 100%;
border-top-color: #99bbe8;
.groupName {
display: inline-block;
margin-right: 10px;
......@@ -101,6 +161,11 @@
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
vertical-align: middle;
}
.ant-checkbox-wrapper {
vertical-align: middle;
}
}
}
......@@ -109,6 +174,7 @@
display: flex;
justify-content: flex-end;
margin-bottom: 15px;
.ant-btn {
display: flex;
align-items: center;
......@@ -117,34 +183,15 @@
}
}
// 表格样式
.ant-table-pagination {
padding-right: 12px;
background: white;
margin: 1px 0;
padding: 8px;
padding-right: 20px;
}
.ant-table-thead tr th {
font-weight: 600;
color: rgba(0, 0, 0, 0.85);
}
.ant-table-cell {
// text-align: center;
overflow: hidden;
white-space: nowrap;
}
.ant-table-body {
height: calc(100vh - 160px);
border-right: 1px solid rgb(240, 240, 240);
overflow: auto !important;
}
.ant-pagination {
z-index: 999;
border-top: 1px solid #f0eded;
}
.unfoldTable {
.ant-table {
margin-left: -9px !important;
.auxiliaryViewBox {
height: 600px;
.ant-table-wrapper {
height: 100%;
.ant-table {
// height: 100%;
height: 500px;
}
}
}
}
\ No newline at end of file
......@@ -93,22 +93,36 @@ const AuxiliaryView = props => {
title: '前端视图',
dataIndex: 'WebPage',
align: 'center',
ellipsis: {
showTitle: true,
},
render: text => {
if (text === '(未配置)' || text === '(无)') {
return <span style={{ color: 'grey' }}>{text}</span>;
}
return <span>{text}</span>;
return (
<Tooltip placement="topLeft" title={text}>
<span>{text}</span>
</Tooltip>
);
},
},
{
title: '前端参数',
dataIndex: 'WebParam',
align: 'center',
ellipsis: {
showTitle: true,
},
render: text => {
if (text === '(未配置)' || text === '(无)') {
return <span style={{ color: 'grey' }}>{text}</span>;
}
return <span>{text}</span>;
return (
<Tooltip placement="topLeft" title={text}>
<span>{text}</span>
</Tooltip>
);
},
},
{
......@@ -183,41 +197,42 @@ const AuxiliaryView = props => {
centered
footer={null}
>
<div className={styles.buttonList}>
<Button
type="primary"
onClick={() => {
setViewModal(true);
setModalType('add');
}}
icon={<PlusOutlined />}
>
新增辅助视图
</Button>
<div className={styles.auxiliaryViewBox}>
<div className={styles.buttonList}>
<Button
type="primary"
onClick={() => {
setViewModal(true);
setModalType('add');
}}
icon={<PlusOutlined />}
>
新增辅助视图1
</Button>
</div>
<Spin spinning={loading} tip="loading...">
<Table
dataSource={tableData}
columns={columns}
rowKey={record => record.ID}
bordered
size="small"
scroll={{ y: '400px' }}
onRow={record => ({
onDoubleClick: () => {
toEdit(record);
},
})}
pagination={{
showTotal: (total, range) => `第${range[0]}-${range[1]} 条/共 ${total} 条`,
pageSizeOptions: [10, 20, 50, 100],
defaultPageSize: 10,
showQuickJumper: true,
showSizeChanger: true,
}}
/>
</Spin>
</div>
<Spin spinning={loading} tip="loading...">
<Table
dataSource={tableData}
columns={columns}
rowKey={record => record.ID}
bordered
size="small"
scroll={{ y: '500px' }}
onRow={record => ({
onDoubleClick: () => {
toEdit(record);
},
})}
pagination={{
showTotal: (total, range) => `第${range[0]}-${range[1]} 条/共 ${total} 条`,
pageSizeOptions: [10, 20, 50, 100],
defaultPageSize: 10,
showQuickJumper: true,
showSizeChanger: true,
}}
/>
</Spin>
<AddModal
visible={viewModal}
msg={editMsg}
......
......@@ -21,7 +21,7 @@ import FlowModal from './workFlowComponents/FlowModal';
import FlowGroupModal from './workFlowComponents/FlowGroupModal';
import styles from './workflow.less';
import { list } from 'postcss';
const { confirm } = Modal;
const Workflow = () => {
......@@ -38,7 +38,7 @@ const Workflow = () => {
const [canSelect, setCanSelect] = useState(true); // 是否可以切换树
const [expandedKey, setExpandedKey] = useState(''); // 默认展开项
const [flag, setFlag] = useState(1);
const [keep, setKeep] = useState([])
const [keep, setKeep] = useState([]);
const [visible, setVisible] = useState({
FlowModal: false,
FlowGroupModal: false,
......@@ -84,16 +84,16 @@ const Workflow = () => {
setTreeLoading(false);
if (res.code === 0) {
setFlag(flag + 1);
let listdata =[]
res.data.map(i=>{
if(i.children.length>0){
i.children.map(j=>{
listdata.push(j.FlowName)
})
let listdata = [];
res.data.forEach(i => {
if (i.children.length > 0) {
i.children.forEach(j => {
listdata.push(j.FlowName);
});
}
})
console.log(listdata)
setKeep(listdata)
});
setKeep(listdata);
let data = res.data.map(item => {
item.isOld = true;
return item;
......@@ -299,7 +299,7 @@ const Workflow = () => {
[styles.treeContainerHide]: !treeVisible,
})}
>
<div style={{ display: `${treeVisible ? 'block' : 'none'}` }}>
<div style={{ display: `${treeVisible ? 'block' : 'none'}`, height: '100%' }}>
<span className={styles.processTitle}>流程树</span>
<Tooltip title="添加流程组">
<PlusSquareFilled onClick={e => addFlowGroup(e)} className={styles.treeHeadIcon} />
......
......@@ -470,14 +470,15 @@ const FlowChart = props => {
保存
</Button>
</div>
<Spin spinning={chartLoading}>
<div
id="myDiagramDiv"
className={styles.myDiagramDiv}
style={{ backgroundColor: '#EFF8FA' }}
/>
</Spin>
<div className={styles.chartBox}>
<Spin spinning={chartLoading}>
<div
id="myDiagramDiv"
className={styles.myDiagramDiv}
style={{ backgroundColor: '#EFF8FA' }}
/>
</Spin>
</div>
<NodeModal
visible={visible}
editMsg={editMsg}
......
......@@ -149,29 +149,31 @@ const RoalChoose = props => {
// 角色列表样式
const roleDom = () => (
<>
<Spin spinning={loading}>
{plainOptions.length > 0 ? (
<div className={styles.checkContent}>
{plainOptions.map((item, index) => (
<div key={item.id} className={styles.check} title={item.name}>
<Checkbox
checked={item.isChecked}
onChange={e => {
selectChange(e, index, item);
}}
>
{item.name}
</Checkbox>
</div>
))}
</div>
) : (
<Empty
image={Empty.PRESENTED_IMAGE_SIMPLE}
description={`未有查找到${roleType === '2' ? '角色' : '机构'}`}
/>
)}
</Spin>
<div className={styles.checkContainer}>
<Spin spinning={loading}>
{plainOptions.length > 0 ? (
<div className={styles.checkContent}>
{plainOptions.map((item, index) => (
<div key={item.id} className={styles.check} title={item.name}>
<Checkbox
checked={item.isChecked}
onChange={e => {
selectChange(e, index, item);
}}
>
{item.name}
</Checkbox>
</div>
))}
</div>
) : (
<Empty
image={Empty.PRESENTED_IMAGE_SIMPLE}
description={`未有查找到${roleType === '2' ? '角色' : '机构'}`}
/>
)}
</Spin>
</div>
</>
);
return (
......
......@@ -2,16 +2,20 @@
.ant-modal-body {
padding: 0;
}
.ant-modal-header {
padding: 28px 16px;
}
.pageContent {
display: flex;
height: 450px;
height: 465px;
.optionalList {
position: relative;
width: 60%;
border-right: 1px solid #e7e7e7;
.title {
position: absolute;
left: 17px;
......@@ -21,12 +25,15 @@
z-index: 1;
color: #00070d;
}
.tabContent {
height: 430px;
.ant-tabs-content-holder {
height: 355px;
}
}
.searchInput {
position: absolute;
width: 200px;
......@@ -39,47 +46,64 @@
border-top-left-radius: 20px;
border-bottom-left-radius: 20px;
}
.ant-input-group-addon {
border-top-right-radius: 20px;
border-bottom-right-radius: 20px;
}
.ant-input-search-button {
width: 40px;
border-top-right-radius: 20px;
border-bottom-right-radius: 20px;
}
}
.checkContent {
display: flex;
flex-wrap: wrap;
margin-left: 32px;
.check {
width: 150px;
margin-bottom: 10px;
margin-right: 6px;
.ant-checkbox-wrapper span {
max-width: 130px;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
.checkContainer {
height: 360px;
overflow-y: scroll;
.checkContent {
display: flex;
flex-wrap: wrap;
margin-left: 32px;
.check {
width: 150px;
margin-bottom: 10px;
margin-right: 6px;
.ant-checkbox-wrapper span {
max-width: 130px;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
}
}
}
.footer {
padding-left: 25px;
.ant-pagination {
border: none;
}
}
.ant-tabs-nav {
background-color: #f2f1f1;
}
.ant-tabs-tab {
background-color: #f2f1f1;
color: #666666;
border-top-left-radius: 5px;
border-top-right-radius: 5px;
}
.ant-tabs-tab-active {
background-color: #fff;
color: #1685ff;
......@@ -87,6 +111,7 @@
border-top-right-radius: 5px;
}
}
.selectedList {
position: relative;
width: 40%;
......@@ -95,6 +120,7 @@
height: 40px;
width: 100%;
background-color: #f2f1f1;
.title {
position: absolute;
left: 17px;
......@@ -104,16 +130,19 @@
z-index: 1;
color: #00070d;
}
.tagHead {
display: flex;
position: absolute;
top: 10px;
left: 88px;
.tagContent {
display: flex;
align-items: center;
margin-right: 11px;
}
.tagRol,
.tagOrg {
width: 10px;
......@@ -121,22 +150,27 @@
margin-right: 5px;
}
.tagRol {
background-color: #87E8DE;
}
.tagOrg {
background-color: #FFD591;
}
}
}
.selectBox {
height: 365px;
padding: 10px;
overflow-y: scroll;
.selectContent {
display: flex;
flex-wrap: wrap;
flex-direction: row;
.selectValue {
margin-bottom: 15px;
}
......@@ -144,4 +178,4 @@
}
}
}
}
}
\ No newline at end of file
......@@ -3,47 +3,62 @@
position: relative;
display: flex;
width: 100%;
height: 100%;
.treeContainer {
position: relative;
left: 0;
top: 0;
height: calc(100vh - 74px);
height: 100%;
width: 250px;
margin-right: 10px;
transition-property: width, left;
transition-duration: 0.5s;
white-space: nowrap;
.ant-card-body {
height: 100%;
padding: 12px 24px 24px 10px;
}
.processTitle {
font-size: 15px;
font-weight: bold;
color: #333e51;
padding-left: 14px;
}
.treeContent {
height: calc(100vh - 150px);
height: calc(100% - 50px);
overflow-y: scroll;
}
.treeHeadIcon {
color: #1890ff;
font-size: 25px;
vertical-align: middle;
margin-left: 130px;
}
.ant-tree-treenode {
width: 100%;
}
.ant-tree-title {
width: 100%;
}
.nodeTitle {
width: 100%;
display: flex;
align-items: center;
justify-content: space-between;
margin-bottom: 5px;
.nodeTip {
display: none;
.fs {
font-size: 18px;
margin-left: 5px;
......@@ -51,6 +66,7 @@
}
}
}
.nodeTitle:hover {
.nodeTip {
display: flex;
......@@ -58,6 +74,7 @@
justify-content: flex-end;
}
}
.switcher {
display: block;
position: absolute;
......@@ -69,22 +86,31 @@
z-index: 1;
}
}
.treeContainerHide {
left: 0px;
top: 0;
width: 26px;
}
// 流程图
.flowChartContainer {
position: relative;
width: 100%;
height: calc(100vh - 74px);
height: calc(100%);
background-color: #fff;
.chartBox {
height: calc(100% - 62px);
}
.buttonList {
display: flex;
justify-content: flex-start;
margin: 15px 0 15px 0;
.ant-btn {
display: flex;
align-items: center;
......@@ -92,22 +118,27 @@
margin-left: 10px;
}
}
canvas {
border: 0px;
outline: none;
}
.myDiagramDiv {
width: 100%;
height: calc(100vh - 135px);
height: 100%;
}
}
}
// 角色用户列表
.pageContent {
display: flex;
.roleContent {
width: 50%;
margin-right: 10px;
.treeContent {
width: 100%;
height: 370px;
......@@ -115,17 +146,21 @@
padding: 8px 20px 20px 20px;
box-sizing: border-box;
border: 1px solid #ccc;
.ant-tree-list-holder {
height: 285px;
}
}
.footer {
position: relative;
z-index: 999;
}
}
.userContent {
width: 50%;
.userCheckBox {
margin-top: 41px;
padding: 20px;
......@@ -133,6 +168,7 @@
width: 100%;
height: 370px;
border: 1px solid #ccc;
.checkContent {
height: 285px;
width: 100%;
......@@ -140,4 +176,4 @@
}
}
}
}
}
\ No newline at end of file
......@@ -1041,10 +1041,13 @@ const WebDic = () => {
okText="确认"
cancelText="取消"
>
<Form autoComplete="off" form={addForm} labelCol={{ span: 3 }}>
<Form form={addForm} labelCol={{ span: 3 }}>
<Form.Item name="nodeName" label="名称" rules={[{ required: true, message: '不能为空' }]}>
<Input placeholder="请输入名称" style={{ width: '95%' }} />
</Form.Item>
<Form.Item name="nodeName" label="名称" style={{ display: 'none' }}>
<Input placeholder="请输入名称" style={{ width: '95%' }} />
</Form.Item>
</Form>
</Modal>
{/* 添加二级 */}
......
......@@ -887,23 +887,25 @@ const InitDataBase = props => {
</Card>
<Card className={styles.mgTop20}>
<div className={styles.tableTitle}>近期保存的数据库连接</div>
<Table
style={{ marginTop: '20px' }}
scroll={{ x: 'max-content', y: 'calc(100vh - 550px)' }}
columns={columns}
dataSource={data}
pagination={false}
bordered
loading={tableLoading}
size="small"
onRow={record => ({
onClick: () => {
tableClick(record);
setFlag(0);
}, // 点击行
})}
/>
<div className={styles.recordBox}>
<div className={styles.tableTitle}>近期保存的数据库连接</div>
<Table
style={{ marginTop: '20px', marginBottom: '20px' }}
scroll={{ x: 'max-content', y: 'calc(100vh - 550px)' }}
columns={columns}
dataSource={data}
pagination={false}
bordered
loading={tableLoading}
size="small"
onRow={record => ({
onClick: () => {
tableClick(record);
setFlag(0);
}, // 点击行
})}
/>
</div>
</Card>
<Modal
title="初始化数据库"
......
.tableTitle {
font-size: 16px;
}
.mgTop20 {
margin-top: 20px !important;
}
.tCenter {
text-align: center;
.btnBox {
display: flex !important;
justify-content: space-between;
}
}
.decsBox {
height: 32px;
line-height: 32px;
......@@ -19,10 +21,24 @@
.ant-modal-header {
height: 70px;
}
InitDataBaseContainer {
.InitDataBaseContainer {
.ant-card-body {
padding-bottom: 0px !important;
}
.mgTop20 {
margin-top: 20px;
}
// .recordBox {
// height: 300px;
// }
}
.cardContainer {
......@@ -32,18 +48,21 @@ InitDataBaseContainer {
.ant-tabs-nav {
background-color: #f4f6fc;
.ant-tabs-tab {
background-color: transparent;
border: none;
border-top: 2px solid transparent;
box-sizing: content-box;
}
.ant-tabs-tab-active {
border: none;
background-color: #fff;
border-top: 2px solid #1685ff;
}
}
.tabContainer {
padding-left: 20px;
box-sizing: border-box;
......@@ -52,16 +71,19 @@ InitDataBaseContainer {
.initItemData1 {
height: calc(100vh - 190px);
// overflow: scroll;
.btnBox {
display: flex !important;
justify-content: flex-end;
}
.ant-checkbox-wrapper {
width: 298px;
margin-bottom: 10px;
margin-left: 8px;
}
// .ant-checkbox-wrapper {
// width: 298px;
// margin-bottom: 10px;
......@@ -75,16 +97,19 @@ InitDataBaseContainer {
.initItemData {
height: calc(100vh - 190px);
overflow: scroll;
.btnBox {
display: flex !important;
justify-content: flex-end;
}
.ant-checkbox-wrapper {
width: 268px;
margin-bottom: 10px;
margin-left: 8px;
}
.view:hover {
cursor: not-allowed;
}
}
}
\ No newline at end of file
.tableTitle{
.tableTitle {
font-size: 16px;
display: flex;
justify-content: space-between;
}
.mgTop20{
margin-top: 20px !important;
.mgTop20 {
margin-top: 20px;
}
.tCenter{
.tCenter {
text-align: center;
}
.btnBox{
.btnBox {
text-align: center;
margin-top: 10px;
}
.pageContent {
height: 100%;
width: 100%;
overflow-y: scroll;
}
\ No newline at end of file
......@@ -92,25 +92,30 @@ const DatabaseConnectConfig = props => {
return (
<PageContainer>
<Card>
{/* <Tabs activeKey={active} onChange={e => handleChange(e)}>
<div style={{ width: '100%', height: '100%', overflowY: 'scroll' }}>
<Card>
{/* <Tabs activeKey={active} onChange={e => handleChange(e)}>
{dataArr.map(item => (
<TabPane tab={item.title} key={item.key}>
{active === item.key && item.component}
</TabPane>
))}
</Tabs> */}
<SQLServerTable />
<OracleTable />
<MongDBTable />
<MySQLTable />
<MasterTable />
</Card>
<div style={{ marginBottom: '15px' }}>
<SQLServerTable />
</div>
<div style={{ marginBottom: '15px' }}>
<OracleTable />
</div>
<div style={{ marginBottom: '15px' }}>
<MongDBTable />
</div>
<div style={{ marginBottom: '15px' }}>
<MySQLTable />
</div>
<MasterTable />
</Card>
</div>
</PageContainer>
);
};
......
......@@ -1082,7 +1082,7 @@ const DatabaseInitialization = props => {
<div style={{ display: 'flex', alignItems: 'center', width: '100%' }}>
<div style={{ width: '30%' }}>
<Card>
<div style={{ height: 'calc(100vh - 108px)', paddingTop: '13px' }}>
<div style={{ height: 'calc(100vh - 101px)', paddingTop: '13px' }}>
<Form
className={styles.mgTop20}
layout="horizontal"
......
......@@ -14,11 +14,13 @@
.btnBox {
display: flex !important;
justify-content: flex-end;
margin-bottom: 10px;
}
.ant-modal-header {
height: 70px;
}
InitDataBaseContainer {
.InitDataBaseContainer {
height: 100%;
.ant-card-body {
padding-bottom: 0px !important;
}
......
.container3d {
width: 100%;
height: 100%;
background-color: #ffffff;
display: flex;
.ant-tabs-content {
height: 100%;
}
.ant-table-wrapper {
height: calc(100% - 51px);
}
.ant-table {
min-height: 15rem !important;
height: calc(100% - 70px);
}
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;
color: #000000;
}
.ant-card-body {
padding: 12px 24px 24px 25px;
}
}
.imgList {
display: flex;
flex-wrap: wrap;
}
.imgItem {
display: flex;
flex-direction: column;
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;
......@@ -46,10 +64,12 @@
display: flex;
align-items: center;
}
.schemeBtn {
width: 12rem;
justify-content: center;
}
.mapItem {
display: flex;
border: 1px solid #ccc;
......@@ -59,6 +79,7 @@
margin: 0.5rem 0;
width: 14.5rem;
}
.defaultTile {
background: #ccc;
color: white;
......@@ -69,19 +90,23 @@
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 {
position: absolute;
right: 2%;
......@@ -89,11 +114,13 @@
color: rgba(0, 0, 0, 0.25);
z-index: 99;
}
.divider {
display: flex;
align-items: center;
line-height: 100%;
padding: 0.5rem;
.dividerIcon {
margin-left: 0.8rem;
color: #4699f4;
......@@ -105,15 +132,17 @@
display: flex;
flex-wrap: wrap;
}
.cardItem {
width: 18rem;
height: 26rem;
margin: 0 2rem;
}
.containerFileds {
display: flex;
justify-content: space-between;
width: 98%;
border: 1px solid #f0f0f0;
margin-top: 0.5rem;
}
}
\ No newline at end of file
.container {
width: 100%;
height: 100%;
background-color: #ffffff;
padding: 0.8rem;
display: flex;
.ant-tabs-content {
height: 100%;
}
.ant-table {
min-height: 15rem !important;
}
.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;
color: #000000;
}
.ant-card-body {
padding: 12px 24px 24px 25px;
}
}
.imgList {
display: flex;
flex-wrap: wrap;
}
.imgItem {
border: 3px solid#4699f4;
border-radius: 5px;
}
.imgHidden {
border: none;
}
.tileBtn {
display: flex;
justify-content: flex-end;
width: 100%;
padding: 0 0 2rem;
}
.schemeName {
width: 68px;
margin-right: 0.8rem;
......@@ -48,18 +63,21 @@
display: flex;
align-items: center;
}
.schemeBtn1 {
width: 260px;
justify-content: center;
display: flex;
align-items: center;
}
.schemeBtn {
width: 234px;
justify-content: center;
display: flex;
align-items: center;
}
.mapItem {
display: flex;
border: 1px solid #ccc;
......@@ -69,6 +87,7 @@
margin: 0.5rem 0;
// width: 14.5rem;
}
.mapItem1 {
display: flex;
border: 1px solid #ccc;
......@@ -78,6 +97,7 @@
margin: 0.5rem 0;
width: 18.8rem;
}
.defaultTile {
background: #ccc;
color: white;
......@@ -88,6 +108,7 @@
width: 3rem;
justify-content: center;
}
.defaultTile1 {
background: #4699f4;
color: white;
......@@ -97,6 +118,7 @@
width: 41px;
justify-content: center;
}
.mapText {
width: 14rem;
text-align: center;
......@@ -106,6 +128,7 @@
padding-left: 5px;
padding-right: 5px;
}
.mapText1 {
width: 13rem;
text-align: center;
......@@ -115,6 +138,7 @@
padding-left: 5px;
padding-right: 5px;
}
.mapIcon {
margin-left: 4px;
display: flex;
......@@ -123,6 +147,7 @@
cursor: pointer;
margin-top: 5px;
}
.mapIcon1 {
margin-left: 4px;
display: flex;
......@@ -131,9 +156,11 @@
cursor: pointer;
margin-top: 5px;
}
.activeTile {
background-color: #4699f4;
}
.dropList {
position: absolute;
right: 2%;
......@@ -141,11 +168,13 @@
color: rgba(0, 0, 0, 0.25);
z-index: 99;
}
.divider {
display: flex;
align-items: center;
line-height: 100%;
padding: 0.5rem;
.dividerIcon {
margin-left: 0.8rem;
color: #4699f4;
......@@ -156,56 +185,109 @@
.cardsList {
display: flex;
flex-wrap: wrap;
height: calc(100vh - 234px);
height: 100%;
overflow-y: scroll;
}
.cardsList1 {
display: flex;
flex-wrap: wrap;
}
.cardItem {
width: 21rem;
height: 22rem;
margin: 0 2rem;
}
.pipeNetwork {
height: 100%;
.ant-table-wrapper {
height: 100%;
.ant-table {
height: calc(100% - 65px);
.ant-table-container {
height: 100%;
}
}
}
.ant-table-body {
height: 100%;
border-right: 1px solid #f0f0f0;
overflow: auto;
}
}
.tileContainer {
height: 100%;
overflow-y: scroll;
.ant-table-wrapper {
height: 100%;
.ant-table {
height: calc(100% - 65px);
.ant-table-container {
height: 100%;
}
}
}
.ant-table-body {
height: calc(100vh - 330px) !important;
height: 100%;
border-right: 1px solid #f0f0f0;
overflow: auto !important;
overflow: auto;
}
}
.TileConfigContainer {
.ant-card-head {
background-color: #ecf5ff;
}
}
.solutionContainer {
.ant-table-body {
height: calc(100vh - 250px) !important;
border-bottom: 1px solid #f0f0f0;
}
}
.titleText {
width: 700px;
overflow: hidden;
white-space: nowrap;
text-overflow: ellipsis;
}
.title1 {
display: flex;
align-items: center;
width: 100%;
}
// .solutionConfig {
// height: calc(100% - 30px);
// }
.treeHeight{
.ant-tree-list-holder {
.treeHeight {
.ant-tree-list-holder {
overflow: auto;
height: 638px !important;
}
}
}
.clickRowStyle {
background: #cfe7fd;
}
// .solutionConfig {
// height: calc(100% - 30px);
// }
.schemeBox {
height: calc(100% - 51px);
}
\ No newline at end of file
......@@ -223,21 +223,10 @@ const TileData = props => {
};
return (
<div className={styles.tileContainer}>
<div style={{ height: 'calc(100vh - 153px)', overflowY: 'scroll' }}>
<div>
<Spin tip="loading..." spinning={treeLoading}>
{/* <div className={styles.tileBtn}>
<Button
type="primary"
onClick={() => {
handleAdd();
}}
>
新增
</Button>
</div> */}
<Divider orientation="left">
<div className={styles.divider}>
{' '}
基础底图{' '}
<Tooltip title="新增基础底图">
<PlusOutlined
......
......@@ -210,7 +210,7 @@ const VectorData = props => {
return (
<>
<div className={styles.tileContainer}>
<div className={styles.pipeNetwork}>
<Spin tip="loading..." spinning={treeLoading}>
<div className={styles.tileBtn}>
<Button
......@@ -222,13 +222,13 @@ const VectorData = props => {
新增
</Button>
</div>
<div style={{ height: 'calc(100vh - 220px)', width: '100%' }}>
<div style={{ height: 'calc(100% - 51px)', width: '100%' }}>
<Table
columns={columns}
dataSource={tileData}
bordered
rowKey="CreateTime"
scroll={{ y: 600 }}
scroll={{ y: 'calc(100% - 70px)' }}
pagination={{
showTotal: (total, range) => `第${range[0]}-${range[1]} 条/共 ${total} 条`,
}}
......
......@@ -2,8 +2,8 @@
* @Description:
* @Author: leizhe
* @Date: 2022-01-13 10:47:32
* @LastEditTime: 2022-08-17 11:04:24
* @LastEditors: leizhe
* @LastEditTime: 2022-10-09 14:07:11
* @LastEditors: dengchao 754083046@qq.com
*/
/* eslint-disable indent */
import { Button, Spin, Empty } from 'antd';
......@@ -107,43 +107,45 @@ const VectorData = props => {
新增
</Button>
</div>
<Spin tip="loading..." spinning={treeLoading}>
<div style={{ height: 'calc(100vh - 216px)', width: '100%' }}>
<div className={styles.cardsList}>
{/* {console.log(tileData)} */}
{tileData && tileData.length ? (
tileData.map((item, index) => (
<div
className={styles.cardItem}
key={index}
span={5}
offset={2}
style={{ marginBottom: '1rem' }}
>
<Cards
item={item}
cardFlag={cardFlag}
deletebaseMaps={onDeletebaseMap}
keepData={keepData}
nameData={nameData}
/>
</div>
))
) : (
<Empty image={Empty.PRESENTED_IMAGE_SIMPLE} style={{ margin: 'auto' }} />
)}
<div className={styles.schemeBox}>
<Spin tip="loading..." spinning={treeLoading}>
<div style={{ height: 'calc(100%)', width: '100%' }}>
<div className={styles.cardsList}>
{/* {console.log(tileData)} */}
{tileData && tileData.length ? (
tileData.map((item, index) => (
<div
className={styles.cardItem}
key={index}
span={5}
offset={2}
style={{ marginBottom: '1rem' }}
>
<Cards
item={item}
cardFlag={cardFlag}
deletebaseMaps={onDeletebaseMap}
keepData={keepData}
nameData={nameData}
/>
</div>
))
) : (
<Empty image={Empty.PRESENTED_IMAGE_SIMPLE} style={{ margin: 'auto' }} />
)}
</div>
<AddModal
visible={visible}
onCancel={() => setVisible(false)}
callBackSubmit={onSubmit}
type={type}
formObj={formObj}
keepData={keepData}
nameData={nameData}
/>
</div>
<AddModal
visible={visible}
onCancel={() => setVisible(false)}
callBackSubmit={onSubmit}
type={type}
formObj={formObj}
keepData={keepData}
nameData={nameData}
/>
</div>
</Spin>
</Spin>
</div>
</>
);
};
......
......@@ -24,9 +24,11 @@
margin-right: 10px;
}
}
.anticon svg {
margin-top: -5px;
}
.fast_search {
height: 60px;
margin-right: 10px;
......@@ -49,15 +51,21 @@
display: flex;
flex-direction: column;
justify-content: flex-start;
.ant-table-thead tr th{
.ant-pagination {
padding-right: 10px;
}
.ant-table-thead tr th {
font-weight: 600;
color:rgba(0,0,0,0.85);
color: rgba(0, 0, 0, 0.85);
}
.ant-table-container{
max-height: calc(100vh - 240px)!important;
min-height:calc(100vh - 240px)!important;
.ant-table-container {
max-height: calc(100vh - 240px) !important;
min-height: calc(100vh - 240px) !important;
overflow-y: scroll;
}
}
}
}
\ No newline at end of file
......@@ -171,8 +171,9 @@ const PushTest = props => {
</Button>
</div>
{/* 复选框模块 */}
<Spin spinning={loading}>
<div className={styles.checkContainer}>
<div className={styles.checkContainer}>
<Spin spinning={loading}>
{allList.map((item, index) => (
<div className={styles.checkBoxContent} key={item.groupId}>
<CardCheck
......@@ -183,8 +184,8 @@ const PushTest = props => {
/>
</div>
))}
</div>
</Spin>
</Spin>
</div>
</div>
<div className={styles.tableRight}>
<Table
......
......@@ -53,9 +53,12 @@
}
.list_view {
width: 100%;
height: calc(100vh - 184px);
height: calc(100vh - 180x);
background-color: white;
overflow-y: scroll;
.ant-pagination {
padding-right: 10px;
}
}
.button,
html [type='button'],
......
......@@ -476,8 +476,9 @@ const videoManager = () => {
</Button>
</Col>
</Row>
<Spin spinning={loading} tip="loading">
<div className={styles.table}>
<div className={styles.tablebox}>
<Spin spinning={loading} tip="loading">
{tableData.length > 0 ? (
<Table
size="small"
......@@ -485,7 +486,7 @@ const videoManager = () => {
rowKey={record => record.Id}
columns={columns}
dataSource={tableData}
scroll={{ y: 'calc(100vh - 210px)', x: 'max-content' }}
scroll={{ y: 'calc(100% - 210px)', x: 'max-content' }}
onRow={record => ({
onDoubleClick: event => {
event.stopPropagation();
......@@ -523,8 +524,9 @@ const videoManager = () => {
}}
/>
)}
</div>
</Spin>
</Spin>
</div>
<AddModal
visible={addVisible}
onCancel={() => {
......
.videoManagerContainer {
height: 100%;
.ant-table-pagination.ant-pagination {
margin: 2px 0;
}
.tablebox {
height: calc(100% - 54px);
.ant-table-wrapper {
height: 100%;
.ant-table {
height: calc(100% - 50px);
}
}
.ant-pagination {
// padding-right: 10px;
padding: 10px;
}
}
.head {
padding: 10px;
background: white;
margin-bottom: 2px;
width: 100%;
}
.ant-card-body {
padding: 0px 24px 24px 17px;
}
.sel {
width: 200px;
}
.icon {
margin-top: -5px !important;
vertical-align: text-bottom;
}
.redText {
color: red;
}
}
.ant-input[disabled] {
color: rgba(0, 0, 0, 0.5);
}
.ant-select-disabled.ant-select:not(.ant-select-customize-input) .ant-select-selector {
color: rgba(0, 0, 0, 0.5);
}
}
\ No newline at end of file
......@@ -10,6 +10,8 @@ import SiteConfig from './SiteConfig';
import MiniMenu from './menuconfig/miniMenu';
import AddConfig from './addConfig';
import { appConnector } from '@/containers/App/store';
import styles from './index.less';
const { TabPane } = Tabs;
const MobileConfigPage = props => {
const { userMode } = props;
......@@ -228,16 +230,18 @@ const MobileConfigPage = props => {
];
return (
<PageContainer>
<Spin spinning={loading} tip="loading...">
<Tabs
activeKey={parentKey}
onChange={handleParChange}
type="editable-card"
onEdit={handleEdit}
>
{singleList.map(item => cts(item, parentKey))}
</Tabs>
</Spin>
<div className={styles.mobileContainer}>
<Spin spinning={loading} tip="loading...">
<Tabs
activeKey={parentKey}
onChange={handleParChange}
type="editable-card"
onEdit={handleEdit}
>
{singleList.map(item => cts(item, parentKey))}
</Tabs>
</Spin>
</div>
<Drawer
title="新增应用"
destroyOnClose
......
......@@ -20,7 +20,7 @@ import {
dragMenu,
} from '@/services/mobileConfig/api';
import { setIn } from 'immutable';
import styles from './miniMenu.less';
import { appConnector } from '@/containers/App/store';
import Tree from '@/components/ExpendableTree';
import AddForm from './AddForm';
......@@ -28,6 +28,7 @@ import EditForm from './editForm';
import ImportOrExport from './ImportOrExport';
import CheckList from './checkBox';
import styles from './miniMenu.less';
const MiniMenu = props => {
const { userMode, clientName, parentKey } = props;
const [flag, setFlag] = useState(1); // 刷新标志
......@@ -713,7 +714,7 @@ const MiniMenu = props => {
</div>
</div>
{treeData.length > 0 ? (
<div style={{ height: 'calc(100vh - 300px)', overflowY: 'scroll' }}>
<div style={{ height: 'calc(100% - 35px)', overflowY: 'scroll' }}>
<Tree
showIcon
onSelect={handleSelect}
......
.box {
height: calc(100vh - 240px) !important;
height: 100%;
display: flex;
}
.left {
min-width: 300px;
width: 350px;
min-height: 100%;
border: 1px solid #eee;
padding: 10px;
.ant-tree-node-content-wrapper {
display: flex;
align-items: center;
.ant-tree-iconEle {
display: flex;
align-items: center;
line-height: 20px;
}
.ant-tree-title {
width: 100%;
}
}
.leftTop {
display: flex;
align-items: center;
margin-bottom: 10px;
justify-content: space-between;
.tRight {
display: flex;
align-items: center;
.icon1 {
font-size: 20px;
margin-right: 10px;
}
.icon2 {
font-size: 18px;
margin-right: 5px;
}
.icon:hover {
cursor: pointer;
}
}
}
}
.middle {
min-width: 500px;
width: 100%;
......@@ -50,14 +63,17 @@
padding: 10px;
margin: 0 0 0 10px;
}
.title {
display: flex;
align-items: center;
width: 100%;
}
.tip {
display: none;
}
.title:hover {
.tip {
display: flex;
......@@ -66,14 +82,17 @@
width: 100%;
}
}
.fs {
font-size: 18px;
margin-left: 10px;
}
.fsize {
font-size: 18px;
margin-left: 10px;
}
.rightBox {
min-width: 200px;
// width: 600px;
......@@ -81,8 +100,4 @@
min-height: 100%;
border: 1px solid #eee;
padding: 10px;
}
:global {
.ant-tree .ant-tree-node-content-wrapper .ant-tree-iconEle .anticon-folder {
}
}
}
\ No newline at end of file
......@@ -74,7 +74,8 @@ const ProductConfig = props => {
list.add(i.ProductType);
});
let a = [];
list.map(i => {
console.log(list, 'listsss');
[...list].map(i => {
a.push(i);
});
let aa = [];
......@@ -223,7 +224,7 @@ const ProductConfig = props => {
<div className={styles.box}>
<Card className={classnames(`${styles.leftList}`)}>
<div className={styles.listTop}>可用产品:</div>
<div style={{ height: 'calc(100vh - 172px)', overflow: 'scroll' }}>
<div style={{ height: 'calc(100% - 50px)', overflow: 'scroll' }}>
{productList && productList.length > 0 ? (
productList.map(item => renderListItem(item))
) : (
......
.box {
width: 100%;
display: flex;
height: calc(100vh - 72px);
height: 100%;
}
.leftList {
width: 500px;
height: calc(100vh - 72px);
height: 100%;
// overflow: scroll;
.ant-card-body {
padding: 12px 24px 24px 10px;
height: 100%;
}
}
.rightForm {
width: 100%;
}
.listTop {
display: flex;
justify-content: space-between;
......@@ -22,6 +30,7 @@
font-weight: bold;
border-bottom: 1px solid #ccc;
}
.listItem {
height: 35px !important;
padding-left: 5px;
......@@ -30,14 +39,17 @@
display: flex;
align-items: center;
justify-content: flex-start;
.itemspan {
margin-left: 10px;
}
}
.listItem:hover {
background-color: #f8f8f8;
}
.selected {
font-weight: bold;
background-color: #bae7ff !important;
}
}
\ No newline at end of file
......@@ -338,8 +338,6 @@ const WebConfigPage = props => {
) : (
<span style={{ color: '#1890ff' }}>{tabPaneItem.existMapComponent}</span>
)}
{/* <span>/</span>
<span>{tabPaneItem.mapComponent})</span> */}
</strong>
{tabPaneItem.existMapComponent < 9 && (
<Button type="primary" onClick={() => SyncMap(tabPaneItem)}>
......
.webConfigContainer{
.webConfigContainer {
position: absolute;
width: 100%;
height: 100%;
.link{
.link {
color: #000;
cursor: pointer;
font-size: 16px;
......@@ -10,64 +11,81 @@
position: relative;
top: -10px;
color: #1890ff;
.anticon{
.anticon {
top: -3px;
margin-right: 2px;
position: relative;
}
}
.ant-tabs-content-holder>.ant-tabs-content.ant-tabs-content-top{
.ant-tabs-content-holder>.ant-tabs-content.ant-tabs-content-top {
position: absolute;
width: 100%;
height: calc(100% - 40px);
// height: calc(100% - 40px);
}
.webConfigTabcontent{
background: #fff;
height: calc(100vh - 128px);
}
}
.webConfigContainer > .ant-tabs-card .ant-tabs-content {
height: 100%;
margin-top: -16px;
}
.webConfigContainer > .ant-tabs-card .ant-tabs-content > .ant-tabs-tabpane {
background: #fff;
padding: 16px;
}
.webConfigContainer > .ant-tabs-card > .ant-tabs-nav::before {
display: none;
}
.webConfigContainer > .ant-tabs-card .ant-tabs-tab,
[data-theme='compact'] .webConfigContainer > .ant-tabs-card .ant-tabs-tab {
border-color: transparent;
background: transparent;
.ant-tabs-content {
height: calc(100% - 56px);
}
.webConfigContainer > .ant-tabs-card .ant-tabs-tab-active,
[data-theme='compact'] .webConfigContainer > .ant-tabs-card .ant-tabs-tab-active {
border-color: #fff;
.webConfigTabcontent {
background: #fff;
height: 100%;
}
#components-tabs-demo-card-top .code-box-demo {
background: #f5f5f5;
overflow: hidden;
padding: 24px;
}
[data-theme='compact'] .webConfigContainer > .ant-tabs-card .ant-tabs-content {
height: 120px;
margin-top: -8px;
}
[data-theme='dark'] .webConfigContainer > .ant-tabs-card .ant-tabs-tab {
border-color: transparent;
background: transparent;
}
[data-theme='dark'] #components-tabs-demo-card-top .code-box-demo {
background: #000;
}
[data-theme='dark'] .webConfigContainer > .ant-tabs-card .ant-tabs-content > .ant-tabs-tabpane {
background: #141414;
}
[data-theme='dark'] .webConfigContainer > .ant-tabs-card .ant-tabs-tab-active {
border-color: #141414;
background: #141414;
}
\ No newline at end of file
}
.webConfigContainer>.ant-tabs-card .ant-tabs-content {
height: 100%;
margin-top: -16px;
}
.webConfigContainer>.ant-tabs-card .ant-tabs-content>.ant-tabs-tabpane {
background: #fff;
padding: 16px;
}
.webConfigContainer>.ant-tabs-card>.ant-tabs-nav::before {
display: none;
}
.webConfigContainer>.ant-tabs-card .ant-tabs-tab,
[data-theme='compact'] .webConfigContainer>.ant-tabs-card .ant-tabs-tab {
border-color: transparent;
background: transparent;
}
.webConfigContainer>.ant-tabs-card .ant-tabs-tab-active,
[data-theme='compact'] .webConfigContainer>.ant-tabs-card .ant-tabs-tab-active {
border-color: #fff;
background: #fff;
}
#components-tabs-demo-card-top .code-box-demo {
background: #f5f5f5;
overflow: hidden;
padding: 24px;
}
[data-theme='compact'] .webConfigContainer>.ant-tabs-card .ant-tabs-content {
height: 120px;
margin-top: -8px;
}
[data-theme='dark'] .webConfigContainer>.ant-tabs-card .ant-tabs-tab {
border-color: transparent;
background: transparent;
}
[data-theme='dark'] #components-tabs-demo-card-top .code-box-demo {
background: #000;
}
[data-theme='dark'] .webConfigContainer>.ant-tabs-card .ant-tabs-content>.ant-tabs-tabpane {
background: #141414;
}
[data-theme='dark'] .webConfigContainer>.ant-tabs-card .ant-tabs-tab-active {
border-color: #141414;
background: #141414;
}
\ No newline at end of file
......@@ -7,7 +7,7 @@ const MenuConfig = props => {
const { menu } = props;
return (
<>
<div split="vertical">
<div split="vertical" style={{ height: 'calc(100% - 10px)' }}>
<WebMenu {...props} />
</div>
</>
......
.box {
min-height: calc(100vh - 198px);
// min-height: calc(100vh - 198px);
// min-height: 100%;
height: 100%;
display: flex;
overflow-x: hidden;
}
.left {
min-width: 300px;
width: 350px;
......@@ -11,62 +14,76 @@
padding: 10px;
// height: calc( 100vh - 198px);
overflow-y: auto;
.ant-tree-node-content-wrapper {
display: flex;
align-items: center;
.ant-tree-iconEle {
display: flex;
align-items: center;
}
.ant-tree-title {
width: 100%;
}
}
.leftTop {
display: flex;
align-items: center;
margin-bottom: 10px;
justify-content: space-between;
.tRight {
display: flex;
align-items: center;
.icon1 {
font-size: 20px;
margin-right: 10px;
}
.icon2 {
font-size: 18px;
margin-right: 5px;
}
.icon:hover {
cursor: pointer;
}
}
}
}
.middle {
min-width: 500px;
width: 100%;
border: 1px solid #eee;
padding: 10px;
margin: 0 0 0 10px;
height: calc(100vh - 180px);
// height: calc(100vh - 180px);
height: 100%;
overflow-y: scroll;
}
.title {
display: flex;
align-items: center;
width: 100%;
}
.titleText {
width: 20rem;
overflow: hidden;
white-space: nowrap;
text-overflow: ellipsis;
}
.tip {
display: none;
}
.title:hover {
.tip {
display: flex;
......@@ -75,10 +92,12 @@
width: 100%;
}
}
.fs {
font-size: 18px;
margin-left: 10px;
}
.rightBox {
min-width: 200px;
// width: 600px;
......@@ -86,20 +105,4 @@
min-height: 100%;
border: 1px solid #eee;
padding: 10px;
}
.ant-tree.ant-tree-block-node .ant-tree-list-holder-inner .ant-tree-node-content-wrapper {
line-height: 28px !important;
width: 0;
}
.ant-tree-drop-indicator {
bottom: 3px !important;
margin-left: 6px;
}
.ant-tree-draggable-icon {
display: none;
}
// .modal{
// .ant-modal-body{
// padding: 0 !important;
// }
// }
}
\ No newline at end of file
.ant-spin-container {
height: 100%;
}
.cardBox {
// min-height: calc(100vh - 74px);
// max-height: calc(100vh - 74px);
height: 100%;
// overflow-y: scroll;
// overflow: auto;
overflow: hidden;
width: 320px;
left: 0;
top: 0;
margin-right: 10px;
position: relative;
// transition: left,width 10s;
transition-property: width, left;
transition-duration: 0.5s;
white-space: nowrap;
......@@ -56,10 +50,7 @@
width: 100%;
}
.ant-tree-node-content-wrapper-open {
display: flex;
align-items: center;
}
.treeTitle {
display: flex;
......@@ -104,19 +95,11 @@
overflow-y: scroll;
}
:global {
.ant-tree-switcher {
display: flex;
align-items: center;
margin-right: -8px;
margin-left: 5px;
// color:#1890FF;
.ant-tree-switcher-line-icon {
// margin-left: 5px;
}
}
}
.hide {
display: block;
......@@ -162,6 +145,10 @@
height: 100%;
display: flex;
position: relative;
.ant-card-body {
padding: 12px 24px 24px 10px;
}
}
.title {
......
: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;
......@@ -114,7 +47,7 @@
}
.ant-tree-treenode:hover {
.iconWraper1 > span {
.iconWraper1>span {
margin-left: 12px;
font-size: 18px;
display: inline-block;
......@@ -258,6 +191,7 @@
.ant-spin-nested-loading {
height: calc(100% - 50px);
}
.ant-card-body {
height: 100%;
}
......@@ -270,7 +204,7 @@
min-width: 600px;
}
.siteCheckbox .ant-collapse-content > .ant-collapse-content-box {
.siteCheckbox .ant-collapse-content>.ant-collapse-content-box {
padding: 16px 16px 0;
}
......@@ -319,7 +253,7 @@
overflow: auto;
}
.sitePanel .ant-checkbox-wrapper + .ant-checkbox-wrapper {
.sitePanel .ant-checkbox-wrapper+.ant-checkbox-wrapper {
margin: 0;
}
......@@ -355,8 +289,7 @@
li {
height: 35px;
line-height: 35px;
background: rgba(24, 144, 255, 0.16) url('../../../assets/images/icons/close.png') no-repeat
170px;
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;
......@@ -369,8 +302,7 @@
}
}
.siteline {
}
.siteline {}
.siteBtn {
width: 100%;
......@@ -441,4 +373,4 @@
overflow: hidden;
white-space: nowrap;
text-overflow: ellipsis;
}
}
\ No newline at end of file
......@@ -14,7 +14,7 @@
.tipsText {
position: absolute;
right: 40px;
top: 5px;
top: 7px;
z-index: 11;
}
......
......@@ -158,33 +158,37 @@ const RelateRoleModal = props => {
<Spin spinning={loading} tip="loading">
<Tabs activeKey={activeKey} onChange={onChange} style={{ marginTop: '-16px' }}>
<TabPane tab="角色" key="1">
{visible &&
rolelist.map((role, index) => (
<ListCardItem
style={{ display: 'none' }}
itemid={index}
key={`item${index}key`}
userList={role.roleList}
multiRoleList={multiRoleList}
mult={mult}
OUName={role.visibleTitle}
getValueCallback={getRoleValueCallback}
/>
))}
<div style={{ heigth: '500px', overflowY: 'scroll' }}>
{visible &&
rolelist.map((role, index) => (
<ListCardItem
style={{ display: 'none' }}
itemid={index}
key={`item${index}key`}
userList={role.roleList}
multiRoleList={multiRoleList}
mult={mult}
OUName={role.visibleTitle}
getValueCallback={getRoleValueCallback}
/>
))}
</div>
</TabPane>
<TabPane tab="站点" key="2">
{visible &&
stationlist.map((station, index) => (
<ListCardItem
itemid={index}
key={`item${index}key`}
userList={station.stationList}
multistationList={multistationList}
mult={mult}
OUName={station.visibleTitle}
getValueCallback={getStationValueCallback}
/>
))}
<div style={{ heigth: '500px', overflowY: 'scroll' }}>
{visible &&
stationlist.map((station, index) => (
<ListCardItem
itemid={index}
key={`item${index}key`}
userList={station.stationList}
multistationList={multistationList}
mult={mult}
OUName={station.visibleTitle}
getValueCallback={getStationValueCallback}
/>
))}
</div>
</TabPane>
</Tabs>
</Spin>
......@@ -205,30 +209,34 @@ const RelateRoleModal = props => {
<Spin spinning={loading} tip="loading">
<Tabs activeKey={activeKey} onChange={onChange} style={{ marginTop: '-16px' }}>
<TabPane tab="角色" key="1">
{visible &&
rolelist.map((role, index) => (
<ListCardItem
itemid={index}
key={`item${index}key`}
userList={role.roleList}
mult={mult}
OUName={role.visibleTitle}
getValueCallback={getRoleValueCallback}
/>
))}
<div style={{ height: '500px', overflowY: 'scroll' }}>
{visible &&
rolelist.map((role, index) => (
<ListCardItem
itemid={index}
key={`item${index}key`}
userList={role.roleList}
mult={mult}
OUName={role.visibleTitle}
getValueCallback={getRoleValueCallback}
/>
))}
</div>
</TabPane>
<TabPane tab="站点" key="2">
{visible &&
stationlist.map((station, index) => (
<ListCardItem
itemid={index}
key={`item${index}key`}
userList={station.stationList}
mult={mult}
OUName={station.visibleTitle}
getValueCallback={getStationValueCallback}
/>
))}
<div style={{ height: '500px', overflowY: 'scroll' }}>
{visible &&
stationlist.map((station, index) => (
<ListCardItem
itemid={index}
key={`item${index}key`}
userList={station.stationList}
mult={mult}
OUName={station.visibleTitle}
getValueCallback={getStationValueCallback}
/>
))}
</div>
</TabPane>
</Tabs>
</Spin>
......
......@@ -493,7 +493,14 @@ const UserManage = () => {
<div className={styles.title1}>
<span className={styles.titleText}>
{org.children.length == 0 ? (
<ApartmentOutlined style={{ fontSize: '14px', color: '#1890FF' }} />
<ApartmentOutlined
style={{
fontSize: '14px',
color: '#1890FF',
verticalAlign: 'middle',
marginTop: '-3px',
}}
/>
) : (
<span />
)}
......@@ -1684,23 +1691,24 @@ const UserManage = () => {
enterButton
value={searchWordOrg}
/>
{changeOrgVisible && treeDataCopy.length > 0 && (
<Tree
showIcon="true"
showLine={{ showLeafIcon: false }}
// defaultExpandAll
// 未切换时原先的节点,注意要转字符串
selectedKeys={[`${currentSelectOldOrg}`]}
onSelect={value => {
setNewOrgID(value[0]);
// 切换后选中的节点
setCurrentSelectOldOrg(value[0]);
}}
expandedKeys={expendKeyOrg}
treeData={treeDataCopy.map(t => mapTree1(t))}
/>
)}
<div style={{ height: '500px', overflowY: 'scroll' }}>
{changeOrgVisible && treeDataCopy.length > 0 && (
<Tree
showIcon="true"
showLine={{ showLeafIcon: false }}
// defaultExpandAll
// 未切换时原先的节点,注意要转字符串
selectedKeys={[`${currentSelectOldOrg}`]}
onSelect={value => {
setNewOrgID(value[0]);
// 切换后选中的节点
setCurrentSelectOldOrg(value[0]);
}}
expandedKeys={expendKeyOrg}
treeData={treeDataCopy.map(t => mapTree1(t))}
/>
)}
</div>
</Modal>
{/* 修改密码 */}
<ChangePasswordModal
......
: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;
}
// ::-webkit-scrollbar {
// height: 6px; //x轴滚动条粗细
// width: 6px; //y轴滚动条粗细
// border-bottom: 2px solid white;
// }
//滚动条的轨道(里面装有thumb)滚动槽
::-webkit-scrollbar-track {
box-shadow: 0;
border-radius: 0;
background: white; //滚动槽背景色
border-radius: 10px; //滚动条边框半径设置
}
// //滚动条里面的小方块,能上下左右移动(取决于是垂直滚动条还是水平滚动条)
// ::-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;
// }
.ant-tree-node-content-wrapper {
width: 100%;
// //滚动条的轨道(里面装有thumb)滚动槽
// ::-webkit-scrollbar-track {
// box-shadow: 0;
// border-radius: 0;
// background: white; //滚动槽背景色
// border-radius: 10px; //滚动条边框半径设置
// }
// overflow: hidden !important;
.ant-tree-title {
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
display: flex !important;
justify-content: space-between;
}
}
// .ant-tree-node-content-wrapper {
// width: 100%;
// // overflow: hidden !important;
// .ant-tree-title {
// overflow: hidden;
// text-overflow: ellipsis;
// white-space: nowrap;
// display: flex !important;
// justify-content: space-between;
// }
// }
.ant-pagination-prev,
.ant-pagination-next {
line-height: 8px !important;
}
// .ant-pagination-prev,
// .ant-pagination-next {
// line-height: 8px !important;
// }
.ant-input-search-button {
line-height: 1;
}
// .ant-input-search-button {
// line-height: 1;
// }
.ant-dropdown-menu-item>.anticon:first-child {
vertical-align: 0.15em !important;
}
// .ant-dropdown-menu-item>.anticon:first-child {
// vertical-align: 0.15em !important;
// }
.ant-table-tbody {
.ant-table-row:hover>td {
background: #aed8fa !important;
}
}
// .ant-table-tbody {
// .ant-table-row:hover>td {
// background: #aed8fa !important;
// }
// }
.ant-modal-close-icon {
vertical-align: 0.3em;
}
// .ant-modal-close-icon {
// vertical-align: 0.3em;
// }
.ant-notification-close-icon {
vertical-align: 0.2em;
}
// .ant-notification-close-icon {
// vertical-align: 0.2em;
// }
.ant-tree-switcher-icon svg {
font-size: 14px;
color: #767777 !important;
}
// .ant-tree-switcher-icon svg {
// font-size: 14px;
// color: #767777 !important;
// }
.ant-card-body {
padding: 12px 24px 24px 10px;
}
// .ant-card-body {
// padding: 12px 24px 24px 10px;
// }
}
.redText {
......@@ -76,19 +76,19 @@
cursor: pointer;
}
.ant-layout {
overflow: auto;
// .ant-layout {
// overflow: auto;
.ant-layout-content {
margin: 12px !important;
}
}
// .ant-layout-content {
// margin: 12px !important;
// }
// }
.ant-btn>.anticon+span,
.ant-btn>span+.anticon {
margin-left: 8px;
vertical-align: middle;
}
// .ant-btn>.anticon+span,
// .ant-btn>span+.anticon {
// margin-left: 8px;
// vertical-align: middle;
// }
.siteTitle {
font-size: 16px;
......@@ -100,6 +100,11 @@
.userManageContainer {
height: 100%;
.ant-card-body {
padding: 12px 24px 24px 10px;
}
.ant-modal-footer {
border: none;
padding: 28px 40px;
......@@ -134,34 +139,7 @@
font-size: 14px;
}
.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;
}
}
.ant-radio-group {
margin: 0px !important;
}
.contentContainer {
display: flex;
......@@ -172,16 +150,15 @@
// .ant-table.ant-table-bordered > .ant-table-container {
// min-width: 81%;
// }
.ant-tree-switcher_close .ant-tree-switcher-icon svg {
margin: auto;
}
// .ant-tree-switcher_close .ant-tree-switcher-icon svg {
// margin: auto;
// }
.ant-spin-container {
height: 100%;
}
.orgContainer {
// height: calc(100vh - 74px);
height: 100%;
width: 320px;
padding-right: 10px;
......@@ -193,22 +170,24 @@
transition-property: width;
transition-duration: 0.5s;
white-space: nowrap;
.ant-card-body {
height: 100%;
}
.ant-tree {
padding-top: 6px;
.ant-tree-switcher {
line-height: 1;
margin-right: 0px !important;
color: #1890ff;
// .ant-tree {
// padding-top: 6px;
.ant-tree-switcher-line-icon {
margin-left: 5px;
}
}
}
// .ant-tree-switcher {
// line-height: 1;
// margin-right: 0px !important;
// color: #1890ff;
// .ant-tree-switcher-line-icon {
// margin-left: 5px;
// }
// }
// }
.switcher {
display: block;
......@@ -274,14 +253,23 @@
}
.userContainer {
// height: calc(100vh - 74px) !important;
height: 100%;
z-index: 999;
background: white;
min-width: 800px;
width: 100%;
position: relative;
transition: width 0.5s;
overflow: hidden;
.ant-table-wrapper {
height: calc(100% - 50px);
}
.ant-table {
height: calc(100% - 50px)
}
.title {
margin: 16px 0 10px 16px;
......@@ -309,9 +297,9 @@
}
}
.ant-input-search-button {
margin-left: 0px !important;
}
// .ant-input-search-button {
// margin-left: 0px !important;
// }
.ant-table-thead tr th {
font-weight: 600;
......@@ -327,9 +315,10 @@
.ant-table-body {
// height: calc(100vh - 210px);
// height: 100%;
height: 100%;
border-right: white;
// overflow: auto !important;
}
.clickRowStyle {
......@@ -364,54 +353,54 @@
min-width: 200px !important;
}
.ant-tree-list-holder {
overflow: auto;
overflow-x: hidden;
height: 40vh;
}
// .ant-tree-list-holder {
// overflow: auto;
// overflow-x: hidden;
// height: 40vh;
// }
.ant-tabs-content-holder {
overflow: auto;
height: 50vh;
}
// .ant-tabs-content-holder {
// overflow: auto;
// height: 50vh;
// }
}
}
.ant-modal-content {
border-radius: 5px;
}
// .ant-modal-content {
// border-radius: 5px;
// }
.ant-modal-header {
border-radius: 5px 5px 0 0;
padding: 28px 40px;
}
// .ant-modal-header {
// border-radius: 5px 5px 0 0;
// padding: 28px 40px;
// }
.ant-modal-close {
top: 14px;
right: 20px;
}
// .ant-modal-close {
// top: 14px;
// right: 20px;
// }
.ant-modal-footer .ant-btn+.ant-btn:not(.ant-dropdown-trigger) {
margin-bottom: 0;
margin-left: 15px;
}
// .ant-modal-footer .ant-btn+.ant-btn:not(.ant-dropdown-trigger) {
// margin-bottom: 0;
// margin-left: 15px;
// }
// .ant-form-horizontal .ant-form-item-control {
// margin-left: 10px;
// }
.ant-popover-inner {
border-radius: 10px;
background-color: rgba(255, 255, 255, 0.788);
}
// .ant-popover-inner {
// border-radius: 10px;
// background-color: rgba(255, 255, 255, 0.788);
// }
.ant-popover-inner-content {
padding: 10px 10px;
}
// .ant-popover-inner-content {
// padding: 10px 10px;
// }
.ant-popover-message>.anticon {
top: 7.0005px;
}
// .ant-popover-message>.anticon {
// top: 7.0005px;
// }
// .ant-tree {
// overflow-y: scroll;
......
.divBox {
display: flex;
flex-wrap: wrap;
......@@ -7,42 +6,54 @@
margin-right: 10px;
min-height: 50px;
padding: 10px 20px;
.topCheckbox{
.topCheckbox {
height: 20px;
background-color: #fff;
margin: -20px 0 0 0;
font-weight: bold;
line-height: 20px;
span{
span {
font-size: 15px;
}
}
.checkdiv {
display: flex;
padding: 10px 0;
.ant-checkbox-group{
.ant-checkbox-group {
width: 100%;
display: flex;
flex-wrap: wrap;
align-items: center;
.ant-checkbox-group-item{
flex:0 0 auto;
flex-shrink: 0;
flex-grow: 0;
margin-right: 60px;
// min-width: 180px;
margin-bottom: 5px;
.ant-checkbox-wrapper {
width: 100%;
margin-bottom: 8px;
}
// .ant-checkbox-group-item {
// flex: 0 0 auto;
// flex-shrink: 0;
// flex-grow: 0;
// margin-right: 60px;
// // min-width: 180px;
// margin-bottom: 5px;
// }
}
.check {
}
.check {}
}
}
.isSearch{
.isSearch {
color: red;
background-color: yellow;
}
.btnBox{
.btnBox {
position: sticky;
bottom: 0px;
background-color: #fff;
......
......@@ -12,62 +12,145 @@ import {
FundProjectionScreenOutlined,
ReadOutlined,
} from '@ant-design/icons';
import asyncComponent from './importComponent';
// 菜单
import UserLayout from '@/layouts/UserLayout';
import BasicLayout from '@/layouts/BasicLayout';
import BlankLayout from '@/layouts/BlankLayout';
// import UserLayout from '@/layouts/UserLayout';
// import BasicLayout from '@/layouts/BasicLayout';
// import BlankLayout from '@/layouts/BlankLayout';
// 登录
import Login from '@/pages/user/login';
// import Login from '@/pages/user/login';
// 解决方案管理
import CurrentSolution from '@/pages/currentSolution/CurrentSolution';
// import CurrentSolution from '@/pages/currentSolution/CurrentSolution';
// 数据库管理
import InitDataBase from '@/pages/database/InitDataBase/InitDataBase';
import DatabaseInitialization from '@/pages/database/databaseInitialization/DatabaseInitialization';
import ManagementDataBase from '@/pages/database/ManagementDataBase/ManagementDataBase';
import DatabaseConnectConfig from '@/pages/database/databaseConfig/DatabaseConfig';
// import InitDataBase from '@/pages/database/InitDataBase/InitDataBase';
// import DatabaseInitialization from '@/pages/database/databaseInitialization/DatabaseInitialization';
// import ManagementDataBase from '@/pages/database/ManagementDataBase/ManagementDataBase';
// import DatabaseConnectConfig from '@/pages/database/databaseConfig/DatabaseConfig';
// 用户中心
import UserManage from '@/pages/userCenter/userManage/UserManage';
import RoleManage from '@/pages/userCenter/roleManage/RoleManage';
import SiteManage from '@/pages/userCenter/siteManage/SiteManage';
// import UserManage from '@/pages/userCenter/userManage/UserManage';
// import UserManage from '@/pages/userCenter/userManage/UserManage';
// import RoleManage from '@/pages/userCenter/roleManage/RoleManage';
// import SiteManage from '@/pages/userCenter/siteManage/SiteManage';
// 数据中心
import Dictionary from '@/pages/dataCenter/dictionary';
// import Dictionary from '@/pages/dataCenter/dictionary';
// 组态平台
// 平台中心
import SchemeConfig from '@/pages/platformCenter/gis/schemeConfig/SchemeConfig';
import DimensionsConfig from '@/pages/platformCenter/gis/dimensionsConfig/dimensionsConfig';
import MessageManager from '@/pages/platformCenter/messageManage';
import SchemeDetail from '@/pages/platformCenter/messageManage/schemeDetail/schemeDetail';
import HostManager from '@/pages/platformCenter/hostmanager';
import VideoManager from '@/pages/platformCenter/videoManager';
import BaseFrameContainer from '@/pages/platformCenter/baseFrameContainer';
import IntegratedLogin from '@/pages/platformCenter/integratedLogin/integrate';
// import SchemeConfig from '@/pages/platformCenter/gis/schemeConfig/SchemeConfig';
// import DimensionsConfig from '@/pages/platformCenter/gis/dimensionsConfig/dimensionsConfig';
// import MessageManager from '@/pages/platformCenter/messageManage';
// import SchemeDetail from '@/pages/platformCenter/messageManage/schemeDetail/schemeDetail';
// import HostManager from '@/pages/platformCenter/hostmanager';
// import VideoManager from '@/pages/platformCenter/videoManager';
// import BaseFrameContainer from '@/pages/platformCenter/baseFrameContainer';
// import IntegratedLogin from '@/pages/platformCenter/integratedLogin/integrate';
// 业务中心
import TableManager from '@/pages/bsmanager/base/tablemanager';
import FiledConfig from '@/pages/bsmanager/base/tablemanager/filedConfig/filedConfig';
import StandingBook from '@/pages/bsmanager/base/standingBook/standingBook';
import Incident from '@/pages/bsmanager/workOrder/incident/incident';
import IncidentFlow from '@/pages/bsmanager/workOrder/incident/incidentFlow';
import IncidentView from '@/pages/bsmanager/workOrder/incident/incidentView';
import Flow from '@/pages/bsmanager/workOrder/workFlow/flow';
import FlowNode from '@/pages/bsmanager/workOrder/workFlow/flowNode/flowNode';
import Workflow from '@/pages/bsmanager/workOrder/workflowEdit/Workflow';
import Maintenance from '@/pages/bsmanager/patrolMaintenance/maintenance/maintenance';
import PatrolFeedback from '@/pages/bsmanager/patrolMaintenance/patrolFeedback/patrolFeedback';
// import TableManager from '@/pages/bsmanager/base/tablemanager';
// import FiledConfig from '@/pages/bsmanager/base/tablemanager/filedConfig/filedConfig';
// import StandingBook from '@/pages/bsmanager/base/standingBook/standingBook';
// import Incident from '@/pages/bsmanager/workOrder/incident/incident';
// import IncidentFlow from '@/pages/bsmanager/workOrder/incident/incidentFlow';
// import IncidentView from '@/pages/bsmanager/workOrder/incident/incidentView';
// import Flow from '@/pages/bsmanager/workOrder/workFlow/flow';
// import FlowNode from '@/pages/bsmanager/workOrder/workFlow/flowNode/flowNode';
// import Workflow from '@/pages/bsmanager/workOrder/workflowEdit/Workflow';
// import Maintenance from '@/pages/bsmanager/patrolMaintenance/maintenance/maintenance';
// import PatrolFeedback from '@/pages/bsmanager/patrolMaintenance/patrolFeedback/patrolFeedback';
// 应用中心
import ProductConfig from '@/pages/productCenter/productConfig/productConfig';
import WebConfigPage from '@/pages/productCenter/webConfig';
import MobileConfigPage from '@/pages/productCenter/mobileConfig';
// import ProductConfig from '@/pages/productCenter/productConfig/productConfig';
// import WebConfigPage from '@/pages/productCenter/webConfig';
// import MobileConfigPage from '@/pages/productCenter/mobileConfig';
// 系统日志
import ServiceLog from '@/pages/log/serviceLog';
import LoginLog from '@/pages/log/loginLog';
import OmsLog from '@/pages/log/omsLog';
// import ServiceLog from '@/pages/log/serviceLog';
// import LoginLog from '@/pages/log/loginLog';
// import OmsLog from '@/pages/log/omsLog';
import { USER_MODE } from '@/utils/constants';
// 菜单
const UserLayout = asyncComponent(() => import('@/layouts/UserLayout'));
const BasicLayout = asyncComponent(() => import('@/layouts/BasicLayout'));
const BlankLayout = asyncComponent(() => import('@/layouts/BlankLayout'));
// 登录
const Login = asyncComponent(() => import('@/pages/user/login'));
// 解决方案管理
const CurrentSolution = asyncComponent(() => import('@/pages/currentSolution/CurrentSolution'));
// 数据库管理
const InitDataBase = asyncComponent(() => import('@/pages/database/InitDataBase/InitDataBase'));
const DatabaseInitialization = asyncComponent(() =>
import('@/pages/database/databaseInitialization/DatabaseInitialization'),
);
const ManagementDataBase = asyncComponent(() =>
import('@/pages/database/ManagementDataBase/ManagementDataBase'),
);
const DatabaseConnectConfig = asyncComponent(() =>
import('@/pages/database/databaseConfig/DatabaseConfig'),
);
// 用户中心
const UserManage = asyncComponent(() => import('@/pages/userCenter/userManage/UserManage'));
const Workflow = asyncComponent(() => import('@/pages/bsmanager/workOrder/workflowEdit/Workflow'));
const RoleManage = asyncComponent(() => import('@/pages/userCenter/roleManage/RoleManage'));
const SiteManage = asyncComponent(() => import('@/pages/userCenter/siteManage/SiteManage'));
// 数据中心
const Dictionary = asyncComponent(() => import('@/pages/dataCenter/dictionary'));
// 平台中心
const SchemeConfig = asyncComponent(() =>
import('@/pages/platformCenter/gis/schemeConfig/SchemeConfig'),
);
const DimensionsConfig = asyncComponent(() =>
import('@/pages/platformCenter/gis/dimensionsConfig/dimensionsConfig'),
);
const MessageManager = asyncComponent(() => import('@/pages/platformCenter/messageManage'));
const SchemeDetail = asyncComponent(() =>
import('@/pages/platformCenter/messageManage/schemeDetail/schemeDetail'),
);
const HostManager = asyncComponent(() => import('@/pages/platformCenter/hostmanager'));
const VideoManager = asyncComponent(() => import('@/pages/platformCenter/videoManager'));
const BaseFrameContainer = asyncComponent(() =>
import('@/pages/platformCenter/baseFrameContainer'),
);
const IntegratedLogin = asyncComponent(() =>
import('@/pages/platformCenter/integratedLogin/integrate'),
);
// 业务中心
const TableManager = asyncComponent(() => import('@/pages/bsmanager/base/tablemanager'));
const FiledConfig = asyncComponent(() =>
import('@/pages/bsmanager/base/tablemanager/filedConfig/filedConfig'),
);
const StandingBook = asyncComponent(() =>
import('@/pages/bsmanager/base/standingBook/standingBook'),
);
const Incident = asyncComponent(() => import('@/pages/bsmanager/workOrder/incident/incident'));
const IncidentFlow = asyncComponent(() =>
import('@/pages/bsmanager/workOrder/incident/incidentFlow'),
);
const IncidentView = asyncComponent(() =>
import('@/pages/bsmanager/workOrder/incident/incidentView'),
);
const Flow = asyncComponent(() => import('@/pages/bsmanager/workOrder/workFlow/flow'));
const FlowNode = asyncComponent(() =>
import('@/pages/bsmanager/workOrder/workFlow/flowNode/flowNode'),
);
const Maintenance = asyncComponent(() =>
import('@/pages/bsmanager/patrolMaintenance/maintenance/maintenance'),
);
const PatrolFeedback = asyncComponent(() =>
import('@/pages/bsmanager/patrolMaintenance/patrolFeedback/patrolFeedback'),
);
// 应用中心
const ProductConfig = asyncComponent(() =>
import('@/pages/productCenter/productConfig/productConfig'),
);
const WebConfigPage = asyncComponent(() => import('@/pages/productCenter/webConfig'));
const MobileConfigPage = asyncComponent(() => import('@/pages/productCenter/mobileConfig'));
// 系统日志
const ServiceLog = asyncComponent(() => import('@/pages/log/serviceLog'));
const LoginLog = asyncComponent(() => import('@/pages/log/loginLog'));
const OmsLog = asyncComponent(() => import('@/pages/log/omsLog'));
const superAuthority = [USER_MODE.SUPER];
const adminAuthority = [...superAuthority, USER_MODE.ADMIN];
const iconStyle = { verticalAlign: 'middle' };
......
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