diff --git a/.gitignore b/.gitignore index 93148de..37b6ac6 100644 --- a/.gitignore +++ b/.gitignore @@ -22,3 +22,4 @@ pnpm-debug.log* *.njsproj *.sln *.sw? +dist.zip diff --git a/package.json b/package.json index 876fbe0..43edeaf 100644 --- a/package.json +++ b/package.json @@ -4,7 +4,9 @@ "private": true, "scripts": { "serve": "vue-cli-service serve", + "dev": "vue-cli-service serve --port 8080", "build": "vue-cli-service build", + "build:prod": "vue-cli-service build --mode production", "lint": "vue-cli-service lint" }, "dependencies": { diff --git a/src/api/bssbApi.js b/src/api/bssbApi.js new file mode 100644 index 0000000..c863cfb --- /dev/null +++ b/src/api/bssbApi.js @@ -0,0 +1,178 @@ +import request from 'utils/requestBssb' +import config from 'utils/config' + +const baseURL = config.screenBaseUrl + +// 大屏-街道社区下拉 +export function getOptionList(data) { + return request({ + baseURL, + url: '/sys/screen/dept/option/list', + method: 'GET', + params: data + }) +} + +// 大屏-数据统计 +export function getItemdailystatis(data) { + return request({ + baseURL, + url: '/events/itemstatis/itemdailystatis', + method: 'POST', + data: data + }) +} + +// 大屏-类别分析 +export function getCategoryAnalysis(data) { + return request({ + baseURL, + url: '/events/itemScreen/categoryAnalysis', + method: 'GET', + params: data + }) +} + +// 大屏-汇总统计 +export function getEventStat(data) { + return request({ + baseURL, + url: '/events/screen/getEventStat', + method: 'POST', + data: data + }) +} +// 大屏-事件&结案数统计柱状图 +export function getEventBar(data) { + return request({ + baseURL, + url: '/events/screen/getEventBar', + method: 'POST', + data: data + }) +} +// 大屏-效能评价 +export function getEfficiencyEvaluation(data) { + return request({ + baseURL, + url: '/events/screen/getEfficiencyEvaluation', + method: 'POST', + data: data + }) +} + +// 大屏-满意度统计 +export function getEvaluationTotal(data) { + return request({ + baseURL, + url: '/events/itemScreen/evaluationTotal', + method: 'GET', + params: data + }) +} + +// 大屏-满意度趋势 +export function getEvaluationTrend(data) { + return request({ + baseURL, + url: '/events/itemScreen/evaluationTrend', + method: 'GET', + params: data + }) +} +// 大屏-解决率统计 +export function getResolveTotal(data) { + return request({ + baseURL, + url: '/events/itemScreen/resolveTotal', + method: 'GET', + params: data + }) +} + +// 大屏-解决率趋势 +export function getResolveTrend(data) { + return request({ + baseURL, + url: '/events/itemScreen/resolveTrend', + method: 'GET', + params: data + }) +} +// 大屏-响应率统计 +export function getXylTotal(data) { + return request({ + baseURL, + url: '/events/itemScreen/responseSixHoursTotal', + method: 'GET', + params: data + }) +} + +// 大屏-响应率趋势 +export function getXylTrend(data) { + return request({ + baseURL, + url: '/events/itemScreen/responseSixHoursTrend', + method: 'GET', + params: data + }) +} +// 大屏-回复率统计 +export function getHflTotal(data) { + return request({ + baseURL, + url: '/events/itemScreen/replyTotal', + method: 'GET', + params: data + }) +} + +// 大屏-回复率趋势 +export function getHflTrend(data) { + return request({ + baseURL, + url: '/events/itemScreen/replyTrend', + method: 'GET', + params: data + }) +} +// 难点事件 + +export function getItemPageList(data) { + return request({ + baseURL, + url: '/events/itemScreen/responseSixHoursTotal', + method: 'GET', + params: data + }) +} + +// 数据统计-列表 +export function getItemStatisListPage(data) { + return request({ + baseURL, + url: '/events/item/getItemStatisListPage', + method: 'GET', + params: data + }) +} + +// 详情 +export function getItemStatisListDetail(id) { + return request({ + baseURL, + url: `/events/item/getItemStatisListDetail/${id}`, + method: 'GET' + }) +} + +// 获取地图点位 +export function getItemListByAddress(data) { + return request({ + baseURL, + url: '/events/item/getItemListByAddress', + method: 'GET', + params: data + }) +} diff --git a/src/api/hulianApi.js b/src/api/hulianApi.js new file mode 100644 index 0000000..c685f0e --- /dev/null +++ b/src/api/hulianApi.js @@ -0,0 +1,23 @@ +import request from 'utils/requestHl' +import config from 'utils/config' + +const baseURL = config.hulianUrl + +// 党员风采列表 入参agencyId: "1175270520603930625"pageNo: 1pageSize: 10 +export function getDyfcList(data) { + return request({ + baseURL, + url: '/resi/partymember/icpartymemberstyle/screen/showlist', + method: 'POST', + data: data + }) +} +export function getIcpartyactivity(data) { + return request({ + baseURL, + url: '/heart/icpartyactivity/screen/search', + method: 'POST', + data: data + }) +} + diff --git a/src/assets/icon/ansc.png b/src/assets/icon/ansc.png new file mode 100644 index 0000000..f3cb6fe Binary files /dev/null and b/src/assets/icon/ansc.png differ diff --git a/src/assets/icon/csgl.png b/src/assets/icon/csgl.png new file mode 100644 index 0000000..2a6f637 Binary files /dev/null and b/src/assets/icon/csgl.png differ diff --git a/src/assets/icon/yjcz.png b/src/assets/icon/yjcz.png new file mode 100644 index 0000000..e3b07af Binary files /dev/null and b/src/assets/icon/yjcz.png differ diff --git a/src/assets/images/dlzz.png b/src/assets/images/dlzz.png index d1a14f1..23c9799 100644 Binary files a/src/assets/images/dlzz.png and b/src/assets/images/dlzz.png differ diff --git a/src/assets/images/dyfc.png b/src/assets/images/dyfc.png new file mode 100644 index 0000000..f2a25fa Binary files /dev/null and b/src/assets/images/dyfc.png differ diff --git a/src/assets/images/mapBg.png b/src/assets/images/mapBg.png new file mode 100644 index 0000000..f1a8999 Binary files /dev/null and b/src/assets/images/mapBg.png differ diff --git a/src/assets/images/zzjg.png b/src/assets/images/zzjg.png new file mode 100644 index 0000000..0058b06 Binary files /dev/null and b/src/assets/images/zzjg.png differ diff --git a/src/components/screen-title-dropdown-menu/index.vue b/src/components/screen-title-dropdown-menu/index.vue new file mode 100644 index 0000000..67090e1 --- /dev/null +++ b/src/components/screen-title-dropdown-menu/index.vue @@ -0,0 +1,161 @@ + + + + + + \ No newline at end of file diff --git a/src/components/screen-title/index.vue b/src/components/screen-title/index.vue index 8eb6132..597d5d4 100644 --- a/src/components/screen-title/index.vue +++ b/src/components/screen-title/index.vue @@ -1,19 +1,20 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/src/views/screenCenter/markerJson.json b/src/views/screenCenter/markerJson.json index 4dbbea4..c62fb0d 100644 --- a/src/views/screenCenter/markerJson.json +++ b/src/views/screenCenter/markerJson.json @@ -6,11 +6,12 @@ "type": "Feature", "properties": { "name": "居民", - "type": "marker" + "type": "marker", + "resiNum":"8" }, "geometry": { "type": "Point", - "coordinates": [120.38120686849, 36.110575900608] + "coordinates": [120.3337627495665, 36.097438422309494] } }, { @@ -21,7 +22,17 @@ }, "geometry": { "type": "Point", - "coordinates": [120.386000162761, 36.106518283421] + "coordinates":[120.31935953776099, 36.08052585178] + } + },{ + "type": "Feature", + "properties": { + "name": "居民", + "type": "marker" + }, + "geometry": { + "type": "Point", + "coordinates":[120.3327688259555, 36.079975585938] } }, { diff --git a/src/views/screenCenter/screenCenter.vue b/src/views/screenCenter/screenCenter.vue index 2bff073..8c6cd88 100644 --- a/src/views/screenCenter/screenCenter.vue +++ b/src/views/screenCenter/screenCenter.vue @@ -1,8 +1,7 @@ @@ -147,7 +127,7 @@ export default { //党员风采 optionHover: { - step: 1, // 数值越大速度滚动越快 + step: 0.1, // 数值越大速度滚动越快 limitMoveNum: 3, // 开始无缝滚动的数据量 this.dataList.length hoverStop: true, // 是否开启鼠标悬停stop direction: 2, // 0向下 1向上 2向左 3向右 @@ -161,6 +141,11 @@ export default { popupVisible: false, ifShowDlzz: false, list: {}, + active: 1, + headerList: [{ title: '街道', width: '1000px' }, { title: '房子总数', width: '800px' }, { title: '操作', width: '800px' }], + pageSize: 4, + noData: false, + dataListResult: [['敦化路街道', '1860', '查看'], ['浮山新区街道', '1340', '查看'], ['延安路街道', '1752', '查看'], ['大港路街道', '1654', '查看'], ['海伦路街道', '1524', '查看'],] } }, computed: { @@ -385,6 +370,7 @@ export default { justify-content: center; align-items: center; } + .dlzz-static { background: #03364b; @@ -395,6 +381,7 @@ export default { &-item { display: flex; + .item-img { height: 50px; width: 50px; @@ -445,11 +432,12 @@ export default { margin-left: 10px; cursor: pointer; - > img { + >img { height: 110px; width: 190px; display: block; } + &-row1 { margin-top: 10px; display: flex; @@ -492,6 +480,7 @@ export default { -webkit-line-clamp: 2; -webkit-box-orient: vertical; } + // &-row3:hover { // overflow: visible; // } @@ -500,6 +489,7 @@ export default { } } } + .first { background-image: linear-gradient(#055b8d, #0695b7); width: fit-content; @@ -509,6 +499,7 @@ export default { font-size: 40px; cursor: pointer; } + .second { background-image: linear-gradient(#055b8d, #0695b7); width: fit-content; @@ -518,31 +509,131 @@ export default { margin-right: 12px; white-space: nowrap; } + +.flex { + display: flex; + margin-bottom: 10px; + + .item { + color: #fff; + width: 100px; + height: 30px; + line-height: 30px; + text-align: center; + background: linear-gradient(to top, #0174a2, #025b7d); + margin-left: 10px; + margin-top: 10px; + font-size: 300; + cursor: pointer; + } + + .item-active { + background: linear-gradient(to top, #0d82b0, #035f83); + font-weight: 400; + + } +} + +.tudi { + display: flex; + justify-content: space-around; + color: #A3B9DA; + font-size: 16px; + height: 192px; + + .item { + display: flex; + flex-direction: column; + align-items: center; + justify-content: space-between; + + b { + font-size: 32px; + } + } +} + +.table { + height: 15px; +} + ::v-deep { .el-dialog { background-color: #03374c; } + .el-dialog__headerbtn { font-size: 63px; color: #09e5ea; } + .org-tree-node-label-inner { background-image: linear-gradient(#055b8d, #0695b7); cursor: pointer; } + .org-tree-node:not(:first-child):before, .org-tree-node:not(:last-child):after { border-top: 1px solid #188eb6; } + .org-tree-node:after { border-left: 1px solid #188eb6; } + .org-tree-node-children:before { border-left: 1px solid #188eb6; } + .org-tree-node-label .org-tree-node-label-inner { padding: 20px 25px; // font-size: 34px; } } + +.screen-custom-table { + ::v-deep ul { + .table-body .scroll-view .table-tr+.table-tr { + border: none; + } + + .table-header { + font-size: 16px; + font-family: PingFang-SC-Bold; + } + + .table-body { + height: 200px; + + .table-tr { + margin-top: 12px; + // background-image: url('./../assets/icon/tableTdBg.png'); + // background-size: 100% 100%; + } + + // .table-tr:nth-child(2n) { + // background: rgba(11, 68, 135, 0.1); + // &:hover { + // .table-td { + // color: #fff !important; + // } + // } + // } + // .table-tr:nth-child(2n + 1) { + // &:hover { + // .table-td { + // color: #fff !important; + // } + // } + // } + // .table-tr { + // .table-td:nth-child(2) { + // white-space: nowrap; + // overflow: hidden; + // text-overflow: ellipsis; + // } + // } + } + } +} \ No newline at end of file diff --git a/src/views/screenLeft/left2.vue b/src/views/screenLeft/left2.vue index c7ee4a3..acbb931 100644 --- a/src/views/screenLeft/left2.vue +++ b/src/views/screenLeft/left2.vue @@ -147,7 +147,8 @@
{{'专职网格员'}}
-
+
- +
{{'专职网格管理员'}}
-
32
-
{{'联建单位总数'}}
+
{{ '联建单位总数' }}
-
+
-
-
-
{{item.name}}
+
+
+
{{ item.name }}
@@ -25,17 +21,9 @@
- +
@@ -47,10 +35,10 @@ import * as echarts from 'echarts' import 'echarts-gl' import { loadLjhdList } from './../../data/index' - +import { getIcpartyactivity } from '../../api/hulianApi' export default { name: "screen-left3", - data () { + data() { return { //饼图数据+颜色 optionData: [ @@ -90,37 +78,38 @@ export default { ], headerList: ['所属网格', { title: '活动标题', width: '1000px' }, '单位名称', { title: '人员', width: '200px' }, '活动时间'], - dataList: [], dataListResult: [], noData: false, pageSize: 8 } }, - mounted () { - this.dataList = loadLjhdList() + mounted() { + this.getIcpartyactivity() this.$nextTick(function () { this.initChart(); - this.initList() }); }, methods: { - initList () { - this.dataListResult = [] - this.dataList.forEach(element => { - this.dataListResult.push([ - element.gridName, - element.title, - element.unitName, - element.member, - element.data, - ]) - }); - - console.log(this.dataListResult) + async getIcpartyactivity() { + let params = { + agencyId: '1175270520603930625', + pageSize: 50, + pageNo: 1 + } + const { data, msg, code } = await getIcpartyactivity(params) + if (code == 0) { + this.dataListResult = data.list.map(item => [item.gridName, item.title, item.unitName, item.peopleCount, item.activityTime]) + if(this.dataListResult.length === 0){ + this.noData = true + } + } else { + console.log(msg); + } }, - initChart () { + + initChart() { //构建3d饼状图 let myChart = echarts.init(document.getElementById('charts')); // 传入数据生成 option ; getPie3D(数据,透明的空心占比(调节中间空心范围的0就是普通饼1就很镂空)) @@ -132,7 +121,7 @@ export default { }, //配置构建 pieData 饼图数据 internalDiameterRatio:透明的空心占比 - getPie3D (pieData, internalDiameterRatio) { + getPie3D(pieData, internalDiameterRatio) { let that = this; let series = []; let sumValue = 0; @@ -281,7 +270,7 @@ export default { }, //获取3d丙图的最高扇区的高度 - getHeight3D (series, height) { + getHeight3D(series, height) { series.sort((a, b) => { return (b.pieData.value - a.pieData.value); }) @@ -289,7 +278,7 @@ export default { }, // 生成扇形的曲面参数方程,用于 series-surface.parametricEquation - getParametricEquation (startRatio, endRatio, isSelected, isHovered, k, h) { + getParametricEquation(startRatio, endRatio, isSelected, isHovered, k, h) { // 计算 let midRatio = (startRatio + endRatio) / 2; let startRadian = startRatio * Math.PI * 2; @@ -349,7 +338,7 @@ export default { }, //这是一个自定义计算的方法 - fomatFloat (num, n) { + fomatFloat(num, n) { var f = parseFloat(num); if (isNaN(f)) { return false; @@ -369,7 +358,7 @@ export default { }, // 监听鼠标事件,实现饼图选中效果(单选),近似实现高亮(放大)效果。 - bindListen (myChart) { + bindListen(myChart) { let that = this; let selectedIndex = ''; let hoveredIndex = ''; @@ -481,5 +470,4 @@ export default { } - \ No newline at end of file + \ No newline at end of file diff --git a/src/views/screenRight/lineOption.js b/src/views/screenRight/lineOption.js index ed90a57..b03e77f 100644 --- a/src/views/screenRight/lineOption.js +++ b/src/views/screenRight/lineOption.js @@ -2,7 +2,7 @@ import * as echarts from 'echarts' export function lineOption() { return { - color: ['#FFB10A', '#71F3FB'], + color: ['#71F3FB', '#FFB10A','#9232f0'], title: { // text: 'Gradient Stacked Area Chart' }, @@ -16,12 +16,14 @@ export function lineOption() { } }, legend: { - // data: ['党员建群', '党成员'], - // color: ['#FFB10A', '#71F3FB'], + data: ['非常满意', '基本满意','不满意'], + color: ['#71F3FB', '#FFB10A','#9232f0'], data: [ - { color: '#FFB10A', name: '党成员' }, - { color: '#71F3FB', name: '党员建群' } + { color: '#71F3FB', name: '非常满意' }, + { color: '#FFB10A', name: '基本满意' }, + { color: '#9232f0', name: '不满意' }, ], + icon: 'rect', itemWidth: 12, // 长方形宽度 itemHeight: 4, // 长方形高度 @@ -40,13 +42,7 @@ export function lineOption() { { type: 'category', boundaryGap: false, - data: [ - '敦化路街道', - '南宁路街道', - '洛阳路街道', - '华阳路街道', - '黄台路街道' - ], + data: [], offset: 5, axisLine: { lineStyle: { @@ -68,7 +64,7 @@ export function lineOption() { ], series: [ { - name: '党成员', + name: '非常满意', type: 'line', smooth: true, @@ -92,16 +88,16 @@ export function lineOption() { emphasis: { focus: 'series' }, - data: [120, 282, 111, 234, 220] + data: [] }, { - name: '党员建群', + name: '基本满意', type: 'line', smooth: false, lineStyle: { width: 3, - color: '#ffb10a' + color: '#FFB10A' }, showSymbol: false, // areaStyle: { @@ -120,7 +116,37 @@ export function lineOption() { emphasis: { focus: 'series' }, - data: [50, 20, 40, 10, 60] + data: [] + }, + { + name: '不满意', + type: 'line', + + smooth: false, + lineStyle: { + width: 3, + color: '#9232f0' + }, + showSymbol: false, + // areaStyle: { + // opacity: 0.8, + // color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [ + // { + // offset: 0, + // color: '#ffb10a' + // }, + // { + // offset: 1, + // color: '#bf9e58' + // } + // ]) + // }, + emphasis: { + focus: 'series' + }, + data: [ + // 50, 20, 40, 10, 60 + ] } ] } diff --git a/src/views/screenRight/pieOption.js b/src/views/screenRight/pieOption.js index c18699b..653a327 100644 --- a/src/views/screenRight/pieOption.js +++ b/src/views/screenRight/pieOption.js @@ -8,7 +8,7 @@ export function pieOption() { left: 'center', textStyle: { width: '100%', - fontSize: 30, + fontSize: 20, fontStyle: 'italic', color: '#00E0FB' }, diff --git a/src/views/screenRight/right1.vue b/src/views/screenRight/right1.vue index c53fe0e..c1d00b0 100644 --- a/src/views/screenRight/right1.vue +++ b/src/views/screenRight/right1.vue @@ -21,8 +21,46 @@
-
+
+ +
+
+ + + +
+
+ + + +
{{item.gridName}}
+
{{item.mainDeed}} + +
+ +
+
+ +
+
+ +
+
+
\ No newline at end of file diff --git a/src/views/screenRight/right2.vue b/src/views/screenRight/right2.vue index 49e76e6..521ab5c 100644 --- a/src/views/screenRight/right2.vue +++ b/src/views/screenRight/right2.vue @@ -1,220 +1,309 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/src/views/screenRight/right3.vue b/src/views/screenRight/right3.vue index f48efda..83b74fa 100644 --- a/src/views/screenRight/right3.vue +++ b/src/views/screenRight/right3.vue @@ -2,35 +2,34 @@
- -
+ +
+ :src="require('../../assets/images/dataicon.png')">
-
- {{format(dataTotal)}} +
+ {{ format(dataTotal) }}
总数
-
-
+
+
-
+
+
{{ item.title }}
- {{format(item.num ) }} + {{ format(item.num) }}
@@ -38,40 +37,36 @@
+
+ 加载中... +
- -
-
+ +
+
+
+
+ 加载中...
-
- -
-
+
+ +
+
+
+
+ 加载中...
- -
-
-
-
{{item.detail}}
+ +
+
+
+
{{ item.detail }}
@@ -79,31 +74,31 @@
- + + +
+
民生:{{totalLivelihoodCount|| 0}}
+
发展:{{developCountTotal || 0}}
+
执法: {{lawCountCountTotal || 0}}
+
+
+
- +
-