Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
A
AmosBankPatrolView
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
bank
AmosBankPatrolView
Commits
6f7b5f66
Commit
6f7b5f66
authored
Aug 21, 2020
by
xinglei
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
*)增加月度巡检情况列表
parent
9c6487e8
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
21 changed files
with
888 additions
and
258 deletions
+888
-258
export.png
src/assets/fsc/check/export.png
+0
-0
filter.png
src/assets/fsc/check/filter.png
+0
-0
urlConsts.js
src/consts/urlConsts.js
+8
-5
customRoutes.js
src/routes/customRoutes.js
+3
-0
statisticsService.js
src/services/statisticsService.js
+7
-0
index.scss
src/styles/view/patrol/index.scss
+16
-0
payload.js
src/utils/payload.js
+0
-1
tools.js
src/utils/tools.js
+2
-4
index.js
src/view/component/toolbar/index.js
+15
-33
CheckTable.js
src/view/patrol/check/CheckTable.js
+83
-80
ExportSearch.js
src/view/patrol/check/ExportSearch.js
+183
-0
SplitLayout.js
src/view/patrol/check/SplitLayout.js
+78
-0
index.js
src/view/patrol/check/index.js
+17
-5
PointBasicInfo.js
src/view/patrol/point/PointBasicInfo.js
+55
-58
PointBasicInfoxq.js
src/view/patrol/point/PointBasicInfoxq.js
+65
-68
Table.js
src/view/patrol/statistics/completionSituation/Table.js
+0
-1
index.js
src/view/patrol/statistics/completionSituation/index.js
+1
-1
index.js
src/view/patrol/statistics/index.js
+3
-2
Search.js
src/view/patrol/statistics/monthSituation/Search.js
+167
-0
Table.js
src/view/patrol/statistics/monthSituation/Table.js
+137
-0
index.js
src/view/patrol/statistics/monthSituation/index.js
+48
-0
No files found.
src/assets/fsc/check/export.png
0 → 100644
View file @
6f7b5f66
465 Bytes
src/assets/fsc/check/filter.png
0 → 100644
View file @
6f7b5f66
293 Bytes
src/consts/urlConsts.js
View file @
6f7b5f66
...
@@ -32,10 +32,10 @@ export const secExtUrl = {
...
@@ -32,10 +32,10 @@ export const secExtUrl = {
allRoleUrl
:
completePrefix
(
securityBaseURI
,
'role/all-roles'
),
//所有角色
allRoleUrl
:
completePrefix
(
securityBaseURI
,
'role/all-roles'
),
//所有角色
// 新权限接口
// 新权限接口
//systemMenusUrl: completePrefix(securityBaseURI, `${secExVerson}/permission/tree/menu?code={code}&userId={userId}`), // 获取当前系统所有菜单
//systemMenusUrl: completePrefix(securityBaseURI, `${secExVerson}/permission/tree/menu?code={code}&userId={userId}`), // 获取当前系统所有菜单
systemMenusUrl
:
completePrefix
(
securityBaseURI
,
`privilege/
${
secExVerson
}
/permission/tree`
),
// 获取当前系统所有菜单(新)
systemMenusUrl
:
completePrefix
(
securityBaseURI
,
`privilege/
${
secExVerson
}
/permission/tree`
),
// 获取当前系统所有菜单(新)
loginUrl
:
completePrefix
(
securityBaseURI
,
`
${
secExVerson
}
/system/login`
),
// 登陆获取accessToken
loginUrl
:
completePrefix
(
securityBaseURI
,
`
${
secExVerson
}
/system/login`
),
// 登陆获取accessToken
// 获取指定菜单下授权的按钮权限 get
// 获取指定菜单下授权的按钮权限 get
...
@@ -45,7 +45,7 @@ export const secExtUrl = {
...
@@ -45,7 +45,7 @@ export const secExtUrl = {
// permissionsMenusUrl: completePrefix(securityBaseURI, `${secExVerson}/permission/tree/curruser`), // 登陆用户系统权限菜单
// permissionsMenusUrl: completePrefix(securityBaseURI, `${secExVerson}/permission/tree/curruser`), // 登陆用户系统权限菜单
//permissionsMenusUrl: completePrefix(securityUrlWithVersion, '/permission/tree/{roleSeq}'), // 登陆用户系统权限菜单---TODO新版待修改
//permissionsMenusUrl: completePrefix(securityUrlWithVersion, '/permission/tree/{roleSeq}'), // 登陆用户系统权限菜单---TODO新版待修改
permissionsMenusUrl
:
completePrefix
(
securityBaseURI
,
`privilege/
${
secExVerson
}
/permission/tree/role?roleSeq={roleSeq}`
),
// 登陆用户系统权限菜单---TODO新版待修改(新)
permissionsMenusUrl
:
completePrefix
(
securityBaseURI
,
`privilege/
${
secExVerson
}
/permission/tree/role?roleSeq={roleSeq}`
),
// 登陆用户系统权限菜单---TODO新版待修改(新)
loginOutUrl
:
completePrefix
(
securityBaseURI
,
`
${
secExVerson
}
/system/loginOutr`
),
// 登陆用户系统权限菜单
loginOutUrl
:
completePrefix
(
securityBaseURI
,
`
${
secExVerson
}
/system/loginOutr`
),
// 登陆用户系统权限菜单
curUserMenusUrl
:
completePrefix
(
securityBaseURI
,
'privilege/v1/permission/tree/me'
),
//查询当前用户菜单
curUserMenusUrl
:
completePrefix
(
securityBaseURI
,
'privilege/v1/permission/tree/me'
),
//查询当前用户菜单
...
@@ -94,9 +94,9 @@ export const patrolUrls = {
...
@@ -94,9 +94,9 @@ export const patrolUrls = {
taskHandleUrl
:
completePrefix
(
baseURI
,
'api/task/handleTask?taskIds={ids}&status={status}'
),
taskHandleUrl
:
completePrefix
(
baseURI
,
'api/task/handleTask?taskIds={ids}&status={status}'
),
taskDetailUrl
:
completePrefix
(
baseURI
,
'api/task/queryTask?taskID={id}'
),
taskDetailUrl
:
completePrefix
(
baseURI
,
'api/task/queryTask?taskID={id}'
),
taskAddUrl
:
completePrefix
(
baseURI
,
'api/task/addTask'
),
taskAddUrl
:
completePrefix
(
baseURI
,
'api/task/addTask'
),
deptUserTreeUrl
:
completePrefix
(
baseURI
,
'api/user/queryDeptUserTree'
),
deptUserTreeUrl
:
completePrefix
(
baseURI
,
'api/user/queryDeptUserTree'
),
deptUserTreeUrl2
:
completePrefix
(
baseURI
,
'api/user/queryDeptUserTree1'
),
deptUserTreeUrl2
:
completePrefix
(
baseURI
,
'api/user/queryDeptUserTree1'
),
taskFeedbackTaskUrl
:
completePrefix
(
baseURI
,
'api/task/feedbackTask'
),
taskFeedbackTaskUrl
:
completePrefix
(
baseURI
,
'api/task/feedbackTask'
),
routePageUrl
:
completePrefix
(
baseURI
,
'api/route/list?pageNumber={page}&pageSize={size}'
),
routePageUrl
:
completePrefix
(
baseURI
,
'api/route/list?pageNumber={page}&pageSize={size}'
),
routeBatchDelUrl
:
completePrefix
(
baseURI
,
'api/route/deleteRoute?routeIds={ids}'
),
routeBatchDelUrl
:
completePrefix
(
baseURI
,
'api/route/deleteRoute?routeIds={ids}'
),
...
@@ -178,6 +178,9 @@ export const patrolUrls = {
...
@@ -178,6 +178,9 @@ export const patrolUrls = {
taskCaliberListUrl
:
completePrefix
(
baseURI
,
'api/common/taskgetStatisticsType'
),
//任务安排统计分析-获取任务统计口径集合
taskCaliberListUrl
:
completePrefix
(
baseURI
,
'api/common/taskgetStatisticsType'
),
//任务安排统计分析-获取任务统计口径集合
personStatisticsUrl
:
completePrefix
(
baseURI
,
'api/task/report/comprehensive/user?startTime={startTime}&endTime={endTime}'
),
//人员综合统计分析-表格
personStatisticsUrl
:
completePrefix
(
baseURI
,
'api/task/report/comprehensive/user?startTime={startTime}&endTime={endTime}'
),
//人员综合统计分析-表格
personStatisticsExportUrl
:
completePrefix
(
baseURI
,
'api/excel/comprehensive/user?startTime={startTime}&endTime={endTime}'
),
//人员综合统计分析-表格导出
personStatisticsExportUrl
:
completePrefix
(
baseURI
,
'api/excel/comprehensive/user?startTime={startTime}&endTime={endTime}'
),
//人员综合统计分析-表格导出
monthSituationUrl
:
completePrefix
(
baseURI
,
'api/check/statisticalByMonth'
),
//月度巡检情况-表格
monthSituationExportUrl
:
completePrefix
(
baseURI
,
'api/check/exportStatisticalByMonth'
),
//月度巡检情况-表格导出
daySituationExportUrl
:
completePrefix
(
baseURI
,
'api/check/exportByDept'
),
//每日巡检情况-表格导出
homeNumberUrl
:
completePrefix
(
baseURI
,
'api/home/overviewData'
),
//巡检首页-获取公司名、巡检点数、完成/计划、累计巡检次数、未完/已完任务数和巡检点数
homeNumberUrl
:
completePrefix
(
baseURI
,
'api/home/overviewData'
),
//巡检首页-获取公司名、巡检点数、完成/计划、累计巡检次数、未完/已完任务数和巡检点数
homeChartUrl
:
completePrefix
(
baseURI
,
'api/home/getCheckData'
),
//巡检首页-获取12日内 实际巡检、计划巡检和漏检次数每天的数值
homeChartUrl
:
completePrefix
(
baseURI
,
'api/home/getCheckData'
),
//巡检首页-获取12日内 实际巡检、计划巡检和漏检次数每天的数值
...
...
src/routes/customRoutes.js
View file @
6f7b5f66
...
@@ -36,6 +36,7 @@ import CompletionSituation from './../view/patrol/statistics/completionSituation
...
@@ -36,6 +36,7 @@ import CompletionSituation from './../view/patrol/statistics/completionSituation
import
InspectionSituation
from
'./../view/patrol/statistics/inspectionSituation'
;
import
InspectionSituation
from
'./../view/patrol/statistics/inspectionSituation'
;
import
TaskArrangement
from
'./../view/patrol/statistics/taskArrangement'
;
import
TaskArrangement
from
'./../view/patrol/statistics/taskArrangement'
;
import
PersonStatistics
from
'./../view/patrol/statistics/personstatistics'
;
import
PersonStatistics
from
'./../view/patrol/statistics/personstatistics'
;
import
MonthSituation
from
'./../view/patrol/statistics/monthSituation'
;
import
CheckDetail
from
'./../view/patrol/check/checkDetail'
;
import
CheckDetail
from
'./../view/patrol/check/checkDetail'
;
/**
/**
...
@@ -74,6 +75,7 @@ const customRoutes = [
...
@@ -74,6 +75,7 @@ const customRoutes = [
{
path
:
'inspectionSituation'
,
parent
:
'patrol'
,
component
:
InspectionSituation
},
{
path
:
'inspectionSituation'
,
parent
:
'patrol'
,
component
:
InspectionSituation
},
{
path
:
'taskArrangement'
,
parent
:
'patrol'
,
component
:
TaskArrangement
},
{
path
:
'taskArrangement'
,
parent
:
'patrol'
,
component
:
TaskArrangement
},
{
path
:
'personStatistics'
,
parent
:
'patrol'
,
component
:
PersonStatistics
},
{
path
:
'personStatistics'
,
parent
:
'patrol'
,
component
:
PersonStatistics
},
{
path
:
'monthSituation'
,
parent
:
'patrol'
,
component
:
MonthSituation
},
{
path
:
'/main/patrol/checkDetail'
,
parent
:
'patrol'
,
component
:
CheckDetail
}
{
path
:
'/main/patrol/checkDetail'
,
parent
:
'patrol'
,
component
:
CheckDetail
}
];
];
...
@@ -129,6 +131,7 @@ export const pathMapping = {
...
@@ -129,6 +131,7 @@ export const pathMapping = {
inspectionSituation
:
'/main/patrol/inspectionSituation'
,
inspectionSituation
:
'/main/patrol/inspectionSituation'
,
taskArrangement
:
'/main/patrol/taskArrangement'
,
taskArrangement
:
'/main/patrol/taskArrangement'
,
personStatistics
:
'/main/patrol/personStatistics'
,
personStatistics
:
'/main/patrol/personStatistics'
,
monthSituation
:
'/main/patrol/monthSituation'
,
checkDetail
:
'/main/patrol/checkDetail'
checkDetail
:
'/main/patrol/checkDetail'
};
};
/**
/**
...
...
src/services/statisticsService.js
View file @
6f7b5f66
...
@@ -62,6 +62,13 @@ export const personStatisticsAction = (data) => {
...
@@ -62,6 +62,13 @@ export const personStatisticsAction = (data) => {
};
};
/**
/**
* 月度巡检情况-表格
*/
export
const
monthSituationAction
=
(
body
)
=>
{
return
commonPost
(
patrolUrls
.
monthSituationUrl
,
body
);
};
/**
* 巡检首页-获取公司名、巡检点数、完成/计划、累计巡检次数、未完/已完任务数和巡检点数
* 巡检首页-获取公司名、巡检点数、完成/计划、累计巡检次数、未完/已完任务数和巡检点数
*/
*/
export
const
homeNumberAction
=
()
=>
{
export
const
homeNumberAction
=
()
=>
{
...
...
src/styles/view/patrol/index.scss
View file @
6f7b5f66
...
@@ -55,6 +55,22 @@
...
@@ -55,6 +55,22 @@
height
:
100%
;
height
:
100%
;
overflow
:
auto
;
overflow
:
auto
;
.right-btn
{
position
:
absolute
;
z-index
:
1
;
right
:
320px
;
margin-top
:
-30px
;
display
:
flex
;
.row-btn
{
padding-left
:
25px
;
img
{
cursor
:
pointer
;
}
}
}
.grid-content
{
.grid-content
{
height
:
calc
(
100%
-
40px
);
height
:
calc
(
100%
-
40px
);
...
...
src/utils/payload.js
View file @
6f7b5f66
...
@@ -2,7 +2,6 @@ export default function(data, delRequest){
...
@@ -2,7 +2,6 @@ export default function(data, delRequest){
window
.
setLoading
&&
window
.
setLoading
(
false
);
window
.
setLoading
&&
window
.
setLoading
(
false
);
return
new
Promise
((
resolve
,
reject
)
=>
{
return
new
Promise
((
resolve
,
reject
)
=>
{
if
(
data
)
{
if
(
data
)
{
debugger
if
(
data
.
dataList
||
data
.
dataList
===
null
){
if
(
data
.
dataList
||
data
.
dataList
===
null
){
if
(
data
.
result
===
'SUCCESS'
){
if
(
data
.
result
===
'SUCCESS'
){
resolve
(
data
.
dataList
);
resolve
(
data
.
dataList
);
...
...
src/utils/tools.js
View file @
6f7b5f66
...
@@ -240,10 +240,8 @@ export const exportExcel = ({ url, method, body }, fileName) => {
...
@@ -240,10 +240,8 @@ export const exportExcel = ({ url, method, body }, fileName) => {
'Content-Type'
:
'application/json; charset=utf-8'
,
'Content-Type'
:
'application/json; charset=utf-8'
,
'X-Access-Token'
:
window
.
localStorage
.
getItem
(
token
),
'X-Access-Token'
:
window
.
localStorage
.
getItem
(
token
),
'token'
:
window
.
localStorage
.
getItem
(
token
),
'token'
:
window
.
localStorage
.
getItem
(
token
),
'appKey'
:
'YH-PATROL'
,
'appKey'
:
'YH-PATROL'
,
'product'
:
'YH-PATROL_WEB'
'product'
:
'YH-PATROL_WEB'
},
},
body
:
body
?
JSON
.
stringify
(
body
)
:
undefined
body
:
body
?
JSON
.
stringify
(
body
)
:
undefined
}).
then
((
e
)
=>
{
}).
then
((
e
)
=>
{
...
...
src/view/component/toolbar/index.js
View file @
6f7b5f66
...
@@ -9,20 +9,19 @@ import { seachPermissionAction } from './../../../services/checkService';
...
@@ -9,20 +9,19 @@ import { seachPermissionAction } from './../../../services/checkService';
* @class ToolBar
* @class ToolBar
* @extends {Component}
* @extends {Component}
*/
*/
class
ToolBar
extends
Component
{
class
ToolBar
extends
Component
{
constructor
(
props
)
{
constructor
(
props
)
{
super
(
props
);
super
(
props
);
this
.
state
=
{
this
.
state
=
{
navs
:
[],
navs
:
[],
isWriteable
:
false
,
isWriteable
:
false
,
dropnavs
:[]
dropnavs
:
[]
};
};
}
}
componentWillReceiveProps
(
nextProps
)
{
componentWillReceiveProps
(
nextProps
)
{
const
{
dropnavs
}
=
nextProps
;
const
{
dropnavs
}
=
nextProps
;
if
(
dropnavs
&&
dropnavs
.
length
>
0
)
{
if
(
dropnavs
&&
dropnavs
.
length
>
0
){
this
.
setState
({
dropnavs
:
dropnavs
});
this
.
setState
({
dropnavs
:
dropnavs
});
const
permissionsMenus
=
window
.
localStorage
.
getItem
(
'permissionsMenus'
);
const
permissionsMenus
=
window
.
localStorage
.
getItem
(
'permissionsMenus'
);
let
data
=
[];
let
data
=
[];
...
@@ -32,26 +31,20 @@ class ToolBar extends Component{
...
@@ -32,26 +31,20 @@ class ToolBar extends Component{
let
children
=
[];
let
children
=
[];
if
(
data
&&
dropnavs
)
{
if
(
data
&&
dropnavs
)
{
data
.
find
(
item
=>
{
data
.
find
(
item
=>
{
if
(
item
.
permissionName
===
'巡检业务'
)
{
if
(
item
.
permissionName
===
'巡检业务'
)
{
children
=
item
.
children
;
children
=
item
.
children
;
let
menu
=
children
.
find
(
item
=>
{
let
menu
=
children
.
find
(
item
=>
{
if
(
dropnavs
&&
dropnavs
.
length
>
0
)
{
if
(
dropnavs
&&
dropnavs
.
length
>
0
)
{
if
(
void
0
===
dropnavs
[
0
].
frontComponent
)
{
if
(
void
0
===
dropnavs
[
0
].
frontComponent
)
{
return
true
;
return
true
;
}
}
return
dropnavs
[
0
].
frontComponent
===
item
.
permissionCode
;
return
dropnavs
[
0
].
frontComponent
===
item
.
permissionCode
;
}
}
});
});
if
(
!
menu
)
{
if
(
!
menu
)
{
this
.
setState
({
navs
:
[],
isWriteable
:
false
});
this
.
setState
({
navs
:
[],
isWriteable
:
false
});
return
;
return
;
}
}
let
navs
=
dropnavs
.
filter
(
item
=>
{
let
navs
=
dropnavs
.
filter
(
item
=>
{
if
(
!
item
.
isWriteable
)
{
if
(
!
item
.
isWriteable
)
{
return
true
;
return
true
;
...
@@ -64,14 +57,9 @@ class ToolBar extends Component{
...
@@ -64,14 +57,9 @@ class ToolBar extends Component{
}
}
});
});
}
}
}
}
}
}
componentWillMount
()
{
componentWillMount
()
{
const
{
dropnavs
}
=
this
.
state
;
const
{
dropnavs
}
=
this
.
state
;
const
permissionsMenus
=
window
.
localStorage
.
getItem
(
'permissionsMenus'
);
const
permissionsMenus
=
window
.
localStorage
.
getItem
(
'permissionsMenus'
);
...
@@ -82,26 +70,20 @@ class ToolBar extends Component{
...
@@ -82,26 +70,20 @@ class ToolBar extends Component{
let
children
=
[];
let
children
=
[];
if
(
data
&&
dropnavs
)
{
if
(
data
&&
dropnavs
)
{
data
.
find
(
item
=>
{
data
.
find
(
item
=>
{
if
(
item
.
permissionName
===
'巡检业务'
)
{
if
(
item
.
permissionName
===
'巡检业务'
)
{
children
=
item
.
children
;
children
=
item
.
children
;
let
menu
=
children
.
find
(
item
=>
{
let
menu
=
children
.
find
(
item
=>
{
if
(
dropnavs
&&
dropnavs
.
length
>
0
)
{
if
(
dropnavs
&&
dropnavs
.
length
>
0
)
{
if
(
void
0
===
dropnavs
[
0
].
frontComponent
)
{
if
(
void
0
===
dropnavs
[
0
].
frontComponent
)
{
return
true
;
return
true
;
}
}
return
dropnavs
[
0
].
frontComponent
===
item
.
permissionCode
;
return
dropnavs
[
0
].
frontComponent
===
item
.
permissionCode
;
}
}
});
});
if
(
!
menu
)
{
if
(
!
menu
)
{
this
.
setState
({
navs
:
[],
isWriteable
:
false
});
this
.
setState
({
navs
:
[],
isWriteable
:
false
});
return
;
return
;
}
}
let
navs
=
dropnavs
.
filter
(
item
=>
{
let
navs
=
dropnavs
.
filter
(
item
=>
{
if
(
!
item
.
isWriteable
)
{
if
(
!
item
.
isWriteable
)
{
return
true
;
return
true
;
...
@@ -146,7 +128,7 @@ class ToolBar extends Component{
...
@@ -146,7 +128,7 @@ class ToolBar extends Component{
getMenuItems
=
(
subSys
)
=>
{
getMenuItems
=
(
subSys
)
=>
{
let
{
callBack
}
=
this
.
props
;
let
{
callBack
}
=
this
.
props
;
let
items
=
new
Array
();
let
items
=
new
Array
();
for
(
let
i
=
0
;
i
<
subSys
.
length
;
i
++
)
{
for
(
let
i
=
0
;
i
<
subSys
.
length
;
i
++
)
{
let
sub
=
subSys
[
i
];
let
sub
=
subSys
[
i
];
items
.
push
(
<
Menu
.
Item
onClick
=
{()
=>
callBack
(
sub
.
key
)}
>
{
sub
.
text
}
<
/Menu.Item>
)
;
items
.
push
(
<
Menu
.
Item
onClick
=
{()
=>
callBack
(
sub
.
key
)}
>
{
sub
.
text
}
<
/Menu.Item>
)
;
}
}
...
@@ -156,15 +138,15 @@ class ToolBar extends Component{
...
@@ -156,15 +138,15 @@ class ToolBar extends Component{
getDropnav
=
(
record
)
=>
{
getDropnav
=
(
record
)
=>
{
let
arr
=
new
Array
();
let
arr
=
new
Array
();
arr
.
push
(
record
);
arr
.
push
(
record
);
return
(
<
DropNav
navs
=
{
arr
}
theme
=
"light"
/>
);
return
(
<
DropNav
navs
=
{
arr
}
theme
=
"light"
/>
);
}
}
handlerOnClick
=
(
navItem
,
e
)
=>
{
handlerOnClick
=
(
navItem
,
e
)
=>
{
let
{
callBack
}
=
this
.
props
;
let
{
callBack
}
=
this
.
props
;
if
(
!
navItem
.
href
.
startsWith
(
'jacascript::void(0)'
))
{
if
(
!
navItem
.
href
.
startsWith
(
'jacascript::void(0)'
))
{
return
true
;
return
true
;
}
}
callBack
(
navItem
.
key
,
navItem
.
href
);
callBack
(
navItem
.
key
,
navItem
.
href
);
return
false
;
return
false
;
}
}
...
@@ -178,7 +160,7 @@ class ToolBar extends Component{
...
@@ -178,7 +160,7 @@ class ToolBar extends Component{
render
()
{
render
()
{
const
{
navs
}
=
this
.
state
;
const
{
navs
}
=
this
.
state
;
let
context
=
navs
.
map
(
item
=>
{
let
context
=
navs
.
map
(
item
=>
{
if
(
item
.
subSys
)
{
if
(
item
.
subSys
)
{
return
this
.
getNavMenu
(
item
);
return
this
.
getNavMenu
(
item
);
}
else
if
(
!
item
.
href
.
startsWith
(
'jacascript::void(0)'
))
{
}
else
if
(
!
item
.
href
.
startsWith
(
'jacascript::void(0)'
))
{
...
...
src/view/patrol/check/CheckTable.js
View file @
6f7b5f66
...
@@ -9,7 +9,7 @@ import { pathMapping } from './../../../routes/customRoutes';
...
@@ -9,7 +9,7 @@ import { pathMapping } from './../../../routes/customRoutes';
import
AmosGridTable
from
'../../component/table/table/AmosGridTable'
;
import
AmosGridTable
from
'../../component/table/table/AmosGridTable'
;
import
{
patrolUrls
}
from
'./../../../consts/urlConsts'
;
import
{
patrolUrls
}
from
'./../../../consts/urlConsts'
;
import
ToolBar
from
'./../../component/toolbar'
;
import
ToolBar
from
'./../../component/toolbar'
;
import
{
batchDeCheckAction
,
queryCheckDetailAction
,
btnAuthAction
}
from
'../../../services/checkService'
;
import
{
batchDeCheckAction
,
queryCheckDetailAction
,
btnAuthAction
}
from
'../../../services/checkService'
;
...
@@ -22,21 +22,20 @@ const checkDetail = pathMapping.checkDetail;
...
@@ -22,21 +22,20 @@ const checkDetail = pathMapping.checkDetail;
const
okStatusEnum
=
{
'1'
:
'正常'
,
'2'
:
'异常'
,
'3'
:
'漏检'
};
const
okStatusEnum
=
{
'1'
:
'正常'
,
'2'
:
'异常'
,
'3'
:
'漏检'
};
const
statusDataEnum
=
{
'0'
:
'计划外完成'
,
'1'
:
'按时完成'
,
'2'
:
'未执行'
};
const
statusDataEnum
=
{
'0'
:
'计划外完成'
,
'1'
:
'按时完成'
,
'2'
:
'未执行'
};
const
dropnavs1
=
{
key
:
'1'
,
text
:
'查看明细'
,
icon
:
'jiancha'
,
href
:
'jacascript::void(0)'
,
permissionCode
:
'check'
,
isWriteable
:
false
};
const
dropnavs1
=
{
key
:
'1'
,
text
:
'查看明细'
,
icon
:
'jiancha'
,
href
:
'jacascript::void(0)'
,
permissionCode
:
'check'
,
isWriteable
:
false
};
const
dropnavs2
=
{
key
:
'2'
,
text
:
'删除记录'
,
icon
:
'delete'
,
href
:
'jacascript::void(0)'
,
permissionCode
:
'check'
,
isWriteable
:
true
};
const
dropnavs2
=
{
key
:
'2'
,
text
:
'删除记录'
,
icon
:
'delete'
,
href
:
'jacascript::void(0)'
,
permissionCode
:
'check'
,
isWriteable
:
true
};
const
dropnavs3
=
{
const
dropnavs3
=
{
key
:
'3'
,
key
:
'3'
,
text
:
'导出记录'
,
text
:
'导出记录'
,
icon
:
'user'
,
icon
:
'user'
,
href
:
'jacascript::void(0)'
,
href
:
'jacascript::void(0)'
,
subSys
:
[
subSys
:
[
{
key
:
'3-1'
,
text
:
'导出选中数据'
,
href
:
'jacascript::void(0)'
,
permissionCode
:
'check'
,
isWriteable
:
false
},
{
key
:
'3-1'
,
text
:
'导出选中数据'
,
href
:
'jacascript::void(0)'
,
permissionCode
:
'check'
,
isWriteable
:
false
},
{
key
:
'3-2'
,
text
:
'导出全部数据'
,
href
:
'jacascript::void(0)'
,
permissionCode
:
'check'
,
isWriteable
:
false
},
{
key
:
'3-2'
,
text
:
'导出全部数据'
,
href
:
'jacascript::void(0)'
,
permissionCode
:
'check'
,
isWriteable
:
false
},
{
key
:
'3-3'
,
text
:
'导出选中图片'
,
href
:
'jacascript::void(0)'
,
permissionCode
:
'check'
,
isWriteable
:
false
},
{
key
:
'3-3'
,
text
:
'导出选中图片'
,
href
:
'jacascript::void(0)'
,
permissionCode
:
'check'
,
isWriteable
:
false
},
{
key
:
'3-4'
,
text
:
'导出全部图片'
,
href
:
'jacascript::void(0)'
,
permissionCode
:
'check'
,
isWriteable
:
false
}
{
key
:
'3-4'
,
text
:
'导出全部图片'
,
href
:
'jacascript::void(0)'
,
permissionCode
:
'check'
,
isWriteable
:
false
}
]
]
};
};
const
getColumns
=
()
=>
{
const
getColumns
=
()
=>
{
return
[
return
[
...
@@ -187,7 +186,8 @@ class CheckTable extends Component {
...
@@ -187,7 +186,8 @@ class CheckTable extends Component {
selectedRows
:
[],
selectedRows
:
[],
selectedRowKeys
:
[],
selectedRowKeys
:
[],
data
:
[],
data
:
[],
dropnavs
:[]
dropnavs
:
[],
showType
:
''
};
};
}
}
...
@@ -203,40 +203,27 @@ class CheckTable extends Component {
...
@@ -203,40 +203,27 @@ class CheckTable extends Component {
};
};
/****按钮权限 */
/****按钮权限 */
reloadButtonAuth
=
()
=>
{
// const _path = this.calcRoutes();
btnAuthAction
(
'/main/patrol/check'
).
then
(
data
=>
{
let
{
dropnavs
}
=
this
.
state
;
if
(
data
){
if
(
"jiancha"
in
data
&&
data
.
jiancha
.
hasPermission
){
dropnavs
.
push
(
dropnavs1
);
}
if
(
"delete"
in
data
&&
data
.
delete
.
hasPermission
){
dropnavs
.
push
(
dropnavs2
);
}
if
(
"user"
in
data
&&
data
.
user
.
hasPermission
){
dropnavs
.
push
(
dropnavs3
);
}
}
this
.
setState
({
dropnavs
});
});
}
reloadButtonAuth
=
()
=>
{
// const _path = this.calcRoutes();
btnAuthAction
(
'/main/patrol/check'
).
then
(
data
=>
{
let
{
dropnavs
}
=
this
.
state
;
if
(
data
)
{
if
(
"jiancha"
in
data
&&
data
.
jiancha
.
hasPermission
)
{
dropnavs
.
push
(
dropnavs1
);
}
if
(
"delete"
in
data
&&
data
.
delete
.
hasPermission
)
{
dropnavs
.
push
(
dropnavs2
);
}
if
(
"user"
in
data
&&
data
.
user
.
hasPermission
)
{
dropnavs
.
push
(
dropnavs3
);
}
}
this
.
setState
({
dropnavs
});
});
}
/**
/**
* 分页设置参数
* 分页设置参数
...
@@ -345,17 +332,17 @@ reloadButtonAuth = () => {
...
@@ -345,17 +332,17 @@ reloadButtonAuth = () => {
method
:
'get'
,
method
:
'get'
,
headers
:
getHeaders
()
headers
:
getHeaders
()
}).
then
(
e
=>
{
}).
then
(
e
=>
{
e
.
blob
().
then
(
blob
=>
{
e
.
blob
().
then
(
blob
=>
{
const
a
=
window
.
document
.
createElement
(
'a'
);
const
a
=
window
.
document
.
createElement
(
'a'
);
const
downUrl
=
window
.
URL
.
createObjectURL
(
blob
);
const
downUrl
=
window
.
URL
.
createObjectURL
(
blob
);
let
currDate
=
new
Date
();
let
currDate
=
new
Date
();
const
filename
=
[
currDate
.
getTime
(),
'xls'
];
const
filename
=
[
currDate
.
getTime
(),
'xls'
];
a
.
href
=
downUrl
;
a
.
href
=
downUrl
;
a
.
download
=
`
${
decodeURI
(
filename
[
0
])}
.
${
filename
[
1
]}
`
;
a
.
download
=
`
${
decodeURI
(
filename
[
0
])}
.
${
filename
[
1
]}
`
;
a
.
click
();
a
.
click
();
window
.
URL
.
revokeObjectURL
(
downUrl
);
window
.
URL
.
revokeObjectURL
(
downUrl
);
});
});
})
})
.
catch
(
e
=>
{
.
catch
(
e
=>
{
_amosTool
.
Log
.
error
(
e
.
message
);
_amosTool
.
Log
.
error
(
e
.
message
);
});
});
...
@@ -373,17 +360,17 @@ reloadButtonAuth = () => {
...
@@ -373,17 +360,17 @@ reloadButtonAuth = () => {
method
:
'get'
,
method
:
'get'
,
headers
:
getHeaders
()
headers
:
getHeaders
()
}).
then
(
e
=>
{
}).
then
(
e
=>
{
e
.
blob
().
then
(
blob
=>
{
e
.
blob
().
then
(
blob
=>
{
const
a
=
window
.
document
.
createElement
(
'a'
);
const
a
=
window
.
document
.
createElement
(
'a'
);
const
downUrl
=
window
.
URL
.
createObjectURL
(
blob
);
const
downUrl
=
window
.
URL
.
createObjectURL
(
blob
);
let
currDate
=
new
Date
();
let
currDate
=
new
Date
();
const
filename
=
[
currDate
.
getTime
(),
'zip'
];
const
filename
=
[
currDate
.
getTime
(),
'zip'
];
a
.
href
=
downUrl
;
a
.
href
=
downUrl
;
a
.
download
=
`
${
decodeURI
(
filename
[
0
])}
.
${
filename
[
1
]}
`
;
a
.
download
=
`
${
decodeURI
(
filename
[
0
])}
.
${
filename
[
1
]}
`
;
a
.
click
();
a
.
click
();
window
.
URL
.
revokeObjectURL
(
downUrl
);
window
.
URL
.
revokeObjectURL
(
downUrl
);
});
});
})
})
.
catch
(
e
=>
{
.
catch
(
e
=>
{
_amosTool
.
Log
.
error
(
e
.
message
);
_amosTool
.
Log
.
error
(
e
.
message
);
});
});
...
@@ -447,8 +434,6 @@ reloadButtonAuth = () => {
...
@@ -447,8 +434,6 @@ reloadButtonAuth = () => {
});
});
};
};
getDetCheckInfo
=
()
=>
{
getDetCheckInfo
=
()
=>
{
let
{
selectedRows
}
=
this
.
state
;
let
{
selectedRows
}
=
this
.
state
;
if
(
selectedRows
===
undefined
||
selectedRows
.
length
<=
0
)
{
if
(
selectedRows
===
undefined
||
selectedRows
.
length
<=
0
)
{
...
@@ -459,16 +444,16 @@ reloadButtonAuth = () => {
...
@@ -459,16 +444,16 @@ reloadButtonAuth = () => {
AmosAlert
.
warning
(
'提示'
,
'至多可以选择一条巡检记录'
);
AmosAlert
.
warning
(
'提示'
,
'至多可以选择一条巡检记录'
);
return
;
return
;
}
}
// for (let i = 0; i < selectedRows.length; i++) {
// for (let i = 0; i < selectedRows.length; i++) {
let
id
=
selectedRows
[
0
].
id
;
let
id
=
selectedRows
[
0
].
id
;
let
path
=
{
let
path
=
{
pathname
:
checkDetail
,
pathname
:
checkDetail
,
state
:
{
checkID
:
id
}
state
:
{
checkID
:
id
}
};
};
browserHistory
.
push
(
path
);
browserHistory
.
push
(
path
);
// queryCheckDetailAction(id).then(data => {
// queryCheckDetailAction(id).then(data => {
// this.showCheckDetail(data);
// this.showCheckDetail(data);
// });
// });
// }
// }
};
};
...
@@ -491,14 +476,29 @@ reloadButtonAuth = () => {
...
@@ -491,14 +476,29 @@ reloadButtonAuth = () => {
// });
// });
};
};
onClickIcon
=
(
value
)
=>
{
const
{
showType
}
=
this
.
state
;
if
(
showType
===
value
){
value
=
''
;}
this
.
props
.
setShowType
(
value
);
this
.
setState
({
showType
:
value
});
}
render
()
{
render
()
{
let
{
pagination
,
dropnavs
,
isChecked
,
selectedRowKeys
}
=
this
.
state
;
let
{
pagination
,
dropnavs
,
isChecked
,
selectedRowKeys
}
=
this
.
state
;
let
{
dataList
,
fetchData
,
count
}
=
this
.
props
;
let
{
dataList
,
fetchData
,
count
}
=
this
.
props
;
let
defaultPageConfig
=
this
.
pageConfig
;
let
defaultPageConfig
=
this
.
pageConfig
;
return
(
return
(
<
div
className
=
"patrol-page-table"
>
<
div
className
=
"patrol-page-table"
>
<
ToolBar
dropnavs
=
{
dropnavs
}
callBack
=
{
this
.
onClickBootBar
}
/
>
<
ToolBar
dropnavs
=
{
dropnavs
}
callBack
=
{
this
.
onClickBootBar
}
/
>
<
div
className
=
'right-btn'
>
<
div
className
=
"row-btn"
>
<
img
src
=
"/src/assets/fsc/check/export.png"
onClick
=
{()
=>
this
.
onClickIcon
(
'export'
)}
/><span> 报表生成</
span
>
<
/div
>
<
div
className
=
"row-btn"
>
<
img
src
=
"/src/assets/fsc/check/filter.png"
onClick
=
{()
=>
this
.
onClickIcon
(
'search'
)}
/><span> 筛选条件</
span
>
<
/div
>
<
/div
>
<
AmosGridTable
<
AmosGridTable
rowKey
=
"id"
rowKey
=
"id"
columns
=
{
getColumns
()}
columns
=
{
getColumns
()}
...
@@ -520,6 +520,9 @@ reloadButtonAuth = () => {
...
@@ -520,6 +520,9 @@ reloadButtonAuth = () => {
}
}
}
}
CheckTable
.
propTypes
=
{};
CheckTable
.
propTypes
=
{
setShowType
:
PropTypes
.
func
};
export
default
CheckTable
;
export
default
CheckTable
;
src/view/patrol/check/ExportSearch.js
0 → 100644
View file @
6f7b5f66
import
React
,
{
Component
}
from
'react'
;
import
PropTypes
from
'prop-types'
;
import
{
DatePicker
}
from
'amos-antd'
;
import
moment
from
'moment'
;
import
{
Form
,
Button
,
Select
}
from
'amos-framework'
;
import
{
queryDeptByOrgCodeAction1
}
from
'../../../services/checkService'
;
import
{
exportExcel
}
from
'UTILS/tools'
;
import
{
patrolUrls
}
from
'CONSTS/urlConsts'
;
const
FormItem
=
Form
.
Item
;
const
Option
=
Select
.
Option
;
/**
* 生成报表条件
*
* @class ExportSearch
* @extends {Component}
*/
class
ExportSearch
extends
Component
{
constructor
(
props
)
{
super
(
props
);
this
.
state
=
{
form
:
{
deptId
:
{
name
:
'deptId'
,
value
:
''
},
beginDate
:
{
name
:
'beginDate'
,
value
:
moment
()
.
startOf
(
'day'
)
.
format
(
'YYYY-MM-DD HH:mm:ss'
)
},
endDate
:
{
name
:
'endDate'
,
value
:
moment
()
.
endOf
(
'day'
)
.
format
(
'YYYY-MM-DD HH:mm:ss'
)
},
statement
:
{
name
:
'statement'
,
value
:
'technology'
}
},
rules
:
{
deptId
:
[
{
required
:
true
,
message
:
'巡检部门不能为空!'
}
],
statement
:
[
{
required
:
true
,
message
:
'报表模板不能为空!'
}
],
beginDate
:
[
{
required
:
true
,
message
:
'开始时间不能为空!'
}
],
endDate
:
[
{
required
:
true
,
message
:
'结束时间不能为空!'
}
]
},
deptData
:
[],
statementList
:
[
{
name
:
'技术'
,
value
:
'technology'
},
{
name
:
'业务'
,
value
:
'business'
}
]
};
}
componentWillMount
=
()
=>
{
this
.
queryDeptByOrgCode
();
// 查询部门
};
queryDeptByOrgCode
=
()
=>
{
queryDeptByOrgCodeAction1
().
then
(
data
=>
{
this
.
setState
({
deptData
:
data
});
});
};
onExportExcel
=
()
=>
{
let
{
form
}
=
this
.
state
;
let
quest
=
[];
if
(
form
)
{
for
(
let
key
in
form
)
{
let
obj
=
form
[
key
];
quest
.
push
(
obj
);
}
}
exportExcel
({
url
:
patrolUrls
.
daySituationExportUrl
,
method
:
'post'
,
body
:
quest
},
'每日巡检情况报表'
);
}
onChange
=
(
key
,
e
)
=>
{
let
{
form
}
=
this
.
state
;
form
[
key
].
value
=
e
.
target
.
value
;
this
.
setState
(
form
);
};
onDateChange
=
(
key
,
date
)
=>
{
const
{
form
}
=
this
.
state
;
form
[
key
].
value
=
moment
(
date
).
format
(
'YYYY-MM-DD HH:mm:ss'
);
this
.
setState
({
form
});
};
onSelectChange
=
(
key
,
value
)
=>
{
let
{
form
}
=
this
.
state
;
form
[
key
].
value
=
value
;
this
.
setState
(
form
);
};
onDeptChange
=
(
key
,
value
)
=>
{
const
{
form
}
=
this
.
state
;
form
[
key
].
value
=
value
;
this
.
setState
({
form
});
};
render
()
{
const
{
form
,
rules
,
deptData
,
statementList
}
=
this
.
state
;
const
formItemLayout
=
{
labelCol
:
{
xs
:
{
span
:
24
},
sm
:
{
span
:
4
},
className
:
'colspanlab'
},
wrapperCol
:
{
xs
:
{
span
:
24
},
sm
:
{
span
:
14
},
className
:
'colspan'
}
};
return
(
<
Form
style
=
{{
padding
:
'30px 0 0 0'
}}
className
=
"basic-demo"
model
=
{
form
}
rules
=
{
rules
}
>
<
FormItem
label
=
"巡检部门"
field
=
"deptId"
{...
formItemLayout
}
>
<
Select
className
=
"search_Input"
data
=
{
deptData
?
deptData
:
[]}
style
=
{{
height
:
30
}}
renderOption
=
{
item
=>
item
&&
<
Option
value
=
{
item
.
sequenceNbr
}
>
{
item
.
departmentName
}
<
/Option>
}
defaultOption
=
{
<
Option
>
全部
<
/Option>
}
value
=
{
form
.
deptId
.
value
}
onChange
=
{(
e
)
=>
this
.
onDeptChange
(
'deptId'
,
e
)}
/
>
<
/FormItem
>
<
FormItem
label
=
{
<
span
>
报表模板
<
/span>} field="statement" {...formItemLayout}
>
<
Select
data
=
{
statementList
}
renderOption
=
{
item
=>
<
Option
value
=
{
item
.
value
}
>
{
item
.
name
}
<
/Option>
}
value
=
{
form
.
statement
.
value
}
className
=
"search_Input"
onChange
=
{
e
=>
this
.
onSelectChange
(
'statement'
,
e
)}
/
>
<
/FormItem
>
<
FormItem
label
=
{
<
span
>
开始日期
<
/span>} field="beginDate" {...formItemLayout}
>
<
DatePicker
style
=
{{
width
:
178
}}
className
=
"search_Input"
value
=
{
moment
(
form
.
beginDate
.
value
)}
allowClear
=
{
false
}
format
=
"YYYY-MM-DD HH:mm:ss"
onChange
=
{
e
=>
this
.
onDateChange
(
'beginDate'
,
e
)}
//允许选择时间
showTime
=
{{
defaultValue
:
moment
(
'00:00:00'
,
'HH:mm:ss'
)
}}
/
>
<
/FormItem
>
<
FormItem
label
=
{
<
span
>
结束日期
<
/span>} field="endDate" {...formItemLayout}
>
<
DatePicker
style
=
{{
width
:
178
}}
className
=
"search_Input"
value
=
{
moment
(
form
.
endDate
.
value
)}
allowClear
=
{
false
}
format
=
"YYYY-MM-DD HH:mm:ss"
onChange
=
{
e
=>
this
.
onDateChange
(
'endDate'
,
e
)}
showTime
=
{{
defaultValue
:
moment
(
'00:00:00'
,
'HH:mm:ss'
)
}}
/
>
<
/FormItem
>
<
FormItem
className
=
"search-btn"
>
<
Button
onClick
=
{
this
.
onExportExcel
}
>
生成报表
<
/Button
>
<
Button
onClick
=
{
this
.
onResetFields
}
>
重置
<
/Button
>
<
/FormItem
>
<
/Form
>
);
}
}
ExportSearch
.
propTypes
=
{
};
export
default
ExportSearch
;
src/view/patrol/check/SplitLayout.js
0 → 100644
View file @
6f7b5f66
import
{
Icon
,
Button
}
from
'amos-framework'
;
import
React
,
{
Component
}
from
'react'
;
import
'../../../styles/view/component/drawer.scss'
;
import
PropTypes
from
'prop-types'
;
/**
* 巡检项
*
* @class InputItemSearch
* @extends {Component}
*/
class
SplitLayout
extends
Component
{
state
=
{
content
:
{
right
:
'0px'
,
display
:
'block'
},
client
:
{
right
:
'300px'
,
display
:
'none'
}
};
changeStatus
=
(
e
)
=>
{
const
{
content
}
=
this
.
state
;
if
(
content
.
right
!==
'0px'
)
{
let
ClientContent
=
{
right
:
'0px'
,
display
:
'block'
};
let
newClient
=
{
right
:
'300px'
,
display
:
'none'
};
this
.
setState
({
content
:
ClientContent
,
client
:
newClient
});
}
else
{
let
ClientContent
=
{
right
:
'-250px'
,
opacity
:
'block'
};
let
newClient
=
{
right
:
'0px'
,
opacity
:
'show'
,
display
:
'block'
};
this
.
setState
({
content
:
ClientContent
,
client
:
newClient
});
}
}
render
()
{
const
{
content
,
client
}
=
this
.
state
;
const
{
title
}
=
this
.
props
;
return
(
<
div
className
=
"qq-client-body"
>
<
div
style
=
{
client
}
className
=
"qq-client"
>
<
a
onClick
=
{
this
.
changeStatus
}
className
=
"qq-client-open"
style
=
{
client
}
>
<
Icon
size
=
"1x"
prefix
=
"amosicon"
icon
=
"gengduo2"
/>
<
/a
>
<
/div
>
<
div
className
=
"qq-client-content"
style
=
{
content
}
>
<
h2
>
{
title
}
<
/h2
>
<
div
className
=
"qq-client-open-content"
>
{
this
.
props
.
children
}
<
/div
>
<
/div
>
<
/div
>
);
}
}
SplitLayout
.
propTypes
=
{
children
:
PropTypes
.
node
,
title
:
PropTypes
.
string
};
export
default
SplitLayout
;
src/view/patrol/check/index.js
View file @
6f7b5f66
...
@@ -2,8 +2,9 @@ import React, { Component } from 'react';
...
@@ -2,8 +2,9 @@ import React, { Component } from 'react';
import
moment
from
'moment'
;
import
moment
from
'moment'
;
import
CheckTable
from
'./CheckTable'
;
import
CheckTable
from
'./CheckTable'
;
import
CheckSearch
from
'./CheckSearch'
;
import
CheckSearch
from
'./CheckSearch'
;
import
ExportSearch
from
'./ExportSearch'
;
import
{
queryCheckInfoAction
}
from
'../../../services/checkService'
;
import
{
queryCheckInfoAction
}
from
'../../../services/checkService'
;
import
SplitterLayout
from
'.
./../component
/SplitLayout'
;
import
SplitterLayout
from
'./SplitLayout'
;
/**
/**
* 巡检记录
* 巡检记录
...
@@ -19,7 +20,8 @@ class Check extends Component {
...
@@ -19,7 +20,8 @@ class Check extends Component {
statisticsData
:
[],
statisticsData
:
[],
totalCount
:
0
,
totalCount
:
0
,
planId
:
''
,
planId
:
''
,
pointNo
:
''
pointNo
:
''
,
showType
:
''
};
};
}
}
componentWillMount
=
()
=>
{
componentWillMount
=
()
=>
{
...
@@ -73,14 +75,24 @@ class Check extends Component {
...
@@ -73,14 +75,24 @@ class Check extends Component {
});
});
}
}
setShowType
=
(
value
)
=>
{
this
.
setState
({
showType
:
value
});
}
render
()
{
render
()
{
let
{
statisticsData
,
totalCount
,
planId
,
pointNo
,
searchParam
}
=
this
.
state
;
let
{
statisticsData
,
totalCount
,
planId
,
pointNo
,
searchParam
,
showType
}
=
this
.
state
;
return
(
return
(
<
div
className
=
"patrol-page-content"
>
<
div
className
=
"patrol-page-content"
>
<
SplitterLayout
>
{
showType
===
'search'
&&
<
SplitterLayout
title
=
'查询条件'
>
<
CheckSearch
search
=
{
this
.
onSearchDataSyn
}
planId
=
{
planId
}
pointNo
=
{
pointNo
}
/
>
<
CheckSearch
search
=
{
this
.
onSearchDataSyn
}
planId
=
{
planId
}
pointNo
=
{
pointNo
}
/
>
<
/SplitterLayout>
}
{
showType
===
'export'
&&
<
SplitterLayout
title
=
'报表生成'
>
<
ExportSearch
search
=
{
this
.
onSearchDataSyn
}
planId
=
{
planId
}
pointNo
=
{
pointNo
}
/
>
<
/SplitterLayout
>
<
/SplitterLayout
>
<
CheckTable
count
=
{
totalCount
}
fetchData
=
{
this
.
questStatistiscData
}
searchParam
=
{
searchParam
}
dataList
=
{
statisticsData
}
planId
=
{
planId
}
/
>
}
<
CheckTable
count
=
{
totalCount
}
fetchData
=
{
this
.
questStatistiscData
}
searchParam
=
{
searchParam
}
dataList
=
{
statisticsData
}
planId
=
{
planId
}
setShowType
=
{
this
.
setShowType
}
/
>
<
/div
>
<
/div
>
);
);
}
}
...
...
src/view/patrol/point/PointBasicInfo.js
View file @
6f7b5f66
...
@@ -52,7 +52,7 @@ class PointBasicInfo extends Component {
...
@@ -52,7 +52,7 @@ class PointBasicInfo extends Component {
chargePersonId
:
''
,
chargePersonId
:
''
,
remark
:
''
,
remark
:
''
,
riskSourceId
:
0
riskSourceId
:
0
},
},
riskLevelList
:
[],
riskLevelList
:
[],
inputItemTableData
:
[],
inputItemTableData
:
[],
...
@@ -109,12 +109,12 @@ class PointBasicInfo extends Component {
...
@@ -109,12 +109,12 @@ class PointBasicInfo extends Component {
}
}
onPointInfoInit
(
pointId
)
{
onPointInfoInit
(
pointId
)
{
// 根据ID查询点信息
// 根据ID查询点信息
pointId
&&
pointId
&&
queryPointByIdAction
(
pointId
).
then
(
data
=>
{
queryPointByIdAction
(
pointId
).
then
(
data
=>
{
let
deptId
=
data
.
chargeDeptId
;
let
deptId
=
data
.
chargeDeptId
;
deptId
&&
this
.
queryUserByDept
(
deptId
);
deptId
&&
this
.
queryUserByDept
(
deptId
);
this
.
setState
({
this
.
setState
({
form
:
data
form
:
data
...
@@ -206,34 +206,31 @@ class PointBasicInfo extends Component {
...
@@ -206,34 +206,31 @@ class PointBasicInfo extends Component {
}
}
onSelectChange
=
(
key
,
value
)
=>
{
onSelectChange
=
(
key
,
value
)
=>
{
let
{
form
}
=
this
.
state
;
let
{
form
}
=
this
.
state
;
if
(
'chargePersonId'
==
key
)
{
if
(
'chargePersonId'
==
key
)
{
let
str
;
let
str
;
for
(
var
i
=
0
;
i
<
value
.
length
;
i
++
)
{
for
(
var
i
=
0
;
i
<
value
.
length
;
i
++
)
{
if
(
i
===
0
)
{
if
(
i
===
0
)
{
str
=
value
[
i
];
str
=
value
[
i
];
}
else
{
}
else
{
str
=
str
+
','
+
value
[
i
];
str
=
str
+
','
+
value
[
i
];
}
}
}
}
form
[
key
]
=
str
;
form
[
key
]
=
str
;
console
.
log
(
'chargePersonId'
,
str
);
console
.
log
(
'chargePersonId'
,
str
);
}
else
{
}
else
{
form
[
key
]
=
value
;
form
[
key
]
=
value
;
}
}
console
.
log
(
'chargePersonId'
,
value
);
console
.
log
(
'chargePersonId'
,
value
);
this
.
setState
(
form
);
this
.
setState
(
form
);
};
};
onTreeExpand
=
expandedKeys
=>
{
onTreeExpand
=
expandedKeys
=>
{
console
.
log
(
'onExpand'
,
arguments
);
// if not set autoExpandParent to false, if children expanded, parent can not collapse.
// or, you can remove all expanded children keys.
this
.
setState
({
this
.
setState
({
treeConfig
:
{
treeConfig
:
{
expandedKeys
,
expandedKeys
,
...
@@ -345,8 +342,8 @@ class PointBasicInfo extends Component {
...
@@ -345,8 +342,8 @@ class PointBasicInfo extends Component {
queryUserByDept
=
deptId
=>
{
queryUserByDept
=
deptId
=>
{
queryUserByDeptIdAction
(
deptId
).
then
(
data
=>
{
queryUserByDeptIdAction
(
deptId
).
then
(
data
=>
{
console
.
log
(
'pointInfo queryUserByDept'
,
data
);
console
.
log
(
'pointInfo queryUserByDept'
,
data
);
this
.
setState
({
userData
:
data
});
this
.
setState
({
userData
:
data
});
});
});
};
};
...
@@ -400,28 +397,28 @@ class PointBasicInfo extends Component {
...
@@ -400,28 +397,28 @@ class PointBasicInfo extends Component {
/**
/**
* 查询风险等级
* 查询风险等级
*/
*/
querryRiskLevel
=
()
=>
{
querryRiskLevel
=
()
=>
{
gerRiskLevel
().
then
(
res
=>
{
gerRiskLevel
().
then
(
res
=>
{
console
.
log
(
'pointBasicInfos'
,
res
);
console
.
log
(
'pointBasicInfos'
,
res
);
const
riskLevelList
=
res
;
const
riskLevelList
=
res
;
this
.
setState
({
riskLevelList
});
this
.
setState
({
riskLevelList
});
})
})
}
}
/**
/**
* 渲染风险等级
* 渲染风险等级
*/
*/
rendRiskLevel
=
()
=>
{
rendRiskLevel
=
()
=>
{
const
{
riskLevelList
}
=
this
.
state
;
const
{
riskLevelList
}
=
this
.
state
;
console
.
log
(
'pointBasicInfos pointBasicInfos'
,
riskLevelList
);
console
.
log
(
'pointBasicInfos pointBasicInfos'
,
riskLevelList
);
if
(
!
utils
.
isEmpty
(
riskLevelList
)
&&
utils
.
isArray
(
riskLevelList
))
{
if
(
!
utils
.
isEmpty
(
riskLevelList
)
&&
utils
.
isArray
(
riskLevelList
))
{
return
(
<
div
>
return
(
<
div
>
{
{
riskLevelList
.
map
(
e
=>
{
riskLevelList
.
map
(
e
=>
{
return
<
Option
key
=
{
e
.
orderNum
}
value
=
{
e
.
orderNum
}
>
{
e
.
dictDataValue
}
<
/Option
>
return
<
Option
key
=
{
e
.
orderNum
}
value
=
{
e
.
orderNum
}
>
{
e
.
dictDataValue
}
<
/Option
>
})
})
}
}
<
/div>
)
<
/div>
)
}
}
...
@@ -429,26 +426,26 @@ class PointBasicInfo extends Component {
...
@@ -429,26 +426,26 @@ class PointBasicInfo extends Component {
/**
/**
* 渲染默认责任人
* 渲染默认责任人
*/
*/
renderCurrentPersonData
=
(
data
)
=>
{
renderCurrentPersonData
=
(
data
)
=>
{
console
.
log
(
'arrayData1'
,
data
)
console
.
log
(
'arrayData1'
,
data
)
if
(
!
utils
.
isEmpty
(
data
)
)
{
if
(
!
utils
.
isEmpty
(
data
))
{
let
array
=
[];
let
array
=
[];
let
arrayData
=
data
.
split
(
','
);
let
arrayData
=
data
.
split
(
','
);
arrayData
.
map
(
e
=>
{
arrayData
.
map
(
e
=>
{
array
.
push
(
e
)
array
.
push
(
e
)
})
})
console
.
log
(
'arrayData'
,
arrayData
)
console
.
log
(
'arrayData'
,
arrayData
)
console
.
log
(
'array'
,
array
)
console
.
log
(
'array'
,
array
)
return
array
;
return
array
;
}
else
{
}
else
{
return
[];
return
[];
}
}
}
}
render
()
{
render
()
{
const
{
form
,
rules
,
catalogData
,
deptData
,
userData
,
riskLevelList
,
currentPersonData
}
=
this
.
state
;
const
{
form
,
rules
,
catalogData
,
deptData
,
userData
,
riskLevelList
,
currentPersonData
}
=
this
.
state
;
console
.
log
(
'form.chargePersonId'
,
form
.
chargePersonId
);
console
.
log
(
'form.chargePersonId'
,
form
.
chargePersonId
);
console
.
log
(
'form.userData'
,
userData
);
console
.
log
(
'form.userData'
,
userData
);
const
formItemLayout
=
{
const
formItemLayout
=
{
labelCol
:
{
labelCol
:
{
xs
:
{
span
:
24
},
xs
:
{
span
:
24
},
...
@@ -560,11 +557,11 @@ class PointBasicInfo extends Component {
...
@@ -560,11 +557,11 @@ class PointBasicInfo extends Component {
<Option value="3">3级</Option>
<Option value="3">3级</Option>
<Option value="4">4级</Option> */
}
<Option value="4">4级</Option> */
}
{
{
(
!
utils
.
isEmpty
(
riskLevelList
)
&&
utils
.
isArray
(
riskLevelList
))
?
riskLevelList
.
map
(
e
=>
(
(
!
utils
.
isEmpty
(
riskLevelList
)
&&
utils
.
isArray
(
riskLevelList
))
?
riskLevelList
.
map
(
e
=>
(
<
Option
key
=
{
e
.
dictDataKey
}
value
=
{
e
.
dictDataKey
}
>
{
e
.
dictDataValue
}
<
/Option
>
<
Option
key
=
{
e
.
dictDataKey
}
value
=
{
e
.
dictDataKey
}
>
{
e
.
dictDataValue
}
<
/Option
>
))
:
null
))
:
null
}
}
<
/Select
>
<
/Select
>
<
/FormItem
>
<
/FormItem
>
<
FormItem
label
=
{
<
span
>
归属区域
/
部门
<
/span>} field="chargeDeptId" {...formItemLayout}
>
<
FormItem
label
=
{
<
span
>
归属区域
/
部门
<
/span>} field="chargeDeptId" {...formItemLayout}
>
...
@@ -586,16 +583,16 @@ class PointBasicInfo extends Component {
...
@@ -586,16 +583,16 @@ class PointBasicInfo extends Component {
value={form.chargePersonId}
value={form.chargePersonId}
onChange={e => this.onSelectChange('chargePersonId', e)}
onChange={e => this.onSelectChange('chargePersonId', e)}
/> */
}
/> */
}
<
MultiSelect
<
MultiSelect
className
=
"point-info-input"
className
=
"point-info-input"
//defaultValues={this.renderCurrentPersonData(form.chargePersonId)}
//defaultValues={this.renderCurrentPersonData(form.chargePersonId)}
//defaultValues={["1569413","1533588","1559667"]}
//defaultValues={["1569413","1533588","1559667"]}
data
=
{
userData
}
data
=
{
userData
}
renderOption
=
{
item
=>
<
Option
key
=
{
item
.
id
}
value
=
{
item
.
id
}
>
{
item
.
name
}
<
/Option>
}
renderOption
=
{
item
=>
<
Option
key
=
{
item
.
id
}
value
=
{
item
.
id
}
>
{
item
.
name
}
<
/Option>
}
onChange
=
{
e
=>
this
.
onSelectChange
(
'chargePersonId'
,
e
)}
onChange
=
{
e
=>
this
.
onSelectChange
(
'chargePersonId'
,
e
)}
values
=
{
this
.
renderCurrentPersonData
(
form
.
chargePersonId
)}
values
=
{
this
.
renderCurrentPersonData
(
form
.
chargePersonId
)}
/
>
/
>
<
/FormItem
>
<
/FormItem
>
<
FormItem
label
=
{
<
span
>
所属分类目录
<
/span>} field="catalogId" {...formItemLayout}
>
<
FormItem
label
=
{
<
span
>
所属分类目录
<
/span>} field="catalogId" {...formItemLayout}
>
...
...
src/view/patrol/point/PointBasicInfoxq.js
View file @
6f7b5f66
This diff is collapsed.
Click to expand it.
src/view/patrol/statistics/completionSituation/Table.js
View file @
6f7b5f66
...
@@ -87,7 +87,6 @@ class TableContent extends Component {
...
@@ -87,7 +87,6 @@ class TableContent extends Component {
return
col
;
return
col
;
});
});
const
columns
=
[
titleCol
,
...
cols
];
const
columns
=
[
titleCol
,
...
cols
];
console
.
log
(
columns
,
JSON
.
stringify
(
columns
));
return
columns
;
return
columns
;
}
}
...
...
src/view/patrol/statistics/completionSituation/index.js
View file @
6f7b5f66
...
@@ -9,7 +9,7 @@ import Table from './Table';
...
@@ -9,7 +9,7 @@ import Table from './Table';
const
ten
=
10
;
const
ten
=
10
;
const
mouth
=
12
;
const
mouth
=
12
;
/**
/**
*
巡检完成情况月
报表
*
年度巡检情况
报表
*
*
* @class CompletionSituation
* @class CompletionSituation
* @extends {Component}
* @extends {Component}
...
...
src/view/patrol/statistics/index.js
View file @
6f7b5f66
...
@@ -16,9 +16,10 @@ class Statistics extends Component {
...
@@ -16,9 +16,10 @@ class Statistics extends Component {
{
key
:
'2'
,
name
:
'任务安排统计分析'
,
href
:
pathMapping
.
taskArrangement
},
{
key
:
'2'
,
name
:
'任务安排统计分析'
,
href
:
pathMapping
.
taskArrangement
},
// { key: '3', name: '检查项目查询', href: '' },
// { key: '3', name: '检查项目查询', href: '' },
// { key: '4', name: '检查项目统计分析', href: '' },
// { key: '4', name: '检查项目统计分析', href: '' },
{
key
:
'5'
,
name
:
'
巡检完成情况月
报表'
,
href
:
pathMapping
.
completionsituation
},
{
key
:
'5'
,
name
:
'
年度巡检情况
报表'
,
href
:
pathMapping
.
completionsituation
},
// { key: '6', name: '巡检评分情况月报表', href: '' },
// { key: '6', name: '巡检评分情况月报表', href: '' },
{
key
:
'7'
,
name
:
'人员综合统计分析'
,
href
:
pathMapping
.
personStatistics
}
{
key
:
'7'
,
name
:
'人员综合统计分析'
,
href
:
pathMapping
.
personStatistics
},
{
key
:
'8'
,
name
:
'月度巡检情况报表'
,
href
:
pathMapping
.
monthSituation
}
// { key: '8', name: '计划执行情况查询', href: '' },
// { key: '8', name: '计划执行情况查询', href: '' },
// { key: '9', name: '数字检查项日报表', href: '' },
// { key: '9', name: '数字检查项日报表', href: '' },
// { key: '10', name: '数字检查项统计分析', href: '' }
// { key: '10', name: '数字检查项统计分析', href: '' }
...
...
src/view/patrol/statistics/monthSituation/Search.js
0 → 100644
View file @
6f7b5f66
import
React
,
{
Component
}
from
'react'
;
import
PropTypes
from
'prop-types'
;
import
{
DatePicker
}
from
'amos-antd'
;
import
moment
from
'moment'
;
import
{
Form
,
Button
,
Select
,
Input
}
from
'amos-framework'
;
import
{
planListAction
,
lineListAction
,
executeStateListAction
}
from
'./../../../../services/statisticsService'
;
const
{
MonthPicker
}
=
DatePicker
;
const
FormItem
=
Form
.
Item
;
const
Option
=
Select
.
Option
;
const
FORMAT
=
'YYYY-MM-DD HH:mm:ss'
;
/**
* 巡检情况统计分析-查询
*
* @class NewsSearch
* @extends {Component}
*/
class
NewsSearch
extends
Component
{
constructor
(
props
)
{
super
(
props
);
this
.
state
=
{
form
:
{
startTime
:
{
name
:
'startTime'
,
value
:
moment
()
.
startOf
(
'month'
)
.
format
(
FORMAT
)
},
queryMonth
:
{
name
:
'queryMonth'
,
value
:
moment
()
.
endOf
(
'month'
)
.
format
(
'YYYY-MM'
)
},
endTime
:
{
name
:
'endTime'
,
value
:
moment
()
.
endOf
(
'month'
)
.
format
(
FORMAT
)
},
statisticsTyle
:
{
name
:
'statisticsTyle'
,
value
:
'2'
}
},
caliberList
:
[
{
name
:
'巡检计划'
,
value
:
'0'
},
{
name
:
'巡检点'
,
value
:
'2'
}
]
};
}
componentWillMount
()
{
this
.
handleSubmit
();
}
onChange
=
(
key
,
e
)
=>
{
let
{
form
}
=
this
.
state
;
form
[
key
].
value
=
e
.
target
.
value
;
this
.
setState
(
form
);
}
onDateChange
=
(
key
,
date
)
=>
{
const
{
form
}
=
this
.
state
;
form
[
key
].
value
=
moment
(
date
).
format
(
FORMAT
);
if
(
key
===
'queryMonth'
){
form
.
startTime
.
value
=
moment
(
date
).
startOf
(
'month'
).
format
(
FORMAT
);
form
.
endTime
.
value
=
moment
(
date
).
endOf
(
'month'
).
format
(
FORMAT
);
}
this
.
setState
({
form
});
}
onSelectChange
=
(
key
,
value
)
=>
{
let
{
form
}
=
this
.
state
;
form
[
key
].
value
=
value
;
this
.
setState
(
form
);
}
handleSubmit
=
()
=>
{
let
{
form
}
=
this
.
state
;
const
obj
=
{};
Object
.
keys
(
form
).
map
(
e
=>
{
obj
[
e
]
=
form
[
e
].
value
;
});
this
.
props
.
search
(
obj
);
}
onResetFields
=
()
=>
{
let
{
form
}
=
this
.
state
;
form
.
queryMonth
.
value
=
moment
().
format
(
FORMAT
);
form
.
startTime
.
value
=
moment
().
startOf
(
'month'
).
format
(
FORMAT
);
form
.
endTime
.
value
=
moment
().
endOf
(
'month'
).
format
(
FORMAT
);
const
obj
=
{};
Object
.
keys
(
form
).
map
(
e
=>
{
obj
[
e
]
=
form
[
e
].
value
;
});
this
.
props
.
search
(
obj
);
}
render
()
{
const
{
form
,
caliberList
}
=
this
.
state
;
const
formItemLayout
=
{
labelCol
:
{
xs
:
{
span
:
24
},
sm
:
{
span
:
4
},
className
:
'colspanlab'
},
wrapperCol
:
{
xs
:
{
span
:
24
},
sm
:
{
span
:
14
},
className
:
'colspan'
}
};
return
(
<
Form
style
=
{{
padding
:
'30px 0 0 0'
}}
className
=
"basic-demo"
model
=
{
form
}
>
<
FormItem
label
=
{
<
span
>
统计口径
<
/span>} field="statisticsTyle" {...formItemLayout}
>
<
Select
data
=
{
caliberList
}
renderOption
=
{
item
=>
<
Option
value
=
{
item
.
value
}
>
{
item
.
name
}
<
/Option>
}
value
=
{
form
.
statisticsTyle
.
value
}
className
=
"search_Input"
onChange
=
{
e
=>
this
.
onSelectChange
(
'statisticsTyle'
,
e
)}
/
>
<
/FormItem
>
<
FormItem
label
=
{
<
span
>
月份
<
/span>} field="queryMonth" {...formItemLayout}
>
<
MonthPicker
className
=
"search_Input"
value
=
{
moment
(
form
.
queryMonth
.
value
)}
allowClear
=
{
false
}
format
=
"YYYY-MM"
onChange
=
{
e
=>
this
.
onDateChange
(
'queryMonth'
,
e
)}
/
>
<
/FormItem
>
<
FormItem
label
=
{
<
span
>
开始日期
<
/span>} field="startTime" {...formItemLayout}
>
<
DatePicker
className
=
"search_Input"
value
=
{
moment
(
form
.
startTime
.
value
)}
allowClear
=
{
false
}
format
=
"YYYY-MM-DD"
onChange
=
{
e
=>
this
.
onDateChange
(
'startTime'
,
e
)}
/
>
<
/FormItem
>
<
FormItem
label
=
{
<
span
>
结束日期
<
/span>} field="endTime" {...formItemLayout}
>
<
DatePicker
className
=
"search_Input"
value
=
{
moment
(
form
.
endTime
.
value
)}
allowClear
=
{
false
}
format
=
"YYYY-MM-DD"
onChange
=
{
e
=>
this
.
onDateChange
(
'endTime'
,
e
)}
/
>
<
/FormItem
>
<
FormItem
className
=
"search-btn"
>
<
Button
icon
=
"search"
onClick
=
{
this
.
handleSubmit
}
>
查询
<
/Button
>
<
Button
onClick
=
{
this
.
onResetFields
}
>
重置
<
/Button
>
<
/FormItem
>
<
/Form
>
);
}
}
NewsSearch
.
propTypes
=
{
search
:
PropTypes
.
func
};
export
default
NewsSearch
;
src/view/patrol/statistics/monthSituation/Table.js
0 → 100644
View file @
6f7b5f66
import
React
,
{
Component
}
from
'react'
;
import
PropTypes
from
'prop-types'
;
import
formatUrl
from
'amos-processor/lib/utils/urlFormat'
;
import
{
Table
}
from
'amos-antd'
;
import
{
exportExcel
}
from
'UTILS/tools'
;
import
{
patrolUrls
}
from
'CONSTS/urlConsts'
;
import
ToolBar
from
'./../../../component/toolbar'
;
import
'./../../../../styles/view/patrol/statistics.scss'
;
import
{
utils
}
from
'amos-tool'
;
const
dropnavs
=
[
{
key
:
'1'
,
text
:
'导出Excel'
,
icon
:
'user'
,
href
:
'jacascript::void(0)'
}
];
/**
* 月度巡检情况报表-表格
*
* @class TableContent
* @extends {Component}
*/
class
MonthSituationTable
extends
Component
{
constructor
(
props
)
{
super
(
props
);
this
.
state
=
{
};
}
onExportExcel
=
()
=>
{
const
{
searchParam
}
=
this
.
props
;
exportExcel
({
url
:
patrolUrls
.
monthSituationExportUrl
,
method
:
'post'
,
body
:
searchParam
},
'月度巡检情况报表'
);
}
onClickBootBar
=
type
=>
{
if
(
type
===
'1'
)
{
this
.
onExportExcel
();
}
};
renderTitle
=
(
titles
)
=>
{
let
titleCol
=
{
title
:
'巡检日期'
,
dataIndex
:
'0'
,
key
:
'month'
,
className
:
'uant-table-thead'
,
width
:
25
,
render
:
(
text
,
record
)
=><
strong
>
{
record
.
month
}
<
/strong
>
};
let
index
=
0
;
let
cols
=
titles
&&
titles
.
map
(
e
=>
{
let
children
=
new
Array
();
index
=
index
+
1
;
children
.
push
({
title
:
'计划巡检次数'
,
dataIndex
:
index
,
key
:
`planTaskCount
${
e
.
key
}
`
,
width
:
20
,
render
:
(
text
,
record
)
=>
{
let
num
=
utils
.
isEmpty
(
record
[
`planTaskCount
${
e
.
key
}
`
])
?
0
:
record
[
`planTaskCount
${
e
.
key
}
`
];
return
<
strong
>
{
num
}
<
/strong>
;
}
});
index
=
index
+
1
;
children
.
push
({
title
:
'实际巡检次数'
,
dataIndex
:
index
,
key
:
`checkCount
${
e
.
key
}
`
,
width
:
20
,
render
:
(
text
,
record
)
=>
{
let
num
=
utils
.
isEmpty
(
record
[
`checkCount
${
e
.
key
}
`
])
?
0
:
record
[
`checkCount
${
e
.
key
}
`
];
return
<
strong
>
{
num
}
<
/strong>
;
}
});
index
=
index
+
1
;
children
.
push
({
title
:
'漏检次数'
,
dataIndex
:
index
,
key
:
`missed
${
e
.
key
}
`
,
width
:
20
,
render
:
(
text
,
record
)
=>
{
let
num
=
utils
.
isEmpty
(
record
[
`missed
${
e
.
key
}
`
])
?
0
:
record
[
`missed
${
e
.
key
}
`
];
return
<
strong
>
{
num
}
<
/strong>
;
}
});
index
=
index
+
1
;
children
.
push
({
title
:
'异常次数'
,
dataIndex
:
index
,
key
:
`faild
${
e
.
key
}
`
,
width
:
20
,
render
:
(
text
,
record
)
=>
{
let
num
=
utils
.
isEmpty
(
record
[
`faild
${
e
.
key
}
`
])
?
0
:
record
[
`faild
${
e
.
key
}
`
];
return
<
strong
>
{
num
}
<
/strong>
;
}
});
let
col
=
{
title
:
`
${
e
.
label
}
`
,
children
};
return
col
;
});
const
columns
=
[
titleCol
,
...
cols
];
return
columns
;
}
render
()
{
const
{
data
,
titles
}
=
this
.
props
;
const
_pagination_
=
false
;
return
(
<
div
className
=
"patrol-page-table"
>
<
ToolBar
dropnavs
=
{
dropnavs
}
callBack
=
{
this
.
onClickBootBar
}
/
>
<
div
className
=
"completion-situation-table"
>
<
Table
rowKey
=
{(
record
,
index
)
=>
record
.
index
}
columns
=
{
this
.
renderTitle
(
titles
)}
pagination
=
{
_pagination_
}
bordered
dataSource
=
{
data
}
scroll
=
{{
x
:
true
,
y
:
500
}}
/
>
<
/div
>
<
/div
>
);
}
}
MonthSituationTable
.
propTypes
=
{
searchParam
:
PropTypes
.
array
,
data
:
PropTypes
.
any
,
titles
:
PropTypes
.
array
};
export
default
MonthSituationTable
;
src/view/patrol/statistics/monthSituation/index.js
0 → 100644
View file @
6f7b5f66
import
React
,
{
Component
}
from
'react'
;
import
SplitterLayout
from
'./../../../component/SplitLayout'
;
import
{
monthSituationAction
}
from
'./../../../../services/statisticsService'
;
import
Search
from
'./Search'
;
import
Table
from
'./Table'
;
/**
* 巡检情况统计分析
*
* @class InspectionSituation
* @extends {Component}
*/
class
MonthSituation
extends
Component
{
constructor
(
props
)
{
super
(
props
);
this
.
state
=
{
tableData
:
[],
searchParam
:
[],
titles
:
[]
};
}
onQueryTableData
=
()
=>
{
const
{
searchParam
}
=
this
.
state
;
monthSituationAction
(
searchParam
).
then
(
d
=>
{
this
.
setState
({
tableData
:
d
.
content
,
titles
:
d
.
titles
});
});
}
onSearchDataSyn
=
(
searchParam
)
=>
{
this
.
setState
({
searchParam
},
this
.
onQueryTableData
);
};
render
()
{
const
{
tableData
,
searchParam
,
titles
}
=
this
.
state
;
return
(
<
div
className
=
"patrol-page-content"
>
<
SplitterLayout
>
<
Search
search
=
{
this
.
onSearchDataSyn
}
/
>
<
/SplitterLayout
>
<
Table
data
=
{
tableData
}
searchParam
=
{
searchParam
}
titles
=
{
titles
}
/
>
<
/div
>
);
}
}
export
default
MonthSituation
;
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment