Skip to content
Toggle navigation
Toggle navigation
This project
Loading...
Sign in
bdc
/
bdcjg-web
Go to a project
Toggle navigation
Toggle navigation pinning
Projects
Groups
Snippets
Help
Project
Activity
Repository
Pipelines
Graphs
Issues
0
Merge Requests
0
Wiki
Network
Create a new issue
Builds
Commits
Issue Boards
Files
Commits
Network
Compare
Branches
Tags
b07beb91
authored
2023-07-04 16:46:11 +0800
by
renchao@pashanhoo.com
Browse Files
Options
Browse Files
Tag
Download
Plain Diff
Merge branch 'dev'
2 parents
5e7920b8
cd123ad2
Hide whitespace changes
Inline
Side-by-side
Showing
16 changed files
with
569 additions
and
480 deletions
.env.development
src/api/work.js
src/base.js
src/components/Business/kttFwZrz.vue
src/components/Echart/Brokenline/index.vue
src/components/Echart/Columnarsmat/index.vue
src/components/Echart/Map/Chart.vue
src/components/Echart/Map/index.vue
src/components/Echart/Rose/index.vue
src/views/home/dataView/centercard.vue
src/views/home/dataView/leftcard.vue
src/views/home/dataView/rightcard.vue
src/views/home/dataView/screencontent.vue
src/views/qxjr/gbxxcx/index.vue
src/views/sthj/components/editDialog.vue
src/views/sthj/sbbwcx/index.vue
.env.development
View file @
b07beb9
###
# @Description:
# @Autor: renchao
# @LastEditTime: 2023-05-
15 10:37:45
# @LastEditTime: 2023-05-
29 10:26:00
ENV = 'development'
NODE_ENV=development
# base api
VUE_APP_BASE_API = '/api'
# 开发环境
VUE_APP_API_BASE_URL = 'http://192.168.2.38:802
6
'
VUE_APP_API_BASE_URL = 'http://192.168.2.38:802
7
'
...
...
src/api/work.js
View file @
b07beb9
...
...
@@ -61,6 +61,18 @@ class work {
}
})
}
// 新建国有房屋信息
// /bdcsjsb/rest/reg/work/qxmrjrsb
async
qxmrjrsb
(
code
)
{
return
request
({
url
:
SERVER
.
SERVERAPI
+
'/rest/reg/work/qxmrjrsb'
,
method
:
'get'
,
params
:
{
code
:
code
}
})
}
// 地图区县成功失败统计,code区县编码,汉中为:A20
async
submitViews
(
code
)
{
return
request
({
...
...
src/base.js
View file @
b07beb9
/*
* @Description:
* @Autor: renchao
* @LastEditTime: 2023-0
3-27 09:53:16
* @LastEditTime: 2023-0
5-29 09:36:27
*/
import
dialogBox
from
'@/components/DialogBox'
import
LbTable
from
'@/components/LbTable'
import
Breadcrumb
from
"@/components/Breadcrumb.vue"
;
// 引入按钮
import
btn
from
'@/components/Button.vue'
import
Popup
from
'@/components/Popup/index'
import
MessageBox
from
'@/components/MessageBox/index.js'
export
default
{
install
:
(
Vue
)
=>
{
...
...
src/components/Business/kttFwZrz.vue
View file @
b07beb9
<!--
* @Description :自然幢表单组件
* @Autor : miaofang
* @LastEditTime
: 2023-05-17 17:09:45
* @LastEditTime
: 2023-05-29 10:30:46
-->
<
template
>
<div
class=
"naturalBuilding itemForm"
>
...
...
src/components/Echart/Brokenline/index.vue
View file @
b07beb9
...
...
@@ -3,43 +3,51 @@
</
template
>
<
script
>
import
Chart
from
'./Chart'
import
work
from
"@/api/work"
;
export
default
{
data
()
{
return
{
cdata
:
{
legendItem
:
[
'接入'
,
'上报'
,
'登簿'
],
color
:
[
"#02D9FD"
,
"#FF7962"
,
"#F5C03D "
],
echartData
:
[]
}
}
},
components
:
{
Chart
},
mounted
()
{
window
.
addEventListener
(
"resize"
,
()
=>
{
this
.
dataTrend
()
});
this
.
dataTrend
()
},
methods
:
{
async
dataTrend
()
{
try
{
let
{
result
:
res
}
=
await
work
.
dataTrend
();
this
.
cdata
.
echartData
=
[];
this
.
cdata
.
echartData
=
res
,
this
.
cdata
.
echartData
.
reverse
()
}
catch
(
error
)
{
console
.
log
(
error
);
import
Chart
from
'./Chart'
import
work
from
"@/api/work"
;
export
default
{
data
()
{
return
{
cdata
:
{
timer
:
null
,
legendItem
:
[
'接入'
,
'上报'
,
'登簿'
],
color
:
[
"#02D9FD"
,
"#FF7962"
,
"#F5C03D "
],
echartData
:
[]
}
}
},
},
}
components
:
{
Chart
},
created
()
{
this
.
dataTrend
()
this
.
timer
=
setInterval
(()
=>
{
this
.
dataTrend
()
},
10000
)
// 10s
},
mounted
()
{
window
.
addEventListener
(
"resize"
,
()
=>
{
this
.
dataTrend
()
});
},
methods
:
{
async
dataTrend
()
{
try
{
let
{
result
:
res
}
=
await
work
.
dataTrend
();
this
.
cdata
.
echartData
=
[];
this
.
cdata
.
echartData
=
res
,
this
.
cdata
.
echartData
.
reverse
()
}
catch
(
error
)
{
console
.
log
(
error
);
}
},
},
destroyed
()
{
clearInterval
(
this
.
timer
)
}
}
</
script
>
...
...
src/components/Echart/Columnarsmat/index.vue
View file @
b07beb9
<!--
* @Description:
* @Autor: renchao
* @LastEditTime: 2023-07-04 13:54:34
-->
<
template
>
<!-- 登记类型总量 -->
<Chart
:cdata=
"cdata"
/>
<!-- 登记类型总量 -->
<Chart
:cdata=
"cdata"
/>
</
template
>
<
script
>
import
Chart
from
"./Chart"
;
import
work
from
"@/api/work"
;
export
default
{
data
()
{
return
{
cdata
:
{
category
:
[],
lineData
:
[],
},
};
},
components
:
{
Chart
,
},
mounted
()
{
this
.
getDjlxtotal
();
},
methods
:
{
getDjlxtotal
()
{
return
new
Promise
(
async
(
resolve
)
=>
{
try
{
let
p
=
{
DJLX
:
""
,
QLLX
:
""
,
XZQDM
:
""
,
};
let
res
=
await
work
.
getDjlxtotal
(
p
);
res
.
result
.
map
((
item
)
=>
{
return
(
this
.
cdata
.
category
.
push
(
item
.
AREACODE
),
this
.
cdata
.
lineData
.
push
(
item
.
ywtotal
)
);
});
}
catch
(
error
)
{
this
.
$refs
.
msg
.
messageShow
();
import
Chart
from
"./Chart"
;
import
work
from
"@/api/work"
;
export
default
{
data
()
{
return
{
cdata
:
{
timer
:
null
,
category
:
[],
lineData
:
[]
}
});
}
},
components
:
{
Chart
},
mounted
()
{
this
.
getDjlxtotal
()
this
.
timer
=
setInterval
(()
=>
{
this
.
getDjlxtotal
()
},
10000
)
// 10s
},
methods
:
{
getDjlxtotal
()
{
return
new
Promise
(
async
(
resolve
)
=>
{
try
{
let
p
=
{
DJLX
:
""
,
QLLX
:
""
,
XZQDM
:
""
,
};
let
res
=
await
work
.
getDjlxtotal
(
p
)
this
.
cdata
.
category
=
res
.
result
.
map
(
item
=>
item
.
AREACODE
)
this
.
cdata
.
lineData
=
res
.
result
.
map
(
item
=>
item
.
ywtotal
)
}
catch
(
error
)
{
this
.
$refs
.
msg
.
messageShow
()
}
})
}
},
destroyed
()
{
clearInterval
(
this
.
timer
)
}
}
};
};
</
script
>
<
style
lang=
"scss"
scoped
>
</
style
>
...
...
src/components/Echart/Map/Chart.vue
View file @
b07beb9
...
...
@@ -5,254 +5,262 @@
</
template
>
<
script
>
import
Echart
from
"@/common/echart"
;
import
{
mapGetters
}
from
"vuex"
;
export
default
{
data
()
{
return
{
options
:
{},
max
:
"5000"
,
//最大value值
min
:
"1"
,
// 最小value值
key
:
0
,
mapjson
:
""
,
};
},
components
:
{
Echart
,
},
created
()
{
},
props
:
{
cdata
:
{
type
:
Array
,
default
:
()
=>
[],
import
Echart
from
"@/common/echart"
;
import
{
mapGetters
}
from
"vuex"
;
export
default
{
data
()
{
return
{
options
:
{},
max
:
"5000"
,
//最大value值
min
:
"1"
,
// 最小value值
key
:
0
,
mapjson
:
""
,
};
},
},
mounted
()
{
window
.
addEventListener
(
"resize"
,
()
=>
{
this
.
key
++
;
});
// 根据行政区代码匹配行政区
require
(
`@/common/map/
${
this
.
BASE_API
.
AREARMAP
}
.js`
);
},
watch
:
{
cdata
:
{
handler
(
newData
)
{
let
_this
=
this
;
// 设置点的位置(经纬度)
this
.
options
=
{
showLegendSymbol
:
false
,
tooltip
:
{
trigger
:
"item"
,
textStyle
:
{
fontSize
:
14
,
lineHeight
:
22
,
},
position
:
(
point
)
=>
{
// 固定在顶部
return
[
point
[
0
]
+
50
,
point
[
1
]
-
20
];
},
// 如果需要自定义 tooltip样式,需要使用formatter
formatter
:
(
params
)
=>
{
return
`<div style="">
${
params
.
name
}
:
${
params
.
value
+
"个"
}
<
/div>`
;
}
,
},
visualMap: {
min: 0,
max: _this.max,
bottom: "6%",
left: 50,
splitNumber: 6,
seriesIndex: [0],
itemWidth: 20, // 每个图元的宽度
itemGap: 4, // 每两个图元之间的间隔距离,单位为px
selectedMode: false, // 是否允许点击
pieces: [
// 自定义每一段的范围,以及每一段的文字
{ gte: 5000, label: "≥5000", color: "#056BEC" }, // 不指定 max,表示 max 为无限大(Infinity)。
{ gte: 1000, lte: 5000, label: "1000-5000", color: "#48BDE3" },
{ gte: 500, lte: 1000, label: "500-1000", color: "#0494F3" },
{ gte: 0, lte: 500, label: "≤500", color: "#1872CC" },
],
textStyle: {
color: "#CEF8FF",
}
},
geo: [{
aspectScale: 1, //长宽比
zoom: 1.1,
mapType: "", // 自定义扩展图表类型
top: "15%",
left: "10%",
map: this.BASE_API.AREARMAP,
itemStyle: {
normal: {
//阴影
areaColor: "#5689FD",
borderWidth: 1,
components
:
{
Echart
,
},
created
()
{
},
props
:
{
cdata
:
{
type
:
Array
,
default
:
()
=>
[],
},
},
mounted
()
{
window
.
addEventListener
(
"resize"
,
()
=>
{
this
.
key
++
;
});
// 根据行政区代码匹配行政区
require
(
`@/common/map/
${
this
.
BASE_API
.
AREARMAP
}
.js`
);
},
watch
:
{
cdata
:
{
handler
(
newData
)
{
let
_this
=
this
;
if
(
newData
.
length
==
0
)
return
// 设置点的位置(经纬度)
this
.
options
=
{
showLegendSymbol
:
false
,
tooltip
:
{
trigger
:
"item"
,
textStyle
:
{
fontSize
:
14
,
lineHeight
:
22
,
},
position
:
(
point
)
=>
{
// 固定在顶部
return
[
point
[
0
]
+
50
,
point
[
1
]
-
20
];
},
// 如果需要自定义 tooltip样式,需要使用formatter
formatter
:
(
params
)
=>
{
return
`<div style="color: #000;font-size: 14px;line-height: 24px background-color: #000000">
接入量:<span style="color: #7df7ce; font-size: 16px; font-weight: 600;">
${
params
.
value
}
</span>个
<br>
上报量:<span style="color: #f32c51; font-size: 16px; font-weight: 600;">
${
params
.
data
.
successcount
}
</span>个
</div>`
;
},
extraCssText
:
"background: #85a2eb; border-radius: 2;box-shadow: 0 0 3px rgba(0, 0, 0, 0.2);color: #333;"
,
},
}, {
aspectScale: 1, //长宽比
zoom: 1.1,
mapType: "", // 自定义扩展图表类型
top: "18%",
left: "10%",
map: this.BASE_API.AREARMAP,
itemStyle: {
color: '#21371d',
areaColor: "#21371d",
borderWidth: 1,
borderColor: "#00A3CB",
shadowColor: "#01C5E9",
shadowBlur: 10,
shadowOffsetX: 0,
shadowOffsetY: -12,
visualMap
:
{
min
:
0
,
max
:
_this
.
max
,
bottom
:
"6%"
,
left
:
50
,
splitNumber
:
6
,
seriesIndex
:
[
0
],
itemWidth
:
20
,
// 每个图元的宽度
itemGap
:
4
,
// 每两个图元之间的间隔距离,单位为px
selectedMode
:
false
,
// 是否允许点击
pieces
:
[
// 自定义每一段的范围,以及每一段的文字
{
gte
:
5000
,
label
:
"≥5000"
,
color
:
"#056BEC"
},
// 不指定 max,表示 max 为无限大(Infinity)。
{
gte
:
1000
,
lte
:
5000
,
label
:
"1000-5000"
,
color
:
"#48BDE3"
},
{
gte
:
500
,
lte
:
1000
,
label
:
"500-1000"
,
color
:
"#0494F3"
},
{
gte
:
0
,
lte
:
500
,
label
:
"≤500"
,
color
:
"#1872CC"
},
],
textStyle
:
{
color
:
"#CEF8FF"
,
}
},
emphasis: {
disabled: true
}
}],
series: [
{
type: "map",
geo
:
[{
aspectScale
:
1
,
//长宽比
zoom
:
1.1
,
mapType:
this.BASE_API.AREARMAP
, // 自定义扩展图表类型
mapType
:
""
,
// 自定义扩展图表类型
top
:
"15%"
,
left
:
"10%"
,
map
:
this
.
BASE_API
.
AREARMAP
,
itemStyle
:
{
normal
:
{
borderWidth: 1.6,
borderColor: "#9DFFFC",
//阴影
areaColor
:
"#5689FD"
,
borderWidth
:
1
,
},
emphasis: {
// 地图区域的高亮颜色
areaColor: {
type: 'linear',
x: 0,
y: 0,
x2: 0,
y2: 1,
colorStops: [{
offset: 0, color: '#4DD1B4' // 0% 处的颜色
}, {
offset: 1, color: '#15BFCE' // 100% 处的颜色
}],
global: false // 缺省为 false
},
borderType: 'dottod',
borderWidth: 0,
borderColor: '#F8F071',
shadowColor: '#000',
shadowBlur: 10,
shadowOffsetY: 4
}
},
label: {
formatter: (params) => {
// return `
$
{
params
.
name
}
\
n$
{
params
.
value
+
"个"
}
`;
},
show: true,
position: "insideRight",
textStyle: {
fontSize: 14,
color: "#efefef",
},
{
aspectScale
:
1
,
//长宽比
zoom
:
1.1
,
mapType
:
""
,
// 自定义扩展图表类型
top
:
"18%"
,
left
:
"10%"
,
map
:
this
.
BASE_API
.
AREARMAP
,
itemStyle
:
{
color
:
'#21371d'
,
areaColor
:
"#21371d"
,
borderWidth
:
1
,
borderColor
:
"#00A3CB"
,
shadowColor
:
"#01C5E9"
,
shadowBlur
:
10
,
shadowOffsetX
:
0
,
shadowOffsetY
:
-
12
,
},
emphasis
:
{
disabled
:
true
}
}],
series
:
[
{
type
:
"map"
,
aspectScale
:
1
,
//长宽比
zoom
:
1.1
,
mapType
:
this
.
BASE_API
.
AREARMAP
,
// 自定义扩展图表类型
top
:
"15%"
,
left
:
"10%"
,
itemStyle
:
{
normal
:
{
borderWidth
:
1.6
,
borderColor
:
"#9DFFFC"
,
},
emphasis
:
{
// 地图区域的高亮颜色
areaColor
:
{
type
:
'linear'
,
x
:
0
,
y
:
0
,
x2
:
0
,
y2
:
1
,
colorStops
:
[{
offset
:
0
,
color
:
'#4DD1B4'
// 0% 处的颜色
},
{
offset
:
1
,
color
:
'#15BFCE'
// 100% 处的颜色
}],
global
:
false
// 缺省为 false
},
borderType
:
'dottod'
,
borderWidth
:
0
,
borderColor
:
'#F8F071'
,
shadowColor
:
'#000'
,
shadowBlur
:
10
,
shadowOffsetY
:
4
}
},
emphasis: {
label
:
{
formatter
:
(
params
)
=>
{
// return `${params.name}\n${params.value + "个"}`;
},
show
:
true
,
position
:
"insideRight"
,
textStyle
:
{
color: "#fff",
fontSize
:
14
,
color
:
"#efefef"
,
},
emphasis
:
{
textStyle
:
{
color
:
"#fff"
,
},
},
},
data
:
newData
,
},
data: newData,
},
],
};
],
};
// 重新选择区域
this
.
handleMapRandomSelect
();
},
immediate
:
true
,
deep
:
true
,
},
immediate: true,
deep: true,
},
},
methods: {
// 开启定时器
startInterval () {
const _self = this;
// 应通过接口获取配置时间,暂时写死5s
const time = 2000;
if (this.intervalId !== null) {
clearInterval(this.intervalId);
}
this.intervalId = setInterval(() => {
this.$refs.centreLeft2ChartRef && _self.reSelectMapRandomArea();
}, time);
},
// 重新随机选中地图区域
reSelectMapRandomArea () {
const length = 9;
this.$nextTick(() => {
try {
const map = this.$refs.centreLeft2ChartRef.chart;
let index = Math.floor(Math.random() * length);
while (index === this.preSelectMapIndex || index >= length) {
index = Math.floor(Math.random() * length);
}
map.dispatchAction({
type: "mapUnSelect",
seriesIndex: 0,
dataIndex: this.preSelectMapIndex,
});
map.dispatchAction({
type: "showTip",
seriesIndex: 0,
dataIndex: index,
});
map.dispatchAction({
type: "mapSelect",
seriesIndex: 0,
dataIndex: index,
});
this.preSelectMapIndex = index;
} catch (error) {
console.log(error);
methods
:
{
// 开启定时器
startInterval
()
{
const
_self
=
this
;
// 应通过接口获取配置时间,暂时写死5s
const
time
=
2000
;
if
(
this
.
intervalId
!==
null
)
{
clearInterval
(
this
.
intervalId
);
}
});
},
handleMapRandomSelect () {
this.$nextTick(() => {
try {
const map = this.$refs.centreLeft2ChartRef.chart;
const _self = this;
setTimeout(() => {
_self.reSelectMapRandomArea();
}, 0);
// 移入区域,清除定时器、取消之前选中并选中当前
map.on("mouseover", function (params) {
clearInterval(_self.intervalId);
this
.
intervalId
=
setInterval
(()
=>
{
this
.
$refs
.
centreLeft2ChartRef
&&
_self
.
reSelectMapRandomArea
();
},
time
);
},
// 重新随机选中地图区域
reSelectMapRandomArea
()
{
const
length
=
9
;
this
.
$nextTick
(()
=>
{
try
{
const
map
=
this
.
$refs
.
centreLeft2ChartRef
.
chart
;
let
index
=
Math
.
floor
(
Math
.
random
()
*
length
);
while
(
index
===
this
.
preSelectMapIndex
||
index
>=
length
)
{
index
=
Math
.
floor
(
Math
.
random
()
*
length
);
}
map
.
dispatchAction
({
type
:
"mapUnSelect"
,
seriesIndex
:
0
,
dataIndex: _self.preSelectMapIndex,
dataIndex
:
this
.
preSelectMapIndex
,
});
map
.
dispatchAction
({
type
:
"showTip"
,
seriesIndex
:
0
,
dataIndex
:
index
,
});
map
.
dispatchAction
({
type
:
"mapSelect"
,
seriesIndex
:
0
,
dataIndex:
params.dataI
ndex,
dataIndex
:
i
ndex
,
});
_self.preSelectMapIndex = params.dataIndex;
});
// 移出区域重新随机选中地图区域,并开启定时器
map.on("globalout", function () {
_self.reSelectMapRandomArea();
_self.startInterval();
});
this.startInterval();
} catch (error) {
console.log(error);
}
});
this
.
preSelectMapIndex
=
index
;
}
catch
(
error
)
{
console
.
log
(
error
);
}
});
},
handleMapRandomSelect
()
{
this
.
$nextTick
(()
=>
{
try
{
const
map
=
this
.
$refs
.
centreLeft2ChartRef
.
chart
;
const
_self
=
this
;
setTimeout
(()
=>
{
_self
.
reSelectMapRandomArea
();
},
0
);
// 移入区域,清除定时器、取消之前选中并选中当前
map
.
on
(
"mouseover"
,
function
(
params
)
{
clearInterval
(
_self
.
intervalId
);
map
.
dispatchAction
({
type
:
"mapUnSelect"
,
seriesIndex
:
0
,
dataIndex
:
_self
.
preSelectMapIndex
,
});
map
.
dispatchAction
({
type
:
"mapSelect"
,
seriesIndex
:
0
,
dataIndex
:
params
.
dataIndex
,
});
_self
.
preSelectMapIndex
=
params
.
dataIndex
;
});
// 移出区域重新随机选中地图区域,并开启定时器
map
.
on
(
"globalout"
,
function
()
{
_self
.
reSelectMapRandomArea
();
_self
.
startInterval
();
});
this
.
startInterval
();
}
catch
(
error
)
{
console
.
log
(
error
);
}
});
},
},
},
};
};
</
script
>
<
style
></
style
>
...
...
src/components/Echart/Map/index.vue
View file @
b07beb9
<!--
* @Description:
* @Description:
* @Autor: renchao
* @LastEditTime: 2023-0
4-03 13:40:18
* @LastEditTime: 2023-0
7-04 13:44:17
-->
<
template
>
<Chart
:cdata=
"cdata"
/>
</
template
>
<
script
>
import
Chart
from
"./Chart"
;
import
work
from
"@/api/work"
;
export
default
{
data
()
{
return
{
cdata
:
[]
}
},
components
:
{
Chart
},
mounted
()
{
this
.
mapViews
();
},
methods
:
{
async
mapViews
()
{
try
{
let
{
result
:
res
}
=
await
work
.
mapViews
(
"A20"
);
res
.
map
((
item
)
=>
{
return
(
this
.
cdata
.
push
({
"name"
:
item
.
areaName
,
"value"
:
item
.
ywtotal
})
)
import
Chart
from
"./Chart"
;
import
work
from
"@/api/work"
;
export
default
{
data
()
{
return
{
timer
:
null
,
// 定时器
cdata
:
[]
}
},
components
:
{
Chart
},
mounted
()
{
this
.
mapViews
()
this
.
timer
=
setInterval
(()
=>
{
this
.
mapViews
();
},
10000
)
// 10s
},
methods
:
{
async
mapViews
()
{
try
{
let
{
result
:
res
}
=
await
work
.
mapViews
(
"A20"
);
res
.
map
((
item
)
=>
{
return
(
this
.
cdata
.
push
({
"name"
:
item
.
areaName
,
"value"
:
item
.
ywtotal
,
"successcount"
:
item
.
successcount
})
)
});
}
catch
(
error
)
{
this
.
$refs
.
msg
.
messageShow
();
});
}
catch
(
error
)
{
this
.
$refs
.
msg
.
messageShow
();
}
}
},
destroyed
()
{
clearInterval
(
this
.
timer
)
}
}
}
</
script
>
...
...
src/components/Echart/Rose/index.vue
View file @
b07beb9
<!--
* @Author: xiaomiao 1158771342@qq.com
* @Date: 2023-03-09 15:24:53
* @LastEditors:
xiaomiao 1158771342@qq.com
* @LastEditTime: 2023-0
3-16 15:58:03
* @LastEditors:
Please set LastEditors
* @LastEditTime: 2023-0
7-04 15:28:36
* @FilePath: \上报\bdcjg-web\src\components\Echart\Rose\index.vue
* @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
-->
...
...
@@ -18,6 +18,7 @@
export
default
{
data
()
{
return
{
timer
:
null
,
cdata
:
[],
getdata
:
[],
};
...
...
@@ -25,40 +26,42 @@
components
:
{
Chart
,
},
created
()
{
this
.
addhousetotal
()
this
.
timer
=
setInterval
(()
=>
{
this
.
addhousetotal
()
},
10000
)
// 10s
},
mounted
()
{
this
.
addhousetotal
();
window
.
addEventListener
(
"resize"
,
()
=>
{
this
.
cdata
=
[];
this
.
addhousetotal
();
});
},
methods
:
{
async
addhousetotal
()
{
if
(
this
.
cdata
==
0
)
{
this
.
cdata
=
[];
try
{
let
{
result
:
res
}
=
await
work
.
addhousetotal
();
let
{
result
:
res
}
=
await
work
.
qxmrjrsb
();
console
.
log
(
res
,
'resres'
);
res
.
map
((
item
)
=>
{
return
this
.
cdata
.
push
({
name
:
`
${
item
.
fwyt
+
'('
+
item
.
fwxz
}
)`
,
value
:
item
.
mj
,
name
:
item
.
areaName
,
value
:
item
.
jrl
,
});
});
let
delarr
=
this
.
cdata
.
sort
(
this
.
up
)
this
.
setadat
(
delarr
)
//
let delarr = this.cdata.sort(this.up)
//
this.setadat(delarr)
}
catch
(
error
)
{
console
.
log
(
"error"
,
error
);
}
}
},
// 处理数据方法
setadat
(
delarr
)
{
this
.
cdata
=
delarr
.
splice
(
0
,
6
);
let
sum
=
0
for
(
var
i
=
0
;
i
<
delarr
.
length
;
i
++
)
{
...
...
@@ -73,9 +76,10 @@
},
// 排序方法
up
(
x
,
y
)
{
return
y
.
value
-
x
.
value
}
},
destroyed
()
{
clearInterval
(
this
.
timer
)
}
}
;
}
</
script
>
<
style
lang=
"scss"
scoped
></
style
>
...
...
src/views/home/dataView/centercard.vue
View file @
b07beb9
<!--
* @Description:
* @Autor: renchao
* @LastEditTime: 2023-07-03 16:45:40
-->
<
template
>
<div
class=
"centercard"
>
<div
class=
"card1"
>
...
...
@@ -11,75 +16,72 @@
</
template
>
<
script
>
import
maps
from
"@/components/Echart/Map"
;
import
brokenline
from
"@/components/Echart/Brokenline"
;
export
default
{
data
()
{
return
{};
},
components
:
{
maps
,
brokenline
},
mounted
()
{
},
beforeDestroy
()
{
},
methods
:
{},
};
import
maps
from
"@/components/Echart/Map"
;
import
brokenline
from
"@/components/Echart/Brokenline"
;
export
default
{
data
()
{
return
{};
},
components
:
{
maps
,
brokenline
},
};
</
script
>
<
style
lang=
"scss"
scoped
>
.centercard
{
width
:
40%
;
height
:
calc
(
100vh
-
114px
);
box-sizing
:
border-box
;
padding
:
0
0.0521rem
;
display
:
flex
;
flex-direction
:
column
;
.centercard
{
width
:
40%
;
height
:
calc
(
100vh
-
114px
);
box-sizing
:
border-box
;
padding
:
0
0.0521rem
;
display
:
flex
;
flex-direction
:
column
;
.card1
{
width
:
100%
;
background
:
url("~@/image/mapcenter.png")
no-repeat
;
background-size
:
100%
100%
;
position
:
relative
;
height
:
64%
;
.card1
{
width
:
100%
;
background
:
url("~@/image/mapcenter.png")
no-repeat
;
background-size
:
100%
100%
;
position
:
relative
;
height
:
64%
;
.title
{
position
:
absolute
;
font-weight
:
bold
;
color
:
#02d9fd
;
line-height
:
0.1354rem
;
font-size
:
0.1146rem
;
position
:
absolute
;
left
:
0
;
right
:
0
;
top
:
0.0365rem
;
text-align
:
right
;
padding-right
:
15%
;
.title
{
position
:
absolute
;
font-weight
:
bold
;
color
:
#02d9fd
;
line-height
:
0.1354rem
;
font-size
:
0.1146rem
;
position
:
absolute
;
left
:
0
;
right
:
0
;
top
:
0.0365rem
;
text-align
:
right
;
padding-right
:
15%
;
}
}
}
.card2
{
width
:
100%
;
background
:
url("~@/image/sjqs.png")
no-repeat
;
background-size
:
100%
100%
;
position
:
relative
;
flex
:
1
;
.card2
{
width
:
100%
;
background
:
url("~@/image/sjqs.png")
no-repeat
;
background-size
:
100%
100%
;
position
:
relative
;
flex
:
1
;
.title
{
position
:
absolute
;
font-weight
:
bold
;
color
:
#02d9fd
;
line-height
:
0.1354rem
;
font-size
:
0.1146rem
;
position
:
absolute
;
left
:
0
;
right
:
0
;
top
:
0.0365rem
;
text-align
:
center
;
margin-bottom
:
0.0521rem
;
}
.title
{
position
:
absolute
;
font-weight
:
bold
;
color
:
#02d9fd
;
line-height
:
0.1354rem
;
font-size
:
0.1146rem
;
position
:
absolute
;
left
:
0
;
right
:
0
;
top
:
0.0365rem
;
text-align
:
center
;
margin-bottom
:
0.0521rem
;
}
.brokenline
{
margin
:
auto
;
width
:
100%
;
.brokenline
{
margin
:
auto
;
width
:
100%
;
}
}
}
}
</
style
>
...
...
src/views/home/dataView/leftcard.vue
View file @
b07beb9
<!--
* @Description :工作台左侧表
* @Autor : miaofang
* @LastEditTime
: 2023-05-18 11:27:22
* @LastEditTime
: 2023-07-04 15:19:26
-->
<
template
>
<div
class=
"leftcard"
>
...
...
@@ -18,7 +18,7 @@
</ul>
<div
class=
"cardcontent-right d-center"
>
<p>
<span>
失败
</span>
<span>
校验
失败
</span>
<span
class=
"bad"
>
{{
qxerrer
}}
</span>
</p>
<p>
...
...
@@ -42,7 +42,7 @@
<div
class=
"cardcontent-right d-center"
>
<p>
<span>
失败
</span>
<span
class=
"bad"
>
{{
sterrer
}}
</span>
<span
class=
"bad
pointer"
@
click=
"handleSthj
"
>
{{
sterrer
}}
</span>
</p>
<p>
<span>
成功率
</span>
...
...
@@ -57,14 +57,13 @@
</div>
</div>
</
template
>
<
script
>
import
columnar
from
"@/components/Echart/Columnar"
;
import
work
from
"@/api/work"
;
export
default
{
data
()
{
return
{
timer
:
null
,
// 定时器
// 日均接入量
qxerrer
:
""
,
qxsuccess
:
""
,
...
...
@@ -76,8 +75,11 @@
stcgl
:
""
};
},
moun
ted
()
{
crea
ted
()
{
this
.
getsthjqxjrtotal
();
this
.
timer
=
setInterval
(()
=>
{
this
.
getsthjqxjrtotal
()
},
10000
)
// 10s
},
components
:
{
columnar
},
computed
:
{
...
...
@@ -117,10 +119,20 @@
}
});
},
handleSthj
()
{
this
.
$router
.
push
({
path
:
'/sthj/sbbwcx'
,
query
:
{
status
:
2
}
})
}
},
};
destroyed
()
{
clearInterval
(
this
.
timer
)
}
}
</
script
>
<
style
lang=
"scss"
scoped
>
.leftcard
{
width
:
30%
;
...
...
src/views/home/dataView/rightcard.vue
View file @
b07beb9
<!--
* @Description :工作台右侧表
* @Autor : miaofang
* @LastEditTime
: 2023-05-18 11:26:52
* @LastEditTime
: 2023-07-04 13:42:46
-->
<
template
>
<div
class=
"rightcard"
>
...
...
@@ -30,20 +30,26 @@
export
default
{
data
()
{
return
{
timer
:
null
,
config
:
{
headerBGC
:
'#016AC5'
,
oddRowBGC
:
'#154295'
,
evenRowBGC
:
'#154295'
,
header
:
[
'序号'
,
'业务名称'
,
'登记业务量'
],
columnWidth
:
[
120
,
270
,
14
0
],
columnWidth
:
[
60
,
330
,
10
0
],
data
:
[],
key
:
0
}
}
},
components
:
{
columnarsmat
,
Rose
},
created
()
{
this
.
getdjywltotal
()
this
.
timer
=
setInterval
(()
=>
{
this
.
getdjywltotal
()
},
10000
)
// 10s
},
mounted
()
{
this
.
getdjywltotal
();
window
.
addEventListener
(
"resize"
,
()
=>
{
this
.
config
.
data
=
[];
this
.
getdjywltotal
();
...
...
@@ -65,19 +71,21 @@
this
.
config
.
data
.
push
([
index
+
1
,
item
.
AREACODE
,
item
.
ywtotal
])
});
// 遍历修改数组键,作为echars图表的参数
}
catch
(
error
)
{
console
.
log
(
error
);
}
},
}
},
destroyed
()
{
clearInterval
(
this
.
timer
)
}
}
</
script
>
<
style
lang=
"scss"
scoped
>
/
deep
/
.dv-scroll-board
.rows
{
overflow-y
:
auto
;
}
/
deep
/
.row-item
:not
(
:last-child
)
{
margin-bottom
:
0.026rem
;
}
...
...
src/views/home/dataView/screencontent.vue
View file @
b07beb9
<!--
* @Description :工作台表内容
* @Autor : miaofang
* @LastEditTime
: 2023-05-18 13:09:47
* @LastEditTime
: 2023-07-03 16:39:09
-->
<
template
>
<div
class=
"content"
id=
"box"
>
<leftcard
/>
<centercard
/>
<rightcard
/>
<leftcard
/>
<centercard
/>
<rightcard
/>
</div>
</
template
>
<
script
>
import
"@/utils/flexible.js"
;
import
drawMixin
from
"@/utils/drawMixin"
;
import
leftcard
from
"./leftcard"
;
import
centercard
from
"./centercard"
;
import
rightcard
from
"./rightcard"
;
export
default
{
mixins
:
[
drawMixin
],
data
()
{
return
{
decorationColor
:
[
"#568aea"
,
"#568aea"
],
};
},
components
:
{
leftcard
,
centercard
,
rightcard
},
mounted
()
{
// this.timeFn();
this
.
cancelLoading
();
},
beforeDestroy
()
{
clearInterval
(
this
.
timing
);
},
methods
:
{
cancelLoading
()
{
setTimeout
(()
=>
{
this
.
loading
=
false
;
},
500
);
import
"@/utils/flexible.js"
;
import
drawMixin
from
"@/utils/drawMixin"
;
import
leftcard
from
"./leftcard"
;
import
centercard
from
"./centercard"
;
import
rightcard
from
"./rightcard"
;
export
default
{
mixins
:
[
drawMixin
],
data
()
{
return
{
decorationColor
:
[
"#568aea"
,
"#568aea"
],
};
},
},
};
components
:
{
leftcard
,
centercard
,
rightcard
},
mounted
()
{
// this.timeFn();
this
.
cancelLoading
();
},
beforeDestroy
()
{
clearInterval
(
this
.
timing
);
},
methods
:
{
cancelLoading
()
{
setTimeout
(()
=>
{
this
.
loading
=
false
;
},
500
);
},
},
};
</
script
>
<
style
scoped
lang=
"scss"
>
.content
{
width
:
100%
;
height
:
calc
(
100%
-94px
);
margin
:
auto
;
display
:
flex
;
justify-content
:
space-between
;
margin-top
:
15px
;
}
//
#box
{
//
width
:
1620px
;
//
height
:
680px
;
//
position
:
absolute
;
//
transform-origin
:
left
top
;
//
overflow
:
hidden
;
//
}
.content
{
width
:
100%
;
height
:
calc
(
100%
-94px
);
margin
:
auto
;
display
:
flex
;
justify-content
:
space-between
;
margin-top
:
15px
;
}
</
style
>
...
...
src/views/qxjr/gbxxcx/index.vue
View file @
b07beb9
<!--
* @Description :接收报文查询
* @Autor : miaofang
* @LastEditTime
: 2023-05-18 13:11:18
* @LastEditTime
: 2023-05-29 09:57:39
-->
<
template
>
<!-- 接收报文查询 -->
<div
class=
"reportLog from-clues"
>
<!-- 头部搜索 -->
<div
class=
"from-clues-header"
>
<el-form
ref=
"ruleForm"
:model=
"form"
label-width=
"
10
0px"
>
<el-form
ref=
"ruleForm"
:model=
"form"
label-width=
"
9
0px"
>
<Breadcrumb
/>
<el-row
class=
"mb-5"
>
<el-col
:span=
"6"
>
...
...
@@ -22,7 +22,7 @@
</el-form-item>
</el-col>
<el-col
:span=
"6"
>
<el-form-item
label=
"查询证件名称"
prop=
"zjmc"
>
<el-form-item
label=
"查询证件名称"
prop=
"zjmc"
label-width=
"110px"
>
<el-input
v-model
.
trim=
"form.zjmc"
clearable
class=
"width100"
placeholder=
"业务流水号"
></el-input>
</el-form-item>
</el-col>
...
...
src/views/sthj/components/editDialog.vue
View file @
b07beb9
<!--
* @Description :修改登簿日志弹窗
* @Autor : miaofang
* @LastEditTime
: 2023-05-18 13:16:22
* @LastEditTime
: 2023-07-04 13:08:21
-->
<
template
>
<!-- 修改登簿日志弹窗 -->
...
...
@@ -15,6 +15,7 @@
<el-tabs
v-model=
"titleName"
type=
"card"
>
<el-tab-pane
label=
"登薄详情"
name=
"sjmx"
></el-tab-pane>
<el-tab-pane
label=
"xml报文"
name=
"xml"
></el-tab-pane>
<el-tab-pane
label=
"返回结果"
name=
"fhjg"
></el-tab-pane>
</el-tabs>
<div
class=
"dialog-from"
v-if=
"titleName == 'sjmx'"
>
<el-row
class=
"dialog-from_header item-content-input"
>
...
...
@@ -186,6 +187,9 @@
<div
class=
"JsonEditor"
v-if=
"titleName == 'xml'"
>
<JsonEditor
class=
"editXML"
:resultInfo=
"resultInfo"
:key=
"key"
/>
</div>
<div
class=
"JsonEditor"
v-if=
"titleName == 'fhjg'"
>
<JsonEditor
class=
"editXML"
:resultInfo=
"fhjg"
:key=
"key"
/>
</div>
</div>
</div>
<div
class=
"d-center"
v-if=
"titleName == 'sjmx'"
>
...
...
@@ -211,6 +215,8 @@
return
{
key
:
0
,
title
:
''
,
// 省厅汇交
fhjg
:
''
,
dialogVisible
:
false
,
titleName
:
'sjmx'
,
titleName2
:
'drdbxd'
,
...
...
@@ -307,9 +313,34 @@
* @author: renchao
*/
_getDetails
(
data
)
{
function
showPattern
(
level
)
{
const
resultMap
=
{
'0200'
:
'上报成功'
,
'04001'
:
'xml格式错误'
,
'04002'
:
'AreaCode 节点缺失'
,
'04003'
:
'AreaCode 节点值为空'
,
'04004'
:
'xzTotallnfo 节点缺失'
,
'04005'
:
'Registerlnfo 节点缺失'
,
'04006'
:
'AccessInfo 节点缺失'
,
'04007'
:
'RegisterList 节点缺失'
,
'04008'
:
'Register 节点缺失'
,
'04009'
:
'AccessList 节点缺失'
,
'04010'
:
'Access 节点缺失'
,
'04011'
:
'上报数与上报清单数量不一致'
};
for
(
let
key
in
resultMap
)
{
if
(
level
.
includes
(
key
))
{
return
resultMap
[
key
];
}
else
{
return
level
;
}
}
}
getDetail
(
data
).
then
(
res
=>
{
let
{
accessLog
,
registerInfo
,
accessInfo
,
accessList
,
registerList
}
=
res
.
result
this
.
fhjg
=
showPattern
(
accessLog
.
RESPONSE
)
this
.
accessLog
=
accessLog
this
.
resultInfo
=
accessLog
.
LOGSXML
this
.
registerInfo
=
registerInfo
...
...
src/views/sthj/sbbwcx/index.vue
View file @
b07beb9
...
...
@@ -196,6 +196,8 @@
};
},
mounted
()
{
this
.
form
.
hjjg
=
this
.
$route
.
query
.
status
this
.
featchData
()
sendThis
(
this
);
},
methods
:
{
...
...
Please
register
or
sign in
to post a comment