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