diff --git a/src/assets/imgs/yxgk_ic_fuwuzs.png b/src/assets/imgs/yxgk_ic_fuwuzs.png new file mode 100644 index 0000000000000000000000000000000000000000..a3a9b39ab1b4b63a91bfe978d3c9b4b3d92edfdb Binary files /dev/null and b/src/assets/imgs/yxgk_ic_fuwuzs.png differ diff --git a/src/assets/imgs/yxgk_ic_yingyongzs.png b/src/assets/imgs/yxgk_ic_yingyongzs.png new file mode 100644 index 0000000000000000000000000000000000000000..69407f059681f978b53923c13fafb92b42367ad9 Binary files /dev/null and b/src/assets/imgs/yxgk_ic_yingyongzs.png differ diff --git a/src/assets/imgs/yxgk_ic_zaixianyh.png b/src/assets/imgs/yxgk_ic_zaixianyh.png new file mode 100644 index 0000000000000000000000000000000000000000..58ce6125e825e99dbd50d459544b23a8ff35dc56 Binary files /dev/null and b/src/assets/imgs/yxgk_ic_zaixianyh.png differ diff --git a/src/assets/imgs/yxgk_ic_zuzhiyh.png b/src/assets/imgs/yxgk_ic_zuzhiyh.png new file mode 100644 index 0000000000000000000000000000000000000000..d7544dad6132d2590c3c89fe60963498893462a8 Binary files /dev/null and b/src/assets/imgs/yxgk_ic_zuzhiyh.png differ diff --git a/src/components/e-charts/bar-chartTwo.vue b/src/components/e-charts/bar-chartTwo.vue new file mode 100644 index 0000000000000000000000000000000000000000..72dc575696da477ae3416d5f866b896d4dac2a4e --- /dev/null +++ b/src/components/e-charts/bar-chartTwo.vue @@ -0,0 +1,200 @@ + + + + \ No newline at end of file diff --git a/src/components/e-charts/doubleLine.vue b/src/components/e-charts/doubleLine.vue new file mode 100644 index 0000000000000000000000000000000000000000..c6a33610b646fe74b2267961a3067b845aff1737 --- /dev/null +++ b/src/components/e-charts/doubleLine.vue @@ -0,0 +1,227 @@ + + + + \ No newline at end of file diff --git a/src/components/e-charts/gk-circle.vue b/src/components/e-charts/gk-circle.vue new file mode 100644 index 0000000000000000000000000000000000000000..80f98da123598bf7d1703d4ffe513cb27ff14023 --- /dev/null +++ b/src/components/e-charts/gk-circle.vue @@ -0,0 +1,266 @@ + + + + \ No newline at end of file diff --git a/src/components/e-charts/gkmultiple_circle.vue b/src/components/e-charts/gkmultiple_circle.vue new file mode 100644 index 0000000000000000000000000000000000000000..5f9619aaa49b2591cbb96aed524819ff96f463b7 --- /dev/null +++ b/src/components/e-charts/gkmultiple_circle.vue @@ -0,0 +1,184 @@ + + + + + diff --git a/src/components/e-charts/line_chart.vue b/src/components/e-charts/line_chart.vue index d4ec73cc11242b368eab73f575fcee6b386d90eb..0b8463e84731ca95bf32ef198e1109894b4f3cdc 100644 --- a/src/components/e-charts/line_chart.vue +++ b/src/components/e-charts/line_chart.vue @@ -25,14 +25,22 @@ export default { }; } }, + showShadow:{ + type:Boolean, + default:true + }, + zzfw: { + type: Boolean, + default: false + }, targetValue: { type: Number, default: () => 0 }, - area_flag:{ + area_flag: { type: Boolean, default: true - }, + } }, components: {}, data() { @@ -61,6 +69,7 @@ export default { "#8B5CFF", "#00CA69" ]; + let color2 = ["#515fe7", "#ef9433","#37c299"]; const hexToRgba = (hex, opacity) => { let rgbaColor = ""; let reg = /^#[\da-f]{6}$/i; @@ -83,32 +92,40 @@ export default { zlevel: 3, lineStyle: { normal: { - color: color[idx], + color: this.zzfw ? color2[idx] : color[idx], shadowBlur: 5, - shadowColor: hexToRgba(color[idx], 0.5), + shadowColor: hexToRgba(this.zzfw ? color2[idx] : color[idx], 0.5), shadowOffsetY: 10 } }, areaStyle: { normal: { - color:this.area_flag? new echarts.graphic.LinearGradient( - 0, - 0, - 0, - 1, - [ - { - offset: 0, - color: hexToRgba(color[idx], 0.3) - }, - { - offset: 1, - color: hexToRgba(color[idx], 0.1) - } - ], - false - ):'rgba(0,0,0,0)', - shadowColor: hexToRgba(color[idx], 0.1), + color: !this.showShadow?'transparent':this.area_flag + ? new echarts.graphic.LinearGradient( + 0, + 0, + 0, + 1, + [ + { + offset: 0, + color: hexToRgba( + this.zzfw ? color2[idx] : color[idx], + 0.3 + ) + }, + { + offset: 1, + color: hexToRgba( + this.zzfw ? color2[idx] : color[idx], + 0.1 + ) + } + ], + false + ) + : "rgba(0,0,0,0)", + shadowColor: !this.showShadow?'none':hexToRgba(this.zzfw ? color2[idx] : color[idx], 0.1), shadowBlur: 10 } }, @@ -123,9 +140,9 @@ export default { var option = { // backgroundColor: bgColor, - color: color, + color: this.zzfw ? color2 : color, legend: { - show:yarr.length>=2,//是否显示图例 + show: yarr.length >= 2, //是否显示图例 right: "center", bottom: 0, itemWidth: 10, @@ -148,7 +165,7 @@ export default { left: 15, right: 30, bottom: 30, - containLabel: true, + containLabel: true }, xAxis: [ { diff --git a/src/components/e-charts/multiple_circle.vue b/src/components/e-charts/multiple_circle.vue index 7851ae83ed0d3f4a02cf7cfc7c1f6ac47db185c4..0cc073a3f9a5928470027f83a4a51fc5da729322 100644 --- a/src/components/e-charts/multiple_circle.vue +++ b/src/components/e-charts/multiple_circle.vue @@ -24,6 +24,14 @@ export default { bar_width: { type: Number, default: 5 + }, + isFwsp: { + type: Boolean, + default: false + }, + isPercent: { + type: Boolean, + default: true } }, components: {}, @@ -76,7 +84,8 @@ export default { }; var data = []; var total = 0; - var color = ["#274fee", "#25bdb1", "#ffc95c", "#e56600", "#e15260"]; + var color = ["#274fee", "#f5ab4c", "#e15260", "#a9aec0", "#e56600"]; + var color2 = ["#ef9433", "#515fe7"]; var legendarr = []; var temp2_data = 0; data_val.forEach(e => { @@ -91,7 +100,7 @@ export default { normal: { borderWidth: this.bar_width, // shadowBlur: 20, - borderColor: color[i] + borderColor: this.isFwsp ? color2[i] : color[i] // shadowColor: color[i], } } @@ -122,12 +131,23 @@ export default { position: "outside", color: "#58617a", formatter: params => { - var percent = 0; - percent = total != 0 ? ((params.value / total) * 100).toFixed(2) : 0; - if (params.name !== "") { - return percent + "%"; + if (this.isPercent) { + var percent = 0; + percent = + total != 0 + ? ((params.value / total) * 100).toFixed(2) + : 0; + if (params.name !== "") { + return percent + "%"; + } else { + return ""; + } } else { - return ""; + if (params.name !== "") { + return params.value + "个"; + } else { + return ""; + } } }, rich: rich @@ -153,7 +173,7 @@ export default { left: "center", top: "center" }, - color: color, + color: this.isFwsp ? color2 : color, tooltip: { show: false }, diff --git a/src/components/e-charts/the-list.vue b/src/components/e-charts/the-list.vue new file mode 100644 index 0000000000000000000000000000000000000000..167578acec2fa6b724aa5ac315a377e2a9b59d13 --- /dev/null +++ b/src/components/e-charts/the-list.vue @@ -0,0 +1,153 @@ + + + + + \ No newline at end of file diff --git a/src/components/e-charts/toplist.vue b/src/components/e-charts/toplist.vue index 7c93df288c277d7eba19d68dbcee91d9bd63b5a1..0735abd76c4be3279f15be604a821d1601b69044 100644 --- a/src/components/e-charts/toplist.vue +++ b/src/components/e-charts/toplist.vue @@ -11,14 +11,16 @@

{{ option.service_name }} + {{ option.service_name }}

0 + }, + isShowjt:{ + type:Boolean, + default:true + }, + isPercent:{ + type:Boolean, + default:false } }, data() { @@ -75,11 +85,9 @@ export default { this.timer = setInterval(() => { let itemHeight = 50; let curScrollTop = this.$el.scrollTop + itemHeight; - if (curScrollTop >= this.$el.scrollHeight - this.$el.clientHeight + itemHeight) { curScrollTop = 0; } - this.$el.scrollTop = Math.min(curScrollTop, this.$el.scrollHeight - this.$el.clientHeight); }, 1500); }, diff --git a/src/pages/data-analysis/my-application.vue b/src/pages/data-analysis/my-application.vue index 92602a546c4b8f68af71720d5cd3dd4267cddf5e..b60948f3fa4ff67ddfcb89b45a13f53565a70557 100644 --- a/src/pages/data-analysis/my-application.vue +++ b/src/pages/data-analysis/my-application.vue @@ -15,7 +15,7 @@
-
应用总数
+
应用总数
{{overview.total}}
@@ -102,7 +102,17 @@

{{sparkline1.num}} - {{sparkline1.up>0?sparkline1.up:0-sparkline1.up}}% + + {{sparkline1.up>0?sparkline1.up:0-sparkline1.up}}% + + +

{{sparkline2.num}} - {{sparkline2.up>0?sparkline2.up:0-sparkline2.up}}% + + {{sparkline2.up>0?sparkline2.up:0-sparkline2.up}}% + + +

- + @@ -213,9 +238,31 @@ - - - + + + + + + + + @@ -249,79 +296,430 @@ export default { WaterPolo }, data: () => ({ - water_polo: [0, 0], + isyysp: true, + water_polo: [64, 36], overview: { - month_chain: 0, - week_chain: 0, - total:0, - day_count:0 - }, - now_used_count_day:7, - now_app_type:1, - now_app_used_area:1, - now_app_count:14, - now_app_deploy:1, - now_app_evalute:1, - mult_data: [], + month_chain: 12, + week_chain: 20, + total: 1324, + day_count: 21 + }, + now_used_count_day: 7, + now_app_type: 1, + now_app_used_area: 1, + now_app_count: 14, + now_app_deploy: 1, + now_app_evalute: 1, + mult_data: [ + { name: "基础工具", value: 22 }, + { name: "通用应用", value: 12 }, + { name: "业务应用", value: 10 } + ], text: "应用总数", spIndicatorStyles1: false, spRefLineStyles3: { stroke: "#d14", strokeOpacity: 0, - strokeDasharray: "2, 2", + strokeDasharray: "2, 2" }, spCurveStyles2: { stroke: "#274fee", - fill: "#274fee", + fill: "#274fee" + }, + Yysp_data: [ + { name: "已审批", value: 15 }, + { name: "待审批", value: 45 } + ], + Yysp_text: "应用审批", + serviceSpData: { + xAxisData: [ + "07-01", + "07-02", + "07-03", + "07-04", + "07-05", + "07-06", + "07-07", + "07-08", + "07-09", + "07-10", + "07-11", + "07-12", + "07-13", + "07-14" + ], + seriesData: [ + { + name: "已审批", + data: [ + 300, + 400, + 350, + 280, + 480, + 520, + 500, + 460, + 300, + 400, + 350, + 280, + 480, + 520, + 500, + 460 + ] + }, + { + name: "未审批", + data: [ + 300, + 350, + 400, + 280, + 320, + 450, + 400, + 350, + 300, + 350, + 400, + 280, + 320, + 450, + 400, + 350 + ] + } + ] }, spCurveStyles3: { stroke: "#e56600", - fill: "#e56600", + fill: "#e56600" }, - sparkline1:{ - arr:[1,2,3,4,8,9,10,21], - num:21, - up:15.3 + sparkline1: { + arr: [1, 2, 3, 4, 8, 9, 10, 21], + num: 21, + up: 15.3 }, - sparkline2:{ - arr:[1,2,3,4,8,9,10,21], - num:18, - up:-19.3 + sparkline2: { + arr: [1, 2, 3, 4, 8, 9, 10, 21], + num: 18, + up: -19.3 }, single_data: { - num: 0, + num: 54, color: "#274fee", text: "平台应用" }, single_data1: { - num: 0, + num: 56, color: "#e56600", text: "开发者应用" }, - line_data: {}, - bar_data_org: {}, - bar_data_area: {}, - graph_arr: {}, - toplistData: [], // 应用部署排名分析 + line_data: { + xAxisData: [ + "07-01", + "07-02", + "07-03", + "07-04", + "07-05", + "07-06", + "07-07", + "07-08", + "07-09", + "07-10", + "07-11", + "07-12", + "07-13", + "07-14" + ], + seriesData: [ + { + name: "开发者应用", + data: [ + 300, + 200, + 150, + 280, + 480, + 520, + 500, + 222, + 300, + 400, + 350, + 280, + 480, + 520, + 500, + 222 + ] + }, + { + name: "平台应用", + data: [ + 300, + 400, + 350, + 280, + 480, + 520, + 500, + 222, + 100, + 200, + 350, + 280, + 260, + 320, + 500, + 222 + ] + }, + { + name: "未上架", + data: [ + 300, + 350, + 366, + 280, + 320, + 450, + 366, + 350, + 300, + 350, + 366, + 280, + 320, + 450, + 366, + 350 + ] + } + ] + }, + bar_data_org: { + legendData: [ + "省公安厅", + "省发改委", + "贵州省公安厅", + "贵州省发改委", + "贵州省公安厅" + ], + seriesData: [322, 454, 266, 399, 222, 167] + }, + bar_data_area: { + legendData: ["经济建设", "城市建设", "道路交通", "环境资源", "其他"], + seriesData: [322, 454, 566, 399, 222, 167] + }, + graph_arr: { + legend: { + data: ["被调用次数", "调用次数"] + }, + data: ["07-01", "07-02", "07-03", "07-04", "07-05", "07-06", "07-07"], + series: [ + { name: "被调用次数", data: [300, 350, 366, 280, 320, 450, 366] }, + { name: "调用次数", data: [400, 350, 280, 480, 520, 500, 222] } + ] + }, + toplistData: [ + { + cover: + "/apaas/static/docs/image/image/blob_206e8a81-6698-4946-9988-815d345f7f2f.blob", + service_name: "postgresql V11.1", + request_count: 30 + }, + { + cover: + "/apaas/static/docs/image/image/blob_206e8a81-6698-4946-9988-815d345f7f2f.blob", + service_name: "钉钉 V1.0", + request_count: 22 + }, + { + cover: + "/apaas/static/docs/image/image/blob_206e8a81-6698-4946-9988-815d345f7f2f.blob", + service_name: "易智瑞 V11.3", + request_count: 21 + }, + { + cover: + "/apaas/static/docs/image/image/blob_206e8a81-6698-4946-9988-815d345f7f2f.blob", + service_name: "CAS单点登录 V1.0", + request_count: 18 + }, + { + cover: + "/apaas/static/docs/image/image/blob_206e8a81-6698-4946-9988-815d345f7f2f.blob", + service_name: "postgresql V11.1", + request_count: 15 + }, + { + cover: + "/apaas/static/docs/image/image/blob_206e8a81-6698-4946-9988-815d345f7f2f.blob", + service_name: "CAS单点登录 V1.0", + request_count: 12 + }, + { + cover: + "/apaas/static/docs/image/image/blob_206e8a81-6698-4946-9988-815d345f7f2f.blob", + service_name: "postgresql V11.1", + request_count: 10 + }, + { + cover: + "/apaas/static/docs/image/image/blob_206e8a81-6698-4946-9988-815d345f7f2f.blob", + service_name: "CAS单点登录 V1.0", + request_count: 8 + }, + { + cover: + "/apaas/static/docs/image/image/blob_206e8a81-6698-4946-9988-815d345f7f2f.blob", + service_name: "postgresql V11.1", + request_count: 6 + }, + { + cover: + "/apaas/static/docs/image/image/blob_206e8a81-6698-4946-9988-815d345f7f2f.blob", + service_name: "CAS单点登录 V1.0", + request_count: 6 + }, + { + cover: + "/apaas/static/docs/image/image/blob_206e8a81-6698-4946-9988-815d345f7f2f.blob", + service_name: "postgresql V11.1", + request_count: 4 + }, + { + cover: + "/apaas/static/docs/image/image/blob_206e8a81-6698-4946-9988-815d345f7f2f.blob", + service_name: "CAS单点登录 V1.0", + request_count: 2 + } + ], // 应用部署排名分析 toplistTargetValue: 150, // 应用部署排名分析 目标值 appInfoBtnIndex: 0, - commentlistData: [], // 应用评价 - starlistData: [], // 应用评分 + commentlistData: [ + { + picture_path: + "/apaas/static/docs/image/image/blob_206e8a81-6698-4946-9988-815d345f7f2f.blob", + user_name: "孤独的狼", + add_time: "2020-08-01 19:00:00", + score: 4, + message: "这个应用非常实用,可以应用到多个业务领域!" + }, + { + picture_path: + "/apaas/static/docs/image/image/blob_206e8a81-6698-4946-9988-815d345f7f2f.blob", + user_name: "大锤", + add_time: "2020-08-01 19:00:00", + score: 4, + message: "这个应用非常实用,可以应用到多个业务领域!" + }, + { + picture_path: + "/apaas/static/docs/image/image/blob_206e8a81-6698-4946-9988-815d345f7f2f.blob", + user_name: "阿水", + add_time: "2020-08-01 19:00:00", + score: 3, + message: "这个应用非常实用,可以应用到多个业务领域!" + }, + { + picture_path: + "/apaas/static/docs/image/image/blob_206e8a81-6698-4946-9988-815d345f7f2f.blob", + user_name: "孤独的狼", + add_time: "2020-08-01 19:00:00", + score: 4, + message: "这个应用非常实用,可以应用到多个业务领域!" + }, + { + picture_path: + "/apaas/static/docs/image/image/blob_206e8a81-6698-4946-9988-815d345f7f2f.blob", + user_name: "孤独的狼", + add_time: "2020-08-01 19:00:00", + score: 4, + message: "这个应用非常实用,可以应用到多个业务领域!" + } + ], // 应用评价 + starlistData: [ + { + star: 5, + count: 5, + unit: "个" + }, + { + star: 4, + count: 4, + unit: "个" + }, + { + star: 3, + count: 3, + unit: "个" + }, + { + star: 2, + count: 2, + unit: "个" + }, + { + star: 1, + count: 1, + unit: "个" + } + ], // 应用评分 starlistTotal: 10, hotSearchHeader: [], // 热门搜索 表头 - hotSearchData: [] // 热门搜索 数据 + hotSearchData: [ + { + id: 1, + hotIndex: 1, + name: "地图视频融合服务", + count: 9964, + increases: 568 + }, + { + id: 1, + hotIndex: 2, + name: "消息队列服务", + count: 8964, + increases: 528 + }, + { + id: 1, + hotIndex: 3, + name: "即时通讯服务", + count: 7864, + increases: 89 + }, + { + id: 1, + hotIndex: 4, + name: "即时通讯服务这里最多显示十五字地图视频融合服务", + count: 4964, + increases: -8 + }, + { + id: 1, + hotIndex: 5, + name: "即时通讯服务这里最多显示十五字地图视频融合服务", + count: 3364, + increases: -18 + } + ] // 热门搜索 数据 }), mounted() { - this.getAppOverview() - this.getAppUsedCount() - this.getAppType() - this.getAppSourceOri() - this.getAppUsedArea() - this.getAppCount() - this.getAppDeployRank() - this.getAppEvaluate() - this.getAppOnlineState() - this.getAppHot() + // this.getAppOverview(); + // this.getAppUsedCount(); + // this.getAppType(); + // this.getAppSourceOri(); + // this.getAppUsedArea(); + // this.getAppCount(); + // this.getAppDeployRank(); + // this.getAppEvaluate(); + // this.getAppOnlineState(); + // this.getAppHot(); this.hotSearchHeader = [ { label: "排名", @@ -351,227 +749,960 @@ export default { ]; }, methods: { - getAppOverview(){ + getAppOverview() { this.$api.dataAnalysis.getAppOverview().then(response => { if (response.data.success == 1) { - let data = response.data.data - this.overview= { + let data = response.data.data; + this.overview = { month_chain: parseFloat(data.month_lr), week_chain: parseFloat(data.week_lr), - total:data.total, - day_count:data.ave_deploy_count - } - this.water_polo = [parseFloat(data.developable_ratio),parseFloat(data.un_developable_ratio)] + total: data.total, + day_count: data.ave_deploy_count + }; + this.water_polo = [ + parseFloat(data.developable_ratio), + parseFloat(data.un_developable_ratio) + ]; } - }) + }); }, - getAppUsedCount(){ - this.$api.dataAnalysis.getAppUsedCount({day:this.now_used_count_day}).then(response => { - if (response.data.success == 1) { - let data = response.data.data - this.graph_arr= data - } - }) - }, - getAppType(){ - this.$api.dataAnalysis.getAppType({type:this.now_app_type}).then(response => { - if (response.data.success == 1) { - let data = response.data.data - this.mult_data= data.series[0].data - } - }) + getAppUsedCount() { + this.$api.dataAnalysis + .getAppUsedCount({ day: this.now_used_count_day }) + .then(response => { + if (response.data.success == 1) { + let data = response.data.data; + this.graph_arr = data; + } + }); }, - getAppSourceOri(){ - this.$api.dataAnalysis.getAppSourceOri().then(response => { - if (response.data.success == 1) { - let data = response.data.data - this.bar_data_org= { - legendData: data.xAxis.data, - seriesData: data.series[0].data + getAppType() { + this.$api.dataAnalysis + .getAppType({ type: this.now_app_type }) + .then(response => { + if (response.data.success == 1) { + let data = response.data.data; + this.mult_data = data.series[0].data; } - } - }) + }); }, - getAppUsedArea(){ - this.$api.dataAnalysis.getAppUsedArea({type:this.now_app_used_area}).then(response => { + getAppSourceOri() { + this.$api.dataAnalysis.getAppSourceOri().then(response => { if (response.data.success == 1) { - let data = response.data.data - this.bar_data_area= { + let data = response.data.data; + this.bar_data_org = { legendData: data.xAxis.data, seriesData: data.series[0].data - } + }; } - }) + }); }, - getAppCount(){ - this.$api.dataAnalysis.getAppCount({day:this.now_app_count}).then(response => { - if (response.data.success == 1) { - let data = response.data.data - this.line_data= { - xAxisData: data.data, - seriesData: data.series + getAppUsedArea() { + this.$api.dataAnalysis + .getAppUsedArea({ type: this.now_app_used_area }) + .then(response => { + if (response.data.success == 1) { + let data = response.data.data; + this.bar_data_area = { + legendData: data.xAxis.data, + seriesData: data.series[0].data + }; } - } - }) + }); }, - getAppDeployRank(){ - this.$api.dataAnalysis.getAppDeployRank({type:this.now_app_deploy}).then(response => { - if (response.data.success == 1) { - let data = response.data.data - this.toplistData = [] - if(data&&data.length){ - this.toplistTargetValue =data[0].num - data.forEach(e => { - this.toplistData.push({ - service_name: e.name, - request_count: e.num, - cover:e.logo, - service_id:{ - id:e.app_id, - source:e.source - }, - data_service_type1:124 - }) - }); + getAppCount() { + this.$api.dataAnalysis + .getAppCount({ day: this.now_app_count }) + .then(response => { + if (response.data.success == 1) { + let data = response.data.data; + this.line_data = { + xAxisData: data.data, + seriesData: data.series + }; } - } - }) + }); }, - getAppEvaluate(){ - this.$api.dataAnalysis.getAppEvaluate({type:this.now_app_evalute}).then(response => { - if (response.data.success == 1) { - let data = response.data.data - if(this.now_app_evalute==1){ - this.commentlistData = [] - if(data&&data.length){ + getAppDeployRank() { + this.$api.dataAnalysis + .getAppDeployRank({ type: this.now_app_deploy }) + .then(response => { + if (response.data.success == 1) { + let data = response.data.data; + this.toplistData = []; + if (data && data.length) { + this.toplistTargetValue = data[0].num; data.forEach(e => { - this.commentlistData.push({ - add_time: e.add_time, - message: e.content, - picture_path: e.picture_path, - score: e.score, - user_name: e.picture_path, - }) + this.toplistData.push({ + service_name: e.name, + request_count: e.num, + cover: e.logo, + service_id: { + id: e.app_id, + source: e.source + }, + data_service_type1: 124 + }); }); } - }else{ - this.starlistTotal = 10 - this.starlistData = [] - var temp = [] - if(data&&data.length){ - data.forEach(e => { - temp.push(e.num) - this.starlistData.push({ - star: e.name, - count: e.num, - }) - }); - this.starlistTotal = Math.max(...temp) + } + }); + }, + getAppEvaluate() { + this.$api.dataAnalysis + .getAppEvaluate({ type: this.now_app_evalute }) + .then(response => { + if (response.data.success == 1) { + let data = response.data.data; + if (this.now_app_evalute == 1) { + this.commentlistData = []; + if (data && data.length) { + data.forEach(e => { + this.commentlistData.push({ + add_time: e.add_time, + message: e.content, + picture_path: e.picture_path, + score: e.score, + user_name: e.picture_path + }); + }); + } + } else { + this.starlistTotal = 10; + this.starlistData = []; + var temp = []; + if (data && data.length) { + data.forEach(e => { + temp.push(e.num); + this.starlistData.push({ + star: e.name, + count: e.num + }); + }); + this.starlistTotal = Math.max(...temp); + } } } - } - }) + }); }, - getAppOnlineState(){ - this.$api.dataAnalysis.getAppOnlineState().then(response =>{ + getAppOnlineState() { + this.$api.dataAnalysis.getAppOnlineState().then(response => { if (response.data.success == 1) { - let data = response.data.data + let data = response.data.data; this.single_data = { num: data.platform, color: "#274fee", text: "平台应用" - } - this.single_data1= { + }; + this.single_data1 = { num: data.develop, color: "#e56600", text: "开发者应用" - } + }; } - }) + }); }, - getAppHot(){ - this.$api.dataAnalysis.getAppHot().then(response =>{ + getAppHot() { + this.$api.dataAnalysis.getAppHot().then(response => { if (response.data.success == 1) { - let data = response.data.data - let user = data.user||{} - let ave_search = data.ave_search||{} - let search_app = data.search_app||[] - this.sparkline1={ - arr:user.line_chart?user.line_chart.series[0].data:[], - num:user.today_num?user.today_num:0, - up:user.ratio?parseFloat(user.ratio):0 - } - this.sparkline2={ - arr:ave_search.line_chart?ave_search.line_chart.series[0].data:[], - num:ave_search.today_num?ave_search.today_num:0, - up:ave_search.ratio?parseFloat(ave_search.ratio):0 - } - this.hotSearchData = [] - search_app.forEach((e,idx) => { + let data = response.data.data; + let user = data.user || {}; + let ave_search = data.ave_search || {}; + let search_app = data.search_app || []; + this.sparkline1 = { + arr: user.line_chart ? user.line_chart.series[0].data : [], + num: user.today_num ? user.today_num : 0, + up: user.ratio ? parseFloat(user.ratio) : 0 + }; + this.sparkline2 = { + arr: ave_search.line_chart + ? ave_search.line_chart.series[0].data + : [], + num: ave_search.today_num ? ave_search.today_num : 0, + up: ave_search.ratio ? parseFloat(ave_search.ratio) : 0 + }; + this.hotSearchData = []; + search_app.forEach((e, idx) => { this.hotSearchData.push({ - id:e.app_id, - source:e.source, - hotIndex:idx + 1, + id: e.app_id, + source: e.source, + hotIndex: idx + 1, name: e.name, count: e.num, increases: parseFloat(e.ratio) - }) + }); }); } - }) + }); }, detailHotSearch(item) { console.log("查看热搜详情"); - this.$router.push(`/yygl/0/0/detail/${item.id}?source=${item.source}`) + this.$router.push(`/yygl/0/0/detail/${item.id}?source=${item.source}`); }, hotSearchSortChange(sortInfo) { console.log("应用热门搜索: " + sortInfo); }, + changeAppSpChangeBtn(val) { + if (val === 0) { + this.serviceSpData = { + xAxisData: [ + "07-01", + "07-02", + "07-03", + "07-04", + "07-05", + "07-06", + "07-07", + "07-08", + "07-09", + "07-10", + "07-11", + "07-12", + "07-13", + "07-14" + ], + seriesData: [ + { + name: "已审批", + data: [ + 300, + 400, + 350, + 280, + 480, + 520, + 500, + 460, + 300, + 400, + 350, + 280, + 480, + 520, + 500, + 460 + ] + }, + { + name: "未审批", + data: [ + 300, + 350, + 400, + 280, + 320, + 450, + 400, + 350, + 300, + 350, + 400, + 280, + 320, + 450, + 400, + 350 + ] + } + ] + }; + } else { + this.serviceSpData = { + xAxisData: [ + "07-01", + "07-02", + "07-03", + "07-04", + "07-05", + "07-06", + "07-07", + "07-08", + "07-09", + "07-10", + "07-11", + "07-12", + "07-13", + "07-14", + "07-15", + "07-16", + "07-17", + "07-18", + "07-19", + "07-20", + "07-21", + "07-22", + "07-23", + "07-24", + "07-25", + "07-26", + "07-27", + "07-28", + "07-29", + "07-30" + ], + seriesData: [ + { + name: "已审批", + data: [ + 300, + 400, + 350, + 280, + 480, + 520, + 500, + 460, + 300, + 400, + 350, + 280, + 480, + 520, + 500, + 460, + 300, + 350, + 400, + 280, + 320, + 450, + 400, + 350, + 300, + 350, + 400, + 280, + 320, + 450, + 400, + 350 + ] + }, + { + name: "未审批", + data: [ + 300, + 350, + 400, + 280, + 320, + 450, + 400, + 350, + 300, + 350, + 400, + 280, + 320, + 450, + 400, + 350, + 300, + 400, + 350, + 280, + 480, + 520, + 500, + 460, + 300, + 400, + 350, + 280, + 480, + 520, + 500, + 460 + ] + } + ] + }; + } + }, + changeAppSpBtn(val) { + if (val === 0) { + this.Yysp_data = [ + { name: "已审批", value: 15 }, + { name: "待审批", value: 45 } + ]; + this.isyysp = true; + } else { + this.Yysp_data = [ + { name: "申请部署", value: 5 }, + { name: "申请开发", value: 15 } + ]; + this.isyysp = false; + } + }, changeServiceTypeBtn(index) { - if(index == 0){ - this.now_app_type = 1 - }else{ - this.now_app_type = 2 + if (index === 0) { + this.mult_data = [ + { name: "基础工具", value: 22 }, + { name: "通用应用", value: 12 }, + { name: "业务应用", value: 10 } + ]; + } else { + this.mult_data = [ + { name: "基础工具", value: 6 }, + { name: "通用应用", value: 20 }, + { name: "业务应用", value: 14 } + ]; } - this.getAppType() + // if (index == 0) { + // this.now_app_type = 1; + // } else { + // this.now_app_type = 2; + // } + // this.getAppType(); }, changeAppAreaTypeBtn(index) { - if(index == 0){ - this.now_app_used_area = 1 - }else{ - this.now_app_used_area = 2 + if (index === 0) { + this.bar_data_area = { + legendData: ["经济建设", "城市建设", "道路交通", "环境资源", "其他"], + seriesData: [322, 454, 566, 399, 222, 167] + }; + } else { + this.bar_data_area = { + legendData: ["经济建设", "城市建设", "道路交通", "环境资源", "其他"], + seriesData: [222, 354, 466, 499, 422, 367] + }; } - this.getAppUsedArea() + // if (index == 0) { + // this.now_app_used_area = 1; + // } else { + // this.now_app_used_area = 2; + // } + // this.getAppUsedArea(); }, changeApplicationFieldBtn(index) { console.log("xxx: " + index); }, changeServiceCellBtn(index) { - if(index==0){ - this.now_used_count_day = 7 - }else{ - this.now_used_count_day = 30 + if (index === 0) { + this.graph_arr = { + legend: { + data: ["被调用次数", "调用次数"] + }, + data: ["07-01", "07-02", "07-03", "07-04", "07-05", "07-06", "07-07"], + series: [ + { name: "被调用次数", data: [300, 350, 366, 280, 320, 450, 366] }, + { name: "调用次数", data: [400, 350, 280, 480, 520, 500, 222] } + ] + }; + } else { + this.graph_arr = { + legend: { + data: ["被调用次数", "调用次数"] + }, + data: [ + "07-01", + "07-02", + "07-03", + "07-04", + "07-05", + "07-06", + "07-07", + "07-08", + "07-09", + "07-10", + "07-11", + "07-12", + "07-13", + "07-14", + "07-15", + "07-16", + "07-17", + "07-18", + "07-19", + "07-20", + "07-21", + "07-22", + "07-23", + "07-24", + "07-25", + "07-26", + "07-27", + "07-28", + "07-29", + "07-30" + ], + series: [ + { + name: "被调用次数", + data: [ + 300, + 350, + 366, + 280, + 320, + 450, + 366, + 400, + 350, + 280, + 480, + 520, + 500, + 222, + 300, + 350, + 366, + 280, + 320, + 450, + 366, + 400, + 350, + 280, + 480, + 520, + 500, + 222, + 333, + 444 + ] + }, + { + name: "调用次数", + data: [ + 400, + 350, + 280, + 480, + 520, + 500, + 222, + 300, + 350, + 366, + 280, + 320, + 450, + 366, + 400, + 350, + 280, + 480, + 520, + 500, + 222, + 333, + 444, + 400, + 350, + 280, + 480, + 520, + 500, + 222 + ] + } + ] + }; } - this.getAppUsedCount() + // if (index == 0) { + // this.now_used_count_day = 7; + // } else { + // this.now_used_count_day = 30; + // } + // this.getAppUsedCount(); }, changeServeiceApplyCountBtn(index) { - console.log("应用部署排名分析: " + index); - this.now_app_deploy = index+1 - this.getAppDeployRank() + if (index === 0) { + this.toplistData = [ + { + cover: + "/apaas/static/docs/image/image/blob_206e8a81-6698-4946-9988-815d345f7f2f.blob", + service_name: "postgresql V11.1", + request_count: 30 + }, + { + cover: + "/apaas/static/docs/image/image/blob_206e8a81-6698-4946-9988-815d345f7f2f.blob", + service_name: "钉钉 V1.0", + request_count: 22 + }, + { + cover: + "/apaas/static/docs/image/image/blob_206e8a81-6698-4946-9988-815d345f7f2f.blob", + service_name: "易智瑞 V11.3", + request_count: 21 + }, + { + cover: + "/apaas/static/docs/image/image/blob_206e8a81-6698-4946-9988-815d345f7f2f.blob", + service_name: "CAS单点登录 V1.0", + request_count: 18 + }, + { + cover: + "/apaas/static/docs/image/image/blob_206e8a81-6698-4946-9988-815d345f7f2f.blob", + service_name: "postgresql V11.1", + request_count: 15 + }, + { + cover: + "/apaas/static/docs/image/image/blob_206e8a81-6698-4946-9988-815d345f7f2f.blob", + service_name: "CAS单点登录 V1.0", + request_count: 12 + }, + { + cover: + "/apaas/static/docs/image/image/blob_206e8a81-6698-4946-9988-815d345f7f2f.blob", + service_name: "postgresql V11.1", + request_count: 10 + }, + { + cover: + "/apaas/static/docs/image/image/blob_206e8a81-6698-4946-9988-815d345f7f2f.blob", + service_name: "CAS单点登录 V1.0", + request_count: 8 + }, + { + cover: + "/apaas/static/docs/image/image/blob_206e8a81-6698-4946-9988-815d345f7f2f.blob", + service_name: "postgresql V11.1", + request_count: 6 + }, + { + cover: + "/apaas/static/docs/image/image/blob_206e8a81-6698-4946-9988-815d345f7f2f.blob", + service_name: "CAS单点登录 V1.0", + request_count: 6 + }, + { + cover: + "/apaas/static/docs/image/image/blob_206e8a81-6698-4946-9988-815d345f7f2f.blob", + service_name: "postgresql V11.1", + request_count: 4 + }, + { + cover: + "/apaas/static/docs/image/image/blob_206e8a81-6698-4946-9988-815d345f7f2f.blob", + service_name: "CAS单点登录 V1.0", + request_count: 2 + } + ]; + } else { + this.toplistData = [ + { + cover: + "/apaas/static/docs/image/image/blob_206e8a81-6698-4946-9988-815d345f7f2f.blob", + service_name: "postgresql V11.1", + request_count: 35 + }, + { + cover: + "/apaas/static/docs/image/image/blob_206e8a81-6698-4946-9988-815d345f7f2f.blob", + service_name: "钉钉 V1.0", + request_count: 30 + }, + { + cover: + "/apaas/static/docs/image/image/blob_206e8a81-6698-4946-9988-815d345f7f2f.blob", + service_name: "易智瑞 V11.3", + request_count: 27 + }, + { + cover: + "/apaas/static/docs/image/image/blob_206e8a81-6698-4946-9988-815d345f7f2f.blob", + service_name: "CAS单点登录 V1.0", + request_count: 25 + }, + { + cover: + "/apaas/static/docs/image/image/blob_206e8a81-6698-4946-9988-815d345f7f2f.blob", + service_name: "postgresql V11.1", + request_count: 15 + }, + { + cover: + "/apaas/static/docs/image/image/blob_206e8a81-6698-4946-9988-815d345f7f2f.blob", + service_name: "CAS单点登录 V1.0", + request_count: 12 + }, + { + cover: + "/apaas/static/docs/image/image/blob_206e8a81-6698-4946-9988-815d345f7f2f.blob", + service_name: "postgresql V11.1", + request_count: 11 + }, + { + cover: + "/apaas/static/docs/image/image/blob_206e8a81-6698-4946-9988-815d345f7f2f.blob", + service_name: "CAS单点登录 V1.0", + request_count: 10 + }, + { + cover: + "/apaas/static/docs/image/image/blob_206e8a81-6698-4946-9988-815d345f7f2f.blob", + service_name: "postgresql V11.1", + request_count: 6 + }, + { + cover: + "/apaas/static/docs/image/image/blob_206e8a81-6698-4946-9988-815d345f7f2f.blob", + service_name: "CAS单点登录 V1.0", + request_count: 6 + }, + { + cover: + "/apaas/static/docs/image/image/blob_206e8a81-6698-4946-9988-815d345f7f2f.blob", + service_name: "postgresql V11.1", + request_count: 4 + }, + { + cover: + "/apaas/static/docs/image/image/blob_206e8a81-6698-4946-9988-815d345f7f2f.blob", + service_name: "CAS单点登录 V1.0", + request_count: 2 + } + ]; + } + // console.log("应用部署排名分析: " + index); + // this.now_app_deploy = index + 1; + // this.getAppDeployRank(); }, changeAppInfoBtn(index) { this.appInfoBtnIndex = index; - this.now_app_evalute = index+1 - this.getAppEvaluate() - console.log("应用评价及评分: " + index); + this.now_app_evalute = index + 1; + // this.getAppEvaluate(); + // console.log("应用评价及评分: " + index); }, changeAppTotalChangeBtn(index) { - if(index == 0){ - this.now_app_count = 14 - }else{ - this.now_app_count = 30 + if (index === 0) { + this.line_data = { + xAxisData: [ + "07-01", + "07-02", + "07-03", + "07-04", + "07-05", + "07-06", + "07-07", + "07-08", + "07-09", + "07-10", + "07-11", + "07-12", + "07-13", + "07-14" + ], + seriesData: [ + { + name: "开发者应用", + data: [ + 300, + 200, + 150, + 280, + 480, + 520, + 500, + 222, + 300, + 400, + 350, + 280, + 480, + 520, + 500, + 222 + ] + }, + { + name: "平台应用", + data: [ + 300, + 400, + 350, + 280, + 480, + 520, + 500, + 222, + 100, + 200, + 350, + 280, + 260, + 320, + 500, + 222 + ] + }, + { + name: "未上架", + data: [ + 300, + 350, + 366, + 280, + 320, + 450, + 366, + 350, + 300, + 350, + 366, + 280, + 320, + 450, + 366, + 350 + ] + } + ] + }; + } else { + this.line_data = { + xAxisData: [ + "07-01", + "07-02", + "07-03", + "07-04", + "07-05", + "07-06", + "07-07", + "07-08", + "07-09", + "07-10", + "07-11", + "07-12", + "07-13", + "07-14", + "07-15", + "07-16", + "07-17", + "07-18", + "07-19", + "07-20", + "07-21", + "07-22", + "07-23", + "07-24", + "07-25", + "07-26", + "07-27", + "07-28", + "07-29", + "07-30" + ], + seriesData: [ + { + name: "开发者", + data: [ + 300, + 100, + 250, + 280, + 380, + 220, + 300, + 122, + 200, + 300, + 550, + 480, + 380, + 420, + 300, + 122, + 200, + 250, + 266, + 380, + 220, + 350, + 466, + 250, + 400, + 250, + 266, + 380, + 220, + 350 + ] + }, + { + name: "平台应用", + data: [ + 300, + 400, + 350, + 280, + 480, + 520, + 500, + 222, + 300, + 400, + 350, + 280, + 480, + 520, + 500, + 222, + 300, + 350, + 366, + 280, + 320, + 450, + 366, + 350, + 300, + 350, + 366, + 280, + 320, + 450 + ] + }, + { + name: "未上架", + data: [ + 300, + 350, + 366, + 280, + 320, + 450, + 366, + 350, + 300, + 350, + 366, + 280, + 320, + 450, + 366, + 350, + 300, + 400, + 350, + 280, + 480, + 520, + 500, + 222, + 300, + 400, + 350, + 280, + 480, + 520 + ] + } + ] + }; } - this.getAppCount() + // if (index == 0) { + // this.now_app_count = 14; + // } else { + // this.now_app_count = 30; + // } + // this.getAppCount(); } } }; @@ -720,30 +1851,30 @@ export default { .hot-line-chart { height: calc(100% - 36px); } -.single-charts{ +.single-charts { float: left; width: 50%; } -.sparkline-text{ +.sparkline-text { width: 100%; line-height: 20px; } -.sparkline-text span:nth-of-type(1){ +.sparkline-text span:nth-of-type(1) { font-size: 20px; color: #274fee; } -.sparkline-text span:nth-of-type(2){ +.sparkline-text span:nth-of-type(2) { font-size: 12px; width: 62px; float: right; text-align: center; line-height: 20px; - height: 20px; + height: 20px; border-radius: 3px; margin-top: 3px; margin-right: 2px; } -.sparkline-text-user span:nth-of-type(1){ +.sparkline-text-user span:nth-of-type(1) { font-size: 20px; color: #e56600; } diff --git a/src/pages/data-analysis/my-service.vue b/src/pages/data-analysis/my-service.vue index 91d9e612f60a52766154a8d2c16e994d23f68a89..f1487d4b0e70163be1708a30cf9aca51deb97fd7 100644 --- a/src/pages/data-analysis/my-service.vue +++ b/src/pages/data-analysis/my-service.vue @@ -40,6 +40,7 @@ v-if="left_1_state == 0" class="block-radius-content" :data="mult_data_state" + :isPercent="false" :show_center_data="false" :bar_width="10 " > @@ -165,7 +166,7 @@ :buttons_arr="['近14天', '近30天']" @changeButton="changeServeiceTotalChangeBtn" > - + @@ -241,9 +242,25 @@ - - - + + + + + + + + @@ -280,7 +297,7 @@ export default { }, data: () => ({ overview: { - serviceTotal: 0 + serviceTotal: 28 }, left_1_state: 0, left_2_state: 0, @@ -291,8 +308,23 @@ export default { right_2_state: 0, right_3_state: 0, last_id: 0, - mult_data_state: [], - mult_data: [], + mult_data_state: [ + { name: "正常", value: 22 }, + { name: "警告", value: 12 }, + { name: "错误", value: 14 }, + { name: "未使用", value: 19 } + ], + mult_data: [ + { name: "数据服务", value: 22 }, + { name: "时空服务", value: 12 }, + { name: "视频服务", value: 14 }, + { name: "感知服务", value: 14 }, + { name: "综合服务", value: 1 } + ], + fwsp_data: [ + { name: "已审批", value: 25 }, + { name: "待审批", value: 75 } + ], spIndicatorStyles1: false, spRefLineStyles3: { stroke: "#d14", @@ -308,59 +340,291 @@ export default { fill: "#e56600" }, sparkline1: { - num:0, - up:0, - arr:[] + num: 8848, + up: 32, + arr: [20, 29, 40, 33, 45, 58] }, sparkline2: { - num:0, - up:0, - arr:[] + num: 9964, + up: 20, + arr: [33, 29, 36, 33, 45, 58] }, text: "服务总数", + fwsp_text: "服务审批", single_data: { - num: 0, + num: 32, color: "#25bdb1", text: "共享" }, single_data1: { - num: 0, + num: 28, color: "#f5ab4c", text: "受限" }, single_data2: { - num: 0, + num: 30, color: "#e15260", text: "敏感" }, + serviceSpData: { + xAxisData: [ + "07-01", + "07-02", + "07-03", + "07-04", + "07-05", + "07-06", + "07-07", + "07-08", + "07-09", + "07-10", + "07-11", + "07-12", + "07-13", + "07-14" + ], + seriesData: [ + { + name: "已审批", + data: [ + 300, + 400, + 350, + 280, + 480, + 520, + 500, + 460, + 300, + 400, + 350, + 280, + 480, + 520, + 500, + 460 + ] + }, + { + name: "未审批", + data: [ + 300, + 350, + 400, + 280, + 320, + 450, + 400, + 350, + 300, + 350, + 400, + 280, + 320, + 450, + 400, + 350 + ] + } + ] + }, line_data: { - xAxisData: [], + xAxisData: [ + "07-01", + "07-02", + "07-03", + "07-04", + "07-05", + "07-06", + "07-07", + "07-08", + "07-09", + "07-10", + "07-11", + "07-12", + "07-13", + "07-14" + ], seriesData: [ { - name: "", - data: [] + name: "上架中", + data: [ + 300, + 400, + 350, + 280, + 480, + 520, + 500, + 222, + 300, + 400, + 350, + 280, + 480, + 520, + 500, + 222 + ] }, { - name: "", - data: [] + name: "未上架", + data: [ + 300, + 350, + 366, + 280, + 320, + 450, + 366, + 350, + 300, + 350, + 366, + 280, + 320, + 450, + 366, + 350 + ] } ] }, das_data: { - data: 90, + data: 85, text: "健康占比" }, bar_data: { - legendData: [], - seriesData: [] + legendData: ["经济建设", "城市建设", "道路交通", "环境资源", "其他"], + seriesData: [322, 454, 566, 399, 222, 167] }, bar_data_org: { - legendData: [], - seriesData: [] + legendData: [ + "省公安厅", + "省发改委", + "贵州省公安厅", + "贵州省发改委", + "贵州省公安厅" + ], + seriesData: [322, 454, 266, 399, 222, 167] }, - toplistData: [], // 服务调用排名分析 - toplistTargetValue: 0, // 服务调用排名分析 目标值 - commentlistData: [], // 服务评价 + toplistData: [ + { + cover: + "/apaas/static/docs/image/image/blob_206e8a81-6698-4946-9988-815d345f7f2f.blob", + service_name: "postgresql V11.1", + request_count: 30 + }, + { + cover: + "/apaas/static/docs/image/image/blob_206e8a81-6698-4946-9988-815d345f7f2f.blob", + service_name: "钉钉 V1.0", + request_count: 22 + }, + { + cover: + "/apaas/static/docs/image/image/blob_206e8a81-6698-4946-9988-815d345f7f2f.blob", + service_name: "易智瑞 V11.3", + request_count: 21 + }, + { + cover: + "/apaas/static/docs/image/image/blob_206e8a81-6698-4946-9988-815d345f7f2f.blob", + service_name: "CAS单点登录 V1.0", + request_count: 18 + }, + { + cover: + "/apaas/static/docs/image/image/blob_206e8a81-6698-4946-9988-815d345f7f2f.blob", + service_name: "postgresql V11.1", + request_count: 15 + }, + { + cover: + "/apaas/static/docs/image/image/blob_206e8a81-6698-4946-9988-815d345f7f2f.blob", + service_name: "CAS单点登录 V1.0", + request_count: 12 + }, + { + cover: + "/apaas/static/docs/image/image/blob_206e8a81-6698-4946-9988-815d345f7f2f.blob", + service_name: "postgresql V11.1", + request_count: 10 + }, + { + cover: + "/apaas/static/docs/image/image/blob_206e8a81-6698-4946-9988-815d345f7f2f.blob", + service_name: "CAS单点登录 V1.0", + request_count: 8 + }, + { + cover: + "/apaas/static/docs/image/image/blob_206e8a81-6698-4946-9988-815d345f7f2f.blob", + service_name: "postgresql V11.1", + request_count: 6 + }, + { + cover: + "/apaas/static/docs/image/image/blob_206e8a81-6698-4946-9988-815d345f7f2f.blob", + service_name: "CAS单点登录 V1.0", + request_count: 6 + }, + { + cover: + "/apaas/static/docs/image/image/blob_206e8a81-6698-4946-9988-815d345f7f2f.blob", + service_name: "postgresql V11.1", + request_count: 4 + }, + { + cover: + "/apaas/static/docs/image/image/blob_206e8a81-6698-4946-9988-815d345f7f2f.blob", + service_name: "CAS单点登录 V1.0", + request_count: 2 + } + ], // 服务调用排名分析 + toplistTargetValue: 40, // 服务调用排名分析 目标值 + commentlistData: [ + { + picture_path: + "/apaas/static/docs/image/image/blob_206e8a81-6698-4946-9988-815d345f7f2f.blob", + user_name: "孤独的狼", + add_time: "2020-08-01 19:00:00", + score: 4, + message: "这个应用非常实用,可以应用到多个业务领域!" + }, + { + picture_path: + "/apaas/static/docs/image/image/blob_206e8a81-6698-4946-9988-815d345f7f2f.blob", + user_name: "大锤", + add_time: "2020-08-01 19:00:00", + score: 4, + message: "这个应用非常实用,可以应用到多个业务领域!" + }, + { + picture_path: + "/apaas/static/docs/image/image/blob_206e8a81-6698-4946-9988-815d345f7f2f.blob", + user_name: "阿水", + add_time: "2020-08-01 19:00:00", + score: 3, + message: "这个应用非常实用,可以应用到多个业务领域!" + }, + { + picture_path: + "/apaas/static/docs/image/image/blob_206e8a81-6698-4946-9988-815d345f7f2f.blob", + user_name: "孤独的狼", + add_time: "2020-08-01 19:00:00", + score: 4, + message: "这个应用非常实用,可以应用到多个业务领域!" + }, + { + picture_path: + "/apaas/static/docs/image/image/blob_206e8a81-6698-4946-9988-815d345f7f2f.blob", + user_name: "孤独的狼", + add_time: "2020-08-01 19:00:00", + score: 4, + message: "这个应用非常实用,可以应用到多个业务领域!" + } + ], // 服务评价 linelistData: [ { count: 6, @@ -422,28 +686,67 @@ export default { ], // 服务评分 starlistTotal: 15, hotSearchHeader: [], // 热门搜索 表头 - hotSearchData: [], // 热门搜索 数据 + hotSearchData: [ + { + id: 1, + hotIndex: 1, + name: "地图视频融合服务", + count: 9964, + increases: 568 + }, + { + id: 1, + hotIndex: 2, + name: "消息队列服务", + count: 8964, + increases: 528 + }, + { + id: 1, + hotIndex: 3, + name: "即时通讯服务", + count: 7864, + increases: 89 + }, + { + id: 1, + hotIndex: 4, + name: "即时通讯服务这里最多显示十五字地图视频融合服务", + count: 4964, + increases: -8 + }, + { + id: 1, + hotIndex: 5, + name: "即时通讯服务这里最多显示十五字地图视频融合服务", + count: 3364, + increases: -18 + } + ], // 热门搜索 数据 graph_arr: { legend: { - data: [] + data: ["被调用次数", "调用次数"] }, - data: [], - series: [{ data: [] }, { data: [] }] + data: ["07-01", "07-02", "07-03", "07-04", "07-05", "07-06", "07-07"], + series: [ + { name: "被调用次数", data: [300, 350, 366, 280, 320, 450, 366] }, + { name: "调用次数", data: [400, 350, 280, 480, 520, 500, 222] } + ] }, - topology_datas: {} + topology_datas: { } }), mounted() { - this.getServiceOverview(); - this.getServiceHealth(); - this.getServiceTrend(); - this.getServiceType(); - this.getServiceSectorse(); - this.getServiceOrg(); - this.getServiceOpenness(); - this.getServiceRequest(); - this.getServiceOnlineState(); - this.getServiceEstimated(); - this.getServiceHotSearch(); + // this.getServiceOverview(); + // this.getServiceHealth(); + // this.getServiceTrend(); + // this.getServiceType(); + // this.getServiceSectorse(); + // this.getServiceOrg(); + // this.getServiceOpenness(); + // this.getServiceRequest(); + // this.getServiceOnlineState(); + // this.getServiceEstimated(); + // this.getServiceHotSearch(); this.hotSearchHeader = [ { label: "服务排名", @@ -474,33 +777,46 @@ export default { this.getTopologyData(); }, methods: { - getServiceHotSearch(){ + getServiceHotSearch() { this.$api.dataAnalysis.getServiceHotSearch().then(response => { if (response.data.success == 1) { - let data = response.data.data + let data = response.data.data; this.sparkline1 = { - num:data.search_user.count, - up:data.trend=='up'?data.search_user.per:data.trend=='down'?0-data.search_user.per:data.search_user.per, - arr:data.search_user_trend.seriesData - } + num: data.search_user.count, + up: + data.trend == "up" + ? data.search_user.per + : data.trend == "down" + ? 0 - data.search_user.per + : data.search_user.per, + arr: data.search_user_trend.seriesData + }; this.sparkline2 = { - num:data.search_user_avg.count, - up:data.trend=='up'?data.search_user_avg.per:data.trend=='down'?0-data.search_user_avg.per:data.search_user_avg.per, - arr:data.search_user_avg_trend.seriesData - } + num: data.search_user_avg.count, + up: + data.trend == "up" + ? data.search_user_avg.per + : data.trend == "down" + ? 0 - data.search_user_avg.per + : data.search_user_avg.per, + arr: data.search_user_avg_trend.seriesData + }; // top5_rank - this.hotSearchData = [] - if(data.top5_rank&&data.top5_rank.length){ - data.top5_rank.forEach((e,idx) => { - this.hotSearchData.push( - { - id:e.service_id, - hotIndex: top_rank, - name: e.service_name, - count: e.search_count, - increases: e.trend=='up'?e.search_user.per:e.trend=='down'?0-e.search_user.per:e.search_user.per - } - ) + this.hotSearchData = []; + if (data.top5_rank && data.top5_rank.length) { + data.top5_rank.forEach((e, idx) => { + this.hotSearchData.push({ + id: e.service_id, + hotIndex: top_rank, + name: e.service_name, + count: e.search_count, + increases: + e.trend == "up" + ? e.search_user.per + : e.trend == "down" + ? 0 - e.search_user.per + : e.search_user.per + }); }); } } @@ -611,35 +927,718 @@ export default { }); }, detailHotSearch(item) { - this.$router.push('/fwgl/0/0/servicedetail/'+item.id) + this.$router.push("/fwgl/0/0/servicedetail/" + item.id); + }, + changeServeiceSpChangeBtn(val) { + if (val === 0) { + this.serviceSpData = { + xAxisData: [ + "07-01", + "07-02", + "07-03", + "07-04", + "07-05", + "07-06", + "07-07", + "07-08", + "07-09", + "07-10", + "07-11", + "07-12", + "07-13", + "07-14" + ], + seriesData: [ + { + name: "已审批", + data: [ + 300, + 400, + 350, + 280, + 480, + 520, + 500, + 460, + 300, + 400, + 350, + 280, + 480, + 520, + 500, + 460 + ] + }, + { + name: "未审批", + data: [ + 300, + 350, + 400, + 280, + 320, + 450, + 400, + 350, + 300, + 350, + 400, + 280, + 320, + 450, + 400, + 350 + ] + } + ] + }; + } else { + this.serviceSpData = { + xAxisData: [ + "07-01", + "07-02", + "07-03", + "07-04", + "07-05", + "07-06", + "07-07", + "07-08", + "07-09", + "07-10", + "07-11", + "07-12", + "07-13", + "07-14", + "07-15", + "07-16", + "07-17", + "07-18", + "07-19", + "07-20", + "07-21", + "07-22", + "07-23", + "07-24", + "07-25", + "07-26", + "07-27", + "07-28", + "07-29", + "07-30" + ], + seriesData: [ + { + name: "已审批", + data: [ + 300, + 400, + 350, + 280, + 480, + 520, + 500, + 460, + 300, + 400, + 350, + 280, + 480, + 520, + 500, + 460, + 300, + 350, + 400, + 280, + 320, + 450, + 400, + 350, + 300, + 350, + 400, + 280, + 320, + 450, + 400, + 350 + ] + }, + { + name: "未审批", + data: [ + 300, + 350, + 400, + 280, + 320, + 450, + 400, + 350, + 300, + 350, + 400, + 280, + 320, + 450, + 400, + 350, + 300, + 400, + 350, + 280, + 480, + 520, + 500, + 460, + 300, + 400, + 350, + 280, + 480, + 520, + 500, + 460 + ] + } + ] + }; + } }, changeServiceTypeBtn(index) { - this.left_2_state = index; - this.getServiceType(); + if (index === 0) { + this.mult_data = [ + { name: "数据服务", value: 22 }, + { name: "时空服务", value: 12 }, + { name: "视频服务", value: 14 }, + { name: "感知服务", value: 14 }, + { name: "综合服务", value: 1 } + ]; + } else { + this.mult_data = [ + { name: "数据服务", value: 12 }, + { name: "时空服务", value: 15 }, + { name: "视频服务", value: 13 }, + { name: "感知服务", value: 13 }, + { name: "综合服务", value: 1 } + ]; + } + // this.left_2_state = index; + // this.getServiceType(); }, changeApplicationFieldBtn(index) { - this.left_3_state = index; - this.getServiceSectorse(); + if (index === 0) { + this.bar_data = { + legendData: ["经济建设", "城市建设", "道路交通", "环境资源", "其他"], + seriesData: [322, 454, 566, 399, 222, 167] + }; + } else { + this.bar_data = { + legendData: ["经济建设", "城市建设", "道路交通", "环境资源", "其他"], + seriesData: [422, 254, 366, 299, 422, 267] + }; + } + // this.left_3_state = index; + // this.getServiceSectorse(); }, changeServeiceApplyCountBtn(index) { - this.right_0_state = index; - this.getServiceRequest(); + if (index === 0) { + this.toplistData = [ + { + cover: + "/apaas/static/docs/image/image/blob_206e8a81-6698-4946-9988-815d345f7f2f.blob", + service_name: "postgresql V11.1", + request_count: 30 + }, + { + cover: + "/apaas/static/docs/image/image/blob_206e8a81-6698-4946-9988-815d345f7f2f.blob", + service_name: "钉钉 V1.0", + request_count: 22 + }, + { + cover: + "/apaas/static/docs/image/image/blob_206e8a81-6698-4946-9988-815d345f7f2f.blob", + service_name: "易智瑞 V11.3", + request_count: 21 + }, + { + cover: + "/apaas/static/docs/image/image/blob_206e8a81-6698-4946-9988-815d345f7f2f.blob", + service_name: "CAS单点登录 V1.0", + request_count: 18 + }, + { + cover: + "/apaas/static/docs/image/image/blob_206e8a81-6698-4946-9988-815d345f7f2f.blob", + service_name: "postgresql V11.1", + request_count: 15 + }, + { + cover: + "/apaas/static/docs/image/image/blob_206e8a81-6698-4946-9988-815d345f7f2f.blob", + service_name: "CAS单点登录 V1.0", + request_count: 12 + }, + { + cover: + "/apaas/static/docs/image/image/blob_206e8a81-6698-4946-9988-815d345f7f2f.blob", + service_name: "postgresql V11.1", + request_count: 10 + }, + { + cover: + "/apaas/static/docs/image/image/blob_206e8a81-6698-4946-9988-815d345f7f2f.blob", + service_name: "CAS单点登录 V1.0", + request_count: 8 + }, + { + cover: + "/apaas/static/docs/image/image/blob_206e8a81-6698-4946-9988-815d345f7f2f.blob", + service_name: "postgresql V11.1", + request_count: 6 + }, + { + cover: + "/apaas/static/docs/image/image/blob_206e8a81-6698-4946-9988-815d345f7f2f.blob", + service_name: "CAS单点登录 V1.0", + request_count: 6 + }, + { + cover: + "/apaas/static/docs/image/image/blob_206e8a81-6698-4946-9988-815d345f7f2f.blob", + service_name: "postgresql V11.1", + request_count: 4 + }, + { + cover: + "/apaas/static/docs/image/image/blob_206e8a81-6698-4946-9988-815d345f7f2f.blob", + service_name: "CAS单点登录 V1.0", + request_count: 2 + } + ]; + } else { + this.toplistData = [ + { + cover: + "/apaas/static/docs/image/image/blob_206e8a81-6698-4946-9988-815d345f7f2f.blob", + service_name: "postgresql V11.1", + request_count: 35 + }, + { + cover: + "/apaas/static/docs/image/image/blob_206e8a81-6698-4946-9988-815d345f7f2f.blob", + service_name: "钉钉 V1.0", + request_count: 30 + }, + { + cover: + "/apaas/static/docs/image/image/blob_206e8a81-6698-4946-9988-815d345f7f2f.blob", + service_name: "易智瑞 V11.3", + request_count: 27 + }, + { + cover: + "/apaas/static/docs/image/image/blob_206e8a81-6698-4946-9988-815d345f7f2f.blob", + service_name: "CAS单点登录 V1.0", + request_count: 25 + }, + { + cover: + "/apaas/static/docs/image/image/blob_206e8a81-6698-4946-9988-815d345f7f2f.blob", + service_name: "postgresql V11.1", + request_count: 15 + }, + { + cover: + "/apaas/static/docs/image/image/blob_206e8a81-6698-4946-9988-815d345f7f2f.blob", + service_name: "CAS单点登录 V1.0", + request_count: 12 + }, + { + cover: + "/apaas/static/docs/image/image/blob_206e8a81-6698-4946-9988-815d345f7f2f.blob", + service_name: "postgresql V11.1", + request_count: 11 + }, + { + cover: + "/apaas/static/docs/image/image/blob_206e8a81-6698-4946-9988-815d345f7f2f.blob", + service_name: "CAS单点登录 V1.0", + request_count: 10 + }, + { + cover: + "/apaas/static/docs/image/image/blob_206e8a81-6698-4946-9988-815d345f7f2f.blob", + service_name: "postgresql V11.1", + request_count: 6 + }, + { + cover: + "/apaas/static/docs/image/image/blob_206e8a81-6698-4946-9988-815d345f7f2f.blob", + service_name: "CAS单点登录 V1.0", + request_count: 6 + }, + { + cover: + "/apaas/static/docs/image/image/blob_206e8a81-6698-4946-9988-815d345f7f2f.blob", + service_name: "postgresql V11.1", + request_count: 4 + }, + { + cover: + "/apaas/static/docs/image/image/blob_206e8a81-6698-4946-9988-815d345f7f2f.blob", + service_name: "CAS单点登录 V1.0", + request_count: 2 + } + ]; + } + // this.right_0_state = index; + // this.getServiceRequest(); }, changeServeiceInfoBtn(index) { this.right_3_state = index; - this.getServiceEstimated(); + // this.getServiceEstimated(); }, changeOpenessBtnindex(index) { - this.right_2_state = index; - this.getServiceOpenness(); + if (index === 1) { + this.single_data = { + num: 32, + color: "#25bdb1", + text: "共享" + }; + this.single_data1 = { + num: 28, + color: "#f5ab4c", + text: "受限" + }; + this.single_data2 = { + num: 30, + color: "#e15260", + text: "敏感" + }; + } else { + this.single_data = { + num: 42, + color: "#25bdb1", + text: "共享" + }; + this.single_data1 = { + num: 18, + color: "#f5ab4c", + text: "受限" + }; + this.single_data2 = { + num: 20, + color: "#e15260", + text: "敏感" + }; + } + // this.right_2_state = index; + // this.getServiceOpenness(); }, changeServiceCellBtn(index) { - this.right_1_state = index; - this.getServiceTrend(); + if (index === 0) { + this.graph_arr = { + legend: { + data: ["被调用次数", "调用次数"] + }, + data: ["07-01", "07-02", "07-03", "07-04", "07-05", "07-06", "07-07"], + series: [ + { name: "被调用次数", data: [300, 350, 366, 280, 320, 450, 366] }, + { name: "调用次数", data: [400, 350, 280, 480, 520, 500, 222] } + ] + }; + } else { + this.graph_arr = { + legend: { + data: ["被调用次数", "调用次数"] + }, + data: [ + "07-01", + "07-02", + "07-03", + "07-04", + "07-05", + "07-06", + "07-07", + "07-08", + "07-09", + "07-10", + "07-11", + "07-12", + "07-13", + "07-14", + "07-15", + "07-16", + "07-17", + "07-18", + "07-19", + "07-20", + "07-21", + "07-22", + "07-23", + "07-24", + "07-25", + "07-26", + "07-27", + "07-28", + "07-29", + "07-30" + ], + series: [ + { + name: "被调用次数", + data: [ + 300, + 350, + 366, + 280, + 320, + 450, + 366, + 400, + 350, + 280, + 480, + 520, + 500, + 222, + 300, + 350, + 366, + 280, + 320, + 450, + 366, + 400, + 350, + 280, + 480, + 520, + 500, + 222, + 333, + 444 + ] + }, + { + name: "调用次数", + data: [ + 400, + 350, + 280, + 480, + 520, + 500, + 222, + 300, + 350, + 366, + 280, + 320, + 450, + 366, + 400, + 350, + 280, + 480, + 520, + 500, + 222, + 333, + 444, + 400, + 350, + 280, + 480, + 520, + 500, + 222 + ] + } + ] + }; + } + + // this.right_1_state = index; + // this.getServiceTrend(); }, changeServeiceTotalChangeBtn(index) { - this.center_3_state = index; - this.getServiceOnlineState(); + if (index === 0) { + this.line_data = { + xAxisData: [ + "07-01", + "07-02", + "07-03", + "07-04", + "07-05", + "07-06", + "07-07", + "07-08", + "07-09", + "07-10", + "07-11", + "07-12", + "07-13", + "07-14" + ], + seriesData: [ + { + name: "上架中", + data: [ + 300, + 400, + 350, + 280, + 480, + 520, + 500, + 222, + 300, + 400, + 350, + 280, + 480, + 520, + 500, + 222 + ] + }, + { + name: "未上架", + data: [ + 300, + 350, + 366, + 280, + 320, + 450, + 366, + 350, + 300, + 350, + 366, + 280, + 320, + 450, + 366, + 350 + ] + } + ] + }; + } else { + this.line_data = { + xAxisData: [ + "07-01", + "07-02", + "07-03", + "07-04", + "07-05", + "07-06", + "07-07", + "07-08", + "07-09", + "07-10", + "07-11", + "07-12", + "07-13", + "07-14", + "07-15", + "07-16", + "07-17", + "07-18", + "07-19", + "07-20", + "07-21", + "07-22", + "07-23", + "07-24", + "07-25", + "07-26", + "07-27", + "07-28", + "07-29", + "07-30" + ], + seriesData: [ + { + name: "上架中", + data: [ + 300, + 400, + 350, + 280, + 480, + 520, + 500, + 222, + 300, + 400, + 350, + 280, + 480, + 520, + 500, + 222, + 300, + 350, + 366, + 280, + 320, + 450, + 366, + 350, + 300, + 350, + 366, + 280, + 320, + 450 + ] + }, + { + name: "未上架", + data: [ + 300, + 350, + 366, + 280, + 320, + 450, + 366, + 350, + 300, + 350, + 366, + 280, + 320, + 450, + 366, + 350, + 300, + 400, + 350, + 280, + 480, + 520, + 500, + 222, + 300, + 400, + 350, + 280, + 480, + 520 + ] + } + ] + }; + } + // this.center_3_state = index; + // this.getServiceOnlineState(); }, getTopologyData() { this.$api.workbench.getServiceTopology().then(response => { @@ -647,12 +1646,25 @@ export default { }); }, changeServiceStateBtn(index) { - this.left_1_state = index; - if (index == 0) { - this.getServiceHealth(); + if (index === 0) { + this.mult_data_state = [ + { name: "正常", value: 22 }, + { name: "警告", value: 12 }, + { name: "错误", value: 14 }, + { name: "未使用", value: 19 } + ]; } else { - this.a(); + this.mult_data_state = [ + { name: "已调用", value: 33 }, + { name: "未调用", value: 23 } + ]; } + // this.left_1_state = index; + // if (index == 0) { + // this.getServiceHealth(); + // } else { + // this.a(); + // } } } }; diff --git a/src/pages/data-analysis/operation-overview.vue b/src/pages/data-analysis/operation-overview.vue index ca7d11d170bf94ebe19bc6d9eac8b694aeff4afd..89debf7d70baeacce372ddef4999b5eb3e6cca09 100644 --- a/src/pages/data-analysis/operation-overview.vue +++ b/src/pages/data-analysis/operation-overview.vue @@ -1,13 +1,559 @@ + diff --git a/src/pages/data-analysis/service-control.vue b/src/pages/data-analysis/service-control.vue index 1d1ec49846c6e5f6693445fc5a752dc7f926038f..9d48c36120691d4dafa50656f45e72fc6b5a5010 100644 --- a/src/pages/data-analysis/service-control.vue +++ b/src/pages/data-analysis/service-control.vue @@ -1,13 +1,586 @@ + +