Commit c428b7f9 authored by 邓晓峰's avatar 邓晓峰

feat: add PageContainer component

parent bf8c0f9d
...@@ -9,12 +9,12 @@ export default { ...@@ -9,12 +9,12 @@ export default {
// container: '#micro-container', // container: '#micro-container',
// activeRule: '/civbase/dosing-web', // activeRule: '/civbase/dosing-web',
// }, // },
// { {
// name: 'civ_water', name: 'civ_water',
// entry: `//${window.location.hostname}:8080/civ_water`, entry: `//${window.location.hostname}:8081/civ_water`,
// container: '#micro-container', container: '#micro-container',
// activeRule: '/civbase/civ_water', activeRule: '/civbase/civ_water',
// }, },
// { // {
// name: 'civ_configuration', // name: 'civ_configuration',
// entry: `//${window.location.hostname}:8080/civ_configuration`, // entry: `//${window.location.hostname}:8080/civ_configuration`,
......
...@@ -110,9 +110,9 @@ ...@@ -110,9 +110,9 @@
"@wisdom-map/Map": "^1.0.12-17", "@wisdom-map/Map": "^1.0.12-17",
"@wisdom-map/arcgismap": "^1.0.79-17", "@wisdom-map/arcgismap": "^1.0.79-17",
"@wisdom-map/util": "^1.0.27-0", "@wisdom-map/util": "^1.0.27-0",
"@wisdom-utils/components": "0.0.100", "@wisdom-utils/components": "0.1.8",
"@wisdom-utils/runtime": "0.0.15", "@wisdom-utils/runtime": "0.0.15",
"@wisdom-utils/utils": "0.1.38", "@wisdom-utils/utils": "0.1.48",
"animate.css": "^4.1.1", "animate.css": "^4.1.1",
"antd": "^4.17.4", "antd": "^4.17.4",
"compression": "1.7.4", "compression": "1.7.4",
......
...@@ -14,516 +14,725 @@ ...@@ -14,516 +14,725 @@
@primary-10: color(~`colorPalette('@{primary-color}', 10) `); // unused @primary-10: color(~`colorPalette('@{primary-color}', 10) `); // unused
@slider-light: #fff; @slider-light: #fff;
@color-black: #fff; @color-black: #fff;
.basicLayout * {
box-sizing: border-box;
}
.basicLayout {
display: flex;
flex-direction: column;
width: 100%;
min-height: 100%;
.layout-has-slider { .toggleSite {
flex-direction: row; height: 30px;
background: rgba(0,0,0,.12);
border-radius: 15px;
min-width: 10px;
border: 1px solid rgba(238,238,238,.25);
margin-left: 18px;
display: flex; display: flex;
flex: auto; align-items: center;
padding-left: 16px;
padding-right: 16px;
cursor: pointer;
// transition: all .3s;
.site {
width: 16px;
height: 16px;
} }
.layoutSlider { .name {
overflow: hidden; font-family: 'MicrosoftYaHei';
flex: 0 0 80px; font-weight: bold;
max-width: 80px; color: #FFFFFF;
min-width: 80px; font-size: 14px;
width: 80px; margin-left: 9px;
background-color: @layout-header-background;
transition: background .3s,width .3s cubic-bezier(.2,0,0,1) 0s;
&.fixed {
position: fixed!important;
top: 46px;
left: 0;
z-index: 600;
height: calc(100% - 46px);
// overflow: auto;
overflow-x: hidden;
box-shadow: 2px 0 8px 0 rgb(29 35 41 / 5%);
transition: all .2s;
} }
&.collapsed { .arrow {
flex: 0 0 48px; margin-left: 9px;
max-width: 48px;
min-width: 48px;
width: 48px;
transition: background .3s,width .5s cubic-bezier(.2,0,0,1) 0s;
.sliderMenu {
.splitLine {
width: 48px;
} }
}
.weatcher {
margin-left: 25px;
.icon {
width: 22px;
height: 22px;
margin-right: 12px;
margin-left: 25px;
} }
.text {
font-weight: 400;
color: #FFFFFF;
letter-spacing: 2px;
} }
.sliderMenu { }
flex: 1 1 0%; & :global {
// overflow: hidden auto; .@{ant-prefix}-dropdown-menu-item {
.menu {
position: relative;
min-height: 100%;
.menu-item {
height: 74px;
display: flex; display: flex;
flex-direction: row;
align-items: center; align-items: center;
text-align: center; padding: 10px 12px!important;
width: 100%; div {
justify-content: center;
cursor: pointer;
transition: border-color .3s,background .3s,padding .1s cubic-bezier(.215,.61,.355,1);
a {
text-align: center;
display: flex; display: flex;
flex-direction: column; flex-direction: row;
align-items: center; align-items: center;
.icon { span:first-child {
transition: font-size .15s cubic-bezier(.215,.61,.355,1),margin .3s cubic-bezier(.645,.045,.355,1),color .3s; width: 3px;
font-size: 14px; height: 3px;
svg { background: #7A8E9D;
path, rect, circle, .cls-1 { /* position: absolute; */
fill:hsla(0,0%,100%,.65)!important; display: flex;
stroke:hsla(0,0%,100%,.65)!important; border-radius: 100%;
stroke-width:0!important;
stroke-linecap:round;
stroke-miterlimit:10;
} }
span:last-child {
padding-left: 10px;
} }
} }
img { &:hover {
width: 22px; // span:first-child {
height: 22px; // background: @primary-color;
opacity: 0.7; // }
span:last-child {
color: @primary-color;
} }
.text {
display: block;
color: hsla(0,0%,100%,.65);
padding-top: 4px;
max-width: 70px;
text-overflow: ellipsis;
overflow: hidden;
white-space: nowrap;
opacity: 1;
transition: opacity .3s cubic-bezier(.645,.045,.355,1),margin .3s,color .3s;
} }
.currentText {
color: @color-black;
} }
.@{ant-prefix}-dropdown-menu {
.@{ant-prefix}-divider-horizontal{
&:last-child {
display: none;
} }
&:hover {
span {
color: #fff;
} }
.icon {
&.fillCurrent {
svg {
path {
fill:hsla(0,0%,100%,.65)!important;
stroke:hsla(0,0%,100%,.65)!important;
} }
}
& :global {
.@{ant-prefix}-dropdown-custom-menu {
top: 82px!important;
//div span:first-child
.@{ant-prefix}-dropdown-menu-item {
.@{ant-prefix}-dropdown-menu-title-content {
&:hover {
span:first-child {
background: @primary-color!important;
} }
span:last-child {
color: @primary-color;
} }
// svg {
// path:not(.st0) {
// fill: #fff!important;
// }
// path.st0 {
// fill:url(#SVGID_1_)!important;
// }
// path.st1 {
// fill:url(#SVGID_2_)!important;
// }
// }
} }
} }
&.active {
background: @primary-color;
box-shadow: 0px 1px 0px 0px rgba(238, 238, 238, 0.17);
span {
color: #FFFFFF;
} }
.icon {
svg {
path, rect, circle {
// fill: #fff!important;
} }
}
.lang {
width: 100%;
height: 40px;
line-height: 44px;
text-align: right;
:global(.@{ant-prefix}-dropdown-trigger) {
margin-right: 24px;
} }
} }
@media (min-width: @screen-md-min) {
.container {
// background-image: url('https://gw.alipayobjects.com/zos/rmsportal/TVYTbAXWheQpRcWDaDMu.svg');
background-repeat: no-repeat;
background-position: center 110px;
background-size: 100%;
} }
.content {
// padding: 32px 0 24px;
} }
} }
.splitLine {
width: 90px;
height: 1px;
border: 1px solid;
border-image: linear-gradient(-90deg, #030000, #FFFFFF, #030000) 10 0;
background: linear-gradient(90deg, #030000 0%, #FFFFFF 50%, #030000 100%);
margin: 0 auto;
position: relative;
top: -4px;
.top {
text-align: center;
} }
.header {
height: 44px;
line-height: 44px;
a {
text-decoration: none;
} }
.layout-slider-childern {
display: flex;
flex-direction: column;
height: 100%;
} }
.logo {
height: 44px;
margin-right: 16px;
vertical-align: top;
} }
.layout {
.title {
position: relative; position: relative;
// display: flex; top: 2px;
flex: auto; color: @heading-color;
flex-direction: column; font-weight: 600;
min-height: 0; font-size: 33px;
background: #f0f2f5; font-family: Avenir, 'Helvetica Neue', Arial, Helvetica, sans-serif;
width: 100%;
} }
.basicLayout-content {
.desc {
margin-top: 12px;
margin-bottom: 40px;
color: @text-color-secondary;
font-size: @font-size-base;
}
.shortName {
font-size: 12px;
position: relative; position: relative;
height: calc(100vh - 82px); top: 5px;
margin-top: 82px; text-overflow: ellipsis;
overflow: hidden; overflow: hidden;
// margin: 24px 24px 0px 24px; white-space: nowrap;
&.hook_web4 { // left: -4px;
height: calc(100% - 82px);
margin-top: 82px;
} }
.minixName {
display: block;
font-size: 12px !important;
} }
.@{ant-prefix}-page-header { .popverName {
// padding: 4px 16px; display: none;
position: fixed; top: 0px; width: 100%; left: 0px; z-index: 999; }
// box-shadow: rgb(240, 241, 242) 0px 2px 8px; .fixSliderHeight {
box-sizing: border-box; :global {
margin: 0; .ant-pro-sider-menu {
color: rgba(0,0,0,.85); height: 82%;
font-size: 14px; min-height: inherit!important;
font-variant: tabular-nums; overflow-y: scroll;
line-height: 1.5715; }
list-style: none; }
font-feature-settings: "tnum","tnum"; }
position: relative;
// padding: 16px 24px; :global(.@{ant-prefix}-menu-inline-collapsed-tooltip
height: 46px; .panda-pro-layouts-user-layout-minixName) {
background-color: #0678F5; display: none;
// background: url('../assets/basic/图层 998@2x.png') no-repeat center; }
background-size: cover; :global(.@{ant-prefix}-menu-inline-collapsed-tooltip
display: flex; .panda-pro-layouts-user-layout-popverName) {
flex-direction: row; display: block;
box-sizing: border-box; }
.header { :global(.@{ant-prefix}-menu-submenu-popup
position: absolute; li.@{ant-prefix}-menu-item-only-child) {
width: 100%; height: 30px;
line-height: 30px;
padding: 0 14px;
// margin-bottom: 0px;
}
:global(.@{ant-prefix}-layout-sider-collapsed .@{ant-prefix}-menu-item.@{ant-prefix}-menu-item-only-child) {
padding-left: 0px!important;
}
:global(.@{ant-prefix}-layout-sider-collapsed
.@{ant-prefix}-menu-inline-collapsed
.@{ant-prefix}-menu-item-only-child.@{ant-prefix}-menu-item-selected) {
border-left: 2px solid @primary-color;
background-color: @menu-dark-inline-submenu-bg!important;
transition: cubic-bezier(0.175, 0.885, 0.32, 1.275);
}
:global(.@{ant-prefix}-menu-submenu-popup
li.@{ant-prefix}-menu-item-only-child
.panda-pro-layouts-user-layout-minixName) {
display: none;
}
:global(.@{ant-prefix}-menu-submenu-popup
li.@{ant-prefix}-menu-item-only-child
.panda-pro-layouts-user-layout-popverName) {
display: block;
top: 0 !important;
}
:global(.@{ant-prefix}-menu-inline-collapsed-tooltip
.@{ant-prefix}-tooltip-inner) {
display: flex; display: flex;
align-items: center; }
height: 100%; :global(.@{ant-prefix}-menu-inline-collapsed-tooltip
padding-left: 17px; .@{ant-prefix}-tooltip-inner
.logo { a) {
display: flex; display: flex;
align-items: center; align-items: center;
height: 100%; justify-content: center;
padding-left: 7px;
img {
//width: 48px;
width: 42px;
height: auto;
//height: 25px;
} }
:global(.@{ant-prefix}-menu-inline-collapsed-tooltip
.@{ant-prefix}-tooltip-inner
a
.panda-pro-layouts-user-layout-popverName) {
padding-left: 4px;
top: 0;
} }
.title {
min-width: 200px; .header-title {
font-size: 26px; color: #555;
font-weight: 400; text-shadow: none;
color: #FFFFFF; font-weight: 100;
opacity: 0.9; font-size: 22px;
padding-left: 25px; vertical-align: middle;
font-family: PangMenZhengDaoBiaoTiTi; // padding-left: 80px;
letter-spacing: 2px; letter-spacing: 2px;
} }
:global(.@{ant-prefix}-spin-container::after) {
background: transparent!important;
}
.spinLoadding {
> div {
width: 100%;
:global {
.@{ant-prefix}-spin {
display: flex!important;
flex-direction: row;
align-items: center;
flex: 0 1;
width: 100px!important;
}
.anticon-loading {
top: 75%!important;
left: 0!important;
}
.@{ant-prefix}-spin-text {
font-size: 12px;
display: inline-block;
top: 30%!important;
color: #c3c3c3;
width: 100px;
left: 10px!important;
text-align: left;
} }
} }
.menu-item-children {
height: 36px;
background: #fff;
box-shadow: rgb(240 241 242) 0px 2px 8px;
position: fixed;
top: 46px;
width: 100%;
z-index: 500;
svg {
path, rect, circle {
fill: #C4CDDB;
stroke: #C4CDDB;
box-shadow: 0px 1px 2px 0px rgb(6 0 1 / 50%);
} }
} }
.cityContent {
.siteName {
padding-right: 5px;
display: inline;
flex-grow: 1;
cursor: pointer;
text-shadow: none;
color: #777;
font-size: 14px;
vertical-align: middle;
padding-left: 15px;
letter-spacing: 2px;
font-weight: 100;
span {
padding-left: 5px;
text-shadow: none;
color: #777;
font-size: 14px;
vertical-align: middle;
}
img { img {
filter: drop-shadow(10px 0px #C4CDDB); margin: 0 !important;
transform: translateX(-10px); }
} }
& :global { .weatcher {
.@{ant-prefix}-tabs-tab { border-left: 1px solid rgb(170, 170, 170);
padding: 7px 0!important; text-shadow: none;
margin: 0 32px 0 0!important; color: #777;
&:hover { font-size: 14px;
svg path, svg rect, svg circle { font-weight: 100;
fill: @primary-color!important; vertical-align: middle;
stroke: @primary-color!important; padding-left: 8px;
letter-spacing: 2px;
span {
padding-left: 5px;
vertical-align: middle;
} }
img { img {
filter: drop-shadow(10px 0px @primary-color); width: 24px;
} }
.menu-item-name {
color: @primary-color;
} }
.@{ant-prefix}-tabs-tab-btn {
color: @primary-color;
} }
.stationsWrapper {
padding: 20px 10px 0 10px;
max-width: 520px;
top: 10px;
&.stationsTop {
top: 26px!important;
:global {
.ant-popover-arrow {
display: none;
} }
.@{ant-prefix}-tabs-tab-btn { }
.@{ant-prefix}-dropdown-trigger { }
div { .focusStations {
div { display: block;
// padding: 5px 0px;
border-bottom: 1px dotted rgb(217, 217, 217);
ul {
display: flex;
margin-bottom: 0px;
flex-wrap: wrap;
width: 100%; width: 100%;
height: 100%; margin: 0 auto;
// justify-content: space-between;
gap: 8px 4px;
padding: 0;
padding-bottom: 6px;
// flex-wrap: wrap;
li {
// margin-top: 10px;
a {
color: #3f70b5;
&.city_select {
cursor: pointer;
} }
&.showTip {
position: relative;
} }
&:hover {
color: #23527c !important;
transition: color 0.3s;
} }
div[title] {
display: inline-block;
color: #fff;
text-align: center;
align-items: center;
line-height: 20px;
position: absolute;
top: -10px;
font-size: 12px;
transform-origin: left;
transform: scale(0.8);
} }
div[title='县'] {
width: 30px;
height: 24px;
background: url(https://panda-water.cn/web4/assets/images/云平台/县.png)
center center no-repeat;
} }
div[title='市'] {
width: 30px;
height: 24px;
background: url(https://panda-water.cn/web4/assets/images/云平台/市.png)
center center no-repeat;
} }
.menu-item { div[title='市'] {
float: left; width: 30px;
height: 24px;
background: url(https://panda-water.cn/web4/assets/images/云平台/市.png)
center center no-repeat;
}
div[title='HOT'],
div[title='New'] {
width: 41px;
height: 24px;
background: url(https://panda-water.cn/web4/assets/images/云平台/HOT.png)
center center no-repeat;
} }
& :global(.@{ant-prefix}-tabs-tab) {
display: flex!important;
} }
& :global(.@{ant-prefix}-tabs-tab-btn) {
display: flex;
position: relative;
align-items: center;
color: #737983;
transform: scale(0.92);
} }
& :global(.@{ant-prefix}-tabs-tab.@{ant-prefix}-tabs-tab-active .@{ant-prefix}-tabs-tab-btn) {
color: @primary-color!important;
} }
& :global(.@{ant-prefix}-tabs-tab-btn>div>div) { }
.city_pane {
// padding: 10px;
ul {
&.py {
padding: 0;
width: 100%;
display: flex; display: flex;
flex-wrap: wrap;
//margin-right: -10px;
//margin-left: 4px;
margin: -10px -10px 0px 4px;
//margin-top: -10px;
}
li {
margin-right: 10px;
.cityLetter,
.noData {
color: #ccc;
display: inline;
cursor: pointer;
} }
& :global(.@{ant-prefix}-tabs-nav::before) { .cityLetter {
border-bottom: none!important; &:hover {
color: #337ab7;
} }
a {
.menu-item-name {
margin-left: 8px;
color: #737983;
// transition: color .3s;
transition: border-color .3s,color .3s,padding .1s cubic-bezier(.215,.61,.355,1);
&:hover { &:hover {
color: @primary-color; color: @primary-color;
transition: color 0.3s;
} }
} }
& :global {
.@{ant-prefix}-divider-vertical {
left: 20px;
margin: 0 1px!important;
} }
.@{ant-prefix}-tabs-nav-operations {
.ant-tabs-nav-more {
margin-right: 0px!important;
} }
} }
.cityContent {
min-width: 350px;
overflow-y: auto;
overflow-x: hidden;
.letter {
font-size: 24px;
line-height: 24px;
font-weight: 700;
color: #ccc;
&:hover {
color: #337ab7;
} }
& :global(.@{ant-prefix}-tabs-ink-bar) {
background: @primary-color!important;
} }
& :global(.@{ant-prefix}-tabs-tab-active) { .Provice {
color: @primary-color!important; margin-left: 20px;
display: flex;
margin-top: 2px;
.proviceName {
color: #3d6dcc;
font-weight: bolder;
min-width: 36px;
}
.city_list {
margin-left: 10px;
display: flex;
margin-right: -5px;
flex-wrap: wrap;
flex: 1;
font-size: 12px;
padding: 0 !important;
li {
margin-right: 8px;
margin-bottom: 6px;
} }
& :global(.@{ant-prefix}-tabs-tab-active .panda-pro-layouts-basic-layout-menu-item-name) {
color: @primary-color!important;
} }
& :global {
.@{ant-prefix}-tabs-tab-active svg path, .@{ant-prefix}-tabs-tab-active svg rect, .@{ant-prefix}-tabs-tab-active svg circle {
fill: @primary-color!important;
stroke: @primary-color!important;
} }
.@{ant-prefix}-tabs-tab-active img { &::-webkit-scrollbar {
filter: drop-shadow(10px 0px @primary-color); width: 0;
height: 0;
} }
} }
& :global(.@{ant-prefix}-tabs-nav-wrap) {
margin-left: 22px;
} }
:global(.@{ant-prefix}-spin) {
& :global(.@{ant-prefix}-dropdown-trigger) { position: absolute;
display: flex; left: 50%;
align-items: center; top: 50%;
transform: translate(-50%, -50%);
} }
& :global(.@{ant-prefix}-tabs-nav) {
margin: 0px!important;
} }
:global(.@{ant-prefix}-pro-basicLayout .@{ant-prefix}-pro-sider-logo h1) {
display: none;
} }
.@{ant-prefix}-page-container { :global(.@{ant-prefix}-pro-basicLayout .@{ant-prefix}-layout-sider-children .@{ant-prefix}-spin-lg .@{ant-prefix}-spin-dot) {
// padding-top: 48px; font-size: 20px;
// margin: -24px -24px 0;
// margin: -18px 0px 0 0px;
margin: 0px;
height: 100%;
// background-color: #fff;
} }
.@{ant-prefix}-page-container-warp { :global(.@{ant-prefix}-pro-basicLayout .@{ant-prefix}-layout-sider-children .@{ant-prefix}-spin-lg .@{ant-prefix}-spin-dot i) {
background-color: #fff; width: 9px;
height: 9px;
} }
.@{ant-prefix}-page-container-children-content { //:global(.@{ant-prefix}-layout-sider-collapsed
margin: 0!important; //// .@{ant-prefix}-menu-dark.@{ant-prefix}-menu-vertical
//// .@{ant-prefix}-menu-item) {
//// display: flex;
//// align-items: center;
//// justify-content: space-between;
//// text-align: center;
//// padding: 0;
////}
////:global(.@{ant-prefix}-layout-sider-collapsed
//// .@{ant-prefix}-menu-dark.@{ant-prefix}-menu-vertical
//// .@{ant-prefix}-pro-sider-collapsed-button) {
//// display: block;
////}
////
////:global(.@{ant-prefix}-layout-sider-collapsed
//// .@{ant-prefix}-menu-vertical
//// .@{ant-prefix}-menu-item) {
//// line-height: 14px;
////}
:global(.@{ant-prefix}-layout-sider-collapsed
.@{ant-prefix}-menu-dark
.@{ant-prefix}-menu-item) {
display: flex;
align-items: center;
justify-content: space-between;
text-align: center;
padding: 0;
} }
& :global { :global(.@{ant-prefix}-layout-sider-collapsed
.ant-pro-page-container-children-content, .ant-pro-grid-content-children, .ant-pro-grid-content-children>div, .ant-pro-grid-content-children .ant-spin-container { .@{ant-prefix}-menu-dark
margin: 0px!important; .@{ant-prefix}-pro-sider-collapsed-button) {
height: 100%; display: block;
} }
// margin: 14px 10px!important
:global(.@{ant-prefix}-layout-sider-collapsed
.@{ant-prefix}-menu-item) {
line-height: 14px;
} }
& :global(.ant-pro-grid-content) { :global(.ant-menu-dark .ant-menu-item, .ant-menu-dark
height: 100%; .ant-menu-item-group-title, .ant-menu-dark
.ant-menu-item
> a, .ant-menu-dark .ant-menu-item> span > a) {
width: 48px;
display: flex;
flex-direction: column;
align-items: center;
text-align: center;
} }
.fixedHeader { :global(.@{ant-prefix}-menu-inline-collapsed .@{ant-prefix}-menu-item a) {
position: fixed; width: 48px;
width: 100%; }
top:0px; :global(.@{ant-prefix}-menu-inline-collapsed
left: 0px; .@{ant-prefix}-menu-submenu.@{ant-prefix}-menu-submenu-vertical) {
height: 46px; display: flex;
margin: 0px; align-items: center;
padding: 0px;
} }
:global(.@{ant-prefix}-menu-inline-collapsed
.@{ant-prefix}-menu-submenu
.@{ant-prefix}-menu-submenu-title) {
display: flex;
align-items: center;
justify-content: center;
flex-direction: column;
text-align: center;
flex-wrap: inherit !important;
padding: 0;
width: 100%;
line-height: 24px;
}
} //:global(.@{ant-prefix}-menu-inline-collapsed
.toggleSite { // .@{ant-prefix}-menu-submenu.@{ant-prefix}-menu-submenu-vertical
height: 30px; // .@{ant-prefix}-menu-submenu-title
background: rgba(0,0,0,.12); // img) {
border-radius: 15px; // margin-right: 0px !important;
min-width: 10px; //}
border: 1px solid rgba(238,238,238,.25); :global(.@{ant-prefix}-menu-inline-collapsed
margin-left: 18px; .@{ant-prefix}-menu-submenu
.@{ant-prefix}-menu-submenu-title
img) {
margin-right: 0px !important;
}
.loadding {
height: 100%;
:global(.@{ant-prefix}-spin-container) {
height: 100%;
}
}
.menuItemLink {
display: flex; display: flex;
align-items: center; align-items: center;
padding-left: 16px;
padding-right: 16px; :global {
cursor: pointer; span.@{ant-prefix}-pro-menu-item {
// transition: all .3s; position: relative;
.site { top: 1px;
width: 16px; text-overflow: ellipsis;
height: 16px; overflow: hidden;
white-space: nowrap;
} }
.name {
font-family: 'MicrosoftYaHei';
font-weight: bold;
color: #FFFFFF;
font-size: 14px;
margin-left: 9px;
} }
.arrow {
margin-left: 9px;
} }
} :global(.@{ant-prefix}-menu-inline-collapsed
.weatcher { .panda-pro-layouts-user-layout-menuItemLink) {
margin-left: 25px; display: block;
.icon {
width: 22px;
height: 22px;
margin-right: 12px;
margin-left: 25px;
} }
.text { :global(.@{ant-prefix}-menu-inline-collapsed
font-weight: 400; .panda-pro-layouts-user-layout-menuItemLink
color: #FFFFFF; .panda-pro-layouts-user-layout-minixName) {
letter-spacing: 2px; font-size: 12px !important;
}
:global(.@{ant-prefix}-menu-inline-collapsed
.@{ant-prefix}-menu-submenu
.@{ant-prefix}-menu-submenu-title
.@{ant-prefix}-pro-menu-item) {
top: 0 !important;
font-size: 12px !important;
text-overflow: ellipsis;
overflow: hidden;
white-space: nowrap;
} }
} //:global(.@{ant-prefix}-menu-inline-collapsed
& :global { // .@{ant-prefix}-menu-submenu.@{ant-prefix}-menu-submenu-vertical
.@{ant-prefix}-dropdown-menu-item { // .@{ant-prefix}-menu-submenu-title
display: flex; // .@{ant-prefix}-pro-menu-item) {
flex-direction: row; // top: 0 !important;
align-items: center; // font-size: 12px !important;
padding: 10px 12px!important; // text-overflow: ellipsis;
div { // overflow: hidden;
display: flex; // white-space: nowrap;
flex-direction: row; //}
align-items: center; .complexLayout {
span:first-child { :global {
width: 3px; .@{ant-prefix}-pro-sider-menu {
height: 3px; .@{ant-prefix}-menu-item {
background: #7A8E9D; height: 36px;
/* position: absolute; */ line-height: 36px;
display: flex;
border-radius: 100%;
} }
span:last-child {
padding-left: 10px;
} }
.@{ant-prefix}-layout-sider-collapsed {
width: 0px !important;
max-width: 0px !important;
min-width: 0px !important;
} }
}
.complexCollapse {
order: 0;
flex: 0 1 auto;
height: 100%;
width: 0px;
position: absolute;
.collapsed {
width: 0px;
height: 64px;
position: absolute;
top: calc(50% - 32px);
right: -27px;
z-index: 20;
line-height: 46px;
border-width: 9px 9px 9px 20px;
border-style: solid;
border-color: transparent transparent transparent rgb(235, 235, 235);
border-image: initial;
cursor: pointer;
color: rgb(191, 191, 191);
transition: right 0.1s ease-in-out 0s, border 0.1s ease 0s;
&:hover { &:hover {
// span:first-child { right: -29px;
// background: @primary-color; border-left-color: rgb(222, 222, 222);
// }
span:last-child {
color: @primary-color;
} }
:global {
.@{ant-prefix}icon {
width: 12px;
position: relative;
left: -15px;
color: rgb(193, 193, 193);
transform: rotate(0deg);
transition: transform 0.5s ease-in-out 0s, left 0.1s ease-in-out 0s;
top: -3px;
} }
} }
.@{ant-prefix}-dropdown-menu {
.@{ant-prefix}-divider-horizontal{
&:last-child {
display: none;
} }
} }
} }
} .popup-menu-flex {
& :global { display: flex;
.@{ant-prefix}-dropdown-custom-menu { flex-wrap: wrap;
top: 82px!important; flex: 1 1;
//div span:first-child min-width: 220px;
.@{ant-prefix}-dropdown-menu-item { width: 220px;
.@{ant-prefix}-dropdown-menu-title-content { :global {
&:hover { .@{ant-prefix}-menu-item {
span:first-child { width: 50%;
background: @primary-color!important;
} }
span:last-child {
color: @primary-color;
} }
} }
.menuTabs{
position: relative;
padding: 0 10px;
} }
:global(.@{ant-prefix}-spin-container .@{ant-prefix}-tabs .@{ant-prefix}-tabs-nav){
margin: 0;
} }
:global(.@{ant-prefix}-menu-submenu .@{ant-prefix}-menu-sub.@{ant-prefix}-menu-inline .@{ant-prefix}menu-item-only-child) {
padding-left: 30px!important;
} }
}
\ No newline at end of file
import React from 'react';
const Layout = ({ children }) => <>{children}</>;
export default Layout;
import React from 'react';
import { Helmet, HelmetProvider } from 'react-helmet-async';
import { connect } from 'react-redux';
import { getMenuData, getPageTitle } from '@ant-design/pro-layout';
// import { renderRoutes } from '../utils/routes';
import { helpers } from '@wisdom-utils/utils';
import styles from './UserLayout.less';
const { renderRoutes } = helpers;
const UserLayout = props => {
const {
route = {
routes: [],
},
} = props;
const { breadcrumb } = getMenuData(route.routes);
const title = getPageTitle({
breadcrumb,
title: (props.global && props.global.title) || '',
...props,
});
return (
<HelmetProvider>
<Helmet>
<title>{title}</title>
<link
rel="shortcut icon"
href={`https://panda-water.cn/web4/${props.global &&
props.global.shortcutIcon}`}
/>
<meta name="description" content={title} />
</Helmet>
<div className={styles.container}>
<div className={styles.content}>
{renderRoutes('panda-console-base', route.routes, props)}
{props.children}
</div>
{/* <DefaultFooter links={[]} copyright="Copyright © 熊猫智慧水务 2020 All Rights Reserved 沪ICP备11036640-1"/> */}
</div>
</HelmetProvider>
);
};
const mapStateToProps = state => ({
global: state.getIn(['global', 'globalConfig']),
});
export default connect(mapStateToProps)(UserLayout);
@import '~antd/es/style/themes/default.less';
.container {
display: flex;
flex-direction: column;
height: 100vh;
overflow: auto;
background: @layout-body-background;
}
.lang {
width: 100%;
height: 40px;
line-height: 44px;
text-align: right;
:global(.@{ant-prefix}-dropdown-trigger) {
margin-right: 24px;
}
}
.content {
flex: 1;
// padding: 32px 0;
}
@media (min-width: @screen-md-min) {
.container {
// background-image: url('https://gw.alipayobjects.com/zos/rmsportal/TVYTbAXWheQpRcWDaDMu.svg');
background-repeat: no-repeat;
background-position: center 110px;
background-size: 100%;
}
.content {
// padding: 32px 0 24px;
}
}
.top {
text-align: center;
}
.header {
height: 44px;
line-height: 44px;
a {
text-decoration: none;
}
}
.logo {
height: 44px;
margin-right: 16px;
vertical-align: top;
}
.title {
position: relative;
top: 2px;
color: @heading-color;
font-weight: 600;
font-size: 33px;
font-family: Avenir, 'Helvetica Neue', Arial, Helvetica, sans-serif;
}
.desc {
margin-top: 12px;
margin-bottom: 40px;
color: @text-color-secondary;
font-size: @font-size-base;
}
.shortName {
font-size: 12px;
position: relative;
top: 5px;
text-overflow: ellipsis;
overflow: hidden;
white-space: nowrap;
// left: -4px;
}
.minixName {
display: block;
font-size: 12px !important;
}
.popverName {
display: none;
}
.fixSliderHeight {
:global {
.ant-pro-sider-menu {
height: 82%;
min-height: inherit!important;
overflow-y: scroll;
}
}
}
:global(.@{ant-prefix}-menu-inline-collapsed-tooltip
.panda-pro-layouts-user-layout-minixName) {
display: none;
}
:global(.@{ant-prefix}-menu-inline-collapsed-tooltip
.panda-pro-layouts-user-layout-popverName) {
display: block;
}
:global(.@{ant-prefix}-menu-submenu-popup
li.@{ant-prefix}-menu-item-only-child) {
height: 30px;
line-height: 30px;
padding: 0 14px;
// margin-bottom: 0px;
}
:global(.@{ant-prefix}-layout-sider-collapsed .@{ant-prefix}-menu-item.@{ant-prefix}-menu-item-only-child) {
padding-left: 0px!important;
}
:global(.@{ant-prefix}-layout-sider-collapsed
.@{ant-prefix}-menu-inline-collapsed
.@{ant-prefix}-menu-item-only-child.@{ant-prefix}-menu-item-selected) {
border-left: 2px solid @primary-color;
background-color: @menu-dark-inline-submenu-bg!important;
transition: cubic-bezier(0.175, 0.885, 0.32, 1.275);
}
:global(.@{ant-prefix}-menu-submenu-popup
li.@{ant-prefix}-menu-item-only-child
.panda-pro-layouts-user-layout-minixName) {
display: none;
}
:global(.@{ant-prefix}-menu-submenu-popup
li.@{ant-prefix}-menu-item-only-child
.panda-pro-layouts-user-layout-popverName) {
display: block;
top: 0 !important;
}
:global(.@{ant-prefix}-menu-inline-collapsed-tooltip
.@{ant-prefix}-tooltip-inner) {
display: flex;
}
:global(.@{ant-prefix}-menu-inline-collapsed-tooltip
.@{ant-prefix}-tooltip-inner
a) {
display: flex;
align-items: center;
justify-content: center;
}
:global(.@{ant-prefix}-menu-inline-collapsed-tooltip
.@{ant-prefix}-tooltip-inner
a
.panda-pro-layouts-user-layout-popverName) {
padding-left: 4px;
top: 0;
}
.header-title {
color: #555;
text-shadow: none;
font-weight: 100;
font-size: 22px;
vertical-align: middle;
// padding-left: 80px;
letter-spacing: 2px;
}
.spinLoadding {
> div {
width: 100%;
:global {
.@{ant-prefix}-spin {
display: flex!important;
flex-direction: row;
align-items: center;
flex: 0 1;
width: 100px!important;
}
.anticon-loading {
top: 75%!important;
left: 0!important;
}
.@{ant-prefix}-spin-text {
font-size: 12px;
display: inline-block;
top: 30%!important;
color: #c3c3c3;
width: 100px;
left: 10px!important;
text-align: left;
}
}
}
}
.cityContent {
.siteName {
padding-right: 5px;
display: inline;
flex-grow: 1;
cursor: pointer;
text-shadow: none;
color: #777;
font-size: 14px;
vertical-align: middle;
padding-left: 15px;
letter-spacing: 2px;
font-weight: 100;
span {
padding-left: 5px;
text-shadow: none;
color: #777;
font-size: 14px;
vertical-align: middle;
}
img {
margin: 0 !important;
}
}
.weatcher {
border-left: 1px solid rgb(170, 170, 170);
text-shadow: none;
color: #777;
font-size: 14px;
font-weight: 100;
vertical-align: middle;
padding-left: 8px;
letter-spacing: 2px;
span {
padding-left: 5px;
vertical-align: middle;
}
img {
width: 24px;
}
}
}
.stationsWrapper {
padding: 20px 10px 0 10px;
max-width: 520px;
top: 10px;
&.stationsTop {
top: 26px!important;
:global {
.ant-popover-arrow {
display: none;
}
}
}
.focusStations {
display: block;
// padding: 5px 0px;
border-bottom: 1px dotted rgb(217, 217, 217);
ul {
display: flex;
margin-bottom: 0px;
flex-wrap: wrap;
width: 100%;
margin: 0 auto;
// justify-content: space-between;
gap: 8px 4px;
padding: 0;
padding-bottom: 6px;
// flex-wrap: wrap;
li {
// margin-top: 10px;
a {
color: #3f70b5;
&.city_select {
cursor: pointer;
}
&.showTip {
position: relative;
}
&:hover {
color: #23527c !important;
transition: color 0.3s;
}
div[title] {
display: inline-block;
color: #fff;
text-align: center;
align-items: center;
line-height: 20px;
position: absolute;
top: -10px;
font-size: 12px;
transform-origin: left;
transform: scale(0.8);
}
div[title='县'] {
width: 30px;
height: 24px;
background: url(https://panda-water.cn/web4/assets/images/云平台/县.png)
center center no-repeat;
}
div[title='市'] {
width: 30px;
height: 24px;
background: url(https://panda-water.cn/web4/assets/images/云平台/市.png)
center center no-repeat;
}
div[title='市'] {
width: 30px;
height: 24px;
background: url(https://panda-water.cn/web4/assets/images/云平台/市.png)
center center no-repeat;
}
div[title='HOT'],
div[title='New'] {
width: 41px;
height: 24px;
background: url(https://panda-water.cn/web4/assets/images/云平台/HOT.png)
center center no-repeat;
}
}
}
}
}
.city_pane {
// padding: 10px;
ul {
&.py {
padding: 0;
width: 100%;
display: flex;
flex-wrap: wrap;
//margin-right: -10px;
//margin-left: 4px;
margin: -10px -10px 0px 4px;
//margin-top: -10px;
}
li {
margin-right: 10px;
.cityLetter,
.noData {
color: #ccc;
display: inline;
cursor: pointer;
}
.cityLetter {
&:hover {
color: #337ab7;
}
a {
&:hover {
color: @primary-color;
transition: color 0.3s;
}
}
}
}
}
.cityContent {
min-width: 350px;
overflow-y: auto;
overflow-x: hidden;
.letter {
font-size: 24px;
line-height: 24px;
font-weight: 700;
color: #ccc;
&:hover {
color: #337ab7;
}
}
.Provice {
margin-left: 20px;
display: flex;
margin-top: 2px;
.proviceName {
color: #3d6dcc;
font-weight: bolder;
min-width: 36px;
}
.city_list {
margin-left: 10px;
display: flex;
margin-right: -5px;
flex-wrap: wrap;
flex: 1;
font-size: 12px;
padding: 0 !important;
li {
margin-right: 8px;
margin-bottom: 6px;
}
}
}
&::-webkit-scrollbar {
width: 0;
height: 0;
}
}
}
:global(.@{ant-prefix}-spin) {
position: absolute;
left: 50%;
top: 50%;
transform: translate(-50%, -50%);
}
}
:global(.@{ant-prefix}-pro-basicLayout .@{ant-prefix}-pro-sider-logo h1) {
display: none;
}
:global(.@{ant-prefix}-pro-basicLayout .@{ant-prefix}-layout-sider-children .@{ant-prefix}-spin-lg .@{ant-prefix}-spin-dot) {
font-size: 20px;
}
:global(.@{ant-prefix}-pro-basicLayout .@{ant-prefix}-layout-sider-children .@{ant-prefix}-spin-lg .@{ant-prefix}-spin-dot i) {
width: 9px;
height: 9px;
}
//:global(.@{ant-prefix}-layout-sider-collapsed
//// .@{ant-prefix}-menu-dark.@{ant-prefix}-menu-vertical
//// .@{ant-prefix}-menu-item) {
//// display: flex;
//// align-items: center;
//// justify-content: space-between;
//// text-align: center;
//// padding: 0;
////}
////:global(.@{ant-prefix}-layout-sider-collapsed
//// .@{ant-prefix}-menu-dark.@{ant-prefix}-menu-vertical
//// .@{ant-prefix}-pro-sider-collapsed-button) {
//// display: block;
////}
////
////:global(.@{ant-prefix}-layout-sider-collapsed
//// .@{ant-prefix}-menu-vertical
//// .@{ant-prefix}-menu-item) {
//// line-height: 14px;
////}
:global(.@{ant-prefix}-layout-sider-collapsed
.@{ant-prefix}-menu-dark
.@{ant-prefix}-menu-item) {
display: flex;
align-items: center;
justify-content: space-between;
text-align: center;
padding: 0;
}
:global(.@{ant-prefix}-layout-sider-collapsed
.@{ant-prefix}-menu-dark
.@{ant-prefix}-pro-sider-collapsed-button) {
display: block;
}
:global(.@{ant-prefix}-layout-sider-collapsed
.@{ant-prefix}-menu-item) {
line-height: 14px;
}
:global(.ant-menu-dark .ant-menu-item, .ant-menu-dark
.ant-menu-item-group-title, .ant-menu-dark
.ant-menu-item
> a, .ant-menu-dark .ant-menu-item> span > a) {
width: 48px;
display: flex;
flex-direction: column;
align-items: center;
text-align: center;
}
:global(.@{ant-prefix}-menu-inline-collapsed .@{ant-prefix}-menu-item a) {
width: 48px;
}
:global(.@{ant-prefix}-menu-inline-collapsed
.@{ant-prefix}-menu-submenu.@{ant-prefix}-menu-submenu-vertical) {
display: flex;
align-items: center;
}
:global(.@{ant-prefix}-menu-inline-collapsed
.@{ant-prefix}-menu-submenu
.@{ant-prefix}-menu-submenu-title) {
display: flex;
align-items: center;
justify-content: center;
flex-direction: column;
text-align: center;
flex-wrap: inherit !important;
padding: 0;
width: 100%;
line-height: 24px;
}
//:global(.@{ant-prefix}-menu-inline-collapsed
// .@{ant-prefix}-menu-submenu.@{ant-prefix}-menu-submenu-vertical
// .@{ant-prefix}-menu-submenu-title
// img) {
// margin-right: 0px !important;
//}
:global(.@{ant-prefix}-menu-inline-collapsed
.@{ant-prefix}-menu-submenu
.@{ant-prefix}-menu-submenu-title
img) {
margin-right: 0px !important;
}
.loadding {
height: 100%;
:global(.@{ant-prefix}-spin-container) {
height: 100%;
}
}
.menuItemLink {
display: flex;
align-items: center;
:global {
span.@{ant-prefix}-pro-menu-item {
position: relative;
top: 1px;
text-overflow: ellipsis;
overflow: hidden;
white-space: nowrap;
}
}
}
:global(.@{ant-prefix}-menu-inline-collapsed
.panda-pro-layouts-user-layout-menuItemLink) {
display: block;
}
:global(.@{ant-prefix}-menu-inline-collapsed
.panda-pro-layouts-user-layout-menuItemLink
.panda-pro-layouts-user-layout-minixName) {
font-size: 12px !important;
}
:global(.@{ant-prefix}-menu-inline-collapsed
.@{ant-prefix}-menu-submenu
.@{ant-prefix}-menu-submenu-title
.@{ant-prefix}-pro-menu-item) {
top: 0 !important;
font-size: 12px !important;
text-overflow: ellipsis;
overflow: hidden;
white-space: nowrap;
}
//:global(.@{ant-prefix}-menu-inline-collapsed
// .@{ant-prefix}-menu-submenu.@{ant-prefix}-menu-submenu-vertical
// .@{ant-prefix}-menu-submenu-title
// .@{ant-prefix}-pro-menu-item) {
// top: 0 !important;
// font-size: 12px !important;
// text-overflow: ellipsis;
// overflow: hidden;
// white-space: nowrap;
//}
.complexLayout {
:global {
.@{ant-prefix}-pro-sider-menu {
.@{ant-prefix}-menu-item {
height: 36px;
line-height: 36px;
}
}
.@{ant-prefix}-layout-sider-collapsed {
width: 0px !important;
max-width: 0px !important;
min-width: 0px !important;
}
}
.complexCollapse {
order: 0;
flex: 0 1 auto;
height: 100%;
width: 0px;
position: absolute;
.collapsed {
width: 0px;
height: 64px;
position: absolute;
top: calc(50% - 32px);
right: -27px;
z-index: 20;
line-height: 46px;
border-width: 9px 9px 9px 20px;
border-style: solid;
border-color: transparent transparent transparent rgb(235, 235, 235);
border-image: initial;
cursor: pointer;
color: rgb(191, 191, 191);
transition: right 0.1s ease-in-out 0s, border 0.1s ease 0s;
&:hover {
right: -29px;
border-left-color: rgb(222, 222, 222);
}
:global {
.@{ant-prefix}icon {
width: 12px;
position: relative;
left: -15px;
color: rgb(193, 193, 193);
transform: rotate(0deg);
transition: transform 0.5s ease-in-out 0s, left 0.1s ease-in-out 0s;
top: -3px;
}
}
}
}
}
.popup-menu-flex {
display: flex;
flex-wrap: wrap;
flex: 1 1;
min-width: 220px;
width: 220px;
:global {
.@{ant-prefix}-menu-item {
width: 50%;
}
}
}
.menuTabs{
position: relative;
padding: 0 10px;
}
:global(.@{ant-prefix}-spin-container .@{ant-prefix}-tabs .@{ant-prefix}-tabs-nav){
margin: 0;
}
:global(.@{ant-prefix}-menu-submenu .@{ant-prefix}-menu-sub.@{ant-prefix}-menu-inline .@{ant-prefix}menu-item-only-child) {
padding-left: 30px!important;
}
...@@ -2,7 +2,7 @@ import LoadingComponent from '@ant-design/pro-layout/es/PageLoading'; ...@@ -2,7 +2,7 @@ import LoadingComponent from '@ant-design/pro-layout/es/PageLoading';
import { dynamic } from '@wisdom-utils/runtime'; import { dynamic } from '@wisdom-utils/runtime';
import BasicLayout from '../layouts/BasicLayout'; import BasicLayout from '../layouts/BasicLayout';
import UserLayout from '../layouts/UserLayout'; import { UserLayout } from '@wisdom-utils/components/lib/AppLayout';
import BootPage from '../pages/bootpage'; import BootPage from '../pages/bootpage';
import Iframe from '../pages/iframe'; import Iframe from '../pages/iframe';
import Login from '../pages/user/login'; import Login from '../pages/user/login';
......
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