Browse Source

Merge remote-tracking branch 'origin/shibei_master' into 市北master

master
jianjun 3 years ago
parent
commit
f6565c29c0
  1. BIN
      src/assets/img/modules/visual/fenlei-box.png
  2. 42
      src/assets/scss/main-shuju.scss
  3. 46
      src/assets/scss/modules/visual/basicInfoMain.scss
  4. 21
      src/assets/scss/modules/visual/distributionAnalyze.scss
  5. 10
      src/assets/scss/modules/visual/duoyuanfenxi.scss
  6. 55
      src/assets/scss/modules/visual/fiveLayerMap.scss
  7. 5
      src/assets/scss/modules/visual/heart.scss
  8. 19
      src/assets/scss/modules/visual/houseStatic.scss
  9. 37
      src/assets/scss/modules/visual/incident-info.scss
  10. 31
      src/assets/scss/modules/visual/issue-info.scss
  11. 15
      src/assets/scss/modules/visual/people.scss
  12. 4
      src/assets/scss/modules/visual/personCategory.scss
  13. 12
      src/assets/scss/modules/visual/processAnalyze.scss
  14. 10
      src/assets/scss/modules/visual/resibuzz.scss
  15. 19
      src/assets/scss/modules/visual/searchPerson.scss
  16. 3
      src/assets/scss/modules/visual/search_1.scss
  17. 12
      src/assets/scss/modules/visual/shijianchulifenxi.scss
  18. 12
      src/assets/scss/modules/visual/shijianfenleifenxi.scss
  19. 10
      src/assets/scss/modules/visual/typeAnalyze.scss
  20. 5
      src/assets/scss/modules/visual/warning.scss
  21. 7
      src/assets/scss/shuju-card.scss
  22. 24
      src/assets/scss/shuju-variables.scss
  23. 2
      src/js/dai/request.js
  24. 2
      src/js/dai/request2.js
  25. 89
      src/js/store/index.js
  26. 40
      src/router/index.js
  27. 1
      src/utils/index.js
  28. 62
      src/views/components/fixed1920.vue
  29. 3
      src/views/main-shuju/main-content.vue
  30. 56
      src/views/main-shuju/main.vue
  31. 16
      src/views/modules/404.vue
  32. 4529
      src/views/modules/base/organization/organization.vue
  33. 16
      src/views/modules/visual/404.vue
  34. 2
      src/views/modules/visual/basicinfo/houseStatic/houseStatic.vue
  35. 8
      src/views/modules/visual/basicinfo/people.vue
  36. 8
      src/views/modules/visual/basicinfo/peopleList.vue
  37. 5
      src/views/modules/visual/basicinfo/peopleSearch.vue
  38. 2
      src/views/modules/visual/basicinfo/personCategory/recordList.vue
  39. 2
      src/views/modules/visual/communityGovern/distributionAnalyze.vue
  40. 15
      src/views/modules/visual/communityGovern/duoyuanfuwu/duoyuanfuwufenxi.vue
  41. 2
      src/views/modules/visual/communityGovern/fivelayers/mapIndex copy 2.vue
  42. 4
      src/views/modules/visual/communityGovern/fivelayers/mapIndex copy.vue
  43. 2
      src/views/modules/visual/communityGovern/fivelayers/mapIndex-baidu.vue
  44. 110
      src/views/modules/visual/communityGovern/fivelayers/mapIndex.vue
  45. 4
      src/views/modules/visual/communityGovern/resibuzz.vue
  46. 2
      src/views/modules/visual/communityGovern/shijianchuli/shijianchulifenxi copy.vue
  47. 4
      src/views/modules/visual/communityGovern/shijianchuli/shijianchulifenxi.vue
  48. 4
      src/views/modules/visual/communityGovern/shijianfenlei/shijianfenleifenxi.vue
  49. 4
      src/views/modules/visual/communityGovern/typeAnalyze.vue
  50. 17
      src/views/modules/visual/communityParty/community.vue
  51. 12
      src/views/modules/visual/communityParty/elegant.vue
  52. 9
      src/views/modules/visual/communityParty/gridParty.vue
  53. 13
      src/views/modules/visual/communityParty/party.vue
  54. 11
      src/views/modules/visual/communityParty/partyOld.vue
  55. 51
      src/views/modules/visual/cpts/card.vue
  56. 126
      src/views/modules/visual/cpts/tb.vue
  57. 84
      src/views/modules/visual/heart/index.vue
  58. 16
      src/views/modules/visual/measure/service.vue
  59. 17
      src/views/modules/visual/measure/volunteer.vue
  60. 7
      src/views/modules/visual/plugin/power/components/house-dialog.vue
  61. 5
      src/views/modules/visual/plugin/power/components/info-dialog.vue
  62. 119
      src/views/modules/visual/warning/components/screen-table/index.vue
  63. 2
      src/views/modules/visual/warning/components/screen-table/people-list.vue
  64. 4
      src/views/modules/visual/warning/index.vue
  65. 2
      src/views/modules/warning/index.vue
  66. 379
      src/views/modules/workSys/role/role.vue
  67. 356
      src/views/modules/workSys/role/roleForm.vue
  68. 4
      src/views/pages/404.vue
  69. 99
      src/views/pages/index.vue
  70. 2
      src/views/pages/login.vue

BIN
src/assets/img/modules/visual/fenlei-box.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.4 KiB

42
src/assets/scss/main-shuju.scss

@ -1,15 +1,18 @@
@import "~@/element-ui/theme-variables.scss"; @import "~@/element-ui/theme-variables.scss";
@import "./variables.scss"; @import "./shuju-variables.scss";
@import "./c/config";
@import "./c/function";
@import "./modules/visual/c/common.scss";
// $navbar--height: 60px; .g-main {
body { padding: 10px 20px 10px;
} }
.m-iframe { .m-iframe {
position: relative; position: relative;
width: 100vw; box-sizing: content-box;
height: calc(100vh - 55px); width: calc(100% + 20px);
margin: -10px; margin: -10px -20px -10px;
z-index: 100; z-index: 100;
} }
@ -19,6 +22,8 @@ body {
background-image: url(../img/shuju/bg.jpg); background-image: url(../img/shuju/bg.jpg);
background-size: cover; background-size: cover;
background-position: center 0; background-position: center 0;
height: 100%;
@include scrollBar;
.el-card + .el-card { .el-card + .el-card {
margin-top: 15px; margin-top: 15px;
@ -171,6 +176,10 @@ body {
// box-shadow: 0 1px 0 0 rgba(0, 0, 0, 0.05); // box-shadow: 0 1px 0 0 rgba(0, 0, 0, 0.05);
background: linear-gradient(180deg, #00023f, #176dec); background: linear-gradient(180deg, #00023f, #176dec);
box-shadow: 0px 3px 16px 0px rgba(187, 187, 227, 0.35); box-shadow: 0px 3px 16px 0px rgba(187, 187, 227, 0.35);
font-size: 19px;
.el-menu-item {
font-size: 19px;
}
.navbar--colorful { .navbar--colorful {
.navbar__body { .navbar__body {
@ -229,17 +238,17 @@ body {
display: flex; display: flex;
justify-content: center; justify-content: center;
align-items: center; align-items: center;
padding: 5px; padding: 10px 20px;
margin: 0; margin: 0;
width: 100%; width: 100%;
height: 100%; height: 100%;
font-size: 24px; font-size: 28px;
font-weight: bold;
text-transform: uppercase; text-transform: uppercase;
white-space: nowrap; white-space: nowrap;
// overflow: hidden; // overflow: hidden;
transition: width 0.3s; transition: width 0.3s;
font-family: FZZCHJW; font-family: FZZCHJW;
font-weight: normal;
color: #ffffff; color: #ffffff;
background: linear-gradient(0deg, #03c7ff 24.609375%, #ffffff 81.0791015625%); background: linear-gradient(0deg, #03c7ff 24.609375%, #ffffff 81.0791015625%);
-webkit-background-clip: text; -webkit-background-clip: text;
@ -288,6 +297,7 @@ body {
.navbar__menu { .navbar__menu {
background-color: transparent; background-color: transparent;
border-bottom: 0 !important; border-bottom: 0 !important;
a:focus, a:focus,
a:hover { a:hover {
text-decoration: none; text-decoration: none;
@ -349,7 +359,7 @@ body {
position: absolute; position: absolute;
display: none; display: none;
padding: 0 10px; padding: 0 10px;
width: 120px; width: 160px;
left: -100px; left: -100px;
right: -100px; right: -100px;
margin: 0 auto; margin: 0 auto;
@ -360,6 +370,9 @@ body {
border-top: 1px dashed rgba(#fff, 0.4); border-top: 1px dashed rgba(#fff, 0.4);
color: rgba(#fff, 0.7); color: rgba(#fff, 0.7);
transition: all ease 0.5s; transition: all ease 0.5s;
padding: 10px 0;
line-height: $navbar--height * 0.5;
&.z-on { &.z-on {
font-weight: bold; font-weight: bold;
} }
@ -409,13 +422,14 @@ body {
} }
.navbar__icon-menu { .navbar__icon-menu {
vertical-align: middle; vertical-align: middle;
font-size: 16px; font-size: 20px;
} }
.el-dropdown { .el-dropdown {
color: #fff; color: #fff;
font-size: 16px;
.el-icon-arrow-down { .el-icon-arrow-down {
width: auto; width: auto;
font-size: 12px; font-size: 16px;
margin: 0 0 0 5px; margin: 0 0 0 5px;
transition: transform 0.3s; transition: transform 0.3s;
} }
@ -459,9 +473,9 @@ body {
.navbar__avatar { .navbar__avatar {
.el-dropdown-link { .el-dropdown-link {
> img { > img {
width: 36px; width: 42px;
height: auto; height: auto;
margin-right: 5px; margin-right: 7px;
border-radius: 100%; border-radius: 100%;
vertical-align: middle; vertical-align: middle;
} }

46
src/assets/scss/modules/visual/basicInfoMain.scss

@ -3,7 +3,8 @@
@import "./c/common"; @import "./c/common";
.div_top { .div_top {
margin-left: 10px; margin-left: 10px;
height: 35px; height: 40px;
line-height: 35px;
.router_line { .router_line {
width: 212px; width: 212px;
height: 1px; height: 1px;
@ -12,8 +13,8 @@
/* opacity: 0.09; */ /* opacity: 0.09; */
} }
.div_router { .div_router {
margin-top: 5px;
font-size: 16px; font-size: 16px;
font-weight: bold;
.router_parents { .router_parents {
color: #a0c3d9; color: #a0c3d9;
@ -40,7 +41,7 @@
width: 100%; width: 100%;
// padding: 10px 5px 13px; // padding: 10px 5px 13px;
// margin-top: 8px; // margin-top: 8px;
height: calc(88vh - 15px); height: calc(825px - 15px);
color: #fff; color: #fff;
// background: url('../../../img/modules/visual/warning-box.png') no-repeat // background: url('../../../img/modules/visual/warning-box.png') no-repeat
// center; // center;
@ -109,10 +110,9 @@
box-sizing: border-box; box-sizing: border-box;
width: 100%; width: 100%;
height: calc(88vh - 10px); height: calc(825px - 10px);
color: #fff; color: #fff;
background: url('../../../img/modules/visual/warning-box.png') no-repeat background: url("../../../img/modules/visual/fenlei-box.png") no-repeat center;
center;
background-size: 100% 100%; background-size: 100% 100%;
// padding: 45px 21px 35px 24px; // padding: 45px 21px 35px 24px;
@ -208,13 +208,12 @@
.div_community_info { .div_community_info {
box-sizing: border-box; box-sizing: border-box;
flex: 0 0 calc(100vw - 620px); flex: 0 0 calc(1919px - 620px);
// width: calc(100vw - 560px); // width: calc(1919px - 560px);
height: calc(88vh - 10px); height: calc(825px - 10px);
color: #fff; color: #fff;
background: url('../../../img/modules/visual/warning-box.png') no-repeat background: url("../../../img/modules/visual/warning-box.png") no-repeat center;
center;
background-size: 100% 100%; background-size: 100% 100%;
.div_select { .div_select {
@ -253,11 +252,11 @@
box-sizing: border-box; box-sizing: border-box;
margin-top: 9px; margin-top: 9px;
height: calc(88vh - 120px); height: calc(825px - 120px);
} }
.div_room { .div_room {
// height: calc(88vh - 40px); // height: calc(825px - 40px);
// margin-top: 9px; // margin-top: 9px;
display: flex; display: flex;
flex-wrap: wrap; flex-wrap: wrap;
@ -271,15 +270,19 @@
box-shadow: 0 0 10px inset #1a5afd; box-shadow: 0 0 10px inset #1a5afd;
} }
.item { .item {
background-color: #011168;
margin-top: 12px; margin-top: 12px;
width: 244px; width: 242px;
height: 190px; height: 190px;
border: 1px solid #037ddc; border: 1px solid #037ddc;
border-radius: 8px; border-radius: 8px;
text-align: center; text-align: center;
margin-left: 11px; margin-left: 11px;
position: relative; position: relative;
background-color: rgba(#000, 0.3);
&:nth-child(5n + 1) {
margin-left: 0;
}
// &:first-child { // &:first-child {
// margin-left: 0; // margin-left: 0;
@ -317,19 +320,18 @@
justify-content: flex-start; justify-content: flex-start;
// margin-left: 7px; // margin-left: 7px;
.div_icon_item{ .div_icon_item {
.icon_img{ .icon_img {
margin-left: 5px; margin-left: 5px;
width: 21px; width: 21px;
height: 20px; height: 20px;
} }
.icon_name{ .icon_name {
text-align: center; text-align: center;
display: flex; display: flex;
justify-content: center; justify-content: center;
} }
} }
} }
.div_user:hover { .div_user:hover {
cursor: pointer; cursor: pointer;
@ -362,7 +364,7 @@
} }
.div_room::after { .div_room::after {
content: ''; content: "";
flex: 1; flex: 1;
} }
} }
@ -445,7 +447,7 @@
width: 320px; width: 320px;
height: 470px; height: 470px;
color: #fff; color: #fff;
background: url('../../../img/modules/visual/box-2.png') no-repeat center; background: url("../../../img/modules/visual/box-2.png") no-repeat center;
background-size: 100% 100%; background-size: 100% 100%;
padding: 45px 20px 35px 20px; padding: 45px 20px 35px 20px;
@ -580,7 +582,5 @@
} }
} }
} }
} }
} }

21
src/assets/scss/modules/visual/distributionAnalyze.scss

@ -1,9 +1,10 @@
@import '../../c/config'; @import "../../c/config";
@import '../../c/function'; @import "../../c/function";
@import './c/common'; @import "./c/common";
.title { .title {
padding: 10px; margin-bottom: 10px;
padding: 4px 2px;
font-size: 22px; font-size: 22px;
font-family: PingFang SC; font-family: PingFang SC;
font-weight: 800; font-weight: 800;
@ -37,7 +38,7 @@
color: #fff; color: #fff;
} }
.second-title-label::after { .second-title-label::after {
content: ''; content: "";
position: absolute; position: absolute;
top: 50%; top: 50%;
left: 20px; left: 20px;
@ -63,7 +64,7 @@
} }
.el-icon-arrow-up:before { .el-icon-arrow-up:before {
content: '\e78f'; content: "\e78f";
} }
// .el-select__caret:before { // .el-select__caret:before {
// content: '\E790' // content: '\E790'
@ -117,11 +118,11 @@
flex-direction: row; flex-direction: row;
// flex-wrap: wrap; // flex-wrap: wrap;
justify-content: space-between; justify-content: space-between;
height: calc(100vh - 190px); height: calc(988px - 190px);
.g-l { .g-l {
width: 40%; width: 40%;
height: calc(100vh - 200px); height: calc(988px - 200px);
.echart-line { .echart-line {
margin-left: 30px; margin-left: 30px;
@ -149,11 +150,11 @@
.g-r { .g-r {
width: 55%; width: 55%;
height: calc(100vh - 210px); height: calc(988px - 210px);
.r-map { .r-map {
position: relative; position: relative;
height: calc(100vh - 210px - 50px); height: calc(988px - 210px - 50px);
width: 100%; width: 100%;
.map { .map {

10
src/assets/scss/modules/visual/duoyuanfenxi.scss

@ -6,12 +6,12 @@
.g-cpt-resi { .g-cpt-resi {
display: flex; display: flex;
flex-direction: row; flex-direction: row;
height: calc(100vh - 180px); height: calc(988px - 180px);
.g-l { .g-l {
flex-shrink: 0; flex-shrink: 0;
width: 700px; width: 700px;
height: calc(100vh - 230px); height: calc(988px - 230px);
.l_top { .l_top {
height: 385px; height: 385px;
@ -21,7 +21,7 @@
} }
.l_bottom { .l_bottom {
height: calc(100vh - 230px - 385px); height: calc(988px - 230px - 385px);
margin-top: 40px; margin-top: 40px;
} }
} }
@ -29,8 +29,8 @@
.g-r { .g-r {
text-align: center; text-align: center;
margin: 20px 10px 20px; margin: 20px 10px 20px;
width: calc(100vw - 700px); width: calc(1919px - 700px);
height: calc(100vh - 180px - 20px); height: calc(988px - 180px - 20px);
} }
} }

55
src/assets/scss/modules/visual/fiveLayerMap.scss

@ -3,7 +3,8 @@
@import "./c/common"; @import "./c/common";
.div_top { .div_top {
margin-left: 10px; margin-left: 10px;
height: 35px; height: 40px;
line-height: 35px;
.router_line { .router_line {
width: 212px; width: 212px;
height: 1px; height: 1px;
@ -12,8 +13,8 @@
/* opacity: 0.09; */ /* opacity: 0.09; */
} }
.div_router { .div_router {
margin-top: 5px;
font-size: 16px; font-size: 16px;
font-weight: bold;
.router_parents { .router_parents {
color: #a0c3d9; color: #a0c3d9;
@ -37,10 +38,10 @@
.div_map { .div_map {
box-sizing: border-box; box-sizing: border-box;
width: 100%; width: 1920px - 630px - 20px;
// padding: 10px 5px 13px; // padding: 10px 5px 13px;
// margin-top: 8px; // margin-top: 8px;
height: calc(88vh - 15px); height: calc(810px);
color: #fff; color: #fff;
// background: url('../../../img/modules/visual/warning-box.png') no-repeat // background: url('../../../img/modules/visual/warning-box.png') no-repeat
// center; // center;
@ -49,17 +50,14 @@
} }
.div_data { .div_data {
flex: 0 0 610px; width: 630px;
margin-left: 12px; margin-left: 12px;
.div_tips{ .div_tips{
box-sizing: border-box; box-sizing: border-box;
width: 100%; width: 100%;
height: 302px; height: 300px;
color: #fff; color: #fff;
background: url('../../../img/modules/visual/warning-box.png') no-repeat
center;
background-size: 100% 100%;
.div_coverage{ .div_coverage{
padding: 30px 10px 32px 10px; padding: 30px 10px 32px 10px;
@ -89,9 +87,12 @@
} }
.div_category { .div_category {
@include scrollBar;
box-sizing: border-box; box-sizing: border-box;
height:238px; height:176px;
padding:0 10px 20px; padding:0 10px 0;
overflow-y: auto;
overflow-x: hidden;
.category_item { .category_item {
@ -159,17 +160,14 @@
box-sizing: border-box; box-sizing: border-box;
width: 100%; width: 100%;
margin-top:10px; margin-top:10px;
height: calc(88vh - 302px - 10px); height: calc(810px - 302px - 10px);
color: #fff; color: #fff;
background: url('../../../img/modules/visual/warning-box.png') no-repeat overflow-x: hidden;
center;
background-size: 100% 100%;
padding: 32px 21px 20px 20px;
.div_search_list { .div_search_list {
margin: 0 auto; margin: 6px auto;
text-align: center; text-align: center;
width: 559px; width: 570px;
height: 48px; height: 48px;
background-color: #011168; background-color: #011168;
border-radius: 4px; border-radius: 4px;
@ -194,14 +192,14 @@
.btn { .btn {
text-align: center; text-align: center;
flex: 0 0 113px; flex: 0 0 113px;
height: 48px; height: 52px;
background: linear-gradient(90deg, #1A5AFD, #26C4FF); background: linear-gradient(90deg, #1A5AFD, #26C4FF);
border-radius: 0px 4px 4px 0px; border-radius: 0px 4px 4px 0px;
font-size: 20px; font-size: 20px;
font-family: PingFang SC; font-family: PingFang SC;
font-weight: 400; font-weight: 400;
color: #ffffff; color: #ffffff;
line-height: 48px; line-height: 52px;
} }
.btn:hover { .btn:hover {
cursor: pointer; cursor: pointer;
@ -210,17 +208,16 @@
.tb { .tb {
height: calc(88vh - 302px - 10px - 150px); height: calc(810px - 302px - 20px - 150px);
overflow-y: auto; overflow-y: auto;
@include scrollBar; @include scrollBar;
margin-top:20px; margin-top:20px;
} }
.m-pagination { .m-pagination {
position: absolute; // position: absolute;
box-sizing: border-box; box-sizing: border-box;
right: 5px; margin-top: 2px;
bottom: 5px;
width: 100%; width: 100%;
height: 40px; height: 40px;
display: flex; display: flex;
@ -252,10 +249,10 @@
.div_community_info { .div_community_info {
box-sizing: border-box; box-sizing: border-box;
flex: 0 0 calc(100vw - 620px); flex: 0 0 calc(1919px - 620px);
// width: calc(100vw - 560px); // width: calc(1919px - 560px);
height: calc(88vh - 10px); height: calc(810px - 10px);
color: #fff; color: #fff;
background: url('../../../img/modules/visual/warning-box.png') no-repeat background: url('../../../img/modules/visual/warning-box.png') no-repeat
center; center;
@ -297,11 +294,11 @@
box-sizing: border-box; box-sizing: border-box;
margin-top: 9px; margin-top: 9px;
height: calc(88vh - 120px); height: calc(810px - 120px);
} }
.div_room { .div_room {
// height: calc(88vh - 40px); // height: calc(810px - 40px);
// margin-top: 9px; // margin-top: 9px;
display: flex; display: flex;
flex-wrap: wrap; flex-wrap: wrap;

5
src/assets/scss/modules/visual/heart.scss

@ -47,7 +47,8 @@
.m-tb { .m-tb {
width: 33%; width: 33%;
.title { .title {
padding: 10px; margin-bottom: 10px;
padding: 4px 2px;
font-size: 22px; font-size: 22px;
font-family: PingFang SC; font-family: PingFang SC;
font-weight: 800; font-weight: 800;
@ -64,7 +65,7 @@
} }
} }
.tb { .tb {
height: calc(100vh - 230px); height: calc(988px - 230px);
overflow-y: auto; overflow-y: auto;
@include scrollBar; @include scrollBar;
} }

19
src/assets/scss/modules/visual/houseStatic.scss

@ -1,5 +1,5 @@
.warning-box{ .warning-box{
padding: 0 21px 20px 24px padding: 0 ;
} }
.no-data{ .no-data{
margin-top:50px; margin-top:50px;
@ -11,6 +11,9 @@
display: flex; display: flex;
align-items: center; align-items: center;
cursor: pointer; cursor: pointer;
margin-bottom: 10px;
padding: 4px 2px;
.title-icon { .title-icon {
display: block; display: block;
width: 46px; width: 46px;
@ -60,7 +63,7 @@
} }
} }
.title-label { .title-label {
font-size: 20px; font-size: 22px;
font-weight: 800; font-weight: 800;
::v-deep .el-input { ::v-deep .el-input {
width: 180px; width: 180px;
@ -107,23 +110,25 @@
flex-grow:0; flex-grow:0;
flex-shrink:0; flex-shrink:0;
width:50%; width:50%;
height: 100%; height: 100%;
.div-chart{ .div-chart{
display: flex; display: flex;
width: 100%; width: 100%;
flex-wrap: wrap;
.echart-wr{ .echart-wr{
position: relative;
flex-shrink: 0; flex-shrink: 0;
height: 420px; height: 420px;
width: 70%; width: 70%;
} }
.div-tip{ .div-tip{
flex-shrink: 0; flex-shrink: 0;
width: 30%; width: 25%;
display: flex; display: flex;
flex-direction: column; flex-direction: column;
justify-content: center; justify-content: center;
margin-left:20px; margin-left:5%;
margin-top: -23px; margin-top: -23px;
display: flex; display: flex;
@ -151,11 +156,11 @@
.div-tip2{ .div-tip2{
flex-shrink: 0; flex-shrink: 0;
width: 30%; width: 25%;
display: flex; display: flex;
flex-direction: column; flex-direction: column;
justify-content: center; justify-content: center;
margin-left:20px; margin-left:5%;
margin-top: -23px; margin-top: -23px;
display: flex; display: flex;

37
src/assets/scss/modules/visual/incident-info.scss

@ -1,6 +1,6 @@
@import '../../c/config'; @import "../../c/config";
@import '../../c/function'; @import "../../c/function";
@import './c/common'; @import "./c/common";
.m-pop { .m-pop {
@include shield; @include shield;
@ -103,7 +103,18 @@
.info-content { .info-content {
margin: 20px 0; margin: 20px 0;
} }
.info-pics {
display: flex;
margin: 20px 0;
img {
display: block;
width: 32%;
height: 90px;
margin-right: 9px;
object-fit: cover;
}
}
.info-prop { .info-prop {
position: relative; position: relative;
@ -123,7 +134,7 @@
} }
&::before { &::before {
content: ''; content: "";
display: block; display: block;
position: absolute; position: absolute;
top: 9px; top: 9px;
@ -134,18 +145,6 @@
border-radius: 3px; border-radius: 3px;
margin-right: 10px; margin-right: 10px;
} }
.info-pics {
display: flex;
margin: 20px 0;
img {
display: block;
width: 32%;
height: 90px;
margin-right: 9px;
object-fit: cover;
}
}
} }
} }
@ -265,7 +264,7 @@
padding-right: 10px; padding-right: 10px;
&::before { &::before {
content: ''; content: "";
position: absolute; position: absolute;
z-index: 1; z-index: 1;
display: block; display: block;
@ -290,7 +289,7 @@
padding-top: 1px; padding-top: 1px;
&::before { &::before {
content: ''; content: "";
display: block; display: block;
position: absolute; position: absolute;
top: -5px; top: -5px;

31
src/assets/scss/modules/visual/issue-info.scss

@ -1,6 +1,6 @@
@import '../../c/config'; @import "../../c/config";
@import '../../c/function'; @import "../../c/function";
@import './c/common'; @import "./c/common";
.m-pop { .m-pop {
@include shield; @include shield;
@ -68,6 +68,18 @@
line-height: 30px; line-height: 30px;
} }
.info-pics {
display: flex;
margin: 10px 0;
img {
display: block;
width: 32%;
height: 90px;
margin-right: 9px;
object-fit: cover;
}
}
.info-prop { .info-prop {
position: relative; position: relative;
margin: 10px 0; margin: 10px 0;
@ -78,17 +90,6 @@
flex: 0 0 1; flex: 0 0 1;
font-size: 14px; font-size: 14px;
} }
.info-pics {
display: flex;
margin: 10px 0;
img {
display: block;
width: 32%;
height: 90px;
margin-right: 9px;
object-fit: cover;
}
}
> span, > span,
> div { > div {
display: block; display: block;
@ -96,7 +97,7 @@
} }
&::before { &::before {
content: ''; content: "";
display: block; display: block;
position: absolute; position: absolute;
top: 9px; top: 9px;

15
src/assets/scss/modules/visual/people.scss

@ -24,7 +24,8 @@
position: relative; position: relative;
.title { .title {
padding: 10px; margin-bottom: 10px;
padding: 4px 2px;
font-size: 22px; font-size: 22px;
font-family: PingFang SC; font-family: PingFang SC;
font-weight: 800; font-weight: 800;
@ -187,7 +188,8 @@
width: 1180px; width: 1180px;
.title { .title {
padding: 10px; margin-bottom: 10px;
padding: 4px 2px;
font-size: 22px; font-size: 22px;
font-family: PingFang SC; font-family: PingFang SC;
font-weight: 800; font-weight: 800;
@ -294,7 +296,8 @@
margin-top: 10px; margin-top: 10px;
.title { .title {
padding: 10px; margin-bottom: 10px;
padding: 4px 2px;
font-size: 22px; font-size: 22px;
font-family: PingFang SC; font-family: PingFang SC;
font-weight: 800; font-weight: 800;
@ -447,7 +450,8 @@
.m-tb { .m-tb {
.title { .title {
padding: 10px; margin-bottom: 10px;
padding: 4px 2px;
font-size: 22px; font-size: 22px;
font-family: PingFang SC; font-family: PingFang SC;
font-weight: 800; font-weight: 800;
@ -479,7 +483,8 @@
width: calc(50% - 3px); width: calc(50% - 3px);
.title { .title {
padding: 10px; margin-bottom: 10px;
padding: 4px 2px;
font-size: 22px; font-size: 22px;
font-family: PingFang SC; font-family: PingFang SC;
font-weight: 800; font-weight: 800;

4
src/assets/scss/modules/visual/personCategory.scss

@ -8,7 +8,7 @@
color: #fff; color: #fff;
// background: url("../../../img/modules/visual/warning-box.png") no-repeat center; // background: url("../../../img/modules/visual/warning-box.png") no-repeat center;
background-size: 100% 100%; background-size: 100% 100%;
padding: 15px 21px 15px 24px; // padding: 15px 21px 15px 24px;
@ -159,7 +159,7 @@
&-bottom { &-bottom {
box-sizing: border-box; box-sizing: border-box;
width: 100%; width: 100%;
// height: calc(100vh - 535px); // height: calc(988px - 535px);
min-height: 300px; min-height: 300px;
margin-top: 60px; margin-top: 60px;
} }

12
src/assets/scss/modules/visual/processAnalyze.scss

@ -6,12 +6,12 @@
.g-cpt-resi { .g-cpt-resi {
display: flex; display: flex;
flex-direction: row; flex-direction: row;
height: calc(100vh - 180px); height: calc(988px - 180px);
.g-l { .g-l {
flex-shrink: 0; flex-shrink: 0;
width: 700px; width: 700px;
height: calc(100vh - 230px); height: calc(988px - 230px);
.l_top { .l_top {
height: 385px; height: 385px;
@ -24,7 +24,7 @@
} }
} }
.l_bottom { .l_bottom {
height: calc(100vh - 230px - 385px); height: calc(988px - 230px - 385px);
margin-top: 20px; margin-top: 20px;
} }
} }
@ -32,8 +32,8 @@
.g-r { .g-r {
text-align: center; text-align: center;
margin: 20px 10px 20px; margin: 20px 10px 20px;
width: calc(100vw - 700px); width: calc(1919px - 700px);
height: calc(100vh - 180px - 20px); height: calc(988px - 180px - 20px);
} }
} }
@ -119,7 +119,7 @@
.g-r { .g-r {
.r-map { .r-map {
position: relative; position: relative;
height: calc(100vh - 180px - 20px - 70px); height: calc(988px - 180px - 20px - 70px);
width: 100%; width: 100%;
.map { .map {

10
src/assets/scss/modules/visual/resibuzz.scss

@ -9,19 +9,19 @@
flex-direction: row; flex-direction: row;
// flex-wrap: wrap; // flex-wrap: wrap;
// justify-content: center; // justify-content: center;
height: calc(100vh - 180px); height: calc(988px - 180px);
.g-l { .g-l {
flex-shrink: 0; flex-shrink: 0;
width: 600px; width: 600px;
height: calc(100vh - 180px); height: calc(988px - 180px);
} }
.g-r { .g-r {
text-align: center; text-align: center;
margin: 40px 0 0 19px; margin: 40px 0 0 19px;
width: calc(100vw - 60px - 600px); width: calc(1919px - 60px - 600px);
// height: calc(100vh - 170px - 20px); // height: calc(988px - 170px - 20px);
} }
} }
@ -30,7 +30,7 @@
position: relative; position: relative;
height: 100%; height: 100%;
.tb { .tb {
height: calc(100vh - 170px - 50px - 50px); height: calc(988px - 170px - 50px - 50px);
overflow-y: auto; overflow-y: auto;
@include scrollBar; @include scrollBar;
} }

19
src/assets/scss/modules/visual/searchPerson.scss

@ -1,5 +1,5 @@
.div_people_search{ .div_people_search {
min-height:100%; min-height: 100%;
box-sizing: border-box; box-sizing: border-box;
} }
@ -36,6 +36,7 @@
font-weight: 400; font-weight: 400;
color: #ffffff; color: #ffffff;
line-height: 53px; line-height: 53px;
background: linear-gradient(90deg, #1a5afd, #26c4ff);
} }
.btn:hover { .btn:hover {
cursor: pointer; cursor: pointer;
@ -51,8 +52,7 @@
// height: calc(88vh - 200px); // height: calc(88vh - 200px);
height: 485px; height: 485px;
color: #fff; color: #fff;
background: url('../../../img/modules/visual/warning-box.png') no-repeat background: url("../../../img/modules/visual/warning-box.png") no-repeat center;
center;
background-size: 100% 100%; background-size: 100% 100%;
} }
@ -123,16 +123,15 @@
} }
&-tr:hover { &-tr:hover {
background: url('../../../img/modules/visual/hover-bac.png') no-repeat background: url("../../../img/modules/visual/hover-bac.png") no-repeat center;
center;
background-size: 100% 100%; background-size: 100% 100%;
} }
} }
&-status{ &-status {
margin-top:20px; margin-top: 20px;
.no-data{ .no-data {
display: flex; display: flex;
justify-content: center; justify-content: center;
} }
@ -159,7 +158,7 @@
} }
.pagination { .pagination {
box-sizing: border-box; box-sizing: border-box;
padding-right:180px; padding-right: 180px;
padding-bottom: 20px; padding-bottom: 20px;
margin-top: 40px; margin-top: 40px;

3
src/assets/scss/modules/visual/search_1.scss

@ -3,7 +3,8 @@
@import './c/common'; @import './c/common';
.title { .title {
padding: 10px; margin-bottom: 10px;
padding: 4px 2px;
font-size: 22px; font-size: 22px;
font-family: PingFang SC; font-family: PingFang SC;
font-weight: 800; font-weight: 800;

12
src/assets/scss/modules/visual/shijianchulifenxi.scss

@ -6,12 +6,12 @@
.g-cpt-resi { .g-cpt-resi {
display: flex; display: flex;
flex-direction: row; flex-direction: row;
height: calc(100vh - 180px); height: calc(988px - 180px);
.g-l { .g-l {
flex-shrink: 0; flex-shrink: 0;
width: 700px; width: 700px;
height: calc(100vh - 230px); height: calc(988px - 230px);
.l_top { .l_top {
height: 355px; height: 355px;
@ -21,7 +21,7 @@
} }
.l_bottom { .l_bottom {
height: calc(100vh - 200px - 365px); height: calc(988px - 200px - 365px);
margin-top: 0; margin-top: 0;
} }
} }
@ -29,8 +29,8 @@
.g-r { .g-r {
text-align: center; text-align: center;
margin: 20px 10px 20px; margin: 20px 10px 20px;
width: calc(100vw - 700px); width: calc(1919px - 700px);
height: calc(100vh - 180px - 20px); height: calc(988px - 180px - 20px);
} }
} }
@ -74,7 +74,7 @@
position: relative; position: relative;
height: 100%; height: 100%;
.tb { .tb {
height: calc(100vh - 170px - 50px - 50px); height: calc(988px - 170px - 50px - 50px);
overflow-y: auto; overflow-y: auto;
@include scrollBar; @include scrollBar;
} }

12
src/assets/scss/modules/visual/shijianfenleifenxi.scss

@ -6,12 +6,12 @@
.g-cpt-resi { .g-cpt-resi {
display: flex; display: flex;
flex-direction: row; flex-direction: row;
height: calc(100vh - 180px); height: calc(988px - 180px);
.g-l { .g-l {
flex-shrink: 0; flex-shrink: 0;
width: 700px; width: 700px;
height: calc(100vh - 230px); height: calc(988px - 230px);
.l_top { .l_top {
height: 385px; height: 385px;
@ -21,7 +21,7 @@
} }
.l_bottom { .l_bottom {
height: calc(100vh - 230px - 385px); height: calc(988px - 230px - 385px);
margin-top: 20px; margin-top: 20px;
} }
} }
@ -29,8 +29,8 @@
.g-r { .g-r {
text-align: center; text-align: center;
margin: 20px 10px 20px; margin: 20px 10px 20px;
width: calc(100vw - 700px); width: calc(1919px - 700px);
height: calc(100vh - 180px - 20px); height: calc(988px - 180px - 20px);
} }
} }
@ -80,7 +80,7 @@
position: relative; position: relative;
height: 100%; height: 100%;
.tb { .tb {
height: calc(100vh - 170px - 50px - 50px); height: calc(988px - 170px - 50px - 50px);
overflow-y: auto; overflow-y: auto;
@include scrollBar; @include scrollBar;
} }

10
src/assets/scss/modules/visual/typeAnalyze.scss

@ -8,19 +8,19 @@
flex-direction: row; flex-direction: row;
// flex-wrap: wrap; // flex-wrap: wrap;
// justify-content: center; // justify-content: center;
height: calc(100vh - 180px); height: calc(988px - 180px);
.g-l { .g-l {
flex-shrink: 0; flex-shrink: 0;
width: 600px; width: 600px;
height: calc(100vh - 180px); height: calc(988px - 180px);
} }
.g-r { .g-r {
text-align: center; text-align: center;
margin: 40px 0 0 19px; margin: 40px 0 0 19px;
width: calc(100vw - 60px - 600px); width: calc(1919px - 60px - 600px);
// height: calc(100vh - 140px - 20px); // height: calc(988px - 140px - 20px);
} }
} }
@ -29,7 +29,7 @@
position: relative; position: relative;
height: 100%; height: 100%;
.tb { .tb {
height: calc(100vh - 170px - 50px - 50px); height: calc(988px - 170px - 50px - 50px);
overflow-y: auto; overflow-y: auto;
@include scrollBar; @include scrollBar;
} }

5
src/assets/scss/modules/visual/warning.scss

@ -8,7 +8,7 @@
color: #fff; color: #fff;
// background: url("../../../img/modules/visual/warning-box.png") no-repeat center; // background: url("../../../img/modules/visual/warning-box.png") no-repeat center;
background-size: 100% 100%; background-size: 100% 100%;
padding: 45px 21px 35px 24px; padding-top: 40px;
&-top { &-top {
display: flex; display: flex;
@ -26,8 +26,7 @@
border: 1px solid #1043c0; border: 1px solid #1043c0;
box-shadow: 0px 83px 150px 0px #002790; box-shadow: 0px 83px 150px 0px #002790;
border-radius: 8px; border-radius: 8px;
margin-right: 15px; margin: 10px 12px;
margin-bottom: 15px;
&-img { &-img {
display: flex; display: flex;

7
src/assets/scss/shuju-card.scss

@ -1,5 +1,6 @@
@import "c/config"; @import "c/config";
@import "c/function"; @import "c/function";
@import "./modules/visual/c/common";
.m-card { .m-card {
position: relative; position: relative;
@ -37,6 +38,7 @@
&.card-line-t { &.card-line-t {
background-image: url(../img/shuju/card/line-t.png); background-image: url(../img/shuju/card/line-t.png);
background-size: auto 22px;
left: 22px; left: 22px;
right: 240px; right: 240px;
top: 0; top: 0;
@ -44,6 +46,7 @@
} }
&.card-line-r { &.card-line-r {
background-image: url(../img/shuju/card/line-r.png); background-image: url(../img/shuju/card/line-r.png);
background-size: 22px auto;
top: 22px; top: 22px;
bottom: 22px; bottom: 22px;
right: 0; right: 0;
@ -51,6 +54,7 @@
} }
&.card-line-b { &.card-line-b {
background-image: url(../img/shuju/card/line-b.png); background-image: url(../img/shuju/card/line-b.png);
background-size: auto 22px;
left: 22px; left: 22px;
right: 240px; right: 240px;
bottom: 0; bottom: 0;
@ -58,6 +62,7 @@
} }
&.card-line-l { &.card-line-l {
background-image: url(../img/shuju/card/line-l.png); background-image: url(../img/shuju/card/line-l.png);
background-size: 22px auto;
top: 22px; top: 22px;
bottom: 22px; bottom: 22px;
left: 0; left: 0;
@ -69,5 +74,7 @@
min-height: 200px; min-height: 200px;
background-image: url(../img/shuju/card/bg.png); background-image: url(../img/shuju/card/bg.png);
background-repeat: repeat; background-repeat: repeat;
overflow-y: auto;
@include scrollBar;
} }
} }

24
src/assets/scss/shuju-variables.scss

@ -0,0 +1,24 @@
// Base
$base--line-height: 1.15;
// Navbar
$navbar--height: 75px;
// Sidebar
$sidebar--width: 230px;
$sidebar--width-fold: 100px;
$sidebar--background-color-dark: #263238;
$sidebar--text-color-dark: #8a979e;
$sidebar--menu-item-height: 48px;
// Content
$content--padding: 10px;
$content--background-color: #f1f4f5;
$content--card-header-height: 60px;
$content--tabs-header-height: 38px;
// Content, 填充整屏高度(非tabs状态) = 整屏高度 - 导航条高度 - aui-content上下内边距高度
$content--fill-height: calc(100vh - #{$navbar--height} - #{$content--padding * 2});
// Content, 填充整屏高度(是tabs状态) = 整屏高度 - 导航条高度 - tabs组件header高度 - tabs组件content上下内边距高度
$content--fill-height-tabs: calc(
100vh - #{$navbar--height} - #{$content--tabs-header-height} - #{$content--padding * 2}
);

2
src/js/dai/request.js

@ -4,6 +4,7 @@
import axios from "axios"; import axios from "axios";
import curry from "dai-js/tools/curry"; import curry from "dai-js/tools/curry";
import { Message } from "element-ui"; import { Message } from "element-ui";
import { clearLoginInfo } from "@/utils";
const request = curry( const request = curry(
(method, url, data = {}, headers = {}, progress = () => {}) => { (method, url, data = {}, headers = {}, progress = () => {}) => {
@ -42,6 +43,7 @@ const request = curry(
// 10005 token为空 10006登陆超时 10007别处登录 // 10005 token为空 10006登陆超时 10007别处登录
console.log("登录失效"); console.log("登录失效");
Message.error(res.data.msg); Message.error(res.data.msg);
clearLoginInfo();
return next({ return next({
name: "login", name: "login",
}); });

2
src/js/dai/request2.js

@ -4,6 +4,7 @@
import axios from "axios"; import axios from "axios";
import curry from "dai-js/tools/curry"; import curry from "dai-js/tools/curry";
import { Message } from "element-ui"; import { Message } from "element-ui";
import { clearLoginInfo } from "@/utils";
const request = curry( const request = curry(
(method, url, data = {}, headers = {}, progress = () => {}) => { (method, url, data = {}, headers = {}, progress = () => {}) => {
@ -42,6 +43,7 @@ const request = curry(
// 10005 token为空 10006登陆超时 10007别处登录 // 10005 token为空 10006登陆超时 10007别处登录
console.log("登录失效"); console.log("登录失效");
Message.error(res.data.msg); Message.error(res.data.msg);
clearLoginInfo();
return next({ return next({
name: "login", name: "login",
}); });

89
src/js/store/index.js

@ -8,7 +8,7 @@ import { requestPost } from "@/js/dai/request";
import { dateFormats } from "@/utils/index"; import { dateFormats } from "@/utils/index";
Vue.use(Vuex); Vue.use(Vuex);
let interTimer = null let interTimer = null;
export default new Vuex.Store({ export default new Vuex.Store({
namespaced: true, namespaced: true,
state: { state: {
@ -42,6 +42,9 @@ export default new Vuex.Store({
tipsList: [], tipsList: [],
tipsTime: [], tipsTime: [],
inIframe: window.self !== window.top, inIframe: window.self !== window.top,
fixed1920: {
height: document.documentElement.clientHeight,
},
}, },
modules: { modules: {
user, user,
@ -56,69 +59,71 @@ export default new Vuex.Store({
}); });
}, },
SET_TIPS_LIST(state, tipsList) { SET_TIPS_LIST(state, tipsList) {
let _list = state.tipsList let _list = state.tipsList;
// state.tipsList = _list.concat(tipsList) // state.tipsList = _list.concat(tipsList)
state.tipsList = tipsList state.tipsList = tipsList;
}, },
SET_TIPS_TIME(state, time) { SET_TIPS_TIME(state, time) {
state.tipsTime = time state.tipsTime = time;
} },
}, },
actions: { actions: {
clearInter() { clearInter() {
clearInterval(interTimer) clearInterval(interTimer);
}, },
setInterval({ commit, dispatch, state }) { setInterval({ commit, dispatch, state }) {
interTimer = setInterval(() => { interTimer = setInterval(() => {
const _t = dateFormats('YYYY-mm-dd HH:MM', (new Date(new Date().toLocaleDateString()).getTime())) const _t = dateFormats(
const _tt = new Date(_t).getTime() "YYYY-mm-dd HH:MM",
console.log('230000---', _t) new Date(new Date().toLocaleDateString()).getTime()
const t = dateFormats('YYYY-mm-dd HH:MM', (new Date().getTime())) );
const nt = new Date(t).getTime() const _tt = new Date(_t).getTime();
console.log("230000---", _t);
const t = dateFormats("YYYY-mm-dd HH:MM", new Date().getTime());
const nt = new Date(t).getTime();
// 判断当前时间是否为 00:00 // 判断当前时间是否为 00:00
if (nt == _tt) { if (nt == _tt) {
dispatch('setTipsTime') dispatch("setTipsTime");
return return;
} }
let times = state.tipsTime let times = state.tipsTime;
console.log('nt---000', nt) console.log("nt---000", nt);
state.tipsTime.forEach((item, index) => { state.tipsTime.forEach((item, index) => {
const _t = new Date(item).getTime() const _t = new Date(item).getTime();
if (_t == nt) { if (_t == nt) {
clearInterval(interTimer) clearInterval(interTimer);
dispatch('setTipsList', item) dispatch("setTipsList", item);
times.splice(index, 1) times.splice(index, 1);
commit('SET_TIPS_TIME', times) commit("SET_TIPS_TIME", times);
} }
}) });
}, 60000) }, 60000);
}, },
setTipsList({ commit }, time) { setTipsList({ commit }, time) {
return new Promise(async (resolve, reject) => { return new Promise(async (resolve, reject) => {
const url = '/gov/project/memoAttr/memosToRemind' const url = "/gov/project/memoAttr/memosToRemind";
const params = { const params = {
remindTime: time || '' remindTime: time || "",
} };
const { data, code, msg } = await requestPost(url, params) const { data, code, msg } = await requestPost(url, params);
if (code === 0) { if (code === 0) {
commit('SET_TIPS_LIST', data) commit("SET_TIPS_LIST", data);
resolve() resolve();
} else reject(msg) } else reject(msg);
}) });
}, },
setTipsTime({ commit, dispatch }) { setTipsTime({ commit, dispatch }) {
return new Promise(async (resolve, reject) => { return new Promise(async (resolve, reject) => {
if (interTimer) clearInterval(interTimer) if (interTimer) clearInterval(interTimer);
const url = '/gov/project/memoAttr/memoTime' const url = "/gov/project/memoAttr/memoTime";
const { data, code, msg } = await requestPost(url) const { data, code, msg } = await requestPost(url);
if (code === 0) { if (code === 0) {
commit("SET_TIPS_TIME", data);
commit('SET_TIPS_TIME', data) if (data.length > 0) dispatch("setInterval");
if (data.length > 0) dispatch('setInterval') resolve();
resolve() } else reject(msg);
} else reject(msg) });
}) },
} },
}
}); });

40
src/router/index.js

@ -94,6 +94,16 @@ export const moduleRoutes = {
isTab: true, isTab: true,
}, },
}, },
{
path: "404",
props: true,
component: () => import("@/views/modules/404"),
name: "main-404",
meta: {
title: "页面未找到或无权访问",
isTab: false,
},
},
], ],
}; };
@ -129,6 +139,16 @@ export const moduleShujuRoutes = {
isTab: false, isTab: false,
}, },
}, },
{
path: "404",
props: true,
component: () => import("@/views/modules/visual/404"),
name: "main-shuju-404",
meta: {
title: "页面未找到或无权访问",
isTab: false,
},
},
], ],
}; };
@ -380,7 +400,7 @@ router.beforeEach((to, from, next) => {
// fnAddDynamicMenuRoutes2(window.SITE_CONFIG["menuShujuList"]); // fnAddDynamicMenuRoutes2(window.SITE_CONFIG["menuShujuList"]);
http http
.get("/gov/access/menu/nav?tableName=data_menu") .get("/gov/access/menu/nav?tableName=data_menu")
.then(({ data: res }) => { .then(({ data: res }) => {
if (res.code == 10005 || res.code == 10006 || res.code == 10007) { if (res.code == 10005 || res.code == 10006 || res.code == 10007) {
// 10005 token为空 10006登陆超时 10007别处登录 // 10005 token为空 10006登陆超时 10007别处登录
@ -406,7 +426,7 @@ router.beforeEach((to, from, next) => {
}); });
http http
.get("/gov/access/menu/nav") .get("/gov/access/menu/nav")
.then(({ data: res }) => { .then(({ data: res }) => {
if (res.code == 10005 || res.code == 10006 || res.code == 10007) { if (res.code == 10005 || res.code == 10006 || res.code == 10007) {
// 10005 token为空 10006登陆超时 10007别处登录 // 10005 token为空 10006登陆超时 10007别处登录
@ -519,10 +539,10 @@ function fnAddDynamicMenuRoutes(menuList = [], routes = []) {
children: routes, children: routes,
}, },
{ {
path: "*", path: "/main/*",
// redirect: { redirect: {
// name: "404", path: "/main/404",
// }, },
}, },
]); ]);
window.SITE_CONFIG["dynamicMenuRoutes"] = routes; window.SITE_CONFIG["dynamicMenuRoutes"] = routes;
@ -593,10 +613,10 @@ function fnAddDynamicMenuRoutes2(menuList = [], routes = []) {
children: routes, children: routes,
}, },
{ {
path: "*", path: "/main-shuju/*",
// redirect: { redirect: {
// name: "404", path: "/main-shuju/404",
// }, },
}, },
]); ]);
window.SITE_CONFIG["dynamicMenuRoutesShuju"] = routes; window.SITE_CONFIG["dynamicMenuRoutesShuju"] = routes;

1
src/utils/index.js

@ -45,6 +45,7 @@ export function getDictLabel(dictType, dictValue) {
export function clearLoginInfo() { export function clearLoginInfo() {
store.commit('resetStore') store.commit('resetStore')
Cookies.remove('token') Cookies.remove('token')
localStorage.setItem("token", '');
window.SITE_CONFIG['dynamicMenuRoutesHasAdded'] = false window.SITE_CONFIG['dynamicMenuRoutesHasAdded'] = false
} }

62
src/views/components/fixed1920.vue

@ -0,0 +1,62 @@
<template>
<div class="g-app">
<div class="g-bd" :style="bdStyle">
<slot></slot>
</div>
</div>
</template>
<script>
export default {
data() {
return {
clientHeight: document.documentElement.clientHeight,
clientWidth: document.documentElement.clientWidth,
};
},
components: {},
computed: {
bdStyle() {
const { clientHeight, clientWidth } = this;
console.log("clientHeight", clientHeight);
const scale = clientWidth / 1920;
const height = clientHeight / scale;
const top = (clientHeight - height) / 2;
const left = (clientWidth - 1920) / 2;
this.$store.state.fixed1920.height = height;
return {
transform: `scale(${scale})`,
height: `${height}px`,
left: `${left}px`,
top: `${top}px`,
};
},
},
created() {},
mounted() {
window.addEventListener("resize", () => {
this.clientHeight = document.documentElement.clientHeight;
this.clientWidth = document.documentElement.clientWidth;
});
},
methods: {},
};
</script>
<style lang="scss" scoped>
.g-app {
position: absolute;
// width: 1920px;
width: 100%;
height: 100vh;
overflow: hidden;
}
.g-bd {
position: absolute;
width: 1920px;
overflow-x: hidden;
overflow-y: auto;
}
</style>

3
src/views/main-shuju/main-content.vue

@ -1,5 +1,5 @@
<template> <template>
<main :class="['aui-content']"> <main class="g-main">
<!-- tab展示内容 --> <!-- tab展示内容 -->
<template> <template>
<template v-if="tabIsIframe($router.currentRoute.meta.iframeURL)"> <template v-if="tabIsIframe($router.currentRoute.meta.iframeURL)">
@ -18,6 +18,7 @@
height="100%" height="100%"
frameborder="0" frameborder="0"
scrolling="yes" scrolling="yes"
:style="{ height: $store.state.fixed1920.height - 100 + 'px' }"
/> />
</template> </template>
<keep-alive v-show="!tabIsIframe($router.currentRoute.meta.iframeURL)"> <keep-alive v-show="!tabIsIframe($router.currentRoute.meta.iframeURL)">

56
src/views/main-shuju/main.vue

@ -1,25 +1,28 @@
<template> <template>
<div <fixed1920>
v-loading.fullscreen.lock="loading" <div
:element-loading-text="$t('loading')" v-loading.fullscreen.lock="loading"
:class="[ :element-loading-text="$t('loading')"
'g-bd', :class="[
{ 'z-sidebar--fold': $store.state.sidebarFold }, 'g-bd',
{ { 'z-sidebar--fold': $store.state.sidebarFold },
'z-sidebar--noside': true, {
}, 'z-sidebar--noside': true,
]" },
> ]"
<template v-if="!loading"> >
<main-navbar ref="ref_navbar" /> <template v-if="!loading">
<div class="g-cnt"> <main-navbar ref="ref_navbar" />
<main-content
v-if="!$store.state.contentIsNeedRefresh" <div class="g-cnt">
@changeCustomerName="changeCustomerName" <main-content
/> v-if="!$store.state.contentIsNeedRefresh"
</div> @changeCustomerName="changeCustomerName"
</template> />
</div> </div>
</template>
</div>
</fixed1920>
</template> </template>
<script> <script>
@ -29,6 +32,7 @@ import debounce from "lodash/debounce";
import { mapGetters } from "vuex"; import { mapGetters } from "vuex";
import nextTick from "dai-js/tools/nextTick"; import nextTick from "dai-js/tools/nextTick";
import { requestPost } from "@/js/dai/request"; import { requestPost } from "@/js/dai/request";
import fixed1920 from "@/views/components/fixed1920.vue";
export default { export default {
provide() { provide() {
@ -51,6 +55,7 @@ export default {
components: { components: {
MainNavbar, MainNavbar,
MainContent, MainContent,
fixed1920,
}, },
watch: { watch: {
@ -133,7 +138,7 @@ export default {
<style lang="scss" src="@/assets/scss/main-shuju.scss" scoped></style> <style lang="scss" src="@/assets/scss/main-shuju.scss" scoped></style>
<style lang="scss"> <style lang="scss">
.info-h { .info-h {
height: calc(100vh - 320px); height: calc(100% - 320px);
// overflow: auto; // overflow: auto;
} }
.info-scroll { .info-scroll {
@ -145,7 +150,8 @@ export default {
&::-webkit-scrollbar-corner, &::-webkit-scrollbar-corner,
/* 滚动条角落 */ /* 滚动条角落 */
&::-webkit-scrollbar-thumb, &::-webkit-scrollbar-thumb,
&::-webkit-scrollbar-track { /*滚动条的轨道*/ &::-webkit-scrollbar-track {
/*滚动条的轨道*/
border-radius: 4px; border-radius: 4px;
} }
@ -153,13 +159,13 @@ export default {
&::-webkit-scrollbar-track { &::-webkit-scrollbar-track {
/* 滚动条轨道 */ /* 滚动条轨道 */
background: rgba(12, 129, 254, .24); background: rgba(12, 129, 254, 0.24);
// box-shadow: inset 0 0 1px rgba(180, 160, 120, 0.5); // box-shadow: inset 0 0 1px rgba(180, 160, 120, 0.5);
} }
&::-webkit-scrollbar-thumb { &::-webkit-scrollbar-thumb {
/* 滚动条手柄 */ /* 滚动条手柄 */
background: linear-gradient(270deg, #1257c9, #0095FF); background: linear-gradient(270deg, #1257c9, #0095ff);
} }
} }
</style> </style>

16
src/views/modules/404.vue

@ -0,0 +1,16 @@
<template>
<div class="m-404">页面未找到或无权访问</div>
</template>
<script>
export default {};
</script>
<style lang="scss" scoped>
.m-404 {
margin-top: 200px;
font-size: 60px;
color: rgba(#000, 0.3);
text-align: center;
}
</style>

4529
src/views/modules/base/organization/organization.vue

File diff suppressed because it is too large

16
src/views/modules/visual/404.vue

@ -0,0 +1,16 @@
<template>
<div class="m-404">页面未找到或无权访问</div>
</template>
<script>
export default {};
</script>
<style lang="scss" scoped>
.m-404 {
margin-top: 200px;
font-size: 60px;
color: rgba(#fff, 0.6);
text-align: center;
}
</style>

2
src/views/modules/visual/basicinfo/houseStatic/houseStatic.vue

@ -12,7 +12,7 @@
<span class="router_child">{{orgName}}</span> <span class="router_child">{{orgName}}</span>
</div> </div>
</div> </div>
<cpt-card> <cpt-card :min-full-screen="true">
<div class="card-title"> <div class="card-title">
<img class="title-icon" <img class="title-icon"
src="@/assets/img/shuju/title-tip.png" /> src="@/assets/img/shuju/title-tip.png" />

8
src/views/modules/visual/basicinfo/people.vue

@ -330,7 +330,7 @@
></cpt-tb> ></cpt-tb>
<div class="m-pagination" v-if="demand.total > demand.pageSize"> <div class="m-pagination" v-if="demand.total > demand.pageSize">
<el-pagination <el-pagination hide-on-single-page
:current-page="demand.pageNo" :current-page="demand.pageNo"
:page-size="demand.pageSize" :page-size="demand.pageSize"
:total="demand.total" :total="demand.total"
@ -380,7 +380,7 @@
class="m-pagination" class="m-pagination"
v-if="incident.total > incident.pageSize" v-if="incident.total > incident.pageSize"
> >
<el-pagination <el-pagination hide-on-single-page
:current-page="incident.pageNo" :current-page="incident.pageNo"
:page-size="incident.pageSize" :page-size="incident.pageSize"
:total="incident.total" :total="incident.total"
@ -413,7 +413,7 @@
</div> </div>
<div class="m-pagination" v-if="topic.total > topic.pageSize"> <div class="m-pagination" v-if="topic.total > topic.pageSize">
<el-pagination <el-pagination hide-on-single-page
:current-page="topic.pageNo" :current-page="topic.pageNo"
:page-size="topic.pageSize" :page-size="topic.pageSize"
:total="topic.total" :total="topic.total"
@ -462,7 +462,7 @@
</div> </div>
<div class="m-pagination" v-if="point.total > point.pageSize"> <div class="m-pagination" v-if="point.total > point.pageSize">
<el-pagination <el-pagination hide-on-single-page
:current-page="point.pageNo" :current-page="point.pageNo"
:page-size="point.pageSize" :page-size="point.pageSize"
:total="point.total" :total="point.total"

8
src/views/modules/visual/basicinfo/peopleList.vue

@ -69,7 +69,7 @@
</div> </div>
<div class="pagination"> <div class="pagination">
<el-pagination background <el-pagination hide-on-single-page background
layout="prev, pager, next, total" layout="prev, pager, next, total"
:current-page="pageNo" :current-page="pageNo"
:page-size="pageSize" :page-size="pageSize"
@ -226,9 +226,9 @@ export default {
} }
} }
.list_box { .list_box {
width: 96%; width: 100%;
height: 780px; height: 780px;
margin: 20px auto; margin: 0 auto;
} }
.warning-table { .warning-table {
height: 640px; height: 640px;
@ -239,7 +239,7 @@ export default {
text-align: right; text-align: right;
} }
.g-bread { .g-bread {
padding: 10px 20px; padding: 10px 10px 15px;
::v-deep .el-breadcrumb__item { ::v-deep .el-breadcrumb__item {
font-size: 16px; font-size: 16px;
.el-breadcrumb__inner { .el-breadcrumb__inner {

5
src/views/modules/visual/basicinfo/peopleSearch.vue

@ -85,7 +85,7 @@
</div> </div>
<div class="pagination"> <div class="pagination">
<el-pagination background <el-pagination hide-on-single-page background
layout="prev, pager, next" layout="prev, pager, next"
:current-page="pageNo" :current-page="pageNo"
:page-size="pageSize" :page-size="pageSize"
@ -223,7 +223,8 @@ export default {
border-radius: 8px 0 0 8px; border-radius: 8px 0 0 8px;
height: 53px; height: 53px;
background-color: #01106800; background-color: #01106800;
border: 2px solid #0082fb; border: 3px solid #0082fb;
border-right: 0;
padding-left: 70px; padding-left: 70px;
font-size: 18px; font-size: 18px;
font-family: PingFang SC; font-family: PingFang SC;

2
src/views/modules/visual/basicinfo/personCategory/recordList.vue

@ -71,7 +71,7 @@
</div> </div>
</div> </div>
<div class="pagination-record"> <div class="pagination-record">
<el-pagination :current-page="pageNo" <el-pagination hide-on-single-page :current-page="pageNo"
:page-size="pageSize" :page-size="pageSize"
background background
layout="prev, pager, next" layout="prev, pager, next"

2
src/views/modules/visual/communityGovern/distributionAnalyze.vue

@ -1,5 +1,5 @@
<template> <template>
<cpt-card> <cpt-card style="margin-top:40px">
<div class="title"> <div class="title">
<div class="card-title"> <div class="card-title">
<img src="@/assets/img/shuju/title-tip.png" /> <img src="@/assets/img/shuju/title-tip.png" />

15
src/views/modules/visual/communityGovern/duoyuanfuwu/duoyuanfuwufenxi.vue

@ -1,5 +1,5 @@
<template> <template>
<cpt-card> <cpt-card style="margin-top:40px">
<div class="title"> <div class="title">
<img src="@/assets/img/shuju/title-tip.png" /> <img src="@/assets/img/shuju/title-tip.png" />
<span>多元主体分析</span> <span>多元主体分析</span>
@ -35,7 +35,7 @@
</div> </div>
<div class="m-pagination"> <div class="m-pagination">
<el-pagination :current-page="demand.pageNo" <el-pagination hide-on-single-page :current-page="demand.pageNo"
:page-size="demand.pageSize" :page-size="demand.pageSize"
:total="demand.total" :total="demand.total"
background background
@ -695,8 +695,9 @@ export default {
box-sizing: border-box; box-sizing: border-box;
margin-right: 3px; margin-right: 3px;
} }
.title-label { .title-label {
font-size: 20px; font-size: 22px;
font-family: PingFang SC;
font-weight: 800; font-weight: 800;
::v-deep .el-input { ::v-deep .el-input {
@ -739,14 +740,14 @@ export default {
border-radius: 50%; border-radius: 50%;
} }
.card-wr-map { .card-wr-map {
// height: calc(100vh - 120px); // height: calc(988px - 120px);
text-align: center; text-align: center;
.card-map { .card-map {
margin-top: 30px; margin-top: 30px;
width: 100%; width: 100%;
// height: calc(100vh - 285px); // height: calc(988px - 285px);
height: calc(100vh - 335px); height: calc(988px - 335px);
padding-left: 20px; padding-left: 20px;
.map { .map {
width: 100%; width: 100%;

2
src/views/modules/visual/communityGovern/fivelayers/mapIndex copy 2.vue

@ -92,7 +92,7 @@
</div> </div>
<div class="m-pagination"> <div class="m-pagination">
<el-pagination :current-page="demand.pageNo" <el-pagination hide-on-single-page :current-page="demand.pageNo"
:page-size="demand.pageSize" :page-size="demand.pageSize"
:total="demand.total" :total="demand.total"
background background

4
src/views/modules/visual/communityGovern/fivelayers/mapIndex copy.vue

@ -92,7 +92,7 @@
</div> </div>
<div class="m-pagination"> <div class="m-pagination">
<el-pagination :current-page="demand.pageNo" <el-pagination hide-on-single-page :current-page="demand.pageNo"
:page-size="demand.pageSize" :page-size="demand.pageSize"
:total="demand.total" :total="demand.total"
background background
@ -923,7 +923,7 @@ const vueGis = {
// const url = "http://yapi.elinkservice.cn/mock/245/gov/org/icDangerousChemicals/detail" // const url = "http://yapi.elinkservice.cn/mock/245/gov/org/icDangerousChemicals/detail"
let params = { let params = {
icSuperiorResourceId: info.id icDangerousChemicalsId: info.id
} }
const { data, code, msg } = await requestPost(url, params) const { data, code, msg } = await requestPost(url, params)

2
src/views/modules/visual/communityGovern/fivelayers/mapIndex-baidu.vue

@ -92,7 +92,7 @@
</div> </div>
<div class="m-pagination"> <div class="m-pagination">
<el-pagination :current-page="demand.pageNo" <el-pagination hide-on-single-page :current-page="demand.pageNo"
:page-size="demand.pageSize" :page-size="demand.pageSize"
:total="demand.total" :total="demand.total"
background background

110
src/views/modules/visual/communityGovern/fivelayers/mapIndex.vue

@ -26,32 +26,29 @@
</div> </div>
<div class="div_data"> <div class="div_data">
<div class="div_tips"> <div class="div_tips">
<cpt-card>
<div class="div_coverage"> <div class="div_coverage">
<div class="coverage_item" <div class="coverage_item"
@click="handleClickCoverage(index)" @click="handleClickCoverage(index)"
v-for="(item,index) in coverageTypesList" v-for="(item,index) in coverageTypesList"
:key="index"> :key="index">
<img :src="item.select?selImg:noSelImg" /> <img :src="item.select?selImg:noSelImg" />
<span>{{item.label}}</span> <span>{{item.label}}</span>
</div>
</div> </div>
</div> <div class="div_category">
<div class="div_category">
<el-scrollbar style="height:98%">
<div v-for="(item,index) in categoryListshow" <div v-for="(item,index) in categoryListshow"
:key="index" :key="index"
class="category_item"> class="category_item">
<div v-for="(colItem,colIndex) in item" <div v-for="(colItem,colIndex) in item"
:key="colIndex" :key="colIndex"
class="list_item" class="list_item"
@click="handleClickCategory(index,colIndex)"> @click="handleClickCategory(index,colIndex)">
<img :src="colItem.dataIcon" <img :src="colItem.dataIcon"
alt /> alt />
<div :class="['item_content',colItem.sel?'item_content_sel':'']">{{colItem.categoryName}} <div :class="['item_content',colItem.sel?'item_content_sel':'']">{{colItem.categoryName}}
</div> </div>
@ -59,49 +56,50 @@
</div> </div>
</div> </div>
</div>
</el-scrollbar> </cpt-card>
</div>
</div> </div>
<div class="div_info"> <div class="div_info">
<div class="div_search_list"> <cpt-card>
<el-input size="mini" <div class="div_search_list">
WarningColor='warning' <el-input size="mini"
placeholder="请输入搜索内容" WarningColor='warning'
v-model="search"> placeholder="请输入搜索内容"
<i slot="prefix" v-model="search">
class="icon"> <i slot="prefix"
<img src="../../../../../assets/img/modules/visual/sousuo.png" class="icon">
alt /> <img src="../../../../../assets/img/modules/visual/sousuo.png"
</i> alt />
</el-input> </i>
</el-input>
<div class="btn"
@click="handleSearch">搜索</div> <div class="btn"
@click="handleSearch">搜索</div>
</div> </div>
<div class="m-tb"> <div class="m-tb">
<div class="tb"> <div class="tb">
<cpt-tb :col-list="demand.colList" <cpt-tb :col-list="demand.colList"
:loading="demand.loading" :loading="demand.loading"
:header="demand.header" :header="demand.header"
:list="demand.list" :list="demand.list"
@handleClickRow="handleClickRow"></cpt-tb> @handleClickRow="handleClickRow"></cpt-tb>
</div>
<div class="m-pagination">
<el-pagination hide-on-single-page :current-page="demand.pageNo"
:page-size="demand.pageSize"
:total="demand.total"
background
layout="prev, pager, next,total"
@current-change="handlePageNoChange_demand">
</el-pagination>
</div>
</div> </div>
<div class="m-pagination">
<el-pagination :current-page="demand.pageNo"
:page-size="demand.pageSize"
:total="demand.total"
background
layout="prev, pager, next,total"
@current-change="handlePageNoChange_demand">
</el-pagination>
</div>
</div>
</cpt-card>
</div> </div>
</div> </div>
@ -924,7 +922,7 @@ const vueGis = {
// const url = "http://yapi.elinkservice.cn/mock/245/gov/org/icDangerousChemicals/detail" // const url = "http://yapi.elinkservice.cn/mock/245/gov/org/icDangerousChemicals/detail"
let params = { let params = {
icSuperiorResourceId: info.id icDangerousChemicalsId: info.id
} }
const { data, code, msg } = await requestPost(url, params) const { data, code, msg } = await requestPost(url, params)

4
src/views/modules/visual/communityGovern/resibuzz.vue

@ -1,5 +1,5 @@
<template> <template>
<cpt-card> <cpt-card style="margin-top:40px">
<div class="title"> <div class="title">
<img src="@/assets/img/shuju/title-tip.png" /> <img src="@/assets/img/shuju/title-tip.png" />
<span>居民热议分析</span> <span>居民热议分析</span>
@ -54,7 +54,7 @@
</div> </div>
<div class="m-pagination"> <div class="m-pagination">
<el-pagination :current-page="demand.pageNo" <el-pagination hide-on-single-page :current-page="demand.pageNo"
:page-size="demand.pageSize" :page-size="demand.pageSize"
:total="demand.total" :total="demand.total"
background background

2
src/views/modules/visual/communityGovern/shijianchuli/shijianchulifenxi copy.vue

@ -103,7 +103,7 @@
</div> </div>
<div class="m-pagination"> <div class="m-pagination">
<el-pagination :current-page="demand.pageNo" <el-pagination hide-on-single-page :current-page="demand.pageNo"
:page-size="demand.pageSize" :page-size="demand.pageSize"
:total="demand.total" :total="demand.total"
background background

4
src/views/modules/visual/communityGovern/shijianchuli/shijianchulifenxi.vue

@ -1,5 +1,5 @@
<template> <template>
<cpt-card> <cpt-card style="margin-top:40px">
<div class="title"> <div class="title">
<img src="@/assets/img/shuju/title-tip.png" /> <img src="@/assets/img/shuju/title-tip.png" />
<span>事件处理分析</span> <span>事件处理分析</span>
@ -103,7 +103,7 @@
</div> </div>
<div class="m-pagination"> <div class="m-pagination">
<el-pagination :current-page="demand.pageNo" <el-pagination hide-on-single-page :current-page="demand.pageNo"
:page-size="demand.pageSize" :page-size="demand.pageSize"
:total="demand.total" :total="demand.total"
background background

4
src/views/modules/visual/communityGovern/shijianfenlei/shijianfenleifenxi.vue

@ -1,5 +1,5 @@
<template> <template>
<cpt-card> <cpt-card style="margin-top:40px">
<div class="title"> <div class="title">
<img src="@/assets/img/shuju/title-tip.png" /> <img src="@/assets/img/shuju/title-tip.png" />
<span>事件分类分析</span> <span>事件分类分析</span>
@ -90,7 +90,7 @@
</div> </div>
<div class="m-pagination"> <div class="m-pagination">
<el-pagination :current-page="demand.pageNo" <el-pagination hide-on-single-page :current-page="demand.pageNo"
:page-size="demand.pageSize" :page-size="demand.pageSize"
:total="demand.total" :total="demand.total"
background background

4
src/views/modules/visual/communityGovern/typeAnalyze.vue

@ -1,5 +1,5 @@
<template> <template>
<cpt-card> <cpt-card style="margin-top:40px">
<div class="title"> <div class="title">
<img src="@/assets/img/shuju/title-tip.png" /> <img src="@/assets/img/shuju/title-tip.png" />
<span>事件分类分析</span> <span>事件分类分析</span>
@ -55,7 +55,7 @@
</div> </div>
<div class="m-pagination"> <div class="m-pagination">
<el-pagination :current-page="demand.pageNo" <el-pagination hide-on-single-page :current-page="demand.pageNo"
:page-size="demand.pageSize" :page-size="demand.pageSize"
:total="demand.total" :total="demand.total"
background background

17
src/views/modules/visual/communityParty/community.vue

@ -70,7 +70,7 @@
:operate="true" :operate="true"
@look="handleUnitLook"></screen-table> @look="handleUnitLook"></screen-table>
<div class="pagination"> <div class="pagination">
<el-pagination :current-page="unitpageNo" <el-pagination hide-on-single-page :current-page="unitpageNo"
:page-size="unitpageSize" :page-size="unitpageSize"
background background
layout="prev, pager, next" layout="prev, pager, next"
@ -162,7 +162,7 @@
:operate="true" :operate="true"
@look="handleLook"></screen-table> @look="handleLook"></screen-table>
<div class="pagination"> <div class="pagination">
<el-pagination :current-page="pageNo" <el-pagination hide-on-single-page :current-page="pageNo"
:page-size="pageSize" :page-size="pageSize"
background background
layout="prev, pager, next" layout="prev, pager, next"
@ -1078,7 +1078,7 @@ export default {
flex: 1; flex: 1;
} }
.card-wr:last-child { .card-wr:last-child {
margin-left: 20px; // margin-left: 20px;
} }
::v-deep .table-body { ::v-deep .table-body {
overflow: auto; overflow: auto;
@ -1113,6 +1113,8 @@ export default {
display: flex; display: flex;
align-items: center; align-items: center;
cursor: pointer; cursor: pointer;
margin-bottom: 10px;
padding: 4px 2px;
.title-icon { .title-icon {
display: block; display: block;
width: 46px; width: 46px;
@ -1120,8 +1122,9 @@ export default {
box-sizing: border-box; box-sizing: border-box;
margin-right: 6px; margin-right: 6px;
} }
.title-label { .title-label {
font-size: 20px; font-size: 22px;
font-family: PingFang SC;
font-weight: 800; font-weight: 800;
::v-deep .el-input { ::v-deep .el-input {
width: 180px; width: 180px;
@ -1305,10 +1308,10 @@ export default {
} }
} }
.table-h { .table-h {
height: calc(100vh - 630px); height: calc(988px - 630px);
} }
.calc-h { .calc-h {
height: calc(100vh - 240px); height: calc(988px - 240px);
padding-bottom: 20px; padding-bottom: 20px;
} }
.wd50 { .wd50 {

12
src/views/modules/visual/communityParty/elegant.vue

@ -1,6 +1,6 @@
<template> <template>
<div class="warning-box"> <div class="warning-box">
<cpt-card class="card-wr"> <cpt-card :min-full-screen="true" class="card-wr">
<div class="card-title"> <div class="card-title">
<img class="title-icon" <img class="title-icon"
src="../../../../assets/img/shuju/title-tip.png" /> src="../../../../assets/img/shuju/title-tip.png" />
@ -54,7 +54,7 @@
</div> </div>
<div class="pagination"> <div class="pagination">
<el-pagination <el-pagination hide-on-single-page
:current-page="pageNo" :current-page="pageNo"
:page-size="pageSize" :page-size="pageSize"
background background
@ -358,6 +358,8 @@ export default {
display: flex; display: flex;
align-items: center; align-items: center;
cursor: pointer; cursor: pointer;
margin-bottom: 10px;
padding: 4px 2px;
.title-icon { .title-icon {
display: block; display: block;
width: 46px; width: 46px;
@ -365,8 +367,9 @@ export default {
box-sizing: border-box; box-sizing: border-box;
margin-right: 6px; margin-right: 6px;
} }
.title-label { .title-label {
font-size: 20px; font-size: 22px;
font-family: PingFang SC;
font-weight: 800; font-weight: 800;
::v-deep .el-input { ::v-deep .el-input {
width: 180px; width: 180px;
@ -566,6 +569,7 @@ export default {
display: block; display: block;
width: 100%; width: 100%;
height: 100%; height: 100%;
object-fit: cover;
} }
} }
.item-user { .item-user {

9
src/views/modules/visual/communityParty/gridParty.vue

@ -36,7 +36,7 @@
@row="handleClickRow" @row="handleClickRow"
></screen-table> ></screen-table>
<div class="pagination"> <div class="pagination">
<el-pagination <el-pagination hide-on-single-page
:current-page="pageNo" :current-page="pageNo"
:page-size="pageSize" :page-size="pageSize"
background background
@ -605,6 +605,8 @@ export default {
display: flex; display: flex;
align-items: center; align-items: center;
cursor: pointer; cursor: pointer;
margin-bottom: 10px;
padding: 4px 2px;
.title-icon { .title-icon {
display: block; display: block;
width: 46px; width: 46px;
@ -654,8 +656,9 @@ export default {
} }
} }
.title-label { .title-label {
font-size: 20px; font-size: 22px;
font-family: PingFang SC;
font-weight: 800; font-weight: 800;
::v-deep .el-input { ::v-deep .el-input {

13
src/views/modules/visual/communityParty/party.vue

@ -1,6 +1,6 @@
<template> <template>
<div class="warning-box"> <div class="warning-box">
<cpt-card> <cpt-card :min-full-screen="true">
<div class="card-title"> <div class="card-title">
<img class="title-icon" src="../../../../assets/img/shuju/title-tip.png" /> <img class="title-icon" src="../../../../assets/img/shuju/title-tip.png" />
<div class="title-label"> <div class="title-label">
@ -67,7 +67,7 @@
@row="handleClickRow" @row="handleClickRow"
></screen-table> ></screen-table>
<div class="pagination"> <div class="pagination">
<el-pagination <el-pagination hide-on-single-page
:current-page="agePageNo" :current-page="agePageNo"
:page-size="agePageSize" :page-size="agePageSize"
background background
@ -114,7 +114,7 @@
@row="handleClickRow" @row="handleClickRow"
></screen-table> ></screen-table>
<div class="pagination"> <div class="pagination">
<el-pagination <el-pagination hide-on-single-page
:current-page="pageNo" :current-page="pageNo"
:page-size="pageSize" :page-size="pageSize"
background background
@ -843,6 +843,8 @@ export default {
display: flex; display: flex;
align-items: center; align-items: center;
cursor: pointer; cursor: pointer;
margin-bottom: 10px;
padding: 4px 2px;
.title-icon { .title-icon {
display: block; display: block;
width: 46px; width: 46px;
@ -892,8 +894,9 @@ export default {
} }
} }
.title-label { .title-label {
font-size: 20px; font-size: 22px;
font-family: PingFang SC;
font-weight: 800; font-weight: 800;
::v-deep .el-input { ::v-deep .el-input {

11
src/views/modules/visual/communityParty/partyOld.vue

@ -56,7 +56,7 @@
@row="handleClickRow" @row="handleClickRow"
></screen-table> ></screen-table>
<div class="pagination"> <div class="pagination">
<el-pagination <el-pagination hide-on-single-page
:current-page="agePageNo" :current-page="agePageNo"
:page-size="agePageSize" :page-size="agePageSize"
background background
@ -103,7 +103,7 @@
@row="handleClickRow" @row="handleClickRow"
></screen-table> ></screen-table>
<div class="pagination"> <div class="pagination">
<el-pagination <el-pagination hide-on-single-page
:current-page="pageNo" :current-page="pageNo"
:page-size="pageSize" :page-size="pageSize"
background background
@ -854,6 +854,8 @@ export default {
display: flex; display: flex;
align-items: center; align-items: center;
cursor: pointer; cursor: pointer;
margin-bottom: 10px;
padding: 4px 2px;
.title-icon { .title-icon {
display: block; display: block;
width: 46px; width: 46px;
@ -903,8 +905,9 @@ export default {
} }
} }
.title-label { .title-label {
font-size: 20px; font-size: 22px;
font-family: PingFang SC;
font-weight: 800; font-weight: 800;
::v-deep .el-input { ::v-deep .el-input {

51
src/views/modules/visual/cpts/card.vue

@ -1,15 +1,27 @@
<template> <template>
<div class="m-card"> <div class="m-card">
<div class="card-wrap"> <div class="card-wrap">
<img src="@/assets/img/shuju/card/l-t.png" class="card-corner card-corner-1" /> <img
<img src="@/assets/img/shuju/card/r-t.png" class="card-corner card-corner-2" /> src="@/assets/img/shuju/card/l-t.png"
<img src="@/assets/img/shuju/card/r-b.png" class="card-corner card-corner-3" /> class="card-corner card-corner-1"
<img src="@/assets/img/shuju/card/l-b.png" class="card-corner card-corner-4" /> />
<img
src="@/assets/img/shuju/card/r-t.png"
class="card-corner card-corner-2"
/>
<img
src="@/assets/img/shuju/card/r-b.png"
class="card-corner card-corner-3"
/>
<img
src="@/assets/img/shuju/card/l-b.png"
class="card-corner card-corner-4"
/>
<div class="card-line card-line-t"></div> <div class="card-line card-line-t"></div>
<div class="card-line card-line-l"></div> <div class="card-line card-line-l"></div>
<div class="card-line card-line-r"></div> <div class="card-line card-line-r"></div>
<div class="card-line card-line-b"></div> <div class="card-line card-line-b"></div>
<div class="card-cnt"> <div class="card-cnt" :style="tbStyle">
<slot></slot> <slot></slot>
</div> </div>
</div> </div>
@ -19,17 +31,36 @@
<script> <script>
export default { export default {
name: "shuju-card", name: "shuju-card",
data() {
return {
};
},
props: { props: {
isFullScreen: {
type: Boolean,
default: false,
},
minFullScreen: {
type: Boolean,
default: false,
},
}, },
methods: { data() {
return {};
},
computed: {
tbStyle() {
let style = {};
if (this.isFullScreen) {
style.height = this.$store.state.fixed1920.height - 180 + "px";
}
if (this.minFullScreen) {
style.minHeight = this.$store.state.fixed1920.height - 180 + "px";
}
return style;
},
}, },
methods: {},
}; };
</script> </script>

126
src/views/modules/visual/cpts/tb.vue

@ -1,75 +1,89 @@
<template> <template>
<div class="m-table"> <div class="m-table">
<table class="table" <table class="table" border="0" cellspacing="0" cellpadding="0">
border="0" <col
cellspacing="0" :align="item.align"
cellpadding="0"> :width="item.width"
<col :align="item.align" :key="'col' + index"
:width="item.width" v-for="(item, index) in colList"
:key="'col' + index" />
v-for="(item, index) in colList" />
<thead> <thead>
<tr class="table-header"> <tr class="table-header">
<th class="table-header-th" <th class="table-header-th" v-for="item in header" :key="item">
v-for="item in header"
:key="item">
{{ item }} {{ item }}
</th> </th>
</tr> </tr>
</thead> </thead>
<tbody class="table-body"> <tbody class="table-body">
<tr class="table-body-tr" <tr
v-for="(value, index) in list" class="table-body-tr"
:key="index" v-for="(value, index) in list"
@click="handleClickRow(index)"> :key="index"
<td class="td" @click="handleClickRow(index)"
v-for="(item, indexs) in value" >
:key="indexs"> <td class="td" v-for="(item, indexs) in value" :key="indexs">
<div v-if="typeof item === 'string' || typeof item === 'number'"> <div
v-if="typeof item === 'string' || typeof item === 'number'"
:title="item"
>
{{ item }} {{ item }}
</div> </div>
<div v-if="typeof item === 'object'&& item.type === 'img'"> <div v-if="typeof item === 'object' && item.type === 'img'">
<!-- <span>{{ item.type+ item.src}}</span> --> <!-- <span>{{ item.type+ item.src}}</span> -->
<img style="width:18px;height:18px" <img style="width: 18px; height: 18px" :src="item.src" alt="" />
:src="item.src"
alt="" />
</div> </div>
<div v-if="typeof item === 'object' && item && item.type == 'index'">
<img v-if="highlightTop3 && index == 0" <div
src="@/assets/img/shuju/top/1.png" v-if="typeof item === 'object' && item && item.type == 'index'"
alt="" /> >
<img v-else-if="highlightTop3 && index == 1" <img
src="@/assets/img/shuju/top/2.png" v-if="highlightTop3 && index == 0"
alt="" /> src="@/assets/img/shuju/top/1.png"
<img v-else-if="highlightTop3 && index == 2" alt=""
src="@/assets/img/shuju/top/3.png" />
alt="" /> <img
v-else-if="highlightTop3 && index == 1"
src="@/assets/img/shuju/top/2.png"
alt=""
/>
<img
v-else-if="highlightTop3 && index == 2"
src="@/assets/img/shuju/top/3.png"
alt=""
/>
<span v-else>{{ index + 1 }}</span> <span v-else>{{ index + 1 }}</span>
</div> </div>
<a v-else-if="typeof item === 'object' && item && item.type == 'operate'"
v-for="btn in item.list" <a
:key="'operate' + index + btn" v-else-if="
@click="handleClickBtn(index, btn)">{{ btn }}</a> typeof item === 'object' && item && item.type == 'operate'
<a v-else-if="typeof item === 'object' && item && item.type == 'people'" "
@click="handleClickPeople(item)">{{ item.name }}</a> v-for="btn in item.list"
:key="'operate' + index + btn"
@click="handleClickBtn(index, btn)"
>{{ btn }}</a
>
<a
v-else-if="
typeof item === 'object' && item && item.type == 'people'
"
@click="handleClickPeople(item)"
>{{ item.name }}</a
>
</td> </td>
</tr> </tr>
</tbody> </tbody>
</table> </table>
<div class="table-status" <div class="table-status" v-if="loading">
v-if="loading">
<screen-loading>加载中</screen-loading> <screen-loading>加载中</screen-loading>
</div> </div>
<div class="table-status" <div class="table-status" v-if="list.length == 0 && !loading">
v-if="list.length == 0 && !loading">
<div class="no-data"> <div class="no-data">
<img src="@/assets/img/modules/visual/noData.png" <img src="@/assets/img/modules/visual/noData.png" class="no-data-img" />
class="no-data-img" />
</div> </div>
</div> </div>
</div> </div>
@ -77,7 +91,6 @@
<script> <script>
import ScreenLoading from "./loading"; import ScreenLoading from "./loading";
import Vue from "vue";
export default { export default {
name: "table", name: "table",
@ -138,24 +151,24 @@ export default {
default: false, default: false,
}, },
}, },
data () { data() {
return {}; return {};
}, },
watch: {}, watch: {},
mounted () { }, mounted() {},
created () { }, created() {},
methods: { methods: {
// //
handleClickRow (index) { handleClickRow(index) {
this.$emit("handleClickRow", index); this.$emit("handleClickRow", index);
}, },
handleClickBtn (index, type) { handleClickBtn(index, type) {
this.$emit("operate", index, type); this.$emit("operate", index, type);
}, },
handleClickPeople (item) { handleClickPeople(item) {
this.$router.push({ this.$router.push({
path: `/main-shuju/visual-basicinfo-people/${item.uid}`, path: `/main-shuju/visual-basicinfo-people/${item.uid}`,
}); });
@ -180,10 +193,12 @@ export default {
font-size: 16px; font-size: 16px;
font-weight: 400; font-weight: 400;
color: #ffffff; color: #ffffff;
line-height: 50px;
&-th { &-th {
text-align: center; text-align: center;
border: none; border: none;
font-weight: normal;
// width: calc(100% / 5); // width: calc(100% / 5);
} }
} }
@ -191,9 +206,10 @@ export default {
&-body { &-body {
box-sizing: border-box; box-sizing: border-box;
width: 100%; width: 100%;
font-size: 16px; font-size: 18px;
font-weight: 400; font-weight: 400;
color: #ffffff; color: #ffffff;
line-height: 40px;
&-tr { &-tr {
box-sizing: border-box; box-sizing: border-box;
@ -214,7 +230,7 @@ export default {
} }
a { a {
font-size: 16px; font-size: 18px;
font-weight: 400; font-weight: 400;
color: #e4dc00; color: #e4dc00;
position: relative; position: relative;

84
src/views/modules/visual/heart/index.vue

@ -2,12 +2,14 @@
<div> <div>
<div class="m-sizer"> <div class="m-sizer">
<span>时间</span> <span>时间</span>
<el-date-picker v-model="monthId" <el-date-picker
type="month" v-model="monthId"
:clearable="false" type="month"
prefix-icon="el-icon-caret-bottom" :clearable="false"
placeholder="选择日期" prefix-icon="el-icon-caret-bottom"
value-format="yyyyMM"> placeholder="选择日期"
value-format="yyyyMM"
>
</el-date-picker> </el-date-picker>
</div> </div>
@ -19,12 +21,14 @@
<span>公益达人</span> <span>公益达人</span>
</div> </div>
<div class="tb"> <div class="tb" :style="tbStyle">
<cpt-tb :highlight-top3="true" <cpt-tb
:col-list="tb3.colList" :highlight-top3="true"
:loading="tb3.loading" :col-list="tb3.colList"
:header="tb3.header" :loading="tb3.loading"
:list="tb3.list"></cpt-tb> :header="tb3.header"
:list="tb3.list"
></cpt-tb>
</div> </div>
</cpt-card> </cpt-card>
</div> </div>
@ -36,12 +40,14 @@
<span>党员先锋</span> <span>党员先锋</span>
</div> </div>
<div class="tb"> <div class="tb" :style="tbStyle">
<cpt-tb :highlight-top3="true" <cpt-tb
:col-list="tb2.colList" :highlight-top3="true"
:loading="tb2.loading" :col-list="tb2.colList"
:header="tb2.header" :loading="tb2.loading"
:list="tb2.list"></cpt-tb> :header="tb2.header"
:list="tb2.list"
></cpt-tb>
</div> </div>
</cpt-card> </cpt-card>
</div> </div>
@ -53,12 +59,14 @@
<span>动力网格</span> <span>动力网格</span>
</div> </div>
<div class="tb"> <div class="tb" :style="tbStyle">
<cpt-tb :highlight-top3="true" <cpt-tb
:col-list="tb1.colList" :highlight-top3="true"
:loading="tb1.loading" :col-list="tb1.colList"
:header="tb1.header" :loading="tb1.loading"
:list="tb1.list"></cpt-tb> :header="tb1.header"
:list="tb1.list"
></cpt-tb>
</div> </div>
</cpt-card> </cpt-card>
</div> </div>
@ -76,7 +84,7 @@ import dateFormat from "dai-js/tools/dateFormat";
export default { export default {
name: "heart", name: "heart",
data () { data() {
return { return {
agencyId: this.$store.state.user.agencyId, agencyId: this.$store.state.user.agencyId,
areaCode: "", areaCode: "",
@ -171,7 +179,13 @@ export default {
props: {}, props: {},
computed: {}, computed: {
tbStyle() {
return {
height: this.$store.state.fixed1920.height - 260 + "px",
};
},
},
components: { components: {
cptCard, cptCard,
@ -179,33 +193,33 @@ export default {
}, },
watch: { watch: {
monthId () { monthId() {
this.getApiData(); this.getApiData();
}, },
}, },
async mounted () { async mounted() {
this.userId = this.uid; this.userId = this.uid;
await nextTick(100); await nextTick(100);
this.getApiData(); this.getApiData();
}, },
methods: { methods: {
handleSearch () { }, handleSearch() {},
async getApiData () { async getApiData() {
//await this.getAgencyInfo(); //await this.getAgencyInfo();
this.getTb1(); this.getTb1();
this.getTb2(); this.getTb2();
this.getTb3(); this.getTb3();
}, },
toUserInfo (uid) { toUserInfo(uid) {
this.$router.push({ path: `/main-shuju/visual-basicinfo-people/${uid}` }); this.$router.push({ path: `/main-shuju/visual-basicinfo-people/${uid}` });
}, },
// //
async getAgencyInfo () { async getAgencyInfo() {
const { data, code, msg } = await requestPost( const { data, code, msg } = await requestPost(
"/data/report/screen/agency/agencydetail-multic", "/data/report/screen/agency/agencydetail-multic",
{ {
@ -219,7 +233,7 @@ export default {
}, },
// //
async getTb1 () { async getTb1() {
const { agencyId, areaCode } = this; const { agencyId, areaCode } = this;
const url = const url =
@ -248,7 +262,7 @@ export default {
}, },
// //
async getTb2 () { async getTb2() {
const { agencyId, areaCode } = this; const { agencyId, areaCode } = this;
const url = "/data/report/screen/user/partypointrank"; const url = "/data/report/screen/user/partypointrank";
let params = { let params = {
@ -279,7 +293,7 @@ export default {
}, },
// //
async getTb3 () { async getTb3() {
const { agencyId, areaCode } = this; const { agencyId, areaCode } = this;
const url = "/data/report/screen/user/userpointrank/withoutpartymember"; const url = "/data/report/screen/user/userpointrank/withoutpartymember";
let params = { let params = {

16
src/views/modules/visual/measure/service.vue

@ -1,6 +1,6 @@
<template> <template>
<div class="warning-box"> <div class="warning-box">
<cpt-card> <cpt-card :min-full-screen="true">
<div class="card-title"> <div class="card-title">
<img class="title-icon" src="../../../../assets/img/shuju/title-tip.png" /> <img class="title-icon" src="../../../../assets/img/shuju/title-tip.png" />
<div class="title-label"> <div class="title-label">
@ -129,7 +129,7 @@
@look="handleLook" @look="handleLook"
></screen-table> ></screen-table>
<div class="pagination"> <div class="pagination">
<el-pagination <el-pagination hide-on-single-page
:current-page="pageNo" :current-page="pageNo"
:page-size="pageSize" :page-size="pageSize"
background background
@ -578,12 +578,15 @@ export default {
display: flex; display: flex;
align-items: center; align-items: center;
cursor: pointer; cursor: pointer;
margin-bottom: 10px;
padding: 4px 2px;
.title-icon { .title-icon {
display: block; display: block;
width: 46px; // width: 46px;
height: 34px; // height: 34px;
box-sizing: border-box; box-sizing: border-box;
margin-right: 6px; margin-right: 5px;
} }
::v-deep .el-dropdown { ::v-deep .el-dropdown {
font-size: 16px; font-size: 16px;
@ -629,7 +632,8 @@ export default {
} }
.title-label { .title-label {
font-size: 20px; font-size: 22px;
font-family: PingFang SC;
font-weight: 800; font-weight: 800;
::v-deep .el-input { ::v-deep .el-input {
width: 180px; width: 180px;

17
src/views/modules/visual/measure/volunteer.vue

@ -627,22 +627,23 @@ export default {
.card-wr:last-child { .card-wr:last-child {
margin-left: 20px; margin-left: 20px;
} }
padding: 25px 21px 15px 24px;
} }
.card-title { .card-title {
display: flex; display: flex;
align-items: center; align-items: center;
cursor: pointer; cursor: pointer;
margin-bottom: 10px; margin-bottom: 10px;
padding: 4px 2px;
.title-icon { .title-icon {
display: block; display: block;
width: 36px; // width: 36px;
height: 29px; // height: 29px;
box-sizing: border-box; box-sizing: border-box;
margin-right: 3px; margin-right: 5px;
} }
.title-label { .title-label {
font-size: 20px; font-size: 22px;
font-family: PingFang SC;
font-weight: 800; font-weight: 800;
::v-deep .el-input { ::v-deep .el-input {
@ -782,14 +783,14 @@ export default {
} }
.card-wr-map { .card-wr-map {
// height: calc(100vh - 120px); // height: calc(988px - 120px);
text-align: center; text-align: center;
.card-map { .card-map {
margin-top: 30px; margin-top: 30px;
width: 100%; width: 100%;
// height: calc(100vh - 285px); // height: calc(988px - 285px);
height: calc(100vh - 335px); height: calc(988px - 335px);
padding-left: 20px; padding-left: 20px;
.map { .map {
width: 100%; width: 100%;

7
src/views/modules/visual/plugin/power/components/house-dialog.vue

@ -119,8 +119,9 @@ export default {
box-sizing: border-box; box-sizing: border-box;
margin-right: 6px; margin-right: 6px;
} }
.title-label { .title-label {
font-size: 20px; font-size: 22px;
font-family: PingFang SC;
font-weight: 800; font-weight: 800;
::v-deep .el-input { ::v-deep .el-input {
width: 180px; width: 180px;
@ -138,7 +139,7 @@ export default {
} }
.dialog-bg { .dialog-bg {
width: 100vw; width: 100vw;
height: 100vh; height: 988px;
position: fixed; position: fixed;
left: 0; left: 0;
top: 0; top: 0;

5
src/views/modules/visual/plugin/power/components/info-dialog.vue

@ -90,8 +90,9 @@ export default {
box-sizing: border-box; box-sizing: border-box;
margin-right: 6px; margin-right: 6px;
} }
.title-label { .title-label {
font-size: 20px; font-size: 22px;
font-family: PingFang SC;
font-weight: 800; font-weight: 800;
::v-deep .el-input { ::v-deep .el-input {
width: 180px; width: 180px;

119
src/views/modules/visual/warning/components/screen-table/index.vue

@ -1,45 +1,56 @@
<template> <template>
<div class="warning-table"> <div>
<div class="table"> <!-- <div class="warning-table">
<div class="table-header"> <div class="table">
<div <div class="table-header">
class="table-header-th" <div
v-for="(item, index) in headerList" class="table-header-th"
:key="item.title" v-for="(item, index) in headerList"
:style="headerStyle[index]" :key="item.title"
> :style="headerStyle[index]"
{{ item.title }} >
{{ item.title }}
</div>
</div> </div>
</div> <div class="table-body">
<div class="table-body">
<div
class="table-body-tr"
v-for="(value, index) in tableData"
:key="index"
>
<div <div
class="td" class="table-body-tr"
v-for="(item, indexs) in value" v-for="(value, index) in tableData"
:key="indexs" :key="index"
:style="tableContentStyle[indexs]"
> >
<div v-if="item.type && item.type == 'btn'"> <div
<a @click="handleClickBtn(item)">{{ item.name }}</a> class="td"
v-for="(item, indexs) in value"
:key="indexs"
:style="tableContentStyle[indexs]"
>
<div v-if="item.type && item.type == 'btn'">
<a @click="handleClickBtn(item)">{{ item.name }}</a>
</div>
<span v-else>{{ item }}</span>
</div> </div>
<span v-else>{{ item }}</span>
</div> </div>
</div> <screen-loading v-if="visibleLoading">加载中</screen-loading>
<screen-loading v-if="visibleLoading">加载中</screen-loading> <div class="no-data" v-if="tableData.length == 0 && !visibleLoading">
<div class="no-data" v-if="tableData.length == 0 && !visibleLoading"> <img
<img src="../../../../../../assets/img/modules/visual/noData.png"
src="../../../../../../assets/img/modules/visual/noData.png" alt=""
alt="" srcset=""
srcset="" class="no-data-img"
class="no-data-img" />
/> </div>
</div> </div>
</div> </div>
</div> </div> -->
<cpt-tb
:highlight-top3="true"
:col-list="tableContentStyle"
:loading="visibleLoading"
:header="headerList.map((item) => item.title)"
:list="cptTbData"
@operate="handleOperate"
></cpt-tb>
<people-list <people-list
v-if="showedPeopleList && buildingId" v-if="showedPeopleList && buildingId"
@ -53,14 +64,15 @@
<script> <script>
import ScreenLoading from "../screen-loading/index"; import ScreenLoading from "../screen-loading/index";
import Vue from "vue";
import peopleList from "./people-list"; import peopleList from "./people-list";
import cptTb from "@/views/modules/visual/cpts/tb";
export default { export default {
name: "warning-table", name: "warning-table",
components: { components: {
ScreenLoading, ScreenLoading,
peopleList, peopleList,
cptTb,
}, },
props: { props: {
headerList: { headerList: {
@ -133,22 +145,8 @@ export default {
type: Boolean, type: Boolean,
default: true, default: true,
}, },
// //
// ava: {
// type: Number,
// default: 8
// },
// // --10%
// headerHeightAva: {
// type: String,
// default: '10%'
// },
// //
// tableContentAva: {
// type: Number,
// default: 5
// },
}, },
data() { data() {
return { return {
// //
@ -158,6 +156,22 @@ export default {
gridName: "", gridName: "",
}; };
}, },
computed: {
cptTbData() {
return this.tableData.map((item) => {
return item.map((subitem) => {
if (subitem.type && subitem.type == "btn") {
subitem.type = "operate";
subitem.list = [subitem.name];
}
console.log(subitem);
return subitem;
});
});
},
},
watch: {}, watch: {},
mounted() {}, mounted() {},
@ -165,6 +179,11 @@ export default {
created() {}, created() {},
methods: { methods: {
handleOperate(index) {
let item = this.tableData[index];
this.handleClickBtn(item[item.length - 1]);
},
handleClickBtn(item) { handleClickBtn(item) {
this.showedPeopleList = true; this.showedPeopleList = true;
this.buildingId = item.buildingId; this.buildingId = item.buildingId;

2
src/views/modules/visual/warning/components/screen-table/people-list.vue

@ -22,7 +22,7 @@
</div> </div>
<div class="m-pagination"> <div class="m-pagination">
<el-pagination <el-pagination hide-on-single-page
:current-page="pageNo" :current-page="pageNo"
:page-size="pageSize" :page-size="pageSize"
background background

4
src/views/modules/visual/warning/index.vue

@ -1,6 +1,6 @@
<template> <template>
<div class="warning-box"> <div class="warning-box">
<cpt-card> <cpt-card :min-full-screen="true">
<div class="warning-box-top"> <div class="warning-box-top">
<div class="top-item" v-for="(item, index) in warningList" :key="index"> <div class="top-item" v-for="(item, index) in warningList" :key="index">
<div class="top-item-img"> <div class="top-item-img">
@ -53,7 +53,7 @@
:visibleLoading="visibleLoading" :visibleLoading="visibleLoading"
></screen-table> ></screen-table>
<div class="pagination"> <div class="pagination">
<el-pagination <el-pagination hide-on-single-page
:current-page="pageNo" :current-page="pageNo"
:page-size="pageSize" :page-size="pageSize"
background background

2
src/views/modules/warning/index.vue

@ -52,7 +52,7 @@
:visibleLoading="visibleLoading" :visibleLoading="visibleLoading"
></screen-table> ></screen-table>
<div class="pagination"> <div class="pagination">
<el-pagination <el-pagination hide-on-single-page
:current-page="pageNo" :current-page="pageNo"
:page-size="pageSize" :page-size="pageSize"
background background

379
src/views/modules/workSys/role/role.vue

@ -0,0 +1,379 @@
<template>
<div class="div_main">
<div class="div_search">
<el-form :inline="true"
:model="formData"
ref="ref_searchform"
:label-width="'110px'">
<el-form-item label="角色名称"
prop="name">
<el-input v-model="formData.name"
size="small"
class="list_item_width_1"
clearable
placeholder="请输入角色名称">
</el-input>
</el-form-item>
<!-- <el-form-item label="创建时间"
label-width="110px"
prop="createdTime">
<el-date-picker v-model="formData.createdTime"
size="small"
type="datetime"
@change="handleTimeChange"
format="yyyy-MM-dd HH:mm"
value-format="yyyy-MM-dd HH:mm"
placeholder="创建时间">
</el-date-picker>
</el-form-item> -->
<el-button style="margin-left:30px"
size="small"
class="diy-button--search"
@click="handleSearch">查询</el-button>
<el-button style="margin-left:10px"
size="small"
class="diy-button--reset"
@click="resetSearch">重置</el-button>
</el-form>
</div>
<div class="div_table">
<div class="div_btn">
<el-button class="diy-button--add"
size="small"
@click="handleAdd">新增</el-button>
</div>
<el-table class="table"
ref="ref_table"
:data="tableData"
border
:height="tableHeight"
v-loading="tableLoading"
:header-cell-style="{background:'#2195FE',color:'#FFFFFF'}"
style="width: 100%">
<el-table-column label="序号"
header-align="center"
align="center"
type="index"
width="50"></el-table-column>
<el-table-column prop="name"
header-align="center"
align="center"
label="角色名称"
min-width="100">
</el-table-column>
<el-table-column prop="remark"
header-align="center"
align="center"
label="备注"
min-width="110">
</el-table-column>
<el-table-column prop="createdTime"
header-align="center"
align="center"
label="创建时间"
min-width="170">
</el-table-column>
<el-table-column label="操作"
fixed="right"
width="140"
header-align="center"
align="center"
class="operate">
<template slot-scope="scope">
<el-button v-if="true"
type="text"
class="div-table-button--detail"
size="small"
@click="handleDetail(scope.row)">查看</el-button>
<el-button type="text"
class="div-table-button--edit"
size="small"
@click="handleEdit(scope.row)">修改</el-button>
<el-button type="text"
class="div-table-button--delete "
size="small"
@click="handleDelete(scope.row)">删除</el-button>
</template>
</el-table-column>
</el-table>
<div>
<el-pagination @size-change="handleSizeChange"
@current-change="handleCurrentChange"
:current-page.sync="pageNo"
:page-sizes="[20, 50, 100, 200]"
:page-size="pageSize"
layout="sizes, prev, pager, next, total"
:total="total">
</el-pagination>
</div>
</div>
<!-- 修改弹出框 -->
<el-dialog :visible.sync="formShow"
:close-on-click-modal="false"
:close-on-press-escape="false"
:title="formTitle"
width="850px"
top="5vh"
class="dialog-h"
@closed="diaClose">
<role-form ref="ref_form"
@dialogCancle="diaClose"
@dialogOk="addFormOk"></role-form>
</el-dialog>
</div>
</template>
<script>
import roleForm from './roleForm'
import { requestPost, requestGet } from '@/js/dai/request'
import { mapGetters } from 'vuex'
import { Loading } from 'element-ui' // Loading
let loading //
export default {
data () {
return {
loading: false,
total: 0,
pageSize: 20,
pageNo: 0,
tableLoading: false,
isResiUser: true,
agencyId: '',
timeRange: [],
formData: {
name: '',//
// createdTime: '',//
},
tableData: [],
//form
formShow: false,
formTitle: '新增',
}
},
components: {
roleForm
},
async created () {
},
async mounted () {
const { user } = this.$store.state
this.agencyId = user.agencyId
await this.loadTable()
},
activated () {
this.$refs['ref_table'].doLayout()
},
methods: {
async handleSearch () {
this.isResiUser = this.formData.orgType === 'current'
await this.loadTable()
this.$nextTick(() => {
this.$refs.ref_table.doLayout() //
})
},
async loadTable () {
this.tableLoading = true
const url = "/gov/access/govrole/page"
let params = {
pageSize: this.pageSize,
pageNo: this.pageNo,
...this.formData
}
const { data, code, msg } = await requestGet(url, params)
if (code === 0) {
this.total = data.total
this.tableData = data.list
} else {
this.$message.error(msg)
}
this.tableLoading = false
},
handleTimeChange (time) {
if (time) {
this.formData.startTime = time[0]
this.formData.endTime = time[1]
} else {
this.formData.startTime = ''
this.formData.endTime = ''
}
},
diaClose () {
this.$refs.ref_form.resetData()
this.formShow = false
},
handleAdd () {
this.formTitle = '新增'
this.formShow = true
this.$nextTick(() => {
this.$refs.ref_form.initForm('add', null)
})
},
handleEdit (row) {
this.formTitle = '修改'
this.formShow = true
this.$nextTick(() => {
this.$refs.ref_form.initForm('edit', row.id)
})
},
handleDetail (row) {
this.formTitle = '详情'
this.formShow = true
this.$nextTick(() => {
this.$refs.ref_form.initForm('detail', row.id)
})
},
addFormOk () {
this.formShow = false
this.loadTable()
},
async handleDelete (row) {
let message = '确认删除?'
this.$confirm(message, "提示", {
confirmButtonText: "确定",
cancelButtonText: "取消",
type: "warning"
})
.then(() => {
this.deleteRole(row)
})
.catch(err => {
});
},
async deleteRole (row) {
const url = "/gov/access/govrole/del"
let params = [row.id]
const { data, code, msg } = await requestPost(url, params)
if (code === 0) {
this.$message({
type: "success",
message: "操作成功"
});
this.loadTable()
} else {
this.$message.error(msg)
}
},
//
resetSearch () {
this.formData = {
name: '',//
}
this.pageNo = 0
this.loadTable()
},
handleSizeChange (val) {
this.pageSize = val
this.pageNo = 1
this.loadTable()
},
handleCurrentChange (val) {
this.pageNo = val
this.loadTable()
},
//
startLoading () {
loading = Loading.service({
lock: true, //
text: '正在加载……', //
background: 'rgba(0,0,0,.7)' //
})
},
//
endLoading () {
// clearTimeout(timer);
if (loading) {
loading.close()
}
}
},
computed: {
tableHeight () {
return this.$store.state.inIframe ? this.clientHeight - 360 + this.iframeHeight : this.clientHeight - 360
},
...mapGetters(['clientHeight', 'iframeHeight'])
},
watch: {
},
props: {
}
}
</script>
<style lang="scss" scoped >
@import "@/assets/scss/modules/management/epidemic.scss";
</style>

356
src/views/modules/workSys/role/roleForm.vue

@ -0,0 +1,356 @@
<template>
<div class="epidemic-form">
<div class="dialog-h-content scroll-h">
<el-form ref="ref_form"
:inline="true"
:model="formData"
:rules="dataRule"
:disabled="formType==='detail'"
class="form">
<el-form-item label="角色名称"
prop="name"
label-width="150px"
style="display: block">
<el-input class="item_width_2"
placeholder="请输入角色名称"
clearable
v-model="formData.name">
</el-input>
</el-form-item>
<el-form-item label="备注"
prop="remark"
label-width="150px"
style="display: block">
<el-input class="item_width_1"
type="textarea"
maxlength="500"
show-word-limit
:autosize="{ minRows: 5, maxRows: 10 }"
clearable
placeholder="请输入备注"
v-model="formData.remark"></el-input>
</el-form-item>
<el-form-item label="管理平台菜单"
prop="content"
label-width="150px"
style="display: block">
<el-tree class="item_width_1"
:data="menuList"
:props="{ label: 'name', children: 'children' }"
node-key="id"
:default-expanded-keys="['000']"
ref="menuListTree"
accordion
show-checkbox>
</el-tree>
</el-form-item>
<el-form-item label="可视化平台菜单"
prop="content"
label-width="150px"
style="display: block">
<el-tree class="item_width_1 item_border"
:data="menuListShuju"
:props="{ label: 'name', children: 'children' }"
node-key="id"
:default-expanded-keys="['000']"
ref="menuListShujuTree"
accordion
show-checkbox>
</el-tree>
</el-form-item>
</el-form>
</div>
<div class="form_div_btn">
<el-button size="small"
@click="handleCancle"> </el-button>
<el-button v-if="formType != 'detail'"
size="small"
type="primary"
:disabled="btnDisable"
@click="handleComfirm"> </el-button>
</div>
</div>
</template>
<script>
import { Loading } from 'element-ui' // Loading
import { requestPost, requestGet } from '@/js/dai/request'
let loading //
export default {
data () {
return {
formType: 'add', // addeditdetail
btnDisable: false,
roleId: '',
menuList: [],
menuListShuju: [],
formData: {
id: '',
name: '',
remark: '',//
menuIdList: [],
customerId: ''
},
}
},
components: {},
async mounted () {
},
methods: {
async initForm (type, roleId) {
this.startLoading()
this.customerId = localStorage.getItem("customerId");
this.formData.customerId = this.customerId
//
await this.getMenuList()
await this.getMenuShujuList()
this.$refs.menuListTree.setCheckedKeys([])
this.$refs.menuListShujuTree.setCheckedKeys([])
this.formType = type
if (roleId) {
this.roleId = roleId
this.formData.id = roleId
this.loadFormData()
}
this.endLoading()
},
async getMenuList () {
const url = "/gov/access/menu/nav"
let params = {}
const { data, code, msg } = await requestGet(url, params)
if (code === 0) {
this.menuList = [
{
id: '000',
name: '全部菜单',
children: [...data]
}
]
// this.menuList = data
} else {
this.$message.error(msg)
}
},
async getMenuShujuList () {
const url = "/gov/access/menu/nav"
let params = {
tableName: 'data_menu'
}
const { data, code, msg } = await requestGet(url, params)
if (code === 0) {
this.menuListShuju = [
{
id: '000',
name: '全部菜单',
children: [...data]
}
]
// this.menuListShuju = data
} else {
this.$message.error(msg)
}
},
async loadFormData () {
// const url = 'http://yapi.elinkservice.cn/mock/245/epmetuser/icNat/detail'
const url = '/gov/access/govrole/' + this.roleId
let params = {
}
const { data, code, msg } = await requestGet(url, params)
if (code === 0) {
this.formData = data
this.formData.menuIdList.forEach(item => {
this.$refs.menuListTree.setChecked(item, true)
})
this.formData.menuIdList.forEach(item => {
this.$refs.menuListShujuTree.setChecked(item, true)
})
this.formData.customerId = this.customerId
} else {
this.$message.error(msg)
}
},
handleComfirm () {
this.$refs['ref_form'].validate((valid, messageObj) => {
if (!valid) {
app.util.validateRule(messageObj)
} else {
this.addNat()
}
})
},
async addNat () {
this.formData.menuIdList = []
this.formData.menuIdList = [
...this.$refs.menuListTree.getCheckedKeys(),
...this.$refs.menuListTree.getHalfCheckedKeys(),
...this.$refs.menuListShujuTree.getCheckedKeys(),
...this.$refs.menuListShujuTree.getHalfCheckedKeys()
]
this.formData.menuIdList = this.formData.menuIdList.filter(item => item !== '000')
console.log('menuAll', this.formData)
// return false
this.btnDisable = true
setTimeout(() => {
this.btnDisable = false
}, 5000)
let url = ''
if (this.formType === 'add') {
url = '/gov/access/govrole/save'
this.formData.roleId = ''
} else {
url = '/gov/access/govrole/edit'
}
const { data, code, msg } = await requestPost(url, this.formData)
if (code === 0) {
this.$message({
type: 'success',
message: '操作成功'
})
this.resetData()
this.$emit('dialogOk')
this.btnDisable = false
} else {
this.btnDisable = false
this.$message.error(msg)
}
},
handleCancle () {
this.resetData()
this.$emit('dialogCancle')
},
resetData () {
this.roleId = ''
this.formData = {
id: '',
name: '',
remark: '',//
menuIdList: [],
customerId: ''
}
this.$refs['ref_form'].resetFields()
},
//
startLoading () {
loading = Loading.service({
lock: true, //
text: '正在加载……', //
background: 'rgba(0,0,0,.7)' //
})
},
//
endLoading () {
// clearTimeout(timer);
if (loading) {
loading.close()
}
}
},
computed: {
dataRule () {
return {
name: [
{ required: true, message: '角色名称不能为空', trigger: 'change' }
],
}
},
},
props: {
}
}
</script>
<style lang="scss" scoped >
@import "@/assets/scss/modules/management/epidemic.scss";
.item_border {
border: 1px;
border-radius: 50%;
}
</style>
<style lang='scss'>
//
.hide .el-upload--picture-card {
display: none;
}
// /
.el-upload-list__item {
transition: none !important;
}
</style>

4
src/views/pages/404.vue

@ -2,11 +2,11 @@
<div class="aui-wrapper aui-page__not-found"> <div class="aui-wrapper aui-page__not-found">
<div class="aui-content__wrapper"> <div class="aui-content__wrapper">
<div class="aui-content"> <div class="aui-content">
<h2 class="title">404</h2> <h2 class="title" style="font-size: 60px">页面未找到或无权访问</h2>
<p class="desc" v-html="$t('notFound.desc')"></p> <p class="desc" v-html="$t('notFound.desc')"></p>
<div class="btn-bar"> <div class="btn-bar">
<el-button @click="$router.go(-1)">{{ $t('notFound.back') }}</el-button> <el-button @click="$router.go(-1)">{{ $t('notFound.back') }}</el-button>
<el-button type="primary" @click="$router.push({ name: 'home' })">{{ $t('notFound.home') }}</el-button> <el-button type="primary" @click="$router.push({ name: 'index' })">{{ $t('notFound.home') }}</el-button>
</div> </div>
</div> </div>
</div> </div>

99
src/views/pages/index.vue

@ -1,27 +1,39 @@
<template> <template>
<div class="g-app"> <div class="g-app">
<div class="g-bd" v-if="true"> <div class="g-bd"
v-if="true">
<div class="m-list"> <div class="m-list">
<div class="list"> <div class="list">
<div class="item" @click="handleClickItem(1)"> <div class="item"
<img class="logo" src="@/assets/img/index/logo-1.png" alt="" /> @click="handleClickItem(1)">
<!-- 数字社区管理平台 --> <img class="logo"
src="@/assets/img/index/logo-1.png"
alt="" />
<!-- 数字社区管理平台 -->
<div class="name">党建引领基层治理互联管理平台</div> <div class="name">党建引领基层治理互联管理平台</div>
<img src="@/assets/img/index/zhuangshi.png" class="tip" /> <img src="@/assets/img/index/zhuangshi.png"
class="tip" />
</div> </div>
<div class="item z-on" @click="handleClickItem(2)"> <div class="item z-on"
<img class="logo" src="@/assets/img/index/logo-2.png" alt="" /> @click="handleClickItem(2)">
<!-- 数字社区可视化平台 --> <img class="logo"
src="@/assets/img/index/logo-2.png"
alt="" />
<!-- 数字社区可视化平台 -->
<div class="name">数据分析可视化平台</div> <div class="name">数据分析可视化平台</div>
<img src="@/assets/img/index/zhuangshi.png" class="tip" /> <img src="@/assets/img/index/zhuangshi.png"
class="tip" />
</div> </div>
</div> </div>
</div> </div>
<div class="m-footer"> <div class="m-footer">
<div class="login-footer"> <div class="login-footer">
<p> <p>
<a href="http://www.elinkchina.com.cn/" target="_blank">{{ $t('login.copyright') }}</a> <a href="http://www.elinkchina.com.cn/"
target="_blank">{{
$t("login.copyright")
}}</a>
</p> </p>
</div> </div>
</div> </div>
@ -29,60 +41,69 @@
</div> </div>
</template> </template>
<script> <script>
import Cookies from 'js-cookie' import Cookies from "js-cookie";
import debounce from 'lodash/debounce' import debounce from "lodash/debounce";
import { messages } from '@/i18n' import { messages } from "@/i18n";
import { getUUID } from '@/utils' import { getUUID } from "@/utils";
import { Loading } from 'element-ui' // Loading import { Loading } from "element-ui"; // Loading
import JSEncrypt from 'jsencrypt' // import JSEncrypt from "jsencrypt"; //
let loading // let loading; //
export default { export default {
data() { data () {
return { return {
pubKey: null, // pubKey: null, //
isShowLogin: true, isShowLogin: true,
i18nMessages: messages i18nMessages: messages,
} };
}, },
components: {}, components: {},
computed: {}, computed: {},
created() {}, created () { },
mounted() {}, mounted () { },
beforeRouteEnter (to, from, next) {
console.log(from);
if (from.name == "login") {
next();
location.reload();
}
next();
},
methods: { methods: {
handleClickItem(k) { handleClickItem (k) {
if (k == 1) { if (k == 1) {
this.$router.replace({ name: 'main' }) this.$router.replace({ name: "main" });
} else if (k == 2) { } else if (k == 2) {
this.$router.replace({ name: 'main-shuju' }) this.$router.replace({ name: "main-shuju" });
} }
}, },
// //
getAutoLogin(platformToken) { getAutoLogin (platformToken) {
this.dataForm.thirdToken = platformToken this.dataForm.thirdToken = platformToken;
this.dataForm.platform = 'pyld' this.dataForm.platform = "pyld";
this.$http this.$http
.post(`/auth/sso/oper/third/login`, this.dataForm) .post(`/auth/sso/oper/third/login`, this.dataForm)
.then(({ data: res }) => { .then(({ data: res }) => {
if (res.code !== 0) { if (res.code !== 0) {
if (res.code == 8302) { if (res.code == 8302) {
return this.$message.error(res.msg) return this.$message.error(res.msg);
} }
return this.$message.error(res.msg) return this.$message.error(res.msg);
} }
localStorage.setItem('customerId', res.data.customerId) localStorage.setItem("customerId", res.data.customerId);
localStorage.setItem('userType', 'work') localStorage.setItem("userType", "work");
localStorage.setItem('showHeader', '0') localStorage.setItem("showHeader", "0");
localStorage.setItem('token', res.data.token) localStorage.setItem("token", res.data.token);
this.$router.replace({ name: 'home' }) this.$router.replace({ name: "home" });
}) })
.catch(() => {}) .catch(() => { });
// epmet-ext9.elinkservice.cn/platform-admin // epmet-ext9.elinkservice.cn/platform-admin
} },
} },
} };
</script> </script>
<style lang="scss" src="@/assets/scss/pages/indexWork.scss" scoped></style> <style lang="scss" src="@/assets/scss/pages/indexWork.scss" scoped></style>

2
src/views/pages/login.vue

@ -247,7 +247,7 @@ export default {
localStorage.setItem("userType", "work"); localStorage.setItem("userType", "work");
localStorage.setItem("showHeader", "0"); localStorage.setItem("showHeader", "0");
localStorage.setItem("token", res.data.token); localStorage.setItem("token", res.data.token);
this.$router.replace({ name: "home" }); this.$router.replace({ name: "index" });
}) })
.catch(() => {}); .catch(() => {});
// epmet-ext9.elinkservice.cn/platform-admin // epmet-ext9.elinkservice.cn/platform-admin

Loading…
Cancel
Save