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

feat: add PageContainer component

parent bf8c0f9d
......@@ -9,12 +9,12 @@ export default {
// container: '#micro-container',
// activeRule: '/civbase/dosing-web',
// },
// {
// name: 'civ_water',
// entry: `//${window.location.hostname}:8080/civ_water`,
// container: '#micro-container',
// activeRule: '/civbase/civ_water',
// },
{
name: 'civ_water',
entry: `//${window.location.hostname}:8081/civ_water`,
container: '#micro-container',
activeRule: '/civbase/civ_water',
},
// {
// name: 'civ_configuration',
// entry: `//${window.location.hostname}:8080/civ_configuration`,
......
......@@ -110,9 +110,9 @@
"@wisdom-map/Map": "^1.0.12-17",
"@wisdom-map/arcgismap": "^1.0.79-17",
"@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/utils": "0.1.38",
"@wisdom-utils/utils": "0.1.48",
"animate.css": "^4.1.1",
"antd": "^4.17.4",
"compression": "1.7.4",
......
......@@ -14,516 +14,725 @@
@primary-10: color(~`colorPalette('@{primary-color}', 10) `); // unused
@slider-light: #fff;
@color-black: #fff;
.basicLayout * {
box-sizing: border-box;
}
.basicLayout {
display: flex;
flex-direction: column;
width: 100%;
min-height: 100%;
.layout-has-slider {
flex-direction: row;
.toggleSite {
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;
flex: auto;
align-items: center;
padding-left: 16px;
padding-right: 16px;
cursor: pointer;
// transition: all .3s;
.site {
width: 16px;
height: 16px;
}
.layoutSlider {
overflow: hidden;
flex: 0 0 80px;
max-width: 80px;
min-width: 80px;
width: 80px;
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;
.name {
font-family: 'MicrosoftYaHei';
font-weight: bold;
color: #FFFFFF;
font-size: 14px;
margin-left: 9px;
}
&.collapsed {
flex: 0 0 48px;
max-width: 48px;
min-width: 48px;
width: 48px;
transition: background .3s,width .5s cubic-bezier(.2,0,0,1) 0s;
.sliderMenu {
.splitLine {
width: 48px;
.arrow {
margin-left: 9px;
}
}
.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%;
// overflow: hidden auto;
.menu {
position: relative;
min-height: 100%;
.menu-item {
height: 74px;
}
& :global {
.@{ant-prefix}-dropdown-menu-item {
display: flex;
flex-direction: row;
align-items: center;
text-align: center;
width: 100%;
justify-content: center;
cursor: pointer;
transition: border-color .3s,background .3s,padding .1s cubic-bezier(.215,.61,.355,1);
a {
text-align: center;
padding: 10px 12px!important;
div {
display: flex;
flex-direction: column;
flex-direction: row;
align-items: center;
.icon {
transition: font-size .15s cubic-bezier(.215,.61,.355,1),margin .3s cubic-bezier(.645,.045,.355,1),color .3s;
font-size: 14px;
svg {
path, rect, circle, .cls-1 {
fill:hsla(0,0%,100%,.65)!important;
stroke:hsla(0,0%,100%,.65)!important;
stroke-width:0!important;
stroke-linecap:round;
stroke-miterlimit:10;
span:first-child {
width: 3px;
height: 3px;
background: #7A8E9D;
/* position: absolute; */
display: flex;
border-radius: 100%;
}
span:last-child {
padding-left: 10px;
}
}
img {
width: 22px;
height: 22px;
opacity: 0.7;
&:hover {
// span:first-child {
// background: @primary-color;
// }
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;
// display: flex;
flex: auto;
flex-direction: column;
min-height: 0;
background: #f0f2f5;
width: 100%;
top: 2px;
color: @heading-color;
font-weight: 600;
font-size: 33px;
font-family: Avenir, 'Helvetica Neue', Arial, Helvetica, sans-serif;
}
.basicLayout-content {
.desc {
margin-top: 12px;
margin-bottom: 40px;
color: @text-color-secondary;
font-size: @font-size-base;
}
.shortName {
font-size: 12px;
position: relative;
height: calc(100vh - 82px);
margin-top: 82px;
top: 5px;
text-overflow: ellipsis;
overflow: hidden;
// margin: 24px 24px 0px 24px;
&.hook_web4 {
height: calc(100% - 82px);
margin-top: 82px;
white-space: nowrap;
// left: -4px;
}
.minixName {
display: block;
font-size: 12px !important;
}
.@{ant-prefix}-page-header {
// padding: 4px 16px;
position: fixed; top: 0px; width: 100%; left: 0px; z-index: 999;
// box-shadow: rgb(240, 241, 242) 0px 2px 8px;
box-sizing: border-box;
margin: 0;
color: rgba(0,0,0,.85);
font-size: 14px;
font-variant: tabular-nums;
line-height: 1.5715;
list-style: none;
font-feature-settings: "tnum","tnum";
position: relative;
// padding: 16px 24px;
height: 46px;
background-color: #0678F5;
// background: url('../assets/basic/图层 998@2x.png') no-repeat center;
background-size: cover;
display: flex;
flex-direction: row;
box-sizing: border-box;
.header {
position: absolute;
width: 100%;
.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;
align-items: center;
height: 100%;
padding-left: 17px;
.logo {
}
:global(.@{ant-prefix}-menu-inline-collapsed-tooltip
.@{ant-prefix}-tooltip-inner
a) {
display: flex;
align-items: center;
height: 100%;
padding-left: 7px;
img {
//width: 48px;
width: 42px;
height: auto;
//height: 25px;
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;
}
.title {
min-width: 200px;
font-size: 26px;
font-weight: 400;
color: #FFFFFF;
opacity: 0.9;
padding-left: 25px;
font-family: PangMenZhengDaoBiaoTiTi;
.header-title {
color: #555;
text-shadow: none;
font-weight: 100;
font-size: 22px;
vertical-align: middle;
// padding-left: 80px;
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 {
filter: drop-shadow(10px 0px #C4CDDB);
transform: translateX(-10px);
margin: 0 !important;
}
}
& :global {
.@{ant-prefix}-tabs-tab {
padding: 7px 0!important;
margin: 0 32px 0 0!important;
&:hover {
svg path, svg rect, svg circle {
fill: @primary-color!important;
stroke: @primary-color!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 {
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 {
div {
}
}
.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%;
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 {
float: left;
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;
}
& :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;
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) {
border-bottom: none!important;
.cityLetter {
&:hover {
color: #337ab7;
}
.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);
a {
&:hover {
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) {
color: @primary-color!important;
.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;
}
& :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 {
filter: drop-shadow(10px 0px @primary-color);
&::-webkit-scrollbar {
width: 0;
height: 0;
}
}
& :global(.@{ant-prefix}-tabs-nav-wrap) {
margin-left: 22px;
}
& :global(.@{ant-prefix}-dropdown-trigger) {
display: flex;
align-items: center;
:global(.@{ant-prefix}-spin) {
position: absolute;
left: 50%;
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 {
// padding-top: 48px;
// margin: -24px -24px 0;
// margin: -18px 0px 0 0px;
margin: 0px;
height: 100%;
// background-color: #fff;
:global(.@{ant-prefix}-pro-basicLayout .@{ant-prefix}-layout-sider-children .@{ant-prefix}-spin-lg .@{ant-prefix}-spin-dot) {
font-size: 20px;
}
.@{ant-prefix}-page-container-warp {
background-color: #fff;
:global(.@{ant-prefix}-pro-basicLayout .@{ant-prefix}-layout-sider-children .@{ant-prefix}-spin-lg .@{ant-prefix}-spin-dot i) {
width: 9px;
height: 9px;
}
.@{ant-prefix}-page-container-children-content {
margin: 0!important;
//: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-pro-page-container-children-content, .ant-pro-grid-content-children, .ant-pro-grid-content-children>div, .ant-pro-grid-content-children .ant-spin-container {
margin: 0px!important;
height: 100%;
:global(.@{ant-prefix}-layout-sider-collapsed
.@{ant-prefix}-menu-dark
.@{ant-prefix}-pro-sider-collapsed-button) {
display: block;
}
// margin: 14px 10px!important
:global(.@{ant-prefix}-layout-sider-collapsed
.@{ant-prefix}-menu-item) {
line-height: 14px;
}
& :global(.ant-pro-grid-content) {
height: 100%;
: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;
}
.fixedHeader {
position: fixed;
width: 100%;
top:0px;
left: 0px;
height: 46px;
margin: 0px;
padding: 0px;
: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;
}
}
.toggleSite {
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;
//: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;
padding-left: 16px;
padding-right: 16px;
cursor: pointer;
// transition: all .3s;
.site {
width: 16px;
height: 16px;
:global {
span.@{ant-prefix}-pro-menu-item {
position: relative;
top: 1px;
text-overflow: ellipsis;
overflow: hidden;
white-space: nowrap;
}
.name {
font-family: 'MicrosoftYaHei';
font-weight: bold;
color: #FFFFFF;
font-size: 14px;
margin-left: 9px;
}
.arrow {
margin-left: 9px;
}
}
.weatcher {
margin-left: 25px;
.icon {
width: 22px;
height: 22px;
margin-right: 12px;
margin-left: 25px;
:global(.@{ant-prefix}-menu-inline-collapsed
.panda-pro-layouts-user-layout-menuItemLink) {
display: block;
}
.text {
font-weight: 400;
color: #FFFFFF;
letter-spacing: 2px;
: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}-dropdown-menu-item {
display: flex;
flex-direction: row;
align-items: center;
padding: 10px 12px!important;
div {
display: flex;
flex-direction: row;
align-items: center;
span:first-child {
width: 3px;
height: 3px;
background: #7A8E9D;
/* position: absolute; */
display: flex;
border-radius: 100%;
//: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;
}
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 {
// span:first-child {
// background: @primary-color;
// }
span:last-child {
color: @primary-color;
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;
}
}
.@{ant-prefix}-dropdown-menu {
.@{ant-prefix}-divider-horizontal{
&:last-child {
display: none;
}
}
}
}
& :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;
.popup-menu-flex {
display: flex;
flex-wrap: wrap;
flex: 1 1;
min-width: 220px;
width: 220px;
:global {
.@{ant-prefix}-menu-item {
width: 50%;
}
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';
import { dynamic } from '@wisdom-utils/runtime';
import BasicLayout from '../layouts/BasicLayout';
import UserLayout from '../layouts/UserLayout';
import { UserLayout } from '@wisdom-utils/components/lib/AppLayout';
import BootPage from '../pages/bootpage';
import Iframe from '../pages/iframe';
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