diff --git a/web/client/assets/color.less b/web/client/assets/color.less index 3b9b4ccd..4d6e312b 100644 --- a/web/client/assets/color.less +++ b/web/client/assets/color.less @@ -555,6 +555,18 @@ html {--antd-wave-shadow-color: @primary-color;} .ant-btn-background-ghost.ant-btn-dangerous.ant-btn-link[disabled], .ant-btn-background-ghost.ant-btn-dangerous.ant-btn-link[disabled]:hover, .ant-btn-background-ghost.ant-btn-dangerous.ant-btn-link[disabled]:focus, .ant-btn-background-ghost.ant-btn-dangerous.ant-btn-link[disabled]:active {color: @disabled-color;border-color: @border-color-base;background: @disabled-bg;box-shadow: none;} .ant-btn-background-ghost.ant-btn-dangerous.ant-btn-link[disabled] > a:only-child, .ant-btn-background-ghost.ant-btn-dangerous.ant-btn-link[disabled]:hover > a:only-child, .ant-btn-background-ghost.ant-btn-dangerous.ant-btn-link[disabled]:focus > a:only-child, .ant-btn-background-ghost.ant-btn-dangerous.ant-btn-link[disabled]:active > a:only-child {color: currentcolor;} .ant-btn-background-ghost.ant-btn-dangerous.ant-btn-link[disabled] > a:only-child::after, .ant-btn-background-ghost.ant-btn-dangerous.ant-btn-link[disabled]:hover > a:only-child::after, .ant-btn-background-ghost.ant-btn-dangerous.ant-btn-link[disabled]:focus > a:only-child::after, .ant-btn-background-ghost.ant-btn-dangerous.ant-btn-link[disabled]:active > a:only-child::after {background: transparent;} +a.ant-btn-disabled, +a.ant-btn-disabled:hover, +a.ant-btn-disabled:focus, +a.ant-btn-disabled:active {color: @disabled-color;border-color: transparent;background: transparent;box-shadow: none;} +a.ant-btn-disabled > a:only-child, +a.ant-btn-disabled:hover > a:only-child, +a.ant-btn-disabled:focus > a:only-child, +a.ant-btn-disabled:active > a:only-child {color: currentcolor;} +a.ant-btn-disabled > a:only-child::after, +a.ant-btn-disabled:hover > a:only-child::after, +a.ant-btn-disabled:focus > a:only-child::after, +a.ant-btn-disabled:active > a:only-child::after {background: transparent;} .ant-btn-group-rtl.ant-btn-group .ant-btn-primary:last-child:not(:first-child), .ant-btn-group-rtl.ant-btn-group .ant-btn-primary + .ant-btn-primary {border-right-color: color(~`colorPalette("@{primary-color}", 5)`);border-left-color: @border-color-base;} .ant-btn-group-rtl.ant-btn-group .ant-btn-primary:last-child:not(:first-child)[disabled], .ant-btn-group-rtl.ant-btn-group .ant-btn-primary + .ant-btn-primary[disabled] {border-right-color: @border-color-base;border-left-color: color(~`colorPalette("@{primary-color}", 5)`);} .ant-picker-calendar {color: @text-color;background: @calendar-full-bg;} @@ -589,7 +601,6 @@ html {--antd-wave-shadow-color: @primary-color;} .ant-card-type-inner .ant-card-head {background: @background-color-light;} .ant-card-meta-title {color: @heading-color;} .ant-card-meta-description {color: @text-color-secondary;} -.ant-card-loading-block {background: linear-gradient(90deg, fade(@card-skeleton-bg, 20%), fade(@card-skeleton-bg, 40%), fade(@card-skeleton-bg, 20%));background-size: 600% 600%;border-radius: 2px;} .ant-carousel {color: @text-color;} .ant-carousel .slick-slider {-webkit-tap-highlight-color: transparent;} .ant-carousel .slick-prev, .ant-carousel .slick-next {color: transparent;background: transparent;border: 0;} @@ -663,8 +674,10 @@ html {--antd-wave-shadow-color: @primary-color;} .ant-comment-actions > li > span:hover {color: @comment-action-hover-color;} .ant-picker-status-error.ant-picker, .ant-picker-status-error.ant-picker:not([disabled]):hover {background-color: @input-bg;border-color: #ff4d4f;} .ant-picker-status-error.ant-picker-focused, .ant-picker-status-error.ant-picker:focus {border-color: #ff7875;box-shadow: 0 0 0 2px rgba(255, 77, 79, 0.2);border-right-width: 1px;} +.ant-picker-status-error.ant-picker .ant-picker-active-bar {background: #ff7875;} .ant-picker-status-warning.ant-picker, .ant-picker-status-warning.ant-picker:not([disabled]):hover {background-color: @input-bg;border-color: #faad14;} .ant-picker-status-warning.ant-picker-focused, .ant-picker-status-warning.ant-picker:focus {border-color: #ffc53d;box-shadow: 0 0 0 2px rgba(250, 173, 20, 0.2);border-right-width: 1px;} +.ant-picker-status-warning.ant-picker .ant-picker-active-bar {background: #ffc53d;} .ant-picker {color: @text-color;background: @picker-bg;border: 1px solid @border-color-base;border-radius: 2px;} .ant-picker:hover, .ant-picker-focused {border-color: color(~`colorPalette("@{primary-color}", 5)`);border-right-width: 1px;} .ant-input-rtl .ant-picker:hover, .ant-input-rtl .ant-picker-focused {border-right-width: 0;border-left-width: 1px !important;} @@ -695,7 +708,7 @@ html {--antd-wave-shadow-color: @primary-color;} .ant-picker-range .ant-picker-active-bar {background: @primary-color;} .ant-picker-dropdown {color: @text-color;} .ant-picker-ranges .ant-picker-preset > .ant-tag-blue {color: @primary-color;background: color(~`colorPalette("@{primary-color}", 1)`);border-color: color(~`colorPalette("@{primary-color}", 3)`);} -.ant-picker-range-arrow {background: linear-gradient(135deg, transparent 40%, @calendar-bg 40%);box-shadow: 2px 2px 6px -2px rgba(0, 0, 0, 0.1);border-radius: 0 0 2px;} +.ant-picker-range-arrow {box-shadow: 2px 2px 6px -2px rgba(0, 0, 0, 0.1);border-radius: 0 0 2px;} .ant-picker-range-arrow::before {background: @calendar-bg;background-repeat: no-repeat;background-position: -10px -10px;} .ant-picker-panel-container {background: @calendar-bg;border-radius: 2px;box-shadow: 0 3px 6px -4px rgba(0, 0, 0, 0.12), 0 6px 16px 0 rgba(0, 0, 0, 0.08), 0 9px 28px 8px rgba(0, 0, 0, 0.05);} .ant-picker-panel-container .ant-picker-panel {background: transparent;border-width: 0 0 1px 0;border-radius: 0;} @@ -801,7 +814,7 @@ tr > .ant-picker-cell-in-view.ant-picker-cell-range-hover-start:last-child::afte .ant-dropdown-menu-item.ant-dropdown-menu-item-danger {color: #ff4d4f;} .ant-dropdown-menu-item.ant-dropdown-menu-item-danger:hover {color: #fff;background-color: #ff4d4f;} .ant-dropdown {color: @text-color;} -.ant-dropdown-arrow {background: linear-gradient(135deg, transparent 40%, @popover-bg 40%);border-radius: 0 0 2px;} +.ant-dropdown-arrow {border-radius: 0 0 2px;} .ant-dropdown-arrow::before {background: @popover-bg;background-repeat: no-repeat;background-position: -10px -10px;} .ant-dropdown-placement-top > .ant-dropdown-arrow, .ant-dropdown-placement-topLeft > .ant-dropdown-arrow, .ant-dropdown-placement-topRight > .ant-dropdown-arrow {box-shadow: 3px 3px 7px -3px rgba(0, 0, 0, 0.1);} .ant-dropdown-placement-bottom > .ant-dropdown-arrow, .ant-dropdown-placement-bottomLeft > .ant-dropdown-arrow, .ant-dropdown-placement-bottomRight > .ant-dropdown-arrow {box-shadow: 2px 2px 5px -2px rgba(0, 0, 0, 0.1);} @@ -936,7 +949,7 @@ tr > .ant-picker-cell-in-view.ant-picker-cell-range-hover-start:last-child::afte .ant-input-group.ant-input-group-compact .ant-input-group-wrapper:not(:last-child).ant-input-search > .ant-input-group > .ant-input {border-radius: 2px 0 0 2px;} .ant-input-group > .ant-input-rtl:first-child, .ant-input-group-rtl .ant-input-group-addon:first-child {border-radius: 0 2px 2px 0;} .ant-input-group-rtl .ant-input-group-addon:first-child {border-right: 1px solid @border-color-base;border-left: 0;} -.ant-input-group-rtl .ant-input-group-addon:last-child {border-right: 0;border-left: 1px solid @border-color-base;} +.ant-input-group-rtl .ant-input-group-addon:last-child {border-right: 0;border-left: 1px solid @border-color-base;border-radius: 2px 0 0 2px;} .ant-input-group-rtl.ant-input-group > .ant-input:last-child, .ant-input-group-rtl.ant-input-group-addon:last-child {border-radius: 2px 0 0 2px;} .ant-input-group-rtl.ant-input-group .ant-input-affix-wrapper:not(:first-child) {border-radius: 2px 0 0 2px;} .ant-input-group-rtl.ant-input-group .ant-input-affix-wrapper:not(:last-child) {border-radius: 0 2px 2px 0;} @@ -944,6 +957,10 @@ tr > .ant-picker-cell-in-view.ant-picker-cell-range-hover-start:last-child::afte .ant-input-group-rtl.ant-input-group.ant-input-group-compact > *:first-child, .ant-input-group-rtl.ant-input-group.ant-input-group-compact > .ant-select:first-child > .ant-select-selector, .ant-input-group-rtl.ant-input-group.ant-input-group-compact > .ant-select-auto-complete:first-child .ant-input, .ant-input-group-rtl.ant-input-group.ant-input-group-compact > .ant-cascader-picker:first-child .ant-input {border-radius: 0 2px 2px 0;} .ant-input-group-rtl.ant-input-group.ant-input-group-compact > *:last-child, .ant-input-group-rtl.ant-input-group.ant-input-group-compact > .ant-select:last-child > .ant-select-selector, .ant-input-group-rtl.ant-input-group.ant-input-group-compact > .ant-select-auto-complete:last-child .ant-input, .ant-input-group-rtl.ant-input-group.ant-input-group-compact > .ant-cascader-picker:last-child .ant-input, .ant-input-group-rtl.ant-input-group.ant-input-group-compact > .ant-cascader-picker-focused:last-child .ant-input {border-left-width: 1px;border-radius: 2px 0 0 2px;} .ant-input-group.ant-input-group-compact .ant-input-group-wrapper-rtl:not(:last-child).ant-input-search > .ant-input-group > .ant-input {border-radius: 0 2px 2px 0;} +.ant-input-group > .ant-input-rtl:first-child {border-radius: 0 2px 2px 0;} +.ant-input-group > .ant-input-rtl:last-child {border-radius: 2px 0 0 2px;} +.ant-input-group-rtl .ant-input-group-addon:first-child {border-right: 1px solid @border-color-base;border-left: 0;border-radius: 0 2px 2px 0;} +.ant-input-group-rtl .ant-input-group-addon:last-child {border-right: 0;border-left: 1px solid @border-color-base;border-radius: 2px 0 0 2px;} .ant-input-password-icon.anticon {color: @text-color-secondary;} .ant-input-password-icon.anticon:hover {color: @input-icon-hover-color;} .ant-input-textarea-show-count::after {color: @text-color-secondary;} @@ -1029,7 +1046,7 @@ tr > .ant-picker-cell-in-view.ant-picker-cell-range-hover-start:last-child::afte .ant-input-number-group.ant-input-number-group-compact .ant-input-group-wrapper:not(:last-child).ant-input-search > .ant-input-group > .ant-input {border-radius: 2px 0 0 2px;} .ant-input-number-group > .ant-input-number-rtl:first-child, .ant-input-number-group-rtl .ant-input-number-group-addon:first-child {border-radius: 0 2px 2px 0;} .ant-input-number-group-rtl .ant-input-number-group-addon:first-child {border-right: 1px solid @border-color-base;border-left: 0;} -.ant-input-number-group-rtl .ant-input-number-group-addon:last-child {border-right: 0;border-left: 1px solid @border-color-base;} +.ant-input-number-group-rtl .ant-input-number-group-addon:last-child {border-right: 0;border-left: 1px solid @border-color-base;border-radius: 2px 0 0 2px;} .ant-input-number-group-rtl.ant-input-number-group > .ant-input-number:last-child, .ant-input-number-group-rtl.ant-input-number-group-addon:last-child {border-radius: 2px 0 0 2px;} .ant-input-number-group-rtl.ant-input-number-group .ant-input-number-affix-wrapper:not(:first-child) {border-radius: 2px 0 0 2px;} .ant-input-number-group-rtl.ant-input-number-group .ant-input-number-affix-wrapper:not(:last-child) {border-radius: 0 2px 2px 0;} @@ -1037,6 +1054,10 @@ tr > .ant-picker-cell-in-view.ant-picker-cell-range-hover-start:last-child::afte .ant-input-number-group-rtl.ant-input-number-group.ant-input-number-group-compact > *:first-child, .ant-input-number-group-rtl.ant-input-number-group.ant-input-number-group-compact > .ant-select:first-child > .ant-select-selector, .ant-input-number-group-rtl.ant-input-number-group.ant-input-number-group-compact > .ant-select-auto-complete:first-child .ant-input, .ant-input-number-group-rtl.ant-input-number-group.ant-input-number-group-compact > .ant-cascader-picker:first-child .ant-input {border-radius: 0 2px 2px 0;} .ant-input-number-group-rtl.ant-input-number-group.ant-input-number-group-compact > *:last-child, .ant-input-number-group-rtl.ant-input-number-group.ant-input-number-group-compact > .ant-select:last-child > .ant-select-selector, .ant-input-number-group-rtl.ant-input-number-group.ant-input-number-group-compact > .ant-select-auto-complete:last-child .ant-input, .ant-input-number-group-rtl.ant-input-number-group.ant-input-number-group-compact > .ant-cascader-picker:last-child .ant-input, .ant-input-number-group-rtl.ant-input-number-group.ant-input-number-group-compact > .ant-cascader-picker-focused:last-child .ant-input {border-left-width: 1px;border-radius: 2px 0 0 2px;} .ant-input-number-group.ant-input-number-group-compact .ant-input-group-wrapper-rtl:not(:last-child).ant-input-search > .ant-input-group > .ant-input {border-radius: 0 2px 2px 0;} +.ant-input-number-group > .ant-input-number-rtl:first-child {border-radius: 0 2px 2px 0;} +.ant-input-number-group > .ant-input-number-rtl:last-child {border-radius: 2px 0 0 2px;} +.ant-input-number-group-rtl .ant-input-number-group-addon:first-child {border-right: 1px solid @border-color-base;border-left: 0;border-radius: 0 2px 2px 0;} +.ant-input-number-group-rtl .ant-input-number-group-addon:last-child {border-right: 0;border-left: 1px solid @border-color-base;border-radius: 2px 0 0 2px;} .ant-input-number-handler {color: @text-color-secondary;border-left: 1px solid @border-color-base;} .ant-input-number-handler:active {background: @input-number-handler-active-bg;} .ant-input-number-handler:hover .ant-input-number-handler-up-inner, .ant-input-number-handler:hover .ant-input-number-handler-down-inner {color: color(~`colorPalette("@{primary-color}", 5)`);} @@ -1292,8 +1313,8 @@ tr > .ant-picker-cell-in-view.ant-picker-cell-range-hover-start:last-child::afte .ant-pagination-simple .ant-pagination-simple-pager input:hover {border-color: @primary-color;} .ant-pagination-simple .ant-pagination-simple-pager input:focus {border-color: color(~`colorPalette("@{primary-color}", 5)`);box-shadow: 0 0 0 2px fade(@primary-color, 20%);} .ant-pagination-simple .ant-pagination-simple-pager input[disabled] {color: @disabled-color;background: @disabled-bg;border-color: @border-color-base;} -.ant-pagination.mini .ant-pagination-item:not(.ant-pagination-item-active) {background: transparent;border-color: transparent;} -.ant-pagination.mini .ant-pagination-prev .ant-pagination-item-link, .ant-pagination.mini .ant-pagination-next .ant-pagination-item-link {background: transparent;border-color: transparent;} +.ant-pagination.ant-pagination-mini .ant-pagination-item:not(.ant-pagination-item-active) {background: transparent;border-color: transparent;} +.ant-pagination.ant-pagination-mini .ant-pagination-prev .ant-pagination-item-link, .ant-pagination.ant-pagination-mini .ant-pagination-next .ant-pagination-item-link {background: transparent;border-color: transparent;} .ant-pagination.ant-pagination-disabled .ant-pagination-item {background: @disabled-bg;border-color: @border-color-base;} .ant-pagination.ant-pagination-disabled .ant-pagination-item a {color: @disabled-color;background: transparent;border: none;} .ant-pagination.ant-pagination-disabled .ant-pagination-item-active {background: @pagination-item-disabled-bg-active;} @@ -1309,8 +1330,8 @@ tr > .ant-picker-cell-in-view.ant-picker-cell-range-hover-start:last-child::afte .ant-popover-message {color: @text-color;} .ant-popover-message > .anticon {color: #faad14;} .ant-popover-arrow {background: transparent;} -.ant-popover-arrow-content {background-color: @popover-bg;border-radius: 0 0 2px;} -.ant-popover-arrow-content::before {background: @popover-bg;background-repeat: no-repeat;background-position: -10px -10px;} +.ant-popover-arrow-content {--antd-arrow-background-color: @popover-bg;border-radius: 0 0 2px;} +.ant-popover-arrow-content::before {background: var(--antd-arrow-background-color);background-repeat: no-repeat;background-position: -10px -10px;} .ant-popover-placement-top .ant-popover-arrow-content, .ant-popover-placement-topLeft .ant-popover-arrow-content, .ant-popover-placement-topRight .ant-popover-arrow-content {box-shadow: 3px 3px 7px rgba(0, 0, 0, 0.07);} .ant-popover-placement-right .ant-popover-arrow-content, .ant-popover-placement-rightTop .ant-popover-arrow-content, .ant-popover-placement-rightBottom .ant-popover-arrow-content {box-shadow: 3px 3px 7px rgba(0, 0, 0, 0.07);} .ant-popover-placement-bottom .ant-popover-arrow-content, .ant-popover-placement-bottomLeft .ant-popover-arrow-content, .ant-popover-placement-bottomRight .ant-popover-arrow-content {box-shadow: 2px 2px 5px rgba(0, 0, 0, 0.06);} @@ -1366,12 +1387,13 @@ tr > .ant-picker-cell-in-view.ant-picker-cell-range-hover-start:last-child::afte .ant-radio-wrapper {color: @text-color;} .ant-radio {color: @text-color;} .ant-radio-wrapper:hover .ant-radio, .ant-radio:hover .ant-radio-inner, .ant-radio-input:focus + .ant-radio-inner {border-color: @primary-color;} -.ant-radio-input:focus + .ant-radio-inner {box-shadow: 0 0 0 3px color(~`colorPalette("@{primary-color}", 1)`);} +.ant-radio-input:focus + .ant-radio-inner {box-shadow: 0 0 0 3px fade(@primary-color, 12%);} .ant-radio-checked::after {border: 1px solid @primary-color;border-radius: 50%;animation-fill-mode: both;} .ant-radio-inner {background-color: @btn-default-bg;border-color: @border-color-base;border-style: solid;border-width: 1px;border-radius: 50%;} .ant-radio-inner::after {background-color: @primary-color;border-top: 0;border-left: 0;border-radius: 16px;} +.ant-radio.ant-radio-disabled .ant-radio-inner {border-color: @border-color-base;} .ant-radio-checked .ant-radio-inner {border-color: @primary-color;} -.ant-radio-disabled .ant-radio-inner {background-color: @disabled-bg;border-color: @border-color-base !important;} +.ant-radio-disabled .ant-radio-inner {background-color: @disabled-bg;} .ant-radio-disabled .ant-radio-inner::after {background-color: @radio-dot-disabled-color;} .ant-radio-disabled + span {color: @disabled-color;} .ant-radio-button-wrapper {color: @text-color;background: @btn-default-bg;border: 1px solid @border-color-base;border-top-width: 1.02px;border-left-width: 0;} @@ -1381,7 +1403,7 @@ tr > .ant-picker-cell-in-view.ant-picker-cell-range-hover-start:last-child::afte .ant-radio-button-wrapper:last-child {border-radius: 0 2px 2px 0;} .ant-radio-button-wrapper:first-child:last-child {border-radius: 2px;} .ant-radio-button-wrapper:hover {color: @primary-color;} -.ant-radio-button-wrapper:focus-within {box-shadow: 0 0 0 3px color(~`colorPalette("@{primary-color}", 1)`);} +.ant-radio-button-wrapper:focus-within {box-shadow: 0 0 0 3px fade(@primary-color, 12%);} .ant-radio-button-wrapper-checked:not(.ant-radio-button-wrapper-disabled) {color: @primary-color;background: @btn-default-bg;border-color: @primary-color;} .ant-radio-button-wrapper-checked:not(.ant-radio-button-wrapper-disabled)::before {background-color: @primary-color;} .ant-radio-button-wrapper-checked:not(.ant-radio-button-wrapper-disabled):first-child {border-color: @primary-color;} @@ -1389,11 +1411,11 @@ tr > .ant-picker-cell-in-view.ant-picker-cell-range-hover-start:last-child::afte .ant-radio-button-wrapper-checked:not(.ant-radio-button-wrapper-disabled):hover::before {background-color: color(~`colorPalette("@{primary-color}", 5)`);} .ant-radio-button-wrapper-checked:not(.ant-radio-button-wrapper-disabled):active {color: color(~`colorPalette("@{primary-color}", 7)`);border-color: color(~`colorPalette("@{primary-color}", 7)`);} .ant-radio-button-wrapper-checked:not(.ant-radio-button-wrapper-disabled):active::before {background-color: color(~`colorPalette("@{primary-color}", 7)`);} -.ant-radio-button-wrapper-checked:not(.ant-radio-button-wrapper-disabled):focus-within {box-shadow: 0 0 0 3px color(~`colorPalette("@{primary-color}", 1)`);} +.ant-radio-button-wrapper-checked:not(.ant-radio-button-wrapper-disabled):focus-within {box-shadow: 0 0 0 3px fade(@primary-color, 12%);} .ant-radio-group-solid .ant-radio-button-wrapper-checked:not(.ant-radio-button-wrapper-disabled) {color: @radio-solid-checked-color;background: @primary-color;border-color: @primary-color;} .ant-radio-group-solid .ant-radio-button-wrapper-checked:not(.ant-radio-button-wrapper-disabled):hover {color: @radio-solid-checked-color;background: color(~`colorPalette("@{primary-color}", 5)`);border-color: color(~`colorPalette("@{primary-color}", 5)`);} .ant-radio-group-solid .ant-radio-button-wrapper-checked:not(.ant-radio-button-wrapper-disabled):active {color: @radio-solid-checked-color;background: color(~`colorPalette("@{primary-color}", 7)`);border-color: color(~`colorPalette("@{primary-color}", 7)`);} -.ant-radio-group-solid .ant-radio-button-wrapper-checked:not(.ant-radio-button-wrapper-disabled):focus-within {box-shadow: 0 0 0 3px color(~`colorPalette("@{primary-color}", 1)`);} +.ant-radio-group-solid .ant-radio-button-wrapper-checked:not(.ant-radio-button-wrapper-disabled):focus-within {box-shadow: 0 0 0 3px fade(@primary-color, 12%);} .ant-radio-button-wrapper-disabled {color: @disabled-color;background-color: @disabled-bg;border-color: @border-color-base;} .ant-radio-button-wrapper-disabled:first-child, .ant-radio-button-wrapper-disabled:hover {color: @disabled-color;background-color: @disabled-bg;border-color: @border-color-base;} .ant-radio-button-wrapper-disabled:first-child {border-left-color: @border-color-base;} @@ -1460,14 +1482,11 @@ tr > .ant-picker-cell-in-view.ant-picker-cell-range-hover-start:last-child::afte .ant-skeleton-header .ant-skeleton-avatar.ant-skeleton-avatar-circle {border-radius: 50%;} .ant-skeleton-header .ant-skeleton-avatar-lg.ant-skeleton-avatar-circle {border-radius: 50%;} .ant-skeleton-header .ant-skeleton-avatar-sm.ant-skeleton-avatar-circle {border-radius: 50%;} -.ant-skeleton-content .ant-skeleton-title {background: @skeleton-color;border-radius: 4px;} -.ant-skeleton-content .ant-skeleton-paragraph > li {background: @skeleton-color;border-radius: 4px;} +.ant-skeleton-content .ant-skeleton-title {background: @skeleton-color;border-radius: 2px;} +.ant-skeleton-content .ant-skeleton-paragraph > li {background: @skeleton-color;border-radius: 2px;} .ant-skeleton-round .ant-skeleton-content .ant-skeleton-title, .ant-skeleton-round .ant-skeleton-content .ant-skeleton-paragraph > li {border-radius: 100px;} -.ant-skeleton.ant-skeleton-active .ant-skeleton-content .ant-skeleton-title, .ant-skeleton.ant-skeleton-active .ant-skeleton-content .ant-skeleton-paragraph > li {background: linear-gradient(90deg, @skeleton-color 25%, @skeleton-to-color 37%, @skeleton-color 63%);background-size: 400% 100%;} -.ant-skeleton.ant-skeleton-active .ant-skeleton-avatar {background: linear-gradient(90deg, @skeleton-color 25%, @skeleton-to-color 37%, @skeleton-color 63%);background-size: 400% 100%;} -.ant-skeleton.ant-skeleton-active .ant-skeleton-button {background: linear-gradient(90deg, @skeleton-color 25%, @skeleton-to-color 37%, @skeleton-color 63%);background-size: 400% 100%;} -.ant-skeleton.ant-skeleton-active .ant-skeleton-input {background: linear-gradient(90deg, @skeleton-color 25%, @skeleton-to-color 37%, @skeleton-color 63%);background-size: 400% 100%;} -.ant-skeleton.ant-skeleton-active .ant-skeleton-image {background: linear-gradient(90deg, @skeleton-color 25%, @skeleton-to-color 37%, @skeleton-color 63%);background-size: 400% 100%;} +.ant-skeleton-active .ant-skeleton-title, .ant-skeleton-active .ant-skeleton-paragraph > li, .ant-skeleton-active .ant-skeleton-avatar, .ant-skeleton-active .ant-skeleton-button, .ant-skeleton-active .ant-skeleton-input, .ant-skeleton-active .ant-skeleton-image {background: transparent;} +.ant-skeleton-active .ant-skeleton-title::after, .ant-skeleton-active .ant-skeleton-paragraph > li::after, .ant-skeleton-active .ant-skeleton-avatar::after, .ant-skeleton-active .ant-skeleton-button::after, .ant-skeleton-active .ant-skeleton-input::after, .ant-skeleton-active .ant-skeleton-image::after {background: linear-gradient(90deg, @skeleton-color 25%, @skeleton-to-color 37%, @skeleton-color 63%);} .ant-skeleton-element .ant-skeleton-button {background: @skeleton-color;border-radius: 2px;} .ant-skeleton-element .ant-skeleton-button.ant-skeleton-button-circle {border-radius: 50%;} .ant-skeleton-element .ant-skeleton-button.ant-skeleton-button-round {border-radius: 32px;} @@ -1584,7 +1603,7 @@ tr > .ant-picker-cell-in-view.ant-picker-cell-range-hover-start:last-child::afte .ant-table.ant-table-bordered.ant-table-scroll-horizontal > .ant-table-container > .ant-table-body > table > tbody > tr.ant-table-expanded-row > td, .ant-table.ant-table-bordered.ant-table-scroll-horizontal > .ant-table-container > .ant-table-body > table > tbody > tr.ant-table-placeholder > td {border-right: 0;} .ant-table.ant-table-bordered > .ant-table-footer {border: 1px solid @border-color-split;border-top: 0;} .ant-table-cell .ant-table-container:first-child {border-top: 0;} -.ant-table-cell-scrollbar {box-shadow: 0 1px 0 1px @table-header-bg;} +.ant-table-cell-scrollbar:not([rowspan]) {box-shadow: 0 1px 0 1px @table-header-bg;} .ant-table {color: @text-color;background: @component-background;border-radius: 2px;} .ant-table table {border-radius: 2px 2px 0 0;border-collapse: separate;border-spacing: 0;} .ant-table-footer {color: @heading-color;background: @background-color-light;} @@ -1635,10 +1654,10 @@ tr.ant-table-expanded-row:hover > td {background: @table-expanded-row-bg;} .ant-table-empty .ant-table-tbody > tr.ant-table-placeholder {color: @disabled-color;} .ant-table-tbody > tr.ant-table-placeholder:hover > td {background: @component-background;} .ant-table-cell-fix-left, .ant-table-cell-fix-right {background: @component-background;} -.ant-table-ping-left:not(.ant-table-has-fix-left) .ant-table-container::before {box-shadow: inset 10px 0 8px -8px darken(@shadow-color, 5%);} +.ant-table-ping-left:not(.ant-table-has-fix-left) > .ant-table-container::before {box-shadow: inset 10px 0 8px -8px darken(@shadow-color, 5%);} .ant-table-ping-left .ant-table-cell-fix-left-first::after, .ant-table-ping-left .ant-table-cell-fix-left-last::after {box-shadow: inset 10px 0 8px -8px darken(@shadow-color, 5%);} .ant-table-ping-left .ant-table-cell-fix-left-last::before {background-color: transparent !important;} -.ant-table-ping-right:not(.ant-table-has-fix-right) .ant-table-container::after {box-shadow: inset -10px 0 8px -8px darken(@shadow-color, 5%);} +.ant-table-ping-right:not(.ant-table-has-fix-right) > .ant-table-container::after {box-shadow: inset -10px 0 8px -8px darken(@shadow-color, 5%);} .ant-table-ping-right .ant-table-cell-fix-right-first::after, .ant-table-ping-right .ant-table-cell-fix-right-last::after {box-shadow: inset -10px 0 8px -8px darken(@shadow-color, 5%);} .ant-table-sticky-holder {background: @component-background;} .ant-table-sticky-scroll {background: lighten(@table-border-color, 80%);border-top: 1px solid @border-color-split;} @@ -1647,6 +1666,7 @@ tr.ant-table-expanded-row:hover > td {background: @table-expanded-row-bg;} .ant-table-sticky-scroll-bar-active {background-color: fade(@table-sticky-scroll-bar-bg, 80%);} .ant-table-title {border-radius: 2px 2px 0 0;} .ant-table-title + .ant-table-container {border-top-left-radius: 0;border-top-right-radius: 0;} +.ant-table-title + .ant-table-container table {border-radius: 0;} .ant-table-title + .ant-table-container table > thead > tr:first-child th:first-child {border-radius: 0;} .ant-table-title + .ant-table-container table > thead > tr:first-child th:last-child {border-radius: 0;} .ant-table-container {border-top-left-radius: 2px;border-top-right-radius: 2px;} @@ -1702,9 +1722,9 @@ tr.ant-table-expanded-row:hover > td {background: @table-expanded-row-bg;} .ant-tag-checkable:active, .ant-tag-checkable-checked {color: #fff;} .ant-tag-checkable-checked {background-color: @primary-color;} .ant-tag-checkable:active {background-color: color(~`colorPalette("@{primary-color}", 7)`);} -.ant-tag-pink {color: #c41d7f;background: #fff0f6;border-color: #ffadd2;} +.ant-tag-pink {color: #c41d7f;background: color(~`colorPalette("@{component-background}", 1)`);border-color: #ffadd2;} .ant-tag-pink-inverse {color: #fff;background: #eb2f96;border-color: #eb2f96;} -.ant-tag-magenta {color: #c41d7f;background: #fff0f6;border-color: #ffadd2;} +.ant-tag-magenta {color: #c41d7f;background: color(~`colorPalette("@{component-background}", 1)`);border-color: #ffadd2;} .ant-tag-magenta-inverse {color: #fff;background: #eb2f96;border-color: #eb2f96;} .ant-tag-red {color: #cf1322;background: #fff1f0;border-color: #ffa39e;} .ant-tag-red-inverse {color: #fff;background: #f5222d;border-color: #f5222d;} @@ -1722,11 +1742,11 @@ tr.ant-table-expanded-row:hover > td {background: @table-expanded-row-bg;} .ant-tag-lime-inverse {color: #fff;background: #a0d911;border-color: #a0d911;} .ant-tag-green {color: #389e0d;background: #f6ffed;border-color: #b7eb8f;} .ant-tag-green-inverse {color: #fff;background: #52c41a;border-color: #52c41a;} -.ant-tag-blue {color: #096dd9;background: color(~`colorPalette("@{pagination-item-input-bg}", 1)`);border-color: #91d5ff;} +.ant-tag-blue {color: #096dd9;background: #e6f7ff;border-color: #91d5ff;} .ant-tag-blue-inverse {color: #fff;background: #1890ff;border-color: #1890ff;} -.ant-tag-geekblue {color: #1d39c4;background: color(~`colorPalette("@{avatar-bg}", 4)`);border-color: #adc6ff;} +.ant-tag-geekblue {color: #1d39c4;background: color(~`colorPalette("@{btn-primary-bg}", 1)`);border-color: #adc6ff;} .ant-tag-geekblue-inverse {color: #fff;background: #2f54eb;border-color: #2f54eb;} -.ant-tag-purple {color: #531dab;background: color(~`colorPalette("@{calendar-bg}", 1)`);border-color: #d3adf7;} +.ant-tag-purple {color: #531dab;background: #f9f0ff;border-color: #d3adf7;} .ant-tag-purple-inverse {color: #fff;background: #722ed1;border-color: #722ed1;} .ant-tag-success {color: #52c41a;background: @success-color-deprecated-bg;border-color: @success-color-deprecated-border;} .ant-tag-processing {color: @primary-color;background: @info-color-deprecated-bg;border-color: @info-color-deprecated-border;} @@ -1749,7 +1769,7 @@ tr.ant-table-expanded-row:hover > td {background: @table-expanded-row-bg;} .ant-tooltip {color: @text-color;} .ant-tooltip-inner {color: #fff;background-color: @tooltip-bg;border-radius: 2px;box-shadow: 0 3px 6px -4px rgba(0, 0, 0, 0.12), 0 6px 16px 0 rgba(0, 0, 0, 0.08), 0 9px 28px 8px rgba(0, 0, 0, 0.05);} .ant-tooltip-arrow {background: transparent;} -.ant-tooltip-arrow-content {--antd-arrow-background-color: linear-gradient(to right bottom, fadeout(@tooltip-bg, 10%), @tooltip-bg);background-color: transparent;border-radius: 0 0 2px;} +.ant-tooltip-arrow-content {--antd-arrow-background-color: linear-gradient(to right bottom, fadeout(@tooltip-bg, 10%), @tooltip-bg);border-radius: 0 0 2px;} .ant-tooltip-arrow-content::before {background: var(--antd-arrow-background-color);background-repeat: no-repeat;background-position: -10px -10px;} .ant-tooltip-placement-top .ant-tooltip-arrow-content, .ant-tooltip-placement-topLeft .ant-tooltip-arrow-content, .ant-tooltip-placement-topRight .ant-tooltip-arrow-content {box-shadow: 3px 3px 7px rgba(0, 0, 0, 0.07);} .ant-tooltip-placement-right .ant-tooltip-arrow-content, .ant-tooltip-placement-rightTop .ant-tooltip-arrow-content, .ant-tooltip-placement-rightBottom .ant-tooltip-arrow-content {box-shadow: -3px 3px 7px rgba(0, 0, 0, 0.07);} @@ -1939,6 +1959,7 @@ a.ant-typography.ant-typography-disabled:hover, .ant-typography a.ant-typography .ant-typography pre code {background: transparent;border: 0;} .ant-typography blockquote {border-left: 4px solid rgba(100, 100, 100, 0.2);} .ant-upload {color: @text-color;} +.ant-upload.ant-upload-disabled {color: @disabled-color;} .ant-upload.ant-upload-select-picture-card {background-color: @background-color-light;border: 1px dashed @border-color-base;border-radius: 2px;} .ant-upload.ant-upload-select-picture-card:hover {border-color: @primary-color;} .ant-upload-disabled.ant-upload.ant-upload-select-picture-card:hover {border-color: @border-color-base;} @@ -1963,13 +1984,12 @@ a.ant-typography.ant-typography-disabled:hover, .ant-typography a.ant-typography .ant-upload-list-picture .ant-upload-list-item-error, .ant-upload-list-picture-card .ant-upload-list-item-error {border-color: #ff4d4f;} .ant-upload-list-picture .ant-upload-list-item:hover .ant-upload-list-item-info, .ant-upload-list-picture-card .ant-upload-list-item:hover .ant-upload-list-item-info {background: transparent;} .ant-upload-list-picture .ant-upload-list-item-uploading, .ant-upload-list-picture-card .ant-upload-list-item-uploading {border-style: dashed;} -.ant-upload-list-picture .ant-upload-list-item-error .ant-upload-list-item-thumbnail .anticon svg path[fill='color(~`colorPalette("@{pagination-item-input-bg}", 1)`)'], .ant-upload-list-picture-card .ant-upload-list-item-error .ant-upload-list-item-thumbnail .anticon svg path[fill='color(~`colorPalette("@{pagination-item-input-bg}", 1)`)'] {fill: @error-color-deprecated-bg;} +.ant-upload-list-picture .ant-upload-list-item-error .ant-upload-list-item-thumbnail .anticon svg path[fill='#e6f7ff'], .ant-upload-list-picture-card .ant-upload-list-item-error .ant-upload-list-item-thumbnail .anticon svg path[fill='#e6f7ff'] {fill: @error-color-deprecated-bg;} .ant-upload-list-picture .ant-upload-list-item-error .ant-upload-list-item-thumbnail .anticon svg path[fill='#1890ff'], .ant-upload-list-picture-card .ant-upload-list-item-error .ant-upload-list-item-thumbnail .anticon svg path[fill='#1890ff'] {fill: #ff4d4f;} .ant-upload-list-picture-card .ant-upload-list-item-info::before {background-color: rgba(0, 0, 0, 0.5);} .ant-upload-list-picture-card .ant-upload-list-item-actions .anticon-eye, .ant-upload-list-picture-card .ant-upload-list-item-actions .anticon-download, .ant-upload-list-picture-card .ant-upload-list-item-actions .anticon-delete {color: rgba(255, 255, 255, 0.85);} .ant-upload-list-picture-card .ant-upload-list-item-actions .anticon-eye:hover, .ant-upload-list-picture-card .ant-upload-list-item-actions .anticon-download:hover, .ant-upload-list-picture-card .ant-upload-list-item-actions .anticon-delete:hover {color: #fff;} .ant-upload-list-picture-card .ant-upload-list-item-uploading.ant-upload-list-item {background-color: @background-color-light;} -.ant-upload-list .ant-upload-animate-inline-appear, .ant-upload-list .ant-upload-animate-inline-enter, .ant-upload-list .ant-upload-animate-inline-leave {animation-fill-mode: cubic-bezier(0.78, 0.14, 0.15, 0.86);} .ant-pro-table-search {background-color: @component-background !important;} .bezierEasingMixin() { @functions: ~`(function() {var NEWTON_ITERATIONS = 4;var NEWTON_MIN_SLOPE = 0.001;var SUBDIVISION_PRECISION = 0.0000001;var SUBDIVISION_MAX_ITERATIONS = 10;var kSplineTableSize = 11;var kSampleStepSize = 1.0 / (kSplineTableSize - 1.0);var float32ArraySupported = typeof Float32Array === 'function';function A (aA1, aA2) { return 1.0 - 3.0 * aA2 + 3.0 * aA1; } @@ -2419,7 +2439,8 @@ this.tinycolor = tinycolor;})()`;} .colorPaletteMixin() { @functions: ~`(function() {var hueStep = 2;var saturationStep = 0.16;var saturationStep2 = 0.05;var brightnessStep1 = 0.05;var brightnessStep2 = 0.15;var lightColorCount = 5;var darkColorCount = 4;var getHue = function(hsv, i, isLight) {var hue;if (hsv.h >= 60 && hsv.h <= 240) {hue = isLight ? hsv.h - hueStep * i : hsv.h + hueStep * i;} else {hue = isLight ? hsv.h + hueStep * i : hsv.h - hueStep * i;} if (hue < 0) {hue += 360;} else if (hue >= 360) {hue -= 360;} - return Math.round(hue);};var getSaturation = function(hsv, i, isLight) {var saturation;if (isLight) {saturation = hsv.s - saturationStep * i;} else if (i === darkColorCount) {saturation = hsv.s + saturationStep;} else {saturation = hsv.s + saturationStep2 * i;} + return Math.round(hue);};var getSaturation = function(hsv, i, isLight) {if (hsv.h === 0 && hsv.s === 0) {return hsv.s;} + var saturation;if (isLight) {saturation = hsv.s - saturationStep * i;} else if (i === darkColorCount) {saturation = hsv.s + saturationStep;} else {saturation = hsv.s + saturationStep2 * i;} if (saturation > 1) {saturation = 1;} if (isLight && i === lightColorCount && saturation > 0.1) {saturation = 0.1;} if (saturation < 0.06) {saturation = 0.06;} @@ -2876,7 +2897,7 @@ this.tinycolor = tinycolor;})()`;} @cascader-dropdown-line-height: @dropdown-line-height; @anchor-bg: transparent; @anchor-border-color: @border-color-split; -@anchor-link-top: 7px; +@anchor-link-top: 4px; @anchor-link-left: 16px; @anchor-link-padding: @anchor-link-top 0 @anchor-link-top @anchor-link-left; @tooltip-max-width: 250px; @@ -2901,7 +2922,7 @@ this.tinycolor = tinycolor;})()`;} @modal-header-border-style: @border-style-base; @modal-header-title-line-height: 22px; @modal-header-title-font-size: @font-size-lg; -@modal-header-close-size: 56px; +@modal-header-close-size: @modal-header-title-line-height + 2 * @modal-header-padding-vertical; @modal-heading-color: @heading-color; @modal-close-color: @text-color-secondary; @modal-footer-bg: transparent; @@ -2912,6 +2933,7 @@ this.tinycolor = tinycolor;})()`;} @modal-mask-bg: fade(@black, 45%); @modal-confirm-body-padding: 32px 32px 24px; @modal-confirm-title-font-size: @font-size-lg; +@modal-border-radius: @border-radius-base; @progress-default-color: @processing-color; @progress-remaining-color: @background-color-base; @progress-info-text-color: @progress-text-color; diff --git a/web/client/assets/images/leadership/bei.png b/web/client/assets/images/leadership/bei.png new file mode 100644 index 00000000..5ee9faee Binary files /dev/null and b/web/client/assets/images/leadership/bei.png differ diff --git a/web/client/assets/images/leadership/center.png b/web/client/assets/images/leadership/center.png new file mode 100644 index 00000000..f6ebe329 Binary files /dev/null and b/web/client/assets/images/leadership/center.png differ diff --git a/web/client/assets/images/leadership/you.png b/web/client/assets/images/leadership/you.png new file mode 100644 index 00000000..a7e03e1c Binary files /dev/null and b/web/client/assets/images/leadership/you.png differ diff --git a/web/client/assets/images/leadership/zuo.png b/web/client/assets/images/leadership/zuo.png new file mode 100644 index 00000000..61148d4d Binary files /dev/null and b/web/client/assets/images/leadership/zuo.png differ diff --git a/web/client/src/sections/quanju/actions/example.js b/web/client/src/sections/quanju/actions/example.js index 5818df8d..b7e6488f 100644 --- a/web/client/src/sections/quanju/actions/example.js +++ b/web/client/src/sections/quanju/actions/example.js @@ -50,4 +50,37 @@ export function getjiandetail() { msg: { error: '获取治超监测点处理数据信息' }, // reducer: { name: 'members' } }); +} +// 获取运政数据统计 +export function getyunzheng() { + return dispatch => basicAction({ + type: 'get', + dispatch: dispatch, + actionType: 'GET_YUNZHENG', + url: ApiTable.getYunZheng, + msg: { error: '获取运政统计数据信息' }, + // reducer: { name: 'members' } + }); +} +// 获取道路养护数据统计及列表 +export function getRoadmaintain() { + return dispatch => basicAction({ + type: 'get', + dispatch: dispatch, + actionType: 'GET_ROADMAINTAIN', + url: ApiTable.getroadmaintain, + msg: { error: '获取道路养护数据信息' }, + // reducer: { name: 'members' } + }); +} +// 获取治超详情列 +export function getZhichaolist() { + return dispatch => basicAction({ + type: 'get', + dispatch: dispatch, + actionType: 'GET_ZHICHAOLIST', + url: ApiTable.getzhichaoList, + msg: { error: '获取治超详情列表数据' }, + // reducer: { name: 'members' } + }); } \ No newline at end of file diff --git a/web/client/src/sections/quanju/containers/example.js b/web/client/src/sections/quanju/containers/example.js index 6605abd1..b4259ce4 100644 --- a/web/client/src/sections/quanju/containers/example.js +++ b/web/client/src/sections/quanju/containers/example.js @@ -33,7 +33,7 @@ const Example = (props) => {
-
+
diff --git a/web/client/src/sections/quanju/containers/footer/index.js b/web/client/src/sections/quanju/containers/footer/index.js index 485c6839..608dd38b 100644 --- a/web/client/src/sections/quanju/containers/footer/index.js +++ b/web/client/src/sections/quanju/containers/footer/index.js @@ -4,7 +4,7 @@ import Conserve from './conserve' import Guanli from './guanli' import Leadership from './leadership' import Operation from './operation' -const Footer = ({ tabKey }) => { +const Footer = ({ tabKey, dispatch }) => { return ( <> { @@ -15,7 +15,7 @@ const Footer = ({ tabKey }) => { case 'conserve': return case "leadership": - return + return case "guanli": return case "operation": diff --git a/web/client/src/sections/quanju/containers/footer/leadership/centerLeft.js b/web/client/src/sections/quanju/containers/footer/leadership/centerLeft.js index b2c31804..1c99e230 100644 --- a/web/client/src/sections/quanju/containers/footer/leadership/centerLeft.js +++ b/web/client/src/sections/quanju/containers/footer/leadership/centerLeft.js @@ -4,12 +4,13 @@ import Centerleftcenter from "./centerleft/top" import Centerleftcentertop from "./centerleft/bottom" import Centerleftbottom from "./centerleft/center-left-bottom" -const CenterLeft = () => { +const CenterLeft = (props) => { + const { dispatch } = props return ( <>
- - + +
) diff --git a/web/client/src/sections/quanju/containers/footer/leadership/centerleft/bottom.js b/web/client/src/sections/quanju/containers/footer/leadership/centerleft/bottom.js index f4f85635..c8446c53 100644 --- a/web/client/src/sections/quanju/containers/footer/leadership/centerleft/bottom.js +++ b/web/client/src/sections/quanju/containers/footer/leadership/centerleft/bottom.js @@ -6,6 +6,7 @@ import Qiaoliang from "./qiqoliang" const Leftcentertop = (props) => { + const { dispatch } = props const style = { height: "23%" } const { tabKey } = props return ( @@ -14,11 +15,11 @@ const Leftcentertop = (props) => { (() => { switch (tabKey) { case 'daolu': - return + return case 'handong': - return + return case "qiaoliang": - return + return } })() } diff --git a/web/client/src/sections/quanju/containers/footer/leadership/centerleft/center-left-bottom.js b/web/client/src/sections/quanju/containers/footer/leadership/centerleft/center-left-bottom.js index 540c3f39..301f3e2a 100644 --- a/web/client/src/sections/quanju/containers/footer/leadership/centerleft/center-left-bottom.js +++ b/web/client/src/sections/quanju/containers/footer/leadership/centerleft/center-left-bottom.js @@ -4,21 +4,22 @@ import Centerleftecharts from "./echarts/centerleftecharts" import Bottomlunbo from './lunbo/bottomlunbo' import Leftlunbo from './lunbo/toplunbo' -const Leftbottom = () => { +const Leftbottom = (props) => { const style = { height: "28%", marginTop: "2%" } + const { dispatch } = props return ( <>
- +
- +
- +
diff --git a/web/client/src/sections/quanju/containers/footer/leadership/centerleft/center-left-top.js b/web/client/src/sections/quanju/containers/footer/leadership/centerleft/center-left-top.js index ced94483..5c03f5b4 100644 --- a/web/client/src/sections/quanju/containers/footer/leadership/centerleft/center-left-top.js +++ b/web/client/src/sections/quanju/containers/footer/leadership/centerleft/center-left-top.js @@ -4,6 +4,7 @@ import Top from "./top" import Bottom from "./bottom" const Lefttop = (props) => { + const { dispatch } = props const style = { height: "68%" } const [tabKey, setTabKey] = useState('daolu') @@ -20,10 +21,10 @@ const Lefttop = (props) => { <>
- +
- +
diff --git a/web/client/src/sections/quanju/containers/footer/leadership/centerleft/daolu.js b/web/client/src/sections/quanju/containers/footer/leadership/centerleft/daolu.js index 673c4a15..43bbb7ba 100644 --- a/web/client/src/sections/quanju/containers/footer/leadership/centerleft/daolu.js +++ b/web/client/src/sections/quanju/containers/footer/leadership/centerleft/daolu.js @@ -1,41 +1,29 @@ import React, { useState, useEffect } from 'react' -import Lun from "./lunbo/lunbo" +import Lun from "../right/lunbo" +import { getRoadmaintain, getdaolutongji } from "../../../../actions/example" +import moment from 'moment' -const Right = () => { +const Right = (props) => { + const { dispatch } = props const [beijing, setBeijing] = useState() - const [list, setList] = useState([{ name: "苏LD1112121", chaoxian: "30%", penalty: "-6分", days: "2022年5月4日" }, - { name: "苏LD11121", chaoxian: "30%", penalty: "-6分和扣200元", days: "2022年5月4日" }, - { name: "苏LD112512121", chaoxian: "30%", penalty: "-6分", days: "2022年5月4日" }, - { name: "苏L1112121", chaoxian: "30%", penalty: "-6分", days: "2022年5月4日" }, - { name: "苏LD1151121", chaoxian: "30%", penalty: "-6分", days: "2022年5月4日" }, - { name: "苏LD1112121", chaoxian: "30%", penalty: "-6分", days: "2022年5月4日" }, - { name: "苏LD11912121", chaoxian: "30%", penalty: "-6分", days: "2022年5月4日" }, - { name: "苏LD16112121", chaoxian: "30%", penalty: "-6分", days: "2022年5月4日" }, - { name: "苏L2D111221", chaoxian: "30%", penalty: "-6分", days: "2022年5月4日" }, - { name: "62", chaoxian: "30%", penalty: "-6分", days: "2022年5月4日" }, - { name: "苏LD11152121", chaoxian: "30%", penalty: "-6分", days: "2022年5月4日" }, - { name: "苏L1D1112121", chaoxian: "30%", penalty: "-6分", days: "2022年5月4日" }, - { name: "苏LD11512121", chaoxian: "30%", penalty: "-6分", days: "2022年5月4日" }, - { name: "苏LD13112121", chaoxian: "30%", penalty: "-6分", days: "2022年5月4日" }, - { name: "苏LD111612121", chaoxian: "30%", penalty: "-6分", days: "2022年5月4日" }, - { name: "苏LD111216221", chaoxian: "30%", penalty: "-6分", days: "2022年5月4日" }, - { name: "苏L63D1112121", chaoxian: "30%", penalty: "-6分", days: "2022年5月4日" }, - { name: "苏LD163112121", chaoxian: "30%", penalty: "-6分", days: "2022年5月4日" }, - { name: "苏LD162112121", chaoxian: "30%", penalty: "-6分", days: "2022年5月4日" }, - { name: "苏LD162112121", chaoxian: "30%", penalty: "-6分", days: "2022年5月4日" }, - { name: "苏LD162112121", chaoxian: "30%", penalty: "-6分", days: "2022年5月4日" }, - { name: "苏LD162112121", chaoxian: "30%", penalty: "-6分", days: "2022年5月4日" }, - { name: "苏LD162112121", chaoxian: "30%", penalty: "-6分", days: "2022年5月4日" }, - { name: "苏LD162112121", chaoxian: "30%", penalty: "-6分", days: "2022年5月4日" }, - { name: "苏LD162112121", chaoxian: "30%", penalty: "-6分", days: "2022年5月4日" }, - { name: "苏LD162112121", chaoxian: "30%", penalty: "-6分", days: "2022年5月4日" }, - { name: "苏LD162112121", chaoxian: "30%", penalty: "-6分", days: "2022年5月4日" }, - { name: "苏LD162112121", chaoxian: "30%", penalty: "-6分", days: "2022年5月4日" }, - { name: "苏LD162112121", chaoxian: "30%", penalty: "-6分", days: "2022年5月4日" }, - { name: "苏LD162112121", chaoxian: "30%", penalty: "-6分", days: "2022年5月4日" }, - { name: "苏LD162112121", chaoxian: "30%", penalty: "-6分", days: "2022年5月4日" }, - { name: "苏LD162112121", chaoxian: "30%", penalty: "-6分", days: "2022年5月4日" }, - { name: "苏LD651112121", chaoxian: "30%", penalty: "-6分", days: "2022年5月4日" }]) + const [nums, setNums] = useState() + const [list, setList] = useState([]) + const [roads, setRoads] = useState() + useEffect(() => { + const daolus = dispatch(getRoadmaintain()).then((res) => { + setList(res.payload.data.reportList.filter((item, index) => { + return item.projectType == "road" + })) + setNums(res.payload.data.processed) + }) + }, []) + useEffect(() => { + const daolus = dispatch(getdaolutongji()).then((res) => { + // console.log("[roads]", res.payload.data.roadType); + setRoads(res.payload.data.roadType) + // const + }) + }, []) const renderBody = () => { return ( @@ -51,10 +39,10 @@ const Right = () => { }}> {beijing == index ? : ""} {beijing == index ? : ""} -

{item.name}

-

{item.name}

-

{item.name}

-

{item.name}

+

日常养护

+ {item.user?.name ?

{item.user.name}

:

--

} +

{item.road ? item.road : "--"}

+

{moment(item.time).format("YYYY-MM-Do HH:mm:ss") ? moment(item.time).format("YYYY-MM-Do HH:mm:ss") : "--"}

) }) } @@ -65,16 +53,35 @@ const Right = () => { <>
+
+
+

占比{(roads?.["县"] / (roads?.["乡"] + roads?.["村"] + roads?.["县"])).toFixed(4) * 100}%

+

{roads?.["县"].toFixed(3)}公里县道道路

+
+
+
+ + {/*
+
*/} -
+
+
+
+
+

乡村道道路{(roads?.["乡"] + roads?.["村"]).toFixed(3)}公里

+

占比{((roads?.["乡"] + roads?.["村"]) / (roads?.["乡"] + roads?.["村"] + roads?.["县"])).toFixed(4) * 100}%

+
+
+
{/*

{title || []}

*/} - 离线详情 + 养护事件 +

道路{nums || []}

{/* */}
{ +const Leftbottomecharts = (props) => { const chartRef = useRef(null); + const { dispatch } = props + const [list, setList] = useState([]) + const [max, setMax] = useState() + useEffect(() => { + const yunzheng = dispatch(getyunzheng()).then((res) => { + // console.log(res.payload); + setMax(Math.max.apply(null, [res.payload.data.passengerTransport, res.payload.data.hazardousGoods, res.payload.data.taxi, res.payload.data.bus])); + setList([res.payload.data.passengerTransport, res.payload.data.hazardousGoods, res.payload.data.taxi, res.payload.data.bus]) + }) + }, []) + useEffect(() => { var chartInstance = echarts.init(chartRef.current); var colorArray = [ @@ -35,7 +47,7 @@ const Leftbottomecharts = () => { grid: { left: "5%", top: "12%", - right: "1%", + right: "4%", bottom: "8%", containLabel: true, }, @@ -99,7 +111,7 @@ const Leftbottomecharts = () => { // zlevel: 1, barCategoryGap: "50%", color: "#042B7F", - data: [150, 150, 150, 150], + data: [max + 20, max + 20, max + 20, max + 20], tooltip: { show: false, }, @@ -111,7 +123,7 @@ const Leftbottomecharts = () => { barWidth: 10, barGap: "-100%", barCategoryGap: "50%", - data: [60, 132, 89, 134], + data: list || [], markPoint: { Symbol: "",/* 可以通过’image: *///url’设置为图片,其中url为图片的链接 data: [{ type: "max", name: "最大值" }], @@ -188,7 +200,7 @@ const Leftbottomecharts = () => { window.onresize = function () { chartInstance.resize(); } - }, []); + }, [list]); return ( diff --git a/web/client/src/sections/quanju/containers/footer/leadership/centerleft/handong.js b/web/client/src/sections/quanju/containers/footer/leadership/centerleft/handong.js index 673c4a15..8a55a8b5 100644 --- a/web/client/src/sections/quanju/containers/footer/leadership/centerleft/handong.js +++ b/web/client/src/sections/quanju/containers/footer/leadership/centerleft/handong.js @@ -1,41 +1,29 @@ import React, { useState, useEffect } from 'react' -import Lun from "./lunbo/lunbo" +import Lun from "../right/lunbo" +import { getRoadmaintain, getdaolutongji } from "../../../../actions/example" +import moment from 'moment' -const Right = () => { + +const Right = (props) => { + const { dispatch } = props const [beijing, setBeijing] = useState() - const [list, setList] = useState([{ name: "苏LD1112121", chaoxian: "30%", penalty: "-6分", days: "2022年5月4日" }, - { name: "苏LD11121", chaoxian: "30%", penalty: "-6分和扣200元", days: "2022年5月4日" }, - { name: "苏LD112512121", chaoxian: "30%", penalty: "-6分", days: "2022年5月4日" }, - { name: "苏L1112121", chaoxian: "30%", penalty: "-6分", days: "2022年5月4日" }, - { name: "苏LD1151121", chaoxian: "30%", penalty: "-6分", days: "2022年5月4日" }, - { name: "苏LD1112121", chaoxian: "30%", penalty: "-6分", days: "2022年5月4日" }, - { name: "苏LD11912121", chaoxian: "30%", penalty: "-6分", days: "2022年5月4日" }, - { name: "苏LD16112121", chaoxian: "30%", penalty: "-6分", days: "2022年5月4日" }, - { name: "苏L2D111221", chaoxian: "30%", penalty: "-6分", days: "2022年5月4日" }, - { name: "62", chaoxian: "30%", penalty: "-6分", days: "2022年5月4日" }, - { name: "苏LD11152121", chaoxian: "30%", penalty: "-6分", days: "2022年5月4日" }, - { name: "苏L1D1112121", chaoxian: "30%", penalty: "-6分", days: "2022年5月4日" }, - { name: "苏LD11512121", chaoxian: "30%", penalty: "-6分", days: "2022年5月4日" }, - { name: "苏LD13112121", chaoxian: "30%", penalty: "-6分", days: "2022年5月4日" }, - { name: "苏LD111612121", chaoxian: "30%", penalty: "-6分", days: "2022年5月4日" }, - { name: "苏LD111216221", chaoxian: "30%", penalty: "-6分", days: "2022年5月4日" }, - { name: "苏L63D1112121", chaoxian: "30%", penalty: "-6分", days: "2022年5月4日" }, - { name: "苏LD163112121", chaoxian: "30%", penalty: "-6分", days: "2022年5月4日" }, - { name: "苏LD162112121", chaoxian: "30%", penalty: "-6分", days: "2022年5月4日" }, - { name: "苏LD162112121", chaoxian: "30%", penalty: "-6分", days: "2022年5月4日" }, - { name: "苏LD162112121", chaoxian: "30%", penalty: "-6分", days: "2022年5月4日" }, - { name: "苏LD162112121", chaoxian: "30%", penalty: "-6分", days: "2022年5月4日" }, - { name: "苏LD162112121", chaoxian: "30%", penalty: "-6分", days: "2022年5月4日" }, - { name: "苏LD162112121", chaoxian: "30%", penalty: "-6分", days: "2022年5月4日" }, - { name: "苏LD162112121", chaoxian: "30%", penalty: "-6分", days: "2022年5月4日" }, - { name: "苏LD162112121", chaoxian: "30%", penalty: "-6分", days: "2022年5月4日" }, - { name: "苏LD162112121", chaoxian: "30%", penalty: "-6分", days: "2022年5月4日" }, - { name: "苏LD162112121", chaoxian: "30%", penalty: "-6分", days: "2022年5月4日" }, - { name: "苏LD162112121", chaoxian: "30%", penalty: "-6分", days: "2022年5月4日" }, - { name: "苏LD162112121", chaoxian: "30%", penalty: "-6分", days: "2022年5月4日" }, - { name: "苏LD162112121", chaoxian: "30%", penalty: "-6分", days: "2022年5月4日" }, - { name: "苏LD162112121", chaoxian: "30%", penalty: "-6分", days: "2022年5月4日" }, - { name: "苏LD651112121", chaoxian: "30%", penalty: "-6分", days: "2022年5月4日" }]) + const [list, setList] = useState([]) + const [roads, setRoads] = useState() + useEffect(() => { + const daolus = dispatch(getRoadmaintain()).then((res) => { + setList(res.payload.data.reportList.filter((item, index) => { + return item.projectType == "culvert" + })) + }) + }, []) + useEffect(() => { + const daolus = dispatch(getdaolutongji()).then((res) => { + // console.log("[roads]", res.payload.data.roadType); + setRoads(res.payload.data.townCulvert) + console.log(res.payload.data.townCulvert); + // const + }) + }, []) const renderBody = () => { return ( @@ -51,10 +39,10 @@ const Right = () => { }}> {beijing == index ? : ""} {beijing == index ? : ""} -

{item.name}

-

{item.name}

-

{item.name}

-

{item.name}

+

日常养护

+ {item.user?.name ?

{item.user.name}

:

--

} +

{item.road ? item.road : "--"}

+

{moment(item.time).format("YYYY-MM-Do HH:mm:ss") ? moment(item.time).format("YYYY-MM-Do HH:mm:ss") : "--"}

) }) } @@ -65,16 +53,35 @@ const Right = () => { <>
+
+
+

占比{(roads?.["县"] / (roads?.["乡"] + roads?.["村"] + roads?.["县"])).toFixed(4) * 100}%

+

{roads?.["县"].toFixed(0)}县涵洞

+
+
+
+ +
+ {/*
-
+
*/} +
+
+
+

乡村涵洞{(roads?.["乡"] + roads?.["村"]).toFixed(3)}

+

占比{((roads?.["乡"] + roads?.["村"]) / (roads?.["乡"] + roads?.["村"] + roads?.["县"])).toFixed(4) * 100}%

+
+
+
{/*

{title || []}

*/} - 离线详情 + 养护事件 +

道路187

{/* */}
{ - const [list, setList] = useState([ - { name: "南昌宁昌物流运输有限公司" }, - { name: "南昌宁昌物流运输有限公司" }, - { name: "南昌宁昌物流运输有限公司" }, - { name: "南昌宁昌物流运输有限公司" }, - { name: "南昌宁昌物流运输有限公司" }, - { name: "南昌宁昌物流运输有限公司" }, - { name: "南昌宁昌物流运输有限公司" }, - { name: "南昌宁昌物流运输有限公司" }, - { name: "南昌宁昌物流运输有限公司" }, - { name: "南昌宁昌物流运输有限公司" }, - { name: "南昌宁昌物流运输有限公司" }, - { name: "南昌宁昌物流运输有限公司" }, - { name: "南昌宁昌物流运输有限公司" }, - { name: "南昌宁昌物流运输有限公司" }, - { name: "南昌宁昌物流运输有限公司" }, - { name: "南昌宁昌物流运输有限公司" }, - ]) +const Bottomlunbo = (props) => { + const { dispatch } = props + const [list, setList] = useState([]) + useEffect(() => { + const car = dispatch(getyunzheng()).then((res) => { + setList(res.payload.data.taxiBusiness); + }) + }, []) const renderBody = () => { return (
{ list.map((item, index) => { - return
{item.name}
+ return
{item.nameOfBusinessOwner}
}) }
diff --git a/web/client/src/sections/quanju/containers/footer/leadership/centerleft/lunbo/lunbo.js b/web/client/src/sections/quanju/containers/footer/leadership/centerleft/lunbo/lunbo.js deleted file mode 100644 index e992fb0d..00000000 --- a/web/client/src/sections/quanju/containers/footer/leadership/centerleft/lunbo/lunbo.js +++ /dev/null @@ -1,182 +0,0 @@ -'use strict' -import React, { Component } from 'react'; -// import { Col, Row, Tag, Tooltip } from '@douyinfe/semi-ui'; -import { Col, Row, Tag, Toolip } from 'antd'; -import './style.less'; -export default class AutoRollComponent extends Component { - - constructor(props) { - super(props); - this.scrollElem = null; - this.stopscroll = false; - this.preTop = 0; - this.cloneEle = null; - this.currentTop = 0; - this.marqueesHeight = 0; - this.interval = null; - } - - marque = (height) => { - try { - this.scrollElem = document.getElementById(this.props.divId); - this.marqueesHeight = height; - if (this.scrollElem) { - this.scrollElem.style.height = this.marqueesHeight; - this.scrollElem.style.overflow = 'hidden'; - } - - if (!this.props.closeroll) { - this.repeat() - } - } catch (e) { console.log(e) } - } - - - repeat = () => { - this.scrollElem.scrollTop = 0; - - this.interval = setInterval(() => { - if (this.stopscroll) return; - this.currentTop = this.currentTop + 1; - this.preTop = this.scrollElem.scrollTop; - this.scrollElem.scrollTop = this.scrollElem.scrollTop + 1; - // console.log(this.scrollElem.scrollTop); - if (this.preTop === this.scrollElem.scrollTop) { - this.scrollElem.scrollTop = this.marqueesHeight; - this.scrollElem.scrollTop = this.scrollElem.scrollTop + 1; - // console.log(this.scrollElem.scrollTop); - } - }, 80); - } - - - componentWillUnmount() { - clearInterval(this.interval); - } - - componentDidMount() { - this.marque(10); - } - - onMouseOver = () => { - this.stopscroll = true; - } - - onMouseOut = () => { - this.stopscroll = false; - } - - loadDataColumn = (c, index, q) => { - const { changeStyleCol, heads, spans, data, showWord, color, dataTextAlign, customColorBox, } = this.props; - if (c === changeStyleCol) { - if (color) { - {q.data[index]} - } else { - if (['时间'].indexOf(c) != -1) { - return {q.data[index]} - } - // if (c.indexOf("时间") == -1) { - // if (customColorBox) { - // return - // } - // if (q.data[index].length > showWord) { - // return {q.data[index].substring(0, showWord) + '...'} - // } else { - // return {q.data[index]} - // } - // } - } - - } else { - if (c.indexOf("时间") == -1) - if (q.data[index].length > showWord) { - return {q.data[index].substring(0, showWord) + '...'} - } - return {q.data[index]} - } - - // c === changeStyleCol ? - // color ? - // {q.data[index]} - // : q.levelbg ? - // q.isSiteAlermListMock ? 已处理 : - // {q.data[index]} - // : {q.data[index]} - - - // : ['时间'].indexOf(c) != -1 ? !customColorBox ? {q.data[index]} : - // - - // : c.indexOf("时间") == -1 && q.data[index].length > showWord ? - // {q.data[index].substring(0, showWord) + '...'} - // : {q.data[index]} - } - - getContent = () => { - const { changeStyleCol, heads, spans, data, showWord, color, dataTextAlign, customColorBox, } = this.props; - let result =
; - if (data) { - result = data.map((q, idx) => { - return ( -
- - {q.data[1] == -1 ? null : heads.map((c, index) => { - let extraStyle = {} - if (q.isSiteAlermListMock && c == "状态") { - extraStyle = { color: "green" } - } - - return - { - this.loadDataColumn(c, index, q) - } - - }) - } - -
- ) - }) - } else { - result =
- -
- } - return result; - } - - render() { - - const { heads, spans, divId, divHeight, content, color, titleLeft, containerStyle = {} } = this.props; - return ( -
- {heads ? - - {heads.map((c, index) => { - return {c} - }) - } - - : ''} -
-
- {content ? content : ''} - {this.getContent()} -
-
-
- ) - } -} diff --git a/web/client/src/sections/quanju/containers/footer/leadership/centerleft/lunbo/toplunbo.js b/web/client/src/sections/quanju/containers/footer/leadership/centerleft/lunbo/toplunbo.js index 910a3937..3fe2c09d 100644 --- a/web/client/src/sections/quanju/containers/footer/leadership/centerleft/lunbo/toplunbo.js +++ b/web/client/src/sections/quanju/containers/footer/leadership/centerleft/lunbo/toplunbo.js @@ -1,31 +1,23 @@ import React, { useState, useEffect } from 'react' -import Lunbotop from "./lunbo" +import Lunbotop from "../../right/lunbo" +import { getyunzheng } from "../../../../../actions/example" -const Toplunbo = () => { - const [list, setList] = useState([ - { name: "南昌宁昌物流运输有限公司" }, - { name: "南昌宁昌物流运输有限公司" }, - { name: "南昌宁昌物流运输有限公司" }, - { name: "南昌宁昌物流运输有限公司" }, - { name: "南昌宁昌物流运输有限公司" }, - { name: "南昌宁昌物流运输有限公司" }, - { name: "南昌宁昌物流运输有限公司" }, - { name: "南昌宁昌物流运输有限公司" }, - { name: "南昌宁昌物流运输有限公司" }, - { name: "南昌宁昌物流运输有限公司" }, - { name: "南昌宁昌物流运输有限公司" }, - { name: "南昌宁昌物流运输有限公司" }, - { name: "南昌宁昌物流运输有限公司" }, - { name: "南昌宁昌物流运输有限公司" }, - { name: "南昌宁昌物流运输有限公司" }, - { name: "南昌宁昌物流运输有限公司" }, - ]) + +const Toplunbo = (props) => { + const { dispatch } = props + const [list, setList] = useState([]) + useEffect(() => { + const cars = dispatch(getyunzheng()).then((res) => { + setList(res.payload.data.hazardousGoodsBusiness) + // console.log(res.payload.data.hazardousGoodsBusiness); + }) + }, []) const renderBody = () => { return (
{ list.map((item, index) => { - return
{item.name}
+ return
{item.nameOfBusinessOwner}
}) }
@@ -44,7 +36,7 @@ const Toplunbo = () => {
{ +const Right = (props) => { + const { dispatch } = props const [beijing, setBeijing] = useState() - const [list, setList] = useState([{ name: "苏LD1112121", chaoxian: "30%", penalty: "-6分", days: "2022年5月4日" }, - { name: "苏LD11121", chaoxian: "30%", penalty: "-6分和扣200元", days: "2022年5月4日" }, - { name: "苏LD112512121", chaoxian: "30%", penalty: "-6分", days: "2022年5月4日" }, - { name: "苏L1112121", chaoxian: "30%", penalty: "-6分", days: "2022年5月4日" }, - { name: "苏LD1151121", chaoxian: "30%", penalty: "-6分", days: "2022年5月4日" }, - { name: "苏LD1112121", chaoxian: "30%", penalty: "-6分", days: "2022年5月4日" }, - { name: "苏LD11912121", chaoxian: "30%", penalty: "-6分", days: "2022年5月4日" }, - { name: "苏LD16112121", chaoxian: "30%", penalty: "-6分", days: "2022年5月4日" }, - { name: "苏L2D111221", chaoxian: "30%", penalty: "-6分", days: "2022年5月4日" }, - { name: "62", chaoxian: "30%", penalty: "-6分", days: "2022年5月4日" }, - { name: "苏LD11152121", chaoxian: "30%", penalty: "-6分", days: "2022年5月4日" }, - { name: "苏L1D1112121", chaoxian: "30%", penalty: "-6分", days: "2022年5月4日" }, - { name: "苏LD11512121", chaoxian: "30%", penalty: "-6分", days: "2022年5月4日" }, - { name: "苏LD13112121", chaoxian: "30%", penalty: "-6分", days: "2022年5月4日" }, - { name: "苏LD111612121", chaoxian: "30%", penalty: "-6分", days: "2022年5月4日" }, - { name: "苏LD111216221", chaoxian: "30%", penalty: "-6分", days: "2022年5月4日" }, - { name: "苏L63D1112121", chaoxian: "30%", penalty: "-6分", days: "2022年5月4日" }, - { name: "苏LD163112121", chaoxian: "30%", penalty: "-6分", days: "2022年5月4日" }, - { name: "苏LD162112121", chaoxian: "30%", penalty: "-6分", days: "2022年5月4日" }, - { name: "苏LD162112121", chaoxian: "30%", penalty: "-6分", days: "2022年5月4日" }, - { name: "苏LD162112121", chaoxian: "30%", penalty: "-6分", days: "2022年5月4日" }, - { name: "苏LD162112121", chaoxian: "30%", penalty: "-6分", days: "2022年5月4日" }, - { name: "苏LD162112121", chaoxian: "30%", penalty: "-6分", days: "2022年5月4日" }, - { name: "苏LD162112121", chaoxian: "30%", penalty: "-6分", days: "2022年5月4日" }, - { name: "苏LD162112121", chaoxian: "30%", penalty: "-6分", days: "2022年5月4日" }, - { name: "苏LD162112121", chaoxian: "30%", penalty: "-6分", days: "2022年5月4日" }, - { name: "苏LD162112121", chaoxian: "30%", penalty: "-6分", days: "2022年5月4日" }, - { name: "苏LD162112121", chaoxian: "30%", penalty: "-6分", days: "2022年5月4日" }, - { name: "苏LD162112121", chaoxian: "30%", penalty: "-6分", days: "2022年5月4日" }, - { name: "苏LD162112121", chaoxian: "30%", penalty: "-6分", days: "2022年5月4日" }, - { name: "苏LD162112121", chaoxian: "30%", penalty: "-6分", days: "2022年5月4日" }, - { name: "苏LD162112121", chaoxian: "30%", penalty: "-6分", days: "2022年5月4日" }, - { name: "苏LD651112121", chaoxian: "30%", penalty: "-6分", days: "2022年5月4日" }]) + const [list, setList] = useState([]) + const [roads, setRoads] = useState() + useEffect(() => { + const daolus = dispatch(getRoadmaintain()).then((res) => { + setList(res.payload.data.reportList.filter((item, index) => { + return item.projectType == "bridge" + })) + }) + }, []) + useEffect(() => { + const daolus = dispatch(getdaolutongji()).then((res) => { + // console.log("[roads]", res.payload.data.roadType); + setRoads(res.payload.data.bridgeSize) + console.log(res.payload.data.bridgeSize); + // const + }) + }, []) const renderBody = () => { return ( @@ -51,10 +38,10 @@ const Right = () => { }}> {beijing == index ? : ""} {beijing == index ? : ""} -

{item.name}

-

{item.name}

-

{item.name}

-

{item.name}

+

日常养护

+ {item.user?.name ?

{item.user.name}

:

--

} +

{item.road ? item.road : "--"}

+

{moment(item.time).format("YYYY-MM-Do HH:mm:ss") ? moment(item.time).format("YYYY-MM-Do HH:mm:ss") : "--"}

) }) } @@ -65,16 +52,35 @@ const Right = () => { <>
+
+
+

占比{(roads?.["大桥"] / (roads?.["小桥"] + roads?.["中桥"] + roads?.["大桥"])).toFixed(4) * 100}%

+

{roads?.["大桥"]}大桥

+
+
+
+ +
+
-
+
+
+
+
+

中小桥梁{roads?.["小桥"] + roads?.["中桥"]}

+

占比{((roads?.["小桥"] + roads?.["中桥"]) / (roads?.["小桥"] + roads?.["中桥"] + roads?.["大桥"])).toFixed(4) * 100}%

+
+
+
{/*

{title || []}

*/} - 离线详情 + 养护事件 +

道路187

{/* */}
{ - const { tabChange, tabKey } = props + const { tabChange, tabKey, dispatch } = props + const [list, setList] = useState() + const [culvert, setCulvert] = useState() + const [bridge, setBridge] = useState() // const [tab, setTad] = useState("base") const onClick = (tab) => { // setTad({ tab }) tabChange(tab) } + useEffect(() => { + const daolus = dispatch(getdaolutongji()).then((res) => { + // console.log("[roads]", res.payload.data.roadType); + setList(res.payload.data.roadType) + // const + setCulvert(res.payload.data.townCulvert) + setBridge(res.payload.data.bridgeSize) + }) + }, []) return ( <>
@@ -25,7 +39,7 @@ const Leftcenter = (props) => {

道路统计公里

-

2333.4

+

{(list?.["县"] + list?.["乡"] + list?.["村"]).toFixed(3)}

{ @@ -39,7 +53,7 @@ const Leftcenter = (props) => {

涵洞统计

-

2333.4

+

{(culvert?.["县"] + culvert?.["乡"] + culvert?.["村"]).toFixed(0)}

{ @@ -53,7 +67,7 @@ const Leftcenter = (props) => {

桥梁统计

-

2333.4

+

{(bridge?.["小桥"] + bridge?.["中桥"] + bridge?.["大桥"])}

diff --git a/web/client/src/sections/quanju/containers/footer/leadership/index.js b/web/client/src/sections/quanju/containers/footer/leadership/index.js index cbd1980a..e12bf0bb 100644 --- a/web/client/src/sections/quanju/containers/footer/leadership/index.js +++ b/web/client/src/sections/quanju/containers/footer/leadership/index.js @@ -4,12 +4,13 @@ import Right from './right' import CenterLeft from "./centerLeft" import Centerright from "./centerRight" -const Leadership = () => { +const Leadership = (props) => { + const { dispatch } = props return ( <> - - - + + + {/* */} diff --git a/web/client/src/sections/quanju/containers/footer/leadership/left.js b/web/client/src/sections/quanju/containers/footer/leadership/left.js index ab464e2b..c000a87b 100644 --- a/web/client/src/sections/quanju/containers/footer/leadership/left.js +++ b/web/client/src/sections/quanju/containers/footer/leadership/left.js @@ -3,13 +3,14 @@ import Lefttop from './left/left-top' // import Leftcenter from "./left/left-center" import Leftbottom from './left/left-bottom' -const Left = () => { +const Left = (props) => { + const { dispatch } = props return ( <>
- + - +
) diff --git a/web/client/src/sections/quanju/containers/footer/leadership/left/echarts/leftbottomecharts.js b/web/client/src/sections/quanju/containers/footer/leadership/left/echarts/leftbottomecharts.js index 3b856b15..35f776a4 100644 --- a/web/client/src/sections/quanju/containers/footer/leadership/left/echarts/leftbottomecharts.js +++ b/web/client/src/sections/quanju/containers/footer/leadership/left/echarts/leftbottomecharts.js @@ -1,7 +1,22 @@ -import React, { useEffect, useRef } from 'react' +import React, { useEffect, useRef, useState } from 'react' import * as echarts from 'echarts'; +import { getdaolutongji } from "../../../../../actions/example" -const Leftbottomecharts = () => { +const Leftbottomecharts = (props) => { + const { dispatch } = props + const [list, setList] = useState([]) + const [count, setCount] = useState([]) + useEffect(() => { + const res = dispatch(getdaolutongji()).then((res) => { + setList(res.payload.data.construction.map((item, index) => { + return item.year + })); + setCount(res.payload.data.construction.map((item, index) => { + return item.count.toFixed(3) + })) + }); + }, []) + console.log(list, count); const chartRef = useRef(null); useEffect(() => { var chartInstance = echarts.init(chartRef.current); @@ -9,7 +24,7 @@ const Leftbottomecharts = () => { title: { }, tooltip: { - formatter: " {b}年
施工了{c}公里", + formatter: " {b}年
{c}公里", trigger: "axis", axisPointer: { lineStyle: { @@ -46,15 +61,13 @@ const Leftbottomecharts = () => { }, axisLine: { lineStyle: { - color: "rgba(176,215,255,0.4)", + color: /* "rgba(176,215,255,0.4)" */"rgba(216,240,255,0.8)", }, }, - data: [ - "13:00", - "13:05", - "13:10", - "13:15", - ], + axisLabel: { + color: "rgba(216,240,255,0.8)", + }, + data: list, normal: { lineStyle: { color: "rgba(226,240,255,0.4)"//折线的颜色 @@ -77,9 +90,9 @@ const Leftbottomecharts = () => { // nameTextStyle: { // color: "#abb8ce", // }, - // axisLabel: { - // color: "#abb8ce", - // }, + axisLabel: { + color: "rgba(216,240,255,0.8)", + }, axisTick: { //y轴刻度线 show: false, @@ -121,7 +134,7 @@ const Leftbottomecharts = () => { shadowBlur: 10, }, }, - data: [220, 182, 191, 134], + data: count, }, ], }; @@ -129,7 +142,7 @@ const Leftbottomecharts = () => { window.addEventListener('resize', function () { chartInstance.resize(); }) - }, []); + }, [list, count]); return ( diff --git a/web/client/src/sections/quanju/containers/footer/leadership/left/left-bottom.js b/web/client/src/sections/quanju/containers/footer/leadership/left/left-bottom.js index 8fbcd053..458f0972 100644 --- a/web/client/src/sections/quanju/containers/footer/leadership/left/left-bottom.js +++ b/web/client/src/sections/quanju/containers/footer/leadership/left/left-bottom.js @@ -2,12 +2,13 @@ import React from 'react' import Module from '../../../public/module' import Echartes from "./echarts/leftbottomecharts" -const Leftbottom = () => { +const Leftbottom = (props) => { + const { dispatch } = props const style = { height: "28%", marginTop: "5%" } return ( <> - + ) diff --git a/web/client/src/sections/quanju/containers/footer/leadership/left/left-center.js b/web/client/src/sections/quanju/containers/footer/leadership/left/left-center.js index 19dd88b8..03d1e8a5 100644 --- a/web/client/src/sections/quanju/containers/footer/leadership/left/left-center.js +++ b/web/client/src/sections/quanju/containers/footer/leadership/left/left-center.js @@ -1,6 +1,6 @@ import React, { useEffect, useState } from 'react' import Module from '../../../public/module' -import Lunbo from "../centerleft/lunbo/lunbo" +import Lunbo from "../right/lunbo" // import "./left.less" const Leftcenter = () => { @@ -25,7 +25,7 @@ const Leftcenter = () => { ]) useEffect(() => { const timer = setInterval(() => { - if (num == 12) { + if (num == list.length) { setNum(1); setTu(list[0].img); } else { @@ -42,13 +42,13 @@ const Leftcenter = () => { return ( //
// {/*
*/} -
  • { +
  • { setTu(item.img); setNum(index + 1); setName(item.name) // console.log(list); }}> -

    {item.name}

    +

    {item.name}

  • // {/*
    */} @@ -86,7 +86,7 @@ const Leftcenter = () => { }
    { const style = { height: "68%" } + useEffect(() => { + // return () => { + request('GET', '/search').then((success, failure) => { + console.log(success); + }); + // }; + }, []) return ( <> diff --git a/web/client/src/sections/quanju/containers/footer/leadership/right.js b/web/client/src/sections/quanju/containers/footer/leadership/right.js index 58172bba..4623d72a 100644 --- a/web/client/src/sections/quanju/containers/footer/leadership/right.js +++ b/web/client/src/sections/quanju/containers/footer/leadership/right.js @@ -3,12 +3,13 @@ import Righttop from './right/right-top' import Rightcenter from './right/right-center' import Rightbottom from './right/right-bottom' -const Right = () => { +const Right = (props) => { + const { dispatch } = props return ( <>
    - - + +
    ) diff --git a/web/client/src/sections/quanju/containers/footer/leadership/right/hudong.js b/web/client/src/sections/quanju/containers/footer/leadership/right/hudong.js index e740f270..f672f98a 100644 --- a/web/client/src/sections/quanju/containers/footer/leadership/right/hudong.js +++ b/web/client/src/sections/quanju/containers/footer/leadership/right/hudong.js @@ -40,14 +40,15 @@ class ReactCarousel extends Component { imgs: [], showIndex: 0, //显示第几个图片 timer: null, // 定时器 - show: false // 前后按钮显示 + show: false, // 前后按钮显示 + // arr1: "" } - this.setState({ - imgs: this.chunk((this.state.shuzu), 4) - }) - console.log(this.chunk((this.state.shuzu), 4)); + // console.log(this.state.imgs); + this.state.imgs = this.chunk((this.state.shuzu), 4) } + + render() { return (
    @@ -57,15 +58,27 @@ class ReactCarousel extends Component { >
      { + this.state.imgs.map((value, index) => { return ( -
    • -
      {value[0].name}
      -
      {value[1].name}
      +
      + {value[0]?.name} +
      + {value[1]?.name ?
      + {value[1]?.name} +
      : ""} + {value[2]?.name ?
      + {value[2]?.name} +
      : ""} + {value[3]?.name ?
      + {value[3]?.name} +
      : ""} + {/*
      {value[1].name}
      {value[2].name}
      -
      {value[3].name}
      +
      {value[3].name}
      */}
    • ) }) @@ -94,6 +107,7 @@ class ReactCarousel extends Component { componentDidMount() { //一开始自动播放 this.start(); } + componentWillUnmount() { //销毁前清除定时器 this.stop(); } diff --git a/web/client/src/sections/quanju/containers/footer/leadership/right/left.less b/web/client/src/sections/quanju/containers/footer/leadership/right/left.less index dcf56b90..bb7613be 100644 --- a/web/client/src/sections/quanju/containers/footer/leadership/right/left.less +++ b/web/client/src/sections/quanju/containers/footer/leadership/right/left.less @@ -2,13 +2,16 @@ li{ list-style-type:none } -.ant-select-selector, .ant-select-selection-placeholder{ +.wy-rightTop{ + .ant-select-selector, .ant-select-selection-placeholder{ background-color:#011f59 !important; border:#1E7BD6 1px solid !important; font-family: PingFangSC-Regular, PingFang SC !important; height: 25px !important; // line-height: 25px !important; } +} + .ant-select-selection-item{ line-height: 25px !important; } diff --git a/web/client/src/sections/quanju/containers/footer/leadership/right/lunbo copy.js b/web/client/src/sections/quanju/containers/footer/leadership/right/lunbo copy.js deleted file mode 100644 index f6230ea7..00000000 --- a/web/client/src/sections/quanju/containers/footer/leadership/right/lunbo copy.js +++ /dev/null @@ -1,9 +0,0 @@ -import React from 'react' - -function lunbo() { - return ( -
      lunbo copy
      - ) -} - -export default lunbo \ No newline at end of file diff --git a/web/client/src/sections/quanju/containers/footer/leadership/right/right-bottom.js b/web/client/src/sections/quanju/containers/footer/leadership/right/right-bottom.js index 0558c40e..833f6b23 100644 --- a/web/client/src/sections/quanju/containers/footer/leadership/right/right-bottom.js +++ b/web/client/src/sections/quanju/containers/footer/leadership/right/right-bottom.js @@ -2,54 +2,36 @@ import React, { useState, useEffect } from 'react' import Module from '../../../public/module' import Lun from "./lunbo" import "./left.less" +import { getZhichaolist } from "../../../../actions/example" -const Rightbottom = () => { +const Rightbottom = (props) => { + const { dispatch } = props const style = { height: "28%", marginTop: "4%" } const [beijing, setBeijing] = useState() - const [list, setList] = useState([{ name: "苏LD1112121", chaoxian: "30%", penalty: "-6分", days: "2022年5月4日" }, - { name: "苏LD11121", chaoxian: "30%", penalty: "-6分和扣200元", days: "2022年5月4日" }, - { name: "苏LD112512121", chaoxian: "30%", penalty: "-6分", days: "2022年5月4日" }, - { name: "苏L1112121", chaoxian: "30%", penalty: "-6分", days: "2022年5月4日" }, - { name: "苏LD1151121", chaoxian: "30%", penalty: "-6分", days: "2022年5月4日" }, - { name: "苏LD1112121", chaoxian: "30%", penalty: "-6分", days: "2022年5月4日" }, - { name: "苏LD11912121", chaoxian: "30%", penalty: "-6分", days: "2022年5月4日" }, - { name: "苏LD16112121", chaoxian: "30%", penalty: "-6分", days: "2022年5月4日" }, - { name: "苏L2D111221", chaoxian: "30%", penalty: "-6分", days: "2022年5月4日" }, - { name: "62", chaoxian: "30%", penalty: "-6分", days: "2022年5月4日" }, - { name: "苏LD11152121", chaoxian: "30%", penalty: "-6分", days: "2022年5月4日" }, - { name: "苏L1D1112121", chaoxian: "30%", penalty: "-6分", days: "2022年5月4日" }, - { name: "苏LD11512121", chaoxian: "30%", penalty: "-6分", days: "2022年5月4日" }, - { name: "苏LD13112121", chaoxian: "30%", penalty: "-6分", days: "2022年5月4日" }, - { name: "苏LD111612121", chaoxian: "30%", penalty: "-6分", days: "2022年5月4日" }, - { name: "苏LD111216221", chaoxian: "30%", penalty: "-6分", days: "2022年5月4日" }, - { name: "苏L63D1112121", chaoxian: "30%", penalty: "-6分", days: "2022年5月4日" }, - { name: "苏LD163112121", chaoxian: "30%", penalty: "-6分", days: "2022年5月4日" }, - { name: "苏LD162112121", chaoxian: "30%", penalty: "-6分", days: "2022年5月4日" }, - { name: "苏LD651112121", chaoxian: "30%", penalty: "-6分", days: "2022年5月4日" }]) + const [list, setList] = useState([]) + const [nums, setNums] = useState([]) + useEffect(() => { + const zhichaolist = dispatch(getZhichaolist()).then((res) => { + setList(res.payload?.data?.overSpeedList) + // console.log(res); + setNums(res.payload?.data?.processed) + }) + }) + // console.log(list); const renderBody = () => { return ( - //
      { - // lists.map((item, index) => { - // return (
      - //
      - //
    • { - // }}>{item.name}
    • - //
      - //
      ) - - // }) - // } - //
      - {list.map((item, index) => { - return
    • { + {list?.map((item, index) => { + return
    • { setBeijing(index) // console.log(beijing); }}> -
      {item.name}
      -
      {item.chaoxian}
      -
      {item.penalty}
      -
      {item.days}
    • + {beijing == index ? : ""} +
      {item.licensePlate}
      +
      {item.overrunRate ? item.overrunRate : "--"}
      +
      {item.deductPoints ? "-" + item.deductPoints + "分" : ""}{item.deductPoints && item.fine ? "和" : ""}{item.fine ? "-" + item.fine + "元" : ""}{item.deductPoints || item.fine ? "" : "--"}
      +
      {item.processingTime ? item.processingTime : "--"}
      + }) } @@ -61,7 +43,7 @@ const Rightbottom = () => {
      - 已处理192件 + 已处理{nums}

      车牌号

      diff --git a/web/client/src/sections/quanju/containers/footer/leadership/right/right-top.js b/web/client/src/sections/quanju/containers/footer/leadership/right/right-top.js index ea666b61..51a657c3 100644 --- a/web/client/src/sections/quanju/containers/footer/leadership/right/right-top.js +++ b/web/client/src/sections/quanju/containers/footer/leadership/right/right-top.js @@ -1,7 +1,7 @@ import React, { useState, useEffect } from 'react'; import Module from '../../../public/module' import { Radio, Select } from 'antd'; -import Lunbo from "../centerleft/lunbo/lunbo" +import Lunbo from "./lunbo" import Huadong from './hudong'; import "./left.less" @@ -60,7 +60,7 @@ const Righttop = () => { {num == index ? : ""} {num == index ? : ""} -

      {item.name}

      {item.name}

      +

      {item.name}

      {item.name}

      // {/*
      */} //
      ) @@ -76,7 +76,7 @@ const Righttop = () => {
      -
      +