diff --git a/src/App.vue b/src/App.vue index bfd3f35..69b3a0f 100644 --- a/src/App.vue +++ b/src/App.vue @@ -213,10 +213,10 @@ import {getData} from './api/index.js' #app { // width: 6144px; // height: 1920px; - background: rgba(1, 1, 7, 0); + background: rgba(1, 1, 7, 0.7); // overflow: hidden; .header { - height: 15%; + height: 10%; width: 100%; display: flex; justify-content: space-between; @@ -226,7 +226,7 @@ import {getData} from './api/index.js' background-size: 100% 100%; color: #fff; .left { - width: 26%; + width: 25%; height: 38%; display: flex; align-items: center; @@ -243,7 +243,7 @@ import {getData} from './api/index.js' letter-spacing: 0.5rem; } .right { - width: 26%; + width: 25%; height: 100%; .quit { @@ -286,7 +286,7 @@ import {getData} from './api/index.js' } .menu { width: 100%; - height: 12%; + height: 7%; position: absolute; bottom: 0; left: 0; @@ -323,7 +323,7 @@ import {getData} from './api/index.js' } } .content { - height: calc(100% - 15%); + height: calc(100% - 10%); width: 100%; } } diff --git a/src/views/court.vue b/src/views/court.vue index ab29182..614c609 100644 --- a/src/views/court.vue +++ b/src/views/court.vue @@ -4,35 +4,73 @@
智慧法庭
+
+
{{ item.name }}
-
{{ item.name }}
-
- {{ item.count }} -
+ {{ item.count }} +
-
- 案件统计 -
-
+
案件统计
+
+ + + + + + + + +
+
+
+
+
案件类型统计
+
+
+
+
-
-
+
+
案件列表
+
+
+
+
+
+
+
@@ -41,7 +79,7 @@ export default { name: "court", data() { return { - courtList: [ + courtList: [ { name: "空闲中", count: "7", @@ -59,11 +97,468 @@ export default { count: "86", }, ], // 智慧法庭小房子 - houseList: ["blueHouse", "redHouse", "yellowHouse","orangeHouse"], + houseList: ["blueHouse", "redHouse", "yellowHouse", "orangeHouse"], + userValue:'', //人员选择 + userOptions:[ + { + label:'人员', + value:'1' + }, + { + label:'人员2', + value:'2' + } + ],//人员子项 + departmentValue:'', //部门选择 + departmentOptions:[ + { + label:'部门', + value:'1' + }, + { + label:'部门2', + value:'2' + } + ], //部门子项 + selectList:[ + { + name:'', + list:[ + { + label: + } + ] + } + ] }; }, - mounted() {}, - methods: {}, + mounted() { + this.caseEcharts(); + this.caseTypeLeft(); + this.caseTypeRight(); + }, + methods: { + caseEcharts() { + var myChart = this.$echarts.init(document.getElementById("caseEcharts")); + let option = { + tooltip: { + trigger: "item", + axisPointer: { + type: "item", + crossStyle: { + color: "#999", + }, + }, + }, + legend: { + icon: "rect", + bottom:0, + itemWidth: 15, + data: ["收案", "结案", "存案"], + textStyle: { + color: "#fff", + fontSize: "0.5rem", + }, + }, + grid: { + left: "3%", + right: "4%", + bottom: "15%", + top: "25%", + containLabel: true, + }, + xAxis: [ + { + type: "category", + data: ["一季度", "二季度", "三季度", "四季度"], + //x轴坐标点 + axisTick: { + show: true, + lineStyle: { + color: "#fff", + }, + }, + //x轴坐标线样式 + axisLine: { + show: true, + lineStyle: { + color: "#fff", + }, + }, + axisLabel: { + color: "#fff", + fontSize: "0.5rem", + }, + //x轴线 + splitLine: { + show: false, + lineStyle: { + type: [5, 10], + dashOffset: 10, + color: "#1282C8", + }, + }, + }, + ], + yAxis: [ + { + type: "value", + name: "次", + //x轴坐标点 + axisTick: { + show: false, + lineStyle: { + color: "#fff", + }, + }, + //x轴坐标线样式 + axisLine: { + show: true, + lineStyle: { + color: "#fff", + }, + }, + axisLabel: { + color: "#fff", + fontSize: "0.5rem", + }, + //x轴线 + splitLine: { + show: true, + lineStyle: { + type: '', + dashOffset: 10, + color: "rgb(108,108,109)", + }, + }, + }, + ], + series: [ + { + name: "收案", + type: "bar", + data: [22, 30, 50, 10], + itemStyle: { + //定义柱子的样式 + // color:params=>color[params.dataIndex],//定义每根柱子的不同颜色(不渐变) + //不同柱子颜色渐变 + color: (params) => ({ + type: "linear", + x: 0, + y: 0, + x2: 0, + y2: 1, + colorStops: [ + { + offset: 0, + color: "rgba(84,112,198,1)", // 柱子最高度% 处的颜色 + }, + { + offset: 1, + color: "rgba(84,112,198,0)", // X轴处的颜色 + }, + ], + global: false, // 缺省为 false + }), + }, + label: { + normal: { + show: true, + fontSize: "0.4rem", + color: "#fff", + position: "top", + }, + }, + }, + { + name: "结案", + type: "bar", + data: [20, 34, 20, 30], + itemStyle: { + //定义柱子的样式 + // color:params=>color[params.dataIndex],//定义每根柱子的不同颜色(不渐变) + //不同柱子颜色渐变 + color: (params) => ({ + type: "linear", + x: 0, + y: 0, + x2: 0, + y2: 1, + colorStops: [ + { + offset: 0, + color: "rgba(145,204,117,1)", // 柱子最高度% 处的颜色 + }, + { + offset: 1, + color: "rgba(145,204,117,0)", // X轴处的颜色 + }, + ], + global: false, // 缺省为 false + }), + }, + label: { + normal: { + show: true, + fontSize: "0.4rem", + color: "#fff", + position: "top", + }, + }, + }, + { + name: "存案", + type: "bar", + data: [12, 40, 20, 10], + itemStyle: { + //定义柱子的样式 + // color:params=>color[params.dataIndex],//定义每根柱子的不同颜色(不渐变) + //不同柱子颜色渐变 + color: (params) => ({ + type: "linear", + x: 0, + y: 0, + x2: 0, + y2: 1, + colorStops: [ + { + offset: 0, + color: "rgba(250,200,88,1)", // 柱子最高度% 处的颜色 + }, + { + offset: 1, + color: "rgba(250,200,88,0)", // X轴处的颜色 + }, + ], + global: false, // 缺省为 false + }), + }, + label: { + normal: { + show: true, + fontSize: "0.4rem", + color: "#fff", + position: "top", + }, + }, + }, + ], + }; + myChart.setOption(option); + }, + caseTypeLeft(){ + var myChart = this.$echarts.init(document.getElementById("caseTypeLeft")); + var data = [ + { value: "25", name: "民事案件" }, + { value: "25", name: "行政案件" }, + { value: "25", name: "刑事案件" }, + { value: "25", name: "其他案件" }, + ]; + var color = ["rgb(185,8,25)", "rgb(160,87,6)", "rgb(16,134,165)", "rgb(178,178,178)"]; + let option = { + color: color, + title: { + left: "43%", + top: "40%", + textAlign: "center", + text: "当月统计", + textStyle: { + fontSize: "0.8rem", + color: "#fff", + }, + }, + tooltip: { + trigger: "item", + backgroundColor: "rgba(0,0,0,0.5)", + color: "#ffffff", + formatter: function (params) { + return ( + // params.name + + // "
" + + params.marker + + '' + + params.data["name"] + + "\n" + + params.data["value"] + + "%" + + "" + ); + }, + }, + legend: { + orient: "horizontal", + icon: "rect", + bottom: "0", + x:'center', + itemWidth: 30, + itemGap: 20, + textStyle: { + rich: { + a: { + color: "#fff", + fontSize: "0.4rem", + padding: [0, 10, 0, 0], + }, + b: { + color: "rgba(255,255,255,0)", + fontSize: "0.1rem", + padding: [0, 10, 0, 10], + }, + }, + }, + formatter: function (name) { + var target, unit; + for (var i = 0, l = data.length; i < l; i++) { + if (data[i].name == name) { + target = data[i].value; + unit = data[i].unit; + } + } + return `{a| ${name}}{b|${target}}`; + }, + }, + series: [ + { + name: "", + type: "pie", + radius: ["45%", "60%"], + center: ["45%", "45%"], + avoidLabelOverlap: true, + label: { + normal: { + show: true, + position: "outside", + formatter: "{d}", + textStyle: { + align: "center", + baseline: "middle", + fontSize: "0.5rem", + fontWeight: "100", + color: "auto", + }, + }, + }, + labelLine: { + show: true, + length: 20, + length2: 10, + }, + + data: data, + }, + ], + }; + myChart.setOption(option); + }, + caseTypeRight(){ + var myChart = this.$echarts.init(document.getElementById("caseTypeRight")); + var data = [ + { value: "25", name: "民事案件" }, + { value: "25", name: "行政案件" }, + { value: "25", name: "刑事案件" }, + { value: "25", name: "其他案件" }, + ]; + var color = ["rgb(185,8,25)", "rgb(160,87,6)", "rgb(16,134,165)", "rgb(178,178,178)"]; + let option = { + color: color, + title: { + left: "43%", + top: "40%", + textAlign: "center", + text: "第一季度统计", + textStyle: { + fontSize: "0.8rem", + color: "#fff", + }, + }, + tooltip: { + trigger: "item", + backgroundColor: "rgba(0,0,0,0.5)", + color: "#ffffff", + formatter: function (params) { + return ( + // params.name + + // "
" + + params.marker + + '' + + params.data["name"] + + "\n" + + params.data["value"] + + "%" + + "" + ); + }, + }, + legend: { + orient: "horizontal", + icon: "rect", + bottom: "0", + x:'center', + itemWidth: 30, + itemGap: 20, + textStyle: { + rich: { + a: { + color: "#fff", + fontSize: "0.4rem", + padding: [0, 10, 0, 0], + }, + b: { + color: "rgba(255,255,255,0)", + fontSize: "0.1rem", + padding: [0, 10, 0, 10], + }, + }, + }, + formatter: function (name) { + var target, unit; + for (var i = 0, l = data.length; i < l; i++) { + if (data[i].name == name) { + target = data[i].value; + unit = data[i].unit; + } + } + return `{a| ${name}}{b|${target}}`; + }, + }, + series: [ + { + name: "", + type: "pie", + radius: ["45%", "60%"], + center: ["45%", "45%"], + avoidLabelOverlap: true, + label: { + normal: { + show: true, + position: "outside", + formatter: "{d}", + textStyle: { + align: "center", + baseline: "middle", + fontSize: "0.5rem", + fontWeight: "100", + color: "auto", + }, + }, + }, + labelLine: { + show: true, + length: 20, + length2: 10, + }, + + data: data, + }, + ], + }; + myChart.setOption(option); + }, + }, watch: {}, components: {}, }; @@ -79,7 +574,7 @@ export default { padding: 0 0.3% 0 0.3%; box-sizing: border-box; .left { - width: 25.5%; + width: 24.7%; height: 95%; padding: 0.5% 0.3% 1% 0.3%; box-sizing: border-box; @@ -89,52 +584,52 @@ export default { background-size: 100% 100%; .leftOne { width: 100%; - height: 25%; + height: 20%; .courtHouse { - height: calc(100% - 30%); + height: calc(100% - 20%); width: 100%; display: flex; - flex-wrap: nowrap; - justify-content: space-around; + flex-wrap: nowrap; + justify-content: space-around; + align-items: center; + .courtData { + display: flex; + flex-direction: column; align-items: center; - .courtData{ + height: 61%; + width: 13%; + .blueHouse { + background: url(../assets/images/blueHouse.png) no-repeat; + background-size: 100% 100%; display: flex; - flex-direction: column; align-items: center; - height: 85%; - width: 12%; - .blueHouse { - background: url(../assets/images/blueHouse.png) no-repeat; - background-size: 100% 100%; - display: flex; - align-items: center; - justify-content: center; - margin-top: 10%; - } - .redHouse { - background: url(../assets/images/redHouse.png) no-repeat; - background-size: 100% 100%; - display: flex; - align-items: center; - justify-content: center; - margin-top: 10%; - } - .yellowHouse { - background: url(../assets/images/yellowHouse.png) no-repeat; - background-size: 100% 100%; - display: flex; - align-items: center; - justify-content: center; - margin-top: 10%; - } - .orangeHouse { - background: url(../assets/images/orangeHouse.png) no-repeat; - background-size: 100% 100%; - display: flex; - align-items: center; - justify-content: center; - margin-top: 10%; - } + justify-content: center; + margin-top: 10%; + } + .redHouse { + background: url(../assets/images/redHouse.png) no-repeat; + background-size: 100% 100%; + display: flex; + align-items: center; + justify-content: center; + margin-top: 10%; + } + .yellowHouse { + background: url(../assets/images/yellowHouse.png) no-repeat; + background-size: 100% 100%; + display: flex; + align-items: center; + justify-content: center; + margin-top: 10%; + } + .orangeHouse { + background: url(../assets/images/orangeHouse.png) no-repeat; + background-size: 100% 100%; + display: flex; + align-items: center; + justify-content: center; + margin-top: 10%; + } } } } @@ -142,20 +637,70 @@ export default { width: 100%; height: 35%; position: relative; - #caseEcharts{ + .select{ + position: absolute; + right: 5%; + width: 45%; + height: 10%; + display: flex; + z-index: 999; + /deep/ .el-select { width: 100%; - height: calc(100% - 16%); - border: 1px solid blue; + height: 100%; + border-radius: 15px; + } + /deep/ .el-input__inner { + width: 100%; + height: 100%; + background: transparent; + border: 1px solid rgb(1, 176, 202); + border-radius: 15px; + color: #fff; + } + /deep/ .el-select-dropdown { + background: transparent; + border: 1px solid rgb(1, 176, 202); + border-radius: 5px; + left: -30px !important; + } + /deep/ .el-select-dropdown__item { + color: turquoise; + } + /deep/ .el-select .el-input .el-select__caret { + color: rgb(1, 176, 202); + font-size: 0.3rem; + font-weight: 500; + } + /deep/ .el-input__suffix { + display: flex; + align-items: center; + } + } + #caseEcharts { + width: 100%; + height: calc(100% - 16%); } } .leftThree { width: 100%; height: 40%; - border: 1px solid white; + .caseType{ + height: calc(100% - 8%); + width: 100%; + display: flex; + #caseTypeLeft{ + width: 50%; + height: 100%; + } + #caseTypeRight{ + width: 50%; + height: 100%; + } + } } } .right { - width: 25.5%; + width: 24.7%; height: 95%; padding: 0.5% 0.3% 1% 0.3%; box-sizing: border-box; @@ -163,23 +708,41 @@ export default { flex-wrap: wrap; background: url(../assets/images/leftKuang.png) no-repeat; background-size: 100% 100%; + .caseList{ + width: 100%; + height: calc(100% - 5%); + border: 1px solid red; + display: flex; + flex-wrap: wrap; + .selectList{ + width: 100%; + height: 20%; + border: 1px solid rgb(0, 255, 170); + position: relative; + } + .caseDetail{ + width: 100%; + height: calc(100% - 20%); + border: 1px solid blue; + } + } } } .title { width: 100%; - height: 30%; + height: 20%; background: url("../assets/images/title.png") no-repeat; background-size: 100% 100%; color: #fff; - font-size: 0.7rem; + font-size: 0.8rem; display: flex; align-items: center; padding-left: 12%; box-sizing: border-box; } -.caseTitle{ +.caseTitle { width: 23%; - height: 10%; + height: 5%; background: url("../assets/images/faTingImg/anjianTitle.png") no-repeat; background-size: 100% 100%; color: #fff; @@ -187,7 +750,6 @@ export default { display: flex; align-items: center; padding-left: 5%; - box-sizing: border-box; - margin-top: 2%; + box-sizing: border-box; } \ No newline at end of file diff --git a/src/views/index.vue b/src/views/index.vue index 62a03c1..73ec33a 100644 --- a/src/views/index.vue +++ b/src/views/index.vue @@ -30,7 +30,7 @@ v-for="(item, index) in wisdomMonArr" :key="index" > -
+
{{ item.name }}: {{ item.count @@ -41,7 +41,7 @@
-
设备预警
+
设备告警
@@ -50,7 +50,7 @@
- 报警信息列表
@@ -74,7 +74,7 @@ >
{{ item.id }} - +
报警原因:{{ item.cause }} - 风险等级:{{ item.risk }}
@@ -104,11 +104,10 @@
-
运维管理
+
运维管理
- 当日
+ 当日 报警数:8
@@ -133,7 +133,6 @@
- 统计
+ 统计 派单数:8
@@ -185,7 +185,7 @@
-
摄像监控
+
摄像监控