Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
O
office-web
Overview
Overview
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
office
office-web
Commits
3333b36d
Commit
3333b36d
authored
Dec 25, 2019
by
无尘
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
fix: 修改考勤组数据
parent
b25ee329
Show whitespace changes
Inline
Side-by-side
Showing
8 changed files
with
33 additions
and
16 deletions
+33
-16
index.html
dist/index.html
+2
-2
app.c513f3a40754208e79fc93f016c11434.css
dist/static/css/app.c513f3a40754208e79fc93f016c11434.css
+0
-0
15.daa794ea3c28060892ac.js
dist/static/js/15.daa794ea3c28060892ac.js
+2
-2
40.8a28abdbeb524733a7f6.js
dist/static/js/40.8a28abdbeb524733a7f6.js
+0
-2
40.bf494f662eed5b762aa1.js
dist/static/js/40.bf494f662eed5b762aa1.js
+2
-0
manifest.04c348d1696aba4dd617.js
dist/static/js/manifest.04c348d1696aba4dd617.js
+2
-2
dayStatistics.vue
src/views/enterpriseApp/dailyAttendance/dayStatistics.vue
+21
-4
workGroupSet.vue
src/views/enterpriseApp/dailyAttendance/workGroupSet.vue
+4
-4
No files found.
dist/index.html
View file @
3333b36d
<!DOCTYPE html>
<html><head><meta
charset=
utf-8
><link
rel=
"shortcut icon"
href=
./favicon.ico
><title>
好办管理平台
</title><link
href=
./static/css/app.9088f42954470571a5e44c24db10eaf1.css
rel=
stylesheet
></head><body
style=
"min-width: 1400px;"
><div
id=
app
></div><script
src=
//web-1251519181.file.myqcloud.com/lib/vue/2.6.6/vue.min.js
></script><script
src=
//web-1251519181.file.myqcloud.com/lib/vue-router/3.0.2/vue-router.min.js
></script><script
src=
//web-1251519181.file.myqcloud.com/lib/vuex/3.1.0/vuex.min.js
></script><script
src=
//web-1251519181.file.myqcloud.com/components/img-preview.2.0.00.js
></script><script>
// Raven.config('https://3715a345910d4c768e7a1ec14619c2d5@sentry.io/1413672').install();
</script><script
type=
text/javascript
src=
./static/js/manifest.d9de46d80215eb0fe43f.js
></script><script
type=
text/javascript
src=
./static/js/vendor.0000e68e65e4a9dc3840.js
></script><script
type=
text/javascript
src=
./static/js/app.b5a985ff0721f85206d2.js
></script></body></html>
\ No newline at end of file
<!DOCTYPE html>
<html><head><meta
charset=
utf-8
><link
rel=
"shortcut icon"
href=
./favicon.ico
><title>
好办管理平台
</title><link
href=
./static/css/app.c513f3a40754208e79fc93f016c11434.css
rel=
stylesheet
></head><body
style=
"min-width: 1400px;"
><div
id=
app
></div><script
src=
//web-1251519181.file.myqcloud.com/lib/vue/2.6.6/vue.min.js
></script><script
src=
//web-1251519181.file.myqcloud.com/lib/vue-router/3.0.2/vue-router.min.js
></script><script
src=
//web-1251519181.file.myqcloud.com/lib/vuex/3.1.0/vuex.min.js
></script><script
src=
//web-1251519181.file.myqcloud.com/components/img-preview.2.0.00.js
></script><script>
// Raven.config('https://3715a345910d4c768e7a1ec14619c2d5@sentry.io/1413672').install();
</script><script
type=
text/javascript
src=
./static/js/manifest.04c348d1696aba4dd617.js
></script><script
type=
text/javascript
src=
./static/js/vendor.0000e68e65e4a9dc3840.js
></script><script
type=
text/javascript
src=
./static/js/app.b5a985ff0721f85206d2.js
></script></body></html>
\ No newline at end of file
dist/static/css/app.
9088f42954470571a5e44c24db10eaf1
.css
→
dist/static/css/app.
c513f3a40754208e79fc93f016c11434
.css
View file @
3333b36d
This source diff could not be displayed because it is too large. You can
view the blob
instead.
dist/static/js/15.
7d0d73ce8d6fd16321e6
.js
→
dist/static/js/15.
daa794ea3c28060892ac
.js
View file @
3333b36d
webpackJsonp
([
15
],{
"08l2"
:
function
(
e
,
t
){},
"6WUy"
:
function
(
e
,
t
){},
CuWz
:
function
(
e
,
t
){},
DsHd
:
function
(
e
,
t
){},
estW
:
function
(
e
,
t
,
s
){
"use strict"
;
Object
.
defineProperty
(
t
,
"__esModule"
,{
value
:
!
0
});
var
a
=
s
(
"Gu7T"
),
o
=
s
.
n
(
a
),
l
=
s
(
"mvHQ"
),
n
=
s
.
n
(
l
),
r
=
s
(
"Xxa5"
),
i
=
s
.
n
(
r
),
c
=
s
(
"exGp"
),
u
=
s
.
n
(
c
),
d
=
s
(
"P9l9"
),
p
=
s
(
"Ch4/"
),
m
=
s
(
"3E4D"
),
g
=
s
(
"PI0u"
),
f
=
{
name
:
"class-select"
,
components
:{},
props
:{
workClassShow
:{
type
:
Boolean
,
default
:
!
1
},
classesId
:{
type
:
String
,
default
:
""
}},
data
:
function
(){
return
{
enterpriseId
:
JSON
.
parse
(
localStorage
.
getItem
(
"userInfo"
)).
enterpriseId
,
userId
:
JSON
.
parse
(
localStorage
.
getItem
(
"userInfo"
)).
userId
,
selClassesId
:
this
.
classesId
,
customDialog
:
!
1
,
tableData
:[],
classesName
:
""
}},
methods
:{
toInput
:
Object
(
g
.
a
)(
function
(
e
,
t
){
this
.
getClassifyData
()},
500
),
clearInput
:
function
(){
this
.
currentPage
=
1
,
this
.
getClassifyData
()},
customConfirm
:
Object
(
g
.
a
)(
u
()(
i
.
a
.
mark
(
function
e
(){
var
t
,
s
;
return
i
.
a
.
wrap
(
function
(
e
){
for
(;;)
switch
(
e
.
prev
=
e
.
next
){
case
0
:
if
((
t
=
this
).
customDialog
=!
1
,
t
.
selClassesId
){
e
.
next
=
5
;
break
}
return
m
.
a
.
showmsg
(
"请选择班次"
,
"warning"
),
e
.
abrupt
(
"return"
,
!
1
);
case
5
:
s
=
{},
t
.
tableData
.
forEach
(
function
(
e
){
e
.
classesId
==
t
.
selClassesId
&&
(
s
=
e
)}),
t
.
$emit
(
"hideClassDialog"
,
s
),
t
.
$nextTick
(
function
(){
t
.
selClassesId
=
""
});
case
9
:
case
"end"
:
return
e
.
stop
()}},
e
,
this
)})),
300
),
handleClose
:
function
(
e
){
e
(),
this
.
hideDialog
()},
customCancel
:
function
(){
this
.
hideDialog
()},
hideDialog
:
function
(){
var
e
=
this
;
e
.
customDialog
=!
1
,
e
.
$emit
(
"hideClassDialog"
),
e
.
$nextTick
(
function
(){
e
.
selClassesId
=
""
})},
getClassifyData
:
function
(){
var
e
=
this
,
t
=
{
enterpriseId
:
e
.
enterpriseId
,
classesName
:
e
.
classesName
};
Object
(
d
.
a
)(
"/haoban-app-attence-web/attence-classes-list"
,
t
).
then
(
function
(
t
){
var
s
=
t
.
data
;
if
(
1
==
s
.
errorCode
)
return
s
.
result
&&
s
.
result
.
length
&&
s
.
result
.
forEach
(
function
(
e
){
e
.
classessTimesJson
&&
(
e
.
classessTimesJson
=
JSON
.
parse
(
e
.
classessTimesJson
))}),
e
.
tableData
=
s
.
result
||
[],
!
1
;
p
.
a
.
errorMsg
(
s
)}).
catch
(
function
(
t
){
e
.
$message
.
error
({
duration
:
1
e3
,
message
:
t
.
message
})})}},
watch
:{
workClassShow
:
function
(
e
,
t
){
this
.
customDialog
=
e
},
classesId
:
function
(
e
){
this
.
selClassesId
=
e
||
""
}},
mounted
:
function
(){
this
.
getClassifyData
(),
this
.
classesId
?
this
.
selClassesId
=
this
.
classesId
:
this
.
selClassesId
=
""
,
this
.
customDialog
=
this
.
workClassShow
}},
h
=
{
render
:
function
(){
var
e
=
this
,
t
=
e
.
$createElement
,
s
=
e
.
_self
.
_c
||
t
;
return
s
(
"el-dialog"
,{
staticClass
:
"edit-dialog"
,
attrs
:{
title
:
"选择班次"
,
visible
:
e
.
customDialog
,
width
:
"600px"
,
"before-close"
:
e
.
handleClose
},
on
:{
"update:visible"
:
function
(
t
){
e
.
customDialog
=
t
}}},[
s
(
"div"
,{
staticClass
:
"edit-dialog-body"
},[
s
(
"div"
,{
staticClass
:
"m-b-20"
},[
s
(
"el-input"
,{
staticClass
:
"w-264"
,
staticStyle
:{
width
:
"264px"
},
attrs
:{
placeholder
:
"请输入班次名称"
,
"prefix-icon"
:
"el-icon-search"
,
clearable
:
""
},
on
:{
clear
:
e
.
clearInput
},
nativeOn
:{
keyup
:
function
(
t
){
return
s
=
t
,
e
.
toInput
(
s
,
e
.
classesName
);
var
s
}},
model
:{
value
:
e
.
classesName
,
callback
:
function
(
t
){
e
.
classesName
=
t
},
expression
:
"classesName"
}})],
1
),
e
.
_v
(
" "
),
s
(
"el-table"
,{
staticStyle
:{
width
:
"100%"
},
attrs
:{
data
:
e
.
tableData
}},[
s
(
"el-table-column"
,{
attrs
:{
label
:
""
,
width
:
"50"
},
scopedSlots
:
e
.
_u
([{
key
:
"default"
,
fn
:
function
(
t
){
return
[
s
(
"el-radio"
,{
attrs
:{
label
:
t
.
row
.
classesId
},
model
:{
value
:
e
.
selClassesId
,
callback
:
function
(
t
){
e
.
selClassesId
=
t
},
expression
:
"selClassesId"
}},[
e
.
_v
(
e
.
_s
(
""
))])]}}])}),
e
.
_v
(
" "
),
s
(
"el-table-column"
,{
attrs
:{
prop
:
"imageUrl"
,
label
:
"班次名称"
,
"show-overflow-tooltip"
:
""
},
scopedSlots
:
e
.
_u
([{
key
:
"default"
,
fn
:
function
(
t
){
return
[
e
.
_v
(
"
\
n "
+
e
.
_s
(
t
.
row
.
classesName
)
+
"
\
n "
)]}}])}),
e
.
_v
(
" "
),
s
(
"el-table-column"
,{
attrs
:{
prop
:
"titleName"
,
label
:
"考勤时间"
,
"show-overflow-tooltip"
:
""
},
scopedSlots
:
e
.
_u
([{
key
:
"default"
,
fn
:
function
(
t
){
return
e
.
_l
(
t
.
row
.
classessTimesJson
,
function
(
t
,
a
){
return
s
(
"div"
,{
key
:
a
+
"time"
},[
e
.
_v
(
e
.
_s
(
t
.
startTime
)
+
"-"
+
e
.
_s
(
t
.
endTime
))])})}}])})],
1
)],
1
),
e
.
_v
(
" "
),
s
(
"div"
,{
staticClass
:
"dialog-footer"
,
attrs
:{
slot
:
"footer"
},
slot
:
"footer"
},[
s
(
"el-button"
,{
on
:{
click
:
function
(
t
){
return
t
.
stopPropagation
(),
e
.
customCancel
(
t
)}}},[
e
.
_v
(
"取消"
)]),
e
.
_v
(
" "
),
s
(
"el-button"
,{
attrs
:{
type
:
"primary"
},
on
:{
click
:
function
(
t
){
t
.
stopPropagation
(),
e
.
customConfirm
(
"ruleForm"
)}}},[
e
.
_v
(
"确定"
)])],
1
)])},
staticRenderFns
:[]};
var
v
=
s
(
"VU/8"
)(
f
,
h
,
!
1
,
function
(
e
){
s
(
"DsHd"
)},
"data-v-2627b5fa"
,
null
).
exports
,
D
=
{
name
:
"class-select-mult"
,
components
:{},
props
:{
workClassMultShow
:{
type
:
Boolean
,
default
:
!
1
},
classesData
:{
type
:
String
,
default
:
""
}},
data
:
function
(){
return
{
enterpriseId
:
JSON
.
parse
(
localStorage
.
getItem
(
"userInfo"
)).
enterpriseId
,
userId
:
JSON
.
parse
(
localStorage
.
getItem
(
"userInfo"
)).
userId
,
selClassesData
:
JSON
.
parse
(
n
()(
this
.
classesData
))
||
[],
customDialog
:
!
1
,
tableData
:[],
classesName
:
""
,
multipleSelection
:[]}},
methods
:{
toggleSelection
:
function
(
e
){
var
t
=
this
;
e
&&
t
.
$nextTick
(
function
(){
e
.
forEach
(
function
(
e
){
t
.
$refs
.
multipleTable
.
toggleRowSelection
(
e
,
!
0
)})})},
handleSelectionChange
:
function
(
e
){
this
.
multipleSelection
=
e
,
this
.
selClassesData
=
JSON
.
parse
(
n
()(
e
))},
toInput
:
Object
(
g
.
a
)(
function
(
e
,
t
){
this
.
getClassifyData
()},
500
),
clearInput
:
function
(){
this
.
currentPage
=
1
,
this
.
getClassifyData
()},
customConfirm
:
Object
(
g
.
a
)(
u
()(
i
.
a
.
mark
(
function
e
(){
var
t
,
s
,
a
,
o
;
return
i
.
a
.
wrap
(
function
(
e
){
for
(;;)
switch
(
e
.
prev
=
e
.
next
){
case
0
:
if
((
t
=
this
).
selClassesData
.
length
){
e
.
next
=
4
;
break
}
return
m
.
a
.
showmsg
(
"请选择班次"
,
"warning"
),
e
.
abrupt
(
"return"
,
!
1
);
case
4
:
if
(
!
(
t
.
selClassesData
.
length
>
10
)){
e
.
next
=
7
;
break
}
return
m
.
a
.
showmsg
(
"最多选择10个班次"
,
"warning"
),
e
.
abrupt
(
"return"
,
!
1
);
case
7
:
if
(
s
=
[],
t
.
classesData
.
length
&&
(
a
=
t
.
selClassesData
.
map
(
function
(
e
){
return
e
.
classesId
}),
t
.
classesData
.
forEach
(
function
(
e
){
a
.
includes
(
e
.
classesId
)
||
s
.
push
(
e
.
classesName
)})),
!
s
.
length
||!
t
.
$route
.
query
.
attenceGroupId
){
e
.
next
=
12
;
break
}
return
t
.
$confirm
(
"移除后,排班周期将自动去掉该班次,但不影响排班表中已排的班次"
,
"确定从考勤组移除"
+
s
.
join
(
"-"
),{
confirmButtonText
:
"确定"
,
cancelButtonText
:
"取消"
,
type
:
"warning"
}).
then
(
function
(){
var
e
=
[];
t
.
selClassesData
.
forEach
(
function
(
t
){
e
.
push
({
classesId
:
t
.
classesId
,
classesName
:
t
.
classesName
,
classessTimesJson
:
t
.
classessTimesJson
})}),
t
.
$emit
(
"hideMultClassDialog"
,
e
),
t
.
customDialog
=!
1
,
t
.
$nextTick
(
function
(){})}).
catch
(
function
(){}),
e
.
abrupt
(
"return"
,
!
1
);
case
12
:
o
=
[],
t
.
selClassesData
.
forEach
(
function
(
e
){
o
.
push
({
classesId
:
e
.
classesId
,
classesName
:
e
.
classesName
,
classessTimesJson
:
e
.
classessTimesJson
})}),
t
.
$emit
(
"hideMultClassDialog"
,
o
),
t
.
customDialog
=!
1
,
t
.
$nextTick
(
function
(){});
case
17
:
case
"end"
:
return
e
.
stop
()}},
e
,
this
)})),
300
),
handleClose
:
function
(
e
){
e
(),
this
.
hideDialog
()},
customCancel
:
function
(){
this
.
hideDialog
()},
hideDialog
:
function
(){
this
.
customDialog
=!
1
,
this
.
$emit
(
"hideMultClassDialog"
),
this
.
$nextTick
(
function
(){})},
handleData
:
function
(){
var
e
=
this
.
selClassesData
.
map
(
function
(
e
){
return
e
.
classesId
}),
t
=
[];
this
.
selClassesData
.
length
&&
(
this
.
tableData
.
forEach
(
function
(
s
){
e
.
includes
(
s
.
classesId
)
&&
t
.
push
(
s
)}),
this
.
toggleSelection
(
t
))},
getClassifyData
:
function
(){
var
e
=
this
,
t
=
{
enterpriseId
:
e
.
enterpriseId
,
classesName
:
e
.
classesName
};
Object
(
d
.
a
)(
"/haoban-app-attence-web/attence-classes-list"
,
t
).
then
(
function
(
t
){
var
s
=
t
.
data
;
if
(
1
==
s
.
errorCode
)
return
s
.
result
&&
s
.
result
.
length
&&
s
.
result
.
forEach
(
function
(
e
){
e
.
classessTimesJson
&&
(
e
.
classessTimesJson
=
JSON
.
parse
(
e
.
classessTimesJson
))}),
e
.
tableData
=
s
.
result
||
[],
e
.
handleData
(),
!
1
;
p
.
a
.
errorMsg
(
s
)}).
catch
(
function
(
t
){
e
.
$message
.
error
({
duration
:
1
e3
,
message
:
t
.
message
})})}},
watch
:{
workClassMultShow
:
function
(
e
,
t
){
this
.
customDialog
=
e
,
this
.
getClassifyData
()},
classesData
:
function
(
e
){
this
.
selClassesData
=
e
?
JSON
.
parse
(
n
()(
e
)):[]}},
mounted
:
function
(){
this
.
getClassifyData
(),
this
.
classesData
?
this
.
selClassesData
=
JSON
.
parse
(
n
()(
this
.
classesData
)):
this
.
selClassesData
=
[],
this
.
customDialog
=
this
.
workClassMultShow
}},
y
=
{
render
:
function
(){
var
e
=
this
,
t
=
e
.
$createElement
,
s
=
e
.
_self
.
_c
||
t
;
return
s
(
"el-dialog"
,{
staticClass
:
"edit-dialog"
,
attrs
:{
title
:
"选择班次"
,
visible
:
e
.
customDialog
,
width
:
"600px"
,
"before-close"
:
e
.
handleClose
},
on
:{
"update:visible"
:
function
(
t
){
e
.
customDialog
=
t
}}},[
s
(
"div"
,{
staticClass
:
"edit-dialog-body"
},[
s
(
"div"
,{
staticClass
:
"m-b-20"
},[
s
(
"el-input"
,{
staticClass
:
"w-264"
,
staticStyle
:{
width
:
"264px"
},
attrs
:{
placeholder
:
"请输入班次名称"
,
"prefix-icon"
:
"el-icon-search"
,
clearable
:
""
},
on
:{
clear
:
e
.
clearInput
},
nativeOn
:{
keyup
:
function
(
t
){
return
s
=
t
,
e
.
toInput
(
s
,
e
.
classesName
);
var
s
}},
model
:{
value
:
e
.
classesName
,
callback
:
function
(
t
){
e
.
classesName
=
t
},
expression
:
"classesName"
}})],
1
),
e
.
_v
(
" "
),
s
(
"el-table"
,{
ref
:
"multipleTable"
,
staticStyle
:{
width
:
"100%"
},
attrs
:{
data
:
e
.
tableData
,
height
:
"350"
},
on
:{
"selection-change"
:
e
.
handleSelectionChange
}},[
s
(
"el-table-column"
,{
attrs
:{
type
:
"selection"
,
width
:
"55"
}}),
e
.
_v
(
" "
),
s
(
"el-table-column"
,{
attrs
:{
prop
:
"imageUrl"
,
label
:
"班次名称"
,
"show-overflow-tooltip"
:
""
},
scopedSlots
:
e
.
_u
([{
key
:
"default"
,
fn
:
function
(
t
){
return
[
e
.
_v
(
"
\
n "
+
e
.
_s
(
t
.
row
.
classesName
)
+
"
\
n "
)]}}])}),
e
.
_v
(
" "
),
s
(
"el-table-column"
,{
attrs
:{
prop
:
"titleName"
,
label
:
"考勤时间"
,
"show-overflow-tooltip"
:
""
},
scopedSlots
:
e
.
_u
([{
key
:
"default"
,
fn
:
function
(
t
){
return
e
.
_l
(
t
.
row
.
classessTimesJson
,
function
(
t
,
a
){
return
s
(
"div"
,{
key
:
a
+
"time"
},[
e
.
_v
(
e
.
_s
(
t
.
startTime
)
+
"-"
+
e
.
_s
(
t
.
endTime
))])})}}])})],
1
)],
1
),
e
.
_v
(
" "
),
s
(
"div"
,{
staticClass
:
"dialog-footer"
,
attrs
:{
slot
:
"footer"
},
slot
:
"footer"
},[
s
(
"el-button"
,{
on
:{
click
:
function
(
t
){
return
t
.
stopPropagation
(),
e
.
customCancel
(
t
)}}},[
e
.
_v
(
"取消"
)]),
e
.
_v
(
" "
),
s
(
"el-button"
,{
attrs
:{
type
:
"primary"
},
on
:{
click
:
function
(
t
){
t
.
stopPropagation
(),
e
.
customConfirm
(
"ruleForm"
)}}},[
e
.
_v
(
"确定"
)])],
1
)])},
staticRenderFns
:[]};
var
S
,
b
=
s
(
"VU/8"
)(
D
,
y
,
!
1
,
function
(
e
){
s
(
"kr0l"
)},
"data-v-0daf0c9a"
,
null
).
exports
,
_
=
{
name
:
"class-select"
,
components
:{},
props
:{
mapShow
:{
type
:
Boolean
,
default
:
!
1
}},
data
:
function
(){
var
e
=
this
;
return
{
enterpriseId
:
JSON
.
parse
(
localStorage
.
getItem
(
"userInfo"
)).
enterpriseId
,
userId
:
JSON
.
parse
(
localStorage
.
getItem
(
"userInfo"
)).
userId
,
selClassesId
:
this
.
classesId
,
customDialog
:
!
1
,
ruleForm
:{
address
:
""
},
rules
:{
address
:[{
required
:
!
0
,
message
:
"请选择考勤地点"
,
trigger
:
"blur"
}]},
zoom
:
12
,
center
:[
120.12497
,
30.277155
],
address
:
""
,
plugin
:[{
pName
:
"ToolBar"
}],
events
:{
click
:
function
(
t
){
var
s
=
t
.
lnglat
,
a
=
s
.
lng
,
o
=
s
.
lat
;
e
.
lng
=
a
,
e
.
lat
=
o
,
new
AMap
.
Geocoder
({
radius
:
1
e3
,
extensions
:
"all"
}).
getAddress
([
a
,
o
],
function
(
t
,
s
){
"complete"
===
t
&&
"OK"
===
s
.
info
&&
s
&&
s
.
regeocode
&&
(
console
.
log
(
s
),
e
.
address
=
s
.
regeocode
.
formattedAddress
,
e
.
ruleForm
.
address
=
s
.
regeocode
.
formattedAddress
,
e
.
$nextTick
())})}},
lng
:
0
,
lat
:
0
}},
methods
:{
customConfirm
:
Object
(
g
.
a
)((
S
=
u
()(
i
.
a
.
mark
(
function
e
(
t
){
var
s
;
return
i
.
a
.
wrap
(
function
(
e
){
for
(;;)
switch
(
e
.
prev
=
e
.
next
){
case
0
:
s
=
this
,
this
.
$refs
[
t
].
validate
(
function
(
e
){
e
&&
(
s
.
customDialog
=!
1
,
s
.
$emit
(
"hideMapDialog"
,{
address
:
s
.
address
,
longitude
:
s
.
lng
,
latitude
:
s
.
lat
}),
s
.
$nextTick
(
function
(){
s
.
address
=
""
,
s
.
ruleForm
.
address
=
""
}))});
case
2
:
case
"end"
:
return
e
.
stop
()}},
e
,
this
)})),
function
(
e
){
return
S
.
apply
(
this
,
arguments
)}),
300
),
handleClose
:
function
(
e
){
e
(),
this
.
hideDialog
()},
customCancel
:
function
(){
this
.
hideDialog
()},
hideDialog
:
function
(){
var
e
=
this
;
e
.
customDialog
=!
1
,
e
.
$emit
(
"hideMapDialog"
),
e
.
$nextTick
(
function
(){
e
.
address
=
""
,
e
.
ruleForm
.
address
=
""
})}},
watch
:{
mapShow
:
function
(
e
,
t
){
this
.
customDialog
=
e
}},
mounted
:
function
(){
this
.
customDialog
=
this
.
mapShow
}},
w
=
{
render
:
function
(){
var
e
=
this
,
t
=
e
.
$createElement
,
s
=
e
.
_self
.
_c
||
t
;
return
s
(
"div"
,{
directives
:[{
name
:
"show"
,
rawName
:
"v-show"
,
value
:
e
.
customDialog
,
expression
:
"customDialog"
}]},[
s
(
"el-dialog"
,{
staticClass
:
"edit-dialog"
,
attrs
:{
title
:
"考勤地点"
,
visible
:
e
.
customDialog
,
width
:
"600px"
,
"before-close"
:
e
.
handleClose
},
on
:{
"update:visible"
:
function
(
t
){
e
.
customDialog
=
t
}}},[
s
(
"div"
,{
staticClass
:
"edit-dialog-body"
},[
s
(
"div"
,{
staticClass
:
"amap-page-container"
},[
s
(
"el-amap"
,{
staticClass
:
"amap-demo"
,
attrs
:{
vid
:
"amapDemo"
,
center
:
e
.
center
,
zoom
:
e
.
zoom
,
plugin
:
e
.
plugin
,
events
:
e
.
events
}}),
e
.
_v
(
" "
),
s
(
"div"
,{
staticClass
:
"toolbar m-t-20"
},[
s
(
"el-form"
,{
ref
:
"ruleForm"
,
staticClass
:
"demo-ruleForm"
,
attrs
:{
model
:
e
.
ruleForm
,
rules
:
e
.
rules
,
"label-width"
:
"100px"
}},[
s
(
"el-form-item"
,{
attrs
:{
label
:
"详细地址:"
,
prop
:
"address"
}},[
s
(
"el-input"
,{
model
:{
value
:
e
.
ruleForm
.
address
,
callback
:
function
(
t
){
e
.
$set
(
e
.
ruleForm
,
"address"
,
t
)},
expression
:
"ruleForm.address"
}})],
1
)],
1
)],
1
)],
1
)]),
e
.
_v
(
" "
),
s
(
"div"
,{
staticClass
:
"dialog-footer"
,
attrs
:{
slot
:
"footer"
},
slot
:
"footer"
},[
s
(
"el-button"
,{
on
:{
click
:
function
(
t
){
return
t
.
stopPropagation
(),
e
.
customCancel
(
t
)}}},[
e
.
_v
(
"取消"
)]),
e
.
_v
(
" "
),
s
(
"el-button"
,{
attrs
:{
type
:
"primary"
},
on
:{
click
:
function
(
t
){
t
.
stopPropagation
(),
e
.
customConfirm
(
"ruleForm"
)}}},[
e
.
_v
(
"确定"
)])],
1
)])],
1
)},
staticRenderFns
:[]};
var
C
=
s
(
"VU/8"
)(
_
,
w
,
!
1
,
function
(
e
){
s
(
"08l2"
)},
"data-v-1e2f8b2a"
,
null
).
exports
,
F
=
s
(
"Ke24"
),
k
=
s
(
"fZjL"
),
I
=
s
.
n
(
k
),
T
=
s
(
"l46T"
),
J
=
{
name
:
"cycle-set"
,
components
:{
limitInput
:
T
.
a
},
props
:{
rangeShow
:{
type
:
Boolean
,
default
:
!
1
},
attenceGroupId
:{
type
:
String
,
default
:
""
},
classesJson
:{
type
:[
Array
,
Object
],
default
:
function
(){
return
[]}},
attenceGroupData
:{
type
:[
Array
,
Object
],
default
:
function
(){
return
{}}}},
data
:
function
(){
return
{
enterpriseId
:
JSON
.
parse
(
localStorage
.
getItem
(
"userInfo"
)).
enterpriseId
,
userId
:
JSON
.
parse
(
localStorage
.
getItem
(
"userInfo"
)).
userId
,
selClassesId
:
this
.
attenceGroupId
,
customDialog
:
!
1
,
tableData
:[],
classesName
:
""
,
ruleFormData
:{
classesRangeId
:
""
,
days
:
3
,
rangeName
:
""
,
classes
:[{
classesId
:
""
,
classesName
:
""
},{
classesId
:
""
,
classesName
:
""
},{
classesId
:
""
,
classesName
:
""
}]},
rules
:{
rangeName
:[{
required
:
!
0
,
message
:
"请输入周期名称"
,
trigger
:
"blur"
}]}}},
methods
:{
changeClass
:
function
(
e
,
t
){
this
.
tableData
.
forEach
(
function
(
s
){
s
.
classesId
==
e
&&
(
t
.
classesName
=
s
.
classesName
)})},
handleRangeDay
:
function
(
e
){
var
t
=
this
.
ruleFormData
.
classes
?
this
.
ruleFormData
.
classes
.
length
:
0
;
if
(
e
-
t
>
0
)
for
(
var
s
=
0
;
s
<
e
-
t
;
s
++
)
this
.
ruleFormData
.
classes
.
push
({
classesId
:
""
,
classesName
:
""
});
e
-
t
<
0
&&
this
.
ruleFormData
.
classes
.
splice
(
e
-
1
,
t
-
e
)},
toInput
:
Object
(
g
.
a
)(
function
(
e
,
t
){
this
.
getClassifyData
()},
500
),
clearInput
:
function
(){
this
.
currentPage
=
1
,
this
.
getClassifyData
()},
customConfirm
:
Object
(
g
.
a
)(
function
(){
var
e
=
u
()(
i
.
a
.
mark
(
function
e
(
t
){
var
s
,
a
;
return
i
.
a
.
wrap
(
function
(
e
){
for
(;;)
switch
(
e
.
prev
=
e
.
next
){
case
0
:
if
(
a
=!
0
,(
s
=
this
).
ruleFormData
.
classes
.
forEach
(
function
(
e
){
a
=!!
e
.
classesId
}),
a
){
e
.
next
=
6
;
break
}
return
m
.
a
.
showmsg
(
"请选择班次"
,
"warning"
),
e
.
abrupt
(
"return"
,
!
1
);
case
6
:
s
.
$refs
[
t
].
validate
(
function
(
e
){
e
&&
(
s
.
customDialog
=!
1
,
s
.
$emit
(
"hideCycleDialog"
,
s
.
ruleFormData
),
s
.
resetData
())});
case
7
:
case
"end"
:
return
e
.
stop
()}},
e
,
this
)}));
return
function
(
t
){
return
e
.
apply
(
this
,
arguments
)}}(),
300
),
resetData
:
function
(){
var
e
=
this
;
e
.
$nextTick
(
function
(){
e
.
ruleFormData
=
{
classesRangeId
:
""
,
days
:
3
,
rangeName
:
""
,
classes
:[{
classesId
:
""
,
classesName
:
""
},{
classesId
:
""
,
classesName
:
""
},{
classesId
:
""
,
classesName
:
""
}]}})},
handleClose
:
function
(
e
){
e
(),
this
.
hideDialog
()},
customCancel
:
function
(){
this
.
hideDialog
()},
hideDialog
:
function
(){
this
.
customDialog
=!
1
,
this
.
$emit
(
"hideCycleDialog"
),
this
.
resetData
()},
getClassifyData
:
function
(){
var
e
=
this
,
t
=
{
attenceGroupId
:
e
.
$route
.
query
.
attenceGroupId
,
enterpriseId
:
e
.
enterpriseId
};
Object
(
d
.
a
)(
"/haoban-app-attence-web/attence-classes-list"
,
t
).
then
(
function
(
t
){
var
s
=
t
.
data
;
if
(
1
==
s
.
errorCode
)
return
s
.
result
&&
s
.
result
.
length
&&
(
s
.
result
.
forEach
(
function
(
e
){
e
.
classessTimesJson
&&
(
e
.
classessTimesJson
=
JSON
.
parse
(
e
.
classessTimesJson
))}),
s
.
result
.
forEach
(
function
(
e
){
e
.
label
=
" "
,
e
.
classessTimesJson
&&
e
.
classessTimesJson
.
length
&&
e
.
classessTimesJson
.
forEach
(
function
(
t
){
e
.
label
+=
t
.
startTime
+
"-"
+
t
.
endTime
})})),
e
.
tableData
=
s
.
result
||
[],
!
1
;
p
.
a
.
errorMsg
(
s
)}).
catch
(
function
(
t
){
e
.
$message
.
error
({
duration
:
1
e3
,
message
:
t
.
message
})})},
getRangeData
:
function
(){
var
e
=
this
,
t
=
{
enterpriseId
:
e
.
enterpriseId
,
attenceGroupId
:
e
.
attenceGroupId
};
Object
(
d
.
a
)(
"/haoban-app-attence-web/attence-range-list"
,
t
).
then
(
function
(
t
){
var
s
=
t
.
data
;
if
(
1
==
s
.
errorCode
)
return
s
.
result
&&
s
.
result
.
length
&&
(
s
.
result
.
forEach
(
function
(
e
){
e
.
classes
=
e
.
classesList
}),
e
.
ruleFormData
=
s
.
result
[
0
]
||
[]),
!
1
;
p
.
a
.
errorMsg
(
s
)}).
catch
(
function
(
t
){
e
.
$message
.
error
({
duration
:
1
e3
,
message
:
t
.
message
})})}},
watch
:{
rangeShow
:
function
(
e
,
t
){
this
.
customDialog
=
e
},
attenceGroupId
:
function
(
e
){
e
&&
this
.
getRangeData
()},
attenceGroupData
:
function
(
e
){
I
()(
e
).
length
&&
(
this
.
ruleFormData
=
JSON
.
parse
(
n
()(
e
)))},
classesJson
:
function
(
e
){
e
.
length
&&
this
.
getClassifyData
()}},
mounted
:
function
(){
this
.
attenceGroupId
&&
this
.
getRangeData
(),
I
()(
this
.
attenceGroupData
).
length
&&
(
this
.
ruleFormData
=
JSON
.
parse
(
n
()(
this
.
attenceGroupData
))),
this
.
classesJson
.
length
&&
this
.
getClassifyData
(),
this
.
customDialog
=
this
.
rangeShow
}},
N
=
{
render
:
function
(){
var
e
=
this
,
t
=
e
.
$createElement
,
s
=
e
.
_self
.
_c
||
t
;
return
s
(
"el-dialog"
,{
staticClass
:
"edit-dialog"
,
attrs
:{
title
:
"选择班次"
,
visible
:
e
.
customDialog
,
width
:
"600px"
,
"before-close"
:
e
.
handleClose
},
on
:{
"update:visible"
:
function
(
t
){
e
.
customDialog
=
t
}}},[
s
(
"div"
,{
staticClass
:
"edit-dialog-body"
},[
s
(
"el-form"
,{
ref
:
"ruleForm"
,
staticClass
:
"demo-ruleForm"
,
attrs
:{
model
:
e
.
ruleFormData
,
rules
:
e
.
rules
,
"label-width"
:
"120px"
}},[
s
(
"el-form-item"
,{
attrs
:{
label
:
"周期名称:"
,
prop
:
"rangeName"
}},[
s
(
"limitInput"
,{
attrs
:{
inputWidth
:
305
,
inputValue
:
e
.
ruleFormData
.
rangeName
,
holder
:
"请输入周期名称"
,
getByType
:
"word"
,
maxLength
:
15
},
on
:{
"update:inputValue"
:
function
(
t
){
e
.
$set
(
e
.
ruleFormData
,
"rangeName"
,
t
)}}})],
1
),
e
.
_v
(
" "
),
s
(
"el-form-item"
,{
attrs
:{
label
:
"每个周期天数:"
,
prop
:
""
}},[
s
(
"div"
,[
s
(
"el-input-number"
,{
attrs
:{
"controls-position"
:
"right"
,
step
:
1
,
"step-strictly"
:
!
0
,
min
:
3
,
max
:
31
},
on
:{
change
:
e
.
handleRangeDay
},
model
:{
value
:
e
.
ruleFormData
.
days
,
callback
:
function
(
t
){
e
.
$set
(
e
.
ruleFormData
,
"days"
,
t
)},
expression
:
"ruleFormData.days"
}}),
e
.
_v
(
" "
),
s
(
"span"
,{
staticClass
:
"font-12 color-909399"
},[
e
.
_v
(
"以3天为周期进行循环,最大周期天数为31天"
)])],
1
),
e
.
_v
(
" "
),
s
(
"div"
,{
staticClass
:
"range-classes"
},[
s
(
"ul"
,
e
.
_l
(
e
.
ruleFormData
.
classes
,
function
(
t
,
a
){
return
s
(
"li"
,{
key
:
a
+
"class"
},[
s
(
"span"
,[
e
.
_v
(
"第"
+
e
.
_s
(
a
+
1
)
+
"天:"
)]),
e
.
_v
(
" "
),
s
(
"el-select"
,{
attrs
:{
placeholder
:
"请选择"
},
on
:{
change
:
function
(
s
){
e
.
changeClass
(
s
,
t
)}},
model
:{
value
:
t
.
classesId
,
callback
:
function
(
s
){
e
.
$set
(
t
,
"classesId"
,
s
)},
expression
:
"item.classesId"
}},
e
.
_l
(
e
.
tableData
,
function
(
e
){
return
s
(
"el-option"
,{
key
:
e
.
classesId
,
attrs
:{
label
:
"班次"
+
e
.
classesName
+
e
.
label
,
value
:
e
.
classesId
}})}))],
1
)}))])])],
1
)],
1
),
e
.
_v
(
" "
),
s
(
"div"
,{
staticClass
:
"dialog-footer"
,
attrs
:{
slot
:
"footer"
},
slot
:
"footer"
},[
s
(
"el-button"
,{
on
:{
click
:
function
(
t
){
return
t
.
stopPropagation
(),
e
.
customCancel
(
t
)}}},[
e
.
_v
(
"取消"
)]),
e
.
_v
(
" "
),
s
(
"el-button"
,{
attrs
:{
type
:
"primary"
},
on
:{
click
:
function
(
t
){
t
.
stopPropagation
(),
e
.
customConfirm
(
"ruleForm"
)}}},[
e
.
_v
(
"确定"
)])],
1
)])},
staticRenderFns
:[]};
var
x
=
s
(
"VU/8"
)(
J
,
N
,
!
1
,
function
(
e
){
s
(
"6WUy"
)},
"data-v-c98424be"
,
null
).
exports
,
R
=
s
(
"Ie7z"
),
$
=
s
(
"c4uw"
),
L
=
s
(
"Kkt8"
),
O
=
{
name
:
"workGroupSet"
,
props
:{
brandId
:{
type
:
String
,
default
:
function
(){
return
""
}},
activeGroupId
:{
type
:
String
,
default
:
function
(){
return
""
}}},
data
:
function
(){
return
{
projectName
:
"haoban-manage-web"
,
topMenuData
:[{
id
:
"1"
,
name
:
"考勤组管理"
,
path
:
"/workSet?appIcon="
+
this
.
$route
.
query
.
appIcon
},{
id
:
"2"
,
name
:
this
.
$route
.
query
.
attenceGroupId
?
"编辑考勤组"
:
"新建考勤组"
,
path
:
""
}],
weekDays
:{
0
:
"周日"
,
1
:
"周一"
,
2
:
"周二"
,
3
:
"周三"
,
4
:
"周四"
,
5
:
"周五"
,
6
:
"周六"
},
classifyOptions
:[],
activeId
:
"2"
,
activeBrand
:
this
.
brandId
,
activeGroup
:
this
.
activeGroupId
,
enterpriseId
:
JSON
.
parse
(
localStorage
.
getItem
(
"userInfo"
)).
enterpriseId
,
userId
:
JSON
.
parse
(
localStorage
.
getItem
(
"userInfo"
)).
userId
,
ruleFormData
:{
attenceGroupId
:
""
,
attenceGroupName
:
""
,
attenceType
:
1
,
attenceRangeType
:
!
1
,
attenceRangeStoreType
:
!
1
,
adminList
:[],
storeList
:[],
noAttenceRangeType
:
!
1
,
noAttenceRangeStoreType
:
!
1
,
noAdminList
:[],
noStoreList
:[],
lawFreeFlag
:
!
1
,
clockDistance
:
300
,
storeClockFlag
:
!
1
,
gpsFlag
:
!
1
,
distanceAddress
:[],
attenceRangeJson
:[],
sperialRangeJson
:[],
mustJson
:[],
noMustJson
:[],
attenceWorkJson
:[{
weekDay
:
"1"
,
workType
:
!
1
,
classesName
:
""
,
classesId
:
"-1"
,
classessTimesJson
:[]},{
weekDay
:
"2"
,
workType
:
!
1
,
classesName
:
""
,
classesId
:
"-1"
,
classessTimesJson
:[]},{
weekDay
:
"3"
,
workType
:
!
1
,
classesName
:
""
,
classesId
:
"-1"
,
classessTimesJson
:[]},{
weekDay
:
"4"
,
workType
:
!
1
,
classesName
:
""
,
classesId
:
"-1"
,
classessTimesJson
:[]},{
weekDay
:
"5"
,
workType
:
!
1
,
classesName
:
""
,
classesId
:
"-1"
,
classessTimesJson
:[]},{
weekDay
:
"6"
,
workType
:
!
1
,
classesName
:
""
,
classesId
:
"-1"
,
classessTimesJson
:[]},{
weekDay
:
"0"
,
workType
:
!
1
,
classesName
:
""
,
classesId
:
"-1"
,
classessTimesJson
:[]}],
attenceClassesRangeJSON
:[],
classesJson
:[]},
rules
:{
attenceGroupName
:[{
required
:
!
0
,
message
:
"请输入考勤组名称"
,
trigger
:
"blur"
}],
content
:[{
required
:
!
0
,
message
:
"请输入公告内容"
,
trigger
:
"blur"
}],
sendType
:[{
required
:
!
0
,
message
:
"请选择发送方式"
,
trigger
:
"change"
}]},
wxFlag
:
1
,
actionUrl
:
"/haoban-manage-web/upload-img"
,
datePickerBool
:
!
1
,
dateValue
:
""
,
mustType
:
""
,
selectNoType
:
""
,
treeSet
:{
isSelectPerson
:
!
1
,
dialogVisible
:
!
1
,
isSingle
:
!
1
,
openNextBool
:
!
0
},
mustSelection
:[],
changed
:
""
,
onlyPerson
:
!
1
,
appScene
:
1
,
mustStoreList
:[],
storeTreeSet
:{
isSelectPerson
:
!
0
,
dialogVisible
:
!
1
,
isSingle
:
!
1
},
changedNo
:
""
,
noTreeSet
:{
isSelectPerson
:
!
1
,
dialogVisible
:
!
1
,
isSingle
:
!
1
,
openNextBool
:
!
0
},
noSelection
:[],
noStoreList
:[],
noStoreTreeSet
:{
isSelectPerson
:
!
0
,
dialogVisible
:
!
1
,
isSingle
:
!
1
},
defaultStoreBool
:
!
1
,
saveDataBool
:
!
0
,
showEffect
:
!
1
,
workClassShow
:
!
1
,
modIndex
:
""
,
modRow
:{},
showClassesFlag
:
!
1
,
multipleSelection
:[],
distance
:[{
value
:
"50"
,
label
:
"50米"
}],
mapShow
:
!
1
,
rangeShow
:
!
1
,
classesJson
:[],
attenceGroupData
:{
classesRangeId
:
""
,
days
:
3
,
rangeName
:
""
,
classes
:[{
classesId
:
""
,
classesName
:
""
},{
classesId
:
""
,
classesName
:
""
},{
classesId
:
""
,
classesName
:
""
}]},
workClassMultShow
:
!
1
}},
methods
:{
toShowRangeMult
:
function
(){
this
.
classesJson
=
JSON
.
parse
(
n
()(
this
.
ruleFormData
.
classesJson
)),
this
.
rangeShow
=!
0
},
hideCycleDialog
:
function
(
e
){
if
(
this
.
rangeShow
=!
1
,
!
e
)
return
!
1
;
this
.
ruleFormData
.
attenceClassesRangeJSON
=
JSON
.
parse
(
n
()([
e
])),
this
.
$forceUpdate
()},
toShowClassMult
:
function
(){
this
.
workClassMultShow
=!
0
,
this
.
classesData
=
JSON
.
parse
(
n
()(
this
.
ruleFormData
.
classesJson
))},
hideMultClassDialog
:
function
(
e
){
if
(
this
.
workClassMultShow
=!
1
,
this
.
classesData
=
[],
!
e
)
return
!
1
;
this
.
ruleFormData
.
classesJson
=
JSON
.
parse
(
n
()(
e
)),
this
.
classesJson
=
JSON
.
parse
(
n
()(
e
))},
editRange
:
function
(
e
,
t
){
this
.
classesJson
=
JSON
.
parse
(
n
()(
this
.
ruleFormData
.
classesJson
)),
this
.
attenceGroupData
=
JSON
.
parse
(
n
()(
t
)),
this
.
rangeShow
=!
0
},
addMap
:
function
(){
this
.
mapShow
=!
0
},
hideMapDialog
:
function
(
e
){
if
(
console
.
log
(
e
),
this
.
mapShow
=!
1
,
!
e
)
return
!
1
;
this
.
ruleFormData
.
distanceAddress
.
push
({
address
:
e
.
address
,
longitude
:
e
.
longitude
,
latitude
:
e
.
latitude
})},
delGps
:
function
(
e
,
t
){
this
.
ruleFormData
.
distanceAddress
.
splice
(
e
,
1
)},
showClasses
:
function
(){
this
.
workClassShow
=!
0
},
modClasses
:
function
(
e
,
t
){
console
.
log
(
t
),
this
.
modIndex
=
e
,
this
.
modRow
=
t
,
this
.
classesId
=
t
.
classesId
||
""
,
this
.
workClassShow
=!
0
},
hideClassDialog
:
function
(
e
){
if
(
this
.
workClassShow
=!
1
,
this
.
classesId
=
""
,
!
e
)
return
!
1
;
this
.
modRow
.
workType
=!
0
;
var
t
=
JSON
.
parse
(
n
()(
e
));
this
.
modRow
.
classesName
=
t
.
classesName
,
this
.
modRow
.
classesId
=
t
.
classesId
,
this
.
modRow
.
classessTimesJson
=
t
.
classessTimesJson
},
handleSelectionChange
:
function
(
e
){
this
.
multipleSelection
=
e
},
selectBrandId
:
function
(
e
,
t
){
this
.
brandId
=
e
},
cancelSend
:
function
(){
var
e
=
this
;
if
(
e
.
$route
.
query
.
attenceGroupId
)
return
e
.
$router
.
go
(
-
1
),
!
1
;
e
.
$confirm
(
"是否确认返回,返回后当前页面内容将丢失"
,
"提示"
,{
confirmButtonText
:
"确定"
,
cancelButtonText
:
"取消"
,
type
:
"warning"
}).
then
(
function
(){
e
.
$router
.
go
(
-
1
)}).
catch
(
function
(){})},
showDialogMust
:
function
(
e
,
t
){
if
(
this
.
mustType
=
e
,
this
.
changed
=
e
,
"store"
===
e
)
return
this
.
nustStoreList
=
t
,
void
(
this
.
storeTreeSet
=
{
dialogVisible
:
!
0
,
isSingle
:
!
1
,
isSelectPerson
:
!
0
,
openNextBool
:
!
0
});
this
.
treeSet
=
{
dialogVisible
:
!
0
,
isSingle
:
!
1
,
isSelectPerson
:
!
0
,
openNextBool
:
!
0
},
this
.
nustSelection
=
t
},
showDialogNo
:
function
(
e
,
t
){
if
(
this
.
selectNoType
=
e
,
this
.
changedNo
=
e
,
"store"
===
e
)
return
this
.
noStoreList
=
t
,
void
(
this
.
noStoreTreeSet
=
{
dialogVisible
:
!
0
,
isSingle
:
!
1
,
isSelectPerson
:
!
0
,
openNextBool
:
!
0
});
this
.
noTreeSet
=
{
dialogVisible
:
!
0
,
isSingle
:
!
1
,
isSelectPerson
:
!
0
,
openNextBool
:
!
0
},
this
.
noSelection
=
t
},
handleMustList
:
function
(
e
){
console
.
log
(
e
),
"store"
===
this
.
mustType
?(
this
.
ruleFormData
.
storeList
=
e
,
this
.
mustStoreList
=
e
):(
this
.
ruleFormData
.
adminList
=
e
,
this
.
mustSelection
=
e
)},
handleNoList
:
function
(
e
){
console
.
log
(
e
),
"store"
===
this
.
selectNoType
?(
this
.
ruleFormData
.
noStoreList
=
e
,
this
.
noStoreList
=
e
):(
this
.
ruleFormData
.
noAdminList
=
e
,
this
.
noSelection
=
e
)},
delDepart
:
function
(
e
,
t
,
s
){
t
.
splice
(
e
,
1
)},
changeMyDate
:
function
(){
this
.
dateValue
?
this
.
saveDataBool
=!
0
:
this
.
datePickerBool
=!
0
},
changeSendType
:
function
(
e
){
"0"
==
e
&&
(
this
.
saveDataBool
=!
0
)},
toSubmit
:
function
(
e
,
t
){
var
s
=
this
,
a
=
[];
s
.
ruleFormData
.
attenceRangeType
&&
s
.
ruleFormData
.
adminList
.
length
&&
(
a
=
s
.
ruleFormData
.
adminList
.
map
(
function
(
e
){
var
t
=
{
rangeType
:
1
,
storeFlag
:
0
,
id
:
e
.
id
,
name
:
e
.
name
||
e
.
label
,
type
:
e
.
type
};
return
1
==
e
.
type
&&
(
t
.
userId
=
e
.
id
),
2
==
e
.
type
&&
(
t
.
groupId
=
e
.
id
),
3
==
e
.
type
&&
(
t
.
storeId
=
e
.
id
),
t
}));
var
l
=
[];
s
.
ruleFormData
.
attenceRangeStoreType
&&
s
.
ruleFormData
.
storeList
.
length
&&
(
l
=
s
.
ruleFormData
.
storeList
.
map
(
function
(
e
){
var
t
=
{
rangeType
:
1
,
storeFlag
:
1
,
id
:
e
.
id
,
name
:
e
.
name
||
e
.
label
,
type
:
e
.
type
};
return
1
==
e
.
type
&&
(
t
.
userId
=
e
.
id
),
2
==
e
.
type
&&
(
t
.
groupId
=
e
.
id
),
3
==
e
.
type
&&
(
t
.
storeId
=
e
.
id
),
t
}));
var
n
=
[];
s
.
ruleFormData
.
noAttenceRangeType
&&
s
.
ruleFormData
.
noAdminList
.
length
&&
(
n
=
s
.
ruleFormData
.
noAdminList
.
map
(
function
(
e
){
return
{
rangeType
:
2
,
storeFlag
:
0
,
id
:
e
.
id
,
userId
:
e
.
id
,
name
:
e
.
name
||
e
.
label
,
type
:
e
.
type
}}));
if
(
s
.
ruleFormData
.
noAttenceRangeStoreType
&&
s
.
ruleFormData
.
noStoreList
.
length
&&
(
l
=
s
.
ruleFormData
.
noStoreList
.
map
(
function
(
e
){
return
{
rangeType
:
2
,
storeFlag
:
1
,
id
:
e
.
id
,
userId
:
e
.
id
,
name
:
e
.
name
||
e
.
label
,
type
:
e
.
type
}})),
s
.
ruleFormData
.
attenceRangeJson
=
[].
concat
(
o
()(
a
),
o
()(
l
),
o
()(
n
),[]),
s
.
ruleFormData
.
gpsFlag
&&!
s
.
ruleFormData
.
distanceAddress
.
length
)
return
m
.
a
.
showmsg
(
"请设置打卡地点"
,
"warning"
),
!
1
;
console
.
log
(
s
.
ruleFormData
),
s
.
$refs
[
e
].
validate
(
function
(
t
){
t
&&
(
s
.
$route
.
query
.
attenceGroupId
?
s
.
showEffect
=!
0
:
s
.
sendData
(
e
,
1
))})},
sendData
:
Object
(
g
.
a
)(
function
(
e
,
t
){
var
s
=
this
,
a
=
{
enterpriseId
:
s
.
enterpriseId
,
effectFlag
:
t
,
attenceGroupId
:
s
.
ruleFormData
.
attenceGroupId
,
attenceGroupName
:
s
.
ruleFormData
.
attenceGroupName
,
attenceType
:
s
.
ruleFormData
.
attenceType
,
attenceRangeType
:
s
.
ruleFormData
.
attenceRangeType
?
1
:
0
,
attenceRangeStoreType
:
s
.
ruleFormData
.
attenceRangeStoreType
?
1
:
0
,
noAttenceRangeType
:
s
.
ruleFormData
.
noAttenceRangeType
?
1
:
0
,
noAttenceRangeStoreType
:
s
.
ruleFormData
.
noAttenceRangeStoreType
?
1
:
0
,
lawFreeFlag
:
s
.
ruleFormData
.
lawFreeFlag
?
1
:
0
,
clockDistance
:
s
.
ruleFormData
.
clockDistance
,
storeClockFlag
:
s
.
ruleFormData
.
storeClockFlag
?
1
:
0
,
gpsFlag
:
s
.
ruleFormData
.
gpsFlag
?
1
:
0
,
distanceAddress
:
n
()(
s
.
ruleFormData
.
distanceAddress
),
attenceRangeJson
:
n
()(
s
.
ruleFormData
.
attenceRangeJson
),
sperialRangeJson
:
n
()(
s
.
ruleFormData
.
sperialRangeJson
),
attenceWorkJson
:
n
()(
s
.
ruleFormData
.
attenceWorkJson
),
attenceClassesRangeJSON
:
n
()(
s
.
ruleFormData
.
attenceClassesRangeJSON
),
classesJson
:
n
()(
s
.
ruleFormData
.
classesJson
)};
s
.
saveDataBool
&&
Object
(
d
.
e
)(
s
.
$route
.
query
.
attenceGroupId
?
"/haoban-app-attence-web/attence-edit"
:
"/haoban-app-attence-web/attence-add"
,
a
).
then
(
function
(
e
){
var
t
=
e
.
data
;
1
==
t
.
errorCode
?
1
==
s
.
ruleFormData
.
attenceType
?(
s
.
$message
.
success
(
"保存成功"
),
s
.
$router
.
go
(
-
1
)):
s
.
$router
.
push
(
"/workTimeManage?appIcon="
+
s
.
$route
.
query
.
appIcon
+
"&attenceGroupId="
+
s
.
$route
.
query
.
attenceGroupId
):
s
.
$message
.
error
(
t
.
message
)})},
500
),
getClassifyData
:
function
(){
var
e
=
this
,
t
=
{
enterpriseId
:
e
.
enterpriseId
};
Object
(
d
.
a
)(
"/haoban-app-attence-web/attence-classes-list"
,
t
).
then
(
function
(
t
){
var
s
=
t
.
data
;
if
(
1
==
s
.
errorCode
)
return
s
.
result
.
list
&&
s
.
result
.
list
.
length
&&
s
.
result
.
list
.
forEach
(
function
(
e
){
e
.
classessTimesJson
&&
(
e
.
classessTimesJson
=
JSON
.
parse
(
e
.
classessTimesJson
))}),
e
.
classifyList
=
s
.
result
.
list
||
[],
!
1
;
p
.
a
.
errorMsg
(
s
)}).
catch
(
function
(
t
){
e
.
$message
.
error
({
duration
:
1
e3
,
message
:
t
.
message
})})},
getGroupData
:
function
(){
var
e
=
this
,
t
=
{
attenceGroupId
:
e
.
$route
.
query
.
attenceGroupId
};
Object
(
d
.
a
)(
"/haoban-app-attence-web/attence-detail"
,
t
).
then
(
function
(
t
){
var
s
=
t
.
data
;
if
(
1
==
s
.
errorCode
)
return
s
.
result
.
attenceRangeType
=
1
==
s
.
result
.
attenceRangeType
,
s
.
result
.
attenceRangeStoreType
=
1
==
s
.
result
.
attenceRangeStoreType
,
s
.
result
.
noAttenceRangeType
=
1
==
s
.
result
.
noAttenceRangeType
,
s
.
result
.
noAttenceRangeStoreType
=
1
==
s
.
result
.
noAttenceRangeStoreType
,
s
.
result
.
attenceRangeJson
=
s
.
result
.
attenceRangeJson
?
JSON
.
parse
(
s
.
result
.
attenceRangeJson
):[],
s
.
result
.
lawFreeFlag
=
1
==
s
.
result
.
lawFreeFlag
,
s
.
result
.
storeClockFlag
=
1
==
s
.
result
.
storeClockFlag
,
s
.
result
.
gpsFlag
=
1
==
s
.
result
.
gpsFlag
,
s
.
result
.
clockDistance
=
parseInt
(
s
.
result
.
clockDistance
),
s
.
result
.
distanceAddress
=
s
.
result
.
distanceAddress
?
JSON
.
parse
(
s
.
result
.
distanceAddress
):[],
s
.
result
.
sperialRangeJson
=
s
.
result
.
sperialRangeJson
?
JSON
.
parse
(
s
.
result
.
sperialRangeJson
):[],
s
.
result
.
attenceWorkJson
=
s
.
result
.
attenceWorkJson
?
JSON
.
parse
(
s
.
result
.
attenceWorkJson
):[],
s
.
result
.
attenceClassesRangeJSON
=
s
.
result
.
attenceClassesRangeJSON
?
JSON
.
parse
(
s
.
result
.
attenceClassesRangeJSON
):[],
s
.
result
.
classesJson
=
s
.
result
.
classesJson
?
JSON
.
parse
(
s
.
result
.
classesJson
):[],
s
.
result
.
adminList
=
[],
s
.
result
.
storeList
=
[],
s
.
result
.
noAdminList
=
[],
s
.
result
.
noStoreList
=
[],
s
.
result
.
attenceRangeJson
&&
s
.
result
.
attenceRangeJson
.
forEach
(
function
(
e
){
1
==
e
.
rangeType
&&
0
==
e
.
storeFlag
&&
s
.
result
.
adminList
.
push
(
e
),
2
==
e
.
rangeType
&&
0
==
e
.
storeFlag
&&
s
.
result
.
noAdminList
.
push
(
e
),
1
==
e
.
rangeType
&&
1
==
e
.
storeFlag
&&
s
.
result
.
storeList
.
push
(
e
),
2
==
e
.
rangeType
&&
1
==
e
.
storeFlag
&&
s
.
result
.
noStoreList
.
push
(
e
)}),
s
.
result
.
attenceWorkJson
&&
s
.
result
.
attenceWorkJson
.
forEach
(
function
(
e
){
e
.
workType
=
1
==
e
.
workType
}),
s
.
result
.
attenceWorkJson
&&
s
.
result
.
attenceWorkJson
.
length
&&
s
.
result
.
attenceWorkJson
.
forEach
(
function
(
e
){
e
.
classessTimesJson
=
e
.
classessTimesJson
?
JSON
.
parse
(
e
.
classessTimesJson
):[]}),
s
.
result
.
classesJson
&&
s
.
result
.
classesJson
.
length
&&
s
.
result
.
classesJson
.
forEach
(
function
(
e
){
e
.
classessTimesJson
=
e
.
classessTimesJson
?
JSON
.
parse
(
e
.
classessTimesJson
):[]}),
e
.
mustSelection
=
s
.
result
.
adminList
,
e
.
mustStoreList
=
s
.
result
.
storeList
,
e
.
noSelection
=
s
.
result
.
noAdminList
,
e
.
noStoreList
=
s
.
result
.
noStoreList
,
e
.
ruleFormData
=
JSON
.
parse
(
n
()(
s
.
result
)),
!
1
;
p
.
a
.
errorMsg
(
resData
)}).
catch
(
function
(
t
){
e
.
$message
.
error
({
duration
:
1
e3
,
message
:
t
.
message
})})},
setDistance
:
function
(){
for
(
var
e
=
1
;
e
<
11
;
e
++
)
this
.
distance
.
push
({
value
:
100
*
e
,
label
:
100
*
e
+
"米"
});
this
.
distance
.
push
({
value
:
2
e3
,
label
:
"2000米"
})}},
watch
:{
brandId
:
function
(
e
,
t
){
e
&&
(
this
.
activeBrand
=
e
,
this
.
getClassifyData
())},
activeGroupId
:
function
(
e
,
t
){
e
&&
(
this
.
activeGroup
=
e
)}},
components
:{
commonDetailTop
:
F
.
a
,
limitInput
:
T
.
a
,
limitTextarea
:
L
.
a
,
vueSelectStore
:
R
.
a
,
vueSelectEmployee
:
$
.
a
,
classSelect
:
v
,
mapSelect
:
C
,
classSelectMult
:
b
,
cycleSet
:
x
},
mounted
:
function
(){
var
e
=
this
;
e
.
$emit
(
"showTab"
,
"2"
),
e
.
setDistance
(),
e
.
$route
.
query
.
attenceGroupId
&&
e
.
$nextTick
(
function
(){
e
.
getGroupData
()})}},
G
=
{
render
:
function
(){
var
e
=
this
,
t
=
e
.
$createElement
,
s
=
e
.
_self
.
_c
||
t
;
return
s
(
"div"
,{
staticClass
:
"notice-list-wrap"
},[
s
(
"div"
,{
staticClass
:
"notice-list"
},[
s
(
"common-detail-top"
,{
attrs
:{
topMenuData
:
e
.
topMenuData
,
activeId
:
e
.
activeId
}}),
e
.
_v
(
" "
),
s
(
"el-form"
,{
ref
:
"noteForm"
,
staticClass
:
"demo-ruleForm"
,
attrs
:{
model
:
e
.
ruleFormData
,
rules
:
e
.
rules
,
"label-width"
:
"120px"
}},[
s
(
"el-form-item"
,{
staticClass
:
"input-item"
,
attrs
:{
label
:
"考勤组名称:"
,
prop
:
"attenceGroupName"
}},[
s
(
"limitInput"
,{
attrs
:{
disflag
:
!!
e
.
$route
.
query
.
attenceGroupId
,
inputWidth
:
286
,
inputValue
:
e
.
ruleFormData
.
attenceGroupName
,
holder
:
"请输入考勤组名称"
,
getByType
:
"word"
,
maxLength
:
15
},
on
:{
"update:inputValue"
:
function
(
t
){
e
.
$set
(
e
.
ruleFormData
,
"attenceGroupName"
,
t
)}}})],
1
),
e
.
_v
(
" "
),
s
(
"el-form-item"
,{
staticClass
:
"input-item"
,
attrs
:{
label
:
"参与考勤人员:"
,
prop
:
""
}},[
s
(
"div"
,{
staticClass
:
"flex"
},[
s
(
"el-checkbox"
,{
model
:{
value
:
e
.
ruleFormData
.
attenceRangeType
,
callback
:
function
(
t
){
e
.
$set
(
e
.
ruleFormData
,
"attenceRangeType"
,
t
)},
expression
:
"ruleFormData.attenceRangeType"
}},[
e
.
_v
(
"行政架构"
)]),
e
.
_v
(
" "
),
e
.
ruleFormData
.
attenceRangeType
?
s
(
"div"
,{
staticClass
:
"flex-column item-cell-select inline-block m-l-10"
},[
s
(
"div"
,{
staticClass
:
"depart-item-wrap"
},[
s
(
"div"
,{
staticClass
:
"el-select el-select--large depart-item-content"
,
staticStyle
:{
width
:
"470px"
},
on
:{
click
:
function
(
t
){
e
.
showDialogMust
(
"depart"
,
e
.
ruleFormData
.
adminList
)}}},[
e
.
ruleFormData
.
adminList
.
length
?
e
.
_e
():
s
(
"span"
,{
staticClass
:
"font-14 color-c0c4cc p-l-10"
},[
e
.
_v
(
"请选择行政架构"
)]),
e
.
_v
(
" "
),
s
(
"div"
,{
staticClass
:
"el-select__tags"
},[
s
(
"span"
,[
e
.
_l
(
e
.
ruleFormData
.
adminList
,
function
(
t
,
a
){
return
[
s
(
"span"
,{
key
:
a
,
staticClass
:
"el-tag el-tag--info el-tag--small"
},[
s
(
"span"
,{
staticClass
:
"el-select__tags-text"
},[
e
.
_v
(
e
.
_s
(
t
.
name
||
t
.
storeName
))]),
s
(
"i"
,{
staticClass
:
"el-tag__close el-icon-close"
,
on
:{
click
:
function
(
t
){
t
.
stopPropagation
(),
e
.
delDepart
(
a
,
e
.
ruleFormData
.
adminList
,
"depart"
)}}})])]})],
2
)])])])]):
e
.
_e
()],
1
),
e
.
_v
(
" "
),
s
(
"div"
,{
staticClass
:
"flex m-t-20"
},[
s
(
"el-checkbox"
,{
model
:{
value
:
e
.
ruleFormData
.
attenceRangeStoreType
,
callback
:
function
(
t
){
e
.
$set
(
e
.
ruleFormData
,
"attenceRangeStoreType"
,
t
)},
expression
:
"ruleFormData.attenceRangeStoreType"
}},[
e
.
_v
(
"门店架构"
)]),
e
.
_v
(
" "
),
e
.
ruleFormData
.
attenceRangeStoreType
?
s
(
"div"
,{
staticClass
:
"flex-column item-cell-select inline-block m-l-10"
},[
s
(
"div"
,{
staticClass
:
"depart-item-wrap"
},[
s
(
"div"
,{
staticClass
:
"el-select el-select--large depart-item-content"
,
staticStyle
:{
width
:
"470px"
},
on
:{
click
:
function
(
t
){
e
.
showDialogMust
(
"store"
,
e
.
ruleFormData
.
storeList
)}}},[
e
.
ruleFormData
.
storeList
.
length
?
e
.
_e
():
s
(
"span"
,{
staticClass
:
"font-14 color-c0c4cc p-l-10"
},[
e
.
_v
(
"请选择门店架构"
)]),
e
.
_v
(
" "
),
s
(
"div"
,{
staticClass
:
"el-select__tags"
},[
s
(
"span"
,[
e
.
_l
(
e
.
ruleFormData
.
storeList
,
function
(
t
,
a
){
return
[
s
(
"span"
,{
key
:
a
,
staticClass
:
"el-tag el-tag--info el-tag--small"
},[
s
(
"span"
,{
staticClass
:
"el-select__tags-text"
},[
e
.
_v
(
e
.
_s
(
t
.
name
||
t
.
storeName
))]),
s
(
"i"
,{
staticClass
:
"el-tag__close el-icon-close"
,
on
:{
click
:
function
(
t
){
t
.
stopPropagation
(),
e
.
delDepart
(
a
,
e
.
ruleFormData
.
storeList
,
"store"
)}}})])]})],
2
)])])])]):
e
.
_e
()],
1
)]),
e
.
_v
(
" "
),
s
(
"el-form-item"
,{
staticClass
:
"input-item"
,
attrs
:{
label
:
"考勤白名单:"
,
prop
:
""
}},[
s
(
"div"
,{
staticClass
:
"flex"
},[
s
(
"el-checkbox"
,{
model
:{
value
:
e
.
ruleFormData
.
noAttenceRangeType
,
callback
:
function
(
t
){
e
.
$set
(
e
.
ruleFormData
,
"noAttenceRangeType"
,
t
)},
expression
:
"ruleFormData.noAttenceRangeType"
}},[
e
.
_v
(
"行政架构"
)]),
e
.
_v
(
" "
),
e
.
ruleFormData
.
noAttenceRangeType
?
s
(
"div"
,{
staticClass
:
"flex-column item-cell-select inline-block m-l-10"
},[
s
(
"div"
,{
staticClass
:
"depart-item-wrap"
},[
s
(
"div"
,{
staticClass
:
"el-select el-select--large depart-item-content"
,
staticStyle
:{
width
:
"470px"
},
on
:{
click
:
function
(
t
){
e
.
showDialogNo
(
"depart"
,
e
.
ruleFormData
.
noAdminList
)}}},[
e
.
ruleFormData
.
noAdminList
.
length
?
e
.
_e
():
s
(
"span"
,{
staticClass
:
"font-14 color-c0c4cc p-l-10"
},[
e
.
_v
(
"请选择行政架构"
)]),
e
.
_v
(
" "
),
s
(
"div"
,{
staticClass
:
"el-select__tags"
},[
s
(
"span"
,[
e
.
_l
(
e
.
ruleFormData
.
noAdminList
,
function
(
t
,
a
){
return
[
s
(
"span"
,{
key
:
a
,
staticClass
:
"el-tag el-tag--info el-tag--small"
},[
s
(
"span"
,{
staticClass
:
"el-select__tags-text"
},[
e
.
_v
(
e
.
_s
(
t
.
name
||
t
.
storeName
))]),
s
(
"i"
,{
staticClass
:
"el-tag__close el-icon-close"
,
on
:{
click
:
function
(
t
){
t
.
stopPropagation
(),
e
.
delDepart
(
a
,
e
.
ruleFormData
.
noAdminList
,
"depart"
)}}})])]})],
2
)])])])]):
e
.
_e
()],
1
),
e
.
_v
(
" "
),
s
(
"div"
,{
staticClass
:
"flex m-t-20"
},[
s
(
"el-checkbox"
,{
model
:{
value
:
e
.
ruleFormData
.
noAttenceRangeStoreType
,
callback
:
function
(
t
){
e
.
$set
(
e
.
ruleFormData
,
"noAttenceRangeStoreType"
,
t
)},
expression
:
"ruleFormData.noAttenceRangeStoreType"
}},[
e
.
_v
(
"门店架构"
)]),
e
.
_v
(
" "
),
e
.
ruleFormData
.
noAttenceRangeStoreType
?
s
(
"div"
,{
staticClass
:
"flex-column item-cell-select inline-block m-l-10"
},[
s
(
"div"
,{
staticClass
:
"depart-item-wrap"
},[
s
(
"div"
,{
staticClass
:
"el-select el-select--large depart-item-content"
,
staticStyle
:{
width
:
"470px"
},
on
:{
click
:
function
(
t
){
e
.
showDialogNo
(
"store"
,
e
.
ruleFormData
.
noStoreList
)}}},[
e
.
ruleFormData
.
noStoreList
.
length
?
e
.
_e
():
s
(
"span"
,{
staticClass
:
"font-14 color-c0c4cc p-l-10"
},[
e
.
_v
(
"请选择门店架构"
)]),
e
.
_v
(
" "
),
s
(
"div"
,{
staticClass
:
"el-select__tags"
},[
s
(
"span"
,[
e
.
_l
(
e
.
ruleFormData
.
noStoreList
,
function
(
t
,
a
){
return
[
s
(
"span"
,{
key
:
a
,
staticClass
:
"el-tag el-tag--info el-tag--small"
},[
s
(
"span"
,{
staticClass
:
"el-select__tags-text"
},[
e
.
_v
(
e
.
_s
(
t
.
name
||
t
.
storeName
))]),
s
(
"i"
,{
staticClass
:
"el-tag__close el-icon-close"
,
on
:{
click
:
function
(
t
){
t
.
stopPropagation
(),
e
.
delDepart
(
a
,
e
.
ruleFormData
.
noStoreList
,
"store"
)}}})])]})],
2
)])])])]):
e
.
_e
()],
1
)]),
e
.
_v
(
" "
),
s
(
"el-form-item"
,{
attrs
:{
label
:
"考勤类型:"
,
prop
:
""
}},[
s
(
"div"
,{
staticClass
:
"work-type m-b-8"
},[
s
(
"el-radio"
,{
attrs
:{
disabled
:
!!
e
.
$route
.
query
.
attenceGroupId
,
label
:
1
},
model
:{
value
:
e
.
ruleFormData
.
attenceType
,
callback
:
function
(
t
){
e
.
$set
(
e
.
ruleFormData
,
"attenceType"
,
t
)},
expression
:
"ruleFormData.attenceType"
}},[
e
.
_v
(
"固定时间上下班【所有人按照相同时间打卡】"
)]),
e
.
_v
(
" "
),
s
(
"div"
,{
staticClass
:
"line-h-15 font-14 color-909399"
},[
e
.
_v
(
"适用于:办公室等"
)])],
1
),
e
.
_v
(
" "
),
s
(
"div"
,{
staticClass
:
"work-type m-b-8"
},[
s
(
"el-radio"
,{
attrs
:{
disabled
:
!!
e
.
$route
.
query
.
attenceGroupId
,
label
:
2
},
model
:{
value
:
e
.
ruleFormData
.
attenceType
,
callback
:
function
(
t
){
e
.
$set
(
e
.
ruleFormData
,
"attenceType"
,
t
)},
expression
:
"ruleFormData.attenceType"
}},[
e
.
_v
(
"排班时间上下班【不同人员根据各自排班打卡】"
)]),
e
.
_v
(
" "
),
s
(
"div"
,{
staticClass
:
"line-h-15 font-14 color-909399"
},[
e
.
_v
(
"适用于:工厂、门店等"
)])],
1
)]),
e
.
_v
(
" "
),
1
==
e
.
ruleFormData
.
attenceType
?
s
(
"el-form-item"
,{
attrs
:{
label
:
"工作日设置:"
,
prop
:
""
}},[
s
(
"div"
,{
staticClass
:
"quick-set-table"
},[
s
(
"el-table"
,{
ref
:
"multipleTable"
,
staticStyle
:{
width
:
"567px"
},
attrs
:{
data
:
e
.
ruleFormData
.
attenceWorkJson
,
"tooltip-effect"
:
"dark"
}},[
s
(
"el-table-column"
,{
attrs
:{
width
:
"55"
},
scopedSlots
:
e
.
_u
([{
key
:
"default"
,
fn
:
function
(
e
){}}])}),
e
.
_v
(
" "
),
s
(
"el-table-column"
,{
attrs
:{
label
:
"工作日"
,
width
:
"120"
},
scopedSlots
:
e
.
_u
([{
key
:
"default"
,
fn
:
function
(
t
){
return
[
e
.
_v
(
e
.
_s
(
e
.
weekDays
[
t
.
row
.
weekDay
]))]}}])}),
e
.
_v
(
" "
),
s
(
"el-table-column"
,{
attrs
:{
prop
:
"name"
,
label
:
"排班时间段"
,
width
:
"120"
},
scopedSlots
:
e
.
_u
([{
key
:
"default"
,
fn
:
function
(
t
){
return
[
t
.
row
.
workType
?
s
(
"div"
,
e
.
_l
(
t
.
row
.
classessTimesJson
,
function
(
t
,
a
){
return
s
(
"div"
,{
key
:
a
+
"time"
},[
e
.
_v
(
e
.
_s
(
t
.
startTime
)
+
"-"
+
e
.
_s
(
t
.
endTime
))])})):
s
(
"div"
,[
e
.
_v
(
"休息"
)])]}}])}),
e
.
_v
(
" "
),
s
(
"el-table-column"
,{
attrs
:{
prop
:
"address"
,
label
:
"操作"
,
"show-overflow-tooltip"
:
""
},
scopedSlots
:
e
.
_u
([{
key
:
"default"
,
fn
:
function
(
t
){
return
[
s
(
"el-button"
,{
attrs
:{
type
:
"text"
},
on
:{
click
:
function
(
s
){
s
.
stopPropagation
(),
e
.
modClasses
(
t
.
$index
,
t
.
row
)}}},[
e
.
_v
(
"更改班次"
)])]}}])})],
1
)],
1
),
e
.
_v
(
" "
),
s
(
"div"
,[
s
(
"el-checkbox"
,{
model
:{
value
:
e
.
ruleFormData
.
lawFreeFlag
,
callback
:
function
(
t
){
e
.
$set
(
e
.
ruleFormData
,
"lawFreeFlag"
,
t
)},
expression
:
"ruleFormData.lawFreeFlag"
}},[
e
.
_v
(
"法定节假日自动排休"
)])],
1
)]):
e
.
_e
(),
e
.
_v
(
" "
),
2
==
e
.
ruleFormData
.
attenceType
?
s
(
"el-form-item"
,{
attrs
:{
label
:
"考勤班次:"
,
prop
:
""
}},[
e
.
ruleFormData
.
classesJson
.
length
?
s
(
"div"
,{
staticClass
:
"tags-classes"
},[
s
(
"div"
,{
staticClass
:
"attend-type-classes"
,
on
:{
click
:
e
.
toShowClassMult
}},[
s
(
"div"
,{
staticClass
:
"attend-type-classes-display"
},
e
.
_l
(
e
.
ruleFormData
.
classesJson
,
function
(
t
,
a
){
return
s
(
"div"
,{
key
:
a
,
class
:[
"class-tag"
,
a
%
7
==
0
?
"day-tag-blue"
:
""
,
a
%
7
==
1
?
"day-tag-red"
:
""
,
a
%
7
==
2
?
"day-tag-purple"
:
""
,
a
%
7
==
3
?
"day-tag-orange"
:
""
,
a
%
7
==
4
?
"day-tag-green"
:
""
,
a
%
7
==
5
?
"day-tag-pink"
:
""
,
a
%
7
==
6
?
"day-tag-cyan"
:
""
]},[
s
(
"span"
,{
staticClass
:
"ant-tag-text"
},[
e
.
_v
(
"班次"
+
e
.
_s
(
t
.
classesName
)
+
":"
)]),
e
.
_v
(
" "
),
e
.
_l
(
t
.
classessTimesJson
,
function
(
t
,
a
){
return
s
(
"span"
,{
key
:
a
+
"time"
},[
e
.
_v
(
e
.
_s
(
t
.
startTime
)
+
"-"
+
e
.
_s
(
t
.
endTime
))])})],
2
)}))])]):
s
(
"div"
,{
staticClass
:
"classes-btn"
},[
s
(
"el-button"
,{
attrs
:{
type
:
"primary"
,
plain
:
""
},
on
:{
click
:
e
.
toShowClassMult
}},[
e
.
_v
(
"选择班次"
)])],
1
)]):
e
.
_e
(),
e
.
_v
(
" "
),
2
==
e
.
ruleFormData
.
attenceType
&&
e
.
ruleFormData
.
classesJson
.
length
?
s
(
"el-form-item"
,{
attrs
:{
label
:
"排班周期:"
,
prop
:
""
}},[
e
.
ruleFormData
.
attenceClassesRangeJSON
.
length
?
s
(
"el-table"
,{
staticStyle
:{
width
:
"567px"
},
attrs
:{
data
:
e
.
ruleFormData
.
attenceClassesRangeJSON
,
"tooltip-effect"
:
"dark"
}},[
s
(
"el-table-column"
,{
attrs
:{
prop
:
"ranageName"
,
label
:
"周期名称"
,
"show-overflow-tooltip"
:
""
},
scopedSlots
:
e
.
_u
([{
key
:
"default"
,
fn
:
function
(
t
){
return
[
e
.
_v
(
e
.
_s
(
t
.
row
.
rangeName
))]}}])}),
e
.
_v
(
" "
),
s
(
"el-table-column"
,{
attrs
:{
prop
:
"name"
,
label
:
"周期班次"
,
"show-overflow-tooltip"
:
""
},
scopedSlots
:
e
.
_u
([{
key
:
"default"
,
fn
:
function
(
t
){
return
e
.
_l
(
t
.
row
.
classes
,
function
(
t
,
a
){
return
s
(
"span"
,{
key
:
a
+
"time"
},[
e
.
_v
(
e
.
_s
(
a
>
1
?
"-"
:
""
)
+
e
.
_s
(
t
.
classesName
))])})}}])}),
e
.
_v
(
" "
),
s
(
"el-table-column"
,{
attrs
:{
prop
:
"ranageName"
,
label
:
"周期天数"
},
scopedSlots
:
e
.
_u
([{
key
:
"default"
,
fn
:
function
(
t
){
return
[
e
.
_v
(
e
.
_s
(
t
.
row
.
days
))]}}])}),
e
.
_v
(
" "
),
s
(
"el-table-column"
,{
attrs
:{
prop
:
"address"
,
label
:
"操作"
,
"show-overflow-tooltip"
:
""
},
scopedSlots
:
e
.
_u
([{
key
:
"default"
,
fn
:
function
(
t
){
return
[
s
(
"el-button"
,{
attrs
:{
type
:
"text"
},
on
:{
click
:
function
(
s
){
e
.
editRange
(
t
.
$index
,
t
.
row
)}}},[
e
.
_v
(
"编辑"
)])]}}])})],
1
):
s
(
"div"
,{
staticClass
:
"classes-btn"
},[
s
(
"el-button"
,{
attrs
:{
type
:
"primary"
,
plain
:
""
},
on
:{
click
:
e
.
toShowRangeMult
}},[
e
.
_v
(
"请设置排班周期"
)])],
1
)],
1
):
e
.
_e
(),
e
.
_v
(
" "
),
s
(
"el-form-item"
,{
attrs
:{
label
:
"考勤方式:"
,
prop
:
""
}},[
s
(
"div"
,[
s
(
"el-checkbox"
,{
model
:{
value
:
e
.
ruleFormData
.
gpsFlag
,
callback
:
function
(
t
){
e
.
$set
(
e
.
ruleFormData
,
"gpsFlag"
,
t
)},
expression
:
"ruleFormData.gpsFlag"
}},[
e
.
_v
(
"GPS打卡"
)]),
e
.
ruleFormData
.
gpsFlag
?
e
.
_e
():
s
(
"span"
,{
staticClass
:
"p-l-10 font-12 color-909399"
},[
e
.
_v
(
"你尚未设置任何考勤方式,保存设置后成员可在任何地点打卡"
)])],
1
),
e
.
_v
(
" "
),
s
(
"div"
,{
staticClass
:
"gps-body p-20 bg-f7f8fa"
,
staticStyle
:{
width
:
"567px"
}},[
s
(
"div"
,[
e
.
_v
(
"根据工作地点考勤(可添加多个考勤地点)"
)]),
e
.
_v
(
" "
),
s
(
"div"
,[
s
(
"el-button"
,{
attrs
:{
type
:
"primary"
,
plain
:
""
},
on
:{
click
:
e
.
addMap
}},[
e
.
_v
(
"添加考勤地点"
)]),
e
.
_v
(
" "
),
s
(
"span"
,[
e
.
_v
(
"有效范围"
)]),
e
.
_v
(
" "
),
s
(
"el-select"
,{
attrs
:{
placeholder
:
"请选择"
},
model
:{
value
:
e
.
ruleFormData
.
clockDistance
,
callback
:
function
(
t
){
e
.
$set
(
e
.
ruleFormData
,
"clockDistance"
,
t
)},
expression
:
"ruleFormData.clockDistance"
}},
e
.
_l
(
e
.
distance
,
function
(
e
){
return
s
(
"el-option"
,{
key
:
e
.
value
,
attrs
:{
label
:
e
.
label
,
value
:
e
.
value
}})}))],
1
),
e
.
_v
(
" "
),
e
.
ruleFormData
.
distanceAddress
.
length
?
s
(
"div"
,{
staticClass
:
"m-t-20"
},[
s
(
"el-table"
,{
staticStyle
:{
width
:
"567px"
},
attrs
:{
data
:
e
.
ruleFormData
.
distanceAddress
,
"tooltip-effect"
:
"dark"
}},[
s
(
"el-table-column"
,{
attrs
:{
prop
:
"name"
,
label
:
"考勤地址"
},
scopedSlots
:
e
.
_u
([{
key
:
"default"
,
fn
:
function
(
t
){
return
[
e
.
_v
(
e
.
_s
(
t
.
row
.
address
))]}}])}),
e
.
_v
(
" "
),
s
(
"el-table-column"
,{
attrs
:{
prop
:
"address"
,
label
:
"操作"
,
"show-overflow-tooltip"
:
""
},
scopedSlots
:
e
.
_u
([{
key
:
"default"
,
fn
:
function
(
t
){
return
[
s
(
"el-button"
,{
attrs
:{
type
:
"text"
},
on
:{
click
:
function
(
s
){
e
.
delGps
(
t
.
$index
,
t
.
row
)}}},[
e
.
_v
(
"删除"
)])]}}])})],
1
)],
1
):
e
.
_e
(),
e
.
_v
(
" "
),
s
(
"div"
,[
s
(
"el-checkbox"
,{
model
:{
value
:
e
.
ruleFormData
.
storeClockFlag
,
callback
:
function
(
t
){
e
.
$set
(
e
.
ruleFormData
,
"storeClockFlag"
,
t
)},
expression
:
"ruleFormData.storeClockFlag"
}},[
e
.
_v
(
"根据门店地址经纬度自动配置"
)]),
e
.
_v
(
" "
),
s
(
"p"
,{
staticClass
:
"font-14 color-909399"
},[
e
.
_v
(
"如门店经纬度有误,请在通讯录修改门店相关信息,未设置门店打卡无须选择此项"
)])],
1
)])]),
e
.
_v
(
" "
),
s
(
"el-form-item"
,[
s
(
"div"
,{
staticClass
:
"btn-wrap"
},[
s
(
"el-button"
,{
attrs
:{
plain
:
""
},
on
:{
click
:
e
.
cancelSend
}},[
e
.
_v
(
"取消"
)]),
e
.
_v
(
" "
),
1
==
e
.
ruleFormData
.
attenceType
?
s
(
"el-button"
,{
attrs
:{
type
:
"primary"
},
on
:{
click
:
function
(
t
){
e
.
toSubmit
(
"noteForm"
,
"1"
)}}},[
e
.
_v
(
"保存"
)]):
e
.
_e
(),
e
.
_v
(
" "
),
2
==
e
.
ruleFormData
.
attenceType
?
s
(
"el-button"
,{
attrs
:{
type
:
"primary"
},
on
:{
click
:
function
(
t
){
e
.
toSubmit
(
"noteForm"
,
"2"
)}}},[
e
.
_v
(
"保存设置,开始排班 "
)]):
e
.
_e
()],
1
)])],
1
)],
1
),
e
.
_v
(
" "
),
s
(
"vue-select-employee"
,{
attrs
:{
appScene
:
e
.
appScene
,
defaultSelection
:
e
.
mustSelection
,
onlyPerson
:
e
.
onlyPerson
,
treeSet
:
e
.
treeSet
,
changed
:
e
.
changed
},
on
:{
handleSelectedList
:
e
.
handleMustList
}}),
e
.
_v
(
" "
),
s
(
"vue-select-store"
,{
ref
:
"storeSelector"
,
attrs
:{
appScene
:
e
.
appScene
,
treeSet
:
e
.
storeTreeSet
,
selectType
:
"all"
,
defaultList
:
e
.
mustStoreList
},
on
:{
handleSelectedList
:
e
.
handleMustList
}}),
e
.
_v
(
" "
),
s
(
"vue-select-employee"
,{
attrs
:{
appScene
:
e
.
appScene
,
defaultSelection
:
e
.
noSelection
,
onlyPerson
:
!
0
,
treeSet
:
e
.
noTreeSet
,
changed
:
e
.
changedNo
},
on
:{
handleSelectedList
:
e
.
handleNoList
}}),
e
.
_v
(
" "
),
s
(
"vue-select-store"
,{
ref
:
"storeSelector"
,
attrs
:{
appScene
:
e
.
appScene
,
treeSet
:
e
.
noStoreTreeSet
,
selectType
:
"person"
,
defaultList
:
e
.
noStoreList
},
on
:{
handleSelectedList
:
e
.
handleNoList
}}),
e
.
_v
(
" "
),
s
(
"el-dialog"
,{
attrs
:{
title
:
"选择规则生效时间"
,
visible
:
e
.
showEffect
,
width
:
"420px"
,
"before-close"
:
e
.
handleClose
},
on
:{
"update:visible"
:
function
(
t
){
e
.
showEffect
=
t
}}},[
s
(
"span"
,[
e
.
_v
(
"立即生效:今日考勤结果将按新规则重算"
)]),
e
.
_v
(
" "
),
s
(
"span"
,{
staticClass
:
"dialog-footer"
,
attrs
:{
slot
:
"footer"
},
slot
:
"footer"
},[
s
(
"el-button"
,{
on
:{
click
:
function
(
t
){
e
.
sendData
(
"noteForm"
,
"0"
)}}},[
e
.
_v
(
"明天生效"
)])],
1
)]),
e
.
_v
(
" "
),
s
(
"class-select"
,{
attrs
:{
workClassShow
:
e
.
workClassShow
,
classesId
:
e
.
classesId
},
on
:{
hideClassDialog
:
e
.
hideClassDialog
}}),
e
.
_v
(
" "
),
s
(
"map-select"
,{
attrs
:{
mapShow
:
e
.
mapShow
},
on
:{
hideMapDialog
:
e
.
hideMapDialog
}}),
e
.
_v
(
" "
),
s
(
"class-select-mult"
,{
attrs
:{
workClassMultShow
:
e
.
workClassMultShow
,
classesData
:
e
.
ruleFormData
.
classesJson
},
on
:{
hideMultClassDialog
:
e
.
hideMultClassDialog
}}),
e
.
_v
(
" "
),
s
(
"cycle-set"
,{
attrs
:{
rangeShow
:
e
.
rangeShow
,
classesJson
:
e
.
classesJson
,
attenceGroupData
:
e
.
attenceGroupData
,
attenceGroupId
:
e
.
$route
.
query
.
attenceGroupId
},
on
:{
hideCycleDialog
:
e
.
hideCycleDialog
}})],
1
)},
staticRenderFns
:[]};
var
A
=
s
(
"VU/8"
)(
O
,
G
,
!
1
,
function
(
e
){
s
(
"CuWz"
)},
"data-v-a13b029a"
,
null
);
t
.
default
=
A
.
exports
},
kr0l
:
function
(
e
,
t
){}});
\ No newline at end of file
webpackJsonp
([
15
],{
"08l2"
:
function
(
e
,
t
){},
"6WUy"
:
function
(
e
,
t
){},
DsHd
:
function
(
e
,
t
){},
ZWJ6
:
function
(
e
,
t
){},
estW
:
function
(
e
,
t
,
s
){
"use strict"
;
Object
.
defineProperty
(
t
,
"__esModule"
,{
value
:
!
0
});
var
a
=
s
(
"Gu7T"
),
o
=
s
.
n
(
a
),
l
=
s
(
"mvHQ"
),
n
=
s
.
n
(
l
),
r
=
s
(
"Xxa5"
),
i
=
s
.
n
(
r
),
c
=
s
(
"exGp"
),
u
=
s
.
n
(
c
),
d
=
s
(
"P9l9"
),
p
=
s
(
"Ch4/"
),
m
=
s
(
"3E4D"
),
g
=
s
(
"PI0u"
),
f
=
{
name
:
"class-select"
,
components
:{},
props
:{
workClassShow
:{
type
:
Boolean
,
default
:
!
1
},
classesId
:{
type
:
String
,
default
:
""
}},
data
:
function
(){
return
{
enterpriseId
:
JSON
.
parse
(
localStorage
.
getItem
(
"userInfo"
)).
enterpriseId
,
userId
:
JSON
.
parse
(
localStorage
.
getItem
(
"userInfo"
)).
userId
,
selClassesId
:
this
.
classesId
,
customDialog
:
!
1
,
tableData
:[],
classesName
:
""
}},
methods
:{
toInput
:
Object
(
g
.
a
)(
function
(
e
,
t
){
this
.
getClassifyData
()},
500
),
clearInput
:
function
(){
this
.
currentPage
=
1
,
this
.
getClassifyData
()},
customConfirm
:
Object
(
g
.
a
)(
u
()(
i
.
a
.
mark
(
function
e
(){
var
t
,
s
;
return
i
.
a
.
wrap
(
function
(
e
){
for
(;;)
switch
(
e
.
prev
=
e
.
next
){
case
0
:
if
((
t
=
this
).
customDialog
=!
1
,
t
.
selClassesId
){
e
.
next
=
5
;
break
}
return
m
.
a
.
showmsg
(
"请选择班次"
,
"warning"
),
e
.
abrupt
(
"return"
,
!
1
);
case
5
:
s
=
{},
t
.
tableData
.
forEach
(
function
(
e
){
e
.
classesId
==
t
.
selClassesId
&&
(
s
=
e
)}),
t
.
$emit
(
"hideClassDialog"
,
s
),
t
.
$nextTick
(
function
(){
t
.
selClassesId
=
""
});
case
9
:
case
"end"
:
return
e
.
stop
()}},
e
,
this
)})),
300
),
handleClose
:
function
(
e
){
e
(),
this
.
hideDialog
()},
customCancel
:
function
(){
this
.
hideDialog
()},
hideDialog
:
function
(){
var
e
=
this
;
e
.
customDialog
=!
1
,
e
.
$emit
(
"hideClassDialog"
),
e
.
$nextTick
(
function
(){
e
.
selClassesId
=
""
})},
getClassifyData
:
function
(){
var
e
=
this
,
t
=
{
enterpriseId
:
e
.
enterpriseId
,
classesName
:
e
.
classesName
};
Object
(
d
.
a
)(
"/haoban-app-attence-web/attence-classes-list"
,
t
).
then
(
function
(
t
){
var
s
=
t
.
data
;
if
(
1
==
s
.
errorCode
)
return
s
.
result
&&
s
.
result
.
length
&&
s
.
result
.
forEach
(
function
(
e
){
e
.
classessTimesJson
&&
(
e
.
classessTimesJson
=
JSON
.
parse
(
e
.
classessTimesJson
))}),
e
.
tableData
=
s
.
result
||
[],
!
1
;
p
.
a
.
errorMsg
(
s
)}).
catch
(
function
(
t
){
e
.
$message
.
error
({
duration
:
1
e3
,
message
:
t
.
message
})})}},
watch
:{
workClassShow
:
function
(
e
,
t
){
this
.
customDialog
=
e
},
classesId
:
function
(
e
){
this
.
selClassesId
=
e
||
""
}},
mounted
:
function
(){
this
.
getClassifyData
(),
this
.
classesId
?
this
.
selClassesId
=
this
.
classesId
:
this
.
selClassesId
=
""
,
this
.
customDialog
=
this
.
workClassShow
}},
h
=
{
render
:
function
(){
var
e
=
this
,
t
=
e
.
$createElement
,
s
=
e
.
_self
.
_c
||
t
;
return
s
(
"el-dialog"
,{
staticClass
:
"edit-dialog"
,
attrs
:{
title
:
"选择班次"
,
visible
:
e
.
customDialog
,
width
:
"600px"
,
"before-close"
:
e
.
handleClose
},
on
:{
"update:visible"
:
function
(
t
){
e
.
customDialog
=
t
}}},[
s
(
"div"
,{
staticClass
:
"edit-dialog-body"
},[
s
(
"div"
,{
staticClass
:
"m-b-20"
},[
s
(
"el-input"
,{
staticClass
:
"w-264"
,
staticStyle
:{
width
:
"264px"
},
attrs
:{
placeholder
:
"请输入班次名称"
,
"prefix-icon"
:
"el-icon-search"
,
clearable
:
""
},
on
:{
clear
:
e
.
clearInput
},
nativeOn
:{
keyup
:
function
(
t
){
return
s
=
t
,
e
.
toInput
(
s
,
e
.
classesName
);
var
s
}},
model
:{
value
:
e
.
classesName
,
callback
:
function
(
t
){
e
.
classesName
=
t
},
expression
:
"classesName"
}})],
1
),
e
.
_v
(
" "
),
s
(
"el-table"
,{
staticStyle
:{
width
:
"100%"
},
attrs
:{
data
:
e
.
tableData
}},[
s
(
"el-table-column"
,{
attrs
:{
label
:
""
,
width
:
"50"
},
scopedSlots
:
e
.
_u
([{
key
:
"default"
,
fn
:
function
(
t
){
return
[
s
(
"el-radio"
,{
attrs
:{
label
:
t
.
row
.
classesId
},
model
:{
value
:
e
.
selClassesId
,
callback
:
function
(
t
){
e
.
selClassesId
=
t
},
expression
:
"selClassesId"
}},[
e
.
_v
(
e
.
_s
(
""
))])]}}])}),
e
.
_v
(
" "
),
s
(
"el-table-column"
,{
attrs
:{
prop
:
"imageUrl"
,
label
:
"班次名称"
,
"show-overflow-tooltip"
:
""
},
scopedSlots
:
e
.
_u
([{
key
:
"default"
,
fn
:
function
(
t
){
return
[
e
.
_v
(
"
\
n "
+
e
.
_s
(
t
.
row
.
classesName
)
+
"
\
n "
)]}}])}),
e
.
_v
(
" "
),
s
(
"el-table-column"
,{
attrs
:{
prop
:
"titleName"
,
label
:
"考勤时间"
,
"show-overflow-tooltip"
:
""
},
scopedSlots
:
e
.
_u
([{
key
:
"default"
,
fn
:
function
(
t
){
return
e
.
_l
(
t
.
row
.
classessTimesJson
,
function
(
t
,
a
){
return
s
(
"div"
,{
key
:
a
+
"time"
},[
e
.
_v
(
e
.
_s
(
t
.
startTime
)
+
"-"
+
e
.
_s
(
t
.
endTime
))])})}}])})],
1
)],
1
),
e
.
_v
(
" "
),
s
(
"div"
,{
staticClass
:
"dialog-footer"
,
attrs
:{
slot
:
"footer"
},
slot
:
"footer"
},[
s
(
"el-button"
,{
on
:{
click
:
function
(
t
){
return
t
.
stopPropagation
(),
e
.
customCancel
(
t
)}}},[
e
.
_v
(
"取消"
)]),
e
.
_v
(
" "
),
s
(
"el-button"
,{
attrs
:{
type
:
"primary"
},
on
:{
click
:
function
(
t
){
t
.
stopPropagation
(),
e
.
customConfirm
(
"ruleForm"
)}}},[
e
.
_v
(
"确定"
)])],
1
)])},
staticRenderFns
:[]};
var
v
=
s
(
"VU/8"
)(
f
,
h
,
!
1
,
function
(
e
){
s
(
"DsHd"
)},
"data-v-2627b5fa"
,
null
).
exports
,
D
=
{
name
:
"class-select-mult"
,
components
:{},
props
:{
workClassMultShow
:{
type
:
Boolean
,
default
:
!
1
},
classesData
:{
type
:
String
,
default
:
""
}},
data
:
function
(){
return
{
enterpriseId
:
JSON
.
parse
(
localStorage
.
getItem
(
"userInfo"
)).
enterpriseId
,
userId
:
JSON
.
parse
(
localStorage
.
getItem
(
"userInfo"
)).
userId
,
selClassesData
:
JSON
.
parse
(
n
()(
this
.
classesData
))
||
[],
customDialog
:
!
1
,
tableData
:[],
classesName
:
""
,
multipleSelection
:[]}},
methods
:{
toggleSelection
:
function
(
e
){
var
t
=
this
;
e
&&
t
.
$nextTick
(
function
(){
e
.
forEach
(
function
(
e
){
t
.
$refs
.
multipleTable
.
toggleRowSelection
(
e
,
!
0
)})})},
handleSelectionChange
:
function
(
e
){
this
.
multipleSelection
=
e
,
this
.
selClassesData
=
JSON
.
parse
(
n
()(
e
))},
toInput
:
Object
(
g
.
a
)(
function
(
e
,
t
){
this
.
getClassifyData
()},
500
),
clearInput
:
function
(){
this
.
currentPage
=
1
,
this
.
getClassifyData
()},
customConfirm
:
Object
(
g
.
a
)(
u
()(
i
.
a
.
mark
(
function
e
(){
var
t
,
s
,
a
,
o
;
return
i
.
a
.
wrap
(
function
(
e
){
for
(;;)
switch
(
e
.
prev
=
e
.
next
){
case
0
:
if
((
t
=
this
).
selClassesData
.
length
){
e
.
next
=
4
;
break
}
return
m
.
a
.
showmsg
(
"请选择班次"
,
"warning"
),
e
.
abrupt
(
"return"
,
!
1
);
case
4
:
if
(
!
(
t
.
selClassesData
.
length
>
10
)){
e
.
next
=
7
;
break
}
return
m
.
a
.
showmsg
(
"最多选择10个班次"
,
"warning"
),
e
.
abrupt
(
"return"
,
!
1
);
case
7
:
if
(
s
=
[],
t
.
classesData
.
length
&&
(
a
=
t
.
selClassesData
.
map
(
function
(
e
){
return
e
.
classesId
}),
t
.
classesData
.
forEach
(
function
(
e
){
a
.
includes
(
e
.
classesId
)
||
s
.
push
(
e
.
classesName
)})),
!
s
.
length
||!
t
.
$route
.
query
.
attenceGroupId
){
e
.
next
=
12
;
break
}
return
t
.
$confirm
(
"移除后,排班周期将自动去掉该班次,但不影响排班表中已排的班次"
,
"确定从考勤组移除"
+
s
.
join
(
"-"
),{
confirmButtonText
:
"确定"
,
cancelButtonText
:
"取消"
,
type
:
"warning"
}).
then
(
function
(){
var
e
=
[];
t
.
selClassesData
.
forEach
(
function
(
t
){
e
.
push
({
classesId
:
t
.
classesId
,
classesName
:
t
.
classesName
,
classessTimesJson
:
t
.
classessTimesJson
})}),
t
.
$emit
(
"hideMultClassDialog"
,
e
),
t
.
customDialog
=!
1
,
t
.
$nextTick
(
function
(){})}).
catch
(
function
(){}),
e
.
abrupt
(
"return"
,
!
1
);
case
12
:
o
=
[],
t
.
selClassesData
.
forEach
(
function
(
e
){
o
.
push
({
classesId
:
e
.
classesId
,
classesName
:
e
.
classesName
,
classessTimesJson
:
e
.
classessTimesJson
})}),
t
.
$emit
(
"hideMultClassDialog"
,
o
),
t
.
customDialog
=!
1
,
t
.
$nextTick
(
function
(){});
case
17
:
case
"end"
:
return
e
.
stop
()}},
e
,
this
)})),
300
),
handleClose
:
function
(
e
){
e
(),
this
.
hideDialog
()},
customCancel
:
function
(){
this
.
hideDialog
()},
hideDialog
:
function
(){
this
.
customDialog
=!
1
,
this
.
$emit
(
"hideMultClassDialog"
),
this
.
$nextTick
(
function
(){})},
handleData
:
function
(){
var
e
=
this
.
selClassesData
.
map
(
function
(
e
){
return
e
.
classesId
}),
t
=
[];
this
.
selClassesData
.
length
&&
(
this
.
tableData
.
forEach
(
function
(
s
){
e
.
includes
(
s
.
classesId
)
&&
t
.
push
(
s
)}),
this
.
toggleSelection
(
t
))},
getClassifyData
:
function
(){
var
e
=
this
,
t
=
{
enterpriseId
:
e
.
enterpriseId
,
classesName
:
e
.
classesName
};
Object
(
d
.
a
)(
"/haoban-app-attence-web/attence-classes-list"
,
t
).
then
(
function
(
t
){
var
s
=
t
.
data
;
if
(
1
==
s
.
errorCode
)
return
s
.
result
&&
s
.
result
.
length
&&
s
.
result
.
forEach
(
function
(
e
){
e
.
classessTimesJson
&&
(
e
.
classessTimesJson
=
JSON
.
parse
(
e
.
classessTimesJson
))}),
e
.
tableData
=
s
.
result
||
[],
e
.
handleData
(),
!
1
;
p
.
a
.
errorMsg
(
s
)}).
catch
(
function
(
t
){
e
.
$message
.
error
({
duration
:
1
e3
,
message
:
t
.
message
})})}},
watch
:{
workClassMultShow
:
function
(
e
,
t
){
this
.
customDialog
=
e
,
this
.
getClassifyData
()},
classesData
:
function
(
e
){
this
.
selClassesData
=
e
?
JSON
.
parse
(
n
()(
e
)):[]}},
mounted
:
function
(){
this
.
getClassifyData
(),
this
.
classesData
?
this
.
selClassesData
=
JSON
.
parse
(
n
()(
this
.
classesData
)):
this
.
selClassesData
=
[],
this
.
customDialog
=
this
.
workClassMultShow
}},
y
=
{
render
:
function
(){
var
e
=
this
,
t
=
e
.
$createElement
,
s
=
e
.
_self
.
_c
||
t
;
return
s
(
"el-dialog"
,{
staticClass
:
"edit-dialog"
,
attrs
:{
title
:
"选择班次"
,
visible
:
e
.
customDialog
,
width
:
"600px"
,
"before-close"
:
e
.
handleClose
},
on
:{
"update:visible"
:
function
(
t
){
e
.
customDialog
=
t
}}},[
s
(
"div"
,{
staticClass
:
"edit-dialog-body"
},[
s
(
"div"
,{
staticClass
:
"m-b-20"
},[
s
(
"el-input"
,{
staticClass
:
"w-264"
,
staticStyle
:{
width
:
"264px"
},
attrs
:{
placeholder
:
"请输入班次名称"
,
"prefix-icon"
:
"el-icon-search"
,
clearable
:
""
},
on
:{
clear
:
e
.
clearInput
},
nativeOn
:{
keyup
:
function
(
t
){
return
s
=
t
,
e
.
toInput
(
s
,
e
.
classesName
);
var
s
}},
model
:{
value
:
e
.
classesName
,
callback
:
function
(
t
){
e
.
classesName
=
t
},
expression
:
"classesName"
}})],
1
),
e
.
_v
(
" "
),
s
(
"el-table"
,{
ref
:
"multipleTable"
,
staticStyle
:{
width
:
"100%"
},
attrs
:{
data
:
e
.
tableData
,
height
:
"350"
},
on
:{
"selection-change"
:
e
.
handleSelectionChange
}},[
s
(
"el-table-column"
,{
attrs
:{
type
:
"selection"
,
width
:
"55"
}}),
e
.
_v
(
" "
),
s
(
"el-table-column"
,{
attrs
:{
prop
:
"imageUrl"
,
label
:
"班次名称"
,
"show-overflow-tooltip"
:
""
},
scopedSlots
:
e
.
_u
([{
key
:
"default"
,
fn
:
function
(
t
){
return
[
e
.
_v
(
"
\
n "
+
e
.
_s
(
t
.
row
.
classesName
)
+
"
\
n "
)]}}])}),
e
.
_v
(
" "
),
s
(
"el-table-column"
,{
attrs
:{
prop
:
"titleName"
,
label
:
"考勤时间"
,
"show-overflow-tooltip"
:
""
},
scopedSlots
:
e
.
_u
([{
key
:
"default"
,
fn
:
function
(
t
){
return
e
.
_l
(
t
.
row
.
classessTimesJson
,
function
(
t
,
a
){
return
s
(
"div"
,{
key
:
a
+
"time"
},[
e
.
_v
(
e
.
_s
(
t
.
startTime
)
+
"-"
+
e
.
_s
(
t
.
endTime
))])})}}])})],
1
)],
1
),
e
.
_v
(
" "
),
s
(
"div"
,{
staticClass
:
"dialog-footer"
,
attrs
:{
slot
:
"footer"
},
slot
:
"footer"
},[
s
(
"el-button"
,{
on
:{
click
:
function
(
t
){
return
t
.
stopPropagation
(),
e
.
customCancel
(
t
)}}},[
e
.
_v
(
"取消"
)]),
e
.
_v
(
" "
),
s
(
"el-button"
,{
attrs
:{
type
:
"primary"
},
on
:{
click
:
function
(
t
){
t
.
stopPropagation
(),
e
.
customConfirm
(
"ruleForm"
)}}},[
e
.
_v
(
"确定"
)])],
1
)])},
staticRenderFns
:[]};
var
S
,
b
=
s
(
"VU/8"
)(
D
,
y
,
!
1
,
function
(
e
){
s
(
"kr0l"
)},
"data-v-0daf0c9a"
,
null
).
exports
,
_
=
{
name
:
"class-select"
,
components
:{},
props
:{
mapShow
:{
type
:
Boolean
,
default
:
!
1
}},
data
:
function
(){
var
e
=
this
;
return
{
enterpriseId
:
JSON
.
parse
(
localStorage
.
getItem
(
"userInfo"
)).
enterpriseId
,
userId
:
JSON
.
parse
(
localStorage
.
getItem
(
"userInfo"
)).
userId
,
selClassesId
:
this
.
classesId
,
customDialog
:
!
1
,
ruleForm
:{
address
:
""
},
rules
:{
address
:[{
required
:
!
0
,
message
:
"请选择考勤地点"
,
trigger
:
"blur"
}]},
zoom
:
12
,
center
:[
120.12497
,
30.277155
],
address
:
""
,
plugin
:[{
pName
:
"ToolBar"
}],
events
:{
click
:
function
(
t
){
var
s
=
t
.
lnglat
,
a
=
s
.
lng
,
o
=
s
.
lat
;
e
.
lng
=
a
,
e
.
lat
=
o
,
new
AMap
.
Geocoder
({
radius
:
1
e3
,
extensions
:
"all"
}).
getAddress
([
a
,
o
],
function
(
t
,
s
){
"complete"
===
t
&&
"OK"
===
s
.
info
&&
s
&&
s
.
regeocode
&&
(
console
.
log
(
s
),
e
.
address
=
s
.
regeocode
.
formattedAddress
,
e
.
ruleForm
.
address
=
s
.
regeocode
.
formattedAddress
,
e
.
$nextTick
())})}},
lng
:
0
,
lat
:
0
}},
methods
:{
customConfirm
:
Object
(
g
.
a
)((
S
=
u
()(
i
.
a
.
mark
(
function
e
(
t
){
var
s
;
return
i
.
a
.
wrap
(
function
(
e
){
for
(;;)
switch
(
e
.
prev
=
e
.
next
){
case
0
:
s
=
this
,
this
.
$refs
[
t
].
validate
(
function
(
e
){
e
&&
(
s
.
customDialog
=!
1
,
s
.
$emit
(
"hideMapDialog"
,{
address
:
s
.
address
,
longitude
:
s
.
lng
,
latitude
:
s
.
lat
}),
s
.
$nextTick
(
function
(){
s
.
address
=
""
,
s
.
ruleForm
.
address
=
""
}))});
case
2
:
case
"end"
:
return
e
.
stop
()}},
e
,
this
)})),
function
(
e
){
return
S
.
apply
(
this
,
arguments
)}),
300
),
handleClose
:
function
(
e
){
e
(),
this
.
hideDialog
()},
customCancel
:
function
(){
this
.
hideDialog
()},
hideDialog
:
function
(){
var
e
=
this
;
e
.
customDialog
=!
1
,
e
.
$emit
(
"hideMapDialog"
),
e
.
$nextTick
(
function
(){
e
.
address
=
""
,
e
.
ruleForm
.
address
=
""
})}},
watch
:{
mapShow
:
function
(
e
,
t
){
this
.
customDialog
=
e
}},
mounted
:
function
(){
this
.
customDialog
=
this
.
mapShow
}},
w
=
{
render
:
function
(){
var
e
=
this
,
t
=
e
.
$createElement
,
s
=
e
.
_self
.
_c
||
t
;
return
s
(
"div"
,{
directives
:[{
name
:
"show"
,
rawName
:
"v-show"
,
value
:
e
.
customDialog
,
expression
:
"customDialog"
}]},[
s
(
"el-dialog"
,{
staticClass
:
"edit-dialog"
,
attrs
:{
title
:
"考勤地点"
,
visible
:
e
.
customDialog
,
width
:
"600px"
,
"before-close"
:
e
.
handleClose
},
on
:{
"update:visible"
:
function
(
t
){
e
.
customDialog
=
t
}}},[
s
(
"div"
,{
staticClass
:
"edit-dialog-body"
},[
s
(
"div"
,{
staticClass
:
"amap-page-container"
},[
s
(
"el-amap"
,{
staticClass
:
"amap-demo"
,
attrs
:{
vid
:
"amapDemo"
,
center
:
e
.
center
,
zoom
:
e
.
zoom
,
plugin
:
e
.
plugin
,
events
:
e
.
events
}}),
e
.
_v
(
" "
),
s
(
"div"
,{
staticClass
:
"toolbar m-t-20"
},[
s
(
"el-form"
,{
ref
:
"ruleForm"
,
staticClass
:
"demo-ruleForm"
,
attrs
:{
model
:
e
.
ruleForm
,
rules
:
e
.
rules
,
"label-width"
:
"100px"
}},[
s
(
"el-form-item"
,{
attrs
:{
label
:
"详细地址:"
,
prop
:
"address"
}},[
s
(
"el-input"
,{
model
:{
value
:
e
.
ruleForm
.
address
,
callback
:
function
(
t
){
e
.
$set
(
e
.
ruleForm
,
"address"
,
t
)},
expression
:
"ruleForm.address"
}})],
1
)],
1
)],
1
)],
1
)]),
e
.
_v
(
" "
),
s
(
"div"
,{
staticClass
:
"dialog-footer"
,
attrs
:{
slot
:
"footer"
},
slot
:
"footer"
},[
s
(
"el-button"
,{
on
:{
click
:
function
(
t
){
return
t
.
stopPropagation
(),
e
.
customCancel
(
t
)}}},[
e
.
_v
(
"取消"
)]),
e
.
_v
(
" "
),
s
(
"el-button"
,{
attrs
:{
type
:
"primary"
},
on
:{
click
:
function
(
t
){
t
.
stopPropagation
(),
e
.
customConfirm
(
"ruleForm"
)}}},[
e
.
_v
(
"确定"
)])],
1
)])],
1
)},
staticRenderFns
:[]};
var
C
=
s
(
"VU/8"
)(
_
,
w
,
!
1
,
function
(
e
){
s
(
"08l2"
)},
"data-v-1e2f8b2a"
,
null
).
exports
,
F
=
s
(
"Ke24"
),
k
=
s
(
"fZjL"
),
I
=
s
.
n
(
k
),
T
=
s
(
"l46T"
),
J
=
{
name
:
"cycle-set"
,
components
:{
limitInput
:
T
.
a
},
props
:{
rangeShow
:{
type
:
Boolean
,
default
:
!
1
},
attenceGroupId
:{
type
:
String
,
default
:
""
},
classesJson
:{
type
:[
Array
,
Object
],
default
:
function
(){
return
[]}},
attenceGroupData
:{
type
:[
Array
,
Object
],
default
:
function
(){
return
{}}}},
data
:
function
(){
return
{
enterpriseId
:
JSON
.
parse
(
localStorage
.
getItem
(
"userInfo"
)).
enterpriseId
,
userId
:
JSON
.
parse
(
localStorage
.
getItem
(
"userInfo"
)).
userId
,
selClassesId
:
this
.
attenceGroupId
,
customDialog
:
!
1
,
tableData
:[],
classesName
:
""
,
ruleFormData
:{
classesRangeId
:
""
,
days
:
3
,
rangeName
:
""
,
classes
:[{
classesId
:
""
,
classesName
:
""
},{
classesId
:
""
,
classesName
:
""
},{
classesId
:
""
,
classesName
:
""
}]},
rules
:{
rangeName
:[{
required
:
!
0
,
message
:
"请输入周期名称"
,
trigger
:
"blur"
}]}}},
methods
:{
changeClass
:
function
(
e
,
t
){
this
.
tableData
.
forEach
(
function
(
s
){
s
.
classesId
==
e
&&
(
t
.
classesName
=
s
.
classesName
)})},
handleRangeDay
:
function
(
e
){
var
t
=
this
.
ruleFormData
.
classes
?
this
.
ruleFormData
.
classes
.
length
:
0
;
if
(
e
-
t
>
0
)
for
(
var
s
=
0
;
s
<
e
-
t
;
s
++
)
this
.
ruleFormData
.
classes
.
push
({
classesId
:
""
,
classesName
:
""
});
e
-
t
<
0
&&
this
.
ruleFormData
.
classes
.
splice
(
e
-
1
,
t
-
e
)},
toInput
:
Object
(
g
.
a
)(
function
(
e
,
t
){
this
.
getClassifyData
()},
500
),
clearInput
:
function
(){
this
.
currentPage
=
1
,
this
.
getClassifyData
()},
customConfirm
:
Object
(
g
.
a
)(
function
(){
var
e
=
u
()(
i
.
a
.
mark
(
function
e
(
t
){
var
s
,
a
;
return
i
.
a
.
wrap
(
function
(
e
){
for
(;;)
switch
(
e
.
prev
=
e
.
next
){
case
0
:
if
(
a
=!
0
,(
s
=
this
).
ruleFormData
.
classes
.
forEach
(
function
(
e
){
a
=!!
e
.
classesId
}),
a
){
e
.
next
=
6
;
break
}
return
m
.
a
.
showmsg
(
"请选择班次"
,
"warning"
),
e
.
abrupt
(
"return"
,
!
1
);
case
6
:
s
.
$refs
[
t
].
validate
(
function
(
e
){
e
&&
(
s
.
customDialog
=!
1
,
s
.
$emit
(
"hideCycleDialog"
,
s
.
ruleFormData
),
s
.
resetData
())});
case
7
:
case
"end"
:
return
e
.
stop
()}},
e
,
this
)}));
return
function
(
t
){
return
e
.
apply
(
this
,
arguments
)}}(),
300
),
resetData
:
function
(){
var
e
=
this
;
e
.
$nextTick
(
function
(){
e
.
ruleFormData
=
{
classesRangeId
:
""
,
days
:
3
,
rangeName
:
""
,
classes
:[{
classesId
:
""
,
classesName
:
""
},{
classesId
:
""
,
classesName
:
""
},{
classesId
:
""
,
classesName
:
""
}]}})},
handleClose
:
function
(
e
){
e
(),
this
.
hideDialog
()},
customCancel
:
function
(){
this
.
hideDialog
()},
hideDialog
:
function
(){
this
.
customDialog
=!
1
,
this
.
$emit
(
"hideCycleDialog"
),
this
.
resetData
()},
getClassifyData
:
function
(){
var
e
=
this
,
t
=
{
attenceGroupId
:
e
.
$route
.
query
.
attenceGroupId
,
enterpriseId
:
e
.
enterpriseId
};
Object
(
d
.
a
)(
"/haoban-app-attence-web/attence-classes-list"
,
t
).
then
(
function
(
t
){
var
s
=
t
.
data
;
if
(
1
==
s
.
errorCode
)
return
s
.
result
&&
s
.
result
.
length
&&
(
s
.
result
.
forEach
(
function
(
e
){
e
.
classessTimesJson
&&
(
e
.
classessTimesJson
=
JSON
.
parse
(
e
.
classessTimesJson
))}),
s
.
result
.
forEach
(
function
(
e
){
e
.
label
=
" "
,
e
.
classessTimesJson
&&
e
.
classessTimesJson
.
length
&&
e
.
classessTimesJson
.
forEach
(
function
(
t
){
e
.
label
+=
t
.
startTime
+
"-"
+
t
.
endTime
})})),
e
.
tableData
=
s
.
result
||
[],
!
1
;
p
.
a
.
errorMsg
(
s
)}).
catch
(
function
(
t
){
e
.
$message
.
error
({
duration
:
1
e3
,
message
:
t
.
message
})})},
getRangeData
:
function
(){
var
e
=
this
,
t
=
{
enterpriseId
:
e
.
enterpriseId
,
attenceGroupId
:
e
.
attenceGroupId
};
Object
(
d
.
a
)(
"/haoban-app-attence-web/attence-range-list"
,
t
).
then
(
function
(
t
){
var
s
=
t
.
data
;
if
(
1
==
s
.
errorCode
)
return
s
.
result
&&
s
.
result
.
length
&&
(
s
.
result
.
forEach
(
function
(
e
){
e
.
classes
=
e
.
classesList
}),
e
.
ruleFormData
=
s
.
result
[
0
]
||
[]),
!
1
;
p
.
a
.
errorMsg
(
s
)}).
catch
(
function
(
t
){
e
.
$message
.
error
({
duration
:
1
e3
,
message
:
t
.
message
})})}},
watch
:{
rangeShow
:
function
(
e
,
t
){
this
.
customDialog
=
e
},
attenceGroupId
:
function
(
e
){
e
&&
this
.
getRangeData
()},
attenceGroupData
:
function
(
e
){
I
()(
e
).
length
&&
(
this
.
ruleFormData
=
JSON
.
parse
(
n
()(
e
)))},
classesJson
:
function
(
e
){
e
.
length
&&
this
.
getClassifyData
()}},
mounted
:
function
(){
this
.
attenceGroupId
&&
this
.
getRangeData
(),
I
()(
this
.
attenceGroupData
).
length
&&
(
this
.
ruleFormData
=
JSON
.
parse
(
n
()(
this
.
attenceGroupData
))),
this
.
classesJson
.
length
&&
this
.
getClassifyData
(),
this
.
customDialog
=
this
.
rangeShow
}},
N
=
{
render
:
function
(){
var
e
=
this
,
t
=
e
.
$createElement
,
s
=
e
.
_self
.
_c
||
t
;
return
s
(
"el-dialog"
,{
staticClass
:
"edit-dialog"
,
attrs
:{
title
:
"选择班次"
,
visible
:
e
.
customDialog
,
width
:
"600px"
,
"before-close"
:
e
.
handleClose
},
on
:{
"update:visible"
:
function
(
t
){
e
.
customDialog
=
t
}}},[
s
(
"div"
,{
staticClass
:
"edit-dialog-body"
},[
s
(
"el-form"
,{
ref
:
"ruleForm"
,
staticClass
:
"demo-ruleForm"
,
attrs
:{
model
:
e
.
ruleFormData
,
rules
:
e
.
rules
,
"label-width"
:
"120px"
}},[
s
(
"el-form-item"
,{
attrs
:{
label
:
"周期名称:"
,
prop
:
"rangeName"
}},[
s
(
"limitInput"
,{
attrs
:{
inputWidth
:
305
,
inputValue
:
e
.
ruleFormData
.
rangeName
,
holder
:
"请输入周期名称"
,
getByType
:
"word"
,
maxLength
:
15
},
on
:{
"update:inputValue"
:
function
(
t
){
e
.
$set
(
e
.
ruleFormData
,
"rangeName"
,
t
)}}})],
1
),
e
.
_v
(
" "
),
s
(
"el-form-item"
,{
attrs
:{
label
:
"每个周期天数:"
,
prop
:
""
}},[
s
(
"div"
,[
s
(
"el-input-number"
,{
attrs
:{
"controls-position"
:
"right"
,
step
:
1
,
"step-strictly"
:
!
0
,
min
:
3
,
max
:
31
},
on
:{
change
:
e
.
handleRangeDay
},
model
:{
value
:
e
.
ruleFormData
.
days
,
callback
:
function
(
t
){
e
.
$set
(
e
.
ruleFormData
,
"days"
,
t
)},
expression
:
"ruleFormData.days"
}}),
e
.
_v
(
" "
),
s
(
"span"
,{
staticClass
:
"font-12 color-909399"
},[
e
.
_v
(
"以3天为周期进行循环,最大周期天数为31天"
)])],
1
),
e
.
_v
(
" "
),
s
(
"div"
,{
staticClass
:
"range-classes"
},[
s
(
"ul"
,
e
.
_l
(
e
.
ruleFormData
.
classes
,
function
(
t
,
a
){
return
s
(
"li"
,{
key
:
a
+
"class"
},[
s
(
"span"
,[
e
.
_v
(
"第"
+
e
.
_s
(
a
+
1
)
+
"天:"
)]),
e
.
_v
(
" "
),
s
(
"el-select"
,{
attrs
:{
placeholder
:
"请选择"
},
on
:{
change
:
function
(
s
){
e
.
changeClass
(
s
,
t
)}},
model
:{
value
:
t
.
classesId
,
callback
:
function
(
s
){
e
.
$set
(
t
,
"classesId"
,
s
)},
expression
:
"item.classesId"
}},
e
.
_l
(
e
.
tableData
,
function
(
e
){
return
s
(
"el-option"
,{
key
:
e
.
classesId
,
attrs
:{
label
:
"班次"
+
e
.
classesName
+
e
.
label
,
value
:
e
.
classesId
}})}))],
1
)}))])])],
1
)],
1
),
e
.
_v
(
" "
),
s
(
"div"
,{
staticClass
:
"dialog-footer"
,
attrs
:{
slot
:
"footer"
},
slot
:
"footer"
},[
s
(
"el-button"
,{
on
:{
click
:
function
(
t
){
return
t
.
stopPropagation
(),
e
.
customCancel
(
t
)}}},[
e
.
_v
(
"取消"
)]),
e
.
_v
(
" "
),
s
(
"el-button"
,{
attrs
:{
type
:
"primary"
},
on
:{
click
:
function
(
t
){
t
.
stopPropagation
(),
e
.
customConfirm
(
"ruleForm"
)}}},[
e
.
_v
(
"确定"
)])],
1
)])},
staticRenderFns
:[]};
var
x
=
s
(
"VU/8"
)(
J
,
N
,
!
1
,
function
(
e
){
s
(
"6WUy"
)},
"data-v-c98424be"
,
null
).
exports
,
R
=
s
(
"Ie7z"
),
$
=
s
(
"c4uw"
),
L
=
s
(
"Kkt8"
),
O
=
{
name
:
"workGroupSet"
,
props
:{
brandId
:{
type
:
String
,
default
:
function
(){
return
""
}},
activeGroupId
:{
type
:
String
,
default
:
function
(){
return
""
}}},
data
:
function
(){
return
{
projectName
:
"haoban-manage-web"
,
topMenuData
:[{
id
:
"1"
,
name
:
"考勤组管理"
,
path
:
"/workSet?appIcon="
+
this
.
$route
.
query
.
appIcon
},{
id
:
"2"
,
name
:
this
.
$route
.
query
.
attenceGroupId
?
"编辑考勤组"
:
"新建考勤组"
,
path
:
""
}],
weekDays
:{
0
:
"周日"
,
1
:
"周一"
,
2
:
"周二"
,
3
:
"周三"
,
4
:
"周四"
,
5
:
"周五"
,
6
:
"周六"
},
classifyOptions
:[],
activeId
:
"2"
,
activeBrand
:
this
.
brandId
,
activeGroup
:
this
.
activeGroupId
,
enterpriseId
:
JSON
.
parse
(
localStorage
.
getItem
(
"userInfo"
)).
enterpriseId
,
userId
:
JSON
.
parse
(
localStorage
.
getItem
(
"userInfo"
)).
userId
,
ruleFormData
:{
attenceGroupId
:
""
,
attenceGroupName
:
""
,
attenceType
:
1
,
attenceRangeType
:
!
1
,
attenceRangeStoreType
:
!
1
,
adminList
:[],
storeList
:[],
noAttenceRangeType
:
!
1
,
noAttenceRangeStoreType
:
!
1
,
noAdminList
:[],
noStoreList
:[],
lawFreeFlag
:
!
1
,
clockDistance
:
300
,
storeClockFlag
:
!
1
,
gpsFlag
:
!
1
,
distanceAddress
:[],
attenceRangeJson
:[],
sperialRangeJson
:[],
mustJson
:[],
noMustJson
:[],
attenceWorkJson
:[{
weekDay
:
"1"
,
workType
:
!
1
,
classesName
:
""
,
classesId
:
"-1"
,
classessTimesJson
:[]},{
weekDay
:
"2"
,
workType
:
!
1
,
classesName
:
""
,
classesId
:
"-1"
,
classessTimesJson
:[]},{
weekDay
:
"3"
,
workType
:
!
1
,
classesName
:
""
,
classesId
:
"-1"
,
classessTimesJson
:[]},{
weekDay
:
"4"
,
workType
:
!
1
,
classesName
:
""
,
classesId
:
"-1"
,
classessTimesJson
:[]},{
weekDay
:
"5"
,
workType
:
!
1
,
classesName
:
""
,
classesId
:
"-1"
,
classessTimesJson
:[]},{
weekDay
:
"6"
,
workType
:
!
1
,
classesName
:
""
,
classesId
:
"-1"
,
classessTimesJson
:[]},{
weekDay
:
"0"
,
workType
:
!
1
,
classesName
:
""
,
classesId
:
"-1"
,
classessTimesJson
:[]}],
attenceClassesRangeJSON
:[],
classesJson
:[]},
rules
:{
attenceGroupName
:[{
required
:
!
0
,
message
:
"请输入考勤组名称"
,
trigger
:
"blur"
}],
content
:[{
required
:
!
0
,
message
:
"请输入公告内容"
,
trigger
:
"blur"
}],
sendType
:[{
required
:
!
0
,
message
:
"请选择发送方式"
,
trigger
:
"change"
}]},
wxFlag
:
1
,
actionUrl
:
"/haoban-manage-web/upload-img"
,
datePickerBool
:
!
1
,
dateValue
:
""
,
mustType
:
""
,
selectNoType
:
""
,
treeSet
:{
isSelectPerson
:
!
1
,
dialogVisible
:
!
1
,
isSingle
:
!
1
,
openNextBool
:
!
0
},
mustSelection
:[],
changed
:
""
,
onlyPerson
:
!
1
,
appScene
:
1
,
mustStoreList
:[],
storeTreeSet
:{
isSelectPerson
:
!
0
,
dialogVisible
:
!
1
,
isSingle
:
!
1
},
changedNo
:
""
,
noTreeSet
:{
isSelectPerson
:
!
1
,
dialogVisible
:
!
1
,
isSingle
:
!
1
,
openNextBool
:
!
0
},
noSelection
:[],
noStoreList
:[],
noStoreTreeSet
:{
isSelectPerson
:
!
0
,
dialogVisible
:
!
1
,
isSingle
:
!
1
},
defaultStoreBool
:
!
1
,
saveDataBool
:
!
0
,
showEffect
:
!
1
,
workClassShow
:
!
1
,
modIndex
:
""
,
modRow
:{},
showClassesFlag
:
!
1
,
multipleSelection
:[],
distance
:[{
value
:
"50"
,
label
:
"50米"
}],
mapShow
:
!
1
,
rangeShow
:
!
1
,
classesJson
:[],
attenceGroupData
:{
classesRangeId
:
""
,
days
:
3
,
rangeName
:
""
,
classes
:[{
classesId
:
""
,
classesName
:
""
},{
classesId
:
""
,
classesName
:
""
},{
classesId
:
""
,
classesName
:
""
}]},
workClassMultShow
:
!
1
}},
methods
:{
toShowRangeMult
:
function
(){
this
.
classesJson
=
JSON
.
parse
(
n
()(
this
.
ruleFormData
.
classesJson
)),
this
.
rangeShow
=!
0
},
hideCycleDialog
:
function
(
e
){
if
(
this
.
rangeShow
=!
1
,
!
e
)
return
!
1
;
this
.
ruleFormData
.
attenceClassesRangeJSON
=
JSON
.
parse
(
n
()([
e
])),
this
.
$forceUpdate
()},
toShowClassMult
:
function
(){
this
.
workClassMultShow
=!
0
,
this
.
classesData
=
JSON
.
parse
(
n
()(
this
.
ruleFormData
.
classesJson
))},
hideMultClassDialog
:
function
(
e
){
if
(
this
.
workClassMultShow
=!
1
,
this
.
classesData
=
[],
!
e
)
return
!
1
;
this
.
ruleFormData
.
classesJson
=
JSON
.
parse
(
n
()(
e
)),
this
.
classesJson
=
JSON
.
parse
(
n
()(
e
))},
editRange
:
function
(
e
,
t
){
this
.
classesJson
=
JSON
.
parse
(
n
()(
this
.
ruleFormData
.
classesJson
)),
this
.
attenceGroupData
=
JSON
.
parse
(
n
()(
t
)),
this
.
rangeShow
=!
0
},
addMap
:
function
(){
this
.
mapShow
=!
0
},
hideMapDialog
:
function
(
e
){
if
(
console
.
log
(
e
),
this
.
mapShow
=!
1
,
!
e
)
return
!
1
;
this
.
ruleFormData
.
distanceAddress
.
push
({
address
:
e
.
address
,
longitude
:
e
.
longitude
,
latitude
:
e
.
latitude
})},
delGps
:
function
(
e
,
t
){
this
.
ruleFormData
.
distanceAddress
.
splice
(
e
,
1
)},
showClasses
:
function
(){
this
.
workClassShow
=!
0
},
modClasses
:
function
(
e
,
t
){
console
.
log
(
t
),
this
.
modIndex
=
e
,
this
.
modRow
=
t
,
this
.
classesId
=
t
.
classesId
||
""
,
this
.
workClassShow
=!
0
},
hideClassDialog
:
function
(
e
){
if
(
this
.
workClassShow
=!
1
,
this
.
classesId
=
""
,
!
e
)
return
!
1
;
this
.
modRow
.
workType
=!
0
;
var
t
=
JSON
.
parse
(
n
()(
e
));
this
.
modRow
.
classesName
=
t
.
classesName
,
this
.
modRow
.
classesId
=
t
.
classesId
,
this
.
modRow
.
classessTimesJson
=
t
.
classessTimesJson
},
handleSelectionChange
:
function
(
e
){
this
.
multipleSelection
=
e
},
selectBrandId
:
function
(
e
,
t
){
this
.
brandId
=
e
},
cancelSend
:
function
(){
var
e
=
this
;
if
(
e
.
$route
.
query
.
attenceGroupId
)
return
e
.
$router
.
go
(
-
1
),
!
1
;
e
.
$confirm
(
"是否确认返回,返回后当前页面内容将丢失"
,
"提示"
,{
confirmButtonText
:
"确定"
,
cancelButtonText
:
"取消"
,
type
:
"warning"
}).
then
(
function
(){
e
.
$router
.
go
(
-
1
)}).
catch
(
function
(){})},
showDialogMust
:
function
(
e
,
t
){
if
(
this
.
mustType
=
e
,
this
.
changed
=
e
,
"store"
===
e
)
return
this
.
nustStoreList
=
t
,
void
(
this
.
storeTreeSet
=
{
dialogVisible
:
!
0
,
isSingle
:
!
1
,
isSelectPerson
:
!
0
,
openNextBool
:
!
0
});
this
.
treeSet
=
{
dialogVisible
:
!
0
,
isSingle
:
!
1
,
isSelectPerson
:
!
0
,
openNextBool
:
!
0
},
this
.
nustSelection
=
t
},
showDialogNo
:
function
(
e
,
t
){
if
(
this
.
selectNoType
=
e
,
this
.
changedNo
=
e
,
"store"
===
e
)
return
this
.
noStoreList
=
t
,
void
(
this
.
noStoreTreeSet
=
{
dialogVisible
:
!
0
,
isSingle
:
!
1
,
isSelectPerson
:
!
0
,
openNextBool
:
!
0
});
this
.
noTreeSet
=
{
dialogVisible
:
!
0
,
isSingle
:
!
1
,
isSelectPerson
:
!
0
,
openNextBool
:
!
0
},
this
.
noSelection
=
t
},
handleMustList
:
function
(
e
){
console
.
log
(
e
),
"store"
===
this
.
mustType
?(
this
.
ruleFormData
.
storeList
=
e
,
this
.
mustStoreList
=
e
):(
this
.
ruleFormData
.
adminList
=
e
,
this
.
mustSelection
=
e
)},
handleNoList
:
function
(
e
){
console
.
log
(
e
),
"store"
===
this
.
selectNoType
?(
this
.
ruleFormData
.
noStoreList
=
e
,
this
.
noStoreList
=
e
):(
this
.
ruleFormData
.
noAdminList
=
e
,
this
.
noSelection
=
e
)},
delDepart
:
function
(
e
,
t
,
s
){
t
.
splice
(
e
,
1
)},
changeMyDate
:
function
(){
this
.
dateValue
?
this
.
saveDataBool
=!
0
:
this
.
datePickerBool
=!
0
},
changeSendType
:
function
(
e
){
"0"
==
e
&&
(
this
.
saveDataBool
=!
0
)},
toSubmit
:
function
(
e
,
t
){
var
s
=
this
,
a
=
[];
s
.
ruleFormData
.
attenceRangeType
&&
s
.
ruleFormData
.
adminList
.
length
&&
(
a
=
s
.
ruleFormData
.
adminList
.
map
(
function
(
e
){
var
t
=
{
rangeType
:
1
,
storeFlag
:
0
,
id
:
e
.
id
,
name
:
e
.
name
||
e
.
label
,
type
:
e
.
type
};
return
1
==
e
.
type
&&
(
t
.
userId
=
e
.
id
),
2
==
e
.
type
&&
(
t
.
groupId
=
e
.
id
),
3
==
e
.
type
&&
(
t
.
storeId
=
e
.
id
),
t
}));
var
l
=
[];
s
.
ruleFormData
.
attenceRangeStoreType
&&
s
.
ruleFormData
.
storeList
.
length
&&
(
l
=
s
.
ruleFormData
.
storeList
.
map
(
function
(
e
){
var
t
=
{
rangeType
:
1
,
storeFlag
:
1
,
id
:
e
.
id
,
name
:
e
.
name
||
e
.
label
,
type
:
e
.
type
};
return
1
==
e
.
type
&&
(
t
.
userId
=
e
.
id
),
2
==
e
.
type
&&
(
t
.
groupId
=
e
.
id
),
3
==
e
.
type
&&
(
t
.
storeId
=
e
.
id
),
t
}));
var
n
=
[];
s
.
ruleFormData
.
noAttenceRangeType
&&
s
.
ruleFormData
.
noAdminList
.
length
&&
(
n
=
s
.
ruleFormData
.
noAdminList
.
map
(
function
(
e
){
return
{
rangeType
:
2
,
storeFlag
:
0
,
id
:
e
.
id
,
userId
:
e
.
id
,
name
:
e
.
name
||
e
.
label
,
type
:
e
.
type
}}));
s
.
ruleFormData
.
noAttenceRangeStoreType
&&
s
.
ruleFormData
.
noStoreList
.
length
&&
(
l
=
s
.
ruleFormData
.
noStoreList
.
map
(
function
(
e
){
return
{
rangeType
:
2
,
storeFlag
:
1
,
id
:
e
.
id
,
userId
:
e
.
id
,
name
:
e
.
name
||
e
.
label
,
type
:
e
.
type
}})),
s
.
ruleFormData
.
attenceRangeJson
=
[].
concat
(
o
()(
a
),
o
()(
l
),
o
()(
n
),[]),
console
.
log
(
s
.
ruleFormData
),
s
.
$refs
[
e
].
validate
(
function
(
t
){
t
&&
(
s
.
$route
.
query
.
attenceGroupId
?
s
.
showEffect
=!
0
:
s
.
sendData
(
e
,
1
))})},
sendData
:
Object
(
g
.
a
)(
function
(
e
,
t
){
var
s
=
this
,
a
=
{
enterpriseId
:
s
.
enterpriseId
,
effectFlag
:
t
,
attenceGroupId
:
s
.
ruleFormData
.
attenceGroupId
,
attenceGroupName
:
s
.
ruleFormData
.
attenceGroupName
,
attenceType
:
s
.
ruleFormData
.
attenceType
,
attenceRangeType
:
s
.
ruleFormData
.
attenceRangeType
?
1
:
0
,
attenceRangeStoreType
:
s
.
ruleFormData
.
attenceRangeStoreType
?
1
:
0
,
noAttenceRangeType
:
s
.
ruleFormData
.
noAttenceRangeType
?
1
:
0
,
noAttenceRangeStoreType
:
s
.
ruleFormData
.
noAttenceRangeStoreType
?
1
:
0
,
lawFreeFlag
:
s
.
ruleFormData
.
lawFreeFlag
?
1
:
0
,
clockDistance
:
s
.
ruleFormData
.
clockDistance
,
storeClockFlag
:
s
.
ruleFormData
.
storeClockFlag
?
1
:
0
,
gpsFlag
:
s
.
ruleFormData
.
gpsFlag
?
1
:
0
,
distanceAddress
:
n
()(
s
.
ruleFormData
.
distanceAddress
),
attenceRangeJson
:
n
()(
s
.
ruleFormData
.
attenceRangeJson
),
sperialRangeJson
:
n
()(
s
.
ruleFormData
.
sperialRangeJson
),
attenceWorkJson
:
n
()(
s
.
ruleFormData
.
attenceWorkJson
),
attenceClassesRangeJSON
:
n
()(
s
.
ruleFormData
.
attenceClassesRangeJSON
),
classesJson
:
n
()(
s
.
ruleFormData
.
classesJson
)};
s
.
saveDataBool
&&
Object
(
d
.
e
)(
s
.
$route
.
query
.
attenceGroupId
?
"/haoban-app-attence-web/attence-edit"
:
"/haoban-app-attence-web/attence-add"
,
a
).
then
(
function
(
e
){
var
t
=
e
.
data
;
1
==
t
.
errorCode
?
1
==
s
.
ruleFormData
.
attenceType
?(
s
.
$message
.
success
(
"保存成功"
),
s
.
$router
.
go
(
-
1
)):
s
.
$router
.
push
(
"/workTimeManage?appIcon="
+
s
.
$route
.
query
.
appIcon
+
"&attenceGroupId="
+
s
.
$route
.
query
.
attenceGroupId
):
s
.
$message
.
error
(
t
.
message
)})},
500
),
getClassifyData
:
function
(){
var
e
=
this
,
t
=
{
enterpriseId
:
e
.
enterpriseId
};
Object
(
d
.
a
)(
"/haoban-app-attence-web/attence-classes-list"
,
t
).
then
(
function
(
t
){
var
s
=
t
.
data
;
if
(
1
==
s
.
errorCode
)
return
s
.
result
.
list
&&
s
.
result
.
list
.
length
&&
s
.
result
.
list
.
forEach
(
function
(
e
){
e
.
classessTimesJson
&&
(
e
.
classessTimesJson
=
JSON
.
parse
(
e
.
classessTimesJson
))}),
e
.
classifyList
=
s
.
result
.
list
||
[],
!
1
;
p
.
a
.
errorMsg
(
s
)}).
catch
(
function
(
t
){
e
.
$message
.
error
({
duration
:
1
e3
,
message
:
t
.
message
})})},
getGroupData
:
function
(){
var
e
=
this
,
t
=
{
attenceGroupId
:
e
.
$route
.
query
.
attenceGroupId
};
Object
(
d
.
a
)(
"/haoban-app-attence-web/attence-detail"
,
t
).
then
(
function
(
t
){
var
s
=
t
.
data
;
if
(
1
==
s
.
errorCode
)
return
s
.
result
.
attenceRangeType
=
1
==
s
.
result
.
attenceRangeType
,
s
.
result
.
attenceRangeStoreType
=
1
==
s
.
result
.
attenceRangeStoreType
,
s
.
result
.
noAttenceRangeType
=
1
==
s
.
result
.
noAttenceRangeType
,
s
.
result
.
noAttenceRangeStoreType
=
1
==
s
.
result
.
noAttenceRangeStoreType
,
s
.
result
.
attenceRangeJson
=
s
.
result
.
attenceRangeJson
?
JSON
.
parse
(
s
.
result
.
attenceRangeJson
):[],
s
.
result
.
lawFreeFlag
=
1
==
s
.
result
.
lawFreeFlag
,
s
.
result
.
storeClockFlag
=
1
==
s
.
result
.
storeClockFlag
,
s
.
result
.
gpsFlag
=
1
==
s
.
result
.
gpsFlag
,
s
.
result
.
clockDistance
=
parseInt
(
s
.
result
.
clockDistance
),
s
.
result
.
distanceAddress
=
s
.
result
.
distanceAddress
?
JSON
.
parse
(
s
.
result
.
distanceAddress
):[],
s
.
result
.
sperialRangeJson
=
s
.
result
.
sperialRangeJson
?
JSON
.
parse
(
s
.
result
.
sperialRangeJson
):[],
s
.
result
.
attenceWorkJson
=
s
.
result
.
attenceWorkJson
?
JSON
.
parse
(
s
.
result
.
attenceWorkJson
):[],
s
.
result
.
attenceClassesRangeJSON
=
s
.
result
.
attenceClassesRangeJSON
?
JSON
.
parse
(
s
.
result
.
attenceClassesRangeJSON
):[],
s
.
result
.
classesJson
=
s
.
result
.
classesJson
?
JSON
.
parse
(
s
.
result
.
classesJson
):[],
s
.
result
.
adminList
=
[],
s
.
result
.
storeList
=
[],
s
.
result
.
noAdminList
=
[],
s
.
result
.
noStoreList
=
[],
s
.
result
.
attenceRangeJson
&&
s
.
result
.
attenceRangeJson
.
forEach
(
function
(
e
){
1
==
e
.
rangeType
&&
0
==
e
.
storeFlag
&&
s
.
result
.
adminList
.
push
(
e
),
2
==
e
.
rangeType
&&
0
==
e
.
storeFlag
&&
s
.
result
.
noAdminList
.
push
(
e
),
1
==
e
.
rangeType
&&
1
==
e
.
storeFlag
&&
s
.
result
.
storeList
.
push
(
e
),
2
==
e
.
rangeType
&&
1
==
e
.
storeFlag
&&
s
.
result
.
noStoreList
.
push
(
e
)}),
s
.
result
.
attenceWorkJson
&&
s
.
result
.
attenceWorkJson
.
forEach
(
function
(
e
){
e
.
workType
=
1
==
e
.
workType
}),
s
.
result
.
attenceWorkJson
&&
s
.
result
.
attenceWorkJson
.
length
&&
s
.
result
.
attenceWorkJson
.
forEach
(
function
(
e
){
e
.
classessTimesJson
=
e
.
classessTimesJson
?
JSON
.
parse
(
e
.
classessTimesJson
):[]}),
s
.
result
.
classesJson
&&
s
.
result
.
classesJson
.
length
&&
s
.
result
.
classesJson
.
forEach
(
function
(
e
){
e
.
classessTimesJson
=
e
.
classessTimesJson
?
JSON
.
parse
(
e
.
classessTimesJson
):[]}),
e
.
mustSelection
=
s
.
result
.
adminList
,
e
.
mustStoreList
=
s
.
result
.
storeList
,
e
.
noSelection
=
s
.
result
.
noAdminList
,
e
.
noStoreList
=
s
.
result
.
noStoreList
,
e
.
ruleFormData
=
JSON
.
parse
(
n
()(
s
.
result
)),
!
1
;
p
.
a
.
errorMsg
(
resData
)}).
catch
(
function
(
t
){
e
.
$message
.
error
({
duration
:
1
e3
,
message
:
t
.
message
})})},
setDistance
:
function
(){
for
(
var
e
=
1
;
e
<
11
;
e
++
)
this
.
distance
.
push
({
value
:
100
*
e
,
label
:
100
*
e
+
"米"
});
this
.
distance
.
push
({
value
:
2
e3
,
label
:
"2000米"
})}},
watch
:{
brandId
:
function
(
e
,
t
){
e
&&
(
this
.
activeBrand
=
e
,
this
.
getClassifyData
())},
activeGroupId
:
function
(
e
,
t
){
e
&&
(
this
.
activeGroup
=
e
)}},
components
:{
commonDetailTop
:
F
.
a
,
limitInput
:
T
.
a
,
limitTextarea
:
L
.
a
,
vueSelectStore
:
R
.
a
,
vueSelectEmployee
:
$
.
a
,
classSelect
:
v
,
mapSelect
:
C
,
classSelectMult
:
b
,
cycleSet
:
x
},
mounted
:
function
(){
var
e
=
this
;
e
.
$emit
(
"showTab"
,
"2"
),
e
.
setDistance
(),
e
.
$route
.
query
.
attenceGroupId
&&
e
.
$nextTick
(
function
(){
e
.
getGroupData
()})}},
G
=
{
render
:
function
(){
var
e
=
this
,
t
=
e
.
$createElement
,
s
=
e
.
_self
.
_c
||
t
;
return
s
(
"div"
,{
staticClass
:
"notice-list-wrap"
},[
s
(
"div"
,{
staticClass
:
"notice-list"
},[
s
(
"common-detail-top"
,{
attrs
:{
topMenuData
:
e
.
topMenuData
,
activeId
:
e
.
activeId
}}),
e
.
_v
(
" "
),
s
(
"el-form"
,{
ref
:
"noteForm"
,
staticClass
:
"demo-ruleForm"
,
attrs
:{
model
:
e
.
ruleFormData
,
rules
:
e
.
rules
,
"label-width"
:
"120px"
}},[
s
(
"el-form-item"
,{
staticClass
:
"input-item"
,
attrs
:{
label
:
"考勤组名称:"
,
prop
:
"attenceGroupName"
}},[
s
(
"limitInput"
,{
attrs
:{
disflag
:
!!
e
.
$route
.
query
.
attenceGroupId
,
inputWidth
:
286
,
inputValue
:
e
.
ruleFormData
.
attenceGroupName
,
holder
:
"请输入考勤组名称"
,
getByType
:
"word"
,
maxLength
:
15
},
on
:{
"update:inputValue"
:
function
(
t
){
e
.
$set
(
e
.
ruleFormData
,
"attenceGroupName"
,
t
)}}})],
1
),
e
.
_v
(
" "
),
s
(
"el-form-item"
,{
staticClass
:
"input-item"
,
attrs
:{
label
:
"参与考勤人员:"
,
prop
:
""
}},[
s
(
"div"
,{
staticClass
:
"flex"
},[
s
(
"el-checkbox"
,{
model
:{
value
:
e
.
ruleFormData
.
attenceRangeType
,
callback
:
function
(
t
){
e
.
$set
(
e
.
ruleFormData
,
"attenceRangeType"
,
t
)},
expression
:
"ruleFormData.attenceRangeType"
}},[
e
.
_v
(
"行政架构"
)]),
e
.
_v
(
" "
),
e
.
ruleFormData
.
attenceRangeType
?
s
(
"div"
,{
staticClass
:
"flex-column item-cell-select inline-block m-l-10"
},[
s
(
"div"
,{
staticClass
:
"depart-item-wrap"
},[
s
(
"div"
,{
staticClass
:
"el-select el-select--large depart-item-content"
,
staticStyle
:{
width
:
"470px"
},
on
:{
click
:
function
(
t
){
e
.
showDialogMust
(
"depart"
,
e
.
ruleFormData
.
adminList
)}}},[
e
.
ruleFormData
.
adminList
.
length
?
e
.
_e
():
s
(
"span"
,{
staticClass
:
"font-14 color-c0c4cc p-l-10"
},[
e
.
_v
(
"请选择行政架构"
)]),
e
.
_v
(
" "
),
s
(
"div"
,{
staticClass
:
"el-select__tags"
},[
s
(
"span"
,[
e
.
_l
(
e
.
ruleFormData
.
adminList
,
function
(
t
,
a
){
return
[
s
(
"span"
,{
key
:
a
,
staticClass
:
"el-tag el-tag--info el-tag--small"
},[
s
(
"span"
,{
staticClass
:
"el-select__tags-text"
},[
e
.
_v
(
e
.
_s
(
t
.
name
||
t
.
storeName
))]),
s
(
"i"
,{
staticClass
:
"el-tag__close el-icon-close"
,
on
:{
click
:
function
(
t
){
t
.
stopPropagation
(),
e
.
delDepart
(
a
,
e
.
ruleFormData
.
adminList
,
"depart"
)}}})])]})],
2
)])])])]):
e
.
_e
()],
1
),
e
.
_v
(
" "
),
s
(
"div"
,{
staticClass
:
"flex m-t-20"
},[
s
(
"el-checkbox"
,{
model
:{
value
:
e
.
ruleFormData
.
attenceRangeStoreType
,
callback
:
function
(
t
){
e
.
$set
(
e
.
ruleFormData
,
"attenceRangeStoreType"
,
t
)},
expression
:
"ruleFormData.attenceRangeStoreType"
}},[
e
.
_v
(
"门店架构"
)]),
e
.
_v
(
" "
),
e
.
ruleFormData
.
attenceRangeStoreType
?
s
(
"div"
,{
staticClass
:
"flex-column item-cell-select inline-block m-l-10"
},[
s
(
"div"
,{
staticClass
:
"depart-item-wrap"
},[
s
(
"div"
,{
staticClass
:
"el-select el-select--large depart-item-content"
,
staticStyle
:{
width
:
"470px"
},
on
:{
click
:
function
(
t
){
e
.
showDialogMust
(
"store"
,
e
.
ruleFormData
.
storeList
)}}},[
e
.
ruleFormData
.
storeList
.
length
?
e
.
_e
():
s
(
"span"
,{
staticClass
:
"font-14 color-c0c4cc p-l-10"
},[
e
.
_v
(
"请选择门店架构"
)]),
e
.
_v
(
" "
),
s
(
"div"
,{
staticClass
:
"el-select__tags"
},[
s
(
"span"
,[
e
.
_l
(
e
.
ruleFormData
.
storeList
,
function
(
t
,
a
){
return
[
s
(
"span"
,{
key
:
a
,
staticClass
:
"el-tag el-tag--info el-tag--small"
},[
s
(
"span"
,{
staticClass
:
"el-select__tags-text"
},[
e
.
_v
(
e
.
_s
(
t
.
name
||
t
.
storeName
))]),
s
(
"i"
,{
staticClass
:
"el-tag__close el-icon-close"
,
on
:{
click
:
function
(
t
){
t
.
stopPropagation
(),
e
.
delDepart
(
a
,
e
.
ruleFormData
.
storeList
,
"store"
)}}})])]})],
2
)])])])]):
e
.
_e
()],
1
)]),
e
.
_v
(
" "
),
s
(
"el-form-item"
,{
staticClass
:
"input-item"
,
attrs
:{
label
:
"考勤白名单:"
,
prop
:
""
}},[
s
(
"div"
,{
staticClass
:
"flex"
},[
s
(
"el-checkbox"
,{
model
:{
value
:
e
.
ruleFormData
.
noAttenceRangeType
,
callback
:
function
(
t
){
e
.
$set
(
e
.
ruleFormData
,
"noAttenceRangeType"
,
t
)},
expression
:
"ruleFormData.noAttenceRangeType"
}},[
e
.
_v
(
"行政架构"
)]),
e
.
_v
(
" "
),
e
.
ruleFormData
.
noAttenceRangeType
?
s
(
"div"
,{
staticClass
:
"flex-column item-cell-select inline-block m-l-10"
},[
s
(
"div"
,{
staticClass
:
"depart-item-wrap"
},[
s
(
"div"
,{
staticClass
:
"el-select el-select--large depart-item-content"
,
staticStyle
:{
width
:
"470px"
},
on
:{
click
:
function
(
t
){
e
.
showDialogNo
(
"depart"
,
e
.
ruleFormData
.
noAdminList
)}}},[
e
.
ruleFormData
.
noAdminList
.
length
?
e
.
_e
():
s
(
"span"
,{
staticClass
:
"font-14 color-c0c4cc p-l-10"
},[
e
.
_v
(
"请选择行政架构"
)]),
e
.
_v
(
" "
),
s
(
"div"
,{
staticClass
:
"el-select__tags"
},[
s
(
"span"
,[
e
.
_l
(
e
.
ruleFormData
.
noAdminList
,
function
(
t
,
a
){
return
[
s
(
"span"
,{
key
:
a
,
staticClass
:
"el-tag el-tag--info el-tag--small"
},[
s
(
"span"
,{
staticClass
:
"el-select__tags-text"
},[
e
.
_v
(
e
.
_s
(
t
.
name
||
t
.
storeName
))]),
s
(
"i"
,{
staticClass
:
"el-tag__close el-icon-close"
,
on
:{
click
:
function
(
t
){
t
.
stopPropagation
(),
e
.
delDepart
(
a
,
e
.
ruleFormData
.
noAdminList
,
"depart"
)}}})])]})],
2
)])])])]):
e
.
_e
()],
1
),
e
.
_v
(
" "
),
s
(
"div"
,{
staticClass
:
"flex m-t-20"
},[
s
(
"el-checkbox"
,{
model
:{
value
:
e
.
ruleFormData
.
noAttenceRangeStoreType
,
callback
:
function
(
t
){
e
.
$set
(
e
.
ruleFormData
,
"noAttenceRangeStoreType"
,
t
)},
expression
:
"ruleFormData.noAttenceRangeStoreType"
}},[
e
.
_v
(
"门店架构"
)]),
e
.
_v
(
" "
),
e
.
ruleFormData
.
noAttenceRangeStoreType
?
s
(
"div"
,{
staticClass
:
"flex-column item-cell-select inline-block m-l-10"
},[
s
(
"div"
,{
staticClass
:
"depart-item-wrap"
},[
s
(
"div"
,{
staticClass
:
"el-select el-select--large depart-item-content"
,
staticStyle
:{
width
:
"470px"
},
on
:{
click
:
function
(
t
){
e
.
showDialogNo
(
"store"
,
e
.
ruleFormData
.
noStoreList
)}}},[
e
.
ruleFormData
.
noStoreList
.
length
?
e
.
_e
():
s
(
"span"
,{
staticClass
:
"font-14 color-c0c4cc p-l-10"
},[
e
.
_v
(
"请选择门店架构"
)]),
e
.
_v
(
" "
),
s
(
"div"
,{
staticClass
:
"el-select__tags"
},[
s
(
"span"
,[
e
.
_l
(
e
.
ruleFormData
.
noStoreList
,
function
(
t
,
a
){
return
[
s
(
"span"
,{
key
:
a
,
staticClass
:
"el-tag el-tag--info el-tag--small"
},[
s
(
"span"
,{
staticClass
:
"el-select__tags-text"
},[
e
.
_v
(
e
.
_s
(
t
.
name
||
t
.
storeName
))]),
s
(
"i"
,{
staticClass
:
"el-tag__close el-icon-close"
,
on
:{
click
:
function
(
t
){
t
.
stopPropagation
(),
e
.
delDepart
(
a
,
e
.
ruleFormData
.
noStoreList
,
"store"
)}}})])]})],
2
)])])])]):
e
.
_e
()],
1
)]),
e
.
_v
(
" "
),
s
(
"el-form-item"
,{
attrs
:{
label
:
"考勤类型:"
,
prop
:
""
}},[
s
(
"div"
,{
staticClass
:
"work-type m-b-8"
},[
s
(
"el-radio"
,{
attrs
:{
disabled
:
!!
e
.
$route
.
query
.
attenceGroupId
,
label
:
1
},
model
:{
value
:
e
.
ruleFormData
.
attenceType
,
callback
:
function
(
t
){
e
.
$set
(
e
.
ruleFormData
,
"attenceType"
,
t
)},
expression
:
"ruleFormData.attenceType"
}},[
e
.
_v
(
"固定时间上下班【所有人按照相同时间打卡】"
)]),
e
.
_v
(
" "
),
s
(
"div"
,{
staticClass
:
"line-h-15 font-14 color-909399"
},[
e
.
_v
(
"适用于:办公室等"
)])],
1
),
e
.
_v
(
" "
),
s
(
"div"
,{
staticClass
:
"work-type m-b-8"
},[
s
(
"el-radio"
,{
attrs
:{
disabled
:
!!
e
.
$route
.
query
.
attenceGroupId
,
label
:
2
},
model
:{
value
:
e
.
ruleFormData
.
attenceType
,
callback
:
function
(
t
){
e
.
$set
(
e
.
ruleFormData
,
"attenceType"
,
t
)},
expression
:
"ruleFormData.attenceType"
}},[
e
.
_v
(
"排班时间上下班【不同人员根据各自排班打卡】"
)]),
e
.
_v
(
" "
),
s
(
"div"
,{
staticClass
:
"line-h-15 font-14 color-909399"
},[
e
.
_v
(
"适用于:工厂、门店等"
)])],
1
)]),
e
.
_v
(
" "
),
1
==
e
.
ruleFormData
.
attenceType
?
s
(
"el-form-item"
,{
attrs
:{
label
:
"工作日设置:"
,
prop
:
""
}},[
s
(
"div"
,{
staticClass
:
"quick-set-table"
},[
s
(
"el-table"
,{
ref
:
"multipleTable"
,
staticStyle
:{
width
:
"567px"
},
attrs
:{
data
:
e
.
ruleFormData
.
attenceWorkJson
,
"tooltip-effect"
:
"dark"
}},[
s
(
"el-table-column"
,{
attrs
:{
width
:
"55"
},
scopedSlots
:
e
.
_u
([{
key
:
"default"
,
fn
:
function
(
e
){}}])}),
e
.
_v
(
" "
),
s
(
"el-table-column"
,{
attrs
:{
label
:
"工作日"
,
width
:
"120"
},
scopedSlots
:
e
.
_u
([{
key
:
"default"
,
fn
:
function
(
t
){
return
[
e
.
_v
(
e
.
_s
(
e
.
weekDays
[
t
.
row
.
weekDay
]))]}}])}),
e
.
_v
(
" "
),
s
(
"el-table-column"
,{
attrs
:{
prop
:
"name"
,
label
:
"排班时间段"
,
width
:
"120"
},
scopedSlots
:
e
.
_u
([{
key
:
"default"
,
fn
:
function
(
t
){
return
[
t
.
row
.
workType
?
s
(
"div"
,
e
.
_l
(
t
.
row
.
classessTimesJson
,
function
(
t
,
a
){
return
s
(
"div"
,{
key
:
a
+
"time"
},[
e
.
_v
(
e
.
_s
(
t
.
startTime
)
+
"-"
+
e
.
_s
(
t
.
endTime
))])})):
s
(
"div"
,[
e
.
_v
(
"休息"
)])]}}])}),
e
.
_v
(
" "
),
s
(
"el-table-column"
,{
attrs
:{
prop
:
"address"
,
label
:
"操作"
,
"show-overflow-tooltip"
:
""
},
scopedSlots
:
e
.
_u
([{
key
:
"default"
,
fn
:
function
(
t
){
return
[
s
(
"el-button"
,{
attrs
:{
type
:
"text"
},
on
:{
click
:
function
(
s
){
s
.
stopPropagation
(),
e
.
modClasses
(
t
.
$index
,
t
.
row
)}}},[
e
.
_v
(
"更改班次"
)])]}}])})],
1
)],
1
),
e
.
_v
(
" "
),
s
(
"div"
,[
s
(
"el-checkbox"
,{
model
:{
value
:
e
.
ruleFormData
.
lawFreeFlag
,
callback
:
function
(
t
){
e
.
$set
(
e
.
ruleFormData
,
"lawFreeFlag"
,
t
)},
expression
:
"ruleFormData.lawFreeFlag"
}},[
e
.
_v
(
"法定节假日自动排休"
)])],
1
)]):
e
.
_e
(),
e
.
_v
(
" "
),
2
==
e
.
ruleFormData
.
attenceType
?
s
(
"el-form-item"
,{
attrs
:{
label
:
"考勤班次:"
,
prop
:
""
}},[
e
.
ruleFormData
.
classesJson
.
length
?
s
(
"div"
,{
staticClass
:
"tags-classes"
},[
s
(
"div"
,{
staticClass
:
"attend-type-classes"
,
on
:{
click
:
e
.
toShowClassMult
}},[
s
(
"div"
,{
staticClass
:
"attend-type-classes-display"
},
e
.
_l
(
e
.
ruleFormData
.
classesJson
,
function
(
t
,
a
){
return
s
(
"div"
,{
key
:
a
,
class
:[
"class-tag"
,
a
%
7
==
0
?
"day-tag-blue"
:
""
,
a
%
7
==
1
?
"day-tag-red"
:
""
,
a
%
7
==
2
?
"day-tag-purple"
:
""
,
a
%
7
==
3
?
"day-tag-orange"
:
""
,
a
%
7
==
4
?
"day-tag-green"
:
""
,
a
%
7
==
5
?
"day-tag-pink"
:
""
,
a
%
7
==
6
?
"day-tag-cyan"
:
""
]},[
s
(
"span"
,{
staticClass
:
"ant-tag-text"
},[
e
.
_v
(
"班次"
+
e
.
_s
(
t
.
classesName
)
+
":"
)]),
e
.
_v
(
" "
),
e
.
_l
(
t
.
classessTimesJson
,
function
(
t
,
a
){
return
s
(
"span"
,{
key
:
a
+
"time"
},[
e
.
_v
(
e
.
_s
(
t
.
startTime
)
+
"-"
+
e
.
_s
(
t
.
endTime
))])})],
2
)}))])]):
s
(
"div"
,{
staticClass
:
"classes-btn"
},[
s
(
"el-button"
,{
attrs
:{
type
:
"primary"
,
plain
:
""
},
on
:{
click
:
e
.
toShowClassMult
}},[
e
.
_v
(
"选择班次"
)])],
1
)]):
e
.
_e
(),
e
.
_v
(
" "
),
2
==
e
.
ruleFormData
.
attenceType
&&
e
.
ruleFormData
.
classesJson
.
length
?
s
(
"el-form-item"
,{
attrs
:{
label
:
"排班周期:"
,
prop
:
""
}},[
e
.
ruleFormData
.
attenceClassesRangeJSON
.
length
?
s
(
"el-table"
,{
staticStyle
:{
width
:
"567px"
},
attrs
:{
data
:
e
.
ruleFormData
.
attenceClassesRangeJSON
,
"tooltip-effect"
:
"dark"
}},[
s
(
"el-table-column"
,{
attrs
:{
prop
:
"ranageName"
,
label
:
"周期名称"
,
"show-overflow-tooltip"
:
""
},
scopedSlots
:
e
.
_u
([{
key
:
"default"
,
fn
:
function
(
t
){
return
[
e
.
_v
(
e
.
_s
(
t
.
row
.
rangeName
))]}}])}),
e
.
_v
(
" "
),
s
(
"el-table-column"
,{
attrs
:{
prop
:
"name"
,
label
:
"周期班次"
,
"show-overflow-tooltip"
:
""
},
scopedSlots
:
e
.
_u
([{
key
:
"default"
,
fn
:
function
(
t
){
return
e
.
_l
(
t
.
row
.
classes
,
function
(
t
,
a
){
return
s
(
"span"
,{
key
:
a
+
"time"
},[
e
.
_v
(
e
.
_s
(
a
>
1
?
"-"
:
""
)
+
e
.
_s
(
t
.
classesName
))])})}}])}),
e
.
_v
(
" "
),
s
(
"el-table-column"
,{
attrs
:{
prop
:
"ranageName"
,
label
:
"周期天数"
},
scopedSlots
:
e
.
_u
([{
key
:
"default"
,
fn
:
function
(
t
){
return
[
e
.
_v
(
e
.
_s
(
t
.
row
.
days
))]}}])}),
e
.
_v
(
" "
),
s
(
"el-table-column"
,{
attrs
:{
prop
:
"address"
,
label
:
"操作"
,
"show-overflow-tooltip"
:
""
},
scopedSlots
:
e
.
_u
([{
key
:
"default"
,
fn
:
function
(
t
){
return
[
s
(
"el-button"
,{
attrs
:{
type
:
"text"
},
on
:{
click
:
function
(
s
){
e
.
editRange
(
t
.
$index
,
t
.
row
)}}},[
e
.
_v
(
"编辑"
)])]}}])})],
1
):
s
(
"div"
,{
staticClass
:
"classes-btn"
},[
s
(
"el-button"
,{
attrs
:{
type
:
"primary"
,
plain
:
""
},
on
:{
click
:
e
.
toShowRangeMult
}},[
e
.
_v
(
"请设置排班周期"
)])],
1
)],
1
):
e
.
_e
(),
e
.
_v
(
" "
),
s
(
"el-form-item"
,{
attrs
:{
label
:
"考勤方式:"
,
prop
:
""
}},[
s
(
"div"
,[
s
(
"el-checkbox"
,{
model
:{
value
:
e
.
ruleFormData
.
gpsFlag
,
callback
:
function
(
t
){
e
.
$set
(
e
.
ruleFormData
,
"gpsFlag"
,
t
)},
expression
:
"ruleFormData.gpsFlag"
}},[
e
.
_v
(
"GPS打卡"
)]),
e
.
ruleFormData
.
gpsFlag
?
e
.
_e
():
s
(
"span"
,{
staticClass
:
"p-l-10 font-12 color-909399"
},[
e
.
_v
(
"你尚未设置任何考勤方式,保存设置后成员可在任何地点打卡"
)])],
1
),
e
.
_v
(
" "
),
s
(
"div"
,{
staticClass
:
"gps-body p-20 bg-f7f8fa"
,
staticStyle
:{
width
:
"567px"
}},[
s
(
"div"
,[
e
.
_v
(
"根据工作地点考勤(可添加多个考勤地点)"
)]),
e
.
_v
(
" "
),
s
(
"div"
,[
s
(
"el-button"
,{
attrs
:{
type
:
"primary"
,
plain
:
""
},
on
:{
click
:
e
.
addMap
}},[
e
.
_v
(
"添加考勤地点"
)]),
e
.
_v
(
" "
),
s
(
"span"
,[
e
.
_v
(
"有效范围"
)]),
e
.
_v
(
" "
),
s
(
"el-select"
,{
attrs
:{
placeholder
:
"请选择"
},
model
:{
value
:
e
.
ruleFormData
.
clockDistance
,
callback
:
function
(
t
){
e
.
$set
(
e
.
ruleFormData
,
"clockDistance"
,
t
)},
expression
:
"ruleFormData.clockDistance"
}},
e
.
_l
(
e
.
distance
,
function
(
e
){
return
s
(
"el-option"
,{
key
:
e
.
value
,
attrs
:{
label
:
e
.
label
,
value
:
e
.
value
}})}))],
1
),
e
.
_v
(
" "
),
e
.
ruleFormData
.
distanceAddress
.
length
?
s
(
"div"
,{
staticClass
:
"m-t-20"
},[
s
(
"el-table"
,{
staticStyle
:{
width
:
"567px"
},
attrs
:{
data
:
e
.
ruleFormData
.
distanceAddress
,
"tooltip-effect"
:
"dark"
}},[
s
(
"el-table-column"
,{
attrs
:{
prop
:
"name"
,
label
:
"考勤地址"
},
scopedSlots
:
e
.
_u
([{
key
:
"default"
,
fn
:
function
(
t
){
return
[
e
.
_v
(
e
.
_s
(
t
.
row
.
address
))]}}])}),
e
.
_v
(
" "
),
s
(
"el-table-column"
,{
attrs
:{
prop
:
"address"
,
label
:
"操作"
,
"show-overflow-tooltip"
:
""
},
scopedSlots
:
e
.
_u
([{
key
:
"default"
,
fn
:
function
(
t
){
return
[
s
(
"el-button"
,{
attrs
:{
type
:
"text"
},
on
:{
click
:
function
(
s
){
e
.
delGps
(
t
.
$index
,
t
.
row
)}}},[
e
.
_v
(
"删除"
)])]}}])})],
1
)],
1
):
e
.
_e
(),
e
.
_v
(
" "
),
s
(
"div"
,[
s
(
"el-checkbox"
,{
model
:{
value
:
e
.
ruleFormData
.
storeClockFlag
,
callback
:
function
(
t
){
e
.
$set
(
e
.
ruleFormData
,
"storeClockFlag"
,
t
)},
expression
:
"ruleFormData.storeClockFlag"
}},[
e
.
_v
(
"根据门店地址经纬度自动配置"
)]),
e
.
_v
(
" "
),
s
(
"p"
,{
staticClass
:
"font-14 color-909399"
},[
e
.
_v
(
"如门店经纬度有误,请在通讯录修改门店相关信息,未设置门店打卡无须选择此项"
)])],
1
)])]),
e
.
_v
(
" "
),
s
(
"el-form-item"
,[
s
(
"div"
,{
staticClass
:
"btn-wrap"
},[
s
(
"el-button"
,{
attrs
:{
plain
:
""
},
on
:{
click
:
e
.
cancelSend
}},[
e
.
_v
(
"取消"
)]),
e
.
_v
(
" "
),
1
==
e
.
ruleFormData
.
attenceType
?
s
(
"el-button"
,{
attrs
:{
type
:
"primary"
},
on
:{
click
:
function
(
t
){
e
.
toSubmit
(
"noteForm"
,
"1"
)}}},[
e
.
_v
(
"保存"
)]):
e
.
_e
(),
e
.
_v
(
" "
),
2
==
e
.
ruleFormData
.
attenceType
?
s
(
"el-button"
,{
attrs
:{
type
:
"primary"
},
on
:{
click
:
function
(
t
){
e
.
toSubmit
(
"noteForm"
,
"2"
)}}},[
e
.
_v
(
"保存设置,开始排班 "
)]):
e
.
_e
()],
1
)])],
1
)],
1
),
e
.
_v
(
" "
),
s
(
"vue-select-employee"
,{
attrs
:{
appScene
:
e
.
appScene
,
defaultSelection
:
e
.
mustSelection
,
onlyPerson
:
e
.
onlyPerson
,
treeSet
:
e
.
treeSet
,
changed
:
e
.
changed
},
on
:{
handleSelectedList
:
e
.
handleMustList
}}),
e
.
_v
(
" "
),
s
(
"vue-select-store"
,{
ref
:
"storeSelector"
,
attrs
:{
appScene
:
e
.
appScene
,
treeSet
:
e
.
storeTreeSet
,
selectType
:
"all"
,
defaultList
:
e
.
mustStoreList
},
on
:{
handleSelectedList
:
e
.
handleMustList
}}),
e
.
_v
(
" "
),
s
(
"vue-select-employee"
,{
attrs
:{
appScene
:
e
.
appScene
,
defaultSelection
:
e
.
noSelection
,
onlyPerson
:
!
0
,
treeSet
:
e
.
noTreeSet
,
changed
:
e
.
changedNo
},
on
:{
handleSelectedList
:
e
.
handleNoList
}}),
e
.
_v
(
" "
),
s
(
"vue-select-store"
,{
ref
:
"storeSelector"
,
attrs
:{
appScene
:
e
.
appScene
,
treeSet
:
e
.
noStoreTreeSet
,
selectType
:
"person"
,
defaultList
:
e
.
noStoreList
},
on
:{
handleSelectedList
:
e
.
handleNoList
}}),
e
.
_v
(
" "
),
s
(
"el-dialog"
,{
attrs
:{
title
:
"选择规则生效时间"
,
visible
:
e
.
showEffect
,
width
:
"420px"
,
"before-close"
:
e
.
handleClose
},
on
:{
"update:visible"
:
function
(
t
){
e
.
showEffect
=
t
}}},[
s
(
"span"
,[
e
.
_v
(
"立即生效:今日考勤结果将按新规则重算"
)]),
e
.
_v
(
" "
),
s
(
"span"
,{
staticClass
:
"dialog-footer"
,
attrs
:{
slot
:
"footer"
},
slot
:
"footer"
},[
s
(
"el-button"
,{
on
:{
click
:
function
(
t
){
e
.
sendData
(
"noteForm"
,
"0"
)}}},[
e
.
_v
(
"明天生效"
)])],
1
)]),
e
.
_v
(
" "
),
s
(
"class-select"
,{
attrs
:{
workClassShow
:
e
.
workClassShow
,
classesId
:
e
.
classesId
},
on
:{
hideClassDialog
:
e
.
hideClassDialog
}}),
e
.
_v
(
" "
),
s
(
"map-select"
,{
attrs
:{
mapShow
:
e
.
mapShow
},
on
:{
hideMapDialog
:
e
.
hideMapDialog
}}),
e
.
_v
(
" "
),
s
(
"class-select-mult"
,{
attrs
:{
workClassMultShow
:
e
.
workClassMultShow
,
classesData
:
e
.
ruleFormData
.
classesJson
},
on
:{
hideMultClassDialog
:
e
.
hideMultClassDialog
}}),
e
.
_v
(
" "
),
s
(
"cycle-set"
,{
attrs
:{
rangeShow
:
e
.
rangeShow
,
classesJson
:
e
.
classesJson
,
attenceGroupData
:
e
.
attenceGroupData
,
attenceGroupId
:
e
.
$route
.
query
.
attenceGroupId
},
on
:{
hideCycleDialog
:
e
.
hideCycleDialog
}})],
1
)},
staticRenderFns
:[]};
var
A
=
s
(
"VU/8"
)(
O
,
G
,
!
1
,
function
(
e
){
s
(
"ZWJ6"
)},
"data-v-e299dcfe"
,
null
);
t
.
default
=
A
.
exports
},
kr0l
:
function
(
e
,
t
){}});
\ No newline at end of file
dist/static/js/40.8a28abdbeb524733a7f6.js
deleted
100644 → 0
View file @
b25ee329
webpackJsonp
([
40
],{
gncU
:
function
(
e
,
t
,
a
){
"use strict"
;
Object
.
defineProperty
(
t
,
"__esModule"
,{
value
:
!
0
});
var
i
=
a
(
"Ke24"
),
n
=
a
(
"mvHQ"
),
o
=
a
.
n
(
n
),
r
=
a
(
"P9l9"
),
s
=
a
(
"3E4D"
),
c
=
a
(
"Ch4/"
),
l
=
{
name
:
"custom-dialog"
,
props
:{
showDayDialog
:{
type
:
Boolean
,
default
:
!
1
},
customType
:{
type
:
String
,
default
:
""
},
customTitle
:{
type
:
String
,
default
:
"自定义列表字段"
}},
data
:
function
(){
return
{
repProjectName
:
"haoban-manage-web"
,
enterpriseId
:
JSON
.
parse
(
localStorage
.
getItem
(
"userInfo"
)).
enterpriseId
,
userId
:
JSON
.
parse
(
localStorage
.
getItem
(
"userInfo"
)).
userId
,
customDialog
:
!
1
,
customData
:[]}},
methods
:{
handleCardClose
:
function
(){
this
.
customCancel
()},
customCancel
:
function
(){
this
.
customDialog
=!
1
,
this
.
$emit
(
"hideDayDialog"
)},
customConfirm
:
function
(){
this
.
setFieldList
()},
setFieldList
:
function
(){
var
e
=
this
,
t
=
[];
e
.
customData
.
forEach
(
function
(
a
){
a
.
fieldList
.
forEach
(
function
(
a
){
t
.
push
({
enterpriseId
:
e
.
enterpriseId
,
showType
:
1
,
userId
:
e
.
userId
,
relateId
:
a
.
relateId
,
selectFlag
:
a
.
selectFlag
?
1
:
0
})})});
var
a
=
{
fieldJson
:
o
()(
t
),
enterpriseId
:
e
.
enterpriseId
,
showType
:
1
,
userId
:
e
.
userId
};
Object
(
r
.
e
)(
"/haoban-app-attence-web/attence-field-save"
,
a
).
then
(
function
(
t
){
var
a
=
t
.
data
;
if
(
1
==
a
.
errorCode
)
return
s
.
a
.
showmsg
(
"报表有新的设置项,点击按钮更新报表内容"
,
"success"
),
void
e
.
$emit
(
"hideDayDialog"
);
c
.
a
.
errorMsg
(
a
)}).
catch
(
function
(
t
){
e
.
$message
.
error
({
duration
:
1
e3
,
message
:
t
.
message
})})},
getFieldList
:
function
(){
var
e
=
this
,
t
=
{
enterpriseId
:
e
.
enterpriseId
,
userId
:
e
.
userId
,
showType
:
1
};
Object
(
r
.
e
)(
"/haoban-app-attence-web/attence-show-field-list"
,
t
).
then
(
function
(
t
){
var
a
=
t
.
data
;
if
(
1
==
a
.
errorCode
)
return
a
.
result
.
forEach
(
function
(
e
){
e
.
fieldList
&&
e
.
fieldList
.
forEach
(
function
(
e
){
e
.
selectFlag
=
1
==
e
.
selectFlag
,
e
.
editFlag
=
1
==
e
.
editFlag
})}),
void
(
e
.
customData
=
a
.
result
);
c
.
a
.
errorMsg
(
a
)}).
catch
(
function
(
t
){
e
.
$message
.
error
({
duration
:
1
e3
,
message
:
t
.
message
})})}},
watch
:{
showDayDialog
:
function
(
e
,
t
){
this
.
customDialog
=
e
,
this
.
getFieldList
()},
customType
:
function
(
e
,
t
){
e
&&
this
.
getCardList
()}},
mounted
:
function
(){
this
.
customDialog
=
this
.
showDayDialog
,
this
.
getFieldList
()}},
d
=
{
render
:
function
(){
var
e
=
this
,
t
=
e
.
$createElement
,
a
=
e
.
_self
.
_c
||
t
;
return
a
(
"div"
,{
staticClass
:
"custom-dialog-wrap"
},[
a
(
"el-dialog"
,{
attrs
:{
title
:
e
.
customTitle
,
visible
:
e
.
customDialog
,
width
:
"761px"
,
"before-close"
:
e
.
handleCardClose
},
on
:{
"update:visible"
:
function
(
t
){
e
.
customDialog
=
t
}}},[
a
(
"div"
,{
staticClass
:
"custom-dialog__checkbox"
},[
a
(
"el-form"
,{
ref
:
"form"
,
attrs
:{
"label-width"
:
"110px"
}},
e
.
_l
(
e
.
customData
,
function
(
t
,
i
){
return
a
(
"el-form-item"
,{
key
:
i
+
"cate"
,
attrs
:{
label
:
t
.
categoryName
+
":"
}},[
t
.
fieldList
&&
t
.
fieldList
.
length
?
e
.
_l
(
t
.
fieldList
,
function
(
t
){
return
a
(
"el-checkbox"
,{
key
:
t
.
fieldId
,
attrs
:{
disabled
:
t
.
editFlag
,
name
:
"type"
},
model
:{
value
:
t
.
selectFlag
,
callback
:
function
(
a
){
e
.
$set
(
t
,
"selectFlag"
,
a
)},
expression
:
"item.selectFlag"
}},[
e
.
_v
(
e
.
_s
(
t
.
fieldName
))])}):
e
.
_e
()],
2
)}))],
1
),
e
.
_v
(
" "
),
a
(
"div"
,{
staticClass
:
"dialog-footer"
,
attrs
:{
slot
:
"footer"
},
slot
:
"footer"
},[
a
(
"el-button"
,{
on
:{
click
:
e
.
customCancel
}},[
e
.
_v
(
"取 消"
)]),
e
.
_v
(
" "
),
a
(
"el-button"
,{
attrs
:{
type
:
"primary"
},
on
:{
click
:
e
.
customConfirm
}},[
e
.
_v
(
"确 定"
)])],
1
)])],
1
)},
staticRenderFns
:[]};
var
u
=
a
(
"VU/8"
)(
l
,
d
,
!
1
,
function
(
e
){
a
(
"tjj9"
)},
"data-v-04240b66"
,
null
).
exports
,
h
=
a
(
"PI0u"
),
p
=
{
name
:
"app-detail"
,
components
:{
commonDetailTop
:
i
.
a
,
dayFieldSelect
:
u
},
props
:{
brandId
:{
type
:
String
,
default
:
function
(){
return
""
}},
tabType
:{
type
:
String
,
default
:
function
(){
return
"1"
}},
activeGroupId
:{
type
:
String
,
default
:
function
(){
return
""
}}},
data
:
function
(){
var
e
=
this
;
return
{
projectName
:
""
,
activeBrand
:
this
.
brandId
,
activeGroup
:
this
.
activeGroupId
,
enterpriseId
:
JSON
.
parse
(
localStorage
.
getItem
(
"userInfo"
)).
enterpriseId
,
userId
:
JSON
.
parse
(
localStorage
.
getItem
(
"userInfo"
)).
userId
,
activeId
:
"1"
,
topMenuData
:[{
id
:
"1"
,
name
:
"每日统计"
}],
conditionObj
:{
attenceGroupName
:
""
,
choiceDate
:
""
},
tableHeader
:[],
tableData
:[{}],
currentPage
:
1
,
pageSize
:
20
,
total
:
0
,
showDayDialog
:
!
1
,
choiceDateCopy
:[],
pickerOptions
:{
onPick
:
function
(
t
){
var
a
=
t
.
maxDate
,
i
=
t
.
minDate
;
e
.
choiceDateCopy
=
[
i
.
getTime
()],
a
&&
(
e
.
choiceDateCopy
=
[])},
disabledDate
:
function
(
t
){
if
(
e
.
choiceDateCopy
.
length
){
var
a
=
e
.
choiceDateCopy
[
0
]
-
2592
e6
,
i
=
e
.
choiceDateCopy
[
0
]
+
2592
e6
;
return
t
.
getTime
()
<
a
||
t
.
getTime
()
>
i
||
t
.
getTime
()
>
Date
.
now
()
-
864
e4
}
return
t
.
getTime
()
>
Date
.
now
()
-
864
e4
}}}},
methods
:{
changeDate
:
function
(
e
){
e
||
(
this
.
choiceDateCopy
=
[],
this
.
conditionObj
.
choiceDate
=
[]),
this
.
currentPage
=
1
,
this
.
getTableList
()},
toTableSet
:
function
(){
this
.
showDayDialog
=!
0
},
hideDayDialog
:
function
(){
this
.
showDayDialog
=!
1
},
toInput
:
Object
(
h
.
a
)(
function
(
e
,
t
){
this
.
currentPage
=
1
,
this
.
getTableList
(
this
.
brandId
)},
500
),
clearInput
:
function
(){
this
.
currentPage
=
1
,
this
.
getTableList
(
this
.
brandId
)},
changeCondition
:
function
(){
this
.
currentPage
=
1
,
this
.
getTableList
(
this
.
brandId
)},
getDayFields
:
function
(
e
){
var
t
=
this
,
a
=
{
brandId
:
e
||
t
.
activeBrand
,
enterpriseId
:
t
.
enterpriseId
,
userId
:
t
.
userId
,
showType
:
1
};
Object
(
r
.
e
)(
"/haoban-app-attence-web/attence-show-field-list"
,
a
).
then
(
function
(
e
){
var
a
=
e
.
data
;
if
(
1
==
a
.
errorCode
){
var
i
=
[];
return
a
.
result
.
forEach
(
function
(
e
){
i
.
push
({
categoryCode
:
e
.
categoryCode
,
categoryName
:
e
.
categoryName
,
fieldList
:
e
.
fieldList
?
e
.
fieldList
.
filter
(
function
(
e
){
return
1
==
e
.
selectFlag
}):[]})}),
t
.
tableHeader
=
i
||
[],
void
t
.
getTableList
()}
c
.
a
.
errorMsg
(
a
)}).
catch
(
function
(
e
){
t
.
$message
.
error
({
duration
:
1
e3
,
message
:
e
.
message
})})},
handleSizeChange
:
function
(
e
){
this
.
pageSize
=
e
,
this
.
getTableList
(
this
.
brandId
)},
handleCurrentChange
:
function
(
e
){
this
.
currentPage
=
e
,
this
.
getTableList
(
this
.
brandId
)},
toUpdateSet
:
function
(){
this
.
currentPage
=
1
,
this
.
getDayFields
(
this
.
brandId
)},
getTableList
:
function
(
e
){
var
t
=
this
;
t
.
conditionObj
.
choiceDate
||
(
t
.
conditionObj
.
choiceDate
=
[]);
var
a
=
{
brandId
:
e
||
t
.
activeBrand
,
enterpriseId
:
t
.
enterpriseId
,
userName
:
t
.
conditionObj
.
attenceGroupName
,
startDate
:
t
.
conditionObj
.
choiceDate
[
0
],
endDate
:
t
.
conditionObj
.
choiceDate
[
1
],
pageNum
:
t
.
currentPage
,
pageSize
:
t
.
pageSize
};
Object
(
r
.
e
)(
"/haoban-app-attence-web/attence-total-day"
,
a
).
then
(
function
(
e
){
var
a
=
e
.
data
;
if
(
1
==
a
.
errorCode
)
return
a
.
result
.
list
&&
a
.
result
.
list
.
length
&&
a
.
result
.
list
.
forEach
(
function
(
e
){
e
.
clockLL
=
e
.
clockLL
?
JSON
.
parse
(
e
.
clockLL
):[],
e
.
endClock
=
e
.
endClock
?
JSON
.
parse
(
e
.
endClock
):[],
e
.
startClock
=
e
.
startClock
?
JSON
.
parse
(
e
.
startClock
):[]}),
t
.
tableData
=
a
.
result
.
list
||
[],
t
.
total
=
a
.
result
.
total
,
void
console
.
log
(
t
.
tableData
);
c
.
a
.
errorMsg
(
a
)}).
catch
(
function
(
e
){
t
.
$message
.
error
({
duration
:
1
e3
,
message
:
e
.
message
})})}},
watch
:{
brandId
:
function
(
e
,
t
){
e
&&
(
this
.
activeBrand
=
e
)},
activeGroupId
:
function
(
e
,
t
){
e
&&
(
this
.
activeGroup
=
e
)},
tabType
:
function
(
e
,
t
){}},
mounted
:
function
(){
this
.
$emit
(
"showTab"
,
"11"
),
this
.
brandId
&&
1
!=
this
.
brandId
&&
(
this
.
activeBrand
=
this
.
brandId
),
this
.
getDayFields
(
this
.
brandId
)}},
g
=
{
render
:
function
(){
var
e
=
this
,
t
=
e
.
$createElement
,
a
=
e
.
_self
.
_c
||
t
;
return
a
(
"div"
,{
staticClass
:
"app-detail-wrap"
},[
a
(
"div"
,[
a
(
"common-detail-top"
,{
attrs
:{
topMenuData
:
e
.
topMenuData
,
activeId
:
e
.
activeId
}}),
e
.
_v
(
" "
),
a
(
"div"
,{
staticClass
:
"app-detail-pane border-box p-20"
},[
a
(
"div"
,{
staticClass
:
"m-b-20"
},[
a
(
"div"
,{
staticClass
:
"switch-wrap"
},[
a
(
"div"
,{
staticClass
:
"flex flex-space-between"
},[
a
(
"div"
,{
staticClass
:
"flex"
},[
a
(
"el-input"
,{
staticClass
:
"w-264"
,
staticStyle
:{
width
:
"264px"
},
attrs
:{
placeholder
:
"请输入考勤组/人员名称"
,
"prefix-icon"
:
"el-icon-search"
,
clearable
:
""
},
on
:{
clear
:
e
.
clearInput
},
nativeOn
:{
keyup
:
function
(
t
){
return
a
=
t
,
e
.
toInput
(
a
,
e
.
conditionObj
.
attenceGroupName
);
var
a
}},
model
:{
value
:
e
.
conditionObj
.
attenceGroupName
,
callback
:
function
(
t
){
e
.
$set
(
e
.
conditionObj
,
"attenceGroupName"
,
t
)},
expression
:
"conditionObj.attenceGroupName"
}}),
e
.
_v
(
" "
),
a
(
"el-date-picker"
,{
staticClass
:
"search-date m-l-10"
,
attrs
:{
format
:
"yyyy-MM-dd"
,
"value-format"
:
"yyyy-MM-dd"
,
editable
:
!
1
,
"picker-options"
:
e
.
pickerOptions
,
type
:
"daterange"
,
"range-separator"
:
"至"
,
"start-placeholder"
:
"开始日期"
,
"end-placeholder"
:
"结束日期"
},
on
:{
change
:
e
.
changeDate
},
model
:{
value
:
e
.
conditionObj
.
choiceDate
,
callback
:
function
(
t
){
e
.
$set
(
e
.
conditionObj
,
"choiceDate"
,
t
)},
expression
:
"conditionObj.choiceDate"
}})],
1
),
e
.
_v
(
" "
),
a
(
"div"
,[
a
(
"el-button"
,{
attrs
:{
type
:
"primary"
},
on
:{
click
:
e
.
toTableSet
}},[
e
.
_v
(
"设置报表"
)]),
a
(
"el-button"
,{
staticClass
:
"p-l-10"
,
attrs
:{
type
:
"primary"
},
on
:{
click
:
e
.
toUpdateSet
}},[
e
.
_v
(
"更新报表"
)])],
1
)])])]),
e
.
_v
(
" "
),
a
(
"div"
,[
a
(
"el-table"
,{
ref
:
"multipleTable"
,
staticClass
:
"select-table"
,
style
:{
width
:
"calc(100% - 3px)"
},
attrs
:{
data
:
e
.
tableData
,
"tooltip-effect"
:
"dark"
}},[
e
.
_l
(
e
.
tableHeader
,
function
(
t
,
i
){
return
[
t
.
fieldList
.
length
?
a
(
"el-table-column"
,{
key
:
i
+
"cate"
,
attrs
:{
fixed
:
"基本信息"
==
t
.
categoryName
,
label
:
t
.
categoryName
}},
e
.
_l
(
t
.
fieldList
,
function
(
e
,
t
){
return
a
(
"el-table-column"
,{
key
:
t
+
"field"
,
attrs
:{
label
:
e
.
fieldName
,
prop
:
e
.
relateId
,
"min-width"
:
"112"
}})})):
e
.
_e
()]})],
2
),
e
.
_v
(
" "
),
0
!=
e
.
tableData
.
length
?
a
(
"div"
,{
staticClass
:
"block common-wrap__page text-right m-t-24"
},[
a
(
"el-pagination"
,{
attrs
:{
background
:
""
,
"current-page"
:
e
.
currentPage
,
"page-sizes"
:[
20
,
40
,
60
,
80
],
"page-size"
:
e
.
pageSize
,
layout
:
"total, sizes, prev, pager, next, jumper"
,
total
:
e
.
total
},
on
:{
"size-change"
:
e
.
handleSizeChange
,
"current-change"
:
e
.
handleCurrentChange
}})],
1
):
e
.
_e
()],
1
)])],
1
),
e
.
_v
(
" "
),
a
(
"day-field-select"
,{
attrs
:{
showDayDialog
:
e
.
showDayDialog
},
on
:{
hideDayDialog
:
e
.
hideDayDialog
}})],
1
)},
staticRenderFns
:[]};
var
f
=
a
(
"VU/8"
)(
p
,
g
,
!
1
,
function
(
e
){
a
(
"sAn3"
)},
"data-v-4b4bddea"
,
null
);
t
.
default
=
f
.
exports
},
sAn3
:
function
(
e
,
t
){},
tjj9
:
function
(
e
,
t
){}});
\ No newline at end of file
dist/static/js/40.bf494f662eed5b762aa1.js
0 → 100644
View file @
3333b36d
webpackJsonp
([
40
],{
dfk0
:
function
(
e
,
t
){},
gncU
:
function
(
e
,
t
,
a
){
"use strict"
;
Object
.
defineProperty
(
t
,
"__esModule"
,{
value
:
!
0
});
var
i
=
a
(
"Ke24"
),
o
=
a
(
"mvHQ"
),
n
=
a
.
n
(
o
),
r
=
a
(
"P9l9"
),
s
=
a
(
"3E4D"
),
c
=
a
(
"Ch4/"
),
l
=
{
name
:
"custom-dialog"
,
props
:{
showDayDialog
:{
type
:
Boolean
,
default
:
!
1
},
customType
:{
type
:
String
,
default
:
""
},
customTitle
:{
type
:
String
,
default
:
"自定义列表字段"
}},
data
:
function
(){
return
{
repProjectName
:
"haoban-manage-web"
,
enterpriseId
:
JSON
.
parse
(
localStorage
.
getItem
(
"userInfo"
)).
enterpriseId
,
userId
:
JSON
.
parse
(
localStorage
.
getItem
(
"userInfo"
)).
userId
,
customDialog
:
!
1
,
customData
:[]}},
methods
:{
handleCardClose
:
function
(){
this
.
customCancel
()},
customCancel
:
function
(){
this
.
customDialog
=!
1
,
this
.
$emit
(
"hideDayDialog"
)},
customConfirm
:
function
(){
this
.
setFieldList
()},
setFieldList
:
function
(){
var
e
=
this
,
t
=
[];
e
.
customData
.
forEach
(
function
(
a
){
a
.
fieldList
.
forEach
(
function
(
a
){
t
.
push
({
enterpriseId
:
e
.
enterpriseId
,
showType
:
1
,
userId
:
e
.
userId
,
relateId
:
a
.
relateId
,
selectFlag
:
a
.
selectFlag
?
1
:
0
})})});
var
a
=
{
fieldJson
:
n
()(
t
),
enterpriseId
:
e
.
enterpriseId
,
showType
:
1
,
userId
:
e
.
userId
};
Object
(
r
.
e
)(
"/haoban-app-attence-web/attence-field-save"
,
a
).
then
(
function
(
t
){
var
a
=
t
.
data
;
if
(
1
==
a
.
errorCode
)
return
s
.
a
.
showmsg
(
"报表有新的设置项,点击按钮更新报表内容"
,
"success"
),
void
e
.
$emit
(
"hideDayDialog"
);
c
.
a
.
errorMsg
(
a
)}).
catch
(
function
(
t
){
e
.
$message
.
error
({
duration
:
1
e3
,
message
:
t
.
message
})})},
getFieldList
:
function
(){
var
e
=
this
,
t
=
{
enterpriseId
:
e
.
enterpriseId
,
userId
:
e
.
userId
,
showType
:
1
};
Object
(
r
.
e
)(
"/haoban-app-attence-web/attence-show-field-list"
,
t
).
then
(
function
(
t
){
var
a
=
t
.
data
;
if
(
1
==
a
.
errorCode
)
return
a
.
result
.
forEach
(
function
(
e
){
e
.
fieldList
&&
e
.
fieldList
.
forEach
(
function
(
e
){
e
.
selectFlag
=
1
==
e
.
selectFlag
,
e
.
editFlag
=
1
==
e
.
editFlag
})}),
void
(
e
.
customData
=
a
.
result
);
c
.
a
.
errorMsg
(
a
)}).
catch
(
function
(
t
){
e
.
$message
.
error
({
duration
:
1
e3
,
message
:
t
.
message
})})}},
watch
:{
showDayDialog
:
function
(
e
,
t
){
this
.
customDialog
=
e
,
this
.
getFieldList
()},
customType
:
function
(
e
,
t
){
e
&&
this
.
getCardList
()}},
mounted
:
function
(){
this
.
customDialog
=
this
.
showDayDialog
,
this
.
getFieldList
()}},
d
=
{
render
:
function
(){
var
e
=
this
,
t
=
e
.
$createElement
,
a
=
e
.
_self
.
_c
||
t
;
return
a
(
"div"
,{
staticClass
:
"custom-dialog-wrap"
},[
a
(
"el-dialog"
,{
attrs
:{
title
:
e
.
customTitle
,
visible
:
e
.
customDialog
,
width
:
"761px"
,
"before-close"
:
e
.
handleCardClose
},
on
:{
"update:visible"
:
function
(
t
){
e
.
customDialog
=
t
}}},[
a
(
"div"
,{
staticClass
:
"custom-dialog__checkbox"
},[
a
(
"el-form"
,{
ref
:
"form"
,
attrs
:{
"label-width"
:
"110px"
}},
e
.
_l
(
e
.
customData
,
function
(
t
,
i
){
return
a
(
"el-form-item"
,{
key
:
i
+
"cate"
,
attrs
:{
label
:
t
.
categoryName
+
":"
}},[
t
.
fieldList
&&
t
.
fieldList
.
length
?
e
.
_l
(
t
.
fieldList
,
function
(
t
){
return
a
(
"el-checkbox"
,{
key
:
t
.
fieldId
,
attrs
:{
disabled
:
t
.
editFlag
,
name
:
"type"
},
model
:{
value
:
t
.
selectFlag
,
callback
:
function
(
a
){
e
.
$set
(
t
,
"selectFlag"
,
a
)},
expression
:
"item.selectFlag"
}},[
e
.
_v
(
e
.
_s
(
t
.
fieldName
))])}):
e
.
_e
()],
2
)}))],
1
),
e
.
_v
(
" "
),
a
(
"div"
,{
staticClass
:
"dialog-footer"
,
attrs
:{
slot
:
"footer"
},
slot
:
"footer"
},[
a
(
"el-button"
,{
on
:{
click
:
e
.
customCancel
}},[
e
.
_v
(
"取 消"
)]),
e
.
_v
(
" "
),
a
(
"el-button"
,{
attrs
:{
type
:
"primary"
},
on
:{
click
:
e
.
customConfirm
}},[
e
.
_v
(
"确 定"
)])],
1
)])],
1
)},
staticRenderFns
:[]};
var
u
=
a
(
"VU/8"
)(
l
,
d
,
!
1
,
function
(
e
){
a
(
"tjj9"
)},
"data-v-04240b66"
,
null
).
exports
,
p
=
a
(
"PI0u"
),
h
=
{
name
:
"app-detail"
,
components
:{
commonDetailTop
:
i
.
a
,
dayFieldSelect
:
u
},
props
:{
brandId
:{
type
:
String
,
default
:
function
(){
return
""
}},
tabType
:{
type
:
String
,
default
:
function
(){
return
"1"
}},
activeGroupId
:{
type
:
String
,
default
:
function
(){
return
""
}}},
data
:
function
(){
var
e
=
this
;
return
{
projectName
:
""
,
activeBrand
:
this
.
brandId
,
activeGroup
:
this
.
activeGroupId
,
enterpriseId
:
JSON
.
parse
(
localStorage
.
getItem
(
"userInfo"
)).
enterpriseId
,
userId
:
JSON
.
parse
(
localStorage
.
getItem
(
"userInfo"
)).
userId
,
activeId
:
"1"
,
topMenuData
:[{
id
:
"1"
,
name
:
"每日统计"
}],
conditionObj
:{
attenceGroupName
:
""
,
choiceDate
:
""
},
tableHeader
:[],
tableData
:[{}],
currentPage
:
1
,
pageSize
:
20
,
total
:
0
,
showDayDialog
:
!
1
,
choiceDateCopy
:[],
pickerOptions
:{
onPick
:
function
(
t
){
var
a
=
t
.
maxDate
,
i
=
t
.
minDate
;
e
.
choiceDateCopy
=
[
i
.
getTime
()],
a
&&
(
e
.
choiceDateCopy
=
[])},
disabledDate
:
function
(
t
){
if
(
e
.
choiceDateCopy
.
length
){
var
a
=
e
.
choiceDateCopy
[
0
]
-
2592
e6
,
i
=
e
.
choiceDateCopy
[
0
]
+
2592
e6
;
return
t
.
getTime
()
<
a
||
t
.
getTime
()
>
i
||
t
.
getTime
()
>
Date
.
now
()
-
864
e4
}
return
t
.
getTime
()
>
Date
.
now
()
-
864
e4
}}}},
methods
:{
changeDate
:
function
(
e
){
e
||
(
this
.
choiceDateCopy
=
[],
this
.
conditionObj
.
choiceDate
=
[]),
this
.
currentPage
=
1
,
this
.
getTableList
()},
toTableSet
:
function
(){
this
.
showDayDialog
=!
0
},
hideDayDialog
:
function
(){
this
.
showDayDialog
=!
1
},
toInput
:
Object
(
p
.
a
)(
function
(
e
,
t
){
this
.
currentPage
=
1
,
this
.
getTableList
(
this
.
brandId
)},
500
),
clearInput
:
function
(){
this
.
currentPage
=
1
,
this
.
getTableList
(
this
.
brandId
)},
changeCondition
:
function
(){
this
.
currentPage
=
1
,
this
.
getTableList
(
this
.
brandId
)},
getDayFields
:
function
(
e
){
var
t
=
this
,
a
=
{
brandId
:
e
||
t
.
activeBrand
,
enterpriseId
:
t
.
enterpriseId
,
userId
:
t
.
userId
,
showType
:
1
};
Object
(
r
.
e
)(
"/haoban-app-attence-web/attence-show-field-list"
,
a
).
then
(
function
(
e
){
var
a
=
e
.
data
;
if
(
1
==
a
.
errorCode
){
var
i
=
[];
return
a
.
result
.
forEach
(
function
(
e
){
i
.
push
({
categoryCode
:
e
.
categoryCode
,
categoryName
:
e
.
categoryName
,
fieldList
:
e
.
fieldList
?
e
.
fieldList
.
filter
(
function
(
e
){
return
1
==
e
.
selectFlag
}):[]})}),
t
.
tableHeader
=
i
||
[],
void
t
.
getTableList
()}
c
.
a
.
errorMsg
(
a
)}).
catch
(
function
(
e
){
t
.
$message
.
error
({
duration
:
1
e3
,
message
:
e
.
message
})})},
handleSizeChange
:
function
(
e
){
this
.
pageSize
=
e
,
this
.
getTableList
(
this
.
brandId
)},
handleCurrentChange
:
function
(
e
){
this
.
currentPage
=
e
,
this
.
getTableList
(
this
.
brandId
)},
toUpdateSet
:
function
(){
this
.
currentPage
=
1
,
this
.
getDayFields
(
this
.
brandId
)},
getTableList
:
function
(
e
){
var
t
=
this
;
t
.
conditionObj
.
choiceDate
||
(
t
.
conditionObj
.
choiceDate
=
[]);
var
a
=
{
brandId
:
e
||
t
.
activeBrand
,
enterpriseId
:
t
.
enterpriseId
,
userName
:
t
.
conditionObj
.
attenceGroupName
,
startDate
:
t
.
conditionObj
.
choiceDate
[
0
],
endDate
:
t
.
conditionObj
.
choiceDate
[
1
],
pageNum
:
t
.
currentPage
,
pageSize
:
t
.
pageSize
};
Object
(
r
.
e
)(
"/haoban-app-attence-web/attence-total-day"
,
a
).
then
(
function
(
e
){
var
a
=
e
.
data
;
if
(
1
==
a
.
errorCode
)
return
a
.
result
.
list
&&
a
.
result
.
list
.
length
&&
a
.
result
.
list
.
forEach
(
function
(
e
){
e
.
clockLL
=
e
.
clockLL
?
JSON
.
parse
(
e
.
clockLL
):[],
e
.
endClock
=
e
.
endClock
?
JSON
.
parse
(
e
.
endClock
):[],
e
.
startClock
=
e
.
startClock
?
JSON
.
parse
(
e
.
startClock
):[]}),
t
.
tableData
=
a
.
result
.
list
||
[],
t
.
total
=
a
.
result
.
total
,
void
console
.
log
(
t
.
tableData
);
c
.
a
.
errorMsg
(
a
)}).
catch
(
function
(
e
){
t
.
$message
.
error
({
duration
:
1
e3
,
message
:
e
.
message
})})}},
watch
:{
brandId
:
function
(
e
,
t
){
e
&&
(
this
.
activeBrand
=
e
)},
activeGroupId
:
function
(
e
,
t
){
e
&&
(
this
.
activeGroup
=
e
)},
tabType
:
function
(
e
,
t
){}},
mounted
:
function
(){
this
.
$emit
(
"showTab"
,
"11"
),
this
.
brandId
&&
1
!=
this
.
brandId
&&
(
this
.
activeBrand
=
this
.
brandId
),
this
.
getDayFields
(
this
.
brandId
)}},
f
=
{
render
:
function
(){
var
e
=
this
,
t
=
e
.
$createElement
,
a
=
e
.
_self
.
_c
||
t
;
return
a
(
"div"
,{
staticClass
:
"app-detail-wrap"
},[
a
(
"div"
,[
a
(
"common-detail-top"
,{
attrs
:{
topMenuData
:
e
.
topMenuData
,
activeId
:
e
.
activeId
}}),
e
.
_v
(
" "
),
a
(
"div"
,{
staticClass
:
"app-detail-pane border-box p-20"
},[
a
(
"div"
,{
staticClass
:
"m-b-20"
,
style
:{
width
:
"calc(100% - 20px)"
}},[
a
(
"div"
,{
staticClass
:
"switch-wrap"
},[
a
(
"div"
,{
staticClass
:
"flex flex-space-between"
},[
a
(
"div"
,{
staticClass
:
"flex"
},[
a
(
"el-input"
,{
staticClass
:
"w-264"
,
staticStyle
:{
width
:
"264px"
},
attrs
:{
placeholder
:
"请输入考勤组/人员名称"
,
"prefix-icon"
:
"el-icon-search"
,
clearable
:
""
},
on
:{
clear
:
e
.
clearInput
},
nativeOn
:{
keyup
:
function
(
t
){
return
a
=
t
,
e
.
toInput
(
a
,
e
.
conditionObj
.
attenceGroupName
);
var
a
}},
model
:{
value
:
e
.
conditionObj
.
attenceGroupName
,
callback
:
function
(
t
){
e
.
$set
(
e
.
conditionObj
,
"attenceGroupName"
,
t
)},
expression
:
"conditionObj.attenceGroupName"
}}),
e
.
_v
(
" "
),
a
(
"el-date-picker"
,{
staticClass
:
"search-date m-l-10"
,
attrs
:{
format
:
"yyyy-MM-dd"
,
"value-format"
:
"yyyy-MM-dd"
,
editable
:
!
1
,
"picker-options"
:
e
.
pickerOptions
,
type
:
"daterange"
,
"range-separator"
:
"至"
,
"start-placeholder"
:
"开始日期"
,
"end-placeholder"
:
"结束日期"
},
on
:{
change
:
e
.
changeDate
},
model
:{
value
:
e
.
conditionObj
.
choiceDate
,
callback
:
function
(
t
){
e
.
$set
(
e
.
conditionObj
,
"choiceDate"
,
t
)},
expression
:
"conditionObj.choiceDate"
}})],
1
),
e
.
_v
(
" "
),
a
(
"div"
,[
a
(
"el-button"
,{
attrs
:{
type
:
"primary"
},
on
:{
click
:
e
.
toTableSet
}},[
e
.
_v
(
"设置报表"
)]),
a
(
"el-button"
,{
staticClass
:
"p-l-10"
,
attrs
:{
type
:
"primary"
},
on
:{
click
:
e
.
toUpdateSet
}},[
e
.
_v
(
"更新报表"
)])],
1
)])])]),
e
.
_v
(
" "
),
a
(
"div"
,[
a
(
"el-table"
,{
ref
:
"multipleTable"
,
staticClass
:
"select-table"
,
style
:{
width
:
"calc(100% - 20px)"
},
attrs
:{
data
:
e
.
tableData
,
"tooltip-effect"
:
"dark"
}},[
e
.
_l
(
e
.
tableHeader
,
function
(
t
,
i
){
return
[
t
.
fieldList
.
length
?
a
(
"el-table-column"
,{
key
:
i
+
"cate"
,
attrs
:{
fixed
:
"基本信息"
==
t
.
categoryName
,
label
:
t
.
categoryName
}},[
e
.
_l
(
t
.
fieldList
,
function
(
t
,
i
){
return
[
"endClock"
!=
t
.
relateId
&&
"startClock"
!=
t
.
relateId
&&
"clockLL"
!=
t
.
relateId
?
a
(
"el-table-column"
,{
key
:
i
+
"field"
,
attrs
:{
label
:
t
.
fieldName
,
prop
:
t
.
relateId
,
"min-width"
:
"112"
}}):
e
.
_e
(),
e
.
_v
(
" "
),
"startClock"
==
t
.
relateId
?
a
(
"el-table-column"
,{
key
:
i
+
"field"
,
attrs
:{
label
:
t
.
fieldName
,
prop
:
t
.
relateId
,
"min-width"
:
"112"
},
scopedSlots
:
e
.
_u
([{
key
:
"default"
,
fn
:
function
(
t
){
return
e
.
_l
(
t
.
row
.
startClock
,
function
(
t
,
i
){
return
a
(
"span"
,{
key
:
i
+
"clcok"
},[
e
.
_v
(
e
.
_s
(
t
.
clockStartTime
||
"--"
))])})}}])}):
e
.
_e
(),
e
.
_v
(
" "
),
"endClock"
==
t
.
relateId
?
a
(
"el-table-column"
,{
key
:
i
+
"field"
,
attrs
:{
label
:
t
.
fieldName
,
prop
:
t
.
relateId
,
"min-width"
:
"112"
},
scopedSlots
:
e
.
_u
([{
key
:
"default"
,
fn
:
function
(
t
){
return
e
.
_l
(
t
.
row
.
endClock
,
function
(
t
,
i
){
return
a
(
"span"
,{
key
:
i
+
"clcok"
},[
e
.
_v
(
e
.
_s
(
t
.
clockEndTime
||
"--"
))])})}}])}):
e
.
_e
(),
e
.
_v
(
" "
),
"clockLL"
==
t
.
relateId
?
a
(
"el-table-column"
,{
key
:
i
+
"field"
,
attrs
:{
label
:
t
.
fieldName
,
prop
:
t
.
relateId
,
"min-width"
:
"112"
},
scopedSlots
:
e
.
_u
([{
key
:
"default"
,
fn
:
function
(
t
){
return
e
.
_l
(
t
.
row
.
clockLL
,
function
(
t
,
i
){
return
a
(
"span"
,{
key
:
i
+
"clcok"
},[
e
.
_v
(
" "
+
e
.
_s
(
0
==
i
?
"上班:"
:
"下班:"
)
+
e
.
_s
(
t
.
longitude
?
t
.
longitude
:
"--"
)
+
e
.
_s
(
t
.
latitude
?
t
.
latitude
:
"--"
)),
a
(
"br"
)])})}}])}):
e
.
_e
()]})],
2
):
e
.
_e
()]})],
2
),
e
.
_v
(
" "
),
0
!=
e
.
tableData
.
length
?
a
(
"div"
,{
staticClass
:
"block common-wrap__page text-right m-t-24"
},[
a
(
"el-pagination"
,{
attrs
:{
background
:
""
,
"current-page"
:
e
.
currentPage
,
"page-sizes"
:[
20
,
40
,
60
,
80
],
"page-size"
:
e
.
pageSize
,
layout
:
"total, sizes, prev, pager, next, jumper"
,
total
:
e
.
total
},
on
:{
"size-change"
:
e
.
handleSizeChange
,
"current-change"
:
e
.
handleCurrentChange
}})],
1
):
e
.
_e
()],
1
)])],
1
),
e
.
_v
(
" "
),
a
(
"day-field-select"
,{
attrs
:{
showDayDialog
:
e
.
showDayDialog
},
on
:{
hideDayDialog
:
e
.
hideDayDialog
}})],
1
)},
staticRenderFns
:[]};
var
g
=
a
(
"VU/8"
)(
h
,
f
,
!
1
,
function
(
e
){
a
(
"dfk0"
)},
"data-v-73e25f49"
,
null
);
t
.
default
=
g
.
exports
},
tjj9
:
function
(
e
,
t
){}});
\ No newline at end of file
dist/static/js/manifest.
d9de46d80215eb0fe43f
.js
→
dist/static/js/manifest.
04c348d1696aba4dd617
.js
View file @
3333b36d
!
function
(
e
){
var
c
=
window
.
webpackJsonp
;
window
.
webpackJsonp
=
function
(
a
,
f
,
n
){
for
(
var
r
,
t
,
o
,
i
=
0
,
u
=
[];
i
<
a
.
length
;
i
++
)
t
=
a
[
i
],
d
[
t
]
&&
u
.
push
(
d
[
t
][
0
]),
d
[
t
]
=
0
;
for
(
r
in
f
)
Object
.
prototype
.
hasOwnProperty
.
call
(
f
,
r
)
&&
(
e
[
r
]
=
f
[
r
]);
for
(
c
&&
c
(
a
,
f
,
n
);
u
.
length
;)
u
.
shift
()();
if
(
n
)
for
(
i
=
0
;
i
<
n
.
length
;
i
++
)
o
=
b
(
b
.
s
=
n
[
i
]);
return
o
};
var
a
=
{},
d
=
{
103
:
0
};
function
b
(
c
){
if
(
a
[
c
])
return
a
[
c
].
exports
;
var
d
=
a
[
c
]
=
{
i
:
c
,
l
:
!
1
,
exports
:{}};
return
e
[
c
].
call
(
d
.
exports
,
d
,
d
.
exports
,
b
),
d
.
l
=!
0
,
d
.
exports
}
b
.
e
=
function
(
e
){
var
c
=
d
[
e
];
if
(
0
===
c
)
return
new
Promise
(
function
(
e
){
e
()});
if
(
c
)
return
c
[
2
];
var
a
=
new
Promise
(
function
(
a
,
b
){
c
=
d
[
e
]
=
[
a
,
b
]});
c
[
2
]
=
a
;
var
f
=
document
.
getElementsByTagName
(
"head"
)[
0
],
n
=
document
.
createElement
(
"script"
);
n
.
type
=
"text/javascript"
,
n
.
charset
=
"utf-8"
,
n
.
async
=!
0
,
n
.
timeout
=
12
e4
,
b
.
nc
&&
n
.
setAttribute
(
"nonce"
,
b
.
nc
),
n
.
src
=
b
.
p
+
"static/js/"
+
e
+
"."
+
{
0
:
"2baca21202cf454cd7b0"
,
1
:
"fe9dec1f31b04053fd7e"
,
2
:
"54aabab28c7735d34c10"
,
3
:
"b7e6d57d97174b75b050"
,
4
:
"11254d7e3a102121b8ec"
,
5
:
"b5e24a58d047a2ec70f5"
,
6
:
"124ad8222f7b043b44ae"
,
7
:
"ebad93a8c5bffffd9e98"
,
8
:
"f1c9fb5c9212483138d8"
,
9
:
"b5aae16b3951516573ad"
,
10
:
"ebbed2d956a1376f014a"
,
11
:
"59c7813cc972f62b1d18"
,
12
:
"879536ae7ce46f0c54ec"
,
13
:
"57e51fc1b6342003f25d"
,
14
:
"dce1b92c12422c24e840"
,
15
:
"7d0d73ce8d6fd16321e6"
,
16
:
"f483f95dbac654c7de5a"
,
17
:
"ff6edf624b982c354977"
,
18
:
"d50ec99b96f7acbb4d42"
,
19
:
"d7d09ae4564d64842009"
,
20
:
"455fd80bd8af15457c57"
,
21
:
"c1b5e15e28768af52654"
,
22
:
"2a873e819c6c369d5cd1"
,
23
:
"d2380bf3c276e741313b"
,
24
:
"56085041ae784faf3c32"
,
25
:
"e23f42a6b2180b63c129"
,
26
:
"606394f2e20eb1a455fa"
,
27
:
"4a1c52078d154a141023"
,
28
:
"70cb3f87bd69723dbd41"
,
29
:
"c5bb15e8e1bd17cdc0f7"
,
30
:
"ea05d43b99177823fbdc"
,
31
:
"b8b827be7489c76082e9"
,
32
:
"135531266fabdc8ecf7c"
,
33
:
"f4e32fc6846aa744ee48"
,
34
:
"0fb2eb67d47b9ecbd519"
,
35
:
"e64c33855b455bcdd9a2"
,
36
:
"7b2e2fedc166438ee6b0"
,
37
:
"8dc3e1f0f3e416135406"
,
38
:
"9f4a46d2ce3c9477a06b"
,
39
:
"b33ea830129fb895dd77"
,
40
:
"8a28abdbeb524733a7f6"
,
41
:
"17121c9227dddf24b37d"
,
42
:
"54f2f4850c109391114a"
,
43
:
"fb46c0bad10552e7ef89"
,
44
:
"3d32c7e1954754671303"
,
45
:
"c0accd45711184d0044d"
,
46
:
"785c8076b8d217da747e"
,
47
:
"b477848570e876912bdb"
,
48
:
"32a6d29de6b93cd9201c"
,
49
:
"1a7182d9cdf2e08ff7f0"
,
50
:
"4235ecfe09e1fc4e1ca4"
,
51
:
"2f363aaad04264e9f159"
,
52
:
"d56e883ddcbef7c6b221"
,
53
:
"ec91f2b143d0b1e708b5"
,
54
:
"31eed9c38748896262d1"
,
55
:
"4f96191ae2c44c6f18f7"
,
56
:
"99063bd3b07926595af4"
,
57
:
"ba6530916d934b70d218"
,
58
:
"2241679269f18e7f14c3"
,
59
:
"5c336f6f4d119300c1d8"
,
60
:
"d43c13d5c29feb45e864"
,
61
:
"0806aac37bd2b86e8bc2"
,
62
:
"8ef5c75f77376ecd8873"
,
63
:
"bbe4da77ef31a0aa9150"
,
64
:
"f26939887c305ec6f7fc"
,
65
:
"069ccaf5f8e5b5f3c59d"
,
66
:
"5f0382c9cb76b57ba778"
,
67
:
"745b9621e5297c575b33"
,
68
:
"aaaa125fb978b59c2cbf"
,
69
:
"bb6a8bab41cac9f11bd4"
,
70
:
"a226d330de7ebb2a4c5f"
,
71
:
"9551ae81326c57064dec"
,
72
:
"cb1b3985b92be4556fc1"
,
73
:
"b6b1fb51b601c0fafcda"
,
74
:
"6206c00744e77bc84fec"
,
75
:
"93eb5a61daaa3a1df425"
,
76
:
"78e5a422e9fecbbd255a"
,
77
:
"b3f7cf4d2b54d306c522"
,
78
:
"1fc3472c5f95a0a66979"
,
79
:
"69811ba75d1fceae9737"
,
80
:
"12442b543aff65f2c05d"
,
81
:
"00a94b58ac2affb758dc"
,
82
:
"1fa56152d6bdcfd4ec14"
,
83
:
"976088a6ee120b8caa17"
,
84
:
"45dae077c86a1a0050ff"
,
85
:
"0c7635a15cceae31d981"
,
86
:
"d0d0607a424156f2d88d"
,
87
:
"aee44c25b8d252c44b6e"
,
88
:
"6583c4b0dc7a8f908fa2"
,
89
:
"8d513b9c9d7970a612c0"
,
90
:
"57319965505945b3ae7e"
,
91
:
"446342439ce97b19c84f"
,
92
:
"09a5823b00d6180576b9"
,
93
:
"e801fdd8bbd27a68d8ee"
,
94
:
"c50da77d4e1d5a44b971"
,
95
:
"04507f6fadd31b01a746"
,
96
:
"d4a4beef007fa347bd93"
,
97
:
"8b0f08b3974b32d7bc2a"
,
98
:
"69c8efc82743796dc255"
,
99
:
"58cc1884c4f80303999a"
,
102
:
"2629d20834840d0da10e"
}[
e
]
+
".js"
;
var
r
=
setTimeout
(
t
,
12
e4
);
function
t
(){
n
.
onerror
=
n
.
onload
=
null
,
clearTimeout
(
r
);
var
c
=
d
[
e
];
0
!==
c
&&
(
c
&&
c
[
1
](
new
Error
(
"Loading chunk "
+
e
+
" failed."
)),
d
[
e
]
=
void
0
)}
return
n
.
onerror
=
n
.
onload
=
t
,
f
.
appendChild
(
n
),
a
},
b
.
m
=
e
,
b
.
c
=
a
,
b
.
d
=
function
(
e
,
c
,
a
){
b
.
o
(
e
,
c
)
||
Object
.
defineProperty
(
e
,
c
,{
configurable
:
!
1
,
enumerable
:
!
0
,
get
:
a
})},
b
.
n
=
function
(
e
){
var
c
=
e
&&
e
.
__esModule
?
function
(){
return
e
.
default
}:
function
(){
return
e
};
return
b
.
d
(
c
,
"a"
,
c
),
c
},
b
.
o
=
function
(
e
,
c
){
return
Object
.
prototype
.
hasOwnProperty
.
call
(
e
,
c
)},
b
.
p
=
"./"
,
b
.
oe
=
function
(
e
){
throw
console
.
error
(
e
),
e
}}([]);
\ No newline at end of file
!
function
(
e
){
var
c
=
window
.
webpackJsonp
;
window
.
webpackJsonp
=
function
(
a
,
b
,
n
){
for
(
var
r
,
t
,
o
,
i
=
0
,
u
=
[];
i
<
a
.
length
;
i
++
)
t
=
a
[
i
],
d
[
t
]
&&
u
.
push
(
d
[
t
][
0
]),
d
[
t
]
=
0
;
for
(
r
in
b
)
Object
.
prototype
.
hasOwnProperty
.
call
(
b
,
r
)
&&
(
e
[
r
]
=
b
[
r
]);
for
(
c
&&
c
(
a
,
b
,
n
);
u
.
length
;)
u
.
shift
()();
if
(
n
)
for
(
i
=
0
;
i
<
n
.
length
;
i
++
)
o
=
f
(
f
.
s
=
n
[
i
]);
return
o
};
var
a
=
{},
d
=
{
103
:
0
};
function
f
(
c
){
if
(
a
[
c
])
return
a
[
c
].
exports
;
var
d
=
a
[
c
]
=
{
i
:
c
,
l
:
!
1
,
exports
:{}};
return
e
[
c
].
call
(
d
.
exports
,
d
,
d
.
exports
,
f
),
d
.
l
=!
0
,
d
.
exports
}
f
.
e
=
function
(
e
){
var
c
=
d
[
e
];
if
(
0
===
c
)
return
new
Promise
(
function
(
e
){
e
()});
if
(
c
)
return
c
[
2
];
var
a
=
new
Promise
(
function
(
a
,
f
){
c
=
d
[
e
]
=
[
a
,
f
]});
c
[
2
]
=
a
;
var
b
=
document
.
getElementsByTagName
(
"head"
)[
0
],
n
=
document
.
createElement
(
"script"
);
n
.
type
=
"text/javascript"
,
n
.
charset
=
"utf-8"
,
n
.
async
=!
0
,
n
.
timeout
=
12
e4
,
f
.
nc
&&
n
.
setAttribute
(
"nonce"
,
f
.
nc
),
n
.
src
=
f
.
p
+
"static/js/"
+
e
+
"."
+
{
0
:
"2baca21202cf454cd7b0"
,
1
:
"fe9dec1f31b04053fd7e"
,
2
:
"54aabab28c7735d34c10"
,
3
:
"b7e6d57d97174b75b050"
,
4
:
"11254d7e3a102121b8ec"
,
5
:
"b5e24a58d047a2ec70f5"
,
6
:
"124ad8222f7b043b44ae"
,
7
:
"ebad93a8c5bffffd9e98"
,
8
:
"f1c9fb5c9212483138d8"
,
9
:
"b5aae16b3951516573ad"
,
10
:
"ebbed2d956a1376f014a"
,
11
:
"59c7813cc972f62b1d18"
,
12
:
"879536ae7ce46f0c54ec"
,
13
:
"57e51fc1b6342003f25d"
,
14
:
"dce1b92c12422c24e840"
,
15
:
"daa794ea3c28060892ac"
,
16
:
"f483f95dbac654c7de5a"
,
17
:
"ff6edf624b982c354977"
,
18
:
"d50ec99b96f7acbb4d42"
,
19
:
"d7d09ae4564d64842009"
,
20
:
"455fd80bd8af15457c57"
,
21
:
"c1b5e15e28768af52654"
,
22
:
"2a873e819c6c369d5cd1"
,
23
:
"d2380bf3c276e741313b"
,
24
:
"56085041ae784faf3c32"
,
25
:
"e23f42a6b2180b63c129"
,
26
:
"606394f2e20eb1a455fa"
,
27
:
"4a1c52078d154a141023"
,
28
:
"70cb3f87bd69723dbd41"
,
29
:
"c5bb15e8e1bd17cdc0f7"
,
30
:
"ea05d43b99177823fbdc"
,
31
:
"b8b827be7489c76082e9"
,
32
:
"135531266fabdc8ecf7c"
,
33
:
"f4e32fc6846aa744ee48"
,
34
:
"0fb2eb67d47b9ecbd519"
,
35
:
"e64c33855b455bcdd9a2"
,
36
:
"7b2e2fedc166438ee6b0"
,
37
:
"8dc3e1f0f3e416135406"
,
38
:
"9f4a46d2ce3c9477a06b"
,
39
:
"b33ea830129fb895dd77"
,
40
:
"bf494f662eed5b762aa1"
,
41
:
"17121c9227dddf24b37d"
,
42
:
"54f2f4850c109391114a"
,
43
:
"fb46c0bad10552e7ef89"
,
44
:
"3d32c7e1954754671303"
,
45
:
"c0accd45711184d0044d"
,
46
:
"785c8076b8d217da747e"
,
47
:
"b477848570e876912bdb"
,
48
:
"32a6d29de6b93cd9201c"
,
49
:
"1a7182d9cdf2e08ff7f0"
,
50
:
"4235ecfe09e1fc4e1ca4"
,
51
:
"2f363aaad04264e9f159"
,
52
:
"d56e883ddcbef7c6b221"
,
53
:
"ec91f2b143d0b1e708b5"
,
54
:
"31eed9c38748896262d1"
,
55
:
"4f96191ae2c44c6f18f7"
,
56
:
"99063bd3b07926595af4"
,
57
:
"ba6530916d934b70d218"
,
58
:
"2241679269f18e7f14c3"
,
59
:
"5c336f6f4d119300c1d8"
,
60
:
"d43c13d5c29feb45e864"
,
61
:
"0806aac37bd2b86e8bc2"
,
62
:
"8ef5c75f77376ecd8873"
,
63
:
"bbe4da77ef31a0aa9150"
,
64
:
"f26939887c305ec6f7fc"
,
65
:
"069ccaf5f8e5b5f3c59d"
,
66
:
"5f0382c9cb76b57ba778"
,
67
:
"745b9621e5297c575b33"
,
68
:
"aaaa125fb978b59c2cbf"
,
69
:
"bb6a8bab41cac9f11bd4"
,
70
:
"a226d330de7ebb2a4c5f"
,
71
:
"9551ae81326c57064dec"
,
72
:
"cb1b3985b92be4556fc1"
,
73
:
"b6b1fb51b601c0fafcda"
,
74
:
"6206c00744e77bc84fec"
,
75
:
"93eb5a61daaa3a1df425"
,
76
:
"78e5a422e9fecbbd255a"
,
77
:
"b3f7cf4d2b54d306c522"
,
78
:
"1fc3472c5f95a0a66979"
,
79
:
"69811ba75d1fceae9737"
,
80
:
"12442b543aff65f2c05d"
,
81
:
"00a94b58ac2affb758dc"
,
82
:
"1fa56152d6bdcfd4ec14"
,
83
:
"976088a6ee120b8caa17"
,
84
:
"45dae077c86a1a0050ff"
,
85
:
"0c7635a15cceae31d981"
,
86
:
"d0d0607a424156f2d88d"
,
87
:
"aee44c25b8d252c44b6e"
,
88
:
"6583c4b0dc7a8f908fa2"
,
89
:
"8d513b9c9d7970a612c0"
,
90
:
"57319965505945b3ae7e"
,
91
:
"446342439ce97b19c84f"
,
92
:
"09a5823b00d6180576b9"
,
93
:
"e801fdd8bbd27a68d8ee"
,
94
:
"c50da77d4e1d5a44b971"
,
95
:
"04507f6fadd31b01a746"
,
96
:
"d4a4beef007fa347bd93"
,
97
:
"8b0f08b3974b32d7bc2a"
,
98
:
"69c8efc82743796dc255"
,
99
:
"58cc1884c4f80303999a"
,
102
:
"2629d20834840d0da10e"
}[
e
]
+
".js"
;
var
r
=
setTimeout
(
t
,
12
e4
);
function
t
(){
n
.
onerror
=
n
.
onload
=
null
,
clearTimeout
(
r
);
var
c
=
d
[
e
];
0
!==
c
&&
(
c
&&
c
[
1
](
new
Error
(
"Loading chunk "
+
e
+
" failed."
)),
d
[
e
]
=
void
0
)}
return
n
.
onerror
=
n
.
onload
=
t
,
b
.
appendChild
(
n
),
a
},
f
.
m
=
e
,
f
.
c
=
a
,
f
.
d
=
function
(
e
,
c
,
a
){
f
.
o
(
e
,
c
)
||
Object
.
defineProperty
(
e
,
c
,{
configurable
:
!
1
,
enumerable
:
!
0
,
get
:
a
})},
f
.
n
=
function
(
e
){
var
c
=
e
&&
e
.
__esModule
?
function
(){
return
e
.
default
}:
function
(){
return
e
};
return
f
.
d
(
c
,
"a"
,
c
),
c
},
f
.
o
=
function
(
e
,
c
){
return
Object
.
prototype
.
hasOwnProperty
.
call
(
e
,
c
)},
f
.
p
=
"./"
,
f
.
oe
=
function
(
e
){
throw
console
.
error
(
e
),
e
}}([]);
\ No newline at end of file
src/views/enterpriseApp/dailyAttendance/dayStatistics.vue
View file @
3333b36d
...
...
@@ -4,7 +4,7 @@
* @Author: 无尘
* @Date: 2019-03-20 14:36:37
* @LastEditors : 无尘
* @LastEditTime : 2019-12-25 1
5:51:16
* @LastEditTime : 2019-12-25 1
7:00:14
-->
<!--
...
...
@@ -15,7 +15,7 @@
<div>
<common-detail-top
:topMenuData=
"topMenuData"
:activeId=
"activeId"
></common-detail-top>
<div
class=
"app-detail-pane border-box p-20"
>
<div
class=
"m-b-20"
>
<div
class=
"m-b-20"
:style=
"
{ width: 'calc(100% - 20px)' }"
>
<div
class=
"switch-wrap"
>
<div
class=
"flex flex-space-between"
>
<div
class=
"flex"
>
...
...
@@ -27,10 +27,27 @@
</div>
</div>
<div>
<el-table
class=
"select-table"
ref=
"multipleTable"
:data=
"tableData"
tooltip-effect=
"dark"
:style=
"
{ width: 'calc(100% -
3
px)' }">
<el-table
class=
"select-table"
ref=
"multipleTable"
:data=
"tableData"
tooltip-effect=
"dark"
:style=
"
{ width: 'calc(100% -
20
px)' }">
<template
v-for=
"(pItem, pIndex) in tableHeader"
>
<el-table-column
v-if=
"pItem.fieldList.length"
:fixed=
"pItem.categoryName == '基本信息' ? true : false"
:label=
"pItem.categoryName"
:key=
"pIndex + 'cate'"
>
<el-table-column
v-for=
"(item, index) in pItem.fieldList"
:label=
"item.fieldName"
:key=
"index + 'field'"
:prop=
"item.relateId"
min-width=
"112"
>
</el-table-column>
<template
v-for=
"(item, index) in pItem.fieldList"
>
<el-table-column
v-if=
"item.relateId != 'endClock' && item.relateId != 'startClock' && item.relateId != 'clockLL'"
:label=
"item.fieldName"
:key=
"index + 'field'"
:prop=
"item.relateId"
min-width=
"112"
>
</el-table-column>
<el-table-column
v-if=
"item.relateId == 'startClock'"
:label=
"item.fieldName"
:key=
"index + 'field'"
:prop=
"item.relateId"
min-width=
"112"
>
<template
slot-scope=
"scope"
>
<span
v-for=
"(ele, key) in scope.row.startClock"
:key=
"key + 'clcok'"
>
{{
ele
.
clockStartTime
||
'--'
}}
</span>
</
template
>
</el-table-column>
<el-table-column
v-if=
"item.relateId == 'endClock'"
:label=
"item.fieldName"
:key=
"index + 'field'"
:prop=
"item.relateId"
min-width=
"112"
>
<
template
slot-scope=
"scope"
>
<span
v-for=
"(ele, key) in scope.row.endClock"
:key=
"key + 'clcok'"
>
{{
ele
.
clockEndTime
||
'--'
}}
</span>
</
template
>
</el-table-column>
<el-table-column
v-if=
"item.relateId == 'clockLL'"
:label=
"item.fieldName"
:key=
"index + 'field'"
:prop=
"item.relateId"
min-width=
"112"
>
<
template
slot-scope=
"scope"
>
<span
v-for=
"(ele, key) in scope.row.clockLL"
:key=
"key + 'clcok'"
>
{{
key
==
0
?
'上班:'
:
'下班:'
}}{{
!!
ele
.
longitude
?
ele
.
longitude
:
'--'
}}{{
!!
ele
.
latitude
?
ele
.
latitude
:
'--'
}}
<br
/></span>
</
template
>
</el-table-column>
</template>
</el-table-column>
</template>
</el-table>
...
...
src/views/enterpriseApp/dailyAttendance/workGroupSet.vue
View file @
3333b36d
...
...
@@ -4,7 +4,7 @@
* @Author: 无尘
* @Date: 2019-04-12 17:56:45
* @LastEditors : 无尘
* @LastEditTime : 2019-12-25 1
4:45:39
* @LastEditTime : 2019-12-25 1
6:46:18
-->
<
template
>
<div
class=
"notice-list-wrap"
>
...
...
@@ -286,7 +286,7 @@ import vueSelectStore from 'components/common/vueSelectStore';
import
vueSelectEmployee
from
'@/components/common/vueSelectEmployee.vue'
;
import
limitTextarea
from
'@/components/limit-textarea.vue'
;
import
{
getRequest
,
postRequest
}
from
'@/api/api'
;
import
showMsg
from
'@/common/js/showmsg'
;
//
import showMsg from '@/common/js/showmsg';
import
{
_debounce
}
from
'@/common/js/public'
;
import
errMsg
from
'@/common/js/error'
;
export
default
{
...
...
@@ -760,10 +760,10 @@ export default {
}
that
.
ruleFormData
.
attenceRangeJson
=
[...
adminStructor
,
...
storeStructor
,
...
noAdminStructor
,
...
noStoreStructor
];
/* eslint-disabled */
if
(
that
.
ruleFormData
.
gpsFlag
&&
!
that
.
ruleFormData
.
distanceAddress
.
length
)
{
/*
if (that.ruleFormData.gpsFlag && !that.ruleFormData.distanceAddress.length) {
showMsg.showmsg('请设置打卡地点', 'warning');
return false;
}
}
*/
console
.
log
(
that
.
ruleFormData
);
that
.
$refs
[
formName
].
validate
(
valid
=>
{
if
(
valid
)
{
...
...
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