9dd5c4b0 by xiaomiao

--no commit message

2 parents 1a0b2b79 f55854f3
...@@ -38,6 +38,7 @@ ...@@ -38,6 +38,7 @@
38 "babel-plugin-dynamic-import-node": "2.3.3", 38 "babel-plugin-dynamic-import-node": "2.3.3",
39 "chalk": "2.4.2", 39 "chalk": "2.4.2",
40 "connect": "3.6.6", 40 "connect": "3.6.6",
41 "copy-webpack-plugin": "^6.0.0",
41 "element-ui": "^2.15.13", 42 "element-ui": "^2.15.13",
42 "html-webpack-plugin": "3.2.0", 43 "html-webpack-plugin": "3.2.0",
43 "runjs": "4.3.2", 44 "runjs": "4.3.2",
......
1 <!--
2 * @Description: 引入配置文件
3 * @Autor: renchao
4 * @LastEditTime: 2023-03-15 16:15:45
5 -->
1 <!DOCTYPE html> 6 <!DOCTYPE html>
2 <html> 7 <html>
3 <head> 8
4 <meta charset="utf-8"> 9 <head>
5 <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"> 10 <meta charset="utf-8">
6 <meta name="renderer" content="webkit"> 11 <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
7 <meta name="referrer" content="no-referrer" /> 12 <meta name="renderer" content="webkit">
8 <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no"> 13 <meta name="referrer" content="no-referrer" />
9 <link rel="icon" href="<%= BASE_URL %>favicon.ico"> 14 <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no">
10 <title><%= webpackConfig.name %></title> 15 <link rel="icon" href="<%= BASE_URL %>favicon.ico">
11 </head> 16 <title>
12 <body> 17 <%= webpackConfig.name %>
13 <div id="app"></div> 18 </title>
14 <!-- built files will be auto injected --> 19 </head>
15 </body> 20
21 <body>
22 <div id="app"></div>
23 </body>
24
16 </html> 25 </html>
17 <script> 26 <script>
18 window.baseUrl = location.origin || location.protocol +'//'+location.host 27 document.write("<s" + "cript type='text/javascript' src='./config.js?" + Math.random().toString(36).substr(2) + "'></scr" + "ipt>");
28 window.baseUrl = location.origin || location.protocol + '//' + location.host
19 // window.authorization = 'bearer AT-14-h4UlUGjPvgmrIgnDO-3QgMP0m4YJGQTR'; 29 // window.authorization = 'bearer AT-14-h4UlUGjPvgmrIgnDO-3QgMP0m4YJGQTR';
20 // window.authorization = 'bearer AT-223-c-Q86EHx75m7ig3EDf-SwMWl4U0AKn0b'; 30 // window.authorization = 'bearer AT-223-c-Q86EHx75m7ig3EDf-SwMWl4U0AKn0b';
21 window.timeout=5000 31 window.timeout = 5000
22 window.authorization="bearer AT-4-MxSrO29Coe7VTazx8uuixtqqgO-hvCB6" 32 window.authorization = "bearer AT-4-MxSrO29Coe7VTazx8uuixtqqgO-hvCB6"
23 </script> 33 </script>
...\ No newline at end of file ...\ No newline at end of file
......
...@@ -4,12 +4,9 @@ ...@@ -4,12 +4,9 @@
4 * @LastEditTime: 2023-03-01 15:35:44 4 * @LastEditTime: 2023-03-01 15:35:44
5 */ 5 */
6 export default { 6 export default {
7 // SERVERAPI: '/service-bdcsjsb-th', //浩浩 7 TITLE: '汉中市数据上报系统',
8 // SERVERAPI: '/service-bdcsjsb-zz',
9 SERVERAPI: '/bdcsjsb', //赵千 8 SERVERAPI: '/bdcsjsb', //赵千
10 MANAGEMENTAPI: 'http://192.168.2.236/management' 9 MANAGEMENTAPI: 'http://192.168.2.236/management'
11 // SERVERAPI: '/bdcsjsb-service'
12 // SERVERAPI: '/bdcsjsb-jiao0'
13 } 10 }
14 // 汉中 11 // 汉中
15 // export default { 12 // export default {
......
1 <template> 1 <template>
2 <!-- 地图 --> 2 <!-- 地图 -->
3 <Echart 3 <Echart id="centreLeft2Chart" class="centreLeft2Chart" :key="key" ref="centreLeft2ChartRef" width="100%" height="100%"
4 id="centreLeft2Chart"
5 class="centreLeft2Chart"
6 :key="key"
7 ref="centreLeft2ChartRef"
8 width="100%"
9 height="100%"
10 :options="options"></Echart> 4 :options="options"></Echart>
11 </template> 5 </template>
12 6
13 <script> 7 <script>
14 import Echart from "@/common/echart"; 8 import Echart from "@/common/echart";
15 import { mapGetters } from "vuex"; 9 import { mapGetters } from "vuex";
16 export default { 10 export default {
17 data () { 11 data () {
18 return { 12 return {
19 options: {}, 13 options: {},
20 max: "5000", //最大value值 14 max: "5000", //最大value值
21 min: "1", // 最小value值 15 min: "1", // 最小value值
22 key: 0, 16 key: 0,
23 mapjson: "", 17 mapjson: "",
24 }; 18 };
19 },
20 components: {
21 Echart,
22 },
23 created () { },
24 props: {
25 cdata: {
26 type: Array,
27 default: () => [],
25 }, 28 },
26 components: { 29 },
27 Echart, 30 mounted () {
28 }, 31 window.addEventListener("resize", () => {
29 created () { }, 32 this.key++;
30 props: { 33 });
31 cdata: { 34 this.getDistrictcode();
32 type: Array, 35 },
33 default: () => [], 36 watch: {
34 }, 37 cdata: {
35 }, 38 handler (newData) {
36 mounted () { 39 let _this = this;
37 40 // 设置点的位置(经纬度)
38 window.addEventListener("resize", () => { 41 const geoCoordMap = {
39 this.key++; 42 汉台区: [107.03187, 33.06774, 20],
40 }); 43 南郑区: [106.94024, 33.00299, 20],
41 this.getDistrictcode(); 44 城固县: [107.33367, 33.15661, 20],
42 }, 45 洋县: [107.545837, 33.222739, 20],
43 watch: { 46 西乡县: [107.76867, 32.98411, 20],
44 cdata: { 47 镇巴县: [107.89648, 32.53487, 20],
45 handler (newData) { 48 勉县: [106.673221, 33.153553, 20],
46 let _this = this; 49 留坝县: [106.92233, 33.61606, 20],
47 // 设置点的位置(经纬度) 50 佛坪县: [107.98974, 33.52496, 20],
48 const geoCoordMap = { 51 宁强县: [106.25958, 32.82881, 20],
49 汉台区: [107.03187, 33.06774, 20], 52 略阳县: [106.15399, 33.33009, 20],
50 南郑区: [106.94024, 33.00299, 20], 53 };
51 城固县: [107.33367, 33.15661, 20], 54 this.options = {
52 洋县: [107.545837, 33.222739, 20], 55 showLegendSymbol: true,
53 西乡县: [107.76867, 32.98411, 20], 56 tooltip: {
54 镇巴县: [107.89648, 32.53487, 20], 57 trigger: "item",
55 勉县: [106.673221, 33.153553, 20], 58 textStyle: {
56 留坝县: [106.92233, 33.61606, 20], 59 fontSize: 14,
57 佛坪县: [107.98974, 33.52496, 20], 60 lineHeight: 22,
58 宁强县: [106.25958, 32.82881, 20], 61 },
59 略阳县: [106.15399, 33.33009, 20], 62 position: (point) => {
60 }; 63 // 固定在顶部
61 this.options = { 64 return [point[0] + 50, point[1] - 20];
62 showLegendSymbol: true, 65 },
63 tooltip: { 66 // 如果需要自定义 tooltip样式,需要使用formatter
64 trigger: "item", 67 formatter: (params) => {
65 textStyle: { 68 return `<div style="">${params.name}:${params.value + "个"
66 fontSize: 14, 69 }</div>`;
67 lineHeight: 22,
68 },
69 position: (point) => {
70 // 固定在顶部
71 return [point[0] + 50, point[1] - 20];
72 },
73 // 如果需要自定义 tooltip样式,需要使用formatter
74 formatter: (params) => {
75 return `<div style="">${params.name}:${params.value + "个"
76 }</div>`;
77 },
78 }, 70 },
79 visualMap: { 71 },
80 min: 0, 72 visualMap: {
81 max: _this.max, 73 min: 0,
82 bottom: "13%", 74 max: _this.max,
83 left: 50, 75 bottom: "12%",
84 splitNumber: 6, 76 left: 50,
85 seriesIndex: [0], 77 splitNumber: 6,
86 itemWidth: 20, // 每个图元的宽度 78 seriesIndex: [0],
87 itemGap: 2, // 每两个图元之间的间隔距离,单位为px 79 itemWidth: 20, // 每个图元的宽度
88 pieces: [ 80 itemGap: 2, // 每两个图元之间的间隔距离,单位为px
89 // 自定义每一段的范围,以及每一段的文字 81 pieces: [
90 { gte: 100, label: "5000以上", color: "#035cf5" }, // 不指定 max,表示 max 为无限大(Infinity)。 82 // 自定义每一段的范围,以及每一段的文字
91 { gte: 50, lte: 6000, label: "1000-5000", color: "#3375e4" }, 83 { gte: 100, label: "5000以上", color: "#035cf5" }, // 不指定 max,表示 max 为无限大(Infinity)。
92 { gte: 20, lte: 2000, label: "500-1000", color: "#6797ef" }, 84 { gte: 50, lte: 6000, label: "1000-5000", color: "#3375e4" },
93 { gte: 1, lte: 1000, label: "0-500", color: "#96b5ef" }, 85 { gte: 20, lte: 2000, label: "500-1000", color: "#6797ef" },
94 ], 86 { gte: 1, lte: 1000, label: "0-500", color: "#96b5ef" },
95 textStyle: { 87 ],
96 color: "#737373", 88 textStyle: {
89 color: "#737373",
90 },
91 },
92 geo: {
93 aspectScale: 1, //长宽比
94 zoom: 1.1,
95 mapType: "", // 自定义扩展图表类型
96 top: "15%",
97 left: "10%",
98 map: "汉中市",
99 itemStyle: {
100 normal: {
101 //阴影
102 areaColor: "#5689FD ",
103 shadowColor: "#21371d",
104 borderWidth: 0,
105 shadowOffsetX: 2,
106 shadowOffsetY: 25,
97 }, 107 },
98 }, 108 },
99 geo: { 109 },
110 series: [
111 {
112 type: "map",
100 aspectScale: 1, //长宽比 113 aspectScale: 1, //长宽比
101 zoom: 1.1, 114 zoom: 1.1,
102 mapType: "", // 自定义扩展图表类型 115 mapType: "汉中市", // 自定义扩展图表类型
103 top: "15%", 116 top: "15%",
104 left: "10%", 117 left: "10%",
105 map: "汉中市",
106 itemStyle: { 118 itemStyle: {
107 normal: { 119 normal: {
108 //阴影 120 areaColor: "rgba(19,54,162,.5)",
109 areaColor: "#5689FD ", 121 borderColor: "rgba(0,242,252,.5)",
110 shadowColor: "#21371d", 122 borderWidth: 2,
111 borderWidth: 0, 123 shadowBlur: 1,
112 shadowOffsetX: 2, 124 borderColor: "rgb(155, 200, 200)",
113 shadowOffsetY: 25, 125 shadowColor: "#44f2fc",
114 }, 126 },
115 }, 127 },
116 }, 128 label: {
117 series: [ 129 formatter: (params) => {
118 { 130 return `${params.name}\n${params.value + "个"}`;
119 type: "map",
120 aspectScale: 1, //长宽比
121 zoom: 1.1,
122 mapType: "汉中市", // 自定义扩展图表类型
123 top: "15%",
124 left: "10%",
125 itemStyle: {
126 normal: {
127 areaColor: "rgba(19,54,162,.5)",
128 borderColor: "rgba(0,242,252,.5)",
129 borderWidth: 2,
130 shadowBlur: 1,
131 borderColor: "rgb(155, 200, 200)",
132 shadowColor: "#44f2fc",
133 },
134 }, 131 },
135 label: { 132 show: true,
136 formatter: (params) => { 133 position: "insideRight",
137 return `${params.name}\n${params.value + "个"}`; 134 textStyle: {
138 }, 135 fontSize: 14,
139 show: true, 136 color: "#efefef",
140 position: "insideRight", 137 },
138 emphasis: {
141 textStyle: { 139 textStyle: {
142 fontSize: 14, 140 color: "#fff",
143 color: "#efefef",
144 },
145 emphasis: {
146 textStyle: {
147 color: "#fff",
148 },
149 }, 141 },
150 }, 142 },
151 data: newData,
152 }, 143 },
153 ], 144 data: newData,
154 }; 145 },
155 // 重新选择区域 146 ],
156 this.handleMapRandomSelect(); 147 };
157 }, 148 // 重新选择区域
158 149 this.handleMapRandomSelect();
159 immediate: true,
160 deep: true,
161 }, 150 },
151
152 immediate: true,
153 deep: true,
162 }, 154 },
163 computed: { 155 },
164 ...mapGetters(["sidebar", "dicData"]), 156 computed: {
165 logoName () { 157 ...mapGetters(["sidebar", "dicData"]),
166 return ( 158 logoName () {
167 this.dicData["sysCode"].filter((item) => { return item.DCODE == "areaMap" }) 159 return (
168 ); 160 this.dicData["sysCode"].filter((item) => { return item.DCODE == "areaMap" })
169 }, 161 );
170 }, 162 },
171 methods: { 163 },
172 // 根据行政区代码匹配行政区 164 methods: {
173 getDistrictcode () { 165 // 根据行政区代码匹配行政区
174 this.mapjson = "" 166 getDistrictcode () {
175 if (this.logoName[0].DNAME) { 167 this.mapjson = ""
176 this.mapjson = this.logoName[0].DNAME; 168 if (this.logoName[0].DNAME) {
177 require(`@/common/map/${this.mapjson}.js`); 169 this.mapjson = this.logoName[0].DNAME;
178 } 170 require(`@/common/map/${this.mapjson}.js`);
179 }, 171 }
180 // 开启定时器 172 },
181 startInterval () { 173 // 开启定时器
182 const _self = this; 174 startInterval () {
183 // 应通过接口获取配置时间,暂时写死5s 175 const _self = this;
184 const time = 2000; 176 // 应通过接口获取配置时间,暂时写死5s
185 if (this.intervalId !== null) { 177 const time = 2000;
186 clearInterval(this.intervalId); 178 if (this.intervalId !== null) {
179 clearInterval(this.intervalId);
180 }
181 this.intervalId = setInterval(() => {
182 this.$refs.centreLeft2ChartRef && _self.reSelectMapRandomArea();
183 }, time);
184 },
185 // 重新随机选中地图区域
186 reSelectMapRandomArea () {
187 const length = 9;
188 this.$nextTick(() => {
189 try {
190 const map = this.$refs.centreLeft2ChartRef.chart;
191 let index = Math.floor(Math.random() * length);
192 while (index === this.preSelectMapIndex || index >= length) {
193 index = Math.floor(Math.random() * length);
194 }
195 map.dispatchAction({
196 type: "mapUnSelect",
197 seriesIndex: 0,
198 dataIndex: this.preSelectMapIndex,
199 });
200 map.dispatchAction({
201 type: "showTip",
202 seriesIndex: 0,
203 dataIndex: index,
204 });
205 map.dispatchAction({
206 type: "mapSelect",
207 seriesIndex: 0,
208 dataIndex: index,
209 });
210 this.preSelectMapIndex = index;
211 } catch (error) {
212 console.log(error);
187 } 213 }
188 this.intervalId = setInterval(() => { 214 });
189 this.$refs.centreLeft2ChartRef && _self.reSelectMapRandomArea(); 215 },
190 }, time); 216 handleMapRandomSelect () {
191 }, 217 this.$nextTick(() => {
192 // 重新随机选中地图区域 218 try {
193 reSelectMapRandomArea () { 219 const map = this.$refs.centreLeft2ChartRef.chart;
194 const length = 9; 220 const _self = this;
195 this.$nextTick(() => { 221 setTimeout(() => {
196 try { 222 _self.reSelectMapRandomArea();
197 const map = this.$refs.centreLeft2ChartRef.chart; 223 }, 0);
198 let index = Math.floor(Math.random() * length); 224 // 移入区域,清除定时器、取消之前选中并选中当前
199 while (index === this.preSelectMapIndex || index >= length) { 225 map.on("mouseover", function (params) {
200 index = Math.floor(Math.random() * length); 226 clearInterval(_self.intervalId);
201 }
202 map.dispatchAction({ 227 map.dispatchAction({
203 type: "mapUnSelect", 228 type: "mapUnSelect",
204 seriesIndex: 0, 229 seriesIndex: 0,
205 dataIndex: this.preSelectMapIndex, 230 dataIndex: _self.preSelectMapIndex,
206 });
207 map.dispatchAction({
208 type: "showTip",
209 seriesIndex: 0,
210 dataIndex: index,
211 }); 231 });
212 map.dispatchAction({ 232 map.dispatchAction({
213 type: "mapSelect", 233 type: "mapSelect",
214 seriesIndex: 0, 234 seriesIndex: 0,
215 dataIndex: index, 235 dataIndex: params.dataIndex,
216 });
217 this.preSelectMapIndex = index;
218 } catch (error) {
219 console.log(error);
220 }
221 });
222 },
223 handleMapRandomSelect () {
224 this.$nextTick(() => {
225 try {
226 const map = this.$refs.centreLeft2ChartRef.chart;
227 const _self = this;
228 setTimeout(() => {
229 _self.reSelectMapRandomArea();
230 }, 0);
231 // 移入区域,清除定时器、取消之前选中并选中当前
232 map.on("mouseover", function (params) {
233 clearInterval(_self.intervalId);
234 map.dispatchAction({
235 type: "mapUnSelect",
236 seriesIndex: 0,
237 dataIndex: _self.preSelectMapIndex,
238 });
239 map.dispatchAction({
240 type: "mapSelect",
241 seriesIndex: 0,
242 dataIndex: params.dataIndex,
243 });
244 _self.preSelectMapIndex = params.dataIndex;
245 }); 236 });
246 // 移出区域重新随机选中地图区域,并开启定时器 237 _self.preSelectMapIndex = params.dataIndex;
247 map.on("globalout", function () { 238 });
248 _self.reSelectMapRandomArea(); 239 // 移出区域重新随机选中地图区域,并开启定时器
249 _self.startInterval(); 240 map.on("globalout", function () {
250 }); 241 _self.reSelectMapRandomArea();
251 this.startInterval(); 242 _self.startInterval();
252 } catch (error) { 243 });
253 console.log(error); 244 this.startInterval();
254 } 245 } catch (error) {
255 }); 246 console.log(error);
256 }, 247 }
248 });
257 }, 249 },
258 }; 250 },
251 };
259 </script> 252 </script>
260 <style></style> 253 <style></style>
......

1.74 MB | W: | H:

1.67 MB | W: | H:

  • 2-up
  • Swipe
  • Onion skin

256 KB | W: | H:

258 KB | W: | H:

  • 2-up
  • Swipe
  • Onion skin
1 /* 1 /*
2 * @Description: 2 * @Description:
3 * @Autor: renchao 3 * @Autor: renchao
4 * @LastEditTime: 2023-03-10 16:43:16 4 * @LastEditTime: 2023-03-15 11:17:28
5 */ 5 */
6 import router from "./router"; 6 import router from "./router";
7 import store from "./store"; 7 import store from "./store";
......
...@@ -222,7 +222,7 @@ export const asyncRoutes = [ ...@@ -222,7 +222,7 @@ export const asyncRoutes = [
222 path: 'validationRule', 222 path: 'validationRule',
223 component: () => import('@/views/system/validationRule/index'), 223 component: () => import('@/views/system/validationRule/index'),
224 name: 'validationRule', 224 name: 'validationRule',
225 meta: { title: '上报验规则配置' } 225 meta: { title: '上报验规则配置' }
226 }, 226 },
227 { 227 {
228 path: 'timedTask', 228 path: 'timedTask',
......
1 /*
2 * @Description:
3 * @Autor: renchao
4 * @LastEditTime: 2023-03-15 11:08:56
5 */
1 module.exports = { 6 module.exports = {
2 title: '', 7 title: '数据上报系统',
3 /** 8 /**
4 * @type {boolean} true | false 9 * @type {boolean} true | false
5 * @description Whether show the settings right-panel 10 * @description Whether show the settings right-panel
......
1 /*
2 * @Description:
3 * @Autor: renchao
4 * @LastEditTime: 2023-03-15 14:37:05
5 */
1 // 获取浏览器便签标题 6 // 获取浏览器便签标题
2 import defaultSettings from '@/settings' 7 import defaultSettings from '@/settings'
8 import config from '@/api/config'
3 9
4 const title = defaultSettings.title || '厦门市房屋数据服务平台' 10 const title = config.TITLE
5 11
6 export default function getPageTitle(pageTitle) { 12 export default function getPageTitle (pageTitle) {
7 if (pageTitle) { 13 if (pageTitle) {
8 return `${pageTitle} - ${title}` 14 return `${pageTitle} - ${title}`
9 } 15 }
......
...@@ -11,74 +11,75 @@ ...@@ -11,74 +11,75 @@
11 </template> 11 </template>
12 12
13 <script> 13 <script>
14 import maps from "@/components/Echart/Map"; 14 import maps from "@/components/Echart/Map";
15 import brokenline from "@/components/Echart/Brokenline"; 15 import brokenline from "@/components/Echart/Brokenline";
16 export default { 16 export default {
17 data () { 17 data () {
18 return {}; 18 return {};
19 }, 19 },
20 components: { maps, brokenline }, 20 components: { maps, brokenline },
21 mounted () { }, 21 mounted () { },
22 beforeDestroy () { }, 22 beforeDestroy () { },
23 methods: {}, 23 methods: {},
24 }; 24 };
25 </script> 25 </script>
26 26
27 <style lang="scss" scoped> 27 <style lang="scss" scoped>
28 .centercard { 28 .centercard {
29 width: 44%; 29 width: 40%;
30 height: calc(100vh - 114px); 30 height: calc(100vh - 114px);
31 box-sizing: border-box; 31 box-sizing: border-box;
32 padding: 0 0.0521rem; 32 padding: 0 0.0521rem;
33 display: flex; 33 display: flex;
34 flex-direction: column; 34 flex-direction: column;
35 35
36 .card1 { 36 .card1 {
37 width: 100%; 37 width: 100%;
38 background: url("~@/image/mapcenter.png") no-repeat; 38 background: url("~@/image/mapcenter.png") no-repeat;
39 background-size: 100% 100%; 39 background-size: 100% 100%;
40 position: relative; 40 position: relative;
41 height: 64%; 41 height: 64%;
42 42
43 .title { 43 .title {
44 position: absolute; 44 position: absolute;
45 font-weight: bold; 45 font-weight: bold;
46 color: #02d9fd; 46 color: #02d9fd;
47 line-height: 0.1354rem; 47 line-height: 0.1354rem;
48 font-size: 0.1146rem; 48 font-size: 0.1146rem;
49 position: absolute; 49 position: absolute;
50 left: 0; 50 left: 0;
51 right: 0; 51 right: 0;
52 top: 0.0365rem; 52 top: 0.0365rem;
53 text-align: right; 53 text-align: right;
54 padding-right: 15%; 54 padding-right: 15%;
55 }
56 } 55 }
56 }
57 57
58 .card2 { 58 .card2 {
59 width: 100%; 59 width: 100%;
60 background: url("~@/image/sjqs.png") no-repeat; 60 background: url("~@/image/sjqs.png") no-repeat;
61 background-size: 100% 100%; 61 background-size: 100% 100%;
62 position: relative; 62 position: relative;
63 flex: 1; 63 flex: 1;
64 64
65 .title { 65 .title {
66 position: absolute; 66 position: absolute;
67 font-weight: bold; 67 font-weight: bold;
68 color: #02d9fd; 68 color: #02d9fd;
69 line-height: 0.1354rem; 69 line-height: 0.1354rem;
70 font-size: 0.1146rem; 70 font-size: 0.1146rem;
71 position: absolute; 71 position: absolute;
72 left: 0; 72 left: 0;
73 right: 0; 73 right: 0;
74 top: 0.0365rem; 74 top: 0.0365rem;
75 text-align: center; 75 text-align: center;
76 margin-bottom: 0.0521rem; 76 margin-bottom: 0.0521rem;
77 } 77 }
78 .brokenline { 78
79 margin: auto; 79 .brokenline {
80 width: 100%; 80 margin: auto;
81 } 81 width: 100%;
82 } 82 }
83 } 83 }
84 }
84 </style> 85 </style>
......
...@@ -55,200 +55,201 @@ ...@@ -55,200 +55,201 @@
55 55
56 <script> 56 <script>
57 57
58 import columnar from "@/components/Echart/Columnar"; 58 import columnar from "@/components/Echart/Columnar";
59 import work from "@/api/work"; 59 import work from "@/api/work";
60 export default { 60 export default {
61 data () { 61 data () {
62 return { 62 return {
63 // 日均接入量 63 // 日均接入量
64 qxerrer: "", 64 qxerrer: "",
65 qxsuccess: "", 65 qxsuccess: "",
66 sterrer: "", 66 sterrer: "",
67 stsuccess: "", 67 stsuccess: "",
68 qxjrl: "", 68 qxjrl: "",
69 stjrl: "", 69 stjrl: "",
70 qxcgl: "", 70 qxcgl: "",
71 stcgl: "" 71 stcgl: ""
72 }; 72 };
73 },
74 mounted () {
75 this.getsthjqxjrtotal();
76 },
77 components: { columnar },
78 computed: {
79 qxjrlList: function () {
80 return this.qxjrl && this.qxjrl.toString().split("");
73 }, 81 },
74 mounted () { 82 stjrlList: function () {
75 this.getsthjqxjrtotal(); 83 return this.stjrl && this.stjrl.toString().split("");
76 }, 84 },
77 components: { columnar }, 85 },
78 computed: { 86 methods: {
79 qxjrlList: function () { 87 getsthjqxjrtotal () {
80 return this.qxjrl && this.qxjrl.toString().split(""); 88 return new Promise(async (resolve) => {
81 }, 89 try {
82 stjrlList: function () { 90 let p = {
83 return this.stjrl && this.stjrl.toString().split(""); 91 DJLX: "",
84 }, 92 QLLX: "",
85 }, 93 XZQDM: "",
86 methods: { 94 };
87 getsthjqxjrtotal () { 95 let res = await work.getsthjqxjrtotal(p);
88 return new Promise(async (resolve) => { 96 this.stjrl = res.result.stsum
89 try { 97 this.qxjrl = res.result.qxsum
90 let p = { 98 this.qxerrer = Number(res.result.qxjrerrer)
91 DJLX: "", 99 this.sterrer = Number(res.result.sthjerrer)
92 QLLX: "", 100 if (res.result.sum == "0") {
93 XZQDM: "", 101 this.qxcgl = "100%"
94 }; 102 this.stcgl = "100%"
95 let res = await work.getsthjqxjrtotal(p); 103 } else {
96 this.stjrl = res.result.stsum 104 let qxcglnum = Number(res.result.qxjrsuccess) / this.qxjrl * 100
97 this.qxjrl = res.result.qxsum 105 let stcgl = Number(res.result.sthjsuccess) / this.qxjrl * 100
98 this.qxerrer = Number(res.result.qxjrerrer) 106 this.qxcgl = qxcglnum.toFixed(2) + "%";
99 this.sterrer = Number(res.result.sthjerrer) 107 this.stcgl = stcgl.toFixed(2) + "%";
100 if (res.result.sum == "0") { 108
101 this.qxcgl = "100%"
102 this.stcgl = "100%"
103 } else {
104 let qxcglnum = Number(res.result.qxjrsuccess) / this.qxjrl * 100
105 let stcgl = Number(res.result.sthjsuccess) / this.qxjrl * 100
106 this.qxcgl = qxcglnum.toFixed(2) + "%";
107 this.stcgl = stcgl.toFixed(2) + "%";
108
109 }
110 } catch (error) {
111 this.$refs.msg.messageShow();
112 } 109 }
113 }); 110 } catch (error) {
114 }, 111 this.$refs.msg.messageShow();
112 }
113 });
115 }, 114 },
116 }; 115 },
116 };
117 </script> 117 </script>
118 118
119 <style lang="scss" scoped> 119 <style lang="scss" scoped>
120 .leftcard { 120 .leftcard {
121 width: 32%; 121 width: 30%;
122 display: flex;
123 height: calc(100vh - 114px);
124 flex-direction: column;
125
126 .card {
127 height: 22%;
128 background: url("~@/image/qxjr.png") no-repeat;
129 background-size: 100% 100%;
130 position: relative;
131 text-align: center;
132 width: 100%;
133 }
134
135 .carda {
136 height: 22%;
137 background: url("~@/image/sthj.png") no-repeat;
138 background-size: 100% 100%;
139 position: relative;
140 text-align: center;
141 width: 100%;
142 }
143
144 .card1 {
145 background: url("~@/image/sbtj.png") no-repeat;
146 background-size: 100% 100%;
147 position: relative;
148 box-sizing: border-box;
149 flex: 1;
150 }
151
152 .cardhead {
153 color: #02d9fd;
154 line-height: 0.125rem;
155 letter-spacing: 0.0104rem;
156 position: absolute;
157 font-size: 0.1042rem;
158 left: 0;
159 right: 0;
160 margin: auto;
161 text-align: center;
162 top: 8px;
163 font-weight: 700;
164 }
165
166 .rjjrlList {
122 display: flex; 167 display: flex;
123 height: calc(100vh - 114px); 168 margin-top: 0.01781rem;
124 flex-direction: column;
125 169
126 .card { 170 .qxjr {
127 height: 22%; 171 background: url("~@/image/jrl3.png");
128 background: url("~@/image/qxjr.png") no-repeat;
129 background-size: 100% 100%;
130 position: relative;
131 text-align: center;
132 width: 100%;
133 }
134 .carda {
135 height: 22%;
136 background: url("~@/image/sthj.png") no-repeat;
137 background-size: 100% 100%; 172 background-size: 100% 100%;
138 position: relative; 173 width: 29px;
139 text-align: center; 174 height: 46px;
140 width: 100%;
141 } 175 }
142 176
143 .card1 { 177 .sthj {
144 background: url("~@/image/sbtj.png") no-repeat; 178 background: url("~@/image/jh.png");
145 background-size: 100% 100%; 179 background-size: 100% 100%;
146 position: relative; 180 width: 29px;
147 box-sizing: border-box; 181 height: 46px;
148 flex: 1;
149 } 182 }
150 183
151 .cardhead { 184 p {
152 color: #02d9fd; 185 margin: 0 0.0156rem 0.0521rem 0.0156rem;
153 line-height: 0.125rem;
154 letter-spacing: 0.0104rem;
155 position: absolute;
156 font-size: 0.1042rem;
157 left: 0;
158 right: 0;
159 margin: auto;
160 text-align: center;
161 top: 8px;
162 font-weight: 700; 186 font-weight: 700;
187 font-size: 30px;
163 } 188 }
189 }
164 190
165 .rjjrlList { 191 .cardcontent {
166 display: flex; 192 width: 100%;
167 margin-top: 0.01781rem; 193 height: 100%;
168 194 display: flex;
169 .qxjr { 195 // padding: 35px 20px 20px 20px;
170 background: url("~@/image/jrl3.png"); 196 box-sizing: border-box;
171 background-size: 100% 100%; 197 color: #e3f1ff;
172 } 198 margin-top: 0.1263rem;
199
200 .cardcontent-left {
201 width: 60%;
202 flex-direction: column;
203 position: relative;
204 flex: 1;
205 height: 100%;
173 206
174 .sthj { 207 li {
175 background: url("~@/image/jh.png"); 208 font-size: 0.1042rem;
176 background-size: 100% 100%;
177 } 209 }
210 }
178 211
179 p { 212 .cardcontent-left::before {
180 margin: 0 0.0156rem 0.0521rem 0.0156rem; 213 position: absolute;
181 font-weight: 700; 214 right: 0;
182 width: 0.195rem; 215 top: 0.24rem;
183 height: 0.2475rem; 216 content: "";
184 font-size: 0.2863rem; 217 width: 0.0052rem;
185 font-size: 0.2867rem; 218 height: 0.4688rem;
186 } 219 background: linear-gradient(180deg,
220 #091b4c 0%,
221 #47b5e0 56%,
222 #091b4c 100%);
187 } 223 }
188 224
189 .cardcontent { 225 .cardcontent-right {
226 flex: 1;
190 width: 100%; 227 width: 100%;
191 height: 100%; 228 height: 100%;
192 display: flex; 229 flex-direction: column;
193 // padding: 35px 20px 20px 20px; 230 font-size: 0.09977rem;
194 box-sizing: border-box;
195 color: #e3f1ff;
196 margin-top: 0.1263rem;
197
198 .cardcontent-left {
199 width: 60%;
200 flex-direction: column;
201 position: relative;
202 flex: 1;
203 height: 100%;
204 li {
205 font-size: 0.1042rem;
206 }
207 }
208 231
209 .cardcontent-left::before { 232 .bad {
210 position: absolute; 233 color: #c97168;
211 right: 0;
212 top: 0.3042rem;
213 content: "";
214 width: 0.0052rem;
215 height: 0.4688rem;
216 background: linear-gradient(
217 180deg,
218 #091b4c 0%,
219 #47b5e0 56%,
220 #091b4c 100%
221 );
222 } 234 }
223 235
224 .cardcontent-right { 236 .cg {
225 flex: 1; 237 color: #5fba7d;
226 width: 100%; 238 }
227 height: 100%;
228 flex-direction: column;
229 font-size: 0.09977rem;
230 239
231 .bad { 240 p {
232 color: #c97168; 241 margin-bottom: 0.0417rem;
233 }
234 242
235 .cg { 243 span:nth-child(1) {
236 color: #5fba7d; 244 margin-right: 0.0781rem;
237 } 245 }
238 246
239 p { 247 span:nth-child(2) {
240 margin-bottom: 0.0417rem; 248 font-size: 20px;
241 249 font-weight: 900;
242 span:nth-child(1) {
243 margin-right: 0.0781rem;
244 }
245
246 span:nth-child(2) {
247 font-size: 0.1142rem;
248 font-weight: 900;
249 }
250 } 250 }
251 } 251 }
252 } 252 }
253 } 253 }
254 }
254 </style> 255 </style>
......
...@@ -40,9 +40,13 @@ ...@@ -40,9 +40,13 @@
40 mounted () { 40 mounted () {
41 this.getdjywltotal(); 41 this.getdjywltotal();
42 window.addEventListener("resize", () => { 42 window.addEventListener("resize", () => {
43 this.cdata.seriesData = [];
43 this.getdjywltotal(); 44 this.getdjywltotal();
44 }); 45 window.addEventListener("resize", () => {
45 // scroll(tableref.value.$refs.bodyWrapper);//设置滚动 46 this.getdjywltotal();
47 });
48 // scroll(tableref.value.$refs.bodyWrapper);//设置滚动
49 })
46 }, 50 },
47 methods: { 51 methods: {
48 // 获取登记业务量玫瑰图数据 52 // 获取登记业务量玫瑰图数据
...@@ -77,7 +81,7 @@ ...@@ -77,7 +81,7 @@
77 } 81 }
78 82
79 .rightcard { 83 .rightcard {
80 width: 32%; 84 width: 30%;
81 display: flex; 85 display: flex;
82 height: calc(100vh - 114px); 86 height: calc(100vh - 114px);
83 flex-direction: column; 87 flex-direction: column;
...@@ -120,20 +124,24 @@ ...@@ -120,20 +124,24 @@
120 height: 33%; 124 height: 33%;
121 background: url("~@/image/xjgyfwxx.png") no-repeat; 125 background: url("~@/image/xjgyfwxx.png") no-repeat;
122 background-size: 100% 100%; 126 background-size: 100% 100%;
127
123 /deep/.dv-scroll-board { 128 /deep/.dv-scroll-board {
124 .header { 129 .header {
125 height: 0.1875rem; 130 height: 0.1875rem;
126 align-items: center; 131 align-items: center;
127 } 132 }
128 } 133 }
134
129 .board { 135 .board {
130 width: 90%; 136 width: 90%;
131 margin: 0 auto; 137 margin: 0 auto;
132 height: 1.1031rem; 138 height: 1.1031rem;
133 margin-top: 0.0521rem; 139 margin-top: 0.0521rem;
140
134 /deep/.header { 141 /deep/.header {
135 font-size: 0.0738rem; 142 font-size: 0.0738rem;
136 } 143 }
144
137 /deep/.rows { 145 /deep/.rows {
138 .ceil { 146 .ceil {
139 font-size: 0.0738rem; 147 font-size: 0.0738rem;
......
1 /*
2 * @Description:
3 * @Autor: renchao
4 * @LastEditTime: 2023-03-15 14:08:59
5 */
1 import filter from '@/utils/filter.js' 6 import filter from '@/utils/filter.js'
2 class data extends filter { 7 class data extends filter {
3 constructor() { 8 constructor() {
...@@ -12,9 +17,9 @@ class data extends filter { ...@@ -12,9 +17,9 @@ class data extends filter {
12 render: (h, scope) => { 17 render: (h, scope) => {
13 return ( 18 return (
14 <div> 19 <div>
15 <span class='adopt' v-show={scope.row.receiveState == 0}></span> 20 <span class='adopt' v-show={scope.row.receiveState == 0}></span>
16 <span class='adopt' v-show={scope.row.receiveState == 1}>验成功</span> 21 <span class='adopt' v-show={scope.row.receiveState == 1}>验成功</span>
17 <span class='warehousing' v-show={scope.row.receiveState == 2}>验失败</span> 22 <span class='warehousing' v-show={scope.row.receiveState == 2}>验失败</span>
18 </div> 23 </div>
19 ) 24 )
20 } 25 }
...@@ -46,7 +51,7 @@ class data extends filter { ...@@ -46,7 +51,7 @@ class data extends filter {
46 { 51 {
47 prop: "bizMsgid", 52 prop: "bizMsgid",
48 label: "业务报文ID", 53 label: "业务报文ID",
49 width: 98, 54 minWidth: 100,
50 }, 55 },
51 { 56 {
52 prop: "createdate", 57 prop: "createdate",
...@@ -56,12 +61,12 @@ class data extends filter { ...@@ -56,12 +61,12 @@ class data extends filter {
56 { 61 {
57 prop: "recflowid", 62 prop: "recflowid",
58 label: "业务流水号", 63 label: "业务流水号",
59 width: 100, 64 minWidth: 100,
60 }, 65 },
61 { 66 {
62 prop: "estatenum", 67 prop: "estatenum",
63 label: "不动产单元号", 68 label: "不动产单元号",
64 width: 240, 69 minWidth: 160,
65 }, 70 },
66 { 71 {
67 prop: "rectype", 72 prop: "rectype",
......
...@@ -156,8 +156,8 @@ ...@@ -156,8 +156,8 @@
156 .login-logo { 156 .login-logo {
157 background: url(../../image/loginLogo.png) no-repeat; 157 background: url(../../image/loginLogo.png) no-repeat;
158 background-size: 100% 100%; 158 background-size: 100% 100%;
159 width: 28%; 159 width: 580px;
160 height: 52%; 160 height: 540px;
161 position: absolute; 161 position: absolute;
162 top: 25%; 162 top: 25%;
163 left: 19%; 163 left: 19%;
...@@ -171,7 +171,7 @@ ...@@ -171,7 +171,7 @@
171 min-width: 360px; 171 min-width: 360px;
172 min-height: 380px; 172 min-height: 380px;
173 top: 30%; 173 top: 30%;
174 right: 20%; 174 right: 18%;
175 position: absolute; 175 position: absolute;
176 background-size: 100% 100%; 176 background-size: 100% 100%;
177 box-sizing: border-box; 177 box-sizing: border-box;
......
1 <template> 1 <template>
2 <!-- 编辑 --> 2 <!-- 编辑 -->
3 <dialogBox ref="validRule" width="60%" @submitForm="handleSubmit" :closed="true" @closeDialog="handleClose" 3 <dialogBox ref="validRule" width="60%" @submitForm="handleSubmit" :closed="true" @closeDialog="handleClose"
4 customClass="editValidRule" multiple title="上报验规则设置"> 4 customClass="editValidRule" multiple title="上报验规则设置">
5 <el-form :model="ruleForm" :rules="rules" ref="ruleForm" label-width="120px"> 5 <el-form :model="ruleForm" :rules="rules" ref="ruleForm" label-width="120px">
6 <el-row :gutter="20"> 6 <el-row :gutter="20">
7 <el-col :span="12"> 7 <el-col :span="12">
...@@ -84,10 +84,10 @@ export default { ...@@ -84,10 +84,10 @@ export default {
84 ) 84 )
85 } 85 }
86 }, 86 },
87 // 验表达式 87 // 验表达式
88 { 88 {
89 prop: 'EXPRESSION', 89 prop: 'EXPRESSION',
90 label: '验表达式', 90 label: '验表达式',
91 render: (h, scope) => { 91 render: (h, scope) => {
92 return ( 92 return (
93 <el-select value={scope.row[scope.column.property]} clearable 93 <el-select value={scope.row[scope.column.property]} clearable
...@@ -204,7 +204,5 @@ export default { ...@@ -204,7 +204,5 @@ export default {
204 } 204 }
205 } 205 }
206 </script> 206 </script>
207 <style rel="stylesheet/less" lang="less" scoped> 207 <style rel="stylesheet/less" lang="less" scoped></style>
208
209 </style>
210 208
......
1 <template> 1 <template>
2 <dialogBox class="modifydialog" :isMain="true" width="40%" :title="title" @closeDialog="close" @submitForm="submitForm" 2 <dialogBox class="modifydialog" :isMain="true" width="40%" :title="title" @closeDialog="close" @submitForm="submitForm"
3 v-model="myValue"> 3 v-model="myValue">
4 <div class="modifydialog-con"> 4 <div class="dialogCon">
5 <el-form ref="form" :model="form" :rules="rules"> 5 <el-form ref="form" :model="form" :rules="rules">
6 <el-row :gutter="24"> 6 <el-row :gutter="24">
7 <el-col :span="12"> 7 <el-col :span="12">
......
...@@ -13,10 +13,9 @@ ...@@ -13,10 +13,9 @@
13 </el-form> 13 </el-form>
14 </div> 14 </div>
15 <div class="from-clues-content"> 15 <div class="from-clues-content">
16 <lb-table :pagination="false" :column="tableData. 16 <lb-table :pagination="false" :column="tableData.columns" :calcHeight="200" :data="tablelistData" row-key="id"
17 columns" :calcHeight="200" 17 default-expand-all :tree-props="{ children: 'children', hasChildren: 'hasChildren' }">
18 :data="tablelistData" row-key="id" default-expand-all 18
19 :tree-props="{ children: 'children', hasChildren: 'hasChildren' }">
20 </lb-table> 19 </lb-table>
21 </div> 20 </div>
22 <edit-dialog ref="dialogForm" v-model="isDialog" :product-id="productId" :resource-category-id="resourceCategoryId" 21 <edit-dialog ref="dialogForm" v-model="isDialog" :product-id="productId" :resource-category-id="resourceCategoryId"
......
...@@ -8,6 +8,8 @@ function resolve (dir) { ...@@ -8,6 +8,8 @@ function resolve (dir) {
8 const name = defaultSettings.title 8 const name = defaultSettings.title
9 const port = process.env.port || process.env.npm_config_port || 8888 // dev port 9 const port = process.env.port || process.env.npm_config_port || 8888 // dev port
10 10
11 const CopyWebpackPlugin = require('copy-webpack-plugin')
12
11 // All configuration item explanations can be find in https://cli.vuejs.org/config/ 13 // All configuration item explanations can be find in https://cli.vuejs.org/config/
12 module.exports = { 14 module.exports = {
13 /** 15 /**
...@@ -68,6 +70,7 @@ module.exports = { ...@@ -68,6 +70,7 @@ module.exports = {
68 '@': resolve('src') 70 '@': resolve('src')
69 } 71 }
70 }, 72 },
73 plugins: [new CopyWebpackPlugin({ patterns: [{ from: 'src/api/config.js', to: 'config.js'}] })],
71 devtool: '#eval-source-map' //测试 74 devtool: '#eval-source-map' //测试
72 }, 75 },
73 // chainWebpack通过链式编程的形式,来修改默认的webpack配置 76 // chainWebpack通过链式编程的形式,来修改默认的webpack配置
......