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
bab6820f
Commit
bab6820f
authored
Apr 19, 2023
by
dll
Browse files
Options
Browse Files
Download
Plain Diff
'考勤汇总图表描绘'
parents
26115a9e
805611b3
Changes
15
Hide whitespace changes
Inline
Side-by-side
Showing
15 changed files
with
237 additions
and
166 deletions
+237
-166
attendance-performance-manager-ui/admin/src/assets/mixins/table.js
...e-performance-manager-ui/admin/src/assets/mixins/table.js
+2
-0
attendance-performance-manager-ui/admin/src/assets/utils/ajax.js
...nce-performance-manager-ui/admin/src/assets/utils/ajax.js
+8
-5
attendance-performance-manager-ui/admin/src/assets/utils/dateFormat.js
...rformance-manager-ui/admin/src/assets/utils/dateFormat.js
+75
-10
attendance-performance-manager-ui/admin/src/components/SearchForm.vue
...erformance-manager-ui/admin/src/components/SearchForm.vue
+11
-0
attendance-performance-manager-ui/admin/src/views/attendance/record/error/drawershow.vue
...ui/admin/src/views/attendance/record/error/drawershow.vue
+43
-102
attendance-performance-manager-ui/admin/src/views/attendance/record/error/list.vue
...nager-ui/admin/src/views/attendance/record/error/list.vue
+30
-16
attendance-performance-manager-ui/admin/src/views/attendance/record/hik/list.vue
...manager-ui/admin/src/views/attendance/record/hik/list.vue
+1
-1
attendance-performance-manager-ui/admin/src/views/attendance/record/list.vue
...nce-manager-ui/admin/src/views/attendance/record/list.vue
+1
-1
attendance-performance-manager-ui/admin/src/views/attendance/stat/list.vue
...mance-manager-ui/admin/src/views/attendance/stat/list.vue
+51
-22
attendance-performance-manager-ui/admin/src/views/attendance/vacation/balance/drawershow.vue
...dmin/src/views/attendance/vacation/balance/drawershow.vue
+1
-1
attendance-performance-manager-ui/admin/src/views/job/list.vue
...dance-performance-manager-ui/admin/src/views/job/list.vue
+5
-1
attendance-performance-manager-ui/admin/src/views/staff/list.vue
...nce-performance-manager-ui/admin/src/views/staff/list.vue
+1
-1
attendance-performance-manager-ui/admin/src/views/staff/view.vue
...nce-performance-manager-ui/admin/src/views/staff/view.vue
+2
-2
attendance-performance-manager-ui/admin/src/views/system/user/dialogshow.vue
...nce-manager-ui/admin/src/views/system/user/dialogshow.vue
+2
-0
attendance-performance-manager-ui/admin/src/views/workman/dialogshow.vue
...ormance-manager-ui/admin/src/views/workman/dialogshow.vue
+4
-4
No files found.
attendance-performance-manager-ui/admin/src/assets/mixins/table.js
View file @
bab6820f
...
...
@@ -284,6 +284,7 @@ export default {
return
val
}
},
// geshu
// 格式化是否在政务中心
formatterSource
(
row
,
column
,
val
){
const
content
=
formatter
(
this
.
tableData
,
column
,
val
);
...
...
@@ -302,6 +303,7 @@ export default {
formattereErrorStatus
(
row
,
column
,
val
){
const
content
=
formatter
(
this
.
tableData
,
column
,
val
)
if
(
content
)
{
return
<
el
-
tag
size
=
"
mini
"
type
=
"
danger
"
>
{
this
.
util_formatter
(
'
errorStatus
'
,
val
)}
<
/el-tag
>
}
else
{
return
val
...
...
attendance-performance-manager-ui/admin/src/assets/utils/ajax.js
View file @
bab6820f
...
...
@@ -28,7 +28,7 @@ instance.interceptors.request.use(config => {
// const hostname = location.hostname;
const
baseURL
=
config
.
baseURL
;
//const port = location.port;
// const port =process.env.VUE_APP_PORTAL_PORT=='undefined'?'1107
2
':process.env.VUE_APP_PORTAL_PORT;
// const port =process.env.VUE_APP_PORTAL_PORT=='undefined'?'1107
8
':process.env.VUE_APP_PORTAL_PORT;
// 测试用
//http://192.168.0.98:11039
...
...
@@ -38,11 +38,14 @@ instance.interceptors.request.use(config => {
// 代
// http://192.168.0.108/17500
//
const hostname = '192.168.0.108
'
//
const port = '17500'
//
const hostname = '192.168.0.116
'
//const port = '17500'
const
hostname
=
'
192.168.0.108
'
const
port
=
'
11039
'
const
hostname
=
'
192.168.0.116
'
const
port
=
'
17500
'
// const hostname = '192.168.0.98'
// const port = '11039'
// 动态修改请求地址
if
(
config
.
url
.
startsWith
(
'
/
'
))
{
...
...
attendance-performance-manager-ui/admin/src/assets/utils/dateFormat.js
View file @
bab6820f
export
const
timestampToTime
=
(
timestamp
)
=>
{
export
const
timestampToTime
=
(
timestamp
,
transLength
)
=>
{
// 时间戳为10位需*1000,时间戳为13位不需乘1000
var
date
=
null
let
date
=
null
if
(
timestamp
.
length
<
13
){
date
=
new
Date
(
timestamp
*
1000
);
}
else
{
date
=
new
Date
(
timestamp
);
}
var
Y
=
date
.
getFullYear
()
+
"
-
"
;
var
M
=
let
Y
=
date
.
getFullYear
()
+
"
-
"
;
let
M
=
(
date
.
getMonth
()
+
1
<
10
?
"
0
"
+
(
date
.
getMonth
()
+
1
)
:
date
.
getMonth
()
+
1
)
+
"
-
"
;
var
D
=
(
date
.
getDate
()
<
10
?
"
0
"
+
date
.
getDate
()
:
date
.
getDate
())
+
"
"
;
var
h
=
date
.
getHours
()
+
"
:
"
;
var
m
=
date
.
getMinutes
()
+
"
:
"
;
var
s
=
date
.
getSeconds
();
return
Y
+
M
+
D
;
let
D
=
(
date
.
getDate
()
<
10
?
"
0
"
+
date
.
getDate
()
:
date
.
getDate
());
let
h
=
"
"
+
date
.
getHours
()
+
"
:
"
;
let
m
=
date
.
getMinutes
()
+
"
:
"
;
let
s
=
date
.
getSeconds
();
switch
(
transLength
){
case
3
:
return
Y
+
M
+
D
;
case
6
:
return
Y
+
M
+
D
+
h
+
m
+
s
;
}
}
// 小时:分钟 ==》 转分钟
...
...
@@ -40,4 +47,62 @@ export const transFormTime = (num) => {
return
"
0:00
"
;
}
}
// 时间戳 转 yyyy-MM-dd
\ No newline at end of file
//当前月第一天
export
const
getFirstDay
=
()
=>
{
let
y
=
new
Date
().
getFullYear
();
//获取年份
let
m
=
new
Date
().
getMonth
()
+
1
;
//获取月份
let
d
=
'
01
'
;
m
=
m
<
10
?
'
0
'
+
m
:
m
;
//月份补 0
return
[
y
,
m
,
d
].
join
(
"
-
"
)
}
//当前月最后一天
export
const
getLastDay
=
()
=>
{
let
y
=
new
Date
().
getFullYear
();
//获取年份
let
m
=
new
Date
().
getMonth
()
+
1
;
//获取月份
let
d
=
new
Date
(
y
,
m
,
0
).
getDate
();
//获取当月最后一日
m
=
m
<
10
?
'
0
'
+
m
:
m
;
//月份补 0
d
=
d
<
10
?
'
0
'
+
d
:
d
;
//日数补 0
return
[
y
,
m
,
d
].
join
(
"
-
"
)
}
//获取两日期之间日期列表函数
export
const
getdiffdate
=
(
stime
,
etime
)
=>
{
//初始化日期列表,数组
let
diffdate
=
new
Array
();
let
i
=
0
;
//开始日期小于等于结束日期,并循环
while
(
stime
<=
etime
){
diffdate
[
i
]
=
stime
;
//获取开始日期时间戳
let
stime_ts
=
new
Date
(
stime
).
getTime
();
//增加一天时间戳后的日期
let
next_date
=
stime_ts
+
(
24
*
60
*
60
*
1000
);
//拼接年月日,这里的月份会返回(0-11),所以要+1
let
next_dates_y
=
new
Date
(
next_date
).
getFullYear
()
+
'
-
'
;
let
next_dates_m
=
(
new
Date
(
next_date
).
getMonth
()
+
1
<
10
)?
'
0
'
+
(
new
Date
(
next_date
).
getMonth
()
+
1
)
+
'
-
'
:(
new
Date
(
next_date
).
getMonth
()
+
1
)
+
'
-
'
;
let
next_dates_d
=
(
new
Date
(
next_date
).
getDate
()
<
10
)?
'
0
'
+
new
Date
(
next_date
).
getDate
():
new
Date
(
next_date
).
getDate
();
stime
=
next_dates_y
+
next_dates_m
+
next_dates_d
;
//增加数组key
i
++
;
}
return
diffdate
;
}
export
const
getMyDay
=
(
date
)
=>
{
let
week
;
if
(
date
.
getDay
()
==
0
)
week
=
"
周日
"
if
(
date
.
getDay
()
==
1
)
week
=
"
周一
"
if
(
date
.
getDay
()
==
2
)
week
=
"
周二
"
if
(
date
.
getDay
()
==
3
)
week
=
"
周三
"
if
(
date
.
getDay
()
==
4
)
week
=
"
周四
"
if
(
date
.
getDay
()
==
5
)
week
=
"
周五
"
if
(
date
.
getDay
()
==
6
)
week
=
"
周六
"
return
week
;
}
\ No newline at end of file
attendance-performance-manager-ui/admin/src/components/SearchForm.vue
View file @
bab6820f
...
...
@@ -284,6 +284,17 @@ export default {
return
false
}
}
if
(
this
.
form
.
startTime
&&
this
.
form
.
endTime
){
let
startValue
=
Date
.
parse
(
this
.
form
.
startTime
)
let
endValue
=
Date
.
parse
(
this
.
form
.
endTime
)
if
(
startValue
>
endValue
){
this
.
$message
.
error
(
'
查询-结束的日期需大于开始日期
'
)
this
.
form
.
endTime
=
''
return
false
}
}
let
params
=
JSON
.
parse
(
JSON
.
stringify
(
this
.
form
))
//不更改原始数据
// console.log(this.form,'form参数')
let
data
=
this
.
decode
(
params
);
...
...
attendance-performance-manager-ui/admin/src/views/attendance/record/error/drawershow.vue
View file @
bab6820f
...
...
@@ -5,31 +5,38 @@
:visible.sync=
"open"
:direction=
"direction"
size=
"50%"
>
<div>
已选择6个:
</div>
<div
class=
"staffList"
>
<div
v-for=
"item in 5"
:key=
"item"
class=
"mt10"
>
将
<span>
刘德华
</span>
<span>
的下班时间18:00打卡异常状态
</span>
<span
class=
"ml10"
>
缺卡
</span>
<span
class=
"ml10"
>
修改为
</span>
</div>
<div>
<!-- 处理异常状态 -->
<el-select>
<el-option></el-option>
</el-select>
<!-- 早退/迟到 -->
<el-input
style=
"width:220px"
placeholder=
"请输入数字"
>
<template
slot=
"append"
>
分钟
</
template
>
</el-input>
</div>
<div
style=
"padding:20px;font-size:15px"
>
<div>
<span>
备注:
</span>
<el-input
placeholder=
"请输入备注"
v-model=
"dealParams.remark"
></el-input>
已选择
{{
selection
.
length
}}
个:
</div>
<div
class=
"staffList mt20"
>
<div
v-for=
"item in selection"
:key=
"item"
class=
"mt10"
>
将
<span>
{{
item
.
staffName
}}
</span>
<span>
的
{{
item
.
goOrOff
}}
时间
{{
item
.
goOffDateTime
}}
打卡异常状态
</span>
<span
class=
"ml10"
style=
"color:#f56c6c"
>
<!--
{{
dict
[
'
errorStatus
'
][
item
.
errorStatus
]
}}
-->
</span>
<span
class=
"ml10"
>
修改为
</span>
</div>
<div
class=
"mt10"
>
<!-- 处理异常状态 -->
<el-select>
<el-option></el-option>
</el-select>
<!-- 早退/迟到 -->
<el-input
style=
"width:220px"
placeholder=
"请输入数字"
:maxlength=
"4"
class=
"ml20"
type=
"number"
>
<template
slot=
"append"
>
分钟
</
template
>
</el-input>
</div>
<div
class=
"mt10"
>
<span>
备注:
</span>
<el-input
placeholder=
"请输入备注"
type=
"textarea"
show-word-limit
class=
"mt10"
:maxlength=
"50"
v-model=
"dealParams.remark"
></el-input>
</div>
</div>
</div>
</el-drawer>
</template>
...
...
@@ -46,10 +53,6 @@
},
data
()
{
return
{
// 子表选中数据
checkedAttendanceRecordDetail
:
[],
// 考勤打卡记录详细信息表格数据
attendanceRecordDetailList
:
[],
// 遮罩层
loading
:
true
,
// 弹出层标题
...
...
@@ -57,11 +60,6 @@
// 是否显示弹出层
open
:
false
,
direction
:
"
rtl
"
,
toString
:[
],
toDate
:[
"
attendanceDate
"
,
],
// 表单校验
rules
:
{
staffName
:
[
...
...
@@ -75,58 +73,25 @@
dealParams
:{
remark
:
''
,
errorStatus
:
''
}
},
selection
:[]
}
},
methods
:
{
/** 考勤打卡记录详细信息序号 */
rowAttendanceRecordDetailIndex
({
row
,
rowIndex
})
{
row
.
index
=
rowIndex
+
1
;
},
/** 考勤打卡记录详细信息添加按钮操作 */
handleAddAttendanceRecordDetail
()
{
let
obj
=
{};
obj
.
shiftsId
=
""
;
obj
.
shiftsName
=
""
;
obj
.
goWorkDate
=
""
;
obj
.
goWorkResult
=
""
;
obj
.
offWorkDate
=
""
;
obj
.
offWorkResult
=
""
;
obj
.
remark
=
""
;
obj
.
createUserId
=
""
;
obj
.
createTime
=
""
;
obj
.
updateUserId
=
""
;
obj
.
updateTime
=
""
;
this
.
attendanceRecordDetailList
.
push
(
obj
);
},
/** 考勤打卡记录详细信息删除按钮操作 */
handleDeleteAttendanceRecordDetail
()
{
if
(
this
.
checkedAttendanceRecordDetail
.
length
==
0
)
{
this
.
$alert
(
"
请先选择要删除的考勤打卡记录详细信息数据
"
,
"
提示
"
,
{
confirmButtonText
:
"
确定
"
,
});
}
else
{
this
.
attendanceRecordDetailList
.
splice
(
this
.
checkedAttendanceRecordDetail
[
0
].
index
-
1
,
1
);
}
},
/** 单选框选中数据 */
handleAttendanceRecordDetailSelectionChange
(
selection
)
{
if
(
selection
.
length
>
1
)
{
this
.
$refs
.
attendanceRecordDetail
.
clearSelection
();
this
.
$refs
.
attendanceRecordDetail
.
toggleRowSelection
(
selection
.
pop
());
}
else
{
this
.
checkedAttendanceRecordDetail
=
selection
;
}
},
// 渲染前置处理
beforeRender
(
data
)
{
if
(
data
.
entity
.
attendanceRecordDetailList
)
{
this
.
attendanceRecordDetailList
=
data
.
entity
.
attendanceRecordDetailList
;
}
return
data
},
/** 编辑 */
edit
(
row
)
{
this
.
reset
()
edit
(
row
,
selection
)
{
console
.
log
(
row
,
selection
)
if
(
this
.
selection
.
length
<
1
){
this
.
selection
=
[
row
]
}
else
{
this
.
selection
=
selection
}
this
.
open
=
true
this
.
query
=
{
id
:
row
.
id
};
this
.
urls
.
currUrl
=
"
attendance/record/error/edit
"
;
this
.
getData
();
...
...
@@ -139,38 +104,14 @@
},
/**获取数据后弹框 */
afterRender
(
data
)
{
console
.
log
(
data
)
this
.
open
=
true
;
},
afterSubmit
(
data
)
{
this
.
open
=
false
;
this
.
$emit
(
"
ok
"
);
},
// 表单重置
reset
()
{
this
.
form
=
{
staffId
:
null
,
staffName
:
""
,
workNum
:
""
,
deptId
:
null
,
deptName
:
""
,
positionId
:
null
,
positionName
:
""
,
attendanceGroupId
:
null
,
attendanceGroupName
:
""
,
shiftsId
:
null
,
shiftsName
:
""
,
attendanceDate
:
null
,
remark
:
""
,
};
this
.
resetForm
(
"
form
"
);
},
resetForm
(
refName
)
{
if
(
this
.
$refs
[
refName
])
{
this
.
$refs
[
refName
].
resetFields
();
}
},
},
};
}
}
}
</
script
>
attendance-performance-manager-ui/admin/src/views/attendance/record/error/list.vue
View file @
bab6820f
...
...
@@ -47,17 +47,22 @@
// this.$refs.dialogform.view(row);
// },
morehandle
(
row
){
morehandle
(){
if
(
this
.
selection
.
length
<
1
){
this
.
$message
.
error
(
'
请至少选择一条处理
'
)
return
}
this
.
$refs
.
drawerShow
.
edit
(
row
);
let
arr
=
this
.
tableData
.
data
.
filter
(
item
=>
{
if
(
this
.
selection
.
includes
(
item
.
id
)){
return
item
}
})
this
.
$refs
.
drawerShow
.
edit
(
''
,
arr
);
},
// 处理
handle
(
err
){
console
.
log
(
err
)
this
.
$refs
.
drawerShow
.
edit
(
err
);
this
.
$refs
.
drawerShow
.
edit
(
err
,[]
);
},
// 撤销
reCancle
(
err
){
...
...
@@ -143,27 +148,36 @@
{
label
:
"
班次
"
,
prop
:
"
shiftsName
"
},
{
label
:
"
异常状态
"
,
prop
:
"
errorStatus
"
,
formatter
:
this
.
formattereErrorStatus
},
{
label
:
"
异常时间
"
,
prop
:
"
errorDateTime
"
,
formatter
:
this
.
formatterDate
},
{
label
:
"
处理结果
"
,
prop
:
"
processResult
"
,
formatter
:
this
.
formatterDate
},
{
label
:
"
上下班时间
"
,
prop
:
"
goOffDateTime
"
,
formatter
:
this
.
formatterDate
},
{
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
.
formatter
Date
},
{
label
:
"
处理时间
"
,
prop
:
"
operDateTime
"
,
formatter
:
this
.
formatter
s
},
{
label
:
"
处理状态
"
,
prop
:
"
processStatus
"
,
formatter
:
this
.
formattereDealStatus
},
{
label
:
"
处理人
"
,
prop
:
"
opertor
"
},
{
label
:
"
备注
"
,
prop
:
"
remark
"
},
{
label
:
"
处理人
"
,
prop
:
"
opertor
"
,
formatter
:
this
.
formatters
},
{
label
:
"
备注
"
,
prop
:
"
remark
"
,
formatter
:
this
.
formatters
},
{
label
:
"
操作
"
,
width
:
240
,
formatter
:
(
row
)
=>
{
return
(
<
span
>
if
(
row
.
processStatus
==
0
||
!
row
.
processStatus
){
return
(
<
el
-
button
type
=
"
text
"
size
=
'
mini
'
onClick
=
{()
=>
{
this
.
handle
(
row
)
}}
v
-
if
=
{
row
.
processStatus
==
0
}
>
处理
<
/el-button
>
<
el
-
button
type
=
"
text
"
size
=
'
mini
'
onClick
=
{()
=>
{
this
.
reCancle
(
row
)
}}
v
-
else
>
撤销
<
/el-button
>
<
/span
>
)
}}
>
处理
<
/el-button
>
)
}
else
{
return
(
<
span
>
<
el
-
button
type
=
"
text
"
size
=
'
mini
'
onClick
=
{()
=>
{
this
.
reCancle
(
row
)
}}
>
撤销
<
/el-button
>
<
/span
>
)
}
}
}
]
...
...
attendance-performance-manager-ui/admin/src/views/attendance/record/hik/list.vue
View file @
bab6820f
...
...
@@ -152,7 +152,7 @@
if
(
res
.
code
==
1
){
let
arr
=
res
.
data
.
data
this
.
exportList
=
arr
.
map
(
item
=>
{
item
.
createTime
=
timestampToTime
(
item
.
createTime
)
item
.
createTime
=
timestampToTime
(
item
.
createTime
,
6
)
item
.
islook
=
false
return
item
})
...
...
attendance-performance-manager-ui/admin/src/views/attendance/record/list.vue
View file @
bab6820f
...
...
@@ -179,7 +179,7 @@
if
(
res
.
code
==
1
){
let
arr
=
res
.
data
.
data
this
.
exportList
=
arr
.
map
(
item
=>
{
item
.
createTime
=
timestampToTime
(
item
.
createTime
)
item
.
createTime
=
timestampToTime
(
item
.
createTime
,
6
)
item
.
islook
=
false
return
item
})
...
...
attendance-performance-manager-ui/admin/src/views/attendance/stat/list.vue
View file @
bab6820f
...
...
@@ -63,15 +63,58 @@
/** 表单弹出框模式需引入 */
import
dialogShow
from
"
./dialogshow
"
;
import
table
from
"
@/assets/mixins/table
"
;
import
{
getFirstDay
,
getLastDay
,
getdiffdate
,
timestampToTime
,
getMyDay
}
from
'
@/assets/utils/dateFormat.js
'
export
default
{
name
:
"
AttendanceStatList
"
,
components
:
{
dialogShow
},
},
mixins
:
[
table
],
created
()
{
this
.
query
.
startTime
=
getFirstDay
()
this
.
query
.
endTime
=
getLastDay
()
this
.
initalArr
=
this
.
config
.
columns
},
methods
:
{
// 处理
handleArr
(
arr
,
currentTime
){
let
timeArr
=
arr
.
map
(
item1
=>
item1
.
createTime
)
let
index
=
timeArr
.
findIndex
(
item
=>
item
===
currentTime
)
if
(
index
>
-
1
){
return
arr
[
index
].
attendanceSummary
}
else
{
return
'
-
'
}
},
afterRender
(
data
)
{
this
.
addColumn
=
getdiffdate
(
this
.
query
.
startTime
,
this
.
query
.
endTime
)
// 动态处理
let
addobjArr
=
[]
this
.
addColumn
.
map
((
item
,
index
)
=>
{
let
obj
=
{
label
:
item
+
'
(
'
+
getMyDay
(
new
Date
(
item
))
+
'
)
'
,
prop
:
'
attendanceStaffStatEntities
'
,
formatter
:
(
row
)
=>
{
if
(
row
.
attendanceStaffStatEntities
.
length
>
0
){
return
this
.
handleArr
(
row
.
attendanceStaffStatEntities
,
item
)
}
else
{
return
'
-
'
}
}
}
addobjArr
.
push
(
obj
)
})
this
.
config
.
columns
=
[...
this
.
initalArr
,...
addobjArr
]
this
.
$forceUpdate
()
},
beforeRender
(
row
)
{
row
.
data
.
forEach
(
element
=>
{
element
.
attendanceStaffStatEntities
.
forEach
(
item1
=>
{
item1
.
createTime
=
timestampToTime
(
item1
.
createTime
,
3
)
})
})
return
row
},
/** 重写新增方法 */
toAdd
(
row
)
{
this
.
$refs
.
dialogform
.
add
(
row
);
...
...
@@ -135,13 +178,13 @@
fuzzy
:
false
},
{
name
:
'
attendanceDateStart
'
,
name
:
'
startTime
'
,
type
:
"
date
"
,
label
:
"
考勤开始时间
"
,
fuzzy
:
false
},
{
name
:
'
attendanceDateEnd
'
,
name
:
'
endTime
'
,
type
:
"
date
"
,
label
:
"
考勤结束时间
"
,
fuzzy
:
false
...
...
@@ -166,7 +209,6 @@
{
label
:
"
窗口类别
"
,
prop
:
"
windowCategory
"
,
fixed
:
'
left
'
,
width
:
100
},
{
label
:
"
员工姓名
"
,
prop
:
"
staffName
"
,
fixed
:
'
left
'
,
width
:
100
},
{
label
:
"
部门
"
,
prop
:
"
deptName
"
},
{
label
:
"
回单位(天)
"
,
prop
:
"
backToUnit
"
},
...
...
@@ -220,19 +262,7 @@
{
label
:
"
无故缺席会议(次)
"
,
prop
:
"
unexcusedMeetingAbsence
"
},
{
label
:
"
会议早退
"
,
prop
:
"
earlyLeaveMeeting
"
},
// {label: "创建用户", prop: "createUserId", formatter: this.formatter},
// {
// label: "操作",
// width: 240,
// formatter: row => {
// return (
//
<
table
-
buttons
noAdd
noEdit
noView
noDel
row
=
{
row
}
onEdit
=
{
this
.
toEdit
}
// onView={this.toView} onDel={this.toDel} />
// );
// }
// }
{
label
:
"
会议早退
"
,
prop
:
"
earlyLeaveMeeting
"
}
]
},
setcolum
:[],
...
...
@@ -240,12 +270,11 @@
checkList
:[],
drawerhistory
:
false
,
// 动态新增列表
addColumn
:[
]
};
addColumn
:[],
initalArr
:[]
}
}
}
;
}
</
script
>
<
style
scoped
lang=
"less"
>
.hisList{
...
...
attendance-performance-manager-ui/admin/src/views/attendance/vacation/balance/drawershow.vue
View file @
bab6820f
...
...
@@ -147,7 +147,7 @@ export default {
this
.
open
=
true
let
arr
=
res
.
data
.
data
this
.
recordList
=
arr
.
map
(
item
=>
{
item
.
createTime
=
timestampToTime
(
item
.
createTime
)
item
.
createTime
=
timestampToTime
(
item
.
createTime
,
6
)
return
item
})
...
...
attendance-performance-manager-ui/admin/src/views/job/list.vue
View file @
bab6820f
...
...
@@ -108,6 +108,7 @@
import
table
from
"
@/assets/mixins/table
"
;
import
TabPane
from
"
@/components/tabPane.vue
"
import
drawerStaff
from
'
./drawershowStaff.vue
'
import
{
timestampToTime
}
from
'
@/assets/utils/dateFormat.js
'
export
default
{
name
:
"
JobList
"
,
components
:
{
...
...
@@ -142,6 +143,9 @@
this
.
$post
(
'
/job/info?id=
'
+
this
.
currentId
).
then
(
res
=>
{
if
(
res
.
code
==
1
){
this
.
staffList
=
res
.
data
.
staffEntities
this
.
staffList
.
forEach
(
item
=>
{
item
.
createTime
=
timestampToTime
(
item
.
createTime
,
6
)
})
}
})
},
...
...
@@ -178,7 +182,7 @@
if
(
this
.
multipleSelection
.
length
>
0
){
params
[
'
idList
'
]
=
this
.
multipleSelection
}
this
.
$download
(
"
/
job
/exportExcel
"
,
{
this
.
$download
(
"
/
staff
/exportExcel
"
,
{
...
params
},
{
type
:
"
excel
"
}).
then
(()
=>
this
.
isExport
=
false
).
catch
(
error
=>
{
this
.
isExport
=
false
;
...
...
attendance-performance-manager-ui/admin/src/views/staff/list.vue
View file @
bab6820f
...
...
@@ -252,7 +252,7 @@
this
.
$refs
.
upload
.
submit
();
},
afterRender
(
data
){
this
.
tableData
.
staff
.
refreshDate
=
timestampToTime
(
this
.
tableData
.
staff
.
refreshDate
)
this
.
tableData
.
staff
.
refreshDate
=
timestampToTime
(
this
.
tableData
.
staff
.
refreshDate
,
6
)
}
},
data
()
{
...
...
attendance-performance-manager-ui/admin/src/views/staff/view.vue
View file @
bab6820f
...
...
@@ -115,8 +115,8 @@
this
.
info
=
res
.
data
.
holidayLists
[
0
]
this
.
dict
=
res
.
dict
this
.
allinfo
=
res
.
data
//总
this
.
info
.
workBeginDay
=
this
.
info
.
workBeginDay
?
timestampToTime
(
Number
(
this
.
info
.
workBeginDay
)):
'
-
'
this
.
info
.
workFormalDay
=
this
.
info
.
workFormalDay
?
timestampToTime
(
Number
(
this
.
info
.
workFormalDay
)):
'
-
'
this
.
info
.
workBeginDay
=
this
.
info
.
workBeginDay
?
timestampToTime
(
Number
(
this
.
info
.
workBeginDay
)
,
3
):
'
-
'
this
.
info
.
workFormalDay
=
this
.
info
.
workFormalDay
?
timestampToTime
(
Number
(
this
.
info
.
workFormalDay
)
,
3
):
'
-
'
}
})
.
catch
(
err
=>
{
...
...
attendance-performance-manager-ui/admin/src/views/system/user/dialogshow.vue
View file @
bab6820f
...
...
@@ -37,12 +37,14 @@
label=
"用户名称"
prop=
"realName"
v-model=
"form.realName"
:maxLength=
"15"
/>
<Field
:span=
"20"
label=
"手机号码"
prop=
"mobile"
v-model=
"form.mobile"
:maxLength=
"11"
/>
<!--
<Field
label=
"用户类型"
prop=
"userType"
v-model=
"form.userType"
:enumData=
'dict.userType'
type=
'select'
/>
<Field
label=
"用户状态"
prop=
"status"
v-model=
"form.status"
:enumData=
'dict.status'
type=
'select'
/>
-->
...
...
attendance-performance-manager-ui/admin/src/views/workman/dialogshow.vue
View file @
bab6820f
<
template
>
<!-- 弹出框表单 -->
<el-dialog
:title=
"title"
:visible.sync=
"open"
width=
"
9
0%"
append-to-body
>
<el-dialog
:title=
"title"
:visible.sync=
"open"
width=
"
6
0%"
append-to-body
>
<el-form
ref=
"form"
:model=
"form"
:rules=
"rules"
label-width=
"120px"
>
<el-row>
<Field
label=
"姓名"
prop=
"name"
v-model=
"form.name"
placeholder=
"请输入姓名"
/>
<Field
label=
"电话号码"
prop=
"phone"
v-model=
"form.phone"
placeholder=
"请输入电话号码"
/>
<Field
label=
"工号"
prop=
"number"
v-model=
"form.number"
placeholder=
"请输入工号"
/>
<Field
label=
"姓名"
prop=
"name"
v-model=
"form.name"
placeholder=
"请输入姓名"
:maxLength=
"20"
/>
<Field
label=
"电话号码"
prop=
"phone"
v-model=
"form.phone"
placeholder=
"请输入电话号码"
:maxLength=
"11"
/>
<Field
label=
"工号"
prop=
"number"
v-model=
"form.number"
placeholder=
"请输入工号"
:maxLength=
"15"
/>
</el-row>
<el-form-item
label=
"所属部门"
prop=
"deptId"
>
...
...
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