Browse Source

Merge branch 'dev-l7' into dev

feature
dai 3 years ago
parent
commit
ae0dc3c042
  1. 3
      package.json
  2. BIN
      src/assets/img/modules/visual/fenlei-box.png
  3. BIN
      src/assets/img/shuju/fiveLayer/ep_qt.png
  4. BIN
      src/assets/img/shuju/grid/pos-green.png
  5. BIN
      src/assets/img/shuju/grid/pos-red.png
  6. BIN
      src/assets/img/shuju/grid/pos-yellow.png
  7. 42
      src/assets/scss/main-shuju.scss
  8. 48
      src/assets/scss/modules/visual/basicInfoMain.scss
  9. 21
      src/assets/scss/modules/visual/distributionAnalyze.scss
  10. 10
      src/assets/scss/modules/visual/duoyuanfenxi.scss
  11. 55
      src/assets/scss/modules/visual/fiveLayerMap.scss
  12. 5
      src/assets/scss/modules/visual/heart.scss
  13. 19
      src/assets/scss/modules/visual/houseStatic.scss
  14. 37
      src/assets/scss/modules/visual/incident-info.scss
  15. 31
      src/assets/scss/modules/visual/issue-info.scss
  16. 15
      src/assets/scss/modules/visual/people.scss
  17. 4
      src/assets/scss/modules/visual/personCategory.scss
  18. 12
      src/assets/scss/modules/visual/processAnalyze.scss
  19. 10
      src/assets/scss/modules/visual/resibuzz.scss
  20. 19
      src/assets/scss/modules/visual/searchPerson.scss
  21. 3
      src/assets/scss/modules/visual/search_1.scss
  22. 12
      src/assets/scss/modules/visual/shijianchulifenxi.scss
  23. 12
      src/assets/scss/modules/visual/shijianfenleifenxi.scss
  24. 10
      src/assets/scss/modules/visual/typeAnalyze.scss
  25. 5
      src/assets/scss/modules/visual/warning.scss
  26. 7
      src/assets/scss/shuju-card.scss
  27. 24
      src/assets/scss/shuju-variables.scss
  28. 89
      src/js/store/index.js
  29. 9
      src/utils/index.js
  30. 62
      src/views/components/fixed1920.vue
  31. 3
      src/views/main-shuju/main-content.vue
  32. 56
      src/views/main-shuju/main.vue
  33. 8
      src/views/modules/cabaseinfo/carotators-binding-house.vue
  34. 4
      src/views/modules/shequzhili/event/cpts/event-info.vue
  35. 30
      src/views/modules/shequzhili/event/cpts/process-form-demand.vue
  36. 2
      src/views/modules/visual/basicinfo/houseStatic/houseStatic.vue
  37. 8
      src/views/modules/visual/basicinfo/people.vue
  38. 8
      src/views/modules/visual/basicinfo/peopleList.vue
  39. 5
      src/views/modules/visual/basicinfo/peopleSearch.vue
  40. 2
      src/views/modules/visual/basicinfo/personCategory/recordList.vue
  41. 2
      src/views/modules/visual/communityGovern/distributionAnalyze.vue
  42. 15
      src/views/modules/visual/communityGovern/duoyuanfuwu/duoyuanfuwufenxi.vue
  43. 1988
      src/views/modules/visual/communityGovern/fivelayers/mapIndex - 副本.vue
  44. 2
      src/views/modules/visual/communityGovern/fivelayers/mapIndex copy 2.vue
  45. 2
      src/views/modules/visual/communityGovern/fivelayers/mapIndex copy.vue
  46. 2
      src/views/modules/visual/communityGovern/fivelayers/mapIndex-baidu.vue
  47. 109
      src/views/modules/visual/communityGovern/fivelayers/mapIndex.vue
  48. 4
      src/views/modules/visual/communityGovern/resibuzz.vue
  49. 2
      src/views/modules/visual/communityGovern/shijianchuli/shijianchulifenxi copy.vue
  50. 4
      src/views/modules/visual/communityGovern/shijianchuli/shijianchulifenxi.vue
  51. 4
      src/views/modules/visual/communityGovern/shijianfenlei/shijianfenleifenxi.vue
  52. 4
      src/views/modules/visual/communityGovern/typeAnalyze.vue
  53. 17
      src/views/modules/visual/communityParty/community.vue
  54. 12
      src/views/modules/visual/communityParty/elegant.vue
  55. 9
      src/views/modules/visual/communityParty/gridParty.vue
  56. 13
      src/views/modules/visual/communityParty/party.vue
  57. 11
      src/views/modules/visual/communityParty/partyOld.vue
  58. 51
      src/views/modules/visual/cpts/card.vue
  59. 126
      src/views/modules/visual/cpts/tb.vue
  60. 84
      src/views/modules/visual/heart/index.vue
  61. 16
      src/views/modules/visual/measure/service.vue
  62. 17
      src/views/modules/visual/measure/volunteer.vue
  63. 7
      src/views/modules/visual/plugin/power/components/house-dialog.vue
  64. 5
      src/views/modules/visual/plugin/power/components/info-dialog.vue
  65. 25
      src/views/modules/visual/plugin/power/organization.vue
  66. 480
      src/views/modules/visual/test/l7.vue
  67. 119
      src/views/modules/visual/warning/components/screen-table/index.vue
  68. 2
      src/views/modules/visual/warning/components/screen-table/people-list.vue
  69. 4
      src/views/modules/visual/warning/index.vue
  70. 2
      src/views/modules/warning/index.vue

3
package.json

@ -16,6 +16,9 @@
"et:list": "gulp themes"
},
"dependencies": {
"@antv/l7": "^2.9.14",
"@antv/l7-draw": "^3.0.5",
"@antv/l7-maps": "^2.9.14",
"@riophae/vue-treeselect": "^0.4.0",
"@tinymce/tinymce-vue": "^3.2.8",
"async-validator": "^4.2.5",

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

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.4 KiB

BIN
src/assets/img/shuju/fiveLayer/ep_qt.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.7 KiB

BIN
src/assets/img/shuju/grid/pos-green.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.4 KiB

BIN
src/assets/img/shuju/grid/pos-red.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.7 KiB

BIN
src/assets/img/shuju/grid/pos-yellow.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.3 KiB

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

@ -1,6 +1,6 @@
@import '../../c/config';
@import '../../c/function';
@import './c/common';
@import "../../c/config";
@import "../../c/function";
@import "./c/common";
.m-pop {
@include shield;
@ -103,7 +103,18 @@
.info-content {
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 {
position: relative;
@ -123,7 +134,7 @@
}
&::before {
content: '';
content: "";
display: block;
position: absolute;
top: 9px;
@ -134,18 +145,6 @@
border-radius: 3px;
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;
&::before {
content: '';
content: "";
position: absolute;
z-index: 1;
display: block;
@ -290,7 +289,7 @@
padding-top: 1px;
&::before {
content: '';
content: "";
display: block;
position: absolute;
top: -5px;

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

89
src/js/store/index.js

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

9
src/utils/index.js

@ -144,4 +144,13 @@ export function computedCard(idCard) {
sex = '1';
return {age , sex, birth}
}
// 将数组分成小块数组的集合
export function spliceIntoChunks(arr, chunkSize) {
const res = [];
while (arr.length > 0) {
const chunk = arr.splice(0, chunkSize);
res.push(chunk);
}
return res;
}

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

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

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

8
src/views/modules/cabaseinfo/carotators-binding-house.vue

@ -1,10 +1,10 @@
<template>
<template>
<div>
<div v-show="currentPage == 'chaxun'">
<div v-show="!showedFuncPanel">
<div class="m-info">
<div class="wrap">
<div class="search">
<div class="search house-search">
<div class="input">
<!-- <el-dropdown
class="select"
@ -634,6 +634,10 @@ export default {
<style lang="scss" src="@/assets/scss/modules/search.scss" scoped></style>
<style lang="scss" scoped>
.house-search{
width: 100% !important;
// min-width: 750px;
}
.logo {
font-size: 35px;
font-weight: bold;

4
src/views/modules/shequzhili/event/cpts/event-info.vue

@ -412,8 +412,8 @@ export default {
this.demand = this.$refs.ref_processinfo_add.demand
this.demand.gridId = this.eventInfoData.gridId
//
this.eventInfoData.categoryList = []
this.eventInfoData.categoryList.push(this.demand.categoryId)
// this.eventInfoData.categoryList = []
// this.eventInfoData.categoryList.push(this.demand.categoryId)
console.log('demond', this.demand)
}

30
src/views/modules/shequzhili/event/cpts/process-form-demand.vue

@ -5,7 +5,7 @@
:model="formData"
:rules="dataRule"
label-width="100px">
<el-form-item label="事件分类"
<!-- <el-form-item label="事件分类"
label-width="150px"
prop="categoryId">
<el-cascader class="cell-width-2"
@ -16,7 +16,7 @@
:props="optionProps"
:show-all-levels="false"
@change="handleChangeCate"></el-cascader>
</el-form-item>
</el-form-item> -->
<el-form-item label="服务内容"
label-width="150px"
prop="content">
@ -197,7 +197,7 @@ function iniFmData () {
serviceLocation: '',//
latitude: '',//
longitude: '',//
categoryId: ''
// categoryId: ''
};
}
export default {
@ -236,9 +236,9 @@ export default {
dataRule () {
return {
categoryId: [
{ required: true, message: "请填写事件分类", trigger: "blur" },
],
// categoryId: [
// { required: true, message: "", trigger: "blur" },
// ],
content: [
{ required: true, message: "服务内容不能为空", trigger: "blur" },
],
@ -330,15 +330,15 @@ export default {
this.formData.demandUserMobile = this.eventDetailCopy.mobile
if (this.eventDetailCopy.parentCategoryId && this.eventDetailCopy.categoryId) {
this.selCategoryArray = []
this.selCategoryArray.push(this.eventDetailCopy.parentCategoryId)
this.selCategoryArray.push(this.eventDetailCopy.categoryId)
this.formData.categoryId = this.eventDetailCopy.categoryId
this.selCateObj = {
name: this.eventDetailCopy.categoryName,
id: this.eventDetailCopy.categoryId
}
// this.selCategoryArray = []
// this.selCategoryArray.push(this.eventDetailCopy.parentCategoryId)
// this.selCategoryArray.push(this.eventDetailCopy.categoryId)
// this.formData.categoryId = this.eventDetailCopy.categoryId
// this.selCateObj = {
// name: this.eventDetailCopy.categoryName,
// id: this.eventDetailCopy.categoryId
// }
}
} else {

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

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

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

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

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

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

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

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

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

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

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

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

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

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

1988
src/views/modules/visual/communityGovern/fivelayers/mapIndex - 副本.vue

File diff suppressed because it is too large

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

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

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

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

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

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

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

@ -26,32 +26,29 @@
</div>
<div class="div_data">
<div class="div_tips">
<div class="div_coverage">
<div class="coverage_item"
@click="handleClickCoverage(index)"
v-for="(item,index) in coverageTypesList"
:key="index">
<img :src="item.select?selImg:noSelImg" />
<span>{{item.label}}</span>
<cpt-card>
<div class="div_coverage">
<div class="coverage_item"
@click="handleClickCoverage(index)"
v-for="(item,index) in coverageTypesList"
:key="index">
<img :src="item.select?selImg:noSelImg" />
<span>{{item.label}}</span>
</div>
</div>
</div>
<div class="div_category">
<el-scrollbar style="height:98%">
<div class="div_category">
<div v-for="(item,index) in categoryListshow"
:key="index"
class="category_item">
:key="index"
class="category_item">
<div v-for="(colItem,colIndex) in item"
:key="colIndex"
class="list_item"
@click="handleClickCategory(index,colIndex)">
:key="colIndex"
class="list_item"
@click="handleClickCategory(index,colIndex)">
<img :src="colItem.dataIcon"
alt />
alt />
<div :class="['item_content',colItem.sel?'item_content_sel':'']">{{colItem.categoryName}}
</div>
@ -59,49 +56,50 @@
</div>
</div>
</el-scrollbar>
</div>
</div>
</cpt-card>
</div>
<div class="div_info">
<div class="div_search_list">
<el-input size="mini"
WarningColor='warning'
placeholder="请输入搜索内容"
v-model="search">
<i slot="prefix"
class="icon">
<img src="../../../../../assets/img/modules/visual/sousuo.png"
alt />
</i>
</el-input>
<div class="btn"
@click="handleSearch">搜索</div>
<cpt-card>
<div class="div_search_list">
<el-input size="mini"
WarningColor='warning'
placeholder="请输入搜索内容"
v-model="search">
<i slot="prefix"
class="icon">
<img src="../../../../../assets/img/modules/visual/sousuo.png"
alt />
</i>
</el-input>
<div class="btn"
@click="handleSearch">搜索</div>
</div>
<div class="m-tb">
</div>
<div class="m-tb">
<div class="tb">
<cpt-tb :col-list="demand.colList"
:loading="demand.loading"
:header="demand.header"
:list="demand.list"
@handleClickRow="handleClickRow"></cpt-tb>
<div class="tb">
<cpt-tb :col-list="demand.colList"
:loading="demand.loading"
:header="demand.header"
:list="demand.list"
@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 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>
@ -638,6 +636,7 @@ const vueGis = {
'ep_lg': require('../../../../../assets/img/shuju/fiveLayer/ep_lg.png'),
'sr_xfz': require('../../../../../assets/img/shuju/fiveLayer/sr_xfz.png'),
'pu_jgzsbm': require('../../../../../assets/img/shuju/fiveLayer/pu_jgzsbm.png'),
'ep_qt': require('../../../../../assets/img/shuju/fiveLayer/ep_qt.png'),
'gr_czw': require('../../../../../assets/img/shuju/fiveLayer/gr_czw.png'),
'ep_cycs': require('../../../../../assets/img/shuju/fiveLayer/ep_cycs.png'),

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

@ -1,15 +1,27 @@
<template>
<div class="m-card">
<div class="card-wrap">
<img src="@/assets/img/shuju/card/l-t.png" class="card-corner card-corner-1" />
<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" />
<img
src="@/assets/img/shuju/card/l-t.png"
class="card-corner card-corner-1"
/>
<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-l"></div>
<div class="card-line card-line-r"></div>
<div class="card-line card-line-b"></div>
<div class="card-cnt">
<div class="card-cnt" :style="tbStyle">
<slot></slot>
</div>
</div>
@ -19,17 +31,36 @@
<script>
export default {
name: "shuju-card",
data() {
return {
};
},
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>

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

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

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

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

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

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

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

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

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

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

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

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

25
src/views/modules/visual/plugin/power/organization.vue

@ -10,15 +10,17 @@
<div class="title">
<img src="../../../../../assets/img/shuju/title-tip.png" />
<span>动力主轴</span>
<div class="second-select cascader">
<el-cascader class="customer_cascader"
ref="myCascader"
placeholder="请选择所属组织"
:options="agencytree"
v-model="agencyId"
:show-all-levels="false"
@change="handleChangeAgencytree"
:props="{ expandTrigger: 'hover', emitPath: false, label: 'orgName', value: 'orgId', children: 'subOrgList' }"/>
<div class="search">
<div class="second-select cascader">
<el-cascader class="customer_cascader"
ref="myCascader"
placeholder="请选择所属组织"
:options="agencytree"
v-model="agencyId"
:show-all-levels="false"
@change="handleChangeAgencytree"
:props="{ expandTrigger: 'hover', emitPath: false, label: 'orgName', value: 'orgId', children: 'subOrgList' }"/>
</div>
</div>
<!-- <div class="second-select ">
@ -448,6 +450,11 @@ export default {
src="@/assets/scss/modules/visual/warning.scss"
scoped
></style>
<style
lang="scss"
src="@/assets/scss/modules/visual/search_1.scss"
scoped
></style>
<style lang="scss" scoped>
.second-select {
margin: 0 10px 0 40px !important;

480
src/views/modules/visual/test/l7.vue

@ -0,0 +1,480 @@
<template>
<div class="g-cnt">
<cpt-card isFullScreen>
<div class="m-map">
<div id="map"></div>
</div>
</cpt-card>
</div>
</template>
<script>
import { requestPost } from "@/js/dai/request";
import cptCard from "@/views/modules/visual/cpts/card";
import cptTb from "@/views/modules/visual/cpts/tb";
import nextTick from "dai-js/tools/nextTick";
import dateFormat from "dai-js/tools/dateFormat";
import {
Scene,
PointLayer,
PolygonLayer,
LineLayer,
CityBuildingLayer,
RasterLayer,
} from "@antv/l7";
import { GaodeMap, Map } from "@antv/l7-maps";
import { DrawEvent, DrawPolygon } from "@antv/l7-draw";
import { spliceIntoChunks } from "@/utils/index";
let scene;
export default {
name: "l7",
data() {
return {
srcMapData: [],
dotData: [],
iconUrlArray: {
anzhibangjiao: require("@/assets/img/shuju/fiveLayer/anzhibangjiao.png"),
buliangqingshaonian: require("@/assets/img/shuju/fiveLayer/buliangqingshaonian.png"),
shequjiaozheng: require("@/assets/img/shuju/fiveLayer/shequjiaozheng.png"),
resi_xfry: require("@/assets/img/shuju/fiveLayer/resi_xfry.png"),
xidurenyuan: require("@/assets/img/shuju/fiveLayer/xidurenyuan.png"),
xiejiaorenyuan: require("@/assets/img/shuju/fiveLayer/xiejiaorenyuan.png"),
zhaoshizhaohuojingshenbing: require("@/assets/img/shuju/fiveLayer/zhaoshizhaohuojingshenbing.png"),
yjdw: require("@/assets/img/shuju/fiveLayer/yjdw.png"),
sr_gy: require("@/assets/img/shuju/fiveLayer/sr_gy.png"),
sr_gc: require("@/assets/img/shuju/fiveLayer/sr_gc.png"),
whdw: require("@/assets/img/shuju/fiveLayer/whdw.png"),
sr_ggld: require("@/assets/img/shuju/fiveLayer/sr_ggld.png"),
lwh: require("@/assets/img/shuju/fiveLayer/lwh.png"),
sr_tyc: require("@/assets/img/shuju/fiveLayer/sr_tyc.png"),
lyjlb: require("@/assets/img/shuju/fiveLayer/lyjlb.png"),
sr_yjy: require("@/assets/img/shuju/fiveLayer/sr_yjy.png"),
zaxld: require("@/assets/img/shuju/fiveLayer/zaxld.png"),
other: require("@/assets/img/shuju/fiveLayer/other.png"),
sr_jzz: require("@/assets/img/shuju/fiveLayer/sr_jzz.png"),
sr_djc: require("@/assets/img/shuju/fiveLayer/sr_djc.png"),
sr_rfqck: require("@/assets/img/shuju/fiveLayer/sr_rfqck.png"),
ep_lg: require("@/assets/img/shuju/fiveLayer/ep_lg.png"),
sr_xfz: require("@/assets/img/shuju/fiveLayer/sr_xfz.png"),
pu_jgzsbm: require("@/assets/img/shuju/fiveLayer/pu_jgzsbm.png"),
ep_qt: require("@/assets/img/shuju/fiveLayer/ep_qt.png"),
gr_czw: require("@/assets/img/shuju/fiveLayer/gr_czw.png"),
ep_cycs: require("@/assets/img/shuju/fiveLayer/ep_cycs.png"),
dc_jyz: require("@/assets/img/shuju/fiveLayer/dc_jyz.png"),
ep_gwylcs: require("@/assets/img/shuju/fiveLayer/ep_gwylcs.png"),
dc_jqz: require("@/assets/img/shuju/fiveLayer/dc_jqz.png"),
dc_whpdw: require("@/assets/img/shuju/fiveLayer/dc_whpdw.png"),
ep_wb: require("@/assets/img/shuju/fiveLayer/ep_wb.png"),
ep_mrxycs: require("@/assets/img/shuju/fiveLayer/ep_mrxycs.png"),
dc_yqhjz: require("@/assets/img/shuju/fiveLayer/dc_yqhjz.png"),
dc_jzgd: require("@/assets/img/shuju/fiveLayer/dc_jzgd.png"),
ep_scjgqy: require("@/assets/img/shuju/fiveLayer/ep_scjgqy.png"),
cm_nmsc: require("@/assets/img/shuju/fiveLayer/cm_nmsc.png"),
event_tdnd: require("@/assets/img/shuju/fiveLayer/event_tdnd.png"),
cm_bhsc: require("@/assets/img/shuju/fiveLayer/cm_bhsc.png"),
cm_cjsc: require("@/assets/img/shuju/fiveLayer/cm_cjsc.png"),
ep_lssd: require("@/assets/img/shuju/fiveLayer/ep_lssd.png"),
resi_szry: require("@/assets/img/shuju/fiveLayer/resi_szry.png"),
ps_lyy: require("@/assets/img/shuju/fiveLayer/ps_lyy.png"),
resi_snry: require("@/assets/img/shuju/fiveLayer/resi_snry.png"),
ps_mzb: require("@/assets/img/shuju/fiveLayer/ps_mzb.png"),
ps_zs: require("@/assets/img/shuju/fiveLayer/ps_zs.png"),
ps_wss: require("@/assets/img/shuju/fiveLayer/ps_wss.png"),
ps_jjz: require("@/assets/img/shuju/fiveLayer/ps_jjz.png"),
ep_xx: require("@/assets/img/shuju/fiveLayer/ep_xx.png"),
ep_yy: require("@/assets/img/shuju/fiveLayer/ep_yy.png"),
},
};
},
props: {},
computed: {},
components: {
cptCard,
cptTb,
},
watch: {},
async mounted() {
await this.getMapData();
this.iniMap();
await this.getDotData();
this.updateMap();
},
methods: {
iniMap() {
const { srcMapData } = this;
scene = new Scene({
id: "map",
map: new GaodeMap({
pitch: 45,
style: "dark",
// style: "light",
center: [srcMapData.longitude, srcMapData.latitude],
// token: "xxxx - token",
zoom: 18,
minZoom: 10,
}),
});
scene.on("loaded", () => {
const polygon = [
...srcMapData.children
.filter((item) => item.coordinates.length > 0)
.map((item) => ({
type: "Feature",
properties: {
name: item.name,
center: [item.longitude, item.latitude],
},
geometry: {
type: "Polygon",
coordinates: [
spliceIntoChunks(
item.coordinates.split(",").map((item) => parseFloat(item)),
2
),
],
},
})),
];
console.log(polygon);
const polygonLayer = new PolygonLayer({
autoFit: true,
})
// .size(1000)
.source({ type: "FeatureCollection", features: polygon })
.color("name", [
"rgba(255, 100, 60, 0.5)",
"rgba(43, 231, 253, 0.35)",
"rgba(255, 255, 50, 0.35)",
])
// .shape("extrude")
.shape("fill")
.style({
opacityLinear: {
enable: true, // true - false
dir: "out", // in - out
},
opacity: 1,
// heightfixed: true,
// pickLight: true,
// raisingHeight: 1000,
// sourceColor: "#333",
// targetColor: "rgba(255,255,255, 0.5)",
});
scene.addLayer(polygonLayer);
const linelayer = new LineLayer({
zIndex: 2,
name: "line2",
})
.source({ type: "FeatureCollection", features: polygon })
.shape("line")
.size(1)
.color("name", [
"rgba(255, 50, 50, 0.7)",
"rgba(43, 231, 253, 0.7)",
"rgba(255, 255, 50, 0.7)",
])
.style({
opacity: 1,
})
.animate({
interval: 1, //
duration: 2, //
trailLength: 2, // 线
});
scene.addLayer(linelayer);
const circleLayer = new PolygonLayer({
zIndex: 3,
})
.source({ type: "FeatureCollection", features: polygon })
.color("name", [
"rgba(255, 50, 50, 0.99)",
"rgba(43, 231, 253, 0.99)",
"rgba(255, 255, 50, 0.99)",
])
.shape("circle")
.active(true)
.animate(true)
.size(50)
.style({
offsets: [0, -10], // [, ]
opacity: 1,
});
scene.addLayer(circleLayer);
scene.addImage(
"pos-red",
require("@/assets/img/shuju/grid/pos-red.png")
);
scene.addImage(
"pos-green",
require("@/assets/img/shuju/grid/pos-green.png")
);
scene.addImage(
"pos-yellow",
require("@/assets/img/shuju/grid/pos-yellow.png")
);
const posLayer = new PolygonLayer({
zIndex: 4,
})
.source({ type: "FeatureCollection", features: polygon })
.shape("name", ["pos-red", "pos-green", "pos-yellow"])
.size(14)
.style({
offsets: [0, 10], // [, ]
// rotation: 60,
layerType: "fillImage",
});
scene.addLayer(posLayer);
const textLayer = new PolygonLayer({
zIndex: 10,
})
.source({ type: "FeatureCollection", features: polygon })
.color("name", [
"rgba(255, 100, 60, 0.99)",
"rgba(43, 231, 253, 0.99)",
"rgba(255, 255, 50, 0.99)",
])
.shape("name", "text")
.size(16)
.style({
textAnchor: "center", // center|left|right|top|bottom|top-left
textOffset: [0, 45], // [, ]
spacing: 2, //
padding: [1, 1], // padding []
stroke: "#ffffff", //
strokeWidth: 0.3, //
strokeOpacity: 1.0,
})
.active(true);
scene.addLayer(textLayer);
textLayer.on("mousemove", (e) => {
textLayer.style({
raisingHeight: 0,
});
});
textLayer.on("click", (e) => {
console.log(e.feature.properties.name);
});
textLayer.on("unmousemove", (e) => {
polygonLayer.style({
raisingHeight: 0,
});
});
fetch(
"https://gw.alipayobjects.com/os/rmsportal/ggFwDClGjjvpSMBIrcEx.json"
).then(async (res) => {
const pointLayer = new CityBuildingLayer({
autoFit: true,
});
pointLayer
.source(await res.json())
.size("floor", [0, 500])
.color("rgba(242,246,250,1.0)")
.animate({
enable: true,
})
.active({
color: "#0ff",
mix: 0.5,
})
.style({
opacity: 0.7,
baseColor: "rgb(16, 16, 16)",
windowColor: "rgb(30, 60, 89)",
brightColor: "rgb(255, 176, 38)",
sweep: {
enable: true,
sweepRadius: 2,
sweepColor: "#1990FF",
sweepSpeed: 0.5,
sweepCenter: [120.145319, 30.238915],
},
});
// scene.addLayer(pointLayer);
});
// const textFeatures = [
// ...srcMapData.children.map((item) => ({
// type: "Feature",
// properties: {
// name: item.name,
// },
// geometry: {
// type: "Point",
// coordinates: [item.longitude, item.latitude],
// },
// })),
// ];
// console.log(textFeatures);
// let textLayer = new PointLayer({
// // autoFit: true
// })
// .source({ type: "FeatureCollection", features: textFeatures })
// .shape("name", "text")
// .size(24)
// .color("#0ff")
// .style({
// textAnchor: "center", // center|left|right|top|bottom|top-left
// textOffset: [0, 0], // [, ]
// spacing: 2, //
// padding: [1, 1], // padding []
// stroke: "#ffffff", //
// strokeWidth: 0.3, //
// strokeOpacity: 1.0,
// });
// scene.addLayer(textLayer);
});
},
updateMap() {
const { iconUrlArray, dotData } = this;
if (!dotData || dotData.length == 0) return;
if (!scene) return;
Object.keys(iconUrlArray).forEach((ki) => {
scene.addImage(ki, iconUrlArray[ki]);
console.log(ki);
});
const dotFeatures = [
...dotData.map((item) => ({
type: "Feature",
properties: {
categoryKey: item.categoryKey,
},
geometry: {
type: "Point",
coordinates: [
parseFloat(item.longitude),
parseFloat(item.latitude),
],
},
})),
];
console.log(dotFeatures);
const dotLayer = new PointLayer()
.source({ type: "FeatureCollection", features: dotFeatures })
.shape("categoryKey", (categoryKey) => {
return categoryKey;
})
.size(8)
.style({
rotation: 0,
layerType: "fillImage",
});
scene.addLayer(dotLayer);
},
async getMapData() {
const { data, code, msg } = await requestPost("/gov/org/agency/maporg", {
level: "",
orgId: "",
});
if (msg === "success" && code === 0) {
this.srcMapData = data;
}
},
async getDotData() {
const { data, code, msg } = await requestPost(
"/data/aggregator/coverage/dataList",
{
coverageTypes: ["zhzl", "yjcl", "aqsc", "csgl"],
categoryKeys: [
"resi_xfry",
"anzhibangjiao",
"xiejiaorenyuan",
"buliangqingshaonian",
"shequjiaozheng",
"zhaoshizhaohuojingshenbing",
"xidurenyuan",
"yjdw",
"whdw",
"lwh",
"lyjlb",
"zaxld",
"other",
"ep_lg",
"pu_jgzsbm",
"sr_gy",
"sr_gc",
"sr_ggld",
"sr_tyc",
"sr_yjy",
"sr_jzz",
"sr_djc",
"sr_rfqck",
"sr_xfz",
"dc_jyz",
"dc_jqz",
"dc_whpdw",
"dc_yqhjz",
"dc_jzgd",
"ep_cycs",
"ep_gwylcs",
"ep_wb",
"ep_mrxycs",
"ep_scjgqy",
"ep_qt",
"gr_czw",
"cm_nmsc",
"cm_bhsc",
"cm_cjsc",
"ep_lssd",
"event_tdnd",
],
search: "",
isPage: false,
}
);
if (msg === "success" && code === 0) {
this.dotData = data.list;
}
},
},
};
</script>
<style lang="scss" scoped>
.g-cnt {
margin-top: 40px;
}
.m-map {
position: relative;
padding: 20px 0;
height: 100%;
#app {
width: 100%;
height: 100%;
}
}
</style>

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

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

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

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

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

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

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

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

Loading…
Cancel
Save