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-manager-ui
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-manager-ui
Commits
c72189b5
Commit
c72189b5
authored
May 16, 2025
by
姬鋆屾
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
feat:黑名单,员工关怀及离职信息
parent
d41a0355
Changes
6
Expand all
Show whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
556 additions
and
393 deletions
+556
-393
src/views/staff/black/drawershow.vue
src/views/staff/black/drawershow.vue
+145
-118
src/views/staff/black/list.vue
src/views/staff/black/list.vue
+78
-55
src/views/staff/care/list.vue
src/views/staff/care/list.vue
+94
-72
src/views/staff/leave/list.vue
src/views/staff/leave/list.vue
+2
-2
src/views/staff/regular/drawershow.vue
src/views/staff/regular/drawershow.vue
+237
-145
src/views/system/menu/dialogshow.vue
src/views/system/menu/dialogshow.vue
+0
-1
No files found.
src/views/staff/black/drawershow.vue
View file @
c72189b5
...
...
@@ -4,35 +4,68 @@
:title=
"title"
:visible.sync=
"open"
:direction=
"direction"
size=
"50%"
>
size=
"50%"
>
<el-form
ref=
"form"
:model=
"form"
:rules=
"rules"
label-width=
"120px"
>
<el-row>
<Field
label=
"员工姓名"
prop=
"staffName"
v-model=
"form.staffName"
placeholder=
"请输入员工姓名"
/>
<Field
label=
"联系电话"
prop=
"phoneNumber"
v-model=
"form.phoneNumber"
placeholder=
"请输入联系电话"
/>
<Field
label=
"身份证号码"
prop=
"idCard"
v-model=
"form.idCard"
placeholder=
"请输入身份证号码"
/>
<Field
label=
"离职时间"
prop=
"leaveDate"
v-model=
"form.leaveDate"
type=
"date"
/>
<Field
label=
"离职原因"
prop=
"leaveReason"
v-model=
"form.leaveReason"
type=
"textarea"
placeholder=
"请输入离职原因"
/>
<Field
label=
"拉黑时间"
prop=
"blackDate"
v-model=
"form.blackDate"
type=
"date"
/>
<Field
label=
"拉黑原因"
prop=
"blackReason"
v-model=
"form.blackReason"
type=
"textarea"
placeholder=
"请输入拉黑原因"
/>
<Field
label=
"员工姓名"
prop=
"staffName"
v-model=
"form.staffName"
placeholder=
"请输入员工姓名"
/>
<Field
label=
"联系电话"
prop=
"phoneNumber"
v-model=
"form.phoneNumber"
placeholder=
"请输入联系电话"
/>
<Field
label=
"身份证号码"
prop=
"idCard"
v-model=
"form.idCard"
placeholder=
"请输入身份证号码"
/>
<Field
label=
"离职时间"
prop=
"leaveDate"
v-model=
"form.leaveDate"
type=
"date"
/>
<Field
label=
"离职原因"
prop=
"leaveReason"
v-model=
"form.leaveReason"
type=
"textarea"
placeholder=
"请输入离职原因"
/>
<Field
label=
"拉黑时间"
prop=
"blackDate"
v-model=
"form.blackDate"
type=
"date"
/>
<Field
label=
"拉黑原因"
prop=
"blackReason"
v-model=
"form.blackReason"
type=
"textarea"
placeholder=
"请输入拉黑原因"
/>
</el-row>
<form-buttons
@
submit=
'submitForm'
noCancelBtn
/>
<form-buttons
@
submit=
"submitForm"
noCancelBtn
/>
</el-form>
</el-drawer>
</
template
>
<
script
>
import
form
from
"
@/assets/mixins/formdialog
"
;
export
default
{
import
form
from
"
@/assets/mixins/formdialog
"
;
export
default
{
name
:
"
StaffBlackDetail
"
,
mixins
:
[
form
],
components
:
{
},
components
:
{},
created
()
{
this
.
changePath
(
"
staff/black
"
)
},
data
()
{
return
{
...
...
@@ -42,51 +75,45 @@
title
:
"
员工黑名单信息
"
,
// 是否显示弹出层
open
:
false
,
direction
:
"
rtl
"
,
toString
:[
],
toDate
:[
"
leaveDate
"
,
"
blackDate
"
,
],
direction
:
"
rtl
"
,
toString
:
[],
toDate
:
[
"
leaveDate
"
,
"
blackDate
"
],
// 表单校验
rules
:
{
staffName
:
[
{
required
:
true
,
message
:
"
请输入员工姓名
"
,
trigger
:
"
blur
"
},
{
max
:
64
,
message
:
"
最多只能录入64个字符
"
,
trigger
:
"
blur
"
,},
],
createTime
:
[
{
required
:
true
,
message
:
"
请选择创建时间
"
},
{
required
:
true
,
message
:
"
请输入员工姓名
"
,
trigger
:
"
blur
"
},
{
max
:
64
,
message
:
"
最多只能录入64个字符
"
,
trigger
:
"
blur
"
},
],
}
createTime
:
[{
required
:
true
,
message
:
"
请选择创建时间
"
}],
},
};
},
methods
:
{
/** 编辑 */
edit
(
row
)
{
this
.
reset
()
this
.
reset
();
this
.
query
=
{
id
:
row
.
id
};
this
.
urls
.
currUrl
=
"
staff/black/edit
"
;
this
.
urls
.
currUrl
=
"
staff/black/edit
"
;
this
.
getData
();
this
.
pageInfo
.
type
=
"
edit
"
this
.
pageInfo
.
type
=
"
edit
"
;
this
.
title
=
"
修改员工黑名单信息
"
;
},
/** 新增 */
add
(
row
)
{
this
.
reset
()
this
.
reset
();
this
.
urls
.
currUrl
=
"
staff/black/add
"
;
this
.
getData
();
this
.
pageInfo
.
type
=
"
add
"
this
.
pageInfo
.
type
=
"
add
"
;
this
.
title
=
"
新增员工黑名单信息
"
;
},
/** 查看*/
view
(
row
)
{
this
.
reset
()
this
.
reset
();
this
.
query
=
{
id
:
row
.
id
};
this
.
urls
.
currUrl
=
"
staff/black/view
"
;
this
.
urls
.
currUrl
=
"
staff/black/view
"
;
this
.
getData
();
this
.
pageInfo
.
type
=
"
view
"
this
.
pageInfo
.
type
=
"
view
"
;
this
.
title
=
"
员工黑名单信息详细
"
;
},
/**取消按钮 */
...
...
@@ -106,14 +133,14 @@
// 表单重置
reset
()
{
this
.
form
=
{
staffId
:
null
,
staffName
:
""
,
phoneNumber
:
""
,
idCard
:
""
,
leaveDate
:
null
,
leaveReason
:
""
,
blackDate
:
null
,
blackReason
:
""
,
staffId
:
null
,
staffName
:
""
,
phoneNumber
:
""
,
idCard
:
""
,
leaveDate
:
null
,
leaveReason
:
""
,
blackDate
:
null
,
blackReason
:
""
,
};
this
.
resetForm
(
"
form
"
);
},
...
...
@@ -123,5 +150,5 @@
}
},
},
};
};
</
script
>
src/views/staff/black/list.vue
View file @
c72189b5
...
...
@@ -6,17 +6,16 @@
</
template
>
<
script
>
/** 表单弹出框模式需引入 */
import
drawerShow
from
"
./drawershow
"
;
import
table
from
"
@/assets/mixins/table
"
;
export
default
{
/** 表单弹出框模式需引入 */
import
drawerShow
from
"
./drawershow
"
;
import
table
from
"
@/assets/mixins/table
"
;
export
default
{
name
:
"
StaffBlackList
"
,
components
:
{
drawerShow
drawerShow
,
},
mixins
:
[
table
],
created
()
{
},
created
()
{},
methods
:
{
/** 重写新增方法 */
toAdd
(
row
)
{
...
...
@@ -30,36 +29,60 @@
toView
(
row
)
{
this
.
$refs
.
drawerform
.
view
(
row
);
},
},
data
()
{
return
{
config
:
{
isshowTabPane
:
true
,
showType
:[],
search
:
[
{
name
:
"
staffName
"
,
type
:
"
text
"
,
label
:
"
员工姓名
"
,
fuzzy
:
true
,
},
],
isshowTabPane
:
true
,
columns
:
[
{
type
:
"
selection
"
,
width
:
60
},
{
type
:
"
index
"
,
label
:
"
序号
"
,
width
:
50
},
{
type
:
"
selection
"
,
width
:
60
},
{
type
:
"
index
"
,
label
:
"
序号
"
,
width
:
50
},
{
label
:
"
员工姓名
"
,
prop
:
"
staffName
"
},
{
label
:
"
员工姓名
"
,
prop
:
"
staffName
"
},
{
label
:
"
离职时间
"
,
prop
:
"
leaveDate
"
,
formatter
:
this
.
formatterDate
},
{
label
:
"
离职时间
"
,
prop
:
"
leaveDate
"
,
formatter
:
this
.
formatterDateOnly
,
},
{
label
:
"
拉黑时间
"
,
prop
:
"
blackDate
"
,
formatter
:
this
.
formatterDate
},
{
label
:
"
拉黑时间
"
,
prop
:
"
blackDate
"
,
formatter
:
this
.
formatterDateOnly
,
},
{
label
:
"
创建用户
"
,
prop
:
"
createUserId
"
,
formatter
:
this
.
formatter
},
{
label
:
"
创建用户
"
,
prop
:
"
createUserId
"
,
formatter
:
this
.
formatter
,
},
{
label
:
"
操作
"
,
width
:
240
,
formatter
:
row
=>
{
formatter
:
(
row
)
=>
{
return
(
<
table
-
buttons
noAdd
row
=
{
row
}
onEdit
=
{
this
.
toEdit
}
onView
=
{
this
.
toView
}
onDel
=
{
this
.
toDel
}
/
>
<
table
-
buttons
noAdd
row
=
{
row
}
onEdit
=
{
this
.
toEdit
}
onView
=
{
this
.
toView
}
onDel
=
{
this
.
toDel
}
/
>
);
}
}
]
}
};
}
},
},
],
},
};
},
};
</
script
>
\ No newline at end of file
src/views/staff/care/list.vue
View file @
c72189b5
...
...
@@ -7,7 +7,8 @@
icon=
"el-icon-tickets"
size=
"mini"
@
click=
"handleImport"
>
导入
</el-button>
>
导入
</el-button
>
<el-button
slot=
"table-head-left2"
style=
"margin-left: 10px"
...
...
@@ -15,7 +16,8 @@
size=
"mini"
@
click=
"doExport"
:disabled=
"isExport"
>
导出
</el-button>
>
导出
</el-button
>
</LayoutTable>
<!-- 员工关怀信息导入对话框 -->
...
...
@@ -43,10 +45,11 @@
<em>
点击上传
</em>
</div>
<div
class=
"el-upload__tip"
slot=
"tip"
>
<el-checkbox
v-model=
"upload.updateSupport"
/>
是否更新已经存在的数据
<el-link
type=
"primary"
style=
"font-size: 14px"
@
click=
"downloadTemplate"
<el-checkbox
v-model=
"upload.updateSupport"
/>
是否更新已经存在的数据
<el-link
type=
"primary"
style=
"font-size: 14px"
@
click=
"downloadTemplate"
>
下载模板
</el-link
>
</div>
...
...
@@ -71,11 +74,10 @@ import table from "@/assets/mixins/table";
export
default
{
name
:
"
StaffCareList
"
,
components
:
{
drawerShow
drawerShow
,
},
mixins
:
[
table
],
created
()
{
},
created
()
{},
data
()
{
return
{
// 用户导入参数
...
...
@@ -93,39 +95,53 @@ export default {
},
isExport
:
false
,
config
:
{
isshowTabPane
:
true
,
isshowTabPane
:
true
,
search
:
[
{
name
:
"
staffName
"
,
type
:
"
text
"
,
label
:
"
员工姓名
"
,
fuzzy
:
true
fuzzy
:
true
,
},
],
columns
:
[
{
type
:
"
selection
"
,
width
:
60
},
{
type
:
"
index
"
,
label
:
"
序号
"
,
width
:
50
},
{
label
:
"
员工姓名
"
,
prop
:
"
staffName
"
},
{
type
:
"
selection
"
,
width
:
60
},
{
type
:
"
index
"
,
label
:
"
序号
"
,
width
:
50
},
{
label
:
"
员工姓名
"
,
prop
:
"
staffName
"
},
{
label
:
"
入职时间
"
,
prop
:
"
entryDate
"
,
formatter
:
this
.
formatterDate
},
{
label
:
"
入职时间
"
,
prop
:
"
entryDate
"
,
formatter
:
this
.
formatterDateOnly
,
},
{
label
:
"
关怀类型
"
,
prop
:
"
careType
"
,
formatter
:
this
.
formatter
},
{
label
:
"
关怀类型
"
,
prop
:
"
careType
"
,
formatter
:
this
.
formatter
},
{
label
:
"
发送状态
"
,
prop
:
"
sendStatus
"
,
formatter
:
this
.
formatter
},
{
label
:
"
发送状态
"
,
prop
:
"
sendStatus
"
,
formatter
:
this
.
formatter
},
{
label
:
"
创建用户
"
,
prop
:
"
createUserId
"
,
formatter
:
this
.
formatter
},
{
label
:
"
创建用户
"
,
prop
:
"
createUserId
"
,
formatter
:
this
.
formatter
,
},
{
label
:
"
操作
"
,
width
:
240
,
formatter
:
row
=>
{
formatter
:
(
row
)
=>
{
return
(
<
table
-
buttons
noAdd
row
=
{
row
}
onEdit
=
{
this
.
toEdit
}
onView
=
{
this
.
toView
}
onDel
=
{
this
.
toDel
}
/
>
<
table
-
buttons
noAdd
row
=
{
row
}
onEdit
=
{
this
.
toEdit
}
onView
=
{
this
.
toView
}
onDel
=
{
this
.
toDel
}
/
>
);
}
}
]
}
}
}
,
}
,
]
,
}
,
};
},
methods
:
{
/** 导入 */
...
...
@@ -162,21 +178,27 @@ export default {
/** 导出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
]
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
if
(
this
.
selection
.
length
>
0
)
{
params
[
"
idList
"
]
=
this
.
selection
;
}
this
.
$download
(
"
/staff/care/exportExcel
"
,
{
...
params
},
{
type
:
"
excel
"
}).
then
(()
=>
this
.
isExport
=
false
).
catch
(
error
=>
{
this
.
$download
(
"
/staff/care/exportExcel
"
,
{
...
params
,
},
{
type
:
"
excel
"
}
)
.
then
(()
=>
(
this
.
isExport
=
false
))
.
catch
((
error
)
=>
{
this
.
isExport
=
false
;
this
.
$message
.
error
(
error
.
message
);
})
});
},
/** 重写新增方法 */
toAdd
(
row
)
{
...
...
@@ -190,6 +212,6 @@ export default {
toView
(
row
)
{
this
.
$refs
.
drawerform
.
view
(
row
);
},
}
}
},
}
;
</
script
>
\ No newline at end of file
src/views/staff/leave/list.vue
View file @
c72189b5
...
...
@@ -84,13 +84,13 @@ export default {
{
label
:
"
入职时间
"
,
prop
:
"
entryDate
"
,
formatter
:
this
.
formatterDate
,
formatter
:
this
.
formatterDate
Only
,
},
{
label
:
"
离职时间
"
,
prop
:
"
leaveDate
"
,
formatter
:
this
.
formatterDate
,
formatter
:
this
.
formatterDate
Only
,
},
{
label
:
"
审核状态
"
,
prop
:
"
auditStatus
"
,
formatter
:
this
.
formatter
},
...
...
src/views/staff/regular/drawershow.vue
View file @
c72189b5
This diff is collapsed.
Click to expand it.
src/views/system/menu/dialogshow.vue
View file @
c72189b5
...
...
@@ -71,7 +71,6 @@ export default {
"
linkType
"
,
"
commMenu
"
,
"
menuType
"
,
"
authType
"
,
],
// 表单校验
rules
:
{
...
...
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