Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
A
attendance-performance-platform
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
赵啸非
attendance-performance-platform
Commits
44f4c6f2
Commit
44f4c6f2
authored
Jul 25, 2023
by
姬鋆屾
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
推,修改提出的问题
parent
cc1cdaf7
Changes
6
Hide whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
794 additions
and
575 deletions
+794
-575
attendance-performance-manager-ui/admin/src/components/FormField.vue
...performance-manager-ui/admin/src/components/FormField.vue
+0
-1
attendance-performance-manager-ui/admin/src/views/attendance/record/list.vue
...nce-manager-ui/admin/src/views/attendance/record/list.vue
+51
-23
attendance-performance-manager-ui/admin/src/views/attendance/stat/list.vue
...mance-manager-ui/admin/src/views/attendance/stat/list.vue
+323
-287
attendance-performance-manager-ui/admin/src/views/feedback/list.vue
...-performance-manager-ui/admin/src/views/feedback/list.vue
+175
-126
attendance-performance-manager-ui/admin/src/views/staff/dialogshow.vue
...rformance-manager-ui/admin/src/views/staff/dialogshow.vue
+238
-136
attendance-performance-manager-ui/admin/src/views/staff/list.vue
...nce-performance-manager-ui/admin/src/views/staff/list.vue
+7
-2
No files found.
attendance-performance-manager-ui/admin/src/components/FormField.vue
View file @
44f4c6f2
...
...
@@ -226,7 +226,6 @@ export default {
},
maxLength
:
{
type
:
Number
,
default
:
256
,
},
},
methods
:
{
...
...
attendance-performance-manager-ui/admin/src/views/attendance/record/list.vue
View file @
44f4c6f2
<
template
>
<div
class=
"page"
>
<div
>
<div>
<tab-pane
:thirdList=
"thirdList"
:activeName=
"activeName"
...
...
@@ -66,14 +66,14 @@
@
click=
"lookexportHis"
>
导出记录
</el-button
>
<
!--
<
el-button
<el-button
slot=
"table-head-left2"
style=
"margin-left: 10px"
icon=
"el-icon-tickets"
size=
"mini"
@
click=
"setdialog"
>
表格设置
</el-button
>
-->
>
</LayoutTable>
<drawer-show
ref=
"drawerform"
@
ok=
"getData"
/>
<!-- 导出记录查看 -->
...
...
@@ -189,7 +189,7 @@ import drawerShow from "./drawershow";
import
table
from
"
@/assets/mixins/table
"
;
import
TabPane
from
"
@/components/tabPane.vue
"
;
import
{
timestampToTime
}
from
"
@/assets/utils/dateFormat
"
;
import
{
formatterDateOnly
}
from
"
@/assets/utils/table
"
;
import
{
formatterDateOnly
}
from
"
@/assets/utils/table
"
;
export
default
{
name
:
"
AttendanceRecordList
"
,
components
:
{
...
...
@@ -401,12 +401,30 @@ export default {
/** 子表列元素 */
columnSet
:
[
{
prop
:
"
shiftsName
"
,
label
:
"
班次名称
"
,
width
:
150
},
{
prop
:
"
goWorkDate
"
,
label
:
"
上班打卡时间
"
,
width
:
100
,
formatter
:
this
.
formatterDate
},
{
prop
:
"
goWorkResult
"
,
label
:
"
上班打卡结果
"
,
width
:
100
,
formatter
:
this
.
formatterString
},
{
prop
:
"
offWorkDate
"
,
label
:
"
下班打卡时间
"
,
width
:
100
,
formatter
:
this
.
formatterDate
},
{
prop
:
"
offWorkResult
"
,
label
:
"
下班打卡结果
"
,
width
:
100
,
formatter
:
this
.
formatterString
}
{
prop
:
"
goWorkDate
"
,
label
:
"
上班打卡时间
"
,
width
:
100
,
formatter
:
this
.
formatterDate
,
},
{
prop
:
"
goWorkResult
"
,
label
:
"
上班打卡结果
"
,
width
:
100
,
formatter
:
this
.
formatterString
,
},
{
prop
:
"
offWorkDate
"
,
label
:
"
下班打卡时间
"
,
width
:
100
,
formatter
:
this
.
formatterDate
,
},
{
prop
:
"
offWorkResult
"
,
label
:
"
下班打卡结果
"
,
width
:
100
,
formatter
:
this
.
formatterString
,
},
],
config
:
{
search
:
[
...
...
@@ -459,7 +477,6 @@ export default {
label
:
"
考勤结束时间
"
,
fuzzy
:
false
,
},
],
columns
:
[
{
type
:
"
selection
"
,
width
:
60
},
...
...
@@ -479,24 +496,35 @@ export default {
{
label
:
"
部门
"
,
prop
:
"
deptName
"
,
formatter
:
this
.
formatters
},
{
label
:
"
职位
"
,
prop
:
"
positionName
"
,
formatter
:
this
.
formatters
},
{
label
:
"
班次
"
,
prop
:
"
shiftsName
"
,
formatter
:
this
.
formatters
},
{
label
:
"
签到结果
"
,
prop
:
"
signInResult
"
,
formatter
:
this
.
formatter
},
{
label
:
"
签退结果
"
,
prop
:
"
signOutResult
"
,
formatter
:
this
.
formatter
},
{
label
:
"
签到结果
"
,
prop
:
"
signInResult
"
,
formatter
:
this
.
formatter
,
},
{
label
:
"
签退结果
"
,
prop
:
"
signOutResult
"
,
formatter
:
this
.
formatter
,
},
{
label
:
"
打卡结果
"
,
prop
:
"
punchResult
"
,
formatter
:
this
.
formatter
},
{
label
:
"
考勤类型
"
,
prop
:
"
attendType
"
,
formatter
:
this
.
formatter
},
{
label
:
"
考勤打卡记录详细信息
"
,
{
label
:
"
考勤打卡记录详细信息
"
,
width
:
120
,
prop
:
"
subColumns
"
,
formatter
:
(
row
)
=>
{
let
widthsize
=
this
.
columnSet
.
reduce
((
pre
,
cur
)
=>
{
return
pre
+
Number
(
cur
.
width
);
},
50
);
return
(
<
el
-
popover
placement
=
"
right
"
width
=
{
widthsize
}
trigger
=
"
click
"
>
{
this
.
renderTable
(
row
.
attendanceRecordDetailList
)}
<
el
-
button
type
=
"
text
"
slot
=
"
reference
"
>
详细
<
/el-button
>
<
/el-popover
>
);
let
widthsize
=
this
.
columnSet
.
reduce
((
pre
,
cur
)
=>
{
return
pre
+
Number
(
cur
.
width
);
},
50
);
return
(
<
el
-
popover
placement
=
"
right
"
width
=
{
widthsize
}
trigger
=
"
click
"
>
{
this
.
renderTable
(
row
.
attendanceRecordDetailList
)}
<
el
-
button
type
=
"
text
"
slot
=
"
reference
"
>
详细
<
/el-button
>
<
/el-popover
>
);
},
},
// {
...
...
attendance-performance-manager-ui/admin/src/views/attendance/stat/list.vue
View file @
44f4c6f2
<
template
>
<div
class=
"page"
>
<LayoutTable
:data=
"tableData"
:config=
"tableConfig"
notAdd
notDel
>
<el-button
slot=
"table-head-left2"
style=
"margin-left: 10px"
icon=
"el-icon-tickets"
size=
"mini"
type=
"primary"
@
click=
"doExport"
:disabled=
"isExport"
>
导出
</el-button>
<el-button
slot=
"table-head-left2"
style=
"margin-left: 10px"
icon=
"el-icon-tickets"
size=
"mini"
type=
"success"
@
click=
"lookexportHis"
>
导出记录
</el-button>
<!--
<el-button
slot=
"table-head-left2"
style=
"margin-left: 10px"
icon=
"el-icon-tickets"
size=
"mini"
@
click=
"setdialog"
>
表格设置
</el-button>
-->
</LayoutTable>
<dialog-show
ref=
"dialogform"
@
ok=
"getData"
/>
<!-- 表格设置 -->
<el-dialog
:visible.sync=
"isdialog"
title=
"导出表格设置"
>
<div
class=
"tipsword"
>
请选择表格展示字段,导出的表格中的内容选中的字段将保持一致。
</div>
<el-checkbox-group
v-model=
"checkList"
>
<el-checkbox
v-for=
"(item,index) in setcolum"
:key=
"index"
:label=
"item.label"
>
</el-checkbox>
</el-checkbox-group>
<div
class=
"mt20"
style=
"text-align:right"
>
<el-button>
取消
</el-button>
<el-button
type=
"primary"
>
确定
</el-button>
</div>
</el-dialog>
<!-- 导出记录查看 -->
<el-drawer
title=
"导出记录"
:visible.sync=
"drawerhistory"
:direction=
"direction"
>
<div
class=
"hisList"
>
<div
class=
"list mt10"
v-for=
"item in 10"
:key=
"item"
>
<div
class=
"flex flex-align-center flex-pack-justify"
>
<div>
打卡记录汇总
</div>
<el-button
type=
"text"
>
导出成功
</el-button>
</div>
<div
class=
"times"
>
导出时间:2020-08-13
</div>
</div>
</div>
</el-drawer>
</div>
<div
class=
"page"
>
<LayoutTable
:data=
"tableData"
:config=
"tableConfig"
notAdd
notDel
>
<el-button
slot=
"table-head-left2"
style=
"margin-left: 10px"
icon=
"el-icon-tickets"
size=
"mini"
type=
"primary"
@
click=
"doExport"
:disabled=
"isExport"
>
导出
</el-button
>
<el-button
slot=
"table-head-left2"
style=
"margin-left: 10px"
icon=
"el-icon-tickets"
size=
"mini"
type=
"success"
@
click=
"lookexportHis"
>
导出记录
</el-button
>
<el-button
slot=
"table-head-left2"
style=
"margin-left: 10px"
icon=
"el-icon-tickets"
size=
"mini"
@
click=
"setdialog"
>
表格设置
</el-button
>
</LayoutTable>
<dialog-show
ref=
"dialogform"
@
ok=
"getData"
/>
<!-- 表格设置 -->
<el-dialog
:visible.sync=
"isdialog"
title=
"导出表格设置"
>
<div
class=
"tipsword"
>
请选择表格展示字段,导出的表格中的内容选中的字段将保持一致。
</div>
<el-checkbox-group
v-model=
"checkList"
>
<el-checkbox
v-for=
"(item, index) in setcolum"
:key=
"index"
:label=
"item.label"
>
</el-checkbox>
</el-checkbox-group>
<div
class=
"mt20"
style=
"text-align:right"
>
<el-button>
取消
</el-button>
<el-button
type=
"primary"
>
确定
</el-button>
</div>
</el-dialog>
<!-- 导出记录查看 -->
<el-drawer
title=
"导出记录"
:visible.sync=
"drawerhistory"
:direction=
"direction"
>
<div
class=
"hisList"
>
<div
class=
"list mt10"
v-for=
"item in 10"
:key=
"item"
>
<div
class=
"flex flex-align-center flex-pack-justify"
>
<div>
打卡记录汇总
</div>
<el-button
type=
"text"
>
导出成功
</el-button>
</div>
<div
class=
"times"
>
导出时间:2020-08-13
</div>
</div>
</div>
</el-drawer>
</div>
</
template
>
<
script
>
/** 表单弹出框模式需引入 */
import
dialogShow
from
"
./dialogshow
"
;
import
table
from
"
@/assets/mixins/table
"
;
import
{
getFirstDay
,
getLastDay
,
getdiffdate
,
timestampToTime
,
getMyDay
}
from
'
@/assets/utils/dateFormat.js
'
export
default
{
name
:
"
AttendanceStatList
"
,
components
:
{
dialogShow
},
mixins
:
[
table
],
created
()
{
this
.
query
.
startTime
=
getFirstDay
()
this
.
query
.
endTime
=
getLastDay
()
this
.
initalArr
=
this
.
config
.
columns
},
methods
:
{
// 处理
handleArr
(
arr
,
currentTime
){
let
index
=
arr
.
findIndex
(
item
=>
item
.
createTime
===
currentTime
)
if
(
index
>
-
1
){
return
arr
[
index
].
attendanceSummary
}
else
{
return
'
-
'
}
},
afterRender
(
data
)
{
this
.
addColumn
=
getdiffdate
(
this
.
query
.
startTime
,
this
.
query
.
endTime
)
// 动态处理
let
addobjArr
=
[]
this
.
addColumn
.
map
((
item
,
index
)
=>
{
let
obj
=
{
label
:
item
+
'
(
'
+
getMyDay
(
new
Date
(
item
))
+
'
)
'
,
prop
:
'
attendanceStaffStatEntities
'
,
formatter
:
(
row
)
=>
{
if
(
row
.
attendanceStaffStatEntities
.
length
>
0
){
return
this
.
handleArr
(
row
.
attendanceStaffStatEntities
,
item
)
}
else
{
return
'
-
'
}
}
}
addobjArr
.
push
(
obj
)
})
this
.
config
.
columns
=
[...
this
.
initalArr
,...
addobjArr
]
this
.
$forceUpdate
()
},
beforeRender
(
row
)
{
row
.
data
.
forEach
(
element
=>
{
if
(
element
.
attendanceStaffStatEntities
.
length
>
0
){
element
.
attendanceStaffStatEntities
.
forEach
(
item1
=>
{
item1
.
createTime
=
timestampToTime
(
item1
.
createTime
,
3
)
})
}
})
return
row
},
/** 重写新增方法 */
toAdd
(
row
)
{
this
.
$refs
.
dialogform
.
add
(
row
);
},
/** 重写编辑方法 */
toEdit
(
row
)
{
this
.
$refs
.
dialogform
.
edit
(
row
);
},
/** 重写查看方法 */
toView
(
row
)
{
this
.
$refs
.
dialogform
.
view
(
row
);
},
setdialog
(){
this
.
isdialog
=
true
this
.
setcolum
=
this
.
config
.
columns
.
filter
(
item
=>
item
.
label
&&
item
.
prop
)
},
lookexportHis
(){
this
.
drawerhistory
=
true
},
/** 导出Excel */
doExport
()
{
this
.
isExport
=
true
;
let
params
=
{}
for
(
let
value
of
this
.
config
.
search
){
if
(
this
.
query
[
value
.
name
]){
params
[
value
.
name
]
=
this
.
query
[
value
.
name
]
}
}
if
(
this
.
selection
.
length
>
0
){
params
[
'
idList
'
]
=
this
.
selection
}
this
.
$download
(
"
/attendance/stat/exportExcel
"
,
{
...
params
},
{
type
:
"
excel
"
}).
then
(()
=>
this
.
isExport
=
false
).
catch
(
error
=>
{
this
.
isExport
=
false
;
this
.
$message
.
error
(
error
.
message
);
})
/** 表单弹出框模式需引入 */
import
dialogShow
from
"
./dialogshow
"
;
import
table
from
"
@/assets/mixins/table
"
;
import
{
getFirstDay
,
getLastDay
,
getdiffdate
,
timestampToTime
,
getMyDay
,
}
from
"
@/assets/utils/dateFormat.js
"
;
export
default
{
name
:
"
AttendanceStatList
"
,
components
:
{
dialogShow
,
},
mixins
:
[
table
],
created
()
{
this
.
query
.
startTime
=
getFirstDay
();
this
.
query
.
endTime
=
getLastDay
();
this
.
initalArr
=
this
.
config
.
columns
;
},
methods
:
{
// 处理
handleArr
(
arr
,
currentTime
)
{
let
index
=
arr
.
findIndex
((
item
)
=>
item
.
createTime
===
currentTime
);
if
(
index
>
-
1
)
{
return
arr
[
index
].
attendanceSummary
;
}
else
{
return
"
-
"
;
}
},
afterRender
(
data
)
{
this
.
addColumn
=
getdiffdate
(
this
.
query
.
startTime
,
this
.
query
.
endTime
);
// 动态处理
let
addobjArr
=
[];
this
.
addColumn
.
map
((
item
,
index
)
=>
{
let
obj
=
{
label
:
item
+
"
(
"
+
getMyDay
(
new
Date
(
item
))
+
"
)
"
,
prop
:
"
attendanceStaffStatEntities
"
,
formatter
:
(
row
)
=>
{
if
(
row
.
attendanceStaffStatEntities
.
length
>
0
)
{
return
this
.
handleArr
(
row
.
attendanceStaffStatEntities
,
item
);
}
else
{
return
"
-
"
;
}
},
};
addobjArr
.
push
(
obj
);
});
this
.
config
.
columns
=
[...
this
.
initalArr
,
...
addobjArr
];
this
.
$forceUpdate
();
},
beforeRender
(
row
)
{
row
.
data
.
forEach
((
element
)
=>
{
if
(
element
.
attendanceStaffStatEntities
.
length
>
0
)
{
element
.
attendanceStaffStatEntities
.
forEach
((
item1
)
=>
{
item1
.
createTime
=
timestampToTime
(
item1
.
createTime
,
3
);
});
}
});
return
row
;
},
/** 重写新增方法 */
toAdd
(
row
)
{
this
.
$refs
.
dialogform
.
add
(
row
);
},
/** 重写编辑方法 */
toEdit
(
row
)
{
this
.
$refs
.
dialogform
.
edit
(
row
);
},
/** 重写查看方法 */
toView
(
row
)
{
this
.
$refs
.
dialogform
.
view
(
row
);
},
setdialog
()
{
this
.
isdialog
=
true
;
this
.
setcolum
=
this
.
config
.
columns
.
filter
(
(
item
)
=>
item
.
label
&&
item
.
prop
);
},
lookexportHis
()
{
this
.
drawerhistory
=
true
;
},
/** 导出Excel */
doExport
()
{
this
.
isExport
=
true
;
let
params
=
{};
for
(
let
value
of
this
.
config
.
search
)
{
if
(
this
.
query
[
value
.
name
])
{
params
[
value
.
name
]
=
this
.
query
[
value
.
name
];
}
}
if
(
this
.
selection
.
length
>
0
)
{
params
[
"
idList
"
]
=
this
.
selection
;
}
this
.
$download
(
"
/attendance/stat/exportExcel
"
,
{
...
params
,
},
data
()
{
return
{
config
:
{
isshowTabPane
:
true
,
search
:
[
{
name
:
"
deptId
"
,
type
:
"
select
"
,
label
:
"
全部部门
"
,
fuzzy
:
false
},
{
name
:
"
groupId
"
,
type
:
"
select
"
,
label
:
"
全部考勤组
"
,
fuzzy
:
false
},
{
name
:
"
classId
"
,
type
:
"
select
"
,
label
:
"
全部班次
"
,
fuzzy
:
false
},
{
name
:
'
startTime
'
,
type
:
"
date
"
,
label
:
"
考勤开始时间
"
,
fuzzy
:
false
},
{
name
:
'
endTime
'
,
type
:
"
date
"
,
label
:
"
考勤结束时间
"
,
fuzzy
:
false
},
{
name
:
"
staffName
"
,
type
:
"
text
"
,
label
:
"
员工姓名
"
,
fuzzy
:
true
},
{
name
:
"
phoneNumber
"
,
type
:
"
text
"
,
label
:
"
手机号
"
,
fuzzy
:
true
}
],
columns
:
[
{
type
:
"
selection
"
,
width
:
60
,
fixed
:
'
left
'
},
{
type
:
"
index
"
,
label
:
"
序号
"
,
width
:
50
,
fixed
:
'
left
'
},
{
label
:
"
窗口类别
"
,
prop
:
"
windowCategory
"
,
fixed
:
'
left
'
,
width
:
100
},
{
label
:
"
员工姓名
"
,
prop
:
"
staffName
"
,
fixed
:
'
left
'
,
width
:
100
},
{
label
:
"
部门
"
,
prop
:
"
deptName
"
},
{
label
:
"
出勤天数
"
,
prop
:
"
goTimes
"
,
formatter
:
this
.
formatter
},
{
label
:
"
上午缺卡次数
"
,
prop
:
"
morningTimes
"
,
formatter
:
this
.
formatter
},
{
label
:
"
下午缺卡次数
"
,
prop
:
"
afternoonTimes
"
,
formatter
:
this
.
formatter
},
{
label
:
"
回单位(天)
"
,
prop
:
"
backToUnit
"
},
{
label
:
"
因公请假(天)
"
,
prop
:
"
onDutyLeave
"
},
{
label
:
"
外出勘验(天)
"
,
prop
:
"
outOfOffice
"
},
{
label
:
"
值班补班(天)
"
,
prop
:
"
shiftCompensation
"
},
{
label
:
"
体检(天)
"
,
prop
:
"
physicalExamination
"
},
{
label
:
"
隔离(天)
"
,
prop
:
"
quarantine
"
},
{
label
:
"
因公外出(与窗口工作无关/天)
"
,
prop
:
"
businessTrip
"
},
{
label
:
"
公休(天)
"
,
prop
:
"
publicHoliday
"
},
{
label
:
"
病假(天)
"
,
prop
:
"
sickLeave
"
},
{
type
:
"
excel
"
}
)
.
then
(()
=>
(
this
.
isExport
=
false
))
.
catch
((
error
)
=>
{
this
.
isExport
=
false
;
this
.
$message
.
error
(
error
.
message
);
});
},
},
data
()
{
return
{
config
:
{
isshowTabPane
:
true
,
search
:
[
{
name
:
"
deptId
"
,
type
:
"
select
"
,
label
:
"
全部部门
"
,
fuzzy
:
false
,
},
{
name
:
"
groupId
"
,
type
:
"
select
"
,
label
:
"
全部考勤组
"
,
fuzzy
:
false
,
},
{
name
:
"
classId
"
,
type
:
"
select
"
,
label
:
"
全部班次
"
,
fuzzy
:
false
,
},
{
name
:
"
startTime
"
,
type
:
"
date
"
,
label
:
"
考勤开始时间
"
,
fuzzy
:
false
,
},
{
name
:
"
endTime
"
,
type
:
"
date
"
,
label
:
"
考勤结束时间
"
,
fuzzy
:
false
,
},
{
name
:
"
staffName
"
,
type
:
"
text
"
,
label
:
"
员工姓名
"
,
fuzzy
:
true
,
},
{
name
:
"
phoneNumber
"
,
type
:
"
text
"
,
label
:
"
手机号
"
,
fuzzy
:
true
,
},
],
columns
:
[
{
type
:
"
selection
"
,
width
:
60
,
fixed
:
"
left
"
},
{
type
:
"
index
"
,
label
:
"
序号
"
,
width
:
50
,
fixed
:
"
left
"
},
{
label
:
"
窗口类别
"
,
prop
:
"
windowCategory
"
,
fixed
:
"
left
"
,
width
:
100
,
},
{
label
:
"
员工姓名
"
,
prop
:
"
staffName
"
,
fixed
:
"
left
"
,
width
:
100
},
{
label
:
"
部门
"
,
prop
:
"
deptName
"
},
{
label
:
"
出勤天数
"
,
prop
:
"
goTimes
"
,
formatter
:
this
.
formatter
},
{
label
:
"
上午缺卡次数
"
,
prop
:
"
morningTimes
"
,
formatter
:
this
.
formatter
,
},
{
label
:
"
下午缺卡次数
"
,
prop
:
"
afternoonTimes
"
,
formatter
:
this
.
formatter
,
},
{
label
:
"
回单位(天)
"
,
prop
:
"
backToUnit
"
},
{
label
:
"
因公请假(天)
"
,
prop
:
"
onDutyLeave
"
},
{
label
:
"
外出勘验(天)
"
,
prop
:
"
outOfOffice
"
},
{
label
:
"
值班补班(天)
"
,
prop
:
"
shiftCompensation
"
},
{
label
:
"
体检(天)
"
,
prop
:
"
physicalExamination
"
},
{
label
:
"
隔离(天)
"
,
prop
:
"
quarantine
"
},
{
label
:
"
因公外出(与窗口工作无关/天)
"
,
prop
:
"
businessTrip
"
},
{
label
:
"
公休(天)
"
,
prop
:
"
publicHoliday
"
},
{
label
:
"
病假(天)
"
,
prop
:
"
sickLeave
"
},
{
label
:
"
丧假(天)
"
,
prop
:
"
funeralLeave
"
},
{
label
:
"
婚假(天)
"
,
prop
:
"
marriageLeave
"
},
{
label
:
"
育儿假(天)
"
,
prop
:
"
childRearingLeave
"
},
{
label
:
"
产假(陪护假/天)
"
,
prop
:
"
maternityLeave
"
},
{
label
:
"
调回单位(或离职/天)
"
,
prop
:
"
transferBack
"
},
{
label
:
"
探亲假(天)
"
,
prop
:
"
homeLeave
"
},
{
label
:
"
事假(天)
"
,
prop
:
"
personalLeave
"
},
{
label
:
"
旷工(天)
"
,
prop
:
"
absenteeismDays
"
},
{
label
:
"
其他(天)
"
,
prop
:
"
otherDays
"
},
{
label
:
"
出勤率%
"
,
prop
:
"
attendanceRate
"
},
{
label
:
"
未按规定打卡(含忘记打卡)
"
,
prop
:
"
nonCompliancePunch
"
},
{
label
:
"
迟到(次)
"
,
prop
:
"
lateTimes
"
},
{
label
:
"
上网耍手机(次)
"
,
prop
:
"
surfingMobileTimes
"
},
{
label
:
"
丧假(天)
"
,
prop
:
"
funeralLeave
"
},
{
label
:
"
溜班(次)
"
,
prop
:
"
overtimeTimes
"
},
{
label
:
"
婚假(天)
"
,
prop
:
"
marriageLeave
"
},
{
label
:
"
空岗(次)
"
,
prop
:
"
vacancy
"
},
{
label
:
"
育儿假(天)
"
,
prop
:
"
childRearingLeave
"
},
{
label
:
"
未规范着装(次)
"
,
prop
:
"
nonStandardDressTimes
"
},
{
label
:
"
产假(陪护假/天)
"
,
prop
:
"
maternityLeave
"
},
{
label
:
"
无故缺席会议(次)
"
,
prop
:
"
unexcusedMeetingAbsence
"
},
{
label
:
"
调回单位(或离职/天)
"
,
prop
:
"
transferBack
"
},
{
label
:
"
探亲假(天)
"
,
prop
:
"
homeLeave
"
},
{
label
:
"
事假(天)
"
,
prop
:
"
personalLeave
"
},
{
label
:
"
旷工(天)
"
,
prop
:
"
absenteeismDays
"
},
{
label
:
"
其他(天)
"
,
prop
:
"
otherDays
"
},
{
label
:
"
出勤率%
"
,
prop
:
"
attendanceRate
"
},
{
label
:
"
未按规定打卡(含忘记打卡)
"
,
prop
:
"
nonCompliancePunch
"
},
{
label
:
"
迟到(次)
"
,
prop
:
"
lateTimes
"
},
{
label
:
"
上网耍手机(次)
"
,
prop
:
"
surfingMobileTimes
"
},
{
label
:
"
溜班(次)
"
,
prop
:
"
overtimeTimes
"
},
{
label
:
"
空岗(次)
"
,
prop
:
"
vacancy
"
},
{
label
:
"
未规范着装(次)
"
,
prop
:
"
nonStandardDressTimes
"
},
{
label
:
"
无故缺席会议(次)
"
,
prop
:
"
unexcusedMeetingAbsence
"
},
{
label
:
"
会议早退
"
,
prop
:
"
earlyLeaveMeeting
"
}
]
},
setcolum
:[],
isdialog
:
false
,
checkList
:[],
drawerhistory
:
false
,
// 动态新增列表
addColumn
:[],
initalArr
:[]
}
}
}
{
label
:
"
会议早退
"
,
prop
:
"
earlyLeaveMeeting
"
},
],
},
setcolum
:
[],
isdialog
:
false
,
checkList
:
[],
drawerhistory
:
false
,
// 动态新增列表
addColumn
:
[],
initalArr
:
[],
};
},
};
</
script
>
<
style
scoped
lang=
"less"
>
.hisList{
padding: 15px;
.list{
background-color: rgba(64, 158, 255, 0.1);
font-size: 14px;
border-radius: 10px;
padding: 10px;
.times{
font-size: 12px;
color: #999;
}
.hisList {
padding: 15px;
.list {
background-color: rgba(64, 158, 255, 0.1);
font-size: 14px;
border-radius: 10px;
padding: 10px;
.times {
font-size: 12px;
color: #999;
}
}
}
.tipsword{
margin: 20px 0;
color: #999;
.tipsword
{
margin: 20px 0;
color: #999;
}
</
style
>
attendance-performance-manager-ui/admin/src/views/feedback/list.vue
View file @
44f4c6f2
<
template
>
<div
class=
"page"
>
<LayoutTable
:data=
"tableData"
notDel
:config=
"tableConfig"
>
</LayoutTable>
<drawer-show
ref=
"drawerform"
@
ok=
"getData"
/>
</div>
<div
class=
"page"
>
<LayoutTable
:data=
"tableData"
notDel
:config=
"tableConfig"
>
</LayoutTable>
<drawer-show
ref=
"drawerform"
@
ok=
"getData"
/>
</div>
</
template
>
<
script
>
...
...
@@ -11,140 +10,190 @@
import
drawerShow
from
"
./drawershow
"
;
import
table
from
"
@/assets/mixins/table
"
;
export
default
{
name
:
"
FeedbackList
"
,
components
:
{
drawerShow
name
:
"
FeedbackList
"
,
components
:
{
drawerShow
,
},
mixins
:
[
table
],
created
()
{},
methods
:
{
renderTable
(
tableData
)
{
return
(
<
el
-
table
stripe
data
=
{
tableData
}
class
=
"
total-table
"
>
{
this
.
columnSet
.
map
((
item
)
=>
this
.
renderTableColumn
(
item
))}
<
/el-table
>
);
},
mixins
:
[
table
],
created
()
{
renderTableColumn
(
options
)
{
return
(
<
el
-
table
-
column
prop
=
{
options
.
prop
}
label
=
{
options
.
label
}
width
=
{
options
.
width
}
formatter
=
{
options
.
formatter
}
><
/el-table-column
>
);
},
methods
:
{
renderTable
(
tableData
)
{
return
(
<
el
-
table
stripe
data
=
{
tableData
}
class
=
"
total-table
"
>
{
this
.
columnSet
.
map
((
item
)
=>
this
.
renderTableColumn
(
item
))}
<
/el-table
>
);
},
renderTableColumn
(
options
)
{
return
(
<
el
-
table
-
column
prop
=
{
options
.
prop
}
label
=
{
options
.
label
}
width
=
{
options
.
width
}
formatter
=
{
options
.
formatter
}
>
<
/el-table-column
>
);
},
/** 重写新增方法 */
toAdd
(
row
)
{
// this.$refs.drawerform.add(row);
this
.
$router
.
push
(
"
/feedback/addQuestion/list
"
);
},
/** 重写编辑方法 */
toEdit
(
row
)
{
// this.$refs.drawerform.edit(row);
this
.
$router
.
push
({
path
:
`/feedback/addQuestion/list?id=
${
row
.
id
}
`
});
localStorage
.
setItem
(
'
editFeedback
'
,
JSON
.
stringify
(
row
))
},
/** 重写查看方法 */
toView
(
row
)
{
console
.
log
(
row
)
localStorage
.
setItem
(
'
checkFeedbackId
'
,
row
.
id
)
// this.$refs.drawerform.view(row);
this
.
$router
.
push
(
'
/feedback/questionnaire/list
'
)
/** 重写新增方法 */
toAdd
(
row
)
{
// this.$refs.drawerform.add(row);
this
.
$router
.
push
(
"
/feedback/addQuestion/list
"
);
},
/** 重写编辑方法 */
toEdit
(
row
)
{
// this.$refs.drawerform.edit(row);
this
.
$router
.
push
({
path
:
`/feedback/addQuestion/list?id=
${
row
.
id
}
`
});
localStorage
.
setItem
(
"
editFeedback
"
,
JSON
.
stringify
(
row
));
},
/** 重写查看方法 */
toView
(
row
)
{
console
.
log
(
row
);
localStorage
.
setItem
(
"
checkFeedbackId
"
,
row
.
id
);
// this.$refs.drawerform.view(row);
this
.
$router
.
push
(
"
/feedback/questionnaire/list
"
);
},
goPage
(
path
)
{
this
.
$router
.
push
(
path
);
},
},
data
()
{
return
{
/** 子表列元素 */
columnSet
:
[
{
label
:
"
反馈问卷id号
"
,
prop
:
"
feedbackId
"
,
formatter
:
this
.
formatter
,
},
goPage
(
path
)
{
this
.
$router
.
push
(
path
)
}
{
label
:
"
问题内容
"
,
prop
:
"
content
"
},
{
label
:
"
问题类型
"
,
prop
:
"
questionType
"
,
formatter
:
this
.
formatter
},
{
label
:
"
是否必填
"
,
prop
:
"
require
"
,
formatter
:
this
.
formatter
},
{
label
:
"
备注
"
,
prop
:
"
remark
"
},
],
config
:
{
isshowTabPane
:
true
,
search
:
[
{
name
:
"
feedbackTimeStart
"
,
type
:
"
datetime
"
,
label
:
"
请选择日期
"
,
fuzzy
:
false
,
},
{
name
:
"
title
"
,
type
:
"
text
"
,
label
:
"
输入问卷标题关键字搜索
"
,
fuzzy
:
false
,
},
],
columns
:
[
{
type
:
"
selection
"
,
width
:
60
},
{
type
:
"
index
"
,
label
:
"
序号
"
,
width
:
50
},
},
data
()
{
return
{
/** 子表列元素 */
columnSet
:
[
{
label
:
"
反馈问卷id号
"
,
prop
:
"
feedbackId
"
,
formatter
:
this
.
formatter
},
{
label
:
"
问题内容
"
,
prop
:
"
content
"
},
{
label
:
"
问题类型
"
,
prop
:
"
questionType
"
,
formatter
:
this
.
formatter
},
{
label
:
"
是否必填
"
,
prop
:
"
require
"
,
formatter
:
this
.
formatter
},
{
label
:
"
备注
"
,
prop
:
"
remark
"
},
],
config
:
{
isshowTabPane
:
true
,
search
:
[
],
columns
:
[
{
type
:
"
selection
"
,
width
:
60
},
{
type
:
"
index
"
,
label
:
"
序号
"
,
width
:
50
},
{
label
:
"
问卷标题
"
,
prop
:
"
title
"
},
{
label
:
"
问卷标题
"
,
prop
:
"
title
"
},
{
label
:
"
更新时间
"
,
prop
:
"
createTime
"
,
formatter
:
this
.
formatterDate
,
},
{
label
:
"
更新时间
"
,
prop
:
"
createTime
"
,
formatter
:
this
.
formatterDate
},
{
label
:
"
反馈开始时间
"
,
prop
:
"
feedbackTimeStart
"
,
formatter
:
this
.
formatterDate
},
{
label
:
"
反馈开始时间
"
,
prop
:
"
feedbackTimeStart
"
,
formatter
:
this
.
formatterDate
,
},
{
label
:
"
反馈结束时间
"
,
prop
:
"
feedbackTimeEnd
"
,
formatter
:
this
.
formatterDate
},
{
label
:
"
反馈结束时间
"
,
prop
:
"
feedbackTimeEnd
"
,
formatter
:
this
.
formatterDate
,
},
{
label
:
"
邀请人数
"
,
prop
:
"
inviteNum
"
,
formatter
:
this
.
formatter
},
{
label
:
"
邀请人数
"
,
prop
:
"
inviteNum
"
,
formatter
:
this
.
formatter
},
{
label
:
"
反馈人数
"
,
prop
:
"
feedbackNum
"
,
formatter
:
this
.
formatter
},
{
label
:
"
反馈人数
"
,
prop
:
"
feedbackNum
"
,
formatter
:
this
.
formatter
},
// { label: "创建用户", prop: "createUserId", formatter: this.formatter },
{
label
:
"
状态
"
,
prop
:
"
processStatus
"
,
formatter
:
(
row
)
=>
{
let
str
=
"
未开始
"
if
(
row
.
processStatus
==
1
)
{
str
=
"
进行中
"
}
else
if
(
row
.
processStatus
==
2
)
{
str
=
"
已结束
"
}
return
(
<
el
-
tag
type
=
{
row
.
processStatus
?
row
.
processStatus
==
1
?
'
success
'
:
'
info
'
:
'
danger
'
}
size
=
"
small
"
>
{
str
}
<
/el-tag
>
)
}
},
// {
// label: "绩效反馈问题",
// width: 120,
// prop: "subColumns",
// formatter: (row) => {
// return pre + Number(cur.width);
// }, 50);
// return (
//
<
el
-
popover
placement
=
"
right
"
width
=
{
widthsize
}
trigger
=
"
click
"
>
// {this.renderTable(row.feedbackQuestionList)}
//
<
el
-
button
type
=
"
text
"
slot
=
"
reference
"
>
详细
<
/el-button
>
//
<
/el-popover
>
// );
// },
// },
{
label
:
"
操作
"
,
width
:
240
,
formatter
:
row
=>
{
if
(
row
.
processStatus
==
0
)
{
return
(
<
table
-
buttons
noAdd
noView
row
=
{
row
}
onEdit
=
{
this
.
toEdit
}
onView
=
{
this
.
toView
}
onDel
=
{
this
.
toDel
}
/
>
);
}
else
{
return
(
<
table
-
buttons
noAdd
noEdit
row
=
{
row
}
onEdit
=
{
this
.
toEdit
}
onView
=
{
this
.
toView
}
onDel
=
{
this
.
toDel
}
/
>
);
}
// return
<
table
-
buttons
noAdd
noEdit
row
=
{
row
}
onEdit
=
{
this
.
toEdit
}
onView
=
{
this
.
toView
}
onDel
=
{
this
.
toDel
}
/
>
}
}
]
}
};
}
// { label: "创建用户", prop: "createUserId", formatter: this.formatter },
{
label
:
"
状态
"
,
prop
:
"
processStatus
"
,
formatter
:
(
row
)
=>
{
let
str
=
"
未开始
"
;
if
(
row
.
processStatus
==
1
)
{
str
=
"
进行中
"
;
}
else
if
(
row
.
processStatus
==
2
)
{
str
=
"
已结束
"
;
}
return
(
<
el
-
tag
type
=
{
row
.
processStatus
?
row
.
processStatus
==
1
?
"
success
"
:
"
info
"
:
"
danger
"
}
size
=
"
small
"
>
{
str
}
<
/el-tag
>
);
},
},
// {
// label: "绩效反馈问题",
// width: 120,
// prop: "subColumns",
// formatter: (row) => {
// return pre + Number(cur.width);
// }, 50);
// return (
//
<
el
-
popover
placement
=
"
right
"
width
=
{
widthsize
}
trigger
=
"
click
"
>
// {this.renderTable(row.feedbackQuestionList)}
//
<
el
-
button
type
=
"
text
"
slot
=
"
reference
"
>
详细
<
/el-button
>
//
<
/el-popover
>
// );
// },
// },
{
label
:
"
操作
"
,
width
:
240
,
formatter
:
(
row
)
=>
{
if
(
row
.
processStatus
==
0
)
{
return
(
<
table
-
buttons
noAdd
noView
row
=
{
row
}
onEdit
=
{
this
.
toEdit
}
onView
=
{
this
.
toView
}
onDel
=
{
this
.
toDel
}
/
>
);
}
else
{
return
(
<
table
-
buttons
noAdd
noEdit
row
=
{
row
}
onEdit
=
{
this
.
toEdit
}
onView
=
{
this
.
toView
}
onDel
=
{
this
.
toDel
}
/
>
);
}
// return
<
table
-
buttons
noAdd
noEdit
row
=
{
row
}
onEdit
=
{
this
.
toEdit
}
onView
=
{
this
.
toView
}
onDel
=
{
this
.
toDel
}
/
>
},
},
],
},
};
},
};
</
script
>
<
style
lang=
"less"
scoped
>
/deep/ .buttons {
margin-bottom: 10px;
margin-bottom: 10px;
}
</
style
>
attendance-performance-manager-ui/admin/src/views/staff/dialogshow.vue
View file @
44f4c6f2
<
template
>
<!-- 弹出框表单 -->
<el-dialog
:title=
"title"
:visible.sync=
"open"
width=
"90%"
append-to-body
>
<el-form
ref=
"form"
:model=
"form"
:rules=
"rules"
label-width=
"120px"
>
<el-row>
<Field
label=
"员工姓名"
prop=
"name"
v-model=
"form.name"
placeholder=
"请输入员工姓名"
/>
<Field
label=
"性别"
prop=
"gender"
v-model=
"form.gender"
type=
"select"
:enumData=
"dict.gender"
placeholder=
"请选择性别"
/>
<Field
label=
"出生日期"
prop=
"birthday"
v-model=
"form.birthday"
type=
"date"
/>
<Field
label=
"照片"
prop=
"photoPath"
v-model=
"form.photoPath"
type=
"textarea"
placeholder=
"请输入照片"
/>
<Field
label=
"联系电话"
prop=
"phoneNumber"
v-model=
"form.phoneNumber"
placeholder=
"请输入联系电话"
/>
<Field
label=
"身份证号码"
prop=
"idCard"
v-model=
"form.idCard"
placeholder=
"请输入身份证号码"
/>
<Field
label=
"工号"
prop=
"workNum"
v-model=
"form.workNum"
placeholder=
"请输入工号"
/>
<Field
label=
"政治面貌 "
prop=
"politicalstatus"
v-model=
"form.politicalstatus"
type=
"select"
:enumData=
"dict.politicalstatus"
placeholder=
"请选择政治面貌 "
/>
<Field
label=
"所属部门"
prop=
"deptId"
v-model=
"form.deptId"
placeholder=
"请输入所属部门"
/>
<Field
label=
"所属部门名称"
prop=
"deptName"
v-model=
"form.deptName"
placeholder=
"请输入所属部门名称"
/>
<Field
label=
"职位ID"
prop=
"positionId"
v-model=
"form.positionId"
placeholder=
"请输入职位ID"
/>
<Field
label=
"职位名称"
prop=
"positionName"
v-model=
"form.positionName"
placeholder=
"请输入职位名称"
/>
<Field
label=
"员工类型"
prop=
"staffType"
v-model=
"form.staffType"
type=
"select"
:enumData=
"dict.staffType"
placeholder=
"请选择员工类型"
/>
<Field
label=
"员工状态"
prop=
"status"
v-model=
"form.status"
type=
"select"
:enumData=
"dict.status"
placeholder=
"请选择员工状态"
/>
<Field
label=
"入职登记表"
prop=
"registerPath"
v-model=
"form.registerPath"
type=
"textarea"
placeholder=
"请输入入职登记表"
/>
<Field
label=
"入职时间"
prop=
"entryDate"
v-model=
"form.entryDate"
type=
"date"
/>
<Field
label=
"转正时间"
prop=
"regularDate"
v-model=
"form.regularDate"
type=
"date"
/>
<Field
label=
"离职时间"
prop=
"leaveDate"
v-model=
"form.leaveDate"
type=
"date"
/>
<Field
label=
"备注"
prop=
"remark"
v-model=
"form.remark"
type=
"textarea"
placeholder=
"请输入备注"
/>
</el-row>
</el-form>
<div
slot=
"footer"
class=
"dialog-footer"
>
<el-button
type=
"primary"
v-if=
"pageInfo.type !== 'view'"
@
click=
"submitForm"
>
确 定
</el-button>
<el-button
@
click=
"cancel"
>
取 消
</el-button>
</div>
</el-dialog>
<!-- 弹出框表单 -->
<el-dialog
:title=
"title"
:visible.sync=
"open"
width=
"90%"
append-to-body
>
<el-form
ref=
"form"
:model=
"form"
:rules=
"rules"
label-width=
"120px"
>
<el-row>
<Field
label=
"员工姓名"
prop=
"name"
v-model=
"form.name"
placeholder=
"请输入员工姓名"
/>
<Field
label=
"性别"
prop=
"gender"
v-model=
"form.gender"
type=
"select"
:enumData=
"dict.gender"
placeholder=
"请选择性别"
/>
<Field
label=
"出生日期"
prop=
"birthday"
v-model=
"form.birthday"
type=
"date"
/>
<Field
label=
"照片"
prop=
"photoPath"
v-model=
"form.photoPath"
type=
"textarea"
placeholder=
"请输入照片"
/>
<Field
label=
"联系电话"
prop=
"phoneNumber"
v-model=
"form.phoneNumber"
placeholder=
"请输入联系电话"
/>
<Field
label=
"身份证号码"
prop=
"idCard"
v-model=
"form.idCard"
placeholder=
"请输入身份证号码"
/>
<Field
label=
"工号"
prop=
"workNum"
v-model=
"form.workNum"
placeholder=
"请输入工号"
/>
<Field
label=
"政治面貌 "
prop=
"politicalstatus"
v-model=
"form.politicalstatus"
type=
"select"
:enumData=
"dict.politicalstatus"
placeholder=
"请选择政治面貌 "
/>
<Field
label=
"所属部门"
prop=
"deptId"
v-model=
"form.deptId"
placeholder=
"请输入所属部门"
/>
<Field
label=
"所属部门名称"
prop=
"deptName"
v-model=
"form.deptName"
placeholder=
"请输入所属部门名称"
/>
<Field
label=
"职位ID"
prop=
"positionId"
v-model=
"form.positionId"
placeholder=
"请输入职位ID"
/>
<Field
label=
"职位名称"
prop=
"positionName"
v-model=
"form.positionName"
placeholder=
"请输入职位名称"
/>
<Field
label=
"员工类型"
prop=
"staffType"
v-model=
"form.staffType"
type=
"select"
:enumData=
"dict.staffType"
placeholder=
"请选择员工类型"
/>
<Field
label=
"员工状态"
prop=
"status"
v-model=
"form.status"
type=
"select"
:enumData=
"dict.status"
placeholder=
"请选择员工状态"
/>
<Field
label=
"入职登记表"
prop=
"registerPath"
v-model=
"form.registerPath"
type=
"textarea"
placeholder=
"请输入入职登记表"
/>
<Field
label=
"入职时间"
prop=
"entryDate"
v-model=
"form.entryDate"
type=
"date"
/>
<Field
label=
"转正时间"
prop=
"regularDate"
v-model=
"form.regularDate"
type=
"date"
/>
<Field
label=
"离职时间"
prop=
"leaveDate"
v-model=
"form.leaveDate"
type=
"date"
/>
<Field
label=
"备注"
prop=
"remark"
v-model=
"form.remark"
type=
"textarea"
placeholder=
"请输入备注"
/>
</el-row>
</el-form>
<div
slot=
"footer"
class=
"dialog-footer"
>
<el-button
type=
"primary"
v-if=
"pageInfo.type !== 'view'"
@
click=
"submitForm"
>
确 定
</el-button
>
<el-button
@
click=
"cancel"
>
取 消
</el-button>
</div>
</el-dialog>
</
template
>
<
script
>
import
form
from
"
@/assets/mixins/formdialog
"
;
import
dialogShow
from
"
./dialogshow
"
;
export
default
{
mixins
:
[
form
],
components
:
{
dialogShow
,
},
data
()
{
return
{
// 遮罩层
loading
:
true
,
// 弹出层标题
title
:
"
员工基本信息
"
,
// 是否显示弹出层
open
:
false
,
toString
:[
"
gender
"
,
"
politicalstatus
"
,
"
staffType
"
,
"
status
"
,
],
// 表单校验
rules
:
{
name
:
[
{
required
:
true
,
message
:
"
请输入员工姓名
"
,
trigger
:
"
blur
"
},
{
max
:
64
,
message
:
"
最多只能录入64个字符
"
,
trigger
:
"
blur
"
,},
],
createTime
:
[
{
required
:
true
,
message
:
"
请选择创建时间
"
},
],
}
};
},
import
form
from
"
@/assets/mixins/formdialog
"
;
import
dialogShow
from
"
./dialogshow
"
;
export
default
{
mixins
:
[
form
],
components
:
{
dialogShow
,
},
data
()
{
return
{
// 遮罩层
loading
:
true
,
// 弹出层标题
title
:
"
员工基本信息
"
,
// 是否显示弹出层
open
:
false
,
toString
:
[
"
gender
"
,
"
politicalstatus
"
,
"
staffType
"
,
"
status
"
],
// 表单校验
rules
:
{
name
:
[
{
required
:
true
,
message
:
"
请输入员工姓名
"
,
trigger
:
"
blur
"
},
{
max
:
64
,
message
:
"
最多只能录入64个字符
"
,
trigger
:
"
blur
"
},
],
createTime
:
[{
required
:
true
,
message
:
"
请选择创建时间
"
}],
},
};
},
methods
:
{
/** 编辑 */
edit
(
row
)
{
this
.
reset
()
this
.
query
=
{
id
:
row
.
id
};
this
.
urls
.
currUrl
=
"
staff/edit
"
;
this
.
getData
();
this
.
pageInfo
.
type
=
"
edit
"
this
.
title
=
"
修改员工基本信息
"
;
},
/** 新增 */
add
(
row
)
{
this
.
reset
()
this
.
urls
.
currUrl
=
"
staff/add
"
;
this
.
getData
();
this
.
pageInfo
.
type
=
"
add
"
this
.
title
=
"
新增员工基本信息
"
;
},
/** 查看*/
view
(
row
)
{
this
.
reset
()
this
.
query
=
{
id
:
row
.
id
};
this
.
urls
.
currUrl
=
"
staff/view
"
;
this
.
getData
();
this
.
pageInfo
.
type
=
"
view
"
this
.
title
=
"
员工基本信息详细
"
;
},
/**取消按钮 */
cancel
()
{
this
.
open
=
false
;
},
/**获取数据后弹框 */
afterRender
(
data
)
{
this
.
open
=
true
;
},
methods
:
{
/** 编辑 */
edit
(
row
)
{
this
.
reset
();
this
.
query
=
{
id
:
row
.
id
};
this
.
urls
.
currUrl
=
"
staff/edit
"
;
this
.
getData
();
this
.
pageInfo
.
type
=
"
edit
"
;
this
.
title
=
"
修改员工基本信息
"
;
},
/** 新增 */
add
(
row
)
{
this
.
reset
();
this
.
urls
.
currUrl
=
"
staff/add
"
;
this
.
getData
();
this
.
pageInfo
.
type
=
"
add
"
;
this
.
title
=
"
新增员工基本信息
"
;
},
/** 查看*/
view
(
row
)
{
this
.
reset
();
this
.
query
=
{
id
:
row
.
id
};
this
.
urls
.
currUrl
=
"
staff/view
"
;
this
.
getData
();
this
.
pageInfo
.
type
=
"
view
"
;
this
.
title
=
"
员工基本信息详细
"
;
},
/**取消按钮 */
cancel
()
{
this
.
open
=
false
;
},
/**获取数据后弹框 */
afterRender
(
data
)
{
this
.
open
=
true
;
},
afterSubmit
(
data
)
{
this
.
open
=
false
;
this
.
$emit
(
"
ok
"
);
},
afterSubmit
(
data
)
{
this
.
open
=
false
;
this
.
$emit
(
"
ok
"
);
},
// 表单重置
reset
()
{
this
.
form
=
{
name
:
""
,
gender
:
1
,
birthday
:
null
,
photoPath
:
""
,
phoneNumber
:
""
,
idCard
:
""
,
workNum
:
""
,
politicalstatus
:
1
,
deptId
:
null
,
deptName
:
""
,
positionId
:
null
,
positionName
:
""
,
staffType
:
1
,
status
:
1
,
registerPath
:
""
,
entryDate
:
null
,
regularDate
:
null
,
leaveDate
:
null
,
remark
:
""
,
};
this
.
resetForm
(
"
form
"
);
},
resetForm
(
refName
)
{
if
(
this
.
$refs
[
refName
])
{
this
.
$refs
[
refName
].
resetFields
();
}
},
},
};
// 表单重置
reset
()
{
this
.
form
=
{
name
:
""
,
gender
:
1
,
birthday
:
null
,
photoPath
:
""
,
phoneNumber
:
""
,
idCard
:
""
,
workNum
:
""
,
politicalstatus
:
1
,
deptId
:
null
,
deptName
:
""
,
positionId
:
null
,
positionName
:
""
,
staffType
:
1
,
status
:
1
,
registerPath
:
""
,
entryDate
:
null
,
regularDate
:
null
,
leaveDate
:
null
,
remark
:
""
,
};
this
.
resetForm
(
"
form
"
);
},
resetForm
(
refName
)
{
if
(
this
.
$refs
[
refName
])
{
this
.
$refs
[
refName
].
resetFields
();
}
},
},
};
</
script
>
attendance-performance-manager-ui/admin/src/views/staff/list.vue
View file @
44f4c6f2
...
...
@@ -183,7 +183,12 @@
</div>
</el-dialog>
<drawer-show
ref=
"drawerform"
@
ok=
"getData"
:bumentree=
"areaData"
:currentNode=
"currentNode"
/>
<drawer-show
ref=
"drawerform"
@
ok=
"getData"
:bumentree=
"areaData"
:currentNode=
"currentNode"
/>
</div>
</
template
>
...
...
@@ -249,7 +254,7 @@ export default {
},
handleNodeClick
(
node
)
{
console
.
log
(
node
,
123123
);
console
.
log
(
node
,
123123
);
this
.
currentNode
=
node
;
this
.
query
=
{
deptId
:
node
.
id
};
this
.
getData
();
...
...
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