+
+
+
+
@@ -97,37 +112,46 @@ import { requestPost } from "@/js/dai/request";
import screenTable from "../components/screen-table/index";
import cptCard from "@/views/modules/visual/cpts/card";
import nextTick from "dai-js/tools/nextTick";
+import dialogInfo from './dialogInfo.vue'
+import screenMap from "@/views/modules/visual/components/screen-map";
export default {
name: "warning-box",
components: {
cptCard,
screenTable,
+ dialogInfo,
+ screenMap
},
- data() {
+ data () {
return {
+
+ showedMoreInfo: false,
+ tableLoading: false,
warningList: [],
headerList: [
{ title: "序号", coulmn: 'index' },
- { title: "需求类型", coulmn: 'gridName' },
- { title: "具体内容", coulmn: 'buildingName' },
- { title: "上报情况", coulmn: 'neighborhoodName' },
- { title: "上报人", coulmn: 'residentNames' },
- { title: "上报时间", coulmn: 'residentNames' },
- { title: "是否认领", coulmn: 'residentNames' },
- { title: "认领方", coulmn: 'residentNames' },
- { title: "认领时间", coulmn: 'residentNames' }
+ { title: "区域化党建单位名称", coulmn: 'unitName' },
+ { title: "活动标题", coulmn: 'title' },
+ { title: "活动地址", coulmn: 'address' },
+ { title: "服务事项", coulmn: 'serviceMatter' },
+ { title: "服务人数", coulmn: 'peopleCount' },
+ { title: "活动时间", coulmn: 'activityTime' }
],
tableData: [
// [1,'商丘路社区第一网格','商丘路小区','2号楼','杨颖、王平、刘佳敏、丁辉、杨萍'],
],
+ agencyId: '',
value2: '',
+ timeRange: '',
visibleLoading: true,
+ serviceMatter: '',
pageNo: 1,
pageSize: 10,
total: 0,
activeIndex: 0,
activeLevel: "1",
+ unitList: [],
partyItem: [
{
name: '楼宇党建',
@@ -156,68 +180,232 @@ export default {
icon: require('../../../../assets/img/shuju/measure/qita.png')
}
],
+
+ //地图相关数据
+ isfirstInit: true,//记录是否是首次加载地图
+ agencyInfo: {},//登陆者的组织信息:主要为了获取地图中心点和level
+ unitMapList: [],
+ unitMapList1: [
+ {
+ type: '党建楼宇',
+ name: '建联单位1',
+ latitude: 36.062227,
+ longitude: 120.389455,
+ },
+ {
+ type: '党建楼宇',
+ name: '建联单位2',
+ latitude: 36.082227,
+ longitude: 120.389455,
+ },
+ {
+ type: '机关直属部门',
+ name: '建联单位3',
+ latitude: 36.062227,
+ longitude: 120.379455,
+ },
+ {
+ type: '两新党建',
+ name: '建联单位4',
+ latitude: 36.082227,
+ longitude: 120.379455,
+ },
+ {
+ type: '辖区单位',
+ name: '建联单位5',
+ latitude: 36.092227,
+ longitude: 120.379455,
+ },
+ {
+ type: '其他',
+ name: '建联单位6',
+ latitude: 36.102227,
+ longitude: 120.379455,
+ }
+ ],
};
},
- async mounted() {
+ async mounted () {
+ const { user } = this.$store.state
+ this.agencyId = user.agencyId
await nextTick(100);
- this.getBuildingwarnlist();
+ this.loadUnit()
+ this.getList();
+ await this.getWorkUserInfo()
+ await this.getMapUnitList()
},
methods: {
-
-
- onClickList(index, level) {
- this.activeIndex = index;
- this.activeLevel = level;
- this.pageNo = 1;
- this.getUserwarnlist();
- },
+
//具体人员列表
- async getUserwarnlist() {
- const { activeIndex, activeLevel, warningList } = this;
- const reqItem = warningList[activeIndex];
- let tableData = [];
- const url = "/epmetuser/statsresiwarn/userwarnlist";
+ async getList () {
+ this.visibleLoading = true
+
+ const url = "/heart/icpartyactivity/search"
+ // const url = "http://yapi.elinkservice.cn/mock/245/heart/icpartyactivity/list"
let params = {
- configId: reqItem.configId,
- buildingIdList: reqItem["buildingIdList" + activeLevel],
- pageNo: this.pageNo,
+ agencyId: this.agencyId,
pageSize: this.pageSize,
- };
- const { data, code, msg } = await requestPost(url, params);
+ pageNo: this.pageNo,
+ serviceMatter: this.serviceMatter,
+ startTime: this.timeRange.length > 0 && this.timeRange[0] || '',
+ endTime: this.timeRange.length > 0 && this.timeRange[1] || ''
+ }
+
+ const { data, code, msg } = await requestPost(url, params)
+
if (code === 0) {
- tableData = data.list.map((item, index) => {
- return {
- ...item,
- index: index + 1,
- residentNames: item.residentNames || "暂无"
- }
- });
- this.tableData = tableData;
- this.total = data.total;
+ this.total = data.total
+ this.tableData = data.list
+ } else {
+ this.$message.error(msg)
+ }
+ this.visibleLoading = false
+ },
+ async loadUnit () {
+ const url = "/heart/icresidemanddict/subcodelist"
+ // const url = "http://yapi.elinkservice.cn/mock/245/heart/icpartyunit/option"
+
+ let params = {
+ parentCategoryCode: '1010'
+ }
+
+ const { data, code, msg } = await requestPost(url, params)
+
+ if (code === 0) {
+ this.unitList = data
+
} else {
+ this.$message.error(msg)
}
+
},
- // 【人员预警】 楼宇预警数量列表
- async getBuildingwarnlist() {
- const url = "/epmetuser/statsresiwarn/buildingwarnlist";
+
+ // 获取当前管理员信息
+ getWorkUserInfo () {
+ const url = '/epmetuser/customerstaff/staffbasicinfo'
+ let params = {}
+ window.app.ajax.post(
+ url,
+ params,
+ (data, rspMsg) => {
+ this.agencyInfo = data
+ if (!data.latitude) {
+ this.agencyInfo.latitude = 36.072227
+ }
+ if (!data.longitude) {
+ this.agencyInfo.longitude = 120.389455
+ }
+ if (!data.level) {
+ this.agencyInfo.level = 'street'
+ }
+
+ },
+ (rspMsg, data) => {
+ this.$message.error(rspMsg)
+ }
+ )
+
+ },
+
+ // //获取分类
+ // async loadType () {
+ // const url = "/sys/dict/data/dictlist"
+
+ // let params = {
+ // dictType: 'party_unit_type'
+ // }
+
+ // const { data, code, msg } = await requestPost(url, params)
+
+ // if (code === 0) {
+ // this.typeList = data
+
+ // } else {
+ // this.$message.error(msg)
+ // }
+
+ // },
+
+ //获取联建单位分布图
+ async getMapUnitList () {
+ // const url = "/heart/icpartyunit/distribution"
+ const url = "http://yapi.elinkservice.cn/mock/245/heart/icpartyunit/distribution"
+
let params = {
- agencyId: this.$store.state.user.agencyId,
- };
- const { data, code, msg } = await requestPost(url, params);
+ agencyId: this.agencyId
+ }
+
+ const { data, code, msg } = await requestPost(url, params)
+
if (code === 0) {
- this.warningList = data;
- this.visibleLoading = false;
- this.getUserwarnlist();
+ // this.unitMapList = data
+ this.unitMapList = this.unitMapList1
+
+ this.unitMapList.forEach(item => {
+
+ if (item.type === '党建楼宇') {
+ item.urlIndex = 0
+ } else if (item.type === '两新党建') {
+ item.urlIndex = 1
+ } else if (item.type === '辖区单位') {
+ item.urlIndex = 2
+ } else if (item.type === '机关直属部门') {
+ item.urlIndex = 3
+ } else if (item.type === '其他') {
+ item.urlIndex = 4
+ }
+ });
+
+
+ this.iconUrlArray = [
+ require('../../../../assets/img/shuju/measure/ly@2x.png'),//未处理
+ require('../../../../assets/img/shuju/measure/jgzs@2x.png'),//已处理
+ require('../../../../assets/img/shuju/measure/lxdj@2x.png'),//已处理
+ require('../../../../assets/img/shuju/measure/xq@2x.png'),//已处理
+ require('../../../../assets/img/shuju/measure/qita.png')//已处理
+ ]
+
+
+ //第一次加载完置为false
+ this.loadMap()
+
+ this.isfirstInit = false
+
+ } else {
+ this.$message.error(msg)
+ }
+
+ },
+
+
+ //加载地图数据
+ loadMap () {
+ if (this.isfirstInit) {
+ //mapInfo, polygonArray, polIconUrlArray, iconArrays, iconUrlArray
+ this.$refs.map.loadMap(this.agencyInfo, null, null, this.unitMapList, this.iconUrlArray, null)
} else {
+ this.$refs.map.refreshMap(null, this.unitMapList)
+
}
},
- pageSizeChangeHandleNew(val) {
+
+ //点击项目
+ clickProject (feature) {
+ console.log('标注信息', feature.values_.properties)
+ },
+
+
+ handleSelectChange () {
+ this.getList();
+ },
+ pageSizeChangeHandleNew (val) {
this.pageNo = 1;
this.pageSize = val;
+ this.getList();
},
- pageCurrentChangeHandleNew(val) {
+ pageCurrentChangeHandleNew (val) {
this.pageNo = val;
- this.getUserwarnlist();
+ this.getList();
},
},
};
@@ -258,7 +446,6 @@ export default {
color: #fff;
font-weight: 800;
}
-
}
.second-title {
display: flex;
@@ -272,7 +459,7 @@ export default {
color: #fff;
}
.second-title-label::after {
- content: '';
+ content: "";
position: absolute;
top: 50%;
left: 20px;
@@ -280,31 +467,47 @@ export default {
height: 12px;
box-sizing: border-box;
margin-top: -6px;
- background: #2865FA;
+ background: #2865fa;
border-radius: 50%;
}
.second-select {
margin: 0 10px 0 40px;
::v-deep .el-input {
- width: 120px;
+ width: 180px;
height: 36px;
.el-input__inner {
height: 100%;
padding: 0 10px;
color: #fff;
line-height: 36px;
- background: #06186D;
- border: 1px solid #1A64CC;
+ background: #06186d;
+ border: 1px solid #1a64cc;
}
-
+
.el-icon-arrow-up:before {
- content: "\e78f"
+ content: "\e78f";
}
// .el-select__caret:before {
// content: '\E790'
// }
}
::v-deep .el-date-editor {
+ width: 360px;
+ position: relative;
+ background: #06186d;
+ border: 1px solid #1a64cc;
+ .el-range-input {
+ color: #fff;
+ background: #06186d;
+ }
+ .el-range-separator {
+ color: #fff;
+ }
+ .el-range__icon {
+ position: absolute;
+ right: 5px;
+ // float: right;
+ }
.el-input__prefix {
left: unset;
right: 5px;
@@ -325,7 +528,7 @@ export default {
.box-left-item {
.box-label {
font-size: 16px;
- color: rgba(255, 255, 255, .72);
+ color: rgba(255, 255, 255, 0.72);
}
.box-num {
font-size: 32px;
@@ -338,7 +541,12 @@ export default {
flex: 1;
.box-map {
height: 400px;
- border: 1px solid #2865FA;
+ // border: 1px solid #2865fa;
+
+ .map {
+ height: 100%;
+ width: 100%;
+ }
}
}
.box-left-w400 {
@@ -365,7 +573,6 @@ export default {
}
}
-
.map-tips {
width: 100%;
display: flex;
@@ -397,5 +604,4 @@ export default {
}
}
}
-
diff --git a/src/views/modules/visual/communityParty/dialogInfo.vue b/src/views/modules/visual/communityParty/dialogInfo.vue
new file mode 100644
index 00000000..44464f5e
--- /dev/null
+++ b/src/views/modules/visual/communityParty/dialogInfo.vue
@@ -0,0 +1,189 @@
+
+
+
+
+
+

+
需求详情
+
+
+
+

+
+ 需求内容
+
+
+
+
+
+ 市北区同德花园小区物业管理服务,公司的同志每天对该小区 公共部位,喷洒消毒液进行消毒。为杀灭新型冠状病毒,近几 天以来,市北区
+
+
+ 所属网格:
+ 哈哈哈
+
+
+ 需求类型:
+ 的是法撒旦法
+
+
+ 需求状态:
+ 第三方士大夫
+
+
+ 上报类型:
+ 撒打发斯蒂芬
+
+
+ 上 报 人:
+ 撒打发斯蒂芬
+
+
+ 上报人联系方式:
+ 撒打发斯蒂芬
+
+
+ 上报时间:
+ 2021-09-17 12:52
+
+
+ 服务时间:
+ 2021-09-17 12:52
+
+
+
+
+ 服务方:
+ 哈哈哈
+
+
+ 实际服务时间:
+ 2021-09-17 12:52 至
+ 2021-09-17 17:52
+
+
+ 完成情况:
+ 第三方士大夫
+
+
+ 评价:
+
+
+
+
+
+
+
+
+
+

+
+
+ 研判分析
+
+
+

+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/modules/visual/communityParty/options.js b/src/views/modules/visual/communityParty/options.js
new file mode 100644
index 00000000..ba0ddd33
--- /dev/null
+++ b/src/views/modules/visual/communityParty/options.js
@@ -0,0 +1,176 @@
+
+export function pieOption (_charts) {
+ const center= ['50%', '50%']
+ return {
+ title: {
+ text: '0',
+ top: 125,
+ left: 196,
+ textAlign: 'center',
+ textStyle: {
+ width: '100%',
+ fontSize: 32,
+ color: '#FFFFFF',
+ fontWeight: 400,
+ align: 'center'
+ },
+ itemGap: 5,
+ subtext: '总数',
+ subtextStyle: {
+ fontSize: 16,
+ color: '#fff',
+ fontWeight: 400,
+ align: 'center'
+ }
+ },
+ tooltip: {
+ show: false
+ },
+ legend: {
+ top: 500,
+ bottom: 0,
+ itemWidth: 20,
+ itemHeight: 10,
+ textStyle: {
+ color: '#D2E7FF',
+ fontSize: 16,
+ lineHeight: 20,
+ },
+
+ },
+ series: [
+ // 外侧圆环
+ {
+ type: 'pie',
+ // 起始刻度的角度,默认为 90 度,即圆心的正上方。0 度为圆心的正右方。
+ startAngle: 90,
+ hoverAnimation: false,
+ // tooltip: {
+ // },
+ center: center,
+ left: 'left',
+ radius: ['60%', '70%'],
+ width: 400,
+ label: {
+ show: false
+ },
+ labelLine: {
+ show: false
+ },
+ data: [{
+ value: 480,
+ itemStyle: {
+ color: 'rgba(40, 101, 250, 0)',
+ width:0,
+ borderColor: 'rgba(40, 101, 250, 0.5)',
+ borderWidth: 1,
+ borderType: 'dotted'
+ }
+ }
+ ]
+ },
+
+ // 突出的
+ {
+ hoverAnimation: false,
+ type: 'pie',
+ center: center,
+ radius: ['40%', '60%'],
+ avoidLabelOverlap: false,
+ selectedMode: 'single',
+ left: 'left',
+ width: 400,
+ startAngle: 90,
+ label: {
+ // show: false,
+ position: 'outside',
+ alignTo: 'edge',
+ // formatter: '{a|{c}}\n\n{name|{b}}',
+ formatter: '{a|{c}}\n{r|}\n{name|{b}}',
+ minMargin: 5,
+ edgeDistance: 1,
+ lineHeight: 15,
+ color: '#fff',
+ fontSize: 12,
+ // distanceToLabelLine: -60,
+ rich: {
+ name: {
+ padding: [0, 6, 0, 6]
+ },
+ a: {
+ fontSize: 30,
+ color: '#fff',
+ padding: [0, 6, 6, 6]
+ },
+ r: {
+ backgroundColor: 'auto',
+ borderRadius: 6,
+ width: 6,
+ height: 6,
+ // padding: [3, 3, 0, -12]
+ }
+ }
+ },
+ labelLine: {
+ show: false,
+ smooth: 0.2,
+ length: 30,
+ length2: 0,
+ maxSurfaceAngle: 80
+ },
+ labelLayout: function (params) {
+
+ const isLeft = params.labelRect.x < _charts.getWidth() / 2;
+ const points = params.labelLinePoints;
+ // Update the end point.
+ if (points) {
+ points[2][0] = isLeft
+ ? params.labelRect.x
+ : params.labelRect.x + params.labelRect.width;
+ }
+
+ return {
+ labelLinePoints: points
+ };
+ },
+ itemStyle: {
+
+ },
+ data: [],
+
+ },
+ // 中间圆环
+ {
+ type: 'pie',
+ // 起始刻度的角度,默认为 90 度,即圆心的正上方。0 度为圆心的正右方。
+ startAngle: 90,
+ hoverAnimation: false,
+ center: center,
+ left: 'left',
+ width: 400,
+ // tooltip: {
+ // },
+ radius: ['0%', '25%'],
+ label: {
+
+ show: false
+
+ },
+ labelLine: {
+ show: false
+
+ },
+ data: [
+ {
+ value: 360,
+ itemStyle: {
+ color: 'rgba(8, 37, 134, 1)',
+ }
+ }
+ ]
+ },
+ ]
+
+ }
+ }
+
\ No newline at end of file
diff --git a/src/views/modules/visual/communityParty/party.vue b/src/views/modules/visual/communityParty/party.vue
index 6d3a3efd..3f0f419f 100644
--- a/src/views/modules/visual/communityParty/party.vue
+++ b/src/views/modules/visual/communityParty/party.vue
@@ -33,8 +33,11 @@
党员年龄统计
@@ -77,8 +80,11 @@
党员学历统计
@@ -123,6 +129,8 @@ import { requestPost } from "@/js/dai/request";
import screenTable from "../components/screen-table/index";
import cptCard from "@/views/modules/visual/cpts/card";
import nextTick from "dai-js/tools/nextTick";
+import screenEchartsFrame from "../components/screen-echarts-frame";
+import { pieOption } from './options'
import * as echarts from 'echarts';
export default {
@@ -130,6 +138,7 @@ export default {
components: {
cptCard,
screenTable,
+ screenEchartsFrame
},
data() {
return {
@@ -212,126 +221,198 @@ export default {
color: 'rgba(255, 186, 0, 1)'
}
],
-
+ pieAgeChartS: null,
+ pieEduChartSs: null,
+ pieAgeOptions: null,
+ pieEduOptions: null
};
},
async mounted() {
+
await nextTick(100);
- this.initCharts()
- this.initChartType()
+ this.initAgeCharts()
+ this.initEduCharts()
+ // this.initChartType()
this.getBuildingwarnlist();
},
methods: {
- initCharts() {
- const eId = document.getElementById('echartOrg')
- let _charts = echarts.init(eId)
+ pieInitOk (dom) {
+ console.log('pie准备好了', dom)
+ this.pieAgeChartS = dom
+ // this.pieInitState = true
+
+ },
+ pieInitOks (dom) {
+ console.log('pies准备好了', dom)
+ this.pieEduChartS = dom
+ // this.pieInitState = true
+
+ },
+ initAgeCharts() {
+ // 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'
+ // 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)
+ let fun = params => {
+ this.clickAgePie(params.dataIndex)
+ }
+ this.$refs.ageChart.handleClick(fun)
+ // option && this.$refs.pieChart.setOption(option);
+
+ },
+ initEduCharts() {
+ // const eId = document.getElementById('echartOrg')
+ // let _charts = echarts.init(eId)
+ let option = {
+
+ }
+ let legend = {
+ show: true,
+ orient: 'vertical',
+ top: '20%',
+ right: 0,
+ textStyle: {
+ width: 90,
+ color: '#fff',
+ rich: {
+ a: {
+ width: 90
+ }
}
},
- 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]
- }
+ formatter: name => {
+ for (let a = 0; a < this.eduItem.length; a++) {
+ // this.data 这个数据中有名称和次数
+ if (this.eduItem[a].name === name) {
+ //两个名称进行对比,取出对应的次数
+ let params1 = name + "\n"; //然后return你需要的legend格式即可
+ console.log(params1);
+ let tmp = params1.split("\n");
+ let res = "" + params1;
+ for (let i in tmp) {
+ res = res.replace(tmp[i], "");
}
- },
- emphasis: {
- label: {
- show: true,
- fontSize: '14',
- fontWeight: 'bold'
- }
- },
- labelLine: {
- show: true,
- length: 20,
- length2: 0,
- maxSurfaceAngle: 80,
- lineStyle: {
- cap: 'round'
- }
- },
- labelLayout: function (params) {
- const isLeft = params.labelRect.x < _charts.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
+ return res + params1;
+ }
}
- ]
+ }
}
- option && _charts.setOption(option);
+ this.pieEduOptions = pieOption(this.pieEduChartS)
+ this.pieEduOptions.legend = { ...legend }
+ // this.pieEduOptions.series[1].width = 400
+ this.clickEduPie(0)
+ let fun = params => {
+ this.clickEduPie(params.dataIndex)
+ }
+ this.$refs.eduChart.handleClick(fun)
+ // option && this.$refs.pieChart.setOption(option);
},
initChartType() {
const eId = document.getElementById('echartType')
let _charts = echarts.init(eId)
+
let option = {
tooltip: {
trigger: 'item'
@@ -365,21 +446,6 @@ export default {
return res + params1;
}
}
- // var target;
- // for(var i = 0; i < this.eduItem.length; i++){
- // if(i == this.eduItem.length && parseFloat(this.eduItem[i].value * 100).toFixed(2) < parseFloat(0.01)){
- // target = " (<0.01"
- // break;
- // }
- // if(name == this.eduItem[i].name){
- // target = " (" + (this.eduItem[i].value * 100).toFixed(2) + ""
- // break;
- // }
- // }
- // var arr = [
- // '{a|' + name + target + '%)}',
- // ]
- // return arr.join('\n');
}
},
title: {
@@ -467,6 +533,78 @@ export default {
}
option && _charts.setOption(option);
+ },
+ clickAgePie (seriesIndex) {
+ this.ageItem.forEach((element, index) => {
+ if (index === seriesIndex) {
+ element.label = {
+ show: true,
+
+ };
+ element.labelLine = {
+ show: true,
+ lineStyle: {
+ opacity: 1,
+ }
+
+ };
+ console.log('zlcm')
+ } else {
+ element.label = {
+ show: false,
+
+ };
+ element.labelLine = {
+ show: false,
+ lineStyle: {
+ opacity: 0,
+ color: 'rgba(255,255,255,0)'
+ }
+
+ };
+
+ }
+ });
+ this.pieAgeOptions.series[1].data = this.ageItem
+ // this.$refs.pieChart.hideLoading()
+ this.$refs.ageChart.setOption(this.pieAgeOptions)
+
+ },
+ clickEduPie (seriesIndex) {
+ this.eduItem.forEach((element, index) => {
+ if (index === seriesIndex) {
+ element.label = {
+ show: true,
+
+ };
+ element.labelLine = {
+ show: true,
+ lineStyle: {
+ opacity: 1,
+ }
+
+ };
+ console.log('zlcm')
+ } else {
+ element.label = {
+ show: false,
+
+ };
+ element.labelLine = {
+ show: false,
+ lineStyle: {
+ opacity: 0,
+ color: 'rgba(255,255,255,0)'
+ }
+
+ };
+
+ }
+ });
+ this.pieEduOptions.series[1].data = this.eduItem
+ // this.$refs.pieChart.hideLoading()
+ this.$refs.eduChart.setOption(this.pieEduOptions)
+
},
onClickList(index, level) {
this.activeIndex = index;
diff --git a/src/views/modules/visual/components/screen-map/index copy.vue b/src/views/modules/visual/components/screen-map/index copy.vue
deleted file mode 100644
index 09217e02..00000000
--- a/src/views/modules/visual/components/screen-map/index copy.vue
+++ /dev/null
@@ -1,516 +0,0 @@
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/src/views/modules/visual/components/screen-map/index.vue b/src/views/modules/visual/components/screen-map/index.vue
index 4dfac221..20ee5fad 100644
--- a/src/views/modules/visual/components/screen-map/index.vue
+++ b/src/views/modules/visual/components/screen-map/index.vue
@@ -1,15 +1,12 @@
-
-
+
-
@@ -383,12 +533,11 @@ export default {
color: #fff;
font-weight: 800;
}
-
}
.card-echart {
display: flex;
margin-top: 40px;
-
+
.card-left {
position: relative;
flex: 1;
@@ -432,7 +581,8 @@ export default {
box-sizing: border-box;
margin-top: 20px;
// padding-left: 192px;
- background: url('../../../../assets/img/shuju/measure/dangyuan.png') center no-repeat;
+ background: url("../../../../assets/img/shuju/measure/dangyuan.png") center
+ no-repeat;
background-size: cover;
.card-count-content {
position: relative;
@@ -447,14 +597,14 @@ export default {
.card-count-label {
margin-top: 6px;
font-size: 16px;
- color: rgba(255, 255, 255, .72);
+ color: rgba(255, 255, 255, 0.72);
}
}
.card-count-content::after {
position: absolute;
top: 50%;
left: 0;
- content: '';
+ content: "";
width: 1px;
height: 50px;
margin-top: -25px;
@@ -462,7 +612,8 @@ export default {
}
}
.card-count-item:last-child {
- background: url('../../../../assets/img/shuju/measure/jumin.png') center no-repeat;
+ background: url("../../../../assets/img/shuju/measure/jumin.png") center
+ no-repeat;
}
}
@@ -472,6 +623,7 @@ export default {
flex-wrap: wrap;
padding-top: 10px;
padding-bottom: 20px;
+
.map-tips-item {
display: flex;
align-items: center;
@@ -482,7 +634,7 @@ export default {
height: 10px;
box-sizing: border-box;
margin-right: 10px;
- background: #DD2719;
+ background: #dd2719;
border-radius: 2px;
}
.map-tips-label {
@@ -492,4 +644,17 @@ export default {
}
}
+.card-wr-map {
+ height: calc(100vh - 110px);
+
+ .card-map {
+ width: 100%;
+ height: calc(100vh - 255px);
+
+ .map {
+ width: 100%;
+ height: 100%;
+ }
+ }
+}
diff --git a/src/views/modules/workSys/demandCate.vue b/src/views/modules/workSys/demandCate.vue
index e8b665c6..e51e1ee2 100644
--- a/src/views/modules/workSys/demandCate.vue
+++ b/src/views/modules/workSys/demandCate.vue
@@ -32,6 +32,7 @@
class="resi-table"
>
+ {{ scope.row.index }}
{
+ this.tableData = res.data.list.map((item, index) => {
return {
...item,
+ index: index + 1,
hasBtn: true,
children: item.children.map(n => {
return {
@@ -428,10 +430,20 @@ export default {