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
9dd5c4b0
authored
2023-03-15 16:46:37 +0800
by
xiaomiao
Browse Files
Options
Browse Files
Tag
Download
Plain Diff
--no commit message
2 parents
1a0b2b79
f55854f3
Hide whitespace changes
Inline
Side-by-side
Showing
19 changed files
with
518 additions
and
491 deletions
package.json
public/index.html
src/api/config.js
src/components/Echart/Map/Chart.vue
src/image/loginBoxBg.png
src/image/loginLogo.png
src/permission.js
src/router/index.js
src/settings.js
src/utils/get-page-title.js
src/views/home/dataView/centercard.vue
src/views/home/dataView/leftcard.vue
src/views/home/dataView/rightcard.vue
src/views/jsbwcx/data/index.js
src/views/loginjg/index.vue
src/views/system/components/editValidRule.vue
src/views/system/menus/edit-dialog.vue
src/views/system/menus/index.vue
vue.config.js
package.json
View file @
9dd5c4b
...
...
@@ -38,6 +38,7 @@
"babel-plugin-dynamic-import-node"
:
"2.3.3"
,
"chalk"
:
"2.4.2"
,
"connect"
:
"3.6.6"
,
"copy-webpack-plugin"
:
"^6.0.0"
,
"element-ui"
:
"^2.15.13"
,
"html-webpack-plugin"
:
"3.2.0"
,
"runjs"
:
"4.3.2"
,
...
...
public/index.html
View file @
9dd5c4b
<!--
* @Description: 引入配置文件
* @Autor: renchao
* @LastEditTime: 2023-03-15 16:15:45
-->
<!DOCTYPE html>
<html>
<head>
<meta
charset=
"utf-8"
>
<meta
http-equiv=
"X-UA-Compatible"
content=
"IE=edge,chrome=1"
>
<meta
name=
"renderer"
content=
"webkit"
>
<meta
name=
"referrer"
content=
"no-referrer"
/>
<meta
name=
"viewport"
content=
"width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no"
>
<link
rel=
"icon"
href=
"<%= BASE_URL %>favicon.ico"
>
<title>
<
%= webpackConfig.name %>
</title>
</head>
<body>
<div
id=
"app"
></div>
<!-- built files will be auto injected -->
</body>
<head>
<meta
charset=
"utf-8"
>
<meta
http-equiv=
"X-UA-Compatible"
content=
"IE=edge,chrome=1"
>
<meta
name=
"renderer"
content=
"webkit"
>
<meta
name=
"referrer"
content=
"no-referrer"
/>
<meta
name=
"viewport"
content=
"width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no"
>
<link
rel=
"icon"
href=
"<%= BASE_URL %>favicon.ico"
>
<title>
<
%= webpackConfig.name %>
</title>
</head>
<body>
<div
id=
"app"
></div>
</body>
</html>
<script>
window
.
baseUrl
=
location
.
origin
||
location
.
protocol
+
'//'
+
location
.
host
document
.
write
(
"<s"
+
"cript type='text/javascript' src='./config.js?"
+
Math
.
random
().
toString
(
36
).
substr
(
2
)
+
"'></scr"
+
"ipt>"
);
window
.
baseUrl
=
location
.
origin
||
location
.
protocol
+
'//'
+
location
.
host
// window.authorization = 'bearer AT-14-h4UlUGjPvgmrIgnDO-3QgMP0m4YJGQTR';
// window.authorization = 'bearer AT-223-c-Q86EHx75m7ig3EDf-SwMWl4U0AKn0b';
window
.
timeout
=
5000
window
.
authorization
=
"bearer AT-4-MxSrO29Coe7VTazx8uuixtqqgO-hvCB6"
</script>
window
.
timeout
=
5000
window
.
authorization
=
"bearer AT-4-MxSrO29Coe7VTazx8uuixtqqgO-hvCB6"
</script>
\ No newline at end of file
...
...
src/api/config.js
View file @
9dd5c4b
...
...
@@ -4,12 +4,9 @@
* @LastEditTime: 2023-03-01 15:35:44
*/
export
default
{
// SERVERAPI: '/service-bdcsjsb-th', //浩浩
// SERVERAPI: '/service-bdcsjsb-zz',
TITLE
:
'汉中市数据上报系统'
,
SERVERAPI
:
'/bdcsjsb'
,
//赵千
MANAGEMENTAPI
:
'http://192.168.2.236/management'
// SERVERAPI: '/bdcsjsb-service'
// SERVERAPI: '/bdcsjsb-jiao0'
}
// 汉中
// export default {
...
...
src/components/Echart/Map/Chart.vue
View file @
9dd5c4b
<
template
>
<!-- 地图 -->
<Echart
id=
"centreLeft2Chart"
class=
"centreLeft2Chart"
:key=
"key"
ref=
"centreLeft2ChartRef"
width=
"100%"
height=
"100%"
<Echart
id=
"centreLeft2Chart"
class=
"centreLeft2Chart"
:key=
"key"
ref=
"centreLeft2ChartRef"
width=
"100%"
height=
"100%"
:options=
"options"
></Echart>
</
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
:
""
,
};
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
:
()
=>
[],
},
components
:
{
Echart
,
},
created
()
{
},
props
:
{
cdata
:
{
type
:
Array
,
default
:
()
=>
[],
},
},
mounted
()
{
window
.
addEventListener
(
"resize"
,
()
=>
{
this
.
key
++
;
});
this
.
getDistrictcode
();
},
watch
:
{
cdata
:
{
handler
(
newData
)
{
let
_this
=
this
;
// 设置点的位置(经纬度)
const
geoCoordMap
=
{
汉台区
:
[
107.03187
,
33.06774
,
20
],
南郑区
:
[
106.94024
,
33.00299
,
20
],
城固县
:
[
107.33367
,
33.15661
,
20
],
洋县
:
[
107.545837
,
33.222739
,
20
],
西乡县
:
[
107.76867
,
32.98411
,
20
],
镇巴县
:
[
107.89648
,
32.53487
,
20
],
勉县
:
[
106.673221
,
33.153553
,
20
],
留坝县
:
[
106.92233
,
33.61606
,
20
],
佛坪县
:
[
107.98974
,
33.52496
,
20
],
宁强县
:
[
106.25958
,
32.82881
,
20
],
略阳县
:
[
106.15399
,
33.33009
,
20
],
};
this
.
options
=
{
showLegendSymbol
:
true
,
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>`
;
}
,
},
mounted
()
{
window
.
addEventListener
(
"resize"
,
()
=>
{
this
.
key
++
;
});
this
.
getDistrictcode
();
},
watch
:
{
cdata
:
{
handler
(
newData
)
{
let
_this
=
this
;
// 设置点的位置(经纬度)
const
geoCoordMap
=
{
汉台区
:
[
107.03187
,
33.06774
,
20
],
南郑区
:
[
106.94024
,
33.00299
,
20
],
城固县
:
[
107.33367
,
33.15661
,
20
],
洋县
:
[
107.545837
,
33.222739
,
20
],
西乡县
:
[
107.76867
,
32.98411
,
20
],
镇巴县
:
[
107.89648
,
32.53487
,
20
],
勉县
:
[
106.673221
,
33.153553
,
20
],
留坝县
:
[
106.92233
,
33.61606
,
20
],
佛坪县
:
[
107.98974
,
33.52496
,
20
],
宁强县
:
[
106.25958
,
32.82881
,
20
],
略阳县
:
[
106.15399
,
33.33009
,
20
],
};
this
.
options
=
{
showLegendSymbol
:
true
,
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: "13%",
left: 50,
splitNumber: 6,
seriesIndex: [0],
itemWidth: 20, // 每个图元的宽度
itemGap: 2, // 每两个图元之间的间隔距离,单位为px
pieces: [
// 自定义每一段的范围,以及每一段的文字
{ gte: 100, label: "5000以上", color: "#035cf5" }, // 不指定 max,表示 max 为无限大(Infinity)。
{ gte: 50, lte: 6000, label: "1000-5000", color: "#3375e4" },
{ gte: 20, lte: 2000, label: "500-1000", color: "#6797ef" },
{ gte: 1, lte: 1000, label: "0-500", color: "#96b5ef" },
],
textStyle: {
color: "#737373",
},
visualMap: {
min: 0,
max: _this.max,
bottom: "12%",
left: 50,
splitNumber: 6,
seriesIndex: [0],
itemWidth: 20, // 每个图元的宽度
itemGap: 2, // 每两个图元之间的间隔距离,单位为px
pieces: [
// 自定义每一段的范围,以及每一段的文字
{ gte: 100, label: "5000以上", color: "#035cf5" }, // 不指定 max,表示 max 为无限大(Infinity)。
{ gte: 50, lte: 6000, label: "1000-5000", color: "#3375e4" },
{ gte: 20, lte: 2000, label: "500-1000", color: "#6797ef" },
{ gte: 1, lte: 1000, label: "0-500", color: "#96b5ef" },
],
textStyle: {
color: "#737373",
},
},
geo: {
aspectScale: 1, //长宽比
zoom: 1.1,
mapType: "", // 自定义扩展图表类型
top: "15%",
left: "10%",
map: "汉中市",
itemStyle: {
normal: {
//阴影
areaColor: "#5689FD ",
shadowColor: "#21371d",
borderWidth: 0,
shadowOffsetX: 2,
shadowOffsetY: 25,
},
},
geo: {
},
series: [
{
type: "map",
aspectScale: 1, //长宽比
zoom: 1.1,
mapType: "", // 自定义扩展图表类型
mapType: "
汉中市
", // 自定义扩展图表类型
top: "15%",
left: "10%",
map: "汉中市",
itemStyle: {
normal: {
//阴影
areaColor: "#5689FD
",
shadowColor: "#21371d"
,
borderWidth: 0
,
shadowOffsetX: 2
,
shadow
OffsetY: 25
,
areaColor: "rgba(19,54,162,.5)",
borderColor: "rgba(0,242,252,.5)
",
borderWidth: 2
,
shadowBlur: 1
,
borderColor: "rgb(155, 200, 200)"
,
shadow
Color: "#44f2fc"
,
},
},
},
series: [
{
type: "map",
aspectScale: 1, //长宽比
zoom: 1.1,
mapType: "汉中市", // 自定义扩展图表类型
top: "15%",
left: "10%",
itemStyle: {
normal: {
areaColor: "rgba(19,54,162,.5)",
borderColor: "rgba(0,242,252,.5)",
borderWidth: 2,
shadowBlur: 1,
borderColor: "rgb(155, 200, 200)",
shadowColor: "#44f2fc",
},
label: {
formatter: (params) => {
return `
$
{
params
.
name
}
\
n$
{
params
.
value
+
"个"
}
`;
},
label: {
formatter: (params) => {
return `
$
{
params
.
name
}
\
n$
{
params
.
value
+
"个"
}
`;
},
show: true,
position: "insideRight",
show: true,
position: "insideRight",
textStyle: {
fontSize: 14,
color: "#efefef",
},
emphasis: {
textStyle: {
fontSize: 14,
color: "#efefef",
},
emphasis: {
textStyle: {
color: "#fff",
},
color: "#fff",
},
},
data: newData,
},
],
};
// 重新选择区域
this.handleMapRandomSelect();
},
immediate: true,
deep: true,
data: newData,
},
],
};
// 重新选择区域
this.handleMapRandomSelect();
},
immediate: true,
deep: true,
},
computed: {
...mapGetters(["sidebar", "dicData"]),
logoName () {
return (
this.dicData["sysCode"].filter((item) => { return item.DCODE == "areaMap" })
);
},
},
computed: {
...mapGetters(["sidebar", "dicData"]),
logoName () {
return (
this.dicData["sysCode"].filter((item) => { return item.DCODE == "areaMap" })
);
},
methods: {
// 根据行政区代码匹配行政区
getDistrictcode () {
this.mapjson = ""
if (this.logoName[0].DNAME) {
this.mapjson = this.logoName[0].DNAME;
require(`
@
/common/m
ap
/
$
{
this
.
mapjson
}.
js
`);
}
},
// 开启定时器
startInterval () {
const _self = this;
// 应通过接口获取配置时间,暂时写死5s
const time = 2000;
if (this.intervalId !== null) {
clearInterval(this.intervalId);
},
methods: {
// 根据行政区代码匹配行政区
getDistrictcode () {
this.mapjson = ""
if (this.logoName[0].DNAME) {
this.mapjson = this.logoName[0].DNAME;
require(`
@
/common/m
ap
/
$
{
this
.
mapjson
}.
js
`);
}
},
// 开启定时器
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);
}
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);
}
});
},
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: this.preSelectMapIndex,
});
map.dispatchAction({
type: "showTip",
seriesIndex: 0,
dataIndex: index,
dataIndex: _self.preSelectMapIndex,
});
map.dispatchAction({
type: "mapSelect",
seriesIndex: 0,
dataIndex: index,
});
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;
dataIndex: params.dataIndex,
});
// 移出区域重新随机选中地图区域,并开启定时器
map.on("globalout", function () {
_self.reSelectMapRandomArea();
_self.startInterval();
});
this.startInterval();
} catch (error) {
console.log(error);
}
});
},
_self.preSelectMapIndex = params.dataIndex;
});
// 移出区域重新随机选中地图区域,并开启定时器
map.on("globalout", function () {
_self.reSelectMapRandomArea();
_self.startInterval();
});
this.startInterval();
} catch (error) {
console.log(error);
}
});
},
};
},
};
</
script
>
<
style
></
style
>
...
...
src/image/loginBoxBg.png
View file @
9dd5c4b
1.74 MB
|
W:
|
H:
1.67 MB
|
W:
|
H:
2-up
Swipe
Onion skin
src/image/loginLogo.png
View file @
9dd5c4b
256 KB
|
W:
|
H:
258 KB
|
W:
|
H:
2-up
Swipe
Onion skin
src/permission.js
View file @
9dd5c4b
/*
* @Description:
* @Autor: renchao
* @LastEditTime: 2023-03-1
0 16:43:16
* @LastEditTime: 2023-03-1
5 11:17:28
*/
import
router
from
"./router"
;
import
store
from
"./store"
;
...
...
src/router/index.js
View file @
9dd5c4b
...
...
@@ -222,7 +222,7 @@ export const asyncRoutes = [
path
:
'validationRule'
,
component
:
()
=>
import
(
'@/views/system/validationRule/index'
),
name
:
'validationRule'
,
meta
:
{
title
:
'上报
效
验规则配置'
}
meta
:
{
title
:
'上报
校
验规则配置'
}
},
{
path
:
'timedTask'
,
...
...
src/settings.js
View file @
9dd5c4b
/*
* @Description:
* @Autor: renchao
* @LastEditTime: 2023-03-15 11:08:56
*/
module
.
exports
=
{
title
:
''
,
title
:
'
数据上报系统
'
,
/**
* @type {boolean} true | false
* @description Whether show the settings right-panel
...
...
src/utils/get-page-title.js
View file @
9dd5c4b
/*
* @Description:
* @Autor: renchao
* @LastEditTime: 2023-03-15 14:37:05
*/
// 获取浏览器便签标题
import
defaultSettings
from
'@/settings'
import
config
from
'@/api/config'
const
title
=
defaultSettings
.
title
||
'厦门市房屋数据服务平台'
const
title
=
config
.
TITLE
export
default
function
getPageTitle
(
pageTitle
)
{
export
default
function
getPageTitle
(
pageTitle
)
{
if
(
pageTitle
)
{
return
`
${
pageTitle
}
-
${
title
}
`
}
...
...
src/views/home/dataView/centercard.vue
View file @
9dd5c4b
...
...
@@ -11,74 +11,75 @@
</
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
},
mounted
()
{
},
beforeDestroy
()
{
},
methods
:
{},
};
</
script
>
<
style
lang=
"scss"
scoped
>
.centercard
{
width
:
44
%
;
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
;
}
.brokenline
{
margin
:
auto
;
width
:
100%
;
}
.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%
;
}
}
}
</
style
>
...
...
src/views/home/dataView/leftcard.vue
View file @
9dd5c4b
...
...
@@ -55,200 +55,201 @@
<
script
>
import
columnar
from
"@/components/Echart/Columnar"
;
import
work
from
"@/api/work"
;
export
default
{
data
()
{
return
{
// 日均接入量
qxerrer
:
""
,
qxsuccess
:
""
,
sterrer
:
""
,
stsuccess
:
""
,
qxjrl
:
""
,
stjrl
:
""
,
qxcgl
:
""
,
stcgl
:
""
};
import
columnar
from
"@/components/Echart/Columnar"
;
import
work
from
"@/api/work"
;
export
default
{
data
()
{
return
{
// 日均接入量
qxerrer
:
""
,
qxsuccess
:
""
,
sterrer
:
""
,
stsuccess
:
""
,
qxjrl
:
""
,
stjrl
:
""
,
qxcgl
:
""
,
stcgl
:
""
};
},
mounted
()
{
this
.
getsthjqxjrtotal
();
},
components
:
{
columnar
},
computed
:
{
qxjrlList
:
function
()
{
return
this
.
qxjrl
&&
this
.
qxjrl
.
toString
().
split
(
""
);
},
mounted
()
{
this
.
getsthjqxjrtotal
(
);
stjrlList
:
function
()
{
return
this
.
stjrl
&&
this
.
stjrl
.
toString
().
split
(
""
);
},
components
:
{
columnar
},
computed
:
{
qxjrlList
:
function
()
{
return
this
.
qxjrl
&&
this
.
qxjrl
.
toString
().
split
(
""
);
},
stjrlList
:
function
()
{
return
this
.
stjrl
&&
this
.
stjrl
.
toString
().
split
(
""
);
},
},
methods
:
{
getsthjqxjrtotal
()
{
return
new
Promise
(
async
(
resolve
)
=>
{
try
{
let
p
=
{
DJLX
:
""
,
QLLX
:
""
,
XZQDM
:
""
,
};
let
res
=
await
work
.
getsthjqxjrtotal
(
p
);
this
.
stjrl
=
res
.
result
.
stsum
this
.
qxjrl
=
res
.
result
.
qxsum
this
.
qxerrer
=
Number
(
res
.
result
.
qxjrerrer
)
this
.
sterrer
=
Number
(
res
.
result
.
sthjerrer
)
if
(
res
.
result
.
sum
==
"0"
)
{
this
.
qxcgl
=
"100%"
this
.
stcgl
=
"100%"
}
else
{
let
qxcglnum
=
Number
(
res
.
result
.
qxjrsuccess
)
/
this
.
qxjrl
*
100
let
stcgl
=
Number
(
res
.
result
.
sthjsuccess
)
/
this
.
qxjrl
*
100
this
.
qxcgl
=
qxcglnum
.
toFixed
(
2
)
+
"%"
;
this
.
stcgl
=
stcgl
.
toFixed
(
2
)
+
"%"
;
}
}
catch
(
error
)
{
this
.
$refs
.
msg
.
messageShow
();
},
methods
:
{
getsthjqxjrtotal
()
{
return
new
Promise
(
async
(
resolve
)
=>
{
try
{
let
p
=
{
DJLX
:
""
,
QLLX
:
""
,
XZQDM
:
""
,
};
let
res
=
await
work
.
getsthjqxjrtotal
(
p
);
this
.
stjrl
=
res
.
result
.
stsum
this
.
qxjrl
=
res
.
result
.
qxsum
this
.
qxerrer
=
Number
(
res
.
result
.
qxjrerrer
)
this
.
sterrer
=
Number
(
res
.
result
.
sthjerrer
)
if
(
res
.
result
.
sum
==
"0"
)
{
this
.
qxcgl
=
"100%"
this
.
stcgl
=
"100%"
}
else
{
let
qxcglnum
=
Number
(
res
.
result
.
qxjrsuccess
)
/
this
.
qxjrl
*
100
let
stcgl
=
Number
(
res
.
result
.
sthjsuccess
)
/
this
.
qxjrl
*
100
this
.
qxcgl
=
qxcglnum
.
toFixed
(
2
)
+
"%"
;
this
.
stcgl
=
stcgl
.
toFixed
(
2
)
+
"%"
;
}
});
},
}
catch
(
error
)
{
this
.
$refs
.
msg
.
messageShow
();
}
});
},
};
},
};
</
script
>
<
style
lang=
"scss"
scoped
>
.leftcard
{
width
:
32%
;
.leftcard
{
width
:
30%
;
display
:
flex
;
height
:
calc
(
100vh
-
114px
);
flex-direction
:
column
;
.card
{
height
:
22%
;
background
:
url("~@/image/qxjr.png")
no-repeat
;
background-size
:
100%
100%
;
position
:
relative
;
text-align
:
center
;
width
:
100%
;
}
.carda
{
height
:
22%
;
background
:
url("~@/image/sthj.png")
no-repeat
;
background-size
:
100%
100%
;
position
:
relative
;
text-align
:
center
;
width
:
100%
;
}
.card1
{
background
:
url("~@/image/sbtj.png")
no-repeat
;
background-size
:
100%
100%
;
position
:
relative
;
box-sizing
:
border-box
;
flex
:
1
;
}
.cardhead
{
color
:
#02d9fd
;
line-height
:
0.125rem
;
letter-spacing
:
0.0104rem
;
position
:
absolute
;
font-size
:
0.1042rem
;
left
:
0
;
right
:
0
;
margin
:
auto
;
text-align
:
center
;
top
:
8px
;
font-weight
:
700
;
}
.rjjrlList
{
display
:
flex
;
height
:
calc
(
100vh
-
114px
);
flex-direction
:
column
;
margin-top
:
0.01781rem
;
.card
{
height
:
22%
;
background
:
url("~@/image/qxjr.png")
no-repeat
;
background-size
:
100%
100%
;
position
:
relative
;
text-align
:
center
;
width
:
100%
;
}
.carda
{
height
:
22%
;
background
:
url("~@/image/sthj.png")
no-repeat
;
.qxjr
{
background
:
url("~@/image/jrl3.png")
;
background-size
:
100%
100%
;
position
:
relative
;
text-align
:
center
;
width
:
100%
;
width
:
29px
;
height
:
46px
;
}
.
card1
{
background
:
url("~@/image/
sbtj.png")
no-repeat
;
.
sthj
{
background
:
url("~@/image/
jh.png")
;
background-size
:
100%
100%
;
position
:
relative
;
box-sizing
:
border-box
;
flex
:
1
;
width
:
29px
;
height
:
46px
;
}
.cardhead
{
color
:
#02d9fd
;
line-height
:
0.125rem
;
letter-spacing
:
0.0104rem
;
position
:
absolute
;
font-size
:
0.1042rem
;
left
:
0
;
right
:
0
;
margin
:
auto
;
text-align
:
center
;
top
:
8px
;
p
{
margin
:
0
0.0156rem
0.0521rem
0.0156rem
;
font-weight
:
700
;
font-size
:
30px
;
}
}
.rjjrlList
{
display
:
flex
;
margin-top
:
0.01781rem
;
.qxjr
{
background
:
url("~@/image/jrl3.png")
;
background-size
:
100%
100%
;
}
.cardcontent
{
width
:
100%
;
height
:
100%
;
display
:
flex
;
//
padding
:
35px
20px
20px
20px
;
box-sizing
:
border-box
;
color
:
#e3f1ff
;
margin-top
:
0.1263rem
;
.cardcontent-left
{
width
:
60%
;
flex-direction
:
column
;
position
:
relative
;
flex
:
1
;
height
:
100%
;
.sthj
{
background
:
url("~@/image/jh.png")
;
background-size
:
100%
100%
;
li
{
font-size
:
0.1042rem
;
}
}
p
{
margin
:
0
0.0156rem
0.0521rem
0.0156rem
;
font-weight
:
700
;
width
:
0.195rem
;
height
:
0.2475rem
;
font-size
:
0.2863rem
;
font-size
:
0.2867rem
;
}
.cardcontent-left
::before
{
position
:
absolute
;
right
:
0
;
top
:
0.24rem
;
content
:
""
;
width
:
0.0052rem
;
height
:
0.4688rem
;
background
:
linear-gradient
(
180deg
,
#091b4c
0%
,
#47b5e0
56%
,
#091b4c
100%
);
}
.cardcontent
{
.cardcontent-right
{
flex
:
1
;
width
:
100%
;
height
:
100%
;
display
:
flex
;
//
padding
:
35px
20px
20px
20px
;
box-sizing
:
border-box
;
color
:
#e3f1ff
;
margin-top
:
0.1263rem
;
.cardcontent-left
{
width
:
60%
;
flex-direction
:
column
;
position
:
relative
;
flex
:
1
;
height
:
100%
;
li
{
font-size
:
0.1042rem
;
}
}
flex-direction
:
column
;
font-size
:
0.09977rem
;
.cardcontent-left
::before
{
position
:
absolute
;
right
:
0
;
top
:
0.3042rem
;
content
:
""
;
width
:
0.0052rem
;
height
:
0.4688rem
;
background
:
linear-gradient
(
180deg
,
#091b4c
0%
,
#47b5e0
56%
,
#091b4c
100%
);
.bad
{
color
:
#c97168
;
}
.cardcontent-right
{
flex
:
1
;
width
:
100%
;
height
:
100%
;
flex-direction
:
column
;
font-size
:
0.09977rem
;
.cg
{
color
:
#5fba7d
;
}
.bad
{
color
:
#c97168
;
}
p
{
margin-bottom
:
0.0417rem
;
.cg
{
color
:
#5fba7d
;
span
:
nth-child
(
1
)
{
margin-right
:
0.0781rem
;
}
p
{
margin-bottom
:
0.0417rem
;
span
:
nth-child
(
1
)
{
margin-right
:
0.0781rem
;
}
span
:nth-child
(
2
)
{
font-size
:
0.1142rem
;
font-weight
:
900
;
}
span
:nth-child
(
2
)
{
font-size
:
20px
;
font-weight
:
900
;
}
}
}
}
}
</
style
>
...
...
src/views/home/dataView/rightcard.vue
View file @
9dd5c4b
...
...
@@ -40,9 +40,13 @@
mounted
()
{
this
.
getdjywltotal
();
window
.
addEventListener
(
"resize"
,
()
=>
{
this
.
cdata
.
seriesData
=
[];
this
.
getdjywltotal
();
});
// scroll(tableref.value.$refs.bodyWrapper);//设置滚动
window
.
addEventListener
(
"resize"
,
()
=>
{
this
.
getdjywltotal
();
});
// scroll(tableref.value.$refs.bodyWrapper);//设置滚动
})
},
methods
:
{
// 获取登记业务量玫瑰图数据
...
...
@@ -77,7 +81,7 @@
}
.rightcard
{
width
:
3
2
%
;
width
:
3
0
%
;
display
:
flex
;
height
:
calc
(
100vh
-
114px
);
flex-direction
:
column
;
...
...
@@ -120,20 +124,24 @@
height
:
33%
;
background
:
url("~@/image/xjgyfwxx.png")
no-repeat
;
background-size
:
100%
100%
;
/deep/.dv-scroll-board
{
.header
{
height
:
0.1875rem
;
align-items
:
center
;
}
}
.board
{
width
:
90%
;
margin
:
0
auto
;
height
:
1.1031rem
;
margin-top
:
0.0521rem
;
/deep/.header
{
font-size
:
0.0738rem
;
}
/
deep
/
.rows
{
.ceil
{
font-size
:
0.0738rem
;
...
...
src/views/jsbwcx/data/index.js
View file @
9dd5c4b
/*
* @Description:
* @Autor: renchao
* @LastEditTime: 2023-03-15 14:08:59
*/
import
filter
from
'@/utils/filter.js'
class
data
extends
filter
{
constructor
()
{
...
...
@@ -12,9 +17,9 @@ class data extends filter {
render
:
(
h
,
scope
)
=>
{
return
(
<
div
>
<
span
class
=
'adopt'
v
-
show
=
{
scope
.
row
.
receiveState
==
0
}
>
未
效
验
<
/span
>
<
span
class
=
'adopt'
v
-
show
=
{
scope
.
row
.
receiveState
==
1
}
>
效
验成功
<
/span
>
<
span
class
=
'warehousing'
v
-
show
=
{
scope
.
row
.
receiveState
==
2
}
>
效
验失败
<
/span
>
<
span
class
=
'adopt'
v
-
show
=
{
scope
.
row
.
receiveState
==
0
}
>
未
校
验
<
/span
>
<
span
class
=
'adopt'
v
-
show
=
{
scope
.
row
.
receiveState
==
1
}
>
校
验成功
<
/span
>
<
span
class
=
'warehousing'
v
-
show
=
{
scope
.
row
.
receiveState
==
2
}
>
校
验失败
<
/span
>
<
/div
>
)
}
...
...
@@ -46,7 +51,7 @@ class data extends filter {
{
prop
:
"bizMsgid"
,
label
:
"业务报文ID"
,
width
:
98
,
minWidth
:
100
,
},
{
prop
:
"createdate"
,
...
...
@@ -56,12 +61,12 @@ class data extends filter {
{
prop
:
"recflowid"
,
label
:
"业务流水号"
,
w
idth
:
100
,
minW
idth
:
100
,
},
{
prop
:
"estatenum"
,
label
:
"不动产单元号"
,
width
:
24
0
,
minWidth
:
16
0
,
},
{
prop
:
"rectype"
,
...
...
src/views/loginjg/index.vue
View file @
9dd5c4b
...
...
@@ -156,8 +156,8 @@
.login-logo
{
background
:
url(../../image/loginLogo.png)
no-repeat
;
background-size
:
100%
100%
;
width
:
28%
;
height
:
5
2%
;
width
:
580px
;
height
:
5
40px
;
position
:
absolute
;
top
:
25%
;
left
:
19%
;
...
...
@@ -171,7 +171,7 @@
min-width
:
360px
;
min-height
:
380px
;
top
:
30%
;
right
:
20
%
;
right
:
18
%
;
position
:
absolute
;
background-size
:
100%
100%
;
box-sizing
:
border-box
;
...
...
src/views/system/components/editValidRule.vue
View file @
9dd5c4b
<
template
>
<!-- 编辑 -->
<dialogBox
ref=
"validRule"
width=
"60%"
@
submitForm=
"handleSubmit"
:closed=
"true"
@
closeDialog=
"handleClose"
customClass=
"editValidRule"
multiple
title=
"上报
效
验规则设置"
>
customClass=
"editValidRule"
multiple
title=
"上报
校
验规则设置"
>
<el-form
:model=
"ruleForm"
:rules=
"rules"
ref=
"ruleForm"
label-width=
"120px"
>
<el-row
:gutter=
"20"
>
<el-col
:span=
"12"
>
...
...
@@ -84,10 +84,10 @@ export default {
)
}
},
//
效
验表达式
//
校
验表达式
{
prop
:
'EXPRESSION'
,
label
:
'
效
验表达式'
,
label
:
'
校
验表达式'
,
render
:
(
h
,
scope
)
=>
{
return
(
<
el
-
select
value
=
{
scope
.
row
[
scope
.
column
.
property
]}
clearable
...
...
@@ -204,7 +204,5 @@ export default {
}
}
</
script
>
<
style
rel=
"stylesheet/less"
lang=
"less"
scoped
>
</
style
>
<
style
rel=
"stylesheet/less"
lang=
"less"
scoped
></
style
>
...
...
src/views/system/menus/edit-dialog.vue
View file @
9dd5c4b
<
template
>
<dialogBox
class=
"modifydialog"
:isMain=
"true"
width=
"40%"
:title=
"title"
@
closeDialog=
"close"
@
submitForm=
"submitForm"
v-model=
"myValue"
>
<div
class=
"
modifydialog-c
on"
>
<div
class=
"
dialogC
on"
>
<el-form
ref=
"form"
:model=
"form"
:rules=
"rules"
>
<el-row
:gutter=
"24"
>
<el-col
:span=
"12"
>
...
...
src/views/system/menus/index.vue
View file @
9dd5c4b
...
...
@@ -13,10 +13,9 @@
</el-form>
</div>
<div
class=
"from-clues-content"
>
<lb-table
:pagination=
"false"
:column=
"tableData.
columns"
:calcHeight=
"200"
:data=
"tablelistData"
row-key=
"id"
default-expand-all
:tree-props=
"
{ children: 'children', hasChildren: 'hasChildren' }">
<lb-table
:pagination=
"false"
:column=
"tableData.columns"
:calcHeight=
"200"
:data=
"tablelistData"
row-key=
"id"
default-expand-all
:tree-props=
"
{ children: 'children', hasChildren: 'hasChildren' }">
</lb-table>
</div>
<edit-dialog
ref=
"dialogForm"
v-model=
"isDialog"
:product-id=
"productId"
:resource-category-id=
"resourceCategoryId"
...
...
vue.config.js
View file @
9dd5c4b
...
...
@@ -8,6 +8,8 @@ function resolve (dir) {
const
name
=
defaultSettings
.
title
const
port
=
process
.
env
.
port
||
process
.
env
.
npm_config_port
||
8888
// dev port
const
CopyWebpackPlugin
=
require
(
'copy-webpack-plugin'
)
// All configuration item explanations can be find in https://cli.vuejs.org/config/
module
.
exports
=
{
/**
...
...
@@ -68,6 +70,7 @@ module.exports = {
'@'
:
resolve
(
'src'
)
}
},
plugins
:
[
new
CopyWebpackPlugin
({
patterns
:
[{
from
:
'src/api/config.js'
,
to
:
'config.js'
}]
})],
devtool
:
'#eval-source-map'
//测试
},
// chainWebpack通过链式编程的形式,来修改默认的webpack配置
...
...
Please
register
or
sign in
to post a comment