Merge branch 'dev'
Showing
16 changed files
with
569 additions
and
480 deletions
| 1 | ### | 1 | ### |
| 2 | # @Description: | 2 | # @Description: |
| 3 | # @Autor: renchao | 3 | # @Autor: renchao |
| 4 | # @LastEditTime: 2023-05-15 10:37:45 | 4 | # @LastEditTime: 2023-05-29 10:26:00 |
| 5 | ENV = 'development' | 5 | ENV = 'development' |
| 6 | NODE_ENV=development | 6 | NODE_ENV=development |
| 7 | # base api | 7 | # base api |
| 8 | VUE_APP_BASE_API = '/api' | 8 | VUE_APP_BASE_API = '/api' |
| 9 | 9 | ||
| 10 | # 开发环境 | 10 | # 开发环境 |
| 11 | VUE_APP_API_BASE_URL = 'http://192.168.2.38:8026' | 11 | VUE_APP_API_BASE_URL = 'http://192.168.2.38:8027' | ... | ... |
| ... | @@ -61,6 +61,18 @@ class work { | ... | @@ -61,6 +61,18 @@ class work { |
| 61 | } | 61 | } |
| 62 | }) | 62 | }) |
| 63 | } | 63 | } |
| 64 | // 新建国有房屋信息 | ||
| 65 | // /bdcsjsb/rest/reg/work/qxmrjrsb | ||
| 66 | async qxmrjrsb (code) { | ||
| 67 | return request({ | ||
| 68 | url: SERVER.SERVERAPI + '/rest/reg/work/qxmrjrsb', | ||
| 69 | method: 'get', | ||
| 70 | params: { | ||
| 71 | code: code | ||
| 72 | } | ||
| 73 | }) | ||
| 74 | } | ||
| 75 | |||
| 64 | // 地图区县成功失败统计,code区县编码,汉中为:A20 | 76 | // 地图区县成功失败统计,code区县编码,汉中为:A20 |
| 65 | async submitViews (code) { | 77 | async submitViews (code) { |
| 66 | return request({ | 78 | return request({ | ... | ... |
| 1 | /* | 1 | /* |
| 2 | * @Description: | 2 | * @Description: |
| 3 | * @Autor: renchao | 3 | * @Autor: renchao |
| 4 | * @LastEditTime: 2023-03-27 09:53:16 | 4 | * @LastEditTime: 2023-05-29 09:36:27 |
| 5 | */ | 5 | */ |
| 6 | import dialogBox from '@/components/DialogBox' | 6 | import dialogBox from '@/components/DialogBox' |
| 7 | import LbTable from '@/components/LbTable' | 7 | import LbTable from '@/components/LbTable' |
| 8 | import Breadcrumb from "@/components/Breadcrumb.vue"; | 8 | import Breadcrumb from "@/components/Breadcrumb.vue"; |
| 9 | // 引入按钮 | 9 | // 引入按钮 |
| 10 | import btn from '@/components/Button.vue' | 10 | import btn from '@/components/Button.vue' |
| 11 | import Popup from '@/components/Popup/index' | ||
| 12 | import MessageBox from '@/components/MessageBox/index.js' | 11 | import MessageBox from '@/components/MessageBox/index.js' |
| 13 | export default { | 12 | export default { |
| 14 | install: (Vue) => { | 13 | install: (Vue) => { | ... | ... |
| 1 | <!-- | 1 | <!-- |
| 2 | * @Description :自然幢表单组件 | 2 | * @Description :自然幢表单组件 |
| 3 | * @Autor : miaofang | 3 | * @Autor : miaofang |
| 4 | * @LastEditTime : 2023-05-17 17:09:45 | 4 | * @LastEditTime: 2023-05-29 10:30:46 |
| 5 | --> | 5 | --> |
| 6 | <template> | 6 | <template> |
| 7 | <div class="naturalBuilding itemForm"> | 7 | <div class="naturalBuilding itemForm"> | ... | ... |
| ... | @@ -3,43 +3,51 @@ | ... | @@ -3,43 +3,51 @@ |
| 3 | </template> | 3 | </template> |
| 4 | 4 | ||
| 5 | <script> | 5 | <script> |
| 6 | import Chart from './Chart' | 6 | import Chart from './Chart' |
| 7 | import work from "@/api/work"; | 7 | import work from "@/api/work"; |
| 8 | export default { | 8 | export default { |
| 9 | data () { | 9 | data () { |
| 10 | return { | 10 | return { |
| 11 | cdata: { | 11 | cdata: { |
| 12 | legendItem: ['接入', '上报', '登簿'], | 12 | timer: null, |
| 13 | color: [ | 13 | legendItem: ['接入', '上报', '登簿'], |
| 14 | "#02D9FD", | 14 | color: [ |
| 15 | "#FF7962", | 15 | "#02D9FD", |
| 16 | "#F5C03D " | 16 | "#FF7962", |
| 17 | ], | 17 | "#F5C03D " |
| 18 | echartData: [] | 18 | ], |
| 19 | } | 19 | echartData: [] |
| 20 | } | 20 | } |
| 21 | }, | ||
| 22 | components: { | ||
| 23 | Chart | ||
| 24 | }, | ||
| 25 | mounted() { | ||
| 26 | |||
| 27 | window.addEventListener("resize", () => { | ||
| 28 | this.dataTrend() | ||
| 29 | }); | ||
| 30 | this.dataTrend() | ||
| 31 | }, | ||
| 32 | methods: { | ||
| 33 | async dataTrend() { | ||
| 34 | try { | ||
| 35 | let { result: res } = await work.dataTrend(); | ||
| 36 | this.cdata.echartData = []; | ||
| 37 | this.cdata.echartData=res, | ||
| 38 | this.cdata.echartData.reverse() | ||
| 39 | } catch (error) { | ||
| 40 | console.log(error); | ||
| 41 | } | 21 | } |
| 42 | }, | 22 | }, |
| 43 | }, | 23 | components: { |
| 44 | } | 24 | Chart |
| 25 | }, | ||
| 26 | created () { | ||
| 27 | this.dataTrend() | ||
| 28 | this.timer = setInterval(() => { | ||
| 29 | this.dataTrend() | ||
| 30 | }, 10000) // 10s | ||
| 31 | }, | ||
| 32 | mounted () { | ||
| 33 | window.addEventListener("resize", () => { | ||
| 34 | this.dataTrend() | ||
| 35 | }); | ||
| 36 | }, | ||
| 37 | methods: { | ||
| 38 | async dataTrend () { | ||
| 39 | try { | ||
| 40 | let { result: res } = await work.dataTrend(); | ||
| 41 | this.cdata.echartData = []; | ||
| 42 | this.cdata.echartData = res, | ||
| 43 | this.cdata.echartData.reverse() | ||
| 44 | } catch (error) { | ||
| 45 | console.log(error); | ||
| 46 | } | ||
| 47 | }, | ||
| 48 | }, | ||
| 49 | destroyed () { | ||
| 50 | clearInterval(this.timer) | ||
| 51 | } | ||
| 52 | } | ||
| 45 | </script> | 53 | </script> | ... | ... |
| 1 | <!-- | ||
| 2 | * @Description: | ||
| 3 | * @Autor: renchao | ||
| 4 | * @LastEditTime: 2023-07-04 13:54:34 | ||
| 5 | --> | ||
| 1 | <template> | 6 | <template> |
| 2 | <!-- 登记类型总量 --> | 7 | <!-- 登记类型总量 --> |
| 3 | <Chart :cdata="cdata" /> | 8 | <Chart :cdata="cdata" /> |
| 4 | </template> | 9 | </template> |
| 5 | |||
| 6 | <script> | 10 | <script> |
| 7 | import Chart from "./Chart"; | 11 | import Chart from "./Chart"; |
| 8 | import work from "@/api/work"; | 12 | import work from "@/api/work"; |
| 9 | export default { | 13 | export default { |
| 10 | data () { | 14 | data () { |
| 11 | return { | 15 | return { |
| 12 | cdata: { | 16 | cdata: { |
| 13 | category: [], | 17 | timer: null, |
| 14 | lineData: [], | 18 | category: [], |
| 15 | }, | 19 | lineData: [] |
| 16 | }; | ||
| 17 | }, | ||
| 18 | components: { | ||
| 19 | Chart, | ||
| 20 | }, | ||
| 21 | mounted () { | ||
| 22 | this.getDjlxtotal(); | ||
| 23 | }, | ||
| 24 | methods: { | ||
| 25 | getDjlxtotal () { | ||
| 26 | return new Promise(async (resolve) => { | ||
| 27 | try { | ||
| 28 | let p = { | ||
| 29 | DJLX: "", | ||
| 30 | QLLX: "", | ||
| 31 | XZQDM: "", | ||
| 32 | }; | ||
| 33 | let res = await work.getDjlxtotal(p); | ||
| 34 | res.result.map((item) => { | ||
| 35 | return ( | ||
| 36 | this.cdata.category.push(item.AREACODE), | ||
| 37 | this.cdata.lineData.push(item.ywtotal) | ||
| 38 | ); | ||
| 39 | }); | ||
| 40 | } catch (error) { | ||
| 41 | this.$refs.msg.messageShow(); | ||
| 42 | } | 20 | } |
| 43 | }); | 21 | } |
| 22 | }, | ||
| 23 | components: { | ||
| 24 | Chart | ||
| 25 | }, | ||
| 26 | mounted () { | ||
| 27 | this.getDjlxtotal() | ||
| 28 | this.timer = setInterval(() => { | ||
| 29 | this.getDjlxtotal() | ||
| 30 | }, 10000) // 10s | ||
| 31 | }, | ||
| 32 | methods: { | ||
| 33 | getDjlxtotal () { | ||
| 34 | return new Promise(async (resolve) => { | ||
| 35 | try { | ||
| 36 | let p = { | ||
| 37 | DJLX: "", | ||
| 38 | QLLX: "", | ||
| 39 | XZQDM: "", | ||
| 40 | }; | ||
| 41 | let res = await work.getDjlxtotal(p) | ||
| 42 | this.cdata.category = res.result.map(item => item.AREACODE) | ||
| 43 | this.cdata.lineData = res.result.map(item => item.ywtotal) | ||
| 44 | } catch (error) { | ||
| 45 | this.$refs.msg.messageShow() | ||
| 46 | } | ||
| 47 | }) | ||
| 48 | } | ||
| 49 | }, | ||
| 50 | destroyed () { | ||
| 51 | clearInterval(this.timer) | ||
| 44 | } | 52 | } |
| 45 | } | 53 | }; |
| 46 | }; | ||
| 47 | </script> | 54 | </script> |
| 48 | <style lang="scss" scoped> | ||
| 49 | </style> | ... | ... |
| ... | @@ -5,254 +5,262 @@ | ... | @@ -5,254 +5,262 @@ |
| 5 | </template> | 5 | </template> |
| 6 | 6 | ||
| 7 | <script> | 7 | <script> |
| 8 | import Echart from "@/common/echart"; | 8 | import Echart from "@/common/echart"; |
| 9 | import { mapGetters } from "vuex"; | 9 | import { mapGetters } from "vuex"; |
| 10 | export default { | 10 | export default { |
| 11 | data () { | 11 | data () { |
| 12 | return { | 12 | return { |
| 13 | options: {}, | 13 | options: {}, |
| 14 | max: "5000", //最大value值 | 14 | max: "5000", //最大value值 |
| 15 | min: "1", // 最小value值 | 15 | min: "1", // 最小value值 |
| 16 | key: 0, | 16 | key: 0, |
| 17 | mapjson: "", | 17 | mapjson: "", |
| 18 | }; | 18 | }; |
| 19 | }, | ||
| 20 | components: { | ||
| 21 | Echart, | ||
| 22 | }, | ||
| 23 | created () { }, | ||
| 24 | props: { | ||
| 25 | cdata: { | ||
| 26 | type: Array, | ||
| 27 | default: () => [], | ||
| 28 | }, | 19 | }, |
| 29 | }, | 20 | components: { |
| 30 | mounted () { | 21 | Echart, |
| 31 | window.addEventListener("resize", () => { | 22 | }, |
| 32 | this.key++; | 23 | created () { }, |
| 33 | }); | 24 | props: { |
| 34 | // 根据行政区代码匹配行政区 | 25 | cdata: { |
| 35 | require(`@/common/map/${this.BASE_API.AREARMAP}.js`); | 26 | type: Array, |
| 36 | }, | 27 | default: () => [], |
| 37 | watch: { | 28 | }, |
| 38 | cdata: { | 29 | }, |
| 39 | handler (newData) { | 30 | mounted () { |
| 40 | let _this = this; | 31 | window.addEventListener("resize", () => { |
| 41 | // 设置点的位置(经纬度) | 32 | this.key++; |
| 42 | this.options = { | 33 | }); |
| 43 | showLegendSymbol: false, | 34 | // 根据行政区代码匹配行政区 |
| 44 | tooltip: { | 35 | require(`@/common/map/${this.BASE_API.AREARMAP}.js`); |
| 45 | trigger: "item", | 36 | }, |
| 46 | textStyle: { | 37 | watch: { |
| 47 | fontSize: 14, | 38 | cdata: { |
| 48 | lineHeight: 22, | 39 | handler (newData) { |
| 49 | }, | 40 | let _this = this; |
| 50 | position: (point) => { | 41 | if (newData.length == 0) return |
| 51 | // 固定在顶部 | 42 | // 设置点的位置(经纬度) |
| 52 | return [point[0] + 50, point[1] - 20]; | 43 | this.options = { |
| 53 | }, | 44 | showLegendSymbol: false, |
| 54 | // 如果需要自定义 tooltip样式,需要使用formatter | 45 | tooltip: { |
| 55 | formatter: (params) => { | 46 | trigger: "item", |
| 56 | return `<div style="">${params.name}:${params.value + "个" | 47 | textStyle: { |
| 57 | }</div>`; | 48 | fontSize: 14, |
| 58 | }, | 49 | lineHeight: 22, |
| 59 | }, | ||
| 60 | visualMap: { | ||
| 61 | min: 0, | ||
| 62 | max: _this.max, | ||
| 63 | bottom: "6%", | ||
| 64 | left: 50, | ||
| 65 | splitNumber: 6, | ||
| 66 | seriesIndex: [0], | ||
| 67 | itemWidth: 20, // 每个图元的宽度 | ||
| 68 | itemGap: 4, // 每两个图元之间的间隔距离,单位为px | ||
| 69 | selectedMode: false, // 是否允许点击 | ||
| 70 | pieces: [ | ||
| 71 | // 自定义每一段的范围,以及每一段的文字 | ||
| 72 | { gte: 5000, label: "≥5000", color: "#056BEC" }, // 不指定 max,表示 max 为无限大(Infinity)。 | ||
| 73 | { gte: 1000, lte: 5000, label: "1000-5000", color: "#48BDE3" }, | ||
| 74 | { gte: 500, lte: 1000, label: "500-1000", color: "#0494F3" }, | ||
| 75 | { gte: 0, lte: 500, label: "≤500", color: "#1872CC" }, | ||
| 76 | ], | ||
| 77 | textStyle: { | ||
| 78 | color: "#CEF8FF", | ||
| 79 | } | ||
| 80 | }, | ||
| 81 | geo: [{ | ||
| 82 | aspectScale: 1, //长宽比 | ||
| 83 | zoom: 1.1, | ||
| 84 | mapType: "", // 自定义扩展图表类型 | ||
| 85 | top: "15%", | ||
| 86 | left: "10%", | ||
| 87 | map: this.BASE_API.AREARMAP, | ||
| 88 | itemStyle: { | ||
| 89 | normal: { | ||
| 90 | //阴影 | ||
| 91 | areaColor: "#5689FD", | ||
| 92 | borderWidth: 1, | ||
| 93 | }, | 50 | }, |
| 51 | position: (point) => { | ||
| 52 | // 固定在顶部 | ||
| 53 | return [point[0] + 50, point[1] - 20]; | ||
| 54 | }, | ||
| 55 | // 如果需要自定义 tooltip样式,需要使用formatter | ||
| 56 | formatter: (params) => { | ||
| 57 | return `<div style="color: #000;font-size: 14px;line-height: 24px background-color: #000000"> | ||
| 58 | 接入量:<span style="color: #7df7ce; font-size: 16px; font-weight: 600;"> ${params.value} </span>个 | ||
| 59 | <br> | ||
| 60 | 上报量:<span style="color: #f32c51; font-size: 16px; font-weight: 600;"> ${params.data.successcount} </span>个 | ||
| 61 | </div>`; | ||
| 62 | }, | ||
| 63 | extraCssText: | ||
| 64 | "background: #85a2eb; border-radius: 2;box-shadow: 0 0 3px rgba(0, 0, 0, 0.2);color: #333;", | ||
| 94 | }, | 65 | }, |
| 95 | }, { | 66 | visualMap: { |
| 96 | aspectScale: 1, //长宽比 | 67 | min: 0, |
| 97 | zoom: 1.1, | 68 | max: _this.max, |
| 98 | mapType: "", // 自定义扩展图表类型 | 69 | bottom: "6%", |
| 99 | top: "18%", | 70 | left: 50, |
| 100 | left: "10%", | 71 | splitNumber: 6, |
| 101 | map: this.BASE_API.AREARMAP, | 72 | seriesIndex: [0], |
| 102 | itemStyle: { | 73 | itemWidth: 20, // 每个图元的宽度 |
| 103 | color: '#21371d', | 74 | itemGap: 4, // 每两个图元之间的间隔距离,单位为px |
| 104 | areaColor: "#21371d", | 75 | selectedMode: false, // 是否允许点击 |
| 105 | borderWidth: 1, | 76 | pieces: [ |
| 106 | borderColor: "#00A3CB", | 77 | // 自定义每一段的范围,以及每一段的文字 |
| 107 | shadowColor: "#01C5E9", | 78 | { gte: 5000, label: "≥5000", color: "#056BEC" }, // 不指定 max,表示 max 为无限大(Infinity)。 |
| 108 | shadowBlur: 10, | 79 | { gte: 1000, lte: 5000, label: "1000-5000", color: "#48BDE3" }, |
| 109 | shadowOffsetX: 0, | 80 | { gte: 500, lte: 1000, label: "500-1000", color: "#0494F3" }, |
| 110 | shadowOffsetY: -12, | 81 | { gte: 0, lte: 500, label: "≤500", color: "#1872CC" }, |
| 82 | ], | ||
| 83 | textStyle: { | ||
| 84 | color: "#CEF8FF", | ||
| 85 | } | ||
| 111 | }, | 86 | }, |
| 112 | emphasis: { | 87 | geo: [{ |
| 113 | disabled: true | ||
| 114 | } | ||
| 115 | }], | ||
| 116 | series: [ | ||
| 117 | { | ||
| 118 | type: "map", | ||
| 119 | aspectScale: 1, //长宽比 | 88 | aspectScale: 1, //长宽比 |
| 120 | zoom: 1.1, | 89 | zoom: 1.1, |
| 121 | mapType: this.BASE_API.AREARMAP, // 自定义扩展图表类型 | 90 | mapType: "", // 自定义扩展图表类型 |
| 122 | top: "15%", | 91 | top: "15%", |
| 123 | left: "10%", | 92 | left: "10%", |
| 93 | map: this.BASE_API.AREARMAP, | ||
| 124 | itemStyle: { | 94 | itemStyle: { |
| 125 | normal: { | 95 | normal: { |
| 126 | borderWidth: 1.6, | 96 | //阴影 |
| 127 | borderColor: "#9DFFFC", | 97 | areaColor: "#5689FD", |
| 98 | borderWidth: 1, | ||
| 128 | }, | 99 | }, |
| 129 | emphasis: { | ||
| 130 | // 地图区域的高亮颜色 | ||
| 131 | areaColor: { | ||
| 132 | type: 'linear', | ||
| 133 | x: 0, | ||
| 134 | y: 0, | ||
| 135 | x2: 0, | ||
| 136 | y2: 1, | ||
| 137 | colorStops: [{ | ||
| 138 | offset: 0, color: '#4DD1B4' // 0% 处的颜色 | ||
| 139 | }, { | ||
| 140 | offset: 1, color: '#15BFCE' // 100% 处的颜色 | ||
| 141 | }], | ||
| 142 | global: false // 缺省为 false | ||
| 143 | }, | ||
| 144 | borderType: 'dottod', | ||
| 145 | borderWidth: 0, | ||
| 146 | borderColor: '#F8F071', | ||
| 147 | shadowColor: '#000', | ||
| 148 | shadowBlur: 10, | ||
| 149 | shadowOffsetY: 4 | ||
| 150 | } | ||
| 151 | }, | 100 | }, |
| 152 | label: { | 101 | }, { |
| 153 | formatter: (params) => { | 102 | aspectScale: 1, //长宽比 |
| 154 | // return `${params.name}\n${params.value + "个"}`; | 103 | zoom: 1.1, |
| 155 | }, | 104 | mapType: "", // 自定义扩展图表类型 |
| 156 | show: true, | 105 | top: "18%", |
| 157 | position: "insideRight", | 106 | left: "10%", |
| 158 | textStyle: { | 107 | map: this.BASE_API.AREARMAP, |
| 159 | fontSize: 14, | 108 | itemStyle: { |
| 160 | color: "#efefef", | 109 | color: '#21371d', |
| 110 | areaColor: "#21371d", | ||
| 111 | borderWidth: 1, | ||
| 112 | borderColor: "#00A3CB", | ||
| 113 | shadowColor: "#01C5E9", | ||
| 114 | shadowBlur: 10, | ||
| 115 | shadowOffsetX: 0, | ||
| 116 | shadowOffsetY: -12, | ||
| 117 | }, | ||
| 118 | emphasis: { | ||
| 119 | disabled: true | ||
| 120 | } | ||
| 121 | }], | ||
| 122 | series: [ | ||
| 123 | { | ||
| 124 | type: "map", | ||
| 125 | aspectScale: 1, //长宽比 | ||
| 126 | zoom: 1.1, | ||
| 127 | mapType: this.BASE_API.AREARMAP, // 自定义扩展图表类型 | ||
| 128 | top: "15%", | ||
| 129 | left: "10%", | ||
| 130 | itemStyle: { | ||
| 131 | normal: { | ||
| 132 | borderWidth: 1.6, | ||
| 133 | borderColor: "#9DFFFC", | ||
| 134 | }, | ||
| 135 | emphasis: { | ||
| 136 | // 地图区域的高亮颜色 | ||
| 137 | areaColor: { | ||
| 138 | type: 'linear', | ||
| 139 | x: 0, | ||
| 140 | y: 0, | ||
| 141 | x2: 0, | ||
| 142 | y2: 1, | ||
| 143 | colorStops: [{ | ||
| 144 | offset: 0, color: '#4DD1B4' // 0% 处的颜色 | ||
| 145 | }, { | ||
| 146 | offset: 1, color: '#15BFCE' // 100% 处的颜色 | ||
| 147 | }], | ||
| 148 | global: false // 缺省为 false | ||
| 149 | }, | ||
| 150 | borderType: 'dottod', | ||
| 151 | borderWidth: 0, | ||
| 152 | borderColor: '#F8F071', | ||
| 153 | shadowColor: '#000', | ||
| 154 | shadowBlur: 10, | ||
| 155 | shadowOffsetY: 4 | ||
| 156 | } | ||
| 161 | }, | 157 | }, |
| 162 | emphasis: { | 158 | label: { |
| 159 | formatter: (params) => { | ||
| 160 | // return `${params.name}\n${params.value + "个"}`; | ||
| 161 | }, | ||
| 162 | show: true, | ||
| 163 | position: "insideRight", | ||
| 163 | textStyle: { | 164 | textStyle: { |
| 164 | color: "#fff", | 165 | fontSize: 14, |
| 166 | color: "#efefef", | ||
| 167 | }, | ||
| 168 | emphasis: { | ||
| 169 | textStyle: { | ||
| 170 | color: "#fff", | ||
| 171 | }, | ||
| 165 | }, | 172 | }, |
| 166 | }, | 173 | }, |
| 174 | data: newData, | ||
| 167 | }, | 175 | }, |
| 168 | data: newData, | 176 | ], |
| 169 | }, | 177 | }; |
| 170 | ], | 178 | // 重新选择区域 |
| 171 | }; | 179 | this.handleMapRandomSelect(); |
| 180 | }, | ||
| 181 | immediate: true, | ||
| 182 | deep: true, | ||
| 172 | }, | 183 | }, |
| 173 | immediate: true, | ||
| 174 | deep: true, | ||
| 175 | }, | ||
| 176 | }, | ||
| 177 | methods: { | ||
| 178 | // 开启定时器 | ||
| 179 | startInterval () { | ||
| 180 | const _self = this; | ||
| 181 | // 应通过接口获取配置时间,暂时写死5s | ||
| 182 | const time = 2000; | ||
| 183 | if (this.intervalId !== null) { | ||
| 184 | clearInterval(this.intervalId); | ||
| 185 | } | ||
| 186 | this.intervalId = setInterval(() => { | ||
| 187 | this.$refs.centreLeft2ChartRef && _self.reSelectMapRandomArea(); | ||
| 188 | }, time); | ||
| 189 | }, | 184 | }, |
| 190 | // 重新随机选中地图区域 | 185 | methods: { |
| 191 | reSelectMapRandomArea () { | 186 | // 开启定时器 |
| 192 | const length = 9; | 187 | startInterval () { |
| 193 | this.$nextTick(() => { | 188 | const _self = this; |
| 194 | try { | 189 | // 应通过接口获取配置时间,暂时写死5s |
| 195 | const map = this.$refs.centreLeft2ChartRef.chart; | 190 | const time = 2000; |
| 196 | let index = Math.floor(Math.random() * length); | 191 | if (this.intervalId !== null) { |
| 197 | while (index === this.preSelectMapIndex || index >= length) { | 192 | clearInterval(this.intervalId); |
| 198 | index = Math.floor(Math.random() * length); | ||
| 199 | } | ||
| 200 | map.dispatchAction({ | ||
| 201 | type: "mapUnSelect", | ||
| 202 | seriesIndex: 0, | ||
| 203 | dataIndex: this.preSelectMapIndex, | ||
| 204 | }); | ||
| 205 | map.dispatchAction({ | ||
| 206 | type: "showTip", | ||
| 207 | seriesIndex: 0, | ||
| 208 | dataIndex: index, | ||
| 209 | }); | ||
| 210 | map.dispatchAction({ | ||
| 211 | type: "mapSelect", | ||
| 212 | seriesIndex: 0, | ||
| 213 | dataIndex: index, | ||
| 214 | }); | ||
| 215 | this.preSelectMapIndex = index; | ||
| 216 | } catch (error) { | ||
| 217 | console.log(error); | ||
| 218 | } | 193 | } |
| 219 | }); | 194 | this.intervalId = setInterval(() => { |
| 220 | }, | 195 | this.$refs.centreLeft2ChartRef && _self.reSelectMapRandomArea(); |
| 221 | handleMapRandomSelect () { | 196 | }, time); |
| 222 | this.$nextTick(() => { | 197 | }, |
| 223 | try { | 198 | // 重新随机选中地图区域 |
| 224 | const map = this.$refs.centreLeft2ChartRef.chart; | 199 | reSelectMapRandomArea () { |
| 225 | const _self = this; | 200 | const length = 9; |
| 226 | setTimeout(() => { | 201 | this.$nextTick(() => { |
| 227 | _self.reSelectMapRandomArea(); | 202 | try { |
| 228 | }, 0); | 203 | const map = this.$refs.centreLeft2ChartRef.chart; |
| 229 | // 移入区域,清除定时器、取消之前选中并选中当前 | 204 | let index = Math.floor(Math.random() * length); |
| 230 | map.on("mouseover", function (params) { | 205 | while (index === this.preSelectMapIndex || index >= length) { |
| 231 | clearInterval(_self.intervalId); | 206 | index = Math.floor(Math.random() * length); |
| 207 | } | ||
| 232 | map.dispatchAction({ | 208 | map.dispatchAction({ |
| 233 | type: "mapUnSelect", | 209 | type: "mapUnSelect", |
| 234 | seriesIndex: 0, | 210 | seriesIndex: 0, |
| 235 | dataIndex: _self.preSelectMapIndex, | 211 | dataIndex: this.preSelectMapIndex, |
| 212 | }); | ||
| 213 | map.dispatchAction({ | ||
| 214 | type: "showTip", | ||
| 215 | seriesIndex: 0, | ||
| 216 | dataIndex: index, | ||
| 236 | }); | 217 | }); |
| 237 | map.dispatchAction({ | 218 | map.dispatchAction({ |
| 238 | type: "mapSelect", | 219 | type: "mapSelect", |
| 239 | seriesIndex: 0, | 220 | seriesIndex: 0, |
| 240 | dataIndex: params.dataIndex, | 221 | dataIndex: index, |
| 241 | }); | 222 | }); |
| 242 | _self.preSelectMapIndex = params.dataIndex; | 223 | this.preSelectMapIndex = index; |
| 243 | }); | 224 | } catch (error) { |
| 244 | // 移出区域重新随机选中地图区域,并开启定时器 | 225 | console.log(error); |
| 245 | map.on("globalout", function () { | 226 | } |
| 246 | _self.reSelectMapRandomArea(); | 227 | }); |
| 247 | _self.startInterval(); | 228 | }, |
| 248 | }); | 229 | handleMapRandomSelect () { |
| 249 | this.startInterval(); | 230 | this.$nextTick(() => { |
| 250 | } catch (error) { | 231 | try { |
| 251 | console.log(error); | 232 | const map = this.$refs.centreLeft2ChartRef.chart; |
| 252 | } | 233 | const _self = this; |
| 253 | }); | 234 | setTimeout(() => { |
| 235 | _self.reSelectMapRandomArea(); | ||
| 236 | }, 0); | ||
| 237 | // 移入区域,清除定时器、取消之前选中并选中当前 | ||
| 238 | map.on("mouseover", function (params) { | ||
| 239 | clearInterval(_self.intervalId); | ||
| 240 | map.dispatchAction({ | ||
| 241 | type: "mapUnSelect", | ||
| 242 | seriesIndex: 0, | ||
| 243 | dataIndex: _self.preSelectMapIndex, | ||
| 244 | }); | ||
| 245 | map.dispatchAction({ | ||
| 246 | type: "mapSelect", | ||
| 247 | seriesIndex: 0, | ||
| 248 | dataIndex: params.dataIndex, | ||
| 249 | }); | ||
| 250 | _self.preSelectMapIndex = params.dataIndex; | ||
| 251 | }); | ||
| 252 | // 移出区域重新随机选中地图区域,并开启定时器 | ||
| 253 | map.on("globalout", function () { | ||
| 254 | _self.reSelectMapRandomArea(); | ||
| 255 | _self.startInterval(); | ||
| 256 | }); | ||
| 257 | this.startInterval(); | ||
| 258 | } catch (error) { | ||
| 259 | console.log(error); | ||
| 260 | } | ||
| 261 | }); | ||
| 262 | }, | ||
| 254 | }, | 263 | }, |
| 255 | }, | 264 | }; |
| 256 | }; | ||
| 257 | </script> | 265 | </script> |
| 258 | <style></style> | 266 | <style></style> | ... | ... |
| 1 | <!-- | 1 | <!-- |
| 2 | * @Description: | 2 | * @Description: |
| 3 | * @Autor: renchao | 3 | * @Autor: renchao |
| 4 | * @LastEditTime: 2023-04-03 13:40:18 | 4 | * @LastEditTime: 2023-07-04 13:44:17 |
| 5 | --> | 5 | --> |
| 6 | <template> | 6 | <template> |
| 7 | <Chart :cdata="cdata" /> | 7 | <Chart :cdata="cdata" /> |
| 8 | </template> | 8 | </template> |
| 9 | 9 | ||
| 10 | <script> | 10 | <script> |
| 11 | import Chart from "./Chart"; | 11 | import Chart from "./Chart"; |
| 12 | import work from "@/api/work"; | 12 | import work from "@/api/work"; |
| 13 | export default { | 13 | export default { |
| 14 | data () { | 14 | data () { |
| 15 | return { | 15 | return { |
| 16 | cdata: [] | 16 | timer: null, // 定时器 |
| 17 | } | 17 | cdata: [] |
| 18 | }, | 18 | } |
| 19 | components: { | 19 | }, |
| 20 | Chart | 20 | components: { |
| 21 | }, | 21 | Chart |
| 22 | mounted () { | 22 | }, |
| 23 | this.mapViews(); | 23 | mounted () { |
| 24 | }, | 24 | this.mapViews() |
| 25 | methods: { | 25 | this.timer = setInterval(() => { |
| 26 | async mapViews () { | 26 | this.mapViews(); |
| 27 | try { | 27 | }, 10000) // 10s |
| 28 | let { result: res } = await work.mapViews("A20"); | 28 | }, |
| 29 | res.map((item) => { | 29 | methods: { |
| 30 | 30 | async mapViews () { | |
| 31 | return ( | 31 | try { |
| 32 | this.cdata.push({ "name": item.areaName, "value": item.ywtotal }) | 32 | let { result: res } = await work.mapViews("A20"); |
| 33 | ) | 33 | res.map((item) => { |
| 34 | return ( | ||
| 35 | this.cdata.push({ "name": item.areaName, "value": item.ywtotal, "successcount": item.successcount }) | ||
| 36 | ) | ||
| 34 | 37 | ||
| 35 | }); | 38 | }); |
| 36 | } catch (error) { | 39 | } catch (error) { |
| 37 | this.$refs.msg.messageShow(); | 40 | this.$refs.msg.messageShow(); |
| 41 | } | ||
| 38 | } | 42 | } |
| 43 | }, | ||
| 44 | destroyed () { | ||
| 45 | clearInterval(this.timer) | ||
| 39 | } | 46 | } |
| 40 | } | 47 | } |
| 41 | } | ||
| 42 | </script> | 48 | </script> | ... | ... |
| 1 | <!-- | 1 | <!-- |
| 2 | * @Author: xiaomiao 1158771342@qq.com | 2 | * @Author: xiaomiao 1158771342@qq.com |
| 3 | * @Date: 2023-03-09 15:24:53 | 3 | * @Date: 2023-03-09 15:24:53 |
| 4 | * @LastEditors: xiaomiao 1158771342@qq.com | 4 | * @LastEditors: Please set LastEditors |
| 5 | * @LastEditTime: 2023-03-16 15:58:03 | 5 | * @LastEditTime: 2023-07-04 15:28:36 |
| 6 | * @FilePath: \上报\bdcjg-web\src\components\Echart\Rose\index.vue | 6 | * @FilePath: \上报\bdcjg-web\src\components\Echart\Rose\index.vue |
| 7 | * @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE | 7 | * @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE |
| 8 | --> | 8 | --> |
| ... | @@ -18,6 +18,7 @@ | ... | @@ -18,6 +18,7 @@ |
| 18 | export default { | 18 | export default { |
| 19 | data () { | 19 | data () { |
| 20 | return { | 20 | return { |
| 21 | timer: null, | ||
| 21 | cdata: [], | 22 | cdata: [], |
| 22 | getdata: [], | 23 | getdata: [], |
| 23 | }; | 24 | }; |
| ... | @@ -25,40 +26,42 @@ | ... | @@ -25,40 +26,42 @@ |
| 25 | components: { | 26 | components: { |
| 26 | Chart, | 27 | Chart, |
| 27 | }, | 28 | }, |
| 29 | created () { | ||
| 30 | this.addhousetotal() | ||
| 31 | this.timer = setInterval(() => { | ||
| 32 | this.addhousetotal() | ||
| 33 | }, 10000) // 10s | ||
| 34 | }, | ||
| 28 | mounted () { | 35 | mounted () { |
| 29 | this.addhousetotal(); | ||
| 30 | window.addEventListener("resize", () => { | 36 | window.addEventListener("resize", () => { |
| 31 | this.cdata = []; | 37 | this.cdata = []; |
| 32 | this.addhousetotal(); | 38 | this.addhousetotal(); |
| 33 | }); | 39 | }); |
| 34 | |||
| 35 | }, | 40 | }, |
| 36 | methods: { | 41 | methods: { |
| 37 | async addhousetotal () { | 42 | async addhousetotal () { |
| 38 | if (this.cdata == 0) { | 43 | if (this.cdata == 0) { |
| 39 | this.cdata = []; | 44 | this.cdata = []; |
| 40 | try { | 45 | try { |
| 41 | let { result: res } = await work.addhousetotal(); | 46 | let { result: res } = await work.qxmrjrsb(); |
| 47 | console.log(res, 'resres'); | ||
| 42 | res.map((item) => { | 48 | res.map((item) => { |
| 43 | return this.cdata.push({ | 49 | return this.cdata.push({ |
| 44 | name: `${item.fwyt + '(' + item.fwxz})`, | 50 | name: item.areaName, |
| 45 | value: item.mj, | 51 | value: item.jrl, |
| 46 | }); | 52 | }); |
| 47 | 53 | ||
| 48 | }); | 54 | }); |
| 49 | let delarr = this.cdata.sort(this.up) | 55 | // let delarr = this.cdata.sort(this.up) |
| 50 | this.setadat(delarr) | 56 | // this.setadat(delarr) |
| 51 | 57 | ||
| 52 | } catch (error) { | 58 | } catch (error) { |
| 53 | console.log("error", error); | 59 | console.log("error", error); |
| 54 | } | 60 | } |
| 55 | } | 61 | } |
| 56 | |||
| 57 | |||
| 58 | }, | 62 | }, |
| 59 | // 处理数据方法 | 63 | // 处理数据方法 |
| 60 | setadat (delarr) { | 64 | setadat (delarr) { |
| 61 | |||
| 62 | this.cdata = delarr.splice(0, 6); | 65 | this.cdata = delarr.splice(0, 6); |
| 63 | let sum = 0 | 66 | let sum = 0 |
| 64 | for (var i = 0; i < delarr.length; i++) { | 67 | for (var i = 0; i < delarr.length; i++) { |
| ... | @@ -73,9 +76,10 @@ | ... | @@ -73,9 +76,10 @@ |
| 73 | }, | 76 | }, |
| 74 | // 排序方法 | 77 | // 排序方法 |
| 75 | up (x, y) { return y.value - x.value } | 78 | up (x, y) { return y.value - x.value } |
| 76 | 79 | }, | |
| 80 | destroyed () { | ||
| 81 | clearInterval(this.timer) | ||
| 77 | } | 82 | } |
| 78 | }; | 83 | } |
| 79 | </script> | 84 | </script> |
| 80 | 85 | ||
| 81 | <style lang="scss" scoped></style> | ... | ... |
| 1 | <!-- | ||
| 2 | * @Description: | ||
| 3 | * @Autor: renchao | ||
| 4 | * @LastEditTime: 2023-07-03 16:45:40 | ||
| 5 | --> | ||
| 1 | <template> | 6 | <template> |
| 2 | <div class="centercard"> | 7 | <div class="centercard"> |
| 3 | <div class="card1"> | 8 | <div class="card1"> |
| ... | @@ -11,75 +16,72 @@ | ... | @@ -11,75 +16,72 @@ |
| 11 | </template> | 16 | </template> |
| 12 | 17 | ||
| 13 | <script> | 18 | <script> |
| 14 | import maps from "@/components/Echart/Map"; | 19 | import maps from "@/components/Echart/Map"; |
| 15 | import brokenline from "@/components/Echart/Brokenline"; | 20 | import brokenline from "@/components/Echart/Brokenline"; |
| 16 | export default { | 21 | export default { |
| 17 | data () { | 22 | data () { |
| 18 | return {}; | 23 | return {}; |
| 19 | }, | 24 | }, |
| 20 | components: { maps, brokenline }, | 25 | components: { maps, brokenline }, |
| 21 | mounted () { }, | 26 | }; |
| 22 | beforeDestroy () { }, | ||
| 23 | methods: {}, | ||
| 24 | }; | ||
| 25 | </script> | 27 | </script> |
| 26 | 28 | ||
| 27 | <style lang="scss" scoped> | 29 | <style lang="scss" scoped> |
| 28 | .centercard { | 30 | .centercard { |
| 29 | width: 40%; | 31 | width: 40%; |
| 30 | height: calc(100vh - 114px); | 32 | height: calc(100vh - 114px); |
| 31 | box-sizing: border-box; | 33 | box-sizing: border-box; |
| 32 | padding: 0 0.0521rem; | 34 | padding: 0 0.0521rem; |
| 33 | display: flex; | 35 | display: flex; |
| 34 | flex-direction: column; | 36 | flex-direction: column; |
| 35 | 37 | ||
| 36 | .card1 { | 38 | .card1 { |
| 37 | width: 100%; | 39 | width: 100%; |
| 38 | background: url("~@/image/mapcenter.png") no-repeat; | 40 | background: url("~@/image/mapcenter.png") no-repeat; |
| 39 | background-size: 100% 100%; | 41 | background-size: 100% 100%; |
| 40 | position: relative; | 42 | position: relative; |
| 41 | height: 64%; | 43 | height: 64%; |
| 42 | 44 | ||
| 43 | .title { | 45 | .title { |
| 44 | position: absolute; | 46 | position: absolute; |
| 45 | font-weight: bold; | 47 | font-weight: bold; |
| 46 | color: #02d9fd; | 48 | color: #02d9fd; |
| 47 | line-height: 0.1354rem; | 49 | line-height: 0.1354rem; |
| 48 | font-size: 0.1146rem; | 50 | font-size: 0.1146rem; |
| 49 | position: absolute; | 51 | position: absolute; |
| 50 | left: 0; | 52 | left: 0; |
| 51 | right: 0; | 53 | right: 0; |
| 52 | top: 0.0365rem; | 54 | top: 0.0365rem; |
| 53 | text-align: right; | 55 | text-align: right; |
| 54 | padding-right: 15%; | 56 | padding-right: 15%; |
| 57 | } | ||
| 55 | } | 58 | } |
| 56 | } | ||
| 57 | 59 | ||
| 58 | .card2 { | 60 | .card2 { |
| 59 | width: 100%; | 61 | width: 100%; |
| 60 | background: url("~@/image/sjqs.png") no-repeat; | 62 | background: url("~@/image/sjqs.png") no-repeat; |
| 61 | background-size: 100% 100%; | 63 | background-size: 100% 100%; |
| 62 | position: relative; | 64 | position: relative; |
| 63 | flex: 1; | 65 | flex: 1; |
| 64 | 66 | ||
| 65 | .title { | 67 | .title { |
| 66 | position: absolute; | 68 | position: absolute; |
| 67 | font-weight: bold; | 69 | font-weight: bold; |
| 68 | color: #02d9fd; | 70 | color: #02d9fd; |
| 69 | line-height: 0.1354rem; | 71 | line-height: 0.1354rem; |
| 70 | font-size: 0.1146rem; | 72 | font-size: 0.1146rem; |
| 71 | position: absolute; | 73 | position: absolute; |
| 72 | left: 0; | 74 | left: 0; |
| 73 | right: 0; | 75 | right: 0; |
| 74 | top: 0.0365rem; | 76 | top: 0.0365rem; |
| 75 | text-align: center; | 77 | text-align: center; |
| 76 | margin-bottom: 0.0521rem; | 78 | margin-bottom: 0.0521rem; |
| 77 | } | 79 | } |
| 78 | 80 | ||
| 79 | .brokenline { | 81 | .brokenline { |
| 80 | margin: auto; | 82 | margin: auto; |
| 81 | width: 100%; | 83 | width: 100%; |
| 84 | } | ||
| 82 | } | 85 | } |
| 83 | } | 86 | } |
| 84 | } | ||
| 85 | </style> | 87 | </style> | ... | ... |
| 1 | <!-- | 1 | <!-- |
| 2 | * @Description :工作台左侧表 | 2 | * @Description :工作台左侧表 |
| 3 | * @Autor : miaofang | 3 | * @Autor : miaofang |
| 4 | * @LastEditTime : 2023-05-18 11:27:22 | 4 | * @LastEditTime: 2023-07-04 15:19:26 |
| 5 | --> | 5 | --> |
| 6 | <template> | 6 | <template> |
| 7 | <div class="leftcard"> | 7 | <div class="leftcard"> |
| ... | @@ -18,7 +18,7 @@ | ... | @@ -18,7 +18,7 @@ |
| 18 | </ul> | 18 | </ul> |
| 19 | <div class="cardcontent-right d-center"> | 19 | <div class="cardcontent-right d-center"> |
| 20 | <p> | 20 | <p> |
| 21 | <span>失败</span> | 21 | <span>校验失败</span> |
| 22 | <span class="bad">{{ qxerrer }}</span> | 22 | <span class="bad">{{ qxerrer }}</span> |
| 23 | </p> | 23 | </p> |
| 24 | <p> | 24 | <p> |
| ... | @@ -42,7 +42,7 @@ | ... | @@ -42,7 +42,7 @@ |
| 42 | <div class="cardcontent-right d-center"> | 42 | <div class="cardcontent-right d-center"> |
| 43 | <p> | 43 | <p> |
| 44 | <span>失败</span> | 44 | <span>失败</span> |
| 45 | <span class="bad">{{ sterrer }}</span> | 45 | <span class="bad pointer" @click="handleSthj">{{ sterrer }}</span> |
| 46 | </p> | 46 | </p> |
| 47 | <p> | 47 | <p> |
| 48 | <span>成功率</span> | 48 | <span>成功率</span> |
| ... | @@ -57,14 +57,13 @@ | ... | @@ -57,14 +57,13 @@ |
| 57 | </div> | 57 | </div> |
| 58 | </div> | 58 | </div> |
| 59 | </template> | 59 | </template> |
| 60 | |||
| 61 | <script> | 60 | <script> |
| 62 | |||
| 63 | import columnar from "@/components/Echart/Columnar"; | 61 | import columnar from "@/components/Echart/Columnar"; |
| 64 | import work from "@/api/work"; | 62 | import work from "@/api/work"; |
| 65 | export default { | 63 | export default { |
| 66 | data () { | 64 | data () { |
| 67 | return { | 65 | return { |
| 66 | timer: null, // 定时器 | ||
| 68 | // 日均接入量 | 67 | // 日均接入量 |
| 69 | qxerrer: "", | 68 | qxerrer: "", |
| 70 | qxsuccess: "", | 69 | qxsuccess: "", |
| ... | @@ -76,8 +75,11 @@ | ... | @@ -76,8 +75,11 @@ |
| 76 | stcgl: "" | 75 | stcgl: "" |
| 77 | }; | 76 | }; |
| 78 | }, | 77 | }, |
| 79 | mounted () { | 78 | created () { |
| 80 | this.getsthjqxjrtotal(); | 79 | this.getsthjqxjrtotal(); |
| 80 | this.timer = setInterval(() => { | ||
| 81 | this.getsthjqxjrtotal() | ||
| 82 | }, 10000) // 10s | ||
| 81 | }, | 83 | }, |
| 82 | components: { columnar }, | 84 | components: { columnar }, |
| 83 | computed: { | 85 | computed: { |
| ... | @@ -117,10 +119,20 @@ | ... | @@ -117,10 +119,20 @@ |
| 117 | } | 119 | } |
| 118 | }); | 120 | }); |
| 119 | }, | 121 | }, |
| 122 | handleSthj () { | ||
| 123 | this.$router.push({ | ||
| 124 | path: '/sthj/sbbwcx', | ||
| 125 | query: { | ||
| 126 | status: 2 | ||
| 127 | } | ||
| 128 | }) | ||
| 129 | } | ||
| 120 | }, | 130 | }, |
| 121 | }; | 131 | destroyed () { |
| 132 | clearInterval(this.timer) | ||
| 133 | } | ||
| 134 | } | ||
| 122 | </script> | 135 | </script> |
| 123 | |||
| 124 | <style lang="scss" scoped> | 136 | <style lang="scss" scoped> |
| 125 | .leftcard { | 137 | .leftcard { |
| 126 | width: 30%; | 138 | width: 30%; | ... | ... |
| 1 | <!-- | 1 | <!-- |
| 2 | * @Description :工作台右侧表 | 2 | * @Description :工作台右侧表 |
| 3 | * @Autor : miaofang | 3 | * @Autor : miaofang |
| 4 | * @LastEditTime : 2023-05-18 11:26:52 | 4 | * @LastEditTime: 2023-07-04 13:42:46 |
| 5 | --> | 5 | --> |
| 6 | <template> | 6 | <template> |
| 7 | <div class="rightcard"> | 7 | <div class="rightcard"> |
| ... | @@ -30,20 +30,26 @@ | ... | @@ -30,20 +30,26 @@ |
| 30 | export default { | 30 | export default { |
| 31 | data () { | 31 | data () { |
| 32 | return { | 32 | return { |
| 33 | timer: null, | ||
| 33 | config: { | 34 | config: { |
| 34 | headerBGC: '#016AC5', | 35 | headerBGC: '#016AC5', |
| 35 | oddRowBGC: '#154295', | 36 | oddRowBGC: '#154295', |
| 36 | evenRowBGC: '#154295', | 37 | evenRowBGC: '#154295', |
| 37 | header: ['序号', '业务名称', '登记业务量'], | 38 | header: ['序号', '业务名称', '登记业务量'], |
| 38 | columnWidth: [120, 270, 140], | 39 | columnWidth: [60, 330, 100], |
| 39 | data: [], | 40 | data: [], |
| 40 | key: 0 | 41 | key: 0 |
| 41 | } | 42 | } |
| 42 | } | 43 | } |
| 43 | }, | 44 | }, |
| 44 | components: { columnarsmat, Rose }, | 45 | components: { columnarsmat, Rose }, |
| 46 | created () { | ||
| 47 | this.getdjywltotal() | ||
| 48 | this.timer = setInterval(() => { | ||
| 49 | this.getdjywltotal() | ||
| 50 | }, 10000) // 10s | ||
| 51 | }, | ||
| 45 | mounted () { | 52 | mounted () { |
| 46 | this.getdjywltotal(); | ||
| 47 | window.addEventListener("resize", () => { | 53 | window.addEventListener("resize", () => { |
| 48 | this.config.data = []; | 54 | this.config.data = []; |
| 49 | this.getdjywltotal(); | 55 | this.getdjywltotal(); |
| ... | @@ -65,19 +71,21 @@ | ... | @@ -65,19 +71,21 @@ |
| 65 | this.config.data.push([index + 1, item.AREACODE, item.ywtotal]) | 71 | this.config.data.push([index + 1, item.AREACODE, item.ywtotal]) |
| 66 | 72 | ||
| 67 | }); | 73 | }); |
| 68 | |||
| 69 | // 遍历修改数组键,作为echars图表的参数 | 74 | // 遍历修改数组键,作为echars图表的参数 |
| 70 | |||
| 71 | |||
| 72 | } catch (error) { | 75 | } catch (error) { |
| 73 | console.log(error); | 76 | console.log(error); |
| 74 | } | 77 | } |
| 75 | 78 | } | |
| 76 | }, | ||
| 77 | }, | 79 | }, |
| 80 | destroyed () { | ||
| 81 | clearInterval(this.timer) | ||
| 82 | } | ||
| 78 | } | 83 | } |
| 79 | </script> | 84 | </script> |
| 80 | <style lang="scss" scoped> | 85 | <style lang="scss" scoped> |
| 86 | /deep/.dv-scroll-board .rows { | ||
| 87 | overflow-y: auto; | ||
| 88 | } | ||
| 81 | /deep/.row-item:not(:last-child) { | 89 | /deep/.row-item:not(:last-child) { |
| 82 | margin-bottom: 0.026rem; | 90 | margin-bottom: 0.026rem; |
| 83 | } | 91 | } | ... | ... |
| 1 | <!-- | 1 | <!-- |
| 2 | * @Description :工作台表内容 | 2 | * @Description :工作台表内容 |
| 3 | * @Autor : miaofang | 3 | * @Autor : miaofang |
| 4 | * @LastEditTime : 2023-05-18 13:09:47 | 4 | * @LastEditTime: 2023-07-03 16:39:09 |
| 5 | --> | 5 | --> |
| 6 | <template> | 6 | <template> |
| 7 | <div class="content" id="box"> | 7 | <div class="content" id="box"> |
| 8 | <leftcard /> | 8 | <leftcard /> |
| 9 | <centercard /> | 9 | <centercard /> |
| 10 | <rightcard /> | 10 | <rightcard /> |
| 11 | </div> | 11 | </div> |
| 12 | </template> | 12 | </template> |
| 13 | <script> | 13 | <script> |
| 14 | import "@/utils/flexible.js"; | 14 | import "@/utils/flexible.js"; |
| 15 | import drawMixin from "@/utils/drawMixin"; | 15 | import drawMixin from "@/utils/drawMixin"; |
| 16 | import leftcard from "./leftcard"; | 16 | import leftcard from "./leftcard"; |
| 17 | import centercard from "./centercard"; | 17 | import centercard from "./centercard"; |
| 18 | import rightcard from "./rightcard"; | 18 | import rightcard from "./rightcard"; |
| 19 | export default { | 19 | export default { |
| 20 | mixins: [drawMixin], | 20 | mixins: [drawMixin], |
| 21 | data () { | 21 | data () { |
| 22 | return { | 22 | return { |
| 23 | decorationColor: ["#568aea", "#568aea"], | 23 | decorationColor: ["#568aea", "#568aea"], |
| 24 | }; | 24 | }; |
| 25 | }, | ||
| 26 | components: { | ||
| 27 | leftcard, | ||
| 28 | centercard, | ||
| 29 | rightcard | ||
| 30 | }, | ||
| 31 | mounted () { | ||
| 32 | // this.timeFn(); | ||
| 33 | this.cancelLoading(); | ||
| 34 | }, | ||
| 35 | beforeDestroy () { | ||
| 36 | clearInterval(this.timing); | ||
| 37 | }, | ||
| 38 | methods: { | ||
| 39 | cancelLoading () { | ||
| 40 | setTimeout(() => { | ||
| 41 | this.loading = false; | ||
| 42 | }, 500); | ||
| 43 | }, | 25 | }, |
| 44 | }, | 26 | components: { |
| 45 | }; | 27 | leftcard, |
| 28 | centercard, | ||
| 29 | rightcard | ||
| 30 | }, | ||
| 31 | mounted () { | ||
| 32 | // this.timeFn(); | ||
| 33 | this.cancelLoading(); | ||
| 34 | }, | ||
| 35 | beforeDestroy () { | ||
| 36 | clearInterval(this.timing); | ||
| 37 | }, | ||
| 38 | methods: { | ||
| 39 | cancelLoading () { | ||
| 40 | setTimeout(() => { | ||
| 41 | this.loading = false; | ||
| 42 | }, 500); | ||
| 43 | }, | ||
| 44 | }, | ||
| 45 | }; | ||
| 46 | </script> | 46 | </script> |
| 47 | 47 | ||
| 48 | <style scoped lang="scss"> | 48 | <style scoped lang="scss"> |
| 49 | .content { | 49 | .content { |
| 50 | width: 100%; | 50 | width: 100%; |
| 51 | height: calc(100% -94px); | 51 | height: calc(100% -94px); |
| 52 | margin: auto; | 52 | margin: auto; |
| 53 | display: flex; | 53 | display: flex; |
| 54 | justify-content: space-between; | 54 | justify-content: space-between; |
| 55 | margin-top: 15px; | 55 | margin-top: 15px; |
| 56 | 56 | } | |
| 57 | } | ||
| 58 | // #box{ | ||
| 59 | // width: 1620px; | ||
| 60 | // height: 680px; | ||
| 61 | // position: absolute; | ||
| 62 | // transform-origin: left top; | ||
| 63 | // overflow: hidden; | ||
| 64 | // } | ||
| 65 | </style> | 57 | </style> | ... | ... |
| 1 | <!-- | 1 | <!-- |
| 2 | * @Description :接收报文查询 | 2 | * @Description :接收报文查询 |
| 3 | * @Autor : miaofang | 3 | * @Autor : miaofang |
| 4 | * @LastEditTime : 2023-05-18 13:11:18 | 4 | * @LastEditTime: 2023-05-29 09:57:39 |
| 5 | --> | 5 | --> |
| 6 | <template> | 6 | <template> |
| 7 | <!-- 接收报文查询 --> | 7 | <!-- 接收报文查询 --> |
| 8 | <div class="reportLog from-clues"> | 8 | <div class="reportLog from-clues"> |
| 9 | <!-- 头部搜索 --> | 9 | <!-- 头部搜索 --> |
| 10 | <div class="from-clues-header"> | 10 | <div class="from-clues-header"> |
| 11 | <el-form ref="ruleForm" :model="form" label-width="100px"> | 11 | <el-form ref="ruleForm" :model="form" label-width="90px"> |
| 12 | <Breadcrumb /> | 12 | <Breadcrumb /> |
| 13 | <el-row class="mb-5"> | 13 | <el-row class="mb-5"> |
| 14 | <el-col :span="6"> | 14 | <el-col :span="6"> |
| ... | @@ -22,7 +22,7 @@ | ... | @@ -22,7 +22,7 @@ |
| 22 | </el-form-item> | 22 | </el-form-item> |
| 23 | </el-col> | 23 | </el-col> |
| 24 | <el-col :span="6"> | 24 | <el-col :span="6"> |
| 25 | <el-form-item label="查询证件名称" prop="zjmc"> | 25 | <el-form-item label="查询证件名称" prop="zjmc" label-width="110px"> |
| 26 | <el-input v-model.trim="form.zjmc" clearable class="width100" placeholder="业务流水号"></el-input> | 26 | <el-input v-model.trim="form.zjmc" clearable class="width100" placeholder="业务流水号"></el-input> |
| 27 | </el-form-item> | 27 | </el-form-item> |
| 28 | </el-col> | 28 | </el-col> | ... | ... |
| 1 | <!-- | 1 | <!-- |
| 2 | * @Description :修改登簿日志弹窗 | 2 | * @Description :修改登簿日志弹窗 |
| 3 | * @Autor : miaofang | 3 | * @Autor : miaofang |
| 4 | * @LastEditTime : 2023-05-18 13:16:22 | 4 | * @LastEditTime: 2023-07-04 13:08:21 |
| 5 | --> | 5 | --> |
| 6 | <template> | 6 | <template> |
| 7 | <!-- 修改登簿日志弹窗 --> | 7 | <!-- 修改登簿日志弹窗 --> |
| ... | @@ -15,6 +15,7 @@ | ... | @@ -15,6 +15,7 @@ |
| 15 | <el-tabs v-model="titleName" type="card"> | 15 | <el-tabs v-model="titleName" type="card"> |
| 16 | <el-tab-pane label="登薄详情" name="sjmx"></el-tab-pane> | 16 | <el-tab-pane label="登薄详情" name="sjmx"></el-tab-pane> |
| 17 | <el-tab-pane label="xml报文" name="xml"></el-tab-pane> | 17 | <el-tab-pane label="xml报文" name="xml"></el-tab-pane> |
| 18 | <el-tab-pane label="返回结果" name="fhjg"></el-tab-pane> | ||
| 18 | </el-tabs> | 19 | </el-tabs> |
| 19 | <div class="dialog-from" v-if="titleName == 'sjmx'"> | 20 | <div class="dialog-from" v-if="titleName == 'sjmx'"> |
| 20 | <el-row class="dialog-from_header item-content-input"> | 21 | <el-row class="dialog-from_header item-content-input"> |
| ... | @@ -186,6 +187,9 @@ | ... | @@ -186,6 +187,9 @@ |
| 186 | <div class="JsonEditor" v-if="titleName == 'xml'"> | 187 | <div class="JsonEditor" v-if="titleName == 'xml'"> |
| 187 | <JsonEditor class="editXML" :resultInfo="resultInfo" :key="key" /> | 188 | <JsonEditor class="editXML" :resultInfo="resultInfo" :key="key" /> |
| 188 | </div> | 189 | </div> |
| 190 | <div class="JsonEditor" v-if="titleName == 'fhjg'"> | ||
| 191 | <JsonEditor class="editXML" :resultInfo="fhjg" :key="key" /> | ||
| 192 | </div> | ||
| 189 | </div> | 193 | </div> |
| 190 | </div> | 194 | </div> |
| 191 | <div class="d-center" v-if="titleName == 'sjmx'"> | 195 | <div class="d-center" v-if="titleName == 'sjmx'"> |
| ... | @@ -211,6 +215,8 @@ | ... | @@ -211,6 +215,8 @@ |
| 211 | return { | 215 | return { |
| 212 | key: 0, | 216 | key: 0, |
| 213 | title: '', | 217 | title: '', |
| 218 | // 省厅汇交 | ||
| 219 | fhjg: '', | ||
| 214 | dialogVisible: false, | 220 | dialogVisible: false, |
| 215 | titleName: 'sjmx', | 221 | titleName: 'sjmx', |
| 216 | titleName2: 'drdbxd', | 222 | titleName2: 'drdbxd', |
| ... | @@ -307,9 +313,34 @@ | ... | @@ -307,9 +313,34 @@ |
| 307 | * @author: renchao | 313 | * @author: renchao |
| 308 | */ | 314 | */ |
| 309 | _getDetails (data) { | 315 | _getDetails (data) { |
| 316 | function showPattern (level) { | ||
| 317 | const resultMap = { | ||
| 318 | '0200': '上报成功', | ||
| 319 | '04001': 'xml格式错误', | ||
| 320 | '04002': 'AreaCode 节点缺失', | ||
| 321 | '04003': 'AreaCode 节点值为空', | ||
| 322 | '04004': 'xzTotallnfo 节点缺失', | ||
| 323 | '04005': 'Registerlnfo 节点缺失', | ||
| 324 | '04006': 'AccessInfo 节点缺失', | ||
| 325 | '04007': 'RegisterList 节点缺失', | ||
| 326 | '04008': 'Register 节点缺失', | ||
| 327 | '04009': 'AccessList 节点缺失', | ||
| 328 | '04010': 'Access 节点缺失', | ||
| 329 | '04011': '上报数与上报清单数量不一致' | ||
| 330 | }; | ||
| 331 | for (let key in resultMap) { | ||
| 332 | if (level.includes(key)) { | ||
| 333 | return resultMap[key]; | ||
| 334 | } else { | ||
| 335 | return level; | ||
| 336 | } | ||
| 337 | } | ||
| 338 | } | ||
| 339 | |||
| 310 | getDetail(data).then(res => { | 340 | getDetail(data).then(res => { |
| 311 | let { accessLog, registerInfo, accessInfo, accessList, registerList | 341 | let { accessLog, registerInfo, accessInfo, accessList, registerList |
| 312 | } = res.result | 342 | } = res.result |
| 343 | this.fhjg = showPattern(accessLog.RESPONSE) | ||
| 313 | this.accessLog = accessLog | 344 | this.accessLog = accessLog |
| 314 | this.resultInfo = accessLog.LOGSXML | 345 | this.resultInfo = accessLog.LOGSXML |
| 315 | this.registerInfo = registerInfo | 346 | this.registerInfo = registerInfo | ... | ... |
-
Please register or sign in to post a comment