/** * 作者:王成 * 创建日期:2021年12月10日 * 操作系统:MAC * 描述:考核排名页面独有脚本 */ /** * 公共变量 */ var countPieData = []; //统计饼图数据 /* 获取屏幕的尺寸 */ var pageSize = getPageSize(); /** * 同步统计饼图数据 * @param {string} domId 显示统计饼图的domId * @param {function} callback 完成回调 */ function asyncCountData(domId, callback) { /** * 创建案件动态 */ sendAjax({ type: 'post', waitMessage: '正在同步案件统计数据...', url: 'appQueryXzqCaseCount', data: { userId: joinUser.userID, type: 'all', }, success: function(resData) { countPieData = []; for (var i = 0; i < resData.length; i++) { countPieData.push({ value: resData[i].case_all, name: resData[i].xzqName, }); } showCountPie(domId, countPieData); if (callback != undefined) callback(); }, error: function(err) { muiAlertError(err); } }) } /** * 显示统计的饼图 */ function showCountPie(domId, jsonData) { var pieRadiusWidth = '65%'; if (pageSize.width <= PageSize.smartSize) { pieRadiusWidth = '35%'; } var pie = new CrCharts({ domId: domId, }); pie.createPie({ data: jsonData, isAria: false, lineColor: 'rgb(133, 215, 253)', labelColor: 'rgb(255,255,255)', perLabelColor: 'rgb(129,181,218)', radius: [10, pieRadiusWidth], }, '案件统计'); } /* 趋势统计数据 */ var countTrendData = []; /** * 同步趋势变化统计数据 * @param {select} trendType 趋势数据统计周期 day/week/month/year/all */ function asyncCountTrend(trendType) { /** * 创建案件动态 */ sendAjax({ type: 'post', waitMessage: '正在同步趋势变化数据...', url: 'appQueryXzqCaseCountByPeriod', data: { userId: joinUser.userID, type: trendType, }, success: function(resData) { countTrendData = []; var trendData = resData[0].trends; var countData = resData[0].counts; /* 展示案件实时信息 */ $("#divCaseSubmit").html(trendData[0].currentvalue + '件'); $("#divCaseAssign").html(trendData[3].currentvalue + '件'); $("#divCaseCheck").html(trendData[1].currentvalue + '件'); $("#divCaseVerify").html(trendData[4].currentvalue + '件'); $("#divCaseWaitCheck").html(trendData[2].currentvalue + '件'); /* 赋值案件信息 */ for (var i = 0; i < 3; i++) { countTrendData.push({ title: trendData[i].key, value: trendData[i].percentage, trend: trendData[i].trend, }); } /* 展示变化趋势 */ showCountTrend(countTrendData, trendType); /* 展示统计柱状图 */ showCountTrendBar(countData); }, error: function(err) { muiAlertError(err); } }) } /** * @param {array[json]} options 配置项 * title{string}:标题 * value{string}:百分比值 * trend{'down'/'up'}:上升或下降 上升可不设置 * @param {string} trendType 类型 */ function showCountTrend(options, trendType) { var cntTrendHtml = ""; if (trendType === 'day') { cntTrendHtml = "
日度环比
"; } else if (trendType === 'week') { cntTrendHtml = "
周度环比
"; } else if (trendType === 'month') { cntTrendHtml = "
月度环比
"; } else if (trendType === 'year') { cntTrendHtml = "
年度环比
"; } else { cntTrendHtml = "
环比
"; } for (var i = 0; i < options.length; i++) { var item = options[i]; cntTrendHtml += "
"; cntTrendHtml += "
"; cntTrendHtml += "" + item.title + ""; if (item.trend == undefined || item.trend == 'up') { cntTrendHtml += "" + item.value + ""; } else { cntTrendHtml += "" + item.value + ""; } cntTrendHtml += "
"; cntTrendHtml += "
"; if (item.trend == undefined || item.trend == 'up') { cntTrendHtml += ""; } else { cntTrendHtml += ""; } cntTrendHtml += "
"; cntTrendHtml += "
"; } $('#divCountTrend').html(cntTrendHtml); } /* 底部统计柱状图控件 */ var objBarCaseCount = undefined; /** * 显示案件柱状图 * @param {json} jsonData 配置数据 */ function showCountTrendBar(jsonData) { /* 获取页面大小 */ var pageSize = getPageSize(); var dataZoomX = undefined; if (pageSize.width <= PageSize.smartSize) dataZoomX = true; var labels = []; var datas = [{ name: '已派发', data: [], color: 'rgb(38,31,135)', }, { name: '处理中', data: [], color: 'rgb(241,25,39)', }, { name: '复飞中', data: [], color: 'rgb(247,184,31)', }, { name: '审核中', data: [], color: 'rgb(155,78,206)', }, { name: '已结案', data: [], color: 'rgb(30,125,22)', }]; /* 循环数据和标签 */ for (var i = 0; i < jsonData.length; i++) { var item = jsonData[i]; var caseAll = getEChartsValue(item.case_all); if (caseAll >= 1) { labels.push(item.xzqName); var assign = getEChartsValue(parseFloat(item.case_all) - parseFloat(item.wait_assign)); var waitCheck = getEChartsValue(item.wait_check); var waitFlight = getEChartsValue(item.wait_flight); var waitVerify = getEChartsValue(item.wait_verify); var close = getEChartsValue(item.case_close); datas[0].data.push(assign); datas[1].data.push(waitCheck); datas[2].data.push(waitFlight); datas[3].data.push(waitVerify); datas[4].data.push(close); } } /* 再循环数据 */ /* 添加社区占地规划驾驶舱 */ var bbsData = { title: '案件统计', labels: labels, datas: datas, xrotate: 45, gridBottom: 80, dataZoomX: dataZoomX, } if (objBarCaseCount != null && objBarCaseCount != "" && objBarCaseCount != undefined) objBarCaseCount.dispose(); objBarCaseCount = new CrCharts({ domId: 'divCountTrendBar', labelColor: 'rgb(255,255,255)', legendTextColor: 'rgb(255,255,255)', xAxisLineColor: 'rgba(255,255,255,1.0)', yAxisLineColor: 'rgb(133, 215, 253)', splitLineColor: 'rgba(255,255,255,0.3)', xAxisLabel: { color: "rgba(255,255,255,1.0)", fontSize: 12, fontFamily: 'TTTGB-Medium', interval: 0, }, yAxisLabel: { color: "rgb(133, 215, 253)", fontSize: 12, fontFamily: 'TTTGB-Medium', interval: 0, }, }); objBarCaseCount.createVerticalBar(bbsData, 60, false, ['件', '件', '件', '件', '件']); } /** * 点击事件 */ /** * 案件趋势统计点击事件 * @param {Object} obj 点击对象 此处为按钮 * @param {string} trendType 趋势数据统计周期 day/week/month/year/all */ function Click_Event_Case_Count(obj, trendType) { $('.mui-btn').removeClass('cr-active'); $(obj).addClass('cr-active'); asyncCountTrend(trendType); } /** * 镇街排名点击事件 */ function EventClick_zjpm() { createAndOpenPage({ htmlPath: 'page-khpm-zjxq.html', autoback: true, title: '镇街排名(按执法率)' }); } /** * 村庄排名点击事件 */ function EventClick_czpm() { createAndOpenPage({ htmlPath: 'page-khpm-czxq.html', autoback: true, title: '村庄排名(按执法率)' }); } /** * 面积排名点击事件 */ function EventClick_area() { createAndOpenPage({ htmlPath: 'page-khpm-area.html', autoback: true, title: '镇街排名(按面积)' }); }