Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
A
attendance-performance-platform
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
赵啸非
attendance-performance-platform
Commits
87216c4f
Commit
87216c4f
authored
Aug 10, 2023
by
廖旭伟
Browse files
Options
Browse Files
Download
Plain Diff
Merge remote-tracking branch 'origin/master'
parents
69ebf551
47ca8729
Changes
3
Show whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
408 additions
and
340 deletions
+408
-340
attendance-performance-manager-ui/admin/src/views/attendance/record/error/drawershow.vue
...ui/admin/src/views/attendance/record/error/drawershow.vue
+174
-156
attendance-performance-manager-ui/admin/src/views/attendance/record/error/list.vue
...nager-ui/admin/src/views/attendance/record/error/list.vue
+219
-177
attendance-performance-manager-ui/admin/src/views/attendance/stat/list.vue
...mance-manager-ui/admin/src/views/attendance/stat/list.vue
+15
-7
No files found.
attendance-performance-manager-ui/admin/src/views/attendance/record/error/drawershow.vue
View file @
87216c4f
...
@@ -4,46 +4,62 @@
...
@@ -4,46 +4,62 @@
title=
"批量处理"
title=
"批量处理"
:visible.sync=
"open"
:visible.sync=
"open"
:direction=
"direction"
:direction=
"direction"
size=
"50%"
>
size=
"50%"
>
<div
style=
"padding:20px;font-size:15px"
>
<div
style=
"padding:20px;font-size:15px"
>
<div>
<div>
已选择
{{
selection
.
length
}}
个:
</div>
已选择
{{
selection
.
length
}}
个:
</div>
<div
class=
"staffList mt20"
>
<div
class=
"staffList mt20"
>
<div
v-for=
"item in selection"
:key=
"item"
class=
"mt10"
>
<div
v-for=
"item in selection"
:key=
"item"
class=
"mt10"
>
将
<span>
{{
item
.
staffName
}}
</span>
将
<span>
{{
item
.
staffName
}}
</span>
<span>
的
{{
item
.
goOrOff
}}
时间
{{
item
.
goOffDateTime
}}
打卡异常状态
</span>
<span
>
的
{{
item
.
goOrOff
}}
时间
{{
item
.
goOffDateTime
}}
打卡异常状态
</span
>
<span
class=
"ml10"
style=
"color:#f56c6c"
>
<span
class=
"ml10"
style=
"color:#f56c6c"
>
{{
dict
[
'
errorStatus
'
][
item
.
errorStatus
]
}}
{{
dict
[
"
errorStatus
"
][
item
.
errorStatus
]
}}
</span>
</span>
<span
class=
"ml10"
>
修改为
</span>
<span
class=
"ml10"
>
修改为
</span>
</div>
</div>
<div
class=
"mt10"
>
<div
class=
"mt10"
>
<!--
<!--
<Field
label=
""
v-model=
"dealParams.processResult"
type=
"select"
:enumData=
"dict.errorStatus"
/>
<Field
label=
""
v-model=
"dealParams.processResult"
type=
"select"
:enumData=
"dict.errorStatus"
/>
-->
-->
<!-- 处理异常状态 -->
<!-- 处理异常状态 -->
<el-select
v-model=
"dealParams.processResult
"
>
<el-select
v-model=
"dealParams.errorStatus
"
>
<el-option
<el-option
v-for=
'($label, $value) in dict.errorStatus'
v-for=
"($label, $value) in dict.errorStatus"
:key=
"$value"
:key=
"$value"
:label=
"$label"
:label=
"$label"
:value=
"$value"
>
:value=
"$value"
>
</el-option>
</el-option>
</el-select>
</el-select>
<!-- 早退/迟到 -->
<!-- 早退/迟到 -->
<el-input
style=
"width:220px"
placeholder=
"请输入数字"
:maxlength=
"4"
v-model=
"duration"
<el-input
v-if=
"dealParams.processResult == '1'|| dealParams.processResult == '2'"
style=
"width:220px"
class=
"ml20"
type=
"number"
>
placeholder=
"请输入数字"
:maxlength=
"4"
v-model=
"duration"
v-if=
"
dealParams.errorStatus == '1' || dealParams.errorStatus == '2'
"
class=
"ml20"
type=
"number"
>
<template
slot=
"append"
>
分钟
</
template
>
<template
slot=
"append"
>
分钟
</
template
>
</el-input>
</el-input>
</div>
</div>
<div
class=
"mt10"
>
<div
class=
"mt10"
>
<span>
备注:
</span>
<span>
处理结果:
</span>
<el-input
placeholder=
"请输入备注"
type=
"textarea"
show-word-limit
class=
"mt10"
<el-input
:maxlength=
"50"
v-model=
"dealParams.remark"
></el-input>
placeholder=
"请输入处理结果"
type=
"textarea"
show-word-limit
class=
"mt10"
:maxlength=
"50"
v-model=
"dealParams.processResult"
></el-input>
</div>
</div>
</div>
</div>
<div
class=
"mt20"
>
<div
class=
"mt20"
>
...
@@ -51,16 +67,13 @@
...
@@ -51,16 +67,13 @@
<el-button
@
click=
"cancleFn"
>
取消
</el-button>
<el-button
@
click=
"cancleFn"
>
取消
</el-button>
</div>
</div>
</div>
</div>
</el-drawer>
</el-drawer>
</template>
</template>
<
script
>
<
script
>
export
default
{
export
default
{
name
:
"
AttendanceRecordDetail
"
,
name
:
"
AttendanceRecordDetail
"
,
created
()
{
created
()
{},
},
data
()
{
data
()
{
return
{
return
{
// 遮罩层
// 遮罩层
...
@@ -69,100 +82,105 @@
...
@@ -69,100 +82,105 @@
title
:
"
考勤打卡记录信息
"
,
title
:
"
考勤打卡记录信息
"
,
// 是否显示弹出层
// 是否显示弹出层
open
:
false
,
open
:
false
,
direction
:
"
rtl
"
,
direction
:
"
rtl
"
,
toString
:
[
"
processResult
"
],
toString
:
[
"
processResult
"
,
"
errorStatus
"
],
// 表单校验
// 表单校验
rules
:
{
rules
:
{
staffName
:
[
staffName
:
[
{
required
:
true
,
message
:
"
请输入员工姓名
"
,
trigger
:
"
blur
"
},
{
required
:
true
,
message
:
"
请输入员工姓名
"
,
trigger
:
"
blur
"
},
{
max
:
64
,
message
:
"
最多只能录入64个字符
"
,
trigger
:
"
blur
"
,},
{
max
:
64
,
message
:
"
最多只能录入64个字符
"
,
trigger
:
"
blur
"
},
],
createTime
:
[
{
required
:
true
,
message
:
"
请选择创建时间
"
},
],
],
createTime
:
[{
required
:
true
,
message
:
"
请选择创建时间
"
}],
},
},
dealParams
:
{
dealParams
:
{
remark
:
''
,
remark
:
""
,
errorStatus
:
null
,
errorStatus
:
null
,
durtion
:
0
,
durtion
:
0
,
processResult
:
''
,
processResult
:
""
,
recordErrorEntities
:[],
//处理员工
recordErrorEntities
:
[],
//处理员工
processStatus
:
1
//处理状态
processStatus
:
1
,
//处理状态
},
},
selection
:
[],
selection
:
[],
query
:
{},
query
:
{},
urls
:
{
urls
:
{
currUrl
:
''
,
currUrl
:
""
,
saveUrl
:
'
attendance/record/error/save
'
saveUrl
:
"
attendance/record/error/save
"
,
},
},
dict
:
{
dict
:
{
errorStatus
:
''
errorStatus
:
""
,
},
},
duration
:
''
duration
:
""
,
}
};
},
},
methods
:
{
methods
:
{
// 渲染前置处理
// 渲染前置处理
beforeRender
(
data
)
{
beforeRender
(
data
)
{
return
data
return
data
;
},
},
/** 编辑 */
/** 编辑 */
edit
(
row
,
selection
)
{
edit
(
row
,
selection
)
{
if
(
selection
.
length
<
1
)
{
if
(
selection
.
length
<
1
)
{
this
.
selection
=
[
row
]
this
.
selection
=
[
row
];
this
.
query
=
{
id
:
row
.
id
};
this
.
query
=
{
id
:
row
.
id
};
}
else
{
}
else
{
this
.
selection
=
selection
this
.
selection
=
selection
;
this
.
query
=
{
id
:
this
.
selection
[
0
].
id
}
this
.
query
=
{
id
:
this
.
selection
[
0
].
id
};
}
}
this
.
dealParams
.
recordErrorEntities
=
this
.
selection
this
.
dealParams
.
recordErrorEntities
=
this
.
selection
;
this
.
urls
.
currUrl
=
"
attendance/record/error/edit
"
;
this
.
urls
.
currUrl
=
"
attendance/record/error/edit
"
;
this
.
getInital
(
this
.
query
.
id
)
this
.
getInital
(
this
.
query
.
id
);
},
},
/**获取数据后弹框 */
/**获取数据后弹框 */
afterRender
(
data
)
{
afterRender
(
data
)
{
this
.
open
=
true
;
this
.
open
=
true
;
},
},
getInital
(
id
)
{
getInital
(
id
)
{
this
.
$post
(
this
.
urls
.
currUrl
+
'
?id=
'
+
id
).
then
(
res
=>
{
this
.
$post
(
this
.
urls
.
currUrl
+
"
?id=
"
+
id
).
then
((
res
)
=>
{
if
(
res
.
code
==
1
)
{
if
(
res
.
code
==
1
)
{
this
.
afterRender
()
this
.
afterRender
();
this
.
dict
=
res
.
data
.
dict
this
.
dict
=
res
.
data
.
dict
;
}
}
})
});
},
},
// 保存
// 保存
saveForm
()
{
saveForm
()
{
if
(
this
.
dealParams
.
processResult
==
''
)
{
if
(
this
.
dealParams
.
errorStatus
==
""
)
{
this
.
$message
.
error
(
'
请选择处理结果
'
)
this
.
$message
.
error
(
"
请选择处理结果
"
);
return
return
;
}
}
this
.
dealParams
.
errorStatus
=
this
.
dealParams
.
processResult
this
.
dealParams
.
errorStatus
=
this
.
dealParams
.
errorStatus
;
if
(
this
.
duration
&&
(
this
.
dealParams
.
processResult
==
'
1
'
||
this
.
dealParams
.
processResult
==
'
2
'
)){
if
(
this
.
dealParams
.
processResult
=
this
.
dict
.
errorStatus
[
this
.
dealParams
.
processResult
]
+
this
.
duration
+
'
分钟
'
this
.
duration
&&
this
.
dealParams
.
durtion
=
this
.
duration
(
this
.
dealParams
.
errorStatus
==
"
1
"
||
this
.
dealParams
.
errorStatus
==
"
2
"
)
)
{
this
.
dealParams
.
errorStatus
=
this
.
dict
.
errorStatus
[
this
.
dealParams
.
errorStatus
]
+
this
.
duration
+
"
分钟
"
;
this
.
dealParams
.
durtion
=
this
.
duration
;
}
}
// 保存结果处理
// 保存结果处理
this
.
$post
(
this
.
urls
.
saveUrl
,
this
.
dealParams
).
then
(
res
=>
{
this
.
$post
(
this
.
urls
.
saveUrl
,
this
.
dealParams
).
then
((
res
)
=>
{
if
(
res
.
code
==
1
)
{
if
(
res
.
code
==
1
)
{
this
.
cancleFn
()
this
.
cancleFn
();
}
}
})
});
},
},
cancleFn
()
{
cancleFn
()
{
this
.
open
=
false
this
.
open
=
false
;
this
.
dealParams
=
{
this
.
dealParams
=
{
remark
:
''
,
remark
:
""
,
errorStatus
:
null
,
errorStatus
:
null
,
durtion
:
0
,
durtion
:
0
,
processResult
:
''
,
processResult
:
""
,
recordErrorEntities
:[],
//处理员工
recordErrorEntities
:
[],
//处理员工
processStatus
:
1
//处理状态
processStatus
:
1
,
//处理状态
}
};
this
.
$emit
(
"
ok
"
)
this
.
$emit
(
"
ok
"
);
}
},
}
},
}
};
</
script
>
</
script
>
attendance-performance-manager-ui/admin/src/views/attendance/record/error/list.vue
View file @
87216c4f
...
@@ -7,12 +7,15 @@
...
@@ -7,12 +7,15 @@
size=
"mini"
size=
"mini"
type=
"primary"
type=
"primary"
@
click=
"morehandle"
@
click=
"morehandle"
>
批量处理
</el-button>
>
批量处理
</el-button
>
</LayoutTable>
</LayoutTable>
<drawer-show
ref=
"drawerShow"
@
ok=
"getData"
/>
<drawer-show
ref=
"drawerShow"
@
ok=
"getData"
/>
<!-- 撤销提示 -->
<!-- 撤销提示 -->
<el-dialog
:visible.sync=
"dialogVisible"
title=
"提示"
width=
"40%"
>
<el-dialog
:visible.sync=
"dialogVisible"
title=
"提示"
width=
"40%"
>
<div>
撤销异常处理结果后,当天的考勤结果将会重新计算,系统需要花费一点时间。
</div>
<div>
撤销异常处理结果后,当天的考勤结果将会重新计算,系统需要花费一点时间。
</div>
<div
class=
"flex flex_end"
>
<div
class=
"flex flex_end"
>
<el-button
@
click=
"dialogVisible = false"
>
取消
</el-button>
<el-button
@
click=
"dialogVisible = false"
>
取消
</el-button>
<el-button
type=
"primary"
@
click=
"resetError"
>
确定
</el-button>
<el-button
type=
"primary"
@
click=
"resetError"
>
确定
</el-button>
...
@@ -22,17 +25,16 @@
...
@@ -22,17 +25,16 @@
</
template
>
</
template
>
<
script
>
<
script
>
/** 表单弹出框模式需引入 */
/** 表单弹出框模式需引入 */
import
drawerShow
from
"
./drawershow
"
;
import
drawerShow
from
"
./drawershow
"
;
import
table
from
"
@/assets/mixins/table
"
;
import
table
from
"
@/assets/mixins/table
"
;
export
default
{
export
default
{
name
:
"
AttendanceRecordErrorList
"
,
name
:
"
AttendanceRecordErrorList
"
,
components
:
{
components
:
{
drawerShow
drawerShow
,
},
},
mixins
:
[
table
],
mixins
:
[
table
],
created
()
{
created
()
{},
},
methods
:
{
methods
:
{
/** 重写新增方法 */
/** 重写新增方法 */
// toAdd(row) {
// toAdd(row) {
...
@@ -47,58 +49,60 @@
...
@@ -47,58 +49,60 @@
// this.$refs.dialogform.view(row);
// this.$refs.dialogform.view(row);
// },
// },
morehandle
()
{
morehandle
()
{
let
arr
=
this
.
tableData
.
data
.
filter
(
item
=>
{
let
arr
=
this
.
tableData
.
data
.
filter
((
item
)
=>
{
if
(
this
.
selection
.
includes
(
item
.
id
)
&&
item
.
processStatus
==
0
)
{
if
(
this
.
selection
.
includes
(
item
.
id
)
&&
item
.
processStatus
==
0
)
{
return
item
return
item
;
}
}
})
});
this
.
$nextTick
(()
=>
{
this
.
$nextTick
(()
=>
{
this
.
selection
=
arr
.
map
(
item
=>
item
.
id
)
this
.
selection
=
arr
.
map
((
item
)
=>
item
.
id
);
})
});
if
(
arr
.
length
<
1
)
{
if
(
arr
.
length
<
1
)
{
this
.
$message
.
error
(
'
请至少选择一条处理
'
)
this
.
$message
.
error
(
"
请至少选择一条处理
"
);
return
return
;
}
}
this
.
$refs
.
drawerShow
.
edit
(
arr
[
0
],
arr
);
this
.
$refs
.
drawerShow
.
edit
(
arr
[
0
],
arr
);
},
},
// 处理
// 处理
handle
(
err
)
{
handle
(
err
)
{
console
.
log
(
err
)
console
.
log
(
err
);
this
.
$refs
.
drawerShow
.
edit
(
err
,
[]);
this
.
$refs
.
drawerShow
.
edit
(
err
,
[]);
},
},
// 撤销
// 撤销
reCancle
(
err
)
{
reCancle
(
err
)
{
console
.
log
(
err
)
console
.
log
(
err
);
this
.
currentParams
=
err
this
.
currentParams
=
err
;
this
.
dialogVisible
=
true
this
.
dialogVisible
=
true
;
},
},
resetError
()
{
resetError
()
{
this
.
$post
(
'
attendance/record/error/revokeError
'
,{...
this
.
currentParams
}).
then
(
res
=>
{
this
.
$post
(
"
attendance/record/error/revokeError
"
,
{
if
(
res
.
code
==
1
){
...
this
.
currentParams
,
this
.
dialogVisible
=
false
}).
then
((
res
)
=>
{
this
.
getData
()
if
(
res
.
code
==
1
)
{
}
this
.
dialogVisible
=
false
;
})
this
.
getData
();
}
}
});
},
},
},
data
()
{
data
()
{
return
{
return
{
config
:
{
config
:
{
isshowTabPane
:
true
,
isshowTabPane
:
true
,
search
:
[
search
:
[
{
{
name
:
"
deptId
"
,
name
:
"
deptId
"
,
type
:
"
select
"
,
type
:
"
select
"
,
label
:
"
全部部门
"
label
:
"
全部部门
"
,
},
},
{
{
name
:
"
groupId
"
,
name
:
"
groupId
"
,
type
:
"
select
"
,
type
:
"
select
"
,
label
:
"
全部考勤组
"
label
:
"
全部考勤组
"
,
},
},
/* {
/* {
name: "classId",
name: "classId",
type: "select",
type: "select",
label: "全部班次",
label: "全部班次",
...
@@ -107,83 +111,121 @@
...
@@ -107,83 +111,121 @@
{
{
name
:
"
errorStatus
"
,
name
:
"
errorStatus
"
,
type
:
"
select
"
,
type
:
"
select
"
,
label
:
"
全部异常状态
"
label
:
"
全部异常状态
"
,
},
},
{
{
name
:
"
processStatus
"
,
name
:
"
processStatus
"
,
type
:
"
select
"
,
type
:
"
select
"
,
label
:
"
全部处理状态
"
label
:
"
全部处理状态
"
,
},
},
{
{
name
:
'
errorDateTimeStart
'
,
name
:
"
errorDateTimeStart
"
,
type
:
"
date
"
,
type
:
"
date
"
,
label
:
"
异常开始时间
"
label
:
"
异常开始时间
"
,
},
},
{
{
name
:
'
attendanceDateEnd
'
,
name
:
"
attendanceDateEnd
"
,
type
:
"
date
"
,
type
:
"
date
"
,
label
:
"
errorDateTimeEnd
"
label
:
"
errorDateTimeEnd
"
,
},
},
{
{
name
:
"
staffName
"
,
name
:
"
staffName
"
,
type
:
"
text
"
,
type
:
"
text
"
,
label
:
"
员工姓名
"
,
label
:
"
员工姓名
"
,
fuzzy
:
true
fuzzy
:
true
,
},
},
{
{
name
:
"
phoneNumber
"
,
name
:
"
phoneNumber
"
,
type
:
"
text
"
,
type
:
"
text
"
,
label
:
"
手机号
"
,
label
:
"
手机号
"
,
fuzzy
:
true
fuzzy
:
true
,
},
},
],
],
columns
:
[
columns
:
[
{
type
:
"
selection
"
,
width
:
60
,
fixed
:
'
left
'
},
{
type
:
"
selection
"
,
width
:
60
,
fixed
:
"
left
"
},
{
type
:
"
index
"
,
label
:
"
序号
"
,
width
:
50
,
fixed
:
'
left
'
},
{
type
:
"
index
"
,
label
:
"
序号
"
,
width
:
50
,
fixed
:
"
left
"
},
{
label
:
"
员工姓名
"
,
prop
:
"
staffName
"
,
fixed
:
'
left
'
,
width
:
100
},
{
label
:
"
员工姓名
"
,
prop
:
"
staffName
"
,
fixed
:
"
left
"
,
width
:
100
},
{
label
:
"
工号
"
,
prop
:
"
workNum
"
},
{
label
:
"
工号
"
,
prop
:
"
workNum
"
},
{
label
:
"
部门
"
,
prop
:
"
deptName
"
},
{
label
:
"
部门
"
,
prop
:
"
deptName
"
},
{
label
:
"
考勤组
"
,
prop
:
"
attendanceGroupName
"
},
{
label
:
"
考勤组
"
,
prop
:
"
attendanceGroupName
"
},
/* {label: "班次", prop: "shiftsName"},*/
/* {label: "班次", prop: "shiftsName"},*/
{
label
:
"
异常状态
"
,
prop
:
"
errorStatus
"
,
formatter
:
this
.
formattereErrorStatus
},
{
{
label
:
"
异常时间
"
,
prop
:
"
errorDateTime
"
,
formatter
:
this
.
formatterDate
},
label
:
"
异常状态
"
,
{
label
:
"
处理结果
"
,
prop
:
"
processResult
"
,
formatter
:
this
.
formatters
},
prop
:
"
errorStatus
"
,
{
label
:
"
上下班时间
"
,
prop
:
"
goOffDateTime
"
,
formatter
:(
row
)
=>
{
formatter
:
this
.
formattereErrorStatus
,
return
row
.
goOrOff
+
"
"
+
row
.
goOffDateTime
},
}},
{
{
label
:
"
实际打卡时间
"
,
prop
:
"
actualAttendanceDateTime
"
,
formatter
:
this
.
formatterDate
},
label
:
"
异常时间
"
,
{
label
:
"
处理时间
"
,
prop
:
"
operDateTime
"
,
formatter
:
this
.
formatterDate
},
prop
:
"
errorDateTime
"
,
{
label
:
"
处理状态
"
,
prop
:
"
processStatus
"
,
formatter
:
this
.
formattereDealStatus
},
formatter
:
this
.
formatterDate
,
{
label
:
"
处理人
"
,
prop
:
"
opertor
"
,
formatter
:
this
.
formatters
},
},
{
label
:
"
备注
"
,
prop
:
"
remark
"
,
formatter
:
this
.
formatters
},
{
label
:
"
处理结果
"
,
prop
:
"
processResult
"
,
formatter
:
this
.
formatters
,
},
{
label
:
"
上下班时间
"
,
prop
:
"
goOffDateTime
"
,
formatter
:
(
row
)
=>
{
return
row
.
goOrOff
+
"
"
+
row
.
goOffDateTime
;
},
},
{
label
:
"
实际打卡时间
"
,
prop
:
"
actualAttendanceDateTime
"
,
formatter
:
this
.
formatterDate
,
},
{
label
:
"
处理时间
"
,
prop
:
"
operDateTime
"
,
formatter
:
this
.
formatterDate
,
},
{
label
:
"
处理状态
"
,
prop
:
"
processStatus
"
,
formatter
:
this
.
formattereDealStatus
,
},
{
label
:
"
处理人
"
,
prop
:
"
opertor
"
,
formatter
:
this
.
formatters
},
{
label
:
"
备注
"
,
prop
:
"
remark
"
,
formatter
:
this
.
formatters
},
{
{
label
:
"
操作
"
,
label
:
"
操作
"
,
width
:
240
,
width
:
240
,
formatter
:
(
row
)
=>
{
formatter
:
(
row
)
=>
{
if
(
row
.
processStatus
==
0
||
!
row
.
processStatus
){
if
(
row
.
processStatus
==
0
||
!
row
.
processStatus
)
{
return
(
return
(
<
el
-
button
type
=
"
text
"
size
=
'
mini
'
onClick
=
{()
=>
{
<
el
-
button
this
.
handle
(
row
)
type
=
"
text
"
}}
>
处理
<
/el-button
>
size
=
"
mini
"
)
onClick
=
{()
=>
{
}
else
{
this
.
handle
(
row
);
}}
>
处理
<
/el-button
>
);
}
else
{
return
(
return
(
<
span
>
<
span
>
<
el
-
button
<
el
-
button
type
=
"
text
"
size
=
'
mini
'
onClick
=
{()
=>
{
type
=
"
text
"
this
.
reCancle
(
row
)
size
=
"
mini
"
}}
>
撤销
<
/el-button
>
onClick
=
{()
=>
{
this
.
reCancle
(
row
);
}}
>
撤销
<
/el-button
>
<
/span
>
<
/span
>
)
);
}
}
}
}
]
},
},
dialogVisible
:
false
,
},
currentParams
:{}
],
}
},
}
dialogVisible
:
false
,
}
currentParams
:
{},
};
},
};
</
script
>
</
script
>
attendance-performance-manager-ui/admin/src/views/attendance/stat/list.vue
View file @
87216c4f
...
@@ -102,8 +102,11 @@ export default {
...
@@ -102,8 +102,11 @@ export default {
methods
:
{
methods
:
{
// 处理
// 处理
handleArr
(
arr
,
currentTime
)
{
handleArr
(
arr
,
currentTime
)
{
let
index
=
arr
.
findIndex
((
item
)
=>
item
.
createTime
===
currentTime
);
console
.
log
(
currentTime
);
console
.
log
(
arr
);
let
index
=
arr
.
findIndex
((
item
)
=>
item
.
createTime
==
currentTime
);
if
(
index
>
-
1
)
{
if
(
index
>
-
1
)
{
console
.
log
(
arr
[
index
].
attendanceSummary
);
return
arr
[
index
].
attendanceSummary
;
return
arr
[
index
].
attendanceSummary
;
}
else
{
}
else
{
return
"
-
"
;
return
"
-
"
;
...
@@ -263,16 +266,21 @@ export default {
...
@@ -263,16 +266,21 @@ export default {
{
label
:
"
出勤天数
"
,
prop
:
"
goTimes
"
,
formatter
:
this
.
formatter
},
{
label
:
"
出勤天数
"
,
prop
:
"
goTimes
"
,
formatter
:
this
.
formatter
},
{
{
label
:
"
上午
缺卡次数
"
,
label
:
"
缺卡次数
"
,
prop
:
"
morningTimes
"
,
prop
:
"
morningTimes
"
,
formatter
:
this
.
formatter
,
formatter
:
this
.
formatter
,
},
},
// {
// label: "上午缺卡次数",
// prop: "morningTimes",
// formatter: this.formatter,
// },
{
//
{
label
:
"
下午缺卡次数
"
,
//
label: "下午缺卡次数",
prop
:
"
afternoonTimes
"
,
//
prop: "afternoonTimes",
formatter
:
this
.
formatter
,
//
formatter: this.formatter,
},
//
},
{
label
:
"
回单位(天)
"
,
prop
:
"
backToUnit
"
},
{
label
:
"
回单位(天)
"
,
prop
:
"
backToUnit
"
},
{
label
:
"
因公请假(天)
"
,
prop
:
"
onDutyLeave
"
},
{
label
:
"
因公请假(天)
"
,
prop
:
"
onDutyLeave
"
},
...
...
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