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
22344843
authored
2023-03-28 14:20:07 +0800
by
xiaomiao
Browse Files
Options
Browse Files
Tag
Download
Plain Diff
合并
2 parents
9642781a
03dbaf2e
Hide whitespace changes
Inline
Side-by-side
Showing
24 changed files
with
961 additions
and
935 deletions
README.md
public/config.json
src/components/LbTable/index.vue
src/layout/components/AppMain.vue
src/layout1/components/AppMain.vue
src/layout1/components/Navbar.vue
src/layout1/components/TagsView/index.vue
src/layout1/index.vue
src/main.js
src/permission.js
src/styles/jgPublic.scss
src/styles/sbPublic.scss
src/views/jktj/bsxljk/index.vue
src/views/jktj/cgltj/index.vue
src/views/jktj/ywltj/index.vue
src/views/jsbwcx/index.vue
src/views/statistics/css/index.scss
src/views/statistics/dataReceiveQuality/index.vue
src/views/statistics/nullTermRatio/index.vue
src/views/statistics/registerBookQuality/index.vue
src/views/system/menus/index.vue
src/views/system/roles/index.vue
src/views/system/timedTask/index.vue
src/views/system/users/index.vue
README.md
View file @
2234484
<!--
*
@Description:
*
@Autor: renchao
*
@LastEditTime: 2023-03-27 1
3:25:25
*
@LastEditTime: 2023-03-27 1
5:43:24
-->
# 安装依赖
npm install
...
...
@@ -21,4 +21,16 @@ npm install --registry=https://registry.npm.taobao.org
-
`wip`
开发中
## 项目换肤
给html根标签设置一个data-theme属性,然后通过js切换data-theme的属性值,Scss根据此属性来判断使用对应主题变量
\ No newline at end of file
给html根标签设置一个data-theme属性,然后通过js切换data-theme的属性值,Scss根据此属性来判断使用对应主题变量
## config说明
{
"TITLE": "汉中市数据上报系统",
"THEME": "sb",
"CODE": "BDCJGPT", {"BDCSBPT":上报: "BDCJGPT":监管}
"SERVERAPI": "/bdcsjsb",
"calcHeight": 200, {上报:160 监管:200}
"echartTextColor": "#FFFFFF", {上报:"#4A4A4A" 监管:"#FFFFFF"}
"MANAGEMENTAPI": "http://192.168.2.38:8090/management"
}
\ No newline at end of file
...
...
public/config.json
View file @
2234484
...
...
@@ -3,5 +3,7 @@
"THEME"
:
"sb"
,
"CODE"
:
"BDCJGPT"
,
"SERVERAPI"
:
"/bdcsjsb"
,
"calcHeight"
:
160
,
"echartTextColor"
:
"#4A4A4A"
,
"MANAGEMENTAPI"
:
"http://192.168.2.38:8090/management"
}
\ No newline at end of file
...
...
src/components/LbTable/index.vue
View file @
2234484
...
...
@@ -139,11 +139,25 @@ export default {
let
_this
=
this
if
(
this
.
heightNum
)
{
_this
.
$nextTick
(()
=>
{
window
.
addEventListener
(
'resize'
,
()
=>
{
if
(
document
.
querySelector
(
".tags-view-container"
))
{
window
.
addEventListener
(
'resize'
,
()
=>
{
if
(
_this
.
calcHeight
==
230
)
{
_this
.
tableHeight
=
_this
.
calcHeightx
(
192
)
}
else
{
_this
.
tableHeight
=
_this
.
calcHeightx
(
_this
.
calcHeight
)
}
});
if
(
_this
.
calcHeight
==
230
)
{
_this
.
tableHeight
=
_this
.
calcHeightx
(
192
)
}
else
{
_this
.
tableHeight
=
_this
.
calcHeightx
(
_this
.
calcHeight
)
}
}
else
{
window
.
addEventListener
(
'resize'
,
()
=>
{
_this
.
tableHeight
=
_this
.
calcHeightx
(
_this
.
calcHeight
)
});
_this
.
tableHeight
=
_this
.
calcHeightx
(
_this
.
calcHeight
)
});
_this
.
tableHeight
=
_this
.
calcHeightx
(
_this
.
calcHeight
)
}
})
}
else
{
_this
.
tableHeight
=
window
.
innerHeight
-
_this
.
heightNum
...
...
@@ -158,9 +172,15 @@ export default {
calcHeightx
(
value
,
wappered
=
true
)
{
//项目自定义的公共header部分的高度,可忽略
let
header
=
document
.
querySelector
(
".from-clues-header"
).
offsetHeight
;
//value为动态计算table界面高度时,减去的其他空白部分,需自行在调试找到临界值,剩下的就是table表格的高度(包含header+body部分)
value
=
value
==
undefined
?
100
:
value
;
let
res
=
window
.
innerHeight
-
parseInt
(
header
)
-
value
;
if
(
document
.
querySelector
(
".tags-view-container"
))
{
let
tagsView
=
document
.
querySelector
(
".tags-view-container"
).
offsetHeight
;
var
res
=
window
.
innerHeight
-
parseInt
(
header
)
-
value
-
parseInt
(
tagsView
);
}
else
{
var
res
=
window
.
innerHeight
-
parseInt
(
header
)
-
value
;
}
if
(
wappered
)
{
//通过原生方法,获取dom节点的高度------获取element-ui table表格body的元素
let
wapper
=
window
.
document
.
getElementsByClassName
(
'el-table__body-wrapper'
);
...
...
src/layout/components/AppMain.vue
View file @
2234484
...
...
@@ -15,14 +15,4 @@ export default {
}
}
}
</
script
>
<
style
lang=
"scss"
scoped
>
.hasTagsView
{
.app-main
{
overflow-x
:
auto
;
box-sizing
:
border-box
;
background-color
:
#EDF1F7
;
box-sizing
:
border-box
;
}
}
</
style
>
\ No newline at end of file
</
script
>
\ No newline at end of file
...
...
src/layout1/components/AppMain.vue
View file @
2234484
<!--
* @Description:
* @Autor: renchao
* @LastEditTime: 2023-03-2
2 10:23:46
* @LastEditTime: 2023-03-2
8 10:12:27
-->
<
template
>
<section>
<transition
name=
"fade-transform"
mode=
"out-in"
>
<router-view
/>
</transition>
</section>
<transition
name=
"fade-transform"
mode=
"out-in"
>
<router-view
/>
</transition>
</
template
>
<
script
>
export
default
{
...
...
src/layout1/components/Navbar.vue
View file @
2234484
...
...
@@ -6,14 +6,12 @@
<h4>
不动产登记上报系统
</h4>
</div>
<div
class=
"right-menu"
>
<el-dropdown
class=
"avatar-container right-menu-item hover-effect"
trigger=
"hover"
>
<div
class=
"user"
>
{{
userName
}}
<span
@
click=
"onCancel"
>
<i
class=
"el-icon-switch-button"
></i>
</span>
</div>
</el-dropdown>
<div
class=
"user"
>
{{
userName
}}
<span
@
click=
"onCancel"
>
<i
class=
"el-icon-switch-button"
></i>
</span>
</div>
</div>
</div>
</div>
...
...
src/layout1/components/TagsView/index.vue
View file @
2234484
...
...
@@ -194,12 +194,12 @@ export default {
@import
"~@/styles/_handle.scss"
;
.tags-view-container
{
height
:
4
0px
;
height
:
5
0px
;
width
:
100%
;
background
:
#fff
;
border-bottom
:
1px
solid
#d8dce5
;
box-sizing
:
border-box
;
padding-top
:
2
px
;
padding-top
:
7
px
;
margin-bottom
:
7px
;
border-radius
:
4px
;
...
...
src/layout1/index.vue
View file @
2234484
<!--
* @Description:
* @Autor: renchao
* @LastEditTime: 2023-03-2
3 09:21:0
0
* @LastEditTime: 2023-03-2
8 10:14:2
0
-->
<
template
>
<div
class=
"app-wrapper"
>
<navbar
/>
<div
class=
"main-container"
>
<sidebar
class=
"sidebar-container"
/>
<div
class=
"app-
main
"
>
<div
class=
"app-
content
"
>
<tags-view
v-if=
"needTagsView"
/>
<app-main
/>
</div>
...
...
@@ -40,17 +40,6 @@ export default {
}
}
</
script
>
<
style
lang=
"scss"
scoped
>
.app-main
{
height
:
calc
(
100vh
-
74px
);
overflow-x
:
hidden
;
box-sizing
:
border-box
;
flex
:
1
;
width
:
100%
;
background
:
#EAEBF0
;
padding
:
10px
;
}
</
style
>
<
style
lang=
"scss"
>
@import
"~@/styles/mixin.scss"
;
@import
"~@/styles/sbSidebar.scss"
;
...
...
@@ -83,4 +72,13 @@ export default {
width
:
100%
;
transition
:
width
0.28s
;
}
.app-content
{
overflow-x
:
hidden
;
box-sizing
:
border-box
;
flex
:
1
;
width
:
100%
;
background
:
#EAEBF0
;
padding
:
10px
;
}
</
style
>
...
...
src/main.js
View file @
2234484
...
...
@@ -2,7 +2,7 @@
* @Author: yangwei
* @Date: 2023-01-16 09:10:12
* @LastEditors: Please set LastEditors
* @LastEditTime: 2023-03-2
3 15:15:02
* @LastEditTime: 2023-03-2
7 16:54:34
* @FilePath: \bdcjg-web\src\main.js
* @Description:
*
...
...
@@ -19,7 +19,6 @@ import mixin from '@/utils/mixin/theme.js'
import
axios
from
'axios'
import
dataV
from
'@jiaminghi/data-view'
;
import
*
as
echarts
from
"echarts"
import
{
startLoadingAddCount
,
endLoadingSubCount
}
from
'./utils/requestLoading'
Vue
.
mixin
(
mixin
)
import
'./directive/vxe-table'
...
...
@@ -68,4 +67,5 @@ axios.get("./config.json")
store
,
render
:
h
=>
h
(
App
)
})
window
.
document
.
documentElement
.
setAttribute
(
"data-theme"
,
'blue'
);
})
\ No newline at end of file
...
...
src/permission.js
View file @
2234484
...
...
@@ -20,7 +20,7 @@ router.beforeEach(async (to, from, next) => {
localStorage
.
removeItem
(
"token"
);
next
();
}
else
{
window
.
document
.
documentElement
.
setAttribute
(
"data-theme"
,
'blue'
);
let
code
=
Vue
.
prototype
.
BASE_API
.
CODE
//判断token是否存在
const
hasToken
=
localStorage
.
getItem
(
"token"
);
...
...
src/styles/jgPublic.scss
View file @
2234484
...
...
@@ -190,6 +190,27 @@
}
}
.echarts-box
{
display
:
flex
;
justify-content
:
center
;
height
:
calc
(
100vh
-
260px
);
}
.complex-header
{
.el-table--border
th
.el-table__cell
{
border-bottom
:
1px
solid
#458ACF
!
important
;
}
.el-table--border
.el-table__cell
{
border-right
:
1px
solid
#458ACF
!
important
;
}
.el-table--group
,
.el-table--border
{
border
:
1px
solid
#458ACF
!
important
;
}
}
.el-pagination.is-background
.btn-prev
,
.el-pagination.is-background
.btn-next
{
@extend
.bgc
;
...
...
src/styles/sbPublic.scss
View file @
2234484
...
...
@@ -9,7 +9,7 @@
.from-clues
{
height
:
100%
;
//
height: 100%;
width
:
100%
;
min-width
:
1280px
;
box-sizing
:
border-box
;
...
...
@@ -17,9 +17,8 @@
&
-header
{
width
:
100%
;
padding
:
7px
15px
1
0
px
15px
;
padding
:
7px
15px
1
5
px
15px
;
box-sizing
:
border-box
;
background-size
:
100%
100%
;
background
:
#FFFFFF
;
border-radius
:
4px
;
}
...
...
@@ -30,7 +29,6 @@
margin-top
:
10px
;
background
:
#FFFFFF
;
border-radius
:
4px
;
background-size
:
100%
100%
;
padding
:
15px
;
}
...
...
@@ -57,6 +55,12 @@
}
}
.echarts-box
{
display
:
flex
;
justify-content
:
center
;
height
:
calc
(
100vh
-
230px
);
}
/* --------------进度条美化---------------- */
::-webkit-scrollbar
{
width
:
7px
;
...
...
@@ -169,7 +173,6 @@
width
:
2px
;
position
:
relative
;
left
:
10px
;
color
:
#FFFFFF
;
}
.el-breadcrumb__inner
{
...
...
src/views/jktj/bsxljk/index.vue
View file @
2234484
<
template
>
<!-- 监控日志 -->
<div
class=
"jktjDetail f
or
m-clues"
>
<div
class=
"jktjDetail f
ro
m-clues"
>
<!-- 头部搜索 -->
<div
class=
"from-clues-header"
>
<el-form
ref=
"form"
:model=
"form"
label-width=
"100px"
>
<el-form-item>
<el-form-item
v-if=
"BASE_API.THEME == 'jg'"
>
<Breadcrumb
/>
</el-form-item>
<el-row>
<el-row
class=
"mb-5"
>
<el-col
:span=
"4"
>
<el-form-item
label=
"开始日期"
prop=
"startTime"
>
<el-form-item
label=
"开始日期"
prop=
"startTime"
class=
"d-flex"
>
<el-date-picker
type=
"date"
:clearable=
"false"
class=
"width100"
placeholder=
"开始日期"
:picker-options=
"pickerOptionsStart"
v-model=
"form.startTime"
value-format=
"yyyy-MM-dd HH:mm:ss"
></el-date-picker>
</el-form-item>
</el-col>
<el-col
:span=
"4"
>
<el-form-item
label=
"结束日期"
prop=
"endTime"
>
<el-form-item
label=
"结束日期"
prop=
"endTime"
class=
"d-flex"
>
<el-date-picker
class=
"width100"
:clearable=
"false"
type=
"date"
placeholder=
"结束日期"
:picker-options=
"pickerOptionsEnd"
v-model=
"form.endTime"
value-format=
"yyyy-MM-dd HH:mm:ss"
@
change=
"endTimeChange"
></el-date-picker>
...
...
@@ -31,330 +31,308 @@
</el-form>
</div>
<!-- 表格 -->
<div
class=
"f
or
m-clues-content echarts-box"
v-if=
"pieChartsData.length"
>
<div
id=
"myChart"
class=
"chart"
></div>
<div
id=
"myChart-bar"
class=
"chart-bar"
></div>
<div
class=
"f
ro
m-clues-content echarts-box"
v-if=
"pieChartsData.length"
>
<div
id=
"myChart"
class=
"chart"
style=
"height:100%;width:100%;"
></div>
<div
id=
"myChart-bar"
class=
"chart-bar"
style=
"height:100%;width:100%;"
></div>
</div>
<div
class=
"f
orm-clues-content echarts-box
center"
v-else
>
暂无数据
</div>
<div
class=
"f
rom-clues-content
center"
v-else
>
暂无数据
</div>
</div>
</
template
>
<
script
>
import
{
mapGetters
}
from
"vuex"
;
import
efficient
from
"@/api/efficient"
;
import
{
getFirstDayOfSeason
,
timeFormat
}
from
"@/utils/operation"
;
export
default
{
name
:
"jktj"
,
data
()
{
return
{
// 开始日期限制
pickerOptionsStart
:
{
disabledDate
:
(
time
)
=>
{
if
(
this
.
form
.
endTime
)
{
return
time
.
getTime
()
>
new
Date
(
this
.
form
.
endTime
).
getTime
();
}
},
},
// 结束日期限制
pickerOptionsEnd
:
{
disabledDate
:
(
time
)
=>
{
if
(
this
.
form
.
startTime
)
{
return
time
.
getTime
()
<
new
Date
(
this
.
form
.
startTime
).
getTime
();
}
},
import
{
mapGetters
}
from
"vuex"
;
import
efficient
from
"@/api/efficient"
;
import
{
getFirstDayOfSeason
,
timeFormat
}
from
"@/utils/operation"
;
export
default
{
name
:
"jktj"
,
data
()
{
return
{
// 开始日期限制
pickerOptionsStart
:
{
disabledDate
:
(
time
)
=>
{
if
(
this
.
form
.
endTime
)
{
return
time
.
getTime
()
>
new
Date
(
this
.
form
.
endTime
).
getTime
();
}
},
form
:
{
startTime
:
getFirstDayOfSeason
(),
endTime
:
timeFormat
(
new
Date
(),
true
),
},
// 结束日期限制
pickerOptionsEnd
:
{
disabledDate
:
(
time
)
=>
{
if
(
this
.
form
.
startTime
)
{
return
time
.
getTime
()
<
new
Date
(
this
.
form
.
startTime
).
getTime
();
}
},
// 搜索表单
pieChartsData
:
[],
};
},
form
:
{
startTime
:
getFirstDayOfSeason
(),
endTime
:
timeFormat
(
new
Date
(),
true
),
},
// 搜索表单
pieChartsData
:
[],
};
},
created
()
{
},
mounted
()
{
this
.
getProcessCounts
();
},
computed
:
{
...
mapGetters
([
"dicData"
]),
},
methods
:
{
endTimeChange
(
val
)
{
this
.
form
.
endTime
=
timeFormat
(
new
Date
(
val
),
true
);
},
created
()
{
},
mounted
()
{
this
.
getProcessCounts
();
//查询各区县办件数量
async
getProcessCounts
()
{
this
.
pieChartsData
=
[];
let
{
result
:
res
}
=
await
efficient
.
getProcessCounts
(
this
.
form
.
startTime
,
this
.
form
.
endTime
);
//获取图表配置项需要的数据
res
.
length
>
0
&&
res
.
forEach
((
item
)
=>
{
this
.
pieChartsData
.
push
({
//登记数量
value
:
item
.
counts
,
//登记数量
name
:
item
.
recTypeName
,
//登记类型代码
groupId
:
item
.
recType
,
});
});
res
.
length
&&
this
.
$nextTick
(()
=>
{
// 初始化图表
this
.
echartInit
();
this
.
barChartInit
(
res
[
0
].
recType
);
});
},
computed
:
{
...
mapGetters
([
"dicData"
]),
// 重置
resetForm
()
{
this
.
form
=
{
startTime
:
getFirstDayOfSeason
(),
endTime
:
timeFormat
(
new
Date
(),
true
),
};
this
.
getProcessCounts
();
},
methods
:
{
endTimeChange
(
val
)
{
this
.
form
.
endTime
=
timeFormat
(
new
Date
(
val
),
true
);
},
//查询各区县办件数量
async
getProcessCounts
()
{
this
.
pieChartsData
=
[];
let
{
result
:
res
}
=
await
efficient
.
getProcessCounts
(
this
.
form
.
startTime
,
this
.
form
.
endTime
);
//获取图表配置项需要的数据
res
.
length
>
0
&&
res
.
forEach
((
item
)
=>
{
this
.
pieChartsData
.
push
({
//登记数量
value
:
item
.
counts
,
//登记数量
name
:
item
.
recTypeName
,
//登记类型代码
groupId
:
item
.
recType
,
});
});
res
.
length
&&
this
.
$nextTick
(()
=>
{
// 初始化图表
this
.
echartInit
();
this
.
barChartInit
(
res
[
0
].
recType
);
});
},
// 重置
resetForm
()
{
this
.
form
=
{
startTime
:
getFirstDayOfSeason
(),
endTime
:
timeFormat
(
new
Date
(),
true
),
};
this
.
getProcessCounts
();
},
//玫瑰图初始化
echartInit
()
{
let
_this
=
this
;
// 基于准备好的dom,初始化echarts实例
let
myChart
=
this
.
$echarts
.
init
(
document
.
getElementById
(
"myChart"
));
// 绘制图表
myChart
.
setOption
({
legend
:
{
bottom
:
"2%"
,
left
:
"center"
,
textStyle
:
{
color
:
"#fff"
,
},
},
tooltip
:
{
trigger
:
"item"
,
formatter
:
"{b} : {c}"
,
//玫瑰图初始化
echartInit
()
{
let
_this
=
this
;
// 基于准备好的dom,初始化echarts实例
let
myChart
=
this
.
$echarts
.
init
(
document
.
getElementById
(
"myChart"
));
// 绘制图表
myChart
.
setOption
({
legend
:
{
bottom
:
"-1%"
,
left
:
"center"
,
textStyle
:
{
color
:
this
.
BASE_API
.
echartTextColor
,
},
label
:
{
color
:
'inherit'
,
},
series
:
[
{
name
:
"各业务类型办理数量"
,
type
:
"pie"
,
radius
:
[
0
,
250
],
center
:
[
"50%"
,
"45%"
],
roseType
:
"area"
,
itemStyle
:
{
borderRadius
:
8
,
},
data
:
this
.
pieChartsData
,
},
tooltip
:
{
trigger
:
"item"
,
formatter
:
"{b} : {c}"
,
},
label
:
{
color
:
'inherit'
,
},
series
:
[
{
name
:
"各业务类型办理数量"
,
type
:
"pie"
,
radius
:
[
0
,
250
],
center
:
[
"50%"
,
"32%"
],
roseType
:
"area"
,
itemStyle
:
{
borderRadius
:
8
,
},
],
});
//添加点击事件
myChart
.
on
(
"click"
,
function
(
param
)
{
_this
.
barChartInit
(
param
.
data
.
groupId
);
});
//默认选中第一个
let
index
=
1
;
myChart
.
dispatchAction
({
type
:
"highlight"
,
seriesIndex
:
0
,
dataIndex
:
0
,
});
myChart
.
on
(
"mouseover"
,
function
(
e
)
{
if
(
e
.
dataIndex
!=
index
)
{
myChart
.
dispatchAction
({
type
:
"downplay"
,
seriesIndex
:
0
,
dataIndex
:
index
,
});
}
});
myChart
.
on
(
"mouseout"
,
function
(
e
)
{
index
=
e
.
dataIndex
;
data
:
this
.
pieChartsData
,
},
],
});
//添加点击事件
myChart
.
on
(
"click"
,
function
(
param
)
{
_this
.
barChartInit
(
param
.
data
.
groupId
);
});
//默认选中第一个
let
index
=
1
;
myChart
.
dispatchAction
({
type
:
"highlight"
,
seriesIndex
:
0
,
dataIndex
:
0
,
});
myChart
.
on
(
"mouseover"
,
function
(
e
)
{
if
(
e
.
dataIndex
!=
index
)
{
myChart
.
dispatchAction
({
type
:
"
highlight
"
,
type
:
"
downplay
"
,
seriesIndex
:
0
,
dataIndex
:
e
.
dataI
ndex
,
dataIndex
:
i
ndex
,
});
}
});
myChart
.
on
(
"mouseout"
,
function
(
e
)
{
index
=
e
.
dataIndex
;
myChart
.
dispatchAction
({
type
:
"highlight"
,
seriesIndex
:
0
,
dataIndex
:
e
.
dataIndex
,
});
},
//柱图初始化
async
barChartInit
(
recType
)
{
//请求recType对应业务的各区县数据
let
{
result
:
res
}
=
await
efficient
.
getProcessDays
(
recType
,
this
.
form
.
startTime
,
this
.
form
.
endTime
);
//行政区数组
let
xzqArr
=
[];
this
.
dicData
[
"A20"
].
forEach
((
item
)
=>
{
xzqArr
.
push
(
item
.
DNAME
);
let
tempArr
=
res
.
filter
((
i
)
=>
{
return
i
.
qxdm
==
item
.
DCODE
;
});
if
(
tempArr
.
length
)
{
item
.
avgDay
=
tempArr
[
0
].
avgDay
;
item
.
maxDay
=
tempArr
[
0
].
maxDay
;
item
.
minDay
=
tempArr
[
0
].
minDay
;
}
else
{
item
.
avgDay
=
0
;
item
.
maxDay
=
0
;
item
.
minDay
=
0
;
}
});
},
//柱图初始化
async
barChartInit
(
recType
)
{
//请求recType对应业务的各区县数据
let
{
result
:
res
}
=
await
efficient
.
getProcessDays
(
recType
,
this
.
form
.
startTime
,
this
.
form
.
endTime
);
//行政区数组
let
xzqArr
=
[];
this
.
dicData
[
"A20"
].
forEach
((
item
)
=>
{
xzqArr
.
push
(
item
.
DNAME
);
let
tempArr
=
res
.
filter
((
i
)
=>
{
return
i
.
qxdm
==
item
.
DCODE
;
});
//补全无数据行政区后的结果数组
let
dealArr
=
[...
this
.
dicData
[
"A20"
]];
let
myChartBar
=
this
.
$echarts
.
init
(
document
.
getElementById
(
"myChart-bar"
)
);
myChartBar
.
setOption
({
color
:
[
"#00bdb1"
,
"#ff6e6e"
,
"#3f99ff"
,
"#ffaf48"
],
tooltip
:
{
show
:
true
,
trigger
:
"axis"
,
textStyle
:
{
fontSize
:
16
,
// 字体大小
},
extraCssText
:
"width:220px;height:160px;"
,
// 背景色
if
(
tempArr
.
length
)
{
item
.
avgDay
=
tempArr
[
0
].
avgDay
;
item
.
maxDay
=
tempArr
[
0
].
maxDay
;
item
.
minDay
=
tempArr
[
0
].
minDay
;
}
else
{
item
.
avgDay
=
0
;
item
.
maxDay
=
0
;
item
.
minDay
=
0
;
}
});
//补全无数据行政区后的结果数组
let
dealArr
=
[...
this
.
dicData
[
"A20"
]];
let
myChartBar
=
this
.
$echarts
.
init
(
document
.
getElementById
(
"myChart-bar"
)
);
myChartBar
.
setOption
({
color
:
[
"#00bdb1"
,
"#ff6e6e"
,
"#3f99ff"
,
"#ffaf48"
],
tooltip
:
{
show
:
true
,
trigger
:
"axis"
,
textStyle
:
{
fontSize
:
16
,
// 字体大小
},
grid
:
{
top
:
120
,
extraCssText
:
"width:220px;height:160px;"
,
// 背景色
},
grid
:
{
top
:
120
,
},
legend
:
{
data
:
[
"最短用时"
,
"平均用时"
,
"最长用时"
],
top
:
20
,
textStyle
:
{
show
:
true
,
color
:
this
.
BASE_API
.
echartTextColor
,
fontSize
:
"16"
,
},
legend
:
{
data
:
[
"最短用时"
,
"平均用时"
,
"最长用时"
],
top
:
20
,
textStyle
:
{
show
:
true
,
color
:
"#fff"
,
fontSize
:
"16"
,
},
xAxis
:
[
{
type
:
"category"
,
data
:
xzqArr
,
axisLabel
:
{
interval
:
0
,
textStyle
:
{
show
:
true
,
color
:
this
.
BASE_API
.
echartTextColor
,
fontSize
:
"16"
,
},
},
},
xAxis
:
[
{
type
:
"category"
,
data
:
xzqArr
,
axisLabel
:
{
interval
:
0
,
textStyle
:
{
show
:
true
,
color
:
"#fff"
,
fontSize
:
"16"
,
},
},
],
yAxis
:
[
{
type
:
"value"
,
name
:
"单位:天"
,
nameTextStyle
:
{
color
:
this
.
BASE_APIechartTextColor
,
fontSize
:
"16"
,
},
],
yAxis
:
[
{
type
:
"value"
,
name
:
"单位:天"
,
nameTextStyle
:
{
color
:
"#fff"
,
axisLabel
:
{
textStyle
:
{
show
:
true
,
color
:
this
.
BASE_API
.
echartTextColor
,
fontSize
:
"16"
,
},
axisLabel
:
{
textStyle
:
{
show
:
true
,
color
:
"#fff"
,
fontSize
:
"16"
,
},
},
},
],
label
:
{
color
:
'inherit'
,
},
series
:
[
{
type
:
"bar"
,
//显示数值
itemStyle
:
{
normal
:
{
label
:
{
show
:
true
,
//开启显示
position
:
"top"
,
//在上方显示
],
label
:
{
color
:
'inherit'
,
},
series
:
[
{
type
:
"bar"
,
//显示数值
itemStyle
:
{
normal
:
{
label
:
{
show
:
true
,
//开启显示
position
:
"top"
,
//在上方显示
},
},
},
barMaxWidth
:
"60"
,
name
:
"最短用时"
,
data
:
dealArr
.
map
((
item
)
=>
item
.
minDay
),
},
{
type
:
"bar"
,
//显示数值
itemStyle
:
{
normal
:
{
label
:
{
show
:
true
,
//开启显示
position
:
"top"
,
//在上方显示
barMaxWidth
:
"60"
,
name
:
"最短用时"
,
data
:
dealArr
.
map
((
item
)
=>
item
.
minDay
),
},
{
type
:
"bar"
,
//显示数值
itemStyle
:
{
normal
:
{
label
:
{
show
:
true
,
//开启显示
position
:
"top"
,
//在上方显示
},
},
},
barMaxWidth
:
"60"
,
name
:
"平均用时"
,
data
:
dealArr
.
map
((
item
)
=>
item
.
avgDay
),
},
{
type
:
"bar"
,
//显示数值
itemStyle
:
{
normal
:
{
label
:
{
show
:
true
,
//开启显示
position
:
"top"
,
//在上方显示
barMaxWidth
:
"60"
,
name
:
"平均用时"
,
data
:
dealArr
.
map
((
item
)
=>
item
.
avgDay
),
},
{
type
:
"bar"
,
//显示数值
itemStyle
:
{
normal
:
{
label
:
{
show
:
true
,
//开启显示
position
:
"top"
,
//在上方显示
},
},
},
barMaxWidth
:
"60"
,
name
:
"最长用时"
,
data
:
dealArr
.
map
((
item
)
=>
item
.
maxDay
),
},
],
});
},
barMaxWidth
:
"60"
,
name
:
"最长用时"
,
data
:
dealArr
.
map
((
item
)
=>
item
.
maxDay
),
},
],
});
},
};
},
};
</
script
>
<
style
scoped
lang=
"scss"
>
.jktjDetail
{
height
:
100%
;
display
:
flex
;
flex-direction
:
column
;
.rows
{
margin-left
:
100px
;
}
.jktjDetail
{
flex-direction
:
column
;
.center
{
line-height
:
50vh
;
text-align
:
center
;
}
.echarts-box
{
display
:
flex
;
justify-content
:
center
;
.chart
{
width
:
40%
;
height
:
100%
;
float
:
left
;
}
.chart-bar
{
width
:
60%
;
}
}
.rows
{
margin-left
:
100px
;
}
.form-clues-content
{
flex
:
1
;
height
:
100%
;
color
:
#b6b5b5
;
}
.center
{
line-height
:
50vh
;
text-align
:
center
;
color
:
#b6b5b5
;
}
}
</
style
>
...
...
src/views/jktj/cgltj/index.vue
View file @
2234484
<
template
>
<!-- 监控日志 -->
<div
class=
"jktjDetail f
or
m-clues"
>
<div
class=
"jktjDetail f
ro
m-clues"
>
<!-- 头部搜索 -->
<div
class=
"from-clues-header"
>
<el-form
ref=
"form"
:model=
"form"
label-width=
"
10
0px"
>
<el-form-item>
<el-form
ref=
"form"
:model=
"form"
label-width=
"
8
0px"
>
<el-form-item
v-if=
"BASE_API.THEME == 'jg'"
>
<Breadcrumb
/>
</el-form-item>
<el-row>
<el-row
class=
"mb-5"
>
<el-col
:span=
"4"
>
<el-form-item
label=
"行政区"
>
<el-form-item
label=
"行政区"
class=
"d-flex"
>
<el-select
v-model=
"form.qxdm"
class=
"width100"
clearable
placeholder=
"行政区"
>
<el-option
v-for=
"item in dicData['A20']"
:key=
"item.DCODE"
:label=
"item.DNAME"
:value=
"item.DCODE"
>
</el-option>
...
...
@@ -17,14 +17,14 @@
</el-form-item>
</el-col>
<el-col
:span=
"4"
>
<el-form-item
label=
"开始日期"
prop=
"startTime"
>
<el-form-item
label=
"开始日期"
prop=
"startTime"
class=
"d-flex"
>
<el-date-picker
type=
"date"
:clearable=
"false"
class=
"width100"
placeholder=
"开始日期"
:picker-options=
"pickerOptionsStart"
v-model=
"form.startTime"
value-format=
"yyyy-MM-dd HH:mm:ss"
></el-date-picker>
</el-form-item>
</el-col>
<el-col
:span=
"4"
>
<el-form-item
label=
"结束日期"
prop=
"endTime"
>
<el-form-item
label=
"结束日期"
prop=
"endTime"
class=
"d-flex"
>
<el-date-picker
type=
"date"
:clearable=
"false"
class=
"width100"
placeholder=
"结束日期"
:picker-options=
"pickerOptionsEnd"
v-model=
"form.endTime"
value-format=
"yyyy-MM-dd HH:mm:ss"
@
change=
"endTimeChange"
></el-date-picker>
...
...
@@ -39,282 +39,264 @@
</el-form>
</div>
<!-- 图表 -->
<div
class=
"f
or
m-clues-content echarts-box"
v-if=
"chartData.length"
>
<div
id=
"myChart"
class=
"chart"
></div>
<div
class=
"f
ro
m-clues-content echarts-box"
v-if=
"chartData.length"
>
<div
id=
"myChart"
class=
"chart"
style=
"height:100%;width:100%;"
></div>
</div>
<div
class=
"f
or
m-clues-content echarts-box center"
v-else
>
暂无数据
</div>
<div
class=
"f
ro
m-clues-content echarts-box center"
v-else
>
暂无数据
</div>
</div>
</
template
>
<
script
>
import
{
mapGetters
}
from
"vuex"
;
import
{
getFirstDayOfSeason
,
timeFormat
}
from
"@/utils/operation"
;
import
business
from
"@/api/business"
;
export
default
{
name
:
"jktj"
,
data
()
{
return
{
// 开始日期限制
pickerOptionsStart
:
{
disabledDate
:
(
time
)
=>
{
if
(
this
.
form
.
endTime
)
{
return
time
.
getTime
()
>
new
Date
(
this
.
form
.
endTime
).
getTime
();
}
},
},
// 结束日期限制
pickerOptionsEnd
:
{
disabledDate
:
(
time
)
=>
{
if
(
this
.
form
.
startTime
)
{
return
time
.
getTime
()
<
new
Date
(
this
.
form
.
startTime
).
getTime
();
}
},
import
{
mapGetters
}
from
"vuex"
;
import
{
getFirstDayOfSeason
,
timeFormat
}
from
"@/utils/operation"
;
import
business
from
"@/api/business"
;
export
default
{
name
:
"jktj"
,
data
()
{
return
{
// 开始日期限制
pickerOptionsStart
:
{
disabledDate
:
(
time
)
=>
{
if
(
this
.
form
.
endTime
)
{
return
time
.
getTime
()
>
new
Date
(
this
.
form
.
endTime
).
getTime
();
}
},
recTypeArr
:
[]
,
chartData
:
[],
// 搜索表单
form
:
{
startTime
:
getFirstDayOfSeason
(),
endTime
:
timeFormat
(
new
Date
(),
true
),
qxdm
:
""
,
}
,
// 结束日期限制
pickerOptionsEnd
:
{
disabledDate
:
(
time
)
=>
{
if
(
this
.
form
.
startTime
)
{
return
time
.
getTime
()
<
new
Date
(
this
.
form
.
startTime
).
getTime
();
}
},
interval
:
50
};
},
mounted
()
{
// 查询成功率
this
.
getSuucessRate
();
},
computed
:
{
...
mapGetters
([
"dicData"
]),
},
methods
:
{
endTimeChange
(
val
)
{
this
.
form
.
endTime
=
timeFormat
(
new
Date
(
val
),
true
)
},
async
getSuucessRate
()
{
this
.
recTypeArr
=
[];
this
.
chartData
=
[];
let
{
result
:
res
}
=
await
business
.
getSuucessRate
(
this
.
form
.
startTime
,
this
.
form
.
endTime
,
this
.
form
.
qxdm
);
this
.
chartData
=
res
;
recTypeArr
:
[],
chartData
:
[],
// 搜索表单
form
:
{
startTime
:
getFirstDayOfSeason
(),
endTime
:
timeFormat
(
new
Date
(),
true
),
qxdm
:
""
,
},
interval
:
50
};
},
mounted
()
{
// 查询成功率
this
.
getSuucessRate
();
},
computed
:
{
...
mapGetters
([
"dicData"
]),
},
methods
:
{
endTimeChange
(
val
)
{
this
.
form
.
endTime
=
timeFormat
(
new
Date
(
val
),
true
)
},
async
getSuucessRate
()
{
this
.
recTypeArr
=
[];
this
.
chartData
=
[];
let
{
result
:
res
}
=
await
business
.
getSuucessRate
(
this
.
form
.
startTime
,
this
.
form
.
endTime
,
this
.
form
.
qxdm
);
this
.
chartData
=
res
;
let
maxData
=
Math
.
max
.
apply
(
Math
,
this
.
chartData
.
map
(
item
=>
{
return
item
.
failure
}))
this
.
interval
=
Math
.
ceil
(
maxData
/
10
)
//行政区代码过滤
res
.
length
>
0
&&
res
.
forEach
((
item
)
=>
{
this
.
recTypeArr
.
push
(
item
.
recTypeName
);
});
this
.
$nextTick
(()
=>
{
// 初始化图表
this
.
chartData
.
length
&&
this
.
echartInit
();
let
maxData
=
Math
.
max
.
apply
(
Math
,
this
.
chartData
.
map
(
item
=>
{
return
item
.
failure
}))
this
.
interval
=
Math
.
ceil
(
maxData
/
10
)
//行政区代码过滤
res
.
length
>
0
&&
res
.
forEach
((
item
)
=>
{
this
.
recTypeArr
.
push
(
item
.
recTypeName
);
});
},
// 重置
resetForm
()
{
this
.
form
=
{
startTime
:
getFirstDayOfSeason
(),
endTime
:
timeFormat
(
new
Date
(),
true
),
qxdm
:
""
,
};
this
.
getSuucessRate
();
},
echartInit
()
{
let
_this
=
this
;
// 基于准备好的dom,初始化echarts实例
let
myChart
=
this
.
$echarts
.
init
(
document
.
getElementById
(
"myChart"
));
// 绘制图表
myChart
.
setOption
({
color
:
[
"#13E5FF"
,
"#C99E68"
,
"#E873B2"
,
"#ffaf48"
],
tooltip
:
{
trigger
:
"axis"
,
formatter
:
'{b}<br/>{a0}:{c0}个<br/>{a1}:{c1}个<br/>{a2}:{c2}%'
,
axisPointer
:
{
type
:
"cross"
,
crossStyle
:
{
color
:
"#fff"
,
},
},
},
legend
:
{
data
:
[
"成功"
,
"失败"
,
"成功率"
],
top
:
'16'
,
textStyle
:
{
show
:
true
,
color
:
"#fff"
,
fontSize
:
"16"
,
this
.
$nextTick
(()
=>
{
// 初始化图表
this
.
chartData
.
length
&&
this
.
echartInit
();
});
},
// 重置
resetForm
()
{
this
.
form
=
{
startTime
:
getFirstDayOfSeason
(),
endTime
:
timeFormat
(
new
Date
(),
true
),
qxdm
:
""
,
};
this
.
getSuucessRate
();
},
echartInit
()
{
let
_this
=
this
;
// 基于准备好的dom,初始化echarts实例
let
myChart
=
this
.
$echarts
.
init
(
document
.
getElementById
(
"myChart"
));
// 绘制图表
myChart
.
setOption
({
color
:
[
"#13E5FF"
,
"#C99E68"
,
"#E873B2"
,
"#ffaf48"
],
tooltip
:
{
trigger
:
"axis"
,
formatter
:
'{b}<br/>{a0}:{c0}个<br/>{a1}:{c1}个<br/>{a2}:{c2}%'
,
axisPointer
:
{
type
:
"cross"
,
crossStyle
:
{
color
:
this
.
BASE_API
.
echartTextColor
,
},
},
label
:
{
color
:
'inherit'
,
},
legend
:
{
data
:
[
"成功"
,
"失败"
,
"成功率"
],
top
:
'16'
,
textStyle
:
{
show
:
true
,
color
:
this
.
BASE_API
.
echartTextColor
,
fontSize
:
"16"
,
},
xAxis
:
[
{
type
:
"category"
,
data
:
_this
.
recTypeArr
,
axisPointer
:
{
type
:
"shadow"
,
},
label
:
{
color
:
'inherit'
,
},
xAxis
:
[
{
type
:
"category"
,
data
:
_this
.
recTypeArr
,
axisPointer
:
{
type
:
"shadow"
,
},
axisLabel
:
{
textStyle
:
{
show
:
true
,
color
:
this
.
BASE_API
.
echartTextColor
,
fontSize
:
"16"
,
},
axisLabel
:
{
textStyle
:
{
show
:
true
,
color
:
"#fff"
,
fontSize
:
"16"
,
},
formatter
:
function
(
val
)
{
let
c
=
document
.
createElement
(
"canvas"
);
const
ctx
=
c
.
getContext
(
"2d"
);
const
arr
=
val
.
split
(
""
);
arr
.
map
((
item
)
=>
ctx
.
measureText
(
item
).
width
)
.
reduce
((
pre
,
next
,
index
)
=>
{
const
nLen
=
pre
+
next
;
if
(
nLen
>
40
)
{
arr
[
index
-
1
]
+=
"..."
;
return
next
;
}
else
{
return
nLen
;
}
});
c
=
null
;
let
ind
=
arr
.
findIndex
((
i
)
=>
{
return
i
.
indexOf
(
"..."
)
>
-
1
;
formatter
:
function
(
val
)
{
let
c
=
document
.
createElement
(
"canvas"
);
const
ctx
=
c
.
getContext
(
"2d"
);
const
arr
=
val
.
split
(
""
);
arr
.
map
((
item
)
=>
ctx
.
measureText
(
item
).
width
)
.
reduce
((
pre
,
next
,
index
)
=>
{
const
nLen
=
pre
+
next
;
if
(
nLen
>
40
)
{
arr
[
index
-
1
]
+=
"..."
;
return
next
;
}
else
{
return
nLen
;
}
});
let
newArr
=
ind
>
0
?
arr
.
splice
(
0
,
ind
+
1
)
:
arr
;
return
newArr
.
join
(
""
);
},
c
=
null
;
let
ind
=
arr
.
findIndex
((
i
)
=>
{
return
i
.
indexOf
(
"..."
)
>
-
1
;
});
let
newArr
=
ind
>
0
?
arr
.
splice
(
0
,
ind
+
1
)
:
arr
;
return
newArr
.
join
(
""
);
},
},
],
yAxis
:
[
{
type
:
"value"
,
name
:
"数量/个"
,
nameTextStyle
:
{
color
:
"#fff"
,
},
],
yAxis
:
[
{
type
:
"value"
,
name
:
"数量/个"
,
nameTextStyle
:
{
color
:
this
.
BASE_API
.
echartTextColor
,
fontSize
:
"16"
,
},
// interval: this.interval,
axisLabel
:
{
formatter
:
"{value}"
,
textStyle
:
{
show
:
true
,
color
:
this
.
BASE_API
.
echartTextColor
,
fontSize
:
"16"
,
},
// interval: this.interval,
axisLabel
:
{
formatter
:
"{value}"
,
textStyle
:
{
show
:
true
,
color
:
"#fff"
,
fontSize
:
"16"
,
},
},
},
{
type
:
"value"
,
name
:
"成功率"
,
nameTextStyle
:
{
color
:
"#fff"
,
},
{
type
:
"value"
,
name
:
"成功率"
,
nameTextStyle
:
{
color
:
this
.
BASE_API
.
echartTextColor
,
fontSize
:
"16"
,
},
splitNumber
:
2
,
axisLabel
:
{
formatter
:
"{value} %"
,
textStyle
:
{
show
:
true
,
color
:
this
.
BASE_API
.
echartTextColor
,
fontSize
:
"16"
,
},
splitNumber
:
2
,
axisLabel
:
{
formatter
:
"{value} %"
,
textStyle
:
{
show
:
true
,
color
:
"#fff"
,
fontSize
:
"16"
,
},
},
},
]
,
series
:
[
{
name
:
"成功"
,
type
:
"bar
"
,
//显示数值
itemStyle
:
{
normal
:
{
labe
l
:
{
show
:
true
,
//开启显示
position
:
"top"
,
//在上方
显示
},
}
,
],
series
:
[
{
name
:
"成功
"
,
type
:
"bar"
,
//显示数值
itemStyle
:
{
norma
l
:
{
label
:
{
show
:
true
,
//开启
显示
position
:
"top"
,
//在上方显示
},
},
barMaxWidth
:
'60'
,
data
:
this
.
chartData
.
map
((
item
)
=>
{
return
item
.
success
;
}),
},
{
name
:
"失败"
,
type
:
"bar"
,
//显示数值
itemStyle
:
{
normal
:
{
label
:
{
show
:
true
,
//开启显示
position
:
"top"
,
//在上方显示
},
barMaxWidth
:
'60'
,
data
:
this
.
chartData
.
map
((
item
)
=>
{
return
item
.
success
;
}),
},
{
name
:
"失败"
,
type
:
"bar"
,
//显示数值
itemStyle
:
{
normal
:
{
label
:
{
show
:
true
,
//开启显示
position
:
"top"
,
//在上方显示
},
},
barMaxWidth
:
'60'
,
data
:
this
.
chartData
.
map
((
item
)
=>
{
return
item
.
failure
;
}),
},
{
name
:
"成功率"
,
//显示数值
itemStyle
:
{
normal
:
{
label
:
{
show
:
true
,
//开启显示
position
:
"top"
,
//在上方显示
},
barMaxWidth
:
'60'
,
data
:
this
.
chartData
.
map
((
item
)
=>
{
return
item
.
failure
;
}),
},
{
name
:
"成功率"
,
//显示数值
itemStyle
:
{
normal
:
{
label
:
{
show
:
true
,
//开启显示
position
:
"top"
,
//在上方显示
},
},
type
:
"line"
,
barMaxWidth
:
'60'
,
yAxisIndex
:
1
,
data
:
this
.
chartData
.
map
((
item
)
=>
{
return
item
.
rate
;
}),
},
],
});
},
type
:
"line"
,
barMaxWidth
:
'60'
,
yAxisIndex
:
1
,
data
:
this
.
chartData
.
map
((
item
)
=>
{
return
item
.
rate
;
}),
},
],
});
},
};
},
};
</
script
>
<
style
scoped
lang=
"scss"
>
.jktjDetail
{
height
:
100%
;
display
:
flex
;
flex-direction
:
column
;
.rows
{
margin-left
:
100px
;
}
.jktjDetail
{
flex-direction
:
column
;
.center
{
line-height
:
50vh
;
text-align
:
center
;
color
:
#b6b5b5
;
}
.echarts-box
{
display
:
flex
;
justify-content
:
center
;
height
:
500px
;
.chart
{
width
:
100%
;
height
:
100%
;
}
}
.rows
{
margin-left
:
100px
;
}
.form-clues-content
{
flex
:
1
;
height
:
100%
;
}
.center
{
line-height
:
50vh
;
text-align
:
center
;
color
:
#b6b5b5
;
}
}
</
style
>
...
...
src/views/jktj/ywltj/index.vue
View file @
2234484
<
template
>
<!-- 监控日志 -->
<div
class=
"jktjDetail f
or
m-clues"
>
<div
class=
"jktjDetail f
ro
m-clues"
>
<!-- 头部搜索 -->
<div
class=
"from-clues-header"
>
<el-form
ref=
"form"
:model=
"form"
label-width=
"100px"
>
<el-form-item>
<el-form-item
v-if=
"BASE_API.THEME == 'jg'"
>
<Breadcrumb
/>
</el-form-item>
<el-row>
<el-row
class=
"mb-5"
>
<el-col
:span=
"4"
>
<el-form-item
label=
"行政区"
>
<el-form-item
label=
"行政区"
class=
"d-flex"
>
<el-select
v-model=
"form.qxdm"
class=
"width100"
clearable
placeholder=
"行政区"
>
<el-option
v-for=
"item in dicData['A20']"
:key=
"item.DCODE"
:label=
"item.DNAME"
:value=
"item.DCODE"
>
</el-option>
...
...
@@ -17,14 +17,14 @@
</el-form-item>
</el-col>
<el-col
:span=
"4"
>
<el-form-item
label=
"开始日期"
>
<el-form-item
label=
"开始日期"
class=
"d-flex"
>
<el-date-picker
class=
"width100"
:clearable=
"false"
type=
"date"
placeholder=
"开始日期"
:picker-options=
"pickerOptionsStart"
v-model=
"form.startTime"
value-format=
"yyyy-MM-dd HH:mm:ss"
></el-date-picker>
</el-form-item>
</el-col>
<el-col
:span=
"4"
>
<el-form-item
label=
"结束日期"
>
<el-form-item
label=
"结束日期"
class=
"d-flex"
>
<el-date-picker
class=
"width100"
:clearable=
"false"
type=
"date"
placeholder=
"结束日期"
:picker-options=
"pickerOptionsEnd"
v-model=
"form.endTime"
value-format=
"yyyy-MM-dd HH:mm:ss"
@
change=
"endTimeChange"
></el-date-picker>
...
...
@@ -39,210 +39,191 @@
</el-form>
</div>
<!-- 图表 -->
<div
class=
"f
or
m-clues-content echarts-box"
v-if=
"chartData.length"
>
<div
id=
"myChart"
class=
"chart"
></div>
<div
class=
"f
ro
m-clues-content echarts-box"
v-if=
"chartData.length"
>
<div
id=
"myChart"
class=
"chart"
style=
"height:100%;width:100%;"
></div>
</div>
<div
class=
"f
or
m-clues-content echarts-box center"
v-else
>
暂无数据
</div>
<div
class=
"f
ro
m-clues-content echarts-box center"
v-else
>
暂无数据
</div>
</div>
</
template
>
<
script
>
import
{
mapGetters
}
from
"vuex"
;
import
efficient
from
"@/api/efficient"
;
import
{
getFirstDayOfSeason
,
timeFormat
}
from
"@/utils/operation"
;
export
default
{
name
:
"jktj"
,
data
()
{
return
{
// 开始日期限制
pickerOptionsStart
:
{
disabledDate
:
(
time
)
=>
{
if
(
this
.
form
.
endTime
)
{
return
time
.
getTime
()
>
new
Date
(
this
.
form
.
endTime
).
getTime
();
}
},
import
{
mapGetters
}
from
"vuex"
;
import
efficient
from
"@/api/efficient"
;
import
{
getFirstDayOfSeason
,
timeFormat
}
from
"@/utils/operation"
;
export
default
{
name
:
"jktj"
,
data
()
{
return
{
// 开始日期限制
pickerOptionsStart
:
{
disabledDate
:
(
time
)
=>
{
if
(
this
.
form
.
endTime
)
{
return
time
.
getTime
()
>
new
Date
(
this
.
form
.
endTime
).
getTime
();
}
},
// 结束日期限制
pickerOptionsEnd
:
{
disabledDate
:
(
time
)
=>
{
if
(
this
.
form
.
startTime
)
{
return
time
.
getTime
()
<
new
Date
(
this
.
form
.
startTime
).
getTime
();
}
},
},
// 搜索表单
valueTime
:
""
,
// 搜索表单
form
:
{
startTime
:
getFirstDayOfSeason
(),
endTime
:
timeFormat
(
new
Date
(),
true
),
qxdm
:
""
,
},
// 结束日期限制
pickerOptionsEnd
:
{
disabledDate
:
(
time
)
=>
{
if
(
this
.
form
.
startTime
)
{
return
time
.
getTime
()
<
new
Date
(
this
.
form
.
startTime
).
getTime
();
}
},
chartData
:
[]
};
},
// 搜索表单
valueTime
:
""
,
// 搜索表单
form
:
{
startTime
:
getFirstDayOfSeason
(),
endTime
:
timeFormat
(
new
Date
(),
true
),
qxdm
:
""
,
},
chartData
:
[]
};
},
mounted
()
{
// 查询业务量
this
.
getProcessCounts
();
},
computed
:
{
...
mapGetters
([
"dicData"
]),
},
methods
:
{
endTimeChange
(
val
)
{
this
.
form
.
endTime
=
timeFormat
(
new
Date
(
val
),
true
)
},
mounted
()
{
// 查询业务量
this
.
getProcessCounts
();
async
getProcessCounts
()
{
this
.
chartData
=
[];
let
{
result
:
res
}
=
await
efficient
.
getProcessCounts
(
this
.
form
.
startTime
,
this
.
form
.
endTime
,
this
.
form
.
qxdm
);
//获取图表配置项需要的数据
this
.
chartData
=
res
;
this
.
$nextTick
(()
=>
{
// 初始化图表
this
.
chartData
.
length
&&
this
.
echartInit
(
this
.
chartData
)
});
},
computed
:
{
...
mapGetters
([
"dicData"
]),
// 重置
resetForm
()
{
this
.
form
=
{
startTime
:
getFirstDayOfSeason
(),
endTime
:
timeFormat
(
new
Date
(),
true
),
qxdm
:
""
};
this
.
getProcessCounts
();
},
methods
:
{
endTimeChange
(
val
)
{
this
.
form
.
endTime
=
timeFormat
(
new
Date
(
val
),
true
)
},
async
getProcessCounts
()
{
this
.
chartData
=
[];
let
{
result
:
res
}
=
await
efficient
.
getProcessCounts
(
this
.
form
.
startTime
,
this
.
form
.
endTime
,
this
.
form
.
qxdm
);
//获取图表配置项需要的数据
this
.
chartData
=
res
;
this
.
$nextTick
(()
=>
{
// 初始化图表
this
.
chartData
.
length
&&
this
.
echartInit
(
this
.
chartData
)
});
},
// 重置
resetForm
()
{
this
.
form
=
{
startTime
:
getFirstDayOfSeason
(),
endTime
:
timeFormat
(
new
Date
(),
true
),
qxdm
:
""
};
this
.
getProcessCounts
();
},
//图表渲染
echartInit
(
chartArr
)
{
// 基于准备好的dom,初始化echarts实例
let
myChart
=
this
.
$echarts
.
init
(
document
.
getElementById
(
"myChart"
));
// 绘制图表
myChart
.
setOption
({
color
:
[
"#13E5FF"
],
tooltip
:
{
show
:
true
,
trigger
:
"axis"
,
textStyle
:
{
fontSize
:
16
,
// 字体大小
},
},
grid
:
{
top
:
120
,
bottom
:
100
,
},
label
:
{
color
:
'inherit'
,
//图表渲染
echartInit
(
chartArr
)
{
// 基于准备好的dom,初始化echarts实例
let
myChart
=
this
.
$echarts
.
init
(
document
.
getElementById
(
"myChart"
));
// 绘制图表
myChart
.
setOption
({
color
:
[
"#13E5FF"
],
tooltip
:
{
show
:
true
,
trigger
:
"axis"
,
textStyle
:
{
fontSize
:
16
,
// 字体大小
},
xAxis
:
[
{
type
:
"category"
,
data
:
chartArr
.
map
(
item
=>
item
.
recTypeName
),
axisLabel
:
{
interval
:
0
,
rotate
:
40
,
formatter
:
function
(
val
)
{
let
c
=
document
.
createElement
(
"canvas"
);
const
ctx
=
c
.
getContext
(
"2d"
);
const
arr
=
val
.
split
(
""
);
arr
.
map
((
item
)
=>
ctx
.
measureText
(
item
).
width
)
.
reduce
((
pre
,
next
,
index
)
=>
{
const
nLen
=
pre
+
next
;
if
(
nLen
>
60
)
{
arr
[
index
-
1
]
+=
"..."
;
return
next
;
}
else
{
return
nLen
;
}
});
c
=
null
;
let
ind
=
arr
.
findIndex
((
i
)
=>
{
return
i
.
indexOf
(
"..."
)
>
-
1
;
},
grid
:
{
top
:
120
,
bottom
:
100
,
},
label
:
{
color
:
'inherit'
,
},
xAxis
:
[
{
type
:
"category"
,
data
:
chartArr
.
map
(
item
=>
item
.
recTypeName
),
axisLabel
:
{
interval
:
0
,
rotate
:
40
,
formatter
:
function
(
val
)
{
let
c
=
document
.
createElement
(
"canvas"
);
const
ctx
=
c
.
getContext
(
"2d"
);
const
arr
=
val
.
split
(
""
);
arr
.
map
((
item
)
=>
ctx
.
measureText
(
item
).
width
)
.
reduce
((
pre
,
next
,
index
)
=>
{
const
nLen
=
pre
+
next
;
if
(
nLen
>
60
)
{
arr
[
index
-
1
]
+=
"..."
;
return
next
;
}
else
{
return
nLen
;
}
});
let
newArr
=
ind
>
0
?
arr
.
splice
(
0
,
ind
+
1
)
:
arr
;
return
newArr
.
join
(
""
);
},
textStyle
:
{
show
:
true
,
color
:
"#fff"
,
fontSize
:
"16"
,
},
c
=
null
;
let
ind
=
arr
.
findIndex
((
i
)
=>
{
return
i
.
indexOf
(
"..."
)
>
-
1
;
});
let
newArr
=
ind
>
0
?
arr
.
splice
(
0
,
ind
+
1
)
:
arr
;
return
newArr
.
join
(
""
);
},
},
],
yAxis
:
[
{
type
:
"value"
,
name
:
"数量/个"
,
nameTextStyle
:
{
color
:
"#fff"
,
textStyle
:
{
show
:
true
,
color
:
this
.
BASE_API
.
echartTextColor
,
fontSize
:
"16"
,
},
axisLabel
:
{
textStyle
:
{
show
:
true
,
color
:
"#fff"
,
fontSize
:
"16"
,
},
},
},
],
yAxis
:
[
{
type
:
"value"
,
name
:
"数量/个"
,
nameTextStyle
:
{
color
:
this
.
BASE_API
.
echartTextColor
,
fontSize
:
"16"
,
},
axisLabel
:
{
textStyle
:
{
show
:
true
,
color
:
this
.
BASE_API
.
echartTextColor
,
fontSize
:
"16"
,
},
},
],
},
],
series
:
[
{
type
:
"bar"
,
//显示数值
itemStyle
:
{
normal
:
{
label
:
{
show
:
true
,
//开启显示
position
:
"top"
,
//在上方显示
},
series
:
[
{
type
:
"bar"
,
//显示数值
itemStyle
:
{
normal
:
{
label
:
{
show
:
true
,
//开启显示
position
:
"top"
,
//在上方显示
},
},
barMaxWidth
:
'60'
,
data
:
chartArr
.
map
(
item
=>
item
.
counts
),
},
],
});
},
barMaxWidth
:
'60'
,
data
:
chartArr
.
map
(
item
=>
item
.
counts
),
},
],
});
},
};
},
};
</
script
>
<
style
scoped
lang=
"scss"
>
.jktjDetail
{
height
:
100%
;
display
:
flex
;
flex-direction
:
column
;
.jktjDetail
{
flex-direction
:
column
;
.rows
{
margin-left
:
100px
;
}
.center
{
line-height
:
50vh
;
text-align
:
center
;
color
:
#b6b5b5
;
}
.echarts-box
{
display
:
flex
;
justify-content
:
center
;
height
:
500px
;
.chart
{
width
:
100%
;
height
:
100%
;
}
}
.rows
{
margin-left
:
100px
;
}
.form-clues-content
{
flex
:
1
;
height
:
100%
;
}
.center
{
line-height
:
50vh
;
text-align
:
center
;
color
:
#b6b5b5
;
}
}
</
style
>
...
...
src/views/jsbwcx/index.vue
View file @
2234484
...
...
@@ -4,7 +4,7 @@
<!-- 头部搜索 -->
<div
class=
"from-clues-header"
>
<el-form
ref=
"ruleForm"
:model=
"form"
label-width=
"100px"
>
<el-form-item
v-if=
"BASE_API.THEME
==
'jg'"
>
<el-form-item
v-if=
"BASE_API.THEME
==
'jg'"
>
<Breadcrumb
/>
</el-form-item>
<el-row
class=
"mb-5"
>
...
...
src/views/statistics/css/index.scss
View file @
2234484
/
deep
/
.el-table--border
th
.el-table__cell
{
border-bottom
:
1px
solid
#458ACF
!
important
;
}
/
deep
/
.el-table--border
.el-table__cell
{
border-right
:
1px
solid
#458ACF
!
important
;
}
/
deep
/
.el-table
thead
.is-group
th
.el-table__cell
{
background-color
:
transparent
!
important
;
}
...
...
@@ -17,9 +9,4 @@
.export-excel-wrapper
{
display
:
inline-block
;
}
/
deep
/
.el-table--group
,
.el-table--border
{
border
:
1px
solid
#458ACF
!
important
;
}
\ No newline at end of file
...
...
src/views/statistics/dataReceiveQuality/index.vue
View file @
2234484
...
...
@@ -4,7 +4,7 @@
<!-- 头部搜索 -->
<div
class=
"from-clues-header"
>
<el-form
ref=
"ruleForm"
:model=
"form"
label-width=
"100px"
>
<el-form-item>
<el-form-item
v-if=
"BASE_API.THEME == 'jg'"
>
<Breadcrumb
/>
</el-form-item>
<el-row
class=
"mb-5"
>
...
...
@@ -32,8 +32,8 @@
</el-form>
</div>
<!-- 列表区域 -->
<div
class=
"from-clues-content"
>
<lb-table
ref=
"table"
:header-cell-style=
"headerStyle1"
:calcHeight=
"
200
"
:pagination=
"false"
<div
class=
"from-clues-content
complex-header
"
>
<lb-table
ref=
"table"
:header-cell-style=
"headerStyle1"
:calcHeight=
"
BASE_API.calcHeight
"
:pagination=
"false"
:column=
"tableData.columns"
:data=
"tableData.data"
>
</lb-table>
...
...
@@ -171,6 +171,7 @@ export default {
</
script
>
<
style
scoped
lang=
"scss"
>
@import
"../css/index.scss"
;
/
deep
/
th
.el-table__cell
{
height
:
0
!important
;
}
...
...
src/views/statistics/nullTermRatio/index.vue
View file @
2234484
...
...
@@ -4,7 +4,7 @@
<!-- 头部搜索 -->
<div
class=
"from-clues-header"
>
<el-form
ref=
"ruleForm"
:model=
"form"
label-width=
"100px"
>
<el-form-item>
<el-form-item
v-if=
"BASE_API.THEME == 'jg'"
>
<Breadcrumb
/>
</el-form-item>
<el-row
class=
"mb-5"
>
...
...
@@ -33,10 +33,9 @@
</el-form>
</div>
<!-- 列表区域 -->
<div
class=
"from-clues-content"
>
<lb-table
ref=
"table"
:pagination=
"false"
:calcHeight=
"
200
"
:column=
"tableData.columns"
:data=
"tableData.data"
>
<div
class=
"from-clues-content
complex-header
"
>
<lb-table
ref=
"table"
:pagination=
"false"
:calcHeight=
"
BASE_API.calcHeight
"
:column=
"tableData.columns"
:data=
"tableData.data"
>
</lb-table>
<down-lb-table
ref=
"table"
v-show=
"false"
:id=
"'mytable'"
:downExcel=
"true"
:pagination=
"false"
:column=
"tableData.columns"
:data=
"tableData.data"
:downTitle=
"downTitle"
>
</down-lb-table>
...
...
src/views/statistics/registerBookQuality/index.vue
View file @
2234484
...
...
@@ -2,7 +2,7 @@
* @Author: yangwei
* @Date: 2023-02-17 16:32:50
* @LastEditors: Please set LastEditors
* @LastEditTime: 2023-03-
15 10:42:21
* @LastEditTime: 2023-03-
28 10:24:52
* @FilePath: \bdcjg-web\src\views\statistics\registerBookQuality\index.vue
* @Description:
*
...
...
@@ -14,7 +14,7 @@
<!-- 头部搜索 -->
<div
class=
"from-clues-header"
>
<el-form
ref=
"ruleForm"
:model=
"form"
label-width=
"100px"
>
<el-form-item>
<el-form-item
v-if=
"BASE_API.THEME == 'jg'"
>
<Breadcrumb
/>
</el-form-item>
<el-row
class=
"mb-5"
>
...
...
@@ -42,9 +42,9 @@
</el-form>
</div>
<!-- 列表区域 -->
<div
class=
"from-clues-content"
>
<lb-table
ref=
"table"
:pagination=
"false"
:border=
"true"
:calcHeight=
"
200"
:header-cell-style=
"headerStyle
"
:column=
"tableData.columns"
:data=
"tableData.data"
>
<div
class=
"from-clues-content
complex-header
"
>
<lb-table
ref=
"table"
:pagination=
"false"
:border=
"true"
:calcHeight=
"
BASE_API.calcHeight
"
:
header-cell-style=
"headerStyle"
:
column=
"tableData.columns"
:data=
"tableData.data"
>
</lb-table>
<down-lb-table
ref=
"table"
v-show=
"false"
:id=
"'mytable'"
:header-cell-style=
"headerStyle1"
:downExcel=
"true"
:pagination=
"false"
:column=
"tableData.columns"
:data=
"tableData.data"
:downTitle=
"downTitle"
>
...
...
src/views/system/menus/index.vue
View file @
2234484
...
...
@@ -11,7 +11,7 @@
<el-input
v-model
.
trim=
"form.menuName"
class=
"width100"
clearable
placeholder=
"菜单名称"
></el-input>
</el-form-item>
</el-col>
<el-col
:span=
"
3
"
class=
"btnColRight"
>
<el-col
:span=
"
20
"
class=
"btnColRight"
>
<btn
nativeType=
"cx"
@
click=
"searchQuery"
>
查询
</btn>
<btn
nativeType=
"cx"
@
click=
"handleAdd()"
>
新增菜单
</btn>
</el-col>
...
...
@@ -19,7 +19,7 @@
</el-form>
</div>
<div
class=
"from-clues-content"
>
<lb-table
:pagination=
"false"
:column=
"tableData.columns"
:calcHeight=
"
200
"
:data=
"tablelistData"
row-key=
"id"
<lb-table
:pagination=
"false"
:column=
"tableData.columns"
:calcHeight=
"
BASE_API.calcHeight
"
:data=
"tablelistData"
row-key=
"id"
default-expand-all
:tree-props=
"
{ children: 'children', hasChildren: 'hasChildren' }">
</lb-table>
...
...
src/views/system/roles/index.vue
View file @
2234484
...
...
@@ -2,7 +2,7 @@
<div
class=
"timedTask from-clues"
>
<div
class=
"from-clues-header"
>
<el-form
ref=
"ruleForm"
:model=
"form"
label-width=
"100px"
>
<el-form-item
v-if=
"BASE_API.THEME
==
'jg'"
>
<el-form-item
v-if=
"BASE_API.THEME
==
'jg'"
>
<Breadcrumb
/>
</el-form-item>
<el-row
class=
"mb-5"
>
...
...
@@ -11,7 +11,7 @@
<el-input
v-model
.
trim=
"form.rolesName"
class=
"width100"
clearable
placeholder=
"角色名称"
></el-input>
</el-form-item>
</el-col>
<el-col
:span=
"
3
"
class=
"btnColRight"
>
<el-col
:span=
"
20
"
class=
"btnColRight"
>
<btn
nativeType=
"cx"
@
click=
"searchQuery"
>
查询
</btn>
<btn
nativeType=
"cx"
@
click=
"handleAddEdit"
>
增加角色
</btn>
</el-col>
...
...
@@ -19,7 +19,7 @@
</el-form>
</div>
<div
class=
"from-clues-content"
>
<lb-table
:pagination=
"false"
@
size-change=
"handleSizeChange"
:calcHeight=
"
200
"
<lb-table
:pagination=
"false"
@
size-change=
"handleSizeChange"
:calcHeight=
"
BASE_API.calcHeight
"
@
p-current-change=
"handleCurrentChange"
:column=
"tableData.columns"
:data=
"listdata"
:expand-row-keys=
"keyList"
row-key=
"dictid"
>
</lb-table>
...
...
src/views/system/timedTask/index.vue
View file @
2234484
...
...
@@ -2,10 +2,10 @@
<div
class=
"timedTask from-clues"
>
<div
class=
"from-clues-header"
>
<el-form
ref=
"form"
:model=
"form"
label-width=
"80px"
>
<el-form-item
v-if=
"BASE_API.THEME
==
'jg'"
>
<el-form-item
v-if=
"BASE_API.THEME
==
'jg'"
>
<Breadcrumb
/>
</el-form-item>
<el-row>
<el-row
class=
"mb-5"
>
<el-col
:span=
"6"
>
<el-form-item
label=
"搜索标题"
>
<el-input
v-model=
"form.jobName"
placeholder=
"标题"
></el-input>
...
...
@@ -104,152 +104,207 @@
this
.
taskData
=
null
this
.
isDialog
=
true
},
resetSe
()
{
this
.
form
.
jobName
=
''
this
.
featchData
()
selectionList
:
[],
tableData
:
{
columns
:
[{
label
:
'序号'
,
type
:
'index'
,
width
:
'50'
,
index
:
this
.
indexMethod
,
}].
concat
(
data
.
columns
()).
concat
([
{
label
:
"操作"
,
width
:
380
,
render
:
(
h
,
scope
)
=>
{
return
(
<
div
>
<
el
-
button
type
=
"text"
v
-
show
=
{
scope
.
row
.
jobStatus
===
0
}
class
=
'btnColor'
icon
=
"el-icon-video-pause"
onClick
=
{()
=>
{
this
.
handleActive
(
scope
.
row
)
}}
>
激活
<
/el-button
>
<
el
-
button
type
=
"text"
v
-
show
=
{
scope
.
row
.
jobStatus
===
-
1
}
class
=
'btnColor'
icon
=
"el-icon-video-pause"
onClick
=
{()
=>
{
this
.
recover
(
scope
.
row
)
}}
>
恢复
<
/el-button
>
<
el
-
button
type
=
"text"
icon
=
"el-icon-edit"
class
=
'btnColor'
onClick
=
{()
=>
{
this
.
handleEdit
(
scope
.
row
)
}}
>
编辑
<
/el-button
>
<
el
-
button
type
=
"text"
icon
=
"el-icon-delete"
class
=
'successColor'
v
-
show
=
{
scope
.
row
.
jobStatus
!==
-
1
}
onClick
=
{()
=>
{
this
.
handleDel
(
scope
.
row
)
}}
>
删除
<
/el-button
>
<
/div
>
);
},
},
]),
data
:
[]
},
async
featchData
()
{
try
{
this
.
form
=
Object
.
assign
(
this
.
form
,
this
.
formData
)
let
{
result
}
=
await
sjsbTask
.
getTaskListByName
(
this
.
form
)
this
.
tableData
.
data
=
result
.
list
}
catch
(
error
)
{
this
.
message
=
error
}
pageData
:
{
total
:
0
,
pageSize
:
15
,
current
:
1
,
},
recover
(
row
)
{
this
.
$confirm
(
'此操将进行恢复操作, 是否继续?'
,
'提示'
,
{
confirmButtonText
:
'确定'
,
cancelButtonText
:
'取消'
,
type
:
'warning'
,
})
.
then
(()
=>
{
sjsbTask
.
recover
(
row
.
jobId
)
.
then
((
res
)
=>
{
if
((
res
.
code
=
200
))
{
this
.
$message
({
type
:
'success'
,
message
:
res
.
message
,
})
this
.
featchData
()
}
})
.
catch
((
error
)
=>
{
this
.
$alert
(
error
,
'提示'
,
{
confirmButtonText
:
'确定'
,
type
:
'error'
},
methods
:
{
handleAdd
()
{
this
.
taskData
=
null
this
.
isDialog
=
true
},
resetSe
()
{
this
.
form
.
jobName
=
''
this
.
featchData
()
},
async
featchData
()
{
try
{
this
.
form
=
Object
.
assign
(
this
.
form
,
this
.
formData
)
let
{
result
}
=
await
sjsbTask
.
getTaskListByName
(
this
.
form
)
this
.
tableData
.
data
=
result
.
list
}
catch
(
error
)
{
this
.
message
=
error
}
},
recover
(
row
)
{
this
.
$confirm
(
'此操将进行恢复操作, 是否继续?'
,
'提示'
,
{
confirmButtonText
:
'确定'
,
cancelButtonText
:
'取消'
,
type
:
'warning'
,
})
.
then
(()
=>
{
sjsbTask
.
recover
(
row
.
jobId
)
.
then
((
res
)
=>
{
if
((
res
.
code
=
200
))
{
this
.
$message
({
type
:
'success'
,
message
:
res
.
message
,
})
this
.
featchData
()
}
})
.
catch
((
error
)
=>
{
this
.
$alert
(
error
,
'提示'
,
{
confirmButtonText
:
'确定'
,
type
:
'error'
})
})
.
catch
(()
=>
{
this
.
$message
({
type
:
'info'
,
message
:
'已取消'
,
})
})
.
catch
(()
=>
{
this
.
$message
({
type
:
'info'
,
message
:
'已取消'
,
})
},
handleActive
(
row
)
{
this
.
$confirm
(
'此操将进行激活操作, 是否继续?'
,
'提示'
,
{
confirmButtonText
:
'确定'
,
cancelButtonText
:
'取消'
,
type
:
'warning'
,
})
.
then
(()
=>
{
sjsbTask
.
active
(
row
.
jobId
)
.
then
((
res
)
=>
{
if
((
res
.
code
=
200
))
{
this
.
$message
({
type
:
'success
'
,
message
:
res
.
message
,
})
this
.
featchData
()
}
})
.
catch
((
error
)
=>
{
this
.
$
alert
(
error
,
'提示'
,
{
confirmButtonText
:
'确定
'
,
type
:
'error'
},
handleActive
(
row
)
{
this
.
$confirm
(
'此操将进行激活操作, 是否继续?'
,
'提示'
,
{
confirmButtonText
:
'确定'
,
cancelButtonText
:
'取消
'
,
type
:
'warning'
,
})
.
then
(()
=>
{
sjsbTask
.
active
(
row
.
jobId
)
.
then
((
res
)
=>
{
if
((
res
.
code
=
200
))
{
this
.
$
message
(
{
type
:
'success
'
,
message
:
res
.
message
,
})
this
.
featchData
()
}
})
.
catch
((
error
)
=>
{
this
.
$alert
(
error
,
'提示'
,
{
confirmButtonText
:
'确定'
,
type
:
'error'
})
})
.
catch
(()
=>
{
this
.
$message
({
type
:
'info'
,
message
:
'已取消'
,
})
})
.
catch
(()
=>
{
this
.
$message
({
type
:
'info'
,
message
:
'已取消'
,
})
},
// 暂停
handleSuspend
(
row
)
{
this
.
$confirm
(
'此操将进行暂停操作, 是否继续?'
,
'提示'
,
{
confirmButtonText
:
'确定'
,
cancelButtonText
:
'取消'
,
type
:
'warning'
,
})
.
then
(()
=>
{
sjsbTask
.
pauseJob
(
row
.
id
)
.
then
((
res
)
=>
{
if
((
res
.
code
=
200
))
{
this
.
$message
({
type
:
'success
'
,
message
:
res
.
message
,
})
this
.
featchData
()
}
})
.
catch
((
error
)
=>
{
this
.
$
alert
(
error
,
'提示'
,
{
confirmButtonText
:
'确定
'
,
type
:
'error'
},
// 暂停
handleSuspend
(
row
)
{
this
.
$confirm
(
'此操将进行暂停操作, 是否继续?'
,
'提示'
,
{
confirmButtonText
:
'确定'
,
cancelButtonText
:
'取消
'
,
type
:
'warning'
,
})
.
then
(()
=>
{
sjsbTask
.
pauseJob
(
row
.
id
)
.
then
((
res
)
=>
{
if
((
res
.
code
=
200
))
{
this
.
$
message
(
{
type
:
'success
'
,
message
:
res
.
message
,
})
this
.
featchData
()
}
})
.
catch
((
error
)
=>
{
this
.
$alert
(
error
,
'提示'
,
{
confirmButtonText
:
'确定'
,
type
:
'error'
})
})
.
catch
(()
=>
{
this
.
$message
({
type
:
'info'
,
message
:
'已取消'
,
})
})
.
catch
(()
=>
{
this
.
$message
({
type
:
'info'
,
message
:
'已取消'
,
})
},
handleEdit
(
row
)
{
this
.
taskData
=
row
this
.
isDialog
=
true
},
handleDel
(
row
)
{
this
.
$confirm
(
'此操将进行删除操作, 是否继续?'
,
'提示'
,
{
confirmButtonText
:
'确定'
,
cancelButtonText
:
'取消'
,
type
:
'warning'
,
})
.
then
(()
=>
{
sjsbTask
.
sjsbTaskRemove
(
row
.
jobId
)
.
then
((
res
)
=>
{
if
((
res
.
code
=
200
))
{
this
.
$message
({
type
:
'success'
,
message
:
res
.
message
,
})
this
.
featchData
()
}
})
.
catch
((
error
)
=>
{
this
.
$alert
(
error
,
'提示'
,
{
confirmButtonText
:
'确定'
,
type
:
'error'
},
handleEdit
(
row
)
{
this
.
taskData
=
row
this
.
isDialog
=
true
},
handleDel
(
row
)
{
this
.
$confirm
(
'此操将进行删除操作, 是否继续?'
,
'提示'
,
{
confirmButtonText
:
'确定'
,
cancelButtonText
:
'取消'
,
type
:
'warning'
,
})
.
then
(()
=>
{
sjsbTask
.
sjsbTaskRemove
(
row
.
jobId
)
.
then
((
res
)
=>
{
if
((
res
.
code
=
200
))
{
this
.
$message
({
type
:
'success'
,
message
:
res
.
message
,
})
this
.
featchData
()
}
})
.
catch
((
error
)
=>
{
this
.
$alert
(
error
,
'提示'
,
{
confirmButtonText
:
'确定'
,
type
:
'error'
})
})
.
catch
(()
=>
{
this
.
$message
({
type
:
'info'
,
message
:
'已取消'
,
})
})
.
catch
(()
=>
{
this
.
$message
({
type
:
'info'
,
message
:
'已取消'
,
})
}
})
}
}
}
</
script
>
<
style
scoped
lang=
"scss"
>
@import
"~@/styles/mixin.scss"
;
//
@import
"~@/styles/mixin.scss"
;
</
style
>
...
...
src/views/system/users/index.vue
View file @
2234484
...
...
@@ -2,7 +2,7 @@
<div
class=
"timedTask from-clues"
>
<div
class=
"from-clues-header"
>
<el-form
ref=
"ruleForm"
:model=
"form"
label-width=
"100px"
>
<el-form-item
v-if=
"BASE_API.THEME
==
'jg'"
>
<el-form-item
v-if=
"BASE_API.THEME
==
'jg'"
>
<Breadcrumb
/>
</el-form-item>
<el-row
class=
"mb-5"
>
...
...
@@ -22,7 +22,7 @@
</el-form-item>
</el-col>
<!-- 操作按钮 -->
<el-col
:span=
"
3
"
class=
"btnColRight"
>
<el-col
:span=
"
12
"
class=
"btnColRight"
>
<btn
nativeType=
"cx"
@
click=
"getTableList"
>
查询
</btn>
<btn
nativeType=
"cx"
@
click=
"handleAdd"
>
添加人员
</btn>
</el-col>
...
...
@@ -31,7 +31,8 @@
</div>
<div
class=
"from-clues-content"
>
<lb-table
:pagination=
"false"
@
size-change=
"handleSizeChange"
@
p-current-change=
"handleCurrentChange"
:column=
"tableData.columns"
:calcHeight=
"200"
:data=
"tableData.data"
:expand-row-keys=
"keyList"
row-key=
"dictid"
>
:column=
"tableData.columns"
:calcHeight=
"BASE_API.calcHeight"
:data=
"tableData.data"
:expand-row-keys=
"keyList"
row-key=
"dictid"
>
</lb-table>
</div>
<EditDialog
ref=
"dialogForm"
v-model=
"isDialog"
@
ok=
"reloadTableData"
/>
...
...
@@ -408,5 +409,5 @@ export default {
};
</
script
>
<
style
scoped
lang=
"scss"
>
@import
"~@/styles/mixin.scss"
;
@import
"~@/styles/mixin.scss"
;
</
style
>
...
...
Please
register
or
sign in
to post a comment