diff --git a/public/index.html b/public/index.html index 3d3861c7..397b7f46 100644 --- a/public/index.html +++ b/public/index.html @@ -6,6 +6,8 @@ + + diff --git a/src/assets/img/shuju/sight.png b/src/assets/img/shuju/sight.png new file mode 100644 index 00000000..d1c00c46 Binary files /dev/null and b/src/assets/img/shuju/sight.png differ diff --git a/src/assets/scss/modules/visual/heart.scss b/src/assets/scss/modules/visual/heart.scss new file mode 100644 index 00000000..0e12e1b7 --- /dev/null +++ b/src/assets/scss/modules/visual/heart.scss @@ -0,0 +1,35 @@ +@import "../../c/config"; +@import "../../c/function"; +@import "./c/common"; + +.g-cpt { + display: flex; + flex-wrap: wrap; + justify-content: space-between; + margin-top: 5px; +} +.m-tb { + width: 33%; + .title { + padding: 10px; + font-size: 22px; + font-family: PingFang SC; + font-weight: 800; + color: #ffffff; + display: flex; + align-items: center; + + img { + display: block; + margin-right: 5px; + } + span { + display: block; + } + } + .tb { + height: calc(100vh - 180px); + overflow-y: auto; + @include scrollBar; + } +} diff --git a/src/assets/scss/modules/visual/incident-info.scss b/src/assets/scss/modules/visual/incident-info.scss new file mode 100644 index 00000000..b59c7a1d --- /dev/null +++ b/src/assets/scss/modules/visual/incident-info.scss @@ -0,0 +1,373 @@ +@import "../../c/config"; +@import "../../c/function"; +@import "./c/common"; + +.m-pop { + @include shield; + background-color: rgba(#000, 0.9); + overflow-y: auto; + + .wrap { + position: relative; + margin: 120px auto; + width: 1020px; + + .title { + padding: 10px; + font-size: 22px; + font-family: PingFang SC; + font-weight: 800; + color: #ffffff; + display: flex; + align-items: center; + + img { + display: block; + margin-right: 5px; + } + span { + display: block; + } + } + + .btn-close { + position: absolute; + top: -15px; + right: -15px; + cursor: pointer; + } + + .line { + margin: 20px auto; + width: 900px; + height: 1px; + border: 1px dashed #1257c9; + } + + .tabs { + margin-top: 30px; + display: flex; + align-items: center; + padding-left: 20px; + padding-left: 58px; + + .tab-btn { + width: 30px; + text-align: center; + cursor: pointer; + } + + .tab { + margin: 0 5px; + min-width: 76px; + padding: 0 5px; + height: 30px; + background: rgba(255, 255, 255, 0); + border: 1px solid #1257c9; + box-shadow: 0 0 10px 0 inset #1257c9; + border-radius: 2px; + text-align: center; + font-size: 14px; + font-family: PingFang SC; + font-weight: 400; + color: #ffffff; + line-height: 30px; + cursor: pointer; + transition: all ease 0.5s; + &.z-on { + background: linear-gradient(90deg, #1a5afd, #009cff); + box-shadow: none; + } + } + } + } +} + +.m-info { + padding-left: 62px; + font-size: 16px; + font-family: PingFang SC; + font-weight: 400; + color: #ffffff; + line-height: 24px; + width: 500px; + + .info-title { + margin-top: 30px; + font-size: 20px; + font-family: PingFang SC; + font-weight: bold; + color: #ffffff; + line-height: 30px; + } + .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; + margin: 10px 0; + display: flex; + padding-left: 15px; + + > span, + > div { + display: block; + max-width: 300px; + } + + &::before { + content: ""; + display: block; + position: absolute; + top: 9px; + left: 0; + width: 7px; + height: 7px; + background: #0c81fe; + border-radius: 3px; + margin-right: 10px; + } + } +} + +.m-case { + @include scrollBar; + height: 600px; + padding: 20px 0 20px 0; + overflow-y: auto; +} + +.m-row { + display: flex; + justify-content: space-between; +} + +.m-yanpan { + padding-left: 62px; + padding-right: 0; + min-height: 300px; +} + +.m-hint { + position: relative; + height: 300px; + + // 暂无数据 + img { + position: absolute; + top: 0; + left: 0; + right: 0; + bottom: 0; + margin: auto; + } +} + +.m-line { + .stat { + margin: 20px 0 10px; + display: flex; + .stat-item { + width: 33%; + text-align: center; + + div { + font-size: 17px; + font-family: Source Han Serif SC; + font-weight: 500; + color: rgba(#fff, 0.5); + line-height: 24px; + &.z-weak { + font-size: 12px; + font-family: Source Han Serif SC; + font-weight: 500; + color: rgba(#fff, 0.5); + line-height: 24px; + } + } + } + } +} + +.m-tb { + padding-left: 62px; + padding-right: 40px; +} + +.m-pagination { + box-sizing: border-box; + margin-top: 20px; + width: 100%; + height: 40px; + display: flex; + justify-content: flex-end; + + /deep/ .el-pagination.is-background .el-pager li:not(.disabled).active { + background: #0266d1; + color: #000d3f; + } + + /deep/ .el-pagination .el-pager li { + background: #002e74; + } + + /deep/ .el-pagination .btn-prev { + background: #002e74; + } + + /deep/ .el-pagination .btn-next { + background: #002e74; + } +} + +.m-process { + width: 400px; + + .process-title { + margin-bottom: 25px; + margin-left: -5px; + font-size: 16px; + font-family: PingFang SC; + font-weight: bold; + color: #ffffff; + line-height: 18px; + } + + .list { + position: relative; + box-sizing: border-box; + margin-top: 30px/2; + margin-left: 50px/2; + padding: 0 0 0 30px/2; + width: 680px/2; + border-left: 3px solid #0c81fe; + padding-right: 10px; + + &::before { + content: ""; + position: absolute; + z-index: 1; + display: block; + top: -2px/2; + left: -2px/2; + width: 5px/2; + height: 20px/2; + background-color: #ffffff; + } + + .item { + position: relative; + z-index: 2; + margin-bottom: 8px; + padding-bottom: 8px; + font-size: 16px; + font-family: PingFang SC; + font-weight: 400; + color: #fefefe; + line-height: 24px; + padding-left: 20px; + padding-top: 1px; + + &::before { + content: ""; + display: block; + position: absolute; + top: -5px; + left: -11px; + width: 18px; + height: 18px; + background: #0c81fe; + border: 4px solid lighten(#0c81fe, 15); + border-radius: 100%; + } + + &.z-on { + &::before { + background: #e08400; + border-color: lighten(#e08400, 15); + } + } + + &:last-child { + margin-bottom: 0; + padding-bottom: 0; + border-bottom: none; + } + + .item-row { + margin-top: -10px; + margin-bottom: 10px; + display: flex; + } + + .name { + position: relative; + padding: 0 10px; + font-size: 12px; + font-family: PingFang SC; + font-weight: 500; + color: #fefefe; + line-height: 22px; + height: 22px; + border-radius: 10px 0 10px 0; + background-color: #0c81fe; + // background-color: #e08400; + } + + .date { + margin-left: 10px; + font-size: 12px; + font-family: PingFang SC; + font-weight: 500; + color: #7ca1d2; + line-height: 25px; + } + + .detail { + @include cs; + font-size: 16px; + line-height: 20px; + margin-bottom: 5px; + display: flex; + + .detail-field { + width: 22%; + text-align: justify; + text-align-last: justify; + } + .detail-value { + width: 78%; + .detail-link { + display: inline; + } + } + } + + .attachement-list { + padding-left: 80px; + a { + display: block; + cursor: pointer; + color: #4df0ff; + font-size: 14px; + + i { + color: #fff; + } + } + } + } + } +} diff --git a/src/router/index.js b/src/router/index.js index bc43c78a..314a89b5 100644 --- a/src/router/index.js +++ b/src/router/index.js @@ -316,6 +316,14 @@ router.beforeEach((to, from, next) => { }, ], }, + { + icon: "icon-setting", + id: "2221321fefefaewfa123", + name: "初心互助", + url: "visual/heart/index", + children: [ + ], + }, ]; fnAddDynamicMenuRoutes2(window.SITE_CONFIG["menuShujuList"]); // next({ ...to, replace: true }) diff --git a/src/views/modules/visual/basicinfo/cpts/incident-info.vue b/src/views/modules/visual/basicinfo/cpts/incident-info.vue index 31ed33e1..ce0975e1 100644 --- a/src/views/modules/visual/basicinfo/cpts/incident-info.vue +++ b/src/views/modules/visual/basicinfo/cpts/incident-info.vue @@ -4,62 +4,35 @@
- 更多信息 + 事件详情
-
-
-
- 所属网格: - {{ gridName }} -
-
- 所属小区: - {{ xiaoquName }} -
-
- 所属楼宇: - {{ louName }}-{{ danyuanName }} -
-
- 所属家庭: - {{ homeName }} -
-
- {{ field.label }}: - - {{ - info[field.columnName] == null - ? "--" - : getOptionLabel( - field.options, - info[field.columnName], - field.itemType - ) - }} - - {{ - info[field.columnName] == null ? "--" : info[field.columnName] - }} -
+
+
事件内容
+
{{ info.eventContent }}
+
+ +
+
+ 提交时间: + {{ info.eventTime }} +
+
+ 报事人: + {{ info.eventPeopleName }} +
+
+ 所属网格: + {{ info.gridName }} +
+
+ 提报给: + {{ info.eventPerson.join("、") || "--" }}
- -
@@ -89,81 +62,136 @@
-
-
-
-
- {{ field.label }}: - {{ - infoItem[field.columnName] == null - ? "--" - : getOptionLabel( - field.options, - infoItem[field.columnName], - field.itemType - ) - }} - - {{ - infoItem[field.columnName] == null - ? "--" - : infoItem[field.columnName] - }} -
+
+
+
+ + 加载中
+
+ +
+
+
+
-
-
- {{ field.label }}: - {{ - !allInfo[group.tableName] || - allInfo[group.tableName][0][field.columnName] == null - ? "--" - : getOptionLabel( - field.options, - allInfo[group.tableName][0][field.columnName], - field.itemType - ) - }} - - {{ - !allInfo[group.tableName] || - allInfo[group.tableName][0][field.columnName] == null - ? "--" - : allInfo[group.tableName][0][field.columnName] - }} + +
+
+
+
+ 项目标题: + {{ projectInfo.projectTitle }} +
+
+ 项目方案: + {{ projectInfo.projectTitle }} +
+
+ 内部备注: + {{ projectInfo.internalRemark || "--" }} +
+
+ 当前处理部门: + {{ projectInfo.departmentNameList.join("、") }} +
+
+ 分类: +
+
+ {{ item.name }} +
+
+
+
+ 标签: +
+
+ {{ item.name }} +
+
+
+
+ +
+
处理进展
+
+
+
+
{{ item.processName }}
+
+ {{ item.processTime }} +
+
+ +
+
处理部门:
+
{{ item.departmentName }}
+
+ +
+
说 明:
+
+ {{ item.publicReply }} +
+
+ +
+
内部备注:
+
+ {{ + item.internalRemark + }} +
+
+ +
+
+
+
+
+
@@ -174,16 +202,24 @@ - + diff --git a/src/views/modules/visual/basicinfo/cpts/topic-info.vue b/src/views/modules/visual/basicinfo/cpts/topic-info.vue index 31ed33e1..3bb9f932 100644 --- a/src/views/modules/visual/basicinfo/cpts/topic-info.vue +++ b/src/views/modules/visual/basicinfo/cpts/topic-info.vue @@ -4,62 +4,31 @@
- 更多信息 + 话题详情
-
-
-
- 所属网格: - {{ gridName }} -
-
- 所属小区: - {{ xiaoquName }} -
-
- 所属楼宇: - {{ louName }}-{{ danyuanName }} -
-
- 所属家庭: - {{ homeName }} -
-
- {{ field.label }}: - - {{ - info[field.columnName] == null - ? "--" - : getOptionLabel( - field.options, - info[field.columnName], - field.itemType - ) - }} - - {{ - info[field.columnName] == null ? "--" : info[field.columnName] - }} -
+
+
话题内容
+
{{ info.topicContent }}
+
+ +
+
+ 发布时间: + {{ info.releaseTime }} +
+
+ 话题地址: + {{ info.releaseAddress }} +
+
+ 所属网格: + {{ info.gridName }}
- -
@@ -89,81 +58,197 @@
-
-
-
-
- {{ field.label }}: - {{ - infoItem[field.columnName] == null - ? "--" - : getOptionLabel( - field.options, - infoItem[field.columnName], - field.itemType - ) - }} - - {{ - infoItem[field.columnName] == null - ? "--" - : infoItem[field.columnName] - }} +
+
+
+ + 加载中 +
+
+ +
+
+
+ +
+ +
+
+
+
+ 议题标题: + {{ issueInfo.issueTitle }} +
+
+ 议题建议: + {{ issueInfo.issueSuggestion }} +
+
+ 所属网格: + {{ issueInfo.belongsGridName || "--" }} +
+
+ 议题发起人: + {{ issueInfo.issueInitiator }} +
+
+ 议题来源: + {{ issueInfo.topicInfo.groupName }} +
+
+ 转议题时间: + {{ issueInfo.shiftIssueTime }} +
+ +
+
+
+
+ {{ issueTrend.realityVoteCount }}/{{ + issueTrend.shouldVoteCount + }} +
+
已表决/应表决
+
+
+
{{ issueTrend.supportAmount }}
+
支持
+
+
+
{{ issueTrend.oppositionAmount }}
+
反对
+
+
+ + +
+
+
+
-
-
- {{ field.label }}: - {{ - !allInfo[group.tableName] || - allInfo[group.tableName][0][field.columnName] == null - ? "--" - : getOptionLabel( - field.options, - allInfo[group.tableName][0][field.columnName], - field.itemType - ) - }} - - {{ - !allInfo[group.tableName] || - allInfo[group.tableName][0][field.columnName] == null - ? "--" - : allInfo[group.tableName][0][field.columnName] - }} + +
+
+
+
+ 项目标题: + {{ projectInfo.projectTitle }} +
+
+ 项目方案: + {{ projectInfo.projectTitle }} +
+
+ 内部备注: + {{ projectInfo.internalRemark || "--" }} +
+
+ 当前处理部门: + {{ projectInfo.departmentNameList.join("、") }} +
+
+ 分类: +
+
+ {{ item.name }} +
+
+
+
+ 标签: +
+
+ {{ item.name }} +
+
+
+
+ +
+
处理进展
+
+
+
+
{{ item.processName }}
+
+ {{ item.processTime }} +
+
+ +
+
处理部门:
+
{{ item.departmentName }}
+
+ +
+
说 明:
+
+ {{ item.publicReply }} +
+
+ +
+
内部备注:
+
+ {{ + item.internalRemark + }} +
+
+ +
+
+
+
+
+
@@ -174,16 +259,25 @@ - + diff --git a/src/views/modules/visual/basicinfo/people.vue b/src/views/modules/visual/basicinfo/people.vue index 4335105f..03656ab7 100644 --- a/src/views/modules/visual/basicinfo/people.vue +++ b/src/views/modules/visual/basicinfo/people.vue @@ -375,8 +375,8 @@ v-for="(item, index) in topic.list" @click="handleClickTopic(index)" > -
{{ item.eventContent }}
-
{{ item.reportTime }}
+
{{ item.topicContent }}
+
{{ item.releaseTime }}
@@ -448,18 +448,18 @@ />
@@ -485,7 +485,7 @@ export default { userId: "", info: { - epmetUserId: "", + epmetUserIdList: [], financialSituation: { monthlyIncome: "", retirementAmount: "" }, gridName: "", houseInfo: [], @@ -594,7 +594,7 @@ export default { cptTb, demandInfo, incidentInfo, - topicInfo + topicInfo, }, watch: { @@ -676,8 +676,8 @@ export default { async getDemandData() { const url = "/heart/userdemand/mydemand"; let params = { - epmetUserId: this.info.epmetUserId, - userId: this.userId, + epmetUserIdList: this.info.epmetUserIdList, + icResiUserId: this.userId, pageNo: this.demand.pageNo, pageSize: this.demand.pageSize, }; @@ -715,10 +715,9 @@ export default { //加载组织数据 async getIncidentData() { - const url = - "http://yapi.elinkservice.cn/mock/245/gov/project/resievent/pageuserreported"; + const url = "/gov/project/resievent/pageuserreported"; let params = { - epmetUserId: this.info.epmetUserId, + epmetUserIdList: this.info.epmetUserIdList, userId: this.userId, pageNo: this.incident.pageNo, pageSize: this.incident.pageSize, @@ -747,10 +746,9 @@ export default { //加载组织数据 async getTopicData() { - const url = - "http://yapi.elinkservice.cn/mock/245/gov/project/resievent/pageuserreported"; + const url = "/data/aggregator/resigroup/pageusertopic"; let params = { - epmetUserId: this.info.epmetUserId, + epmetUserIdList: this.info.epmetUserIdList, userId: this.userId, pageNo: this.topic.pageNo, pageSize: this.topic.pageSize, @@ -779,10 +777,9 @@ export default { //加载组织数据 async getPointData() { - const url = - "http://yapi.elinkservice.cn/mock/245/point/resi/point/pageuserpoint"; + const url = "/point/resi/point/pageuserpoint"; let params = { - epmetUserId: this.info.epmetUserId, + epmetUserIdList: this.info.epmetUserIdList, userId: this.userId, pageNo: this.point.pageNo, pageSize: this.point.pageSize, diff --git a/src/views/modules/visual/communityParty/community.vue b/src/views/modules/visual/communityParty/community.vue index 7d3ab662..c7029f60 100644 --- a/src/views/modules/visual/communityParty/community.vue +++ b/src/views/modules/visual/communityParty/community.vue @@ -38,21 +38,22 @@
-
-
组织单位
-
1233
+
+
{{ item.label }}
+
{{ item.value }}
-
+
+ :operate="true" + @look="handleLook">
-
党建单位分类统计
+
党建单位分布
@@ -75,7 +76,7 @@
-
{{ item.name }}
+
{{ item.label }}
{{ item.value }}
@@ -95,7 +96,7 @@
-
{{ item.name }}
+
{{ item.label }}
@@ -126,7 +127,7 @@ export default { data () { return { - showedMoreInfo: true, + showedMoreInfo: false, tableLoading: false, warningList: [], headerList: [ @@ -141,6 +142,7 @@ export default { tableData: [ // [1,'商丘路社区第一网格','商丘路小区','2号楼','杨颖、王平、刘佳敏、丁辉、杨萍'], ], + detailId: '', agencyId: '', value2: '', timeRange: '', @@ -180,7 +182,7 @@ export default { icon: require('../../../../assets/img/shuju/measure/qita.png') } ], - + cateInfo: [], //地图相关数据 isfirstInit: true,//记录是否是首次加载地图 agencyInfo: {},//登陆者的组织信息:主要为了获取地图中心点和level @@ -231,6 +233,8 @@ export default { await nextTick(100); this.loadUnit() this.getList(); + this.getCateCount() + this.getCateType() await this.getWorkUserInfo() await this.getMapUnitList() }, @@ -240,7 +244,7 @@ export default { async getList () { this.visibleLoading = true - const url = "/heart/icpartyactivity/search" + const url = "/heart/icpartyactivity/activitylist" // const url = "http://yapi.elinkservice.cn/mock/245/heart/icpartyactivity/list" let params = { agencyId: this.agencyId, @@ -261,6 +265,81 @@ export default { } this.visibleLoading = false }, + async getCateCount () { + + const url = "/heart/icpartyactivity/statistics" + // const url = "http://yapi.elinkservice.cn/mock/245/heart/icpartyactivity/list" + let params = { + agencyId: this.agencyId + } + + const { data, code, msg } = await requestPost(url, params) + + if (code === 0) { + this.cateInfo = data + } else { + this.$message.error(msg) + } + }, + async getCateType () { + + const url = "/heart/icpartyunit/typestatistics" + // const url = "http://yapi.elinkservice.cn/mock/245/heart/icpartyactivity/list" + let params = { + agencyId: this.agencyId + } + + const { data, code, msg } = await requestPost(url, params) + + if (code === 0) { + // this.cateInfo = data + const colorItem = { + 0: { + color: 'rgba(250, 32, 10, 1)', + icon: require('../../../../assets/img/shuju/measure/ly@2x.png') + }, + 1: { + color: 'rgba(251, 177, 4, 1)', + icon: require('../../../../assets/img/shuju/measure/lxdj@2x.png') + }, + 2: { + color: 'rgba(80, 194, 237, 1)', + icon: require('../../../../assets/img/shuju/measure/xq@2x.png') + }, + 3: { + color: 'rgba(65, 181, 104, 1)', + icon: require('../../../../assets/img/shuju/measure/jgzs@2x.png') + }, + 4: { + color: 'rgba(192, 21, 195, 1)', + icon: require('../../../../assets/img/shuju/measure/qita.png') + } + } + this.partyItem = data.map((item, index) => { + return { + ...item, + ...colorItem[index] + } + }) + } else { + this.$message.error(msg) + } + }, + async getDetail () { + + const url = "/heart/icpartyactivity/detail" + let params = { + id: this.agencyId + } + + const { data, code, msg } = await requestPost(url, params) + + if (code === 0) { + this.detailInfo = data + } else { + this.$message.error(msg) + } + }, async loadUnit () { const url = "/heart/icresidemanddict/subcodelist" // const url = "http://yapi.elinkservice.cn/mock/245/heart/icpartyunit/option" @@ -328,8 +407,8 @@ export default { //获取联建单位分布图 async getMapUnitList () { - // const url = "/heart/icpartyunit/distribution" - const url = "http://yapi.elinkservice.cn/mock/245/heart/icpartyunit/distribution" + const url = "/heart/icpartyunit/distribution" + // const url = "http://yapi.elinkservice.cn/mock/245/heart/icpartyunit/distribution" let params = { agencyId: this.agencyId @@ -393,7 +472,9 @@ export default { clickProject (feature) { console.log('标注信息', feature.values_.properties) }, - + handleLook(val) { + this.detailId = val.id + }, handleSelectChange () { this.getList(); diff --git a/src/views/modules/visual/communityParty/dialogInfo.vue b/src/views/modules/visual/communityParty/dialogInfo.vue index de24cdb1..736a092e 100644 --- a/src/views/modules/visual/communityParty/dialogInfo.vue +++ b/src/views/modules/visual/communityParty/dialogInfo.vue @@ -92,7 +92,11 @@
- +
+ +
+
@@ -135,6 +139,208 @@ export default { louList: [], danyuanList: [], homeList: [], + demandList: [ + { + categoryName: '辨明服务', + categoryCode: '1', + showItem: false, + projectList: [ + { + title: '不知道写了什么哈哈哈', + status: 'closed', + projectId: '1' + }, + { + title: '罗里吧嗦写了什么哈哈哈', + status: 'closed', + projectId: '2' + }, + { + title: '胡说八道写了什么哈哈哈', + status: 'closed', + projectId: '1=3' + }, + { + title: '费眼飞鱼不知道写了什么哈哈哈', + status: 'closed', + projectId: '1=4' + }, + { + title: '狗屁不通不知道写了什么哈哈哈', + status: 'closed', + projectId: '5' + }, + { + title: '啦啦啦不知道写了什么哈哈哈', + status: 'closed', + projectId: '6' + } + ] + }, + { + categoryName: '辨明服务', + categoryCode: '1', + showItem: false, + projectList: [ + { + title: '不知道写了什么哈哈哈', + status: 'closed', + projectId: '1' + }, + { + title: '罗里吧嗦写了什么哈哈哈', + status: 'closed', + projectId: '2' + }, + { + title: '胡说八道写了什么哈哈哈', + status: 'closed', + projectId: '1=3' + }, + { + title: '费眼飞鱼不知道写了什么哈哈哈', + status: 'closed', + projectId: '1=4' + }, + { + title: '狗屁不通不知道写了什么哈哈哈', + status: 'closed', + projectId: '5' + }, + { + title: '啦啦啦不知道写了什么哈哈哈', + status: 'closed', + projectId: '6' + } + ] + }, + { + categoryName: '辨明服务', + categoryCode: '1', + showItem: false, + projectList: [ + { + title: '不知道写了什么哈哈哈', + status: 'closed', + projectId: '1' + }, + { + title: '罗里吧嗦写了什么哈哈哈', + status: 'closed', + projectId: '2' + }, + { + title: '胡说八道写了什么哈哈哈', + status: 'closed', + projectId: '1=3' + }, + { + title: '费眼飞鱼不知道写了什么哈哈哈', + status: 'closed', + projectId: '1=4' + }, + { + title: '狗屁不通不知道写了什么哈哈哈', + status: 'closed', + projectId: '5' + }, + { + title: '啦啦啦不知道写了什么哈哈哈', + status: 'closed', + projectId: '6' + } + ] + } + ], + userLists: [ + { + homeId: '1', + icUserId: '1', + icUserName: '沾上干' + }, + { + homeId: '2', + icUserId: '2', + icUserName: '李四' + }, + { + homeId: '3', + icUserId: '3', + icUserName: '王五哈哈' + } + ], + userName: '王亚男哈', + eventList: [ + { + categoryName: '辨明服务', + categoryCode: '1', + projectList: [ + { + title: '不知道写了什么哈哈哈', + status: 'closed', + projectId: '1' + }, + { + title: '罗里吧嗦写了什么哈哈哈', + status: 'closed', + projectId: '2' + }, + { + title: '胡说八道写了什么哈哈哈', + status: 'closed', + projectId: '1=3' + }, + { + title: '费眼飞鱼不知道写了什么哈哈哈', + status: 'closed', + projectId: '1=4' + }, + { + title: '狗屁不通不知道写了什么哈哈哈', + status: 'closed', + projectId: '5' + }, + { + title: '啦啦啦不知道写了什么哈哈哈', + status: 'closed', + projectId: '6' + } + ] + }, + { + categoryName: '水煮鱼辨明服务辨明服务', + categoryCode: '4', + projectList: [ + { + title: '熟煮雨不知道写了什么哈哈哈', + status: 'pending', + projectId: '4' + } + ] + }, + { + categoryName: '开心麻花', + categoryCode: '2', + projectList: [ + { + title: '不知道开心麻花写了什么哈哈哈', + status: 'closed', + projectId: '1' + } + ] + }, + { + categoryName: '酸菜鱼', + categoryCode: '3', + projectList: [ + { + title: '不知道酸菜鱼写了什么哈哈哈', + status: 'pending', + projectId: '3' + } + ] + } + ], }; }, diff --git a/src/views/modules/visual/communityParty/party.vue b/src/views/modules/visual/communityParty/party.vue index 3f0f419f..a94b7916 100644 --- a/src/views/modules/visual/communityParty/party.vue +++ b/src/views/modules/visual/communityParty/party.vue @@ -4,7 +4,7 @@
- + + --> + + +
@@ -47,7 +45,7 @@
{{item.value}}
-
25%
+
{{ item.radio }}
@@ -58,19 +56,19 @@
@@ -98,8 +96,8 @@
@@ -142,23 +140,31 @@ export default { }, data() { return { - warningList: [], headerList: [ { title: "序号", coulmn: 'index' }, - { title: "姓名", coulmn: 'gridName' }, - { title: "年龄", coulmn: 'buildingName' }, - { title: "手机号码", coulmn: 'neighborhoodName' } + { title: "姓名", coulmn: 'name' }, + { title: "年龄", coulmn: 'age' }, + { title: "手机号码", coulmn: 'mobile' } + ], + headerEduList: [ + { title: "序号", coulmn: 'index' }, + { title: "姓名", coulmn: 'name' }, + { title: "学历", coulmn: 'education' }, + { title: "手机号码", coulmn: 'mobile' } ], tableData: [ // [1,'商丘路社区第一网格','商丘路小区','2号楼','杨颖、王平、刘佳敏、丁辉、杨萍'], ], + selectAgency: null, + propTree: [], value2: '', visibleLoading: true, pageNo: 1, pageSize: 10, + agePageNo: 1, + agePageSize: 10, total: 0, - activeIndex: 0, - activeLevel: "1", + ageTotal: 0, eduItem: [ { name: '小学', @@ -221,6 +227,8 @@ export default { color: 'rgba(255, 186, 0, 1)' } ], + ageList: [], + eduList: [], pieAgeChartS: null, pieEduChartSs: null, pieAgeOptions: null, @@ -228,12 +236,15 @@ export default { }; }, async mounted() { - await nextTick(100); - this.initAgeCharts() - this.initEduCharts() + await this.getAgencyList() + this.getAgeCount(this.$store.state.user.agencyId, 'agency') + this.getEduCount(this.$store.state.user.agencyId, 'agency') + // this.initAgeCharts() + // this.initEduCharts() + this.getAgeList(this.$store.state.user.agencyId, 'agency') + this.getEduList(this.$store.state.user.agencyId, 'agency') // this.initChartType() - this.getBuildingwarnlist(); }, methods: { pieInitOk (dom) { @@ -252,105 +263,7 @@ export default { // const eId = document.getElementById('echartOrg') // let _charts = echarts.init(eId) let option = { - // tooltip: { - // show: false, - // trigger: 'item' - // }, - // legend: { - // show: false, - // orient: 'vertical', - // top: '40%', - // left: 'right', - // textStyle: { - // color: '#fff' - // } - // }, - // title: { - // text: '12000', //图形标题,配置在中间对应效果图的80% - // subtext: '总数', - // left: "center", - // top: "center", - // textStyle: { - // color: "#fff", - // fontSize: 28, - // align: "center" - // }, - // subtextStyle: { - // fontSize: 16, - // color: '#fff' - // } - // }, - // series: [ - // { - // // name: 'Access From', - // type: 'pie', - // // center: ['10%', '50%'], - // radius: ['40%', '60%'], - // avoidLabelOverlap: true, - // // top: top + '%', - // // height: '80%', - // left: 'center', - // width: 400, - // label: { - // show: true, - // position: 'outer', - // alignTo: 'edge', - // formatter: '{a|{c}}\n{r|}\n{name|{b}}', - // minMargin: 5, - // edgeDistance: 20, - // lineHeight: 15, - // color: '#fff', - // fontSize: 12, - // // padding: [5], - // distanceToLabelLine: 10, - // rich: { - // name: { - // padding: [0, 6, 0, 6] - // }, - // a: { - // fontSize: 15, - // color: '#fff', - // padding: [0, 6, 0, 6] - // }, - // r: { - // backgroundColor: 'auto', - // borderRadius: 6, - // width: 6, - // height: 6, - // // padding: [3, 3, 0, -12] - // } - // } - // }, - // emphasis: { - // label: { - // show: true, - // fontSize: '14', - // fontWeight: 'bold' - // } - // }, - // labelLine: { - // show: false, - // length: 20, - // length2: 0, - // maxSurfaceAngle: 80, - // lineStyle: { - // cap: 'round' - // } - // }, - // labelLayout: function (params) { - // const isLeft = params.labelRect.x < this.pieChartS.getWidth() / 2; - // const points = params.labelLinePoints; - // // Update the end point. - // points[2][0] = isLeft - // ? params.labelRect.x - // : params.labelRect.x + params.labelRect.width; - // return { - // labelLinePoints: points - // }; - // }, - // data: this.ageItem - // } - // ] + } this.pieAgeOptions = pieOption(this.pieAgeChartS) this.clickAgePie(0) @@ -606,59 +519,163 @@ export default { this.$refs.eduChart.setOption(this.pieEduOptions) }, - onClickList(index, level) { - this.activeIndex = index; - this.activeLevel = level; - this.pageNo = 1; - this.getUserwarnlist(); + async getAgeCount(orgId, orgType) { + const url = "/epmetuser/icresiuser/partymemberagestatistics"; + let params = { + orgId, + orgType + }; + const { data, code, msg } = await requestPost(url, params); + if (code === 0) { + this.ageItem = data.map(item => { + return { + ...item, + name: item.label + } + }) + this.initAgeCharts() + } else { + } }, - //具体人员列表 - async getUserwarnlist() { - const { activeIndex, activeLevel, warningList } = this; - const reqItem = warningList[activeIndex]; - let tableData = []; - const url = "/epmetuser/statsresiwarn/userwarnlist"; + async getEduCount(orgId, orgType) { + const url = "/epmetuser/icresiuser/partymembereducationstatistics"; let params = { - configId: reqItem.configId, - buildingIdList: reqItem["buildingIdList" + activeLevel], - pageNo: this.pageNo, - pageSize: this.pageSize, + orgId, + orgType }; const { data, code, msg } = await requestPost(url, params); if (code === 0) { - tableData = data.list.map((item, index) => { + this.eduItem = data.map(item => { return { ...item, - index: index + 1, - residentNames: item.residentNames || "暂无" + name: item.label } - }); - this.tableData = tableData; - this.total = data.total; + }) + this.initEduCharts() } else { } }, - // 【人员预警】 楼宇预警数量列表 - async getBuildingwarnlist() { - const url = "/epmetuser/statsresiwarn/buildingwarnlist"; + async getAgeList(orgId, orgType, _code) { + this.visibleLoading = true + const url = "/epmetuser/icresiuser/partymemberagelist"; let params = { - agencyId: this.$store.state.user.agencyId, + orgId, + orgType, + code: _code || '', + pageNo: this.agePageNo, + pageSize: this.agePageSize }; const { data, code, msg } = await requestPost(url, params); if (code === 0) { - this.warningList = data; - this.visibleLoading = false; - this.getUserwarnlist(); + this.ageList = data.list.map((item, index) => { + return { + ...item, + index: index + 1 + } + }) + this.ageTotal = data.total } else { } + this.visibleLoading = false + }, + async getEduList(orgId, orgType, _code) { + const url = "/epmetuser/icresiuser/partymembereducationlist"; + let params = { + orgId, + orgType, + code: _code || '', + pageNo: this.pageNo, + pageSize: this.pageSize + }; + const { data, code, msg } = await requestPost(url, params); + if (code === 0) { + this.eduList = data.list.map((item, index) => { + return { + ...item, + index: index + 1 + } + }) + this.total = data.total + } else { + } + }, + async getAgencyList(node, resolve) { + // const url = "/gov/org/customeragency/staffinagencylist"; + const url = '/gov/org/customeragency/agencygridtree' + // let params = { + // agencyId: this.$store.state.user.agencyId, + // }; + const { data, code, msg } = await requestPost(url); + if (code === 0) { + console.log('data-org----o', data) + this.selectAgency = [`${data.agencyId}-${data.level}`] + let arr = [] + arr.push(data) + this.propTree = arr && this.getTreeData(arr) + + } else { + } + }, + getTreeData(data){ + if (!Array.isArray(data)) return [] + let arr = data.map(item => { + let _item = {} + if (item.subAgencyList) { + if (item.subAgencyList.length === 0) { + _item = { + label: item.agencyName, + value: item.agencyId + '-' + item.level, + level: item.level, + children: undefined + } + } else _item = { + label: item.agencyName, + value: item.agencyId + '-' + item.level, + level: item.level, + children: this.getTreeData(item.subAgencyList)} + } else { + _item = { + label: item.agencyName, + value: item.agencyId + '-' + item.level, + level: item.level, + } + } + return _item + }) + return arr + }, + handleCascader(val) { + console.log('val-vvv', val) + const _arr = val[val.length - 1].split('-') + const orgType = _arr[1] !== 'grid' ? 'agency': 'grid' + this.getAgeList(_arr[0], orgType) + this.getEduList(_arr[0], orgType) + }, + getCheckedNodes(val) { + console.log('val-nnn', val) + }, + lazyLoad(node, resolve) { + setTimeout(() => { + this.getAgeList(node, resolve) + }, 500) + }, + pageSizeChangeHandleAge(val) { + this.agePageNo = 1 + this.agePageSize = val + this.getAgeList() + }, + pageCurrentChangeHandleAge (val) { + this.agePageSize = val + this.getAgeList() }, pageSizeChangeHandleNew(val) { this.pageNo = 1; this.pageSize = val; + this.getEduList() }, pageCurrentChangeHandleNew(val) { this.pageNo = val; - this.getUserwarnlist(); + this.getEduList() }, }, }; @@ -723,6 +740,21 @@ export default { } } + .title-label { + ::v-deep .el-input { + width: 180px; + .el-input__inner { + font-size: 20px; + font-weight: 800; + color: #fff; + background: transparent; + border: 0; + } + .el-icon-arrow-down::before { + content: "\e790"; + } + } + } } .card-echart { display: flex; diff --git a/src/views/modules/visual/cpts/analyse.vue b/src/views/modules/visual/cpts/analyse.vue index 4c3ed117..f5e18295 100644 --- a/src/views/modules/visual/cpts/analyse.vue +++ b/src/views/modules/visual/cpts/analyse.vue @@ -36,7 +36,7 @@
-
楼院小组
+
{{ singleTitle }}
(反应渠道)
@@ -54,7 +54,7 @@
-
事件上报
+
{{ moreTitle }}
(反应渠道)
@@ -71,7 +71,7 @@
-
+
@@ -79,25 +79,29 @@
{{item.categoryName}}
(同类案件)
-
+
- +
+ +
-
-
-
-
{{filterStatus(n.status)}}
-
{{n.title}}
+
+
+
+
+
{{filterStatus(n.status)}}
+
{{n.title}}
+
+ +
- -
@@ -115,91 +119,58 @@
-
楼院小组
+
{{ singleTitle }}
(反应渠道)
-
+
- - - + + +
-
-
+
+
{{item.categoryName}}
(同类案件)
-
+
- - - -
-
-
-
{{filterStatus(n.status)}}
-
{{n.title}}
-
- - -
+
+
-
- +
+
-
--> +
@@ -210,157 +181,47 @@ + + diff --git a/src/views/modules/visual/cpts/tb.vue b/src/views/modules/visual/cpts/tb.vue index 2222a582..2abb586a 100644 --- a/src/views/modules/visual/cpts/tb.vue +++ b/src/views/modules/visual/cpts/tb.vue @@ -21,9 +21,12 @@ {{ item }} - {{ - index + 1 - }} +
+ + + + {{index + 1}} +
@@ -109,6 +112,10 @@ export default { type: Boolean, default: true, }, + highlightTop3: { + type: Boolean, + default: false, + }, }, data() { return {}; diff --git a/src/views/modules/visual/heart/index.vue b/src/views/modules/visual/heart/index.vue new file mode 100644 index 00000000..e643031e --- /dev/null +++ b/src/views/modules/visual/heart/index.vue @@ -0,0 +1,283 @@ + + + + +