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
bcd12e4b
Commit
bcd12e4b
authored
May 16, 2024
by
姬鋆屾
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
推修改请假人员报错的问题并添加部门联动
parent
9f2c6c06
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
159 additions
and
43 deletions
+159
-43
attendance-performance-manager-ui/admin/src/assets/mixins/formdialog.js
...formance-manager-ui/admin/src/assets/mixins/formdialog.js
+10
-1
attendance-performance-manager-ui/admin/src/views/attendance/leave/record/drawershow.vue
...ui/admin/src/views/attendance/leave/record/drawershow.vue
+149
-42
No files found.
attendance-performance-manager-ui/admin/src/assets/mixins/formdialog.js
View file @
bcd12e4b
...
@@ -25,7 +25,16 @@ export default {
...
@@ -25,7 +25,16 @@ export default {
data
.
attachmentPathList
&&
data
.
attachmentPathList
.
length
>
0
data
.
attachmentPathList
&&
data
.
attachmentPathList
.
length
>
0
?
(
data
.
attachmentPath
=
data
.
attachmentPathList
[
0
].
url
)
?
(
data
.
attachmentPath
=
data
.
attachmentPathList
[
0
].
url
)
:
(
data
.
attachmentPath
=
""
);
:
(
data
.
attachmentPath
=
""
);
if
(
data
.
leavePerson
==
0
||
data
.
leavePerson
)
{
if
(
this
.
dict
.
staffList
)
{
data
.
leavePerson
=
this
.
dict
.
staffList
[
this
.
form
.
leavePerson
];
for
(
let
key
in
this
.
dict
.
staffList
)
{
if
(
this
.
dict
.
staffList
[
key
]
==
data
.
leavePerson
)
{
data
.
leavePersonId
=
Number
(
key
);
}
}
}
}
return
data
;
return
data
;
},
},
// 提交表单的后置处理, 会阻断默认的回退行为
// 提交表单的后置处理, 会阻断默认的回退行为
...
...
attendance-performance-manager-ui/admin/src/views/attendance/leave/record/drawershow.vue
View file @
bcd12e4b
<
template
>
<
template
>
<!-- 弹出框表单 -->
<!-- 弹出框表单 -->
<el-drawer
:title=
"title"
:visible.sync=
"open"
:direction=
"direction"
size=
"60%"
>
<el-drawer
:title=
"title"
:visible.sync=
"open"
:direction=
"direction"
size=
"60%"
>
<div
style=
"padding:15px"
>
<div
style=
"padding:15px"
>
<el-form
ref=
"form"
:model=
"form"
:rules=
"rules"
label-width=
"120px"
>
<el-form
ref=
"form"
:model=
"form"
:rules=
"rules"
label-width=
"120px"
>
<el-row>
<el-row>
...
@@ -13,44 +18,142 @@
...
@@ -13,44 +18,142 @@
:maxLength=
"10"
:maxLength=
"10"
:disabled=
"pageInfo.type == 'view'"
:disabled=
"pageInfo.type == 'view'"
/>
-->
/>
-->
<Field
label=
"请假人"
prop=
"leavePerson"
type=
"select"
filterable
remote
v-model=
"form.leavePerson"
<Field
placeholder=
"请输入请假人"
:remote-method=
"remoteMethod"
:maxLength=
"10"
:enumData=
"staffList"
label=
"请假人"
:disabled=
"pageInfo.type == 'view'"
/>
prop=
"leavePerson"
<Field
label=
"所属部门"
prop=
"deptId"
v-model=
"form.deptId"
type=
"select"
placeholder=
"请选择所属部门"
type=
"select"
:enumData=
"dict.deptId"
:disabled=
"pageInfo.type == 'view'"
/>
filterable
remote
v-model=
"form.leavePerson"
placeholder=
"请输入请假人"
@
change=
"changeStaff(form.leavePerson)"
:remote-method=
"remoteMethod"
:maxLength=
"10"
:enumData=
"dict.staffList"
:disabled=
"pageInfo.type == 'view'"
/>
<Field
label=
"所属部门"
prop=
"deptId"
v-model=
"form.deptId"
type=
"select"
placeholder=
"请选择所属部门"
:enumData=
"dict.deptId"
:disabled=
"true"
/>
<!--
<Field
label=
"所属部门"
prop=
"deptName"
v-model=
"form.deptName"
type=
"textarea"
placeholder=
"请输入所属部门"
/>
-->
<!--
<Field
label=
"所属部门"
prop=
"deptName"
v-model=
"form.deptName"
type=
"textarea"
placeholder=
"请输入所属部门"
/>
-->
<Field
label=
"电话号码"
prop=
"phoneNumber"
v-model=
"form.phoneNumber"
placeholder=
"请输入电话号码"
:maxLength=
"11"
<Field
:disabled=
"pageInfo.type == 'view'"
/>
label=
"电话号码"
<Field
label=
"请假类型"
prop=
"leaveType"
v-model=
"form.leaveType"
type=
"select"
:enumData=
"dict.leaveType"
prop=
"phoneNumber"
placeholder=
"请选择请假类型"
:disabled=
"pageInfo.type == 'view'"
/>
v-model=
"form.phoneNumber"
placeholder=
"请输入电话号码"
:maxLength=
"11"
:disabled=
"pageInfo.type == 'view'"
/>
<Field
label=
"请假类型"
prop=
"leaveType"
v-model=
"form.leaveType"
type=
"select"
:enumData=
"dict.leaveType"
placeholder=
"请选择请假类型"
:disabled=
"pageInfo.type == 'view'"
/>
<Field
label=
"开始时间"
prop=
"startTime"
v-model=
"form.startTime"
type=
"datetime"
@
change=
"changedate"
<Field
:disabled=
"pageInfo.type == 'view'"
/>
label=
"开始时间"
<Field
label=
"结束时间"
prop=
"endTime"
v-model=
"form.endTime"
type=
"datetime"
@
change=
"changedate"
prop=
"startTime"
:disabled=
"pageInfo.type == 'view'"
/>
v-model=
"form.startTime"
type=
"datetime"
@
change=
"changedate"
:disabled=
"pageInfo.type == 'view'"
/>
<Field
label=
"结束时间"
prop=
"endTime"
v-model=
"form.endTime"
type=
"datetime"
@
change=
"changedate"
:disabled=
"pageInfo.type == 'view'"
/>
<Field
label=
"时长(单位:小时)"
disabled
prop=
"duration"
v-model=
"form.duration / 60 / 60"
placeholder=
"请输入时长(秒)"
<Field
:maxLength=
"4"
/>
label=
"时长(单位:小时)"
<Field
label=
"请假事由"
prop=
"reason"
v-model=
"form.reason"
type=
"textarea"
placeholder=
"请输入请假事由"
disabled
:disabled=
"pageInfo.type == 'view'"
/>
prop=
"duration"
<Field
label=
"审核结果"
prop=
"auditResult"
v-model=
"form.auditResult"
type=
"radioCol"
:enumData=
"dict.auditResult"
v-model=
"form.duration / 60 / 60"
placeholder=
"请选择审核结果"
:disabled=
"pageInfo.type == 'view'"
style=
"width: 100%;"
/>
placeholder=
"请输入时长(秒)"
:maxLength=
"4"
/>
<Field
label=
"请假事由"
prop=
"reason"
v-model=
"form.reason"
type=
"textarea"
placeholder=
"请输入请假事由"
:disabled=
"pageInfo.type == 'view'"
/>
<Field
label=
"审核结果"
prop=
"auditResult"
v-model=
"form.auditResult"
type=
"radioCol"
:enumData=
"dict.auditResult"
placeholder=
"请选择审核结果"
:disabled=
"pageInfo.type == 'view'"
style=
"width: 100%;"
/>
<Field
label=
"审批负责人"
prop=
"approverId"
type=
"select"
v-model=
"form.approverId"
placeholder=
"请选择审批负责人"
<Field
:enumData=
"dict.approverId"
:disabled=
"pageInfo.type == 'view'"
/>
label=
"审批负责人"
<Field
label=
"申请时间"
prop=
"createTime"
v-model=
"form.createTime"
type=
"datetime"
disabled
/>
prop=
"approverId"
<Field
label=
"审核说明"
prop=
"auditDesc"
type=
"textarea"
v-model=
"form.auditDesc"
placeholder=
"请输入审核说明"
type=
"select"
:disabled=
"pageInfo.type == 'view'"
style=
"width: 100%;"
/>
v-model=
"form.approverId"
placeholder=
"请选择审批负责人"
:enumData=
"dict.approverId"
:disabled=
"pageInfo.type == 'view'"
/>
<Field
label=
"申请时间"
prop=
"createTime"
v-model=
"form.createTime"
type=
"datetime"
disabled
/>
<Field
label=
"审核说明"
prop=
"auditDesc"
type=
"textarea"
v-model=
"form.auditDesc"
placeholder=
"请输入审核说明"
:disabled=
"pageInfo.type == 'view'"
style=
"width: 100%;"
/>
</el-row>
</el-row>
<!--
<Field
label=
"审批负责人"
prop=
"approver"
v-model=
"form.approver"
placeholder=
"请输入审批负责人"
/>
-->
<!--
<Field
label=
"审批负责人"
prop=
"approver"
v-model=
"form.approver"
placeholder=
"请输入审批负责人"
/>
-->
<!--
<Field
label=
"附件"
prop=
"attachment"
v-model=
"form.attachment"
type=
"textarea"
placeholder=
"请输入附件"
/>
-->
<!--
<Field
label=
"附件"
prop=
"attachment"
v-model=
"form.attachment"
type=
"textarea"
placeholder=
"请输入附件"
/>
-->
<Field
label=
"备注"
prop=
"remark"
v-model=
"form.remark"
type=
"textarea"
placeholder=
"请输入备注"
<Field
:disabled=
"pageInfo.type == 'view'"
style=
"width: 100%;"
/>
label=
"备注"
prop=
"remark"
v-model=
"form.remark"
type=
"textarea"
placeholder=
"请输入备注"
:disabled=
"pageInfo.type == 'view'"
style=
"width: 100%;"
/>
<el-form-item
label=
"附件路径"
prop=
"attachmentPathList"
>
<el-form-item
label=
"附件路径"
prop=
"attachmentPathList"
>
<FileUpload
@
input=
"uploadFn"
:value=
"form.attachmentPathList"
:fileNumber=
"1"
<FileUpload
:pageInfoType=
"pageInfo.type"
/>
@
input=
"uploadFn"
:value=
"form.attachmentPathList"
:fileNumber=
"1"
:pageInfoType=
"pageInfo.type"
/>
</el-form-item>
</el-form-item>
<form-buttons
@
submit=
"submitForm"
noCancelBtn
v-if=
"pageInfo.type !== 'view'"
/>
<form-buttons
@
submit=
"submitForm"
noCancelBtn
v-if=
"pageInfo.type !== 'view'"
/>
</el-form>
</el-form>
</div>
</div>
</el-drawer>
</el-drawer>
...
@@ -74,7 +177,7 @@ export default {
...
@@ -74,7 +177,7 @@ export default {
loading
:
true
,
loading
:
true
,
// 弹出层标题
// 弹出层标题
title
:
"
请假记录信息
"
,
title
:
"
请假记录信息
"
,
staffList
:
{}
,
staffList
:
[]
,
// 是否显示弹出层
// 是否显示弹出层
open
:
false
,
open
:
false
,
direction
:
"
rtl
"
,
direction
:
"
rtl
"
,
...
@@ -126,9 +229,7 @@ export default {
...
@@ -126,9 +229,7 @@ export default {
trigger
:
"
change
"
,
trigger
:
"
change
"
,
},
},
],
],
duration
:
[
duration
:
[{
required
:
true
,
message
:
"
请输入时长
"
,
trigger
:
"
blur
"
}],
{
required
:
true
,
message
:
"
请输入时长
"
,
trigger
:
"
blur
"
},
],
// reason: [
// reason: [
// { required: true, message: "请输入请假理由", trigger: "blur" },
// { required: true, message: "请输入请假理由", trigger: "blur" },
// ],
// ],
...
@@ -155,20 +256,28 @@ export default {
...
@@ -155,20 +256,28 @@ export default {
},
},
watch
:
{},
watch
:
{},
mounted
()
{
mounted
()
{
this
.
remoteMethod
()
this
.
remoteMethod
()
;
},
},
methods
:
{
methods
:
{
changeStaff
(
val
)
{
let
person
=
this
.
staffList
.
filter
((
v
)
=>
v
.
id
==
val
);
console
.
log
(
person
);
console
.
log
(
this
.
form
);
this
.
form
.
deptId
=
person
?
person
[
0
].
deptId
:
""
;
},
async
remoteMethod
()
{
async
remoteMethod
()
{
await
this
.
$post
(
`/staff/list`
,
{
await
this
.
$post
(
`/staff/list`
,
{
page
:
1
,
page
:
1
,
size
:
-
1
,
size
:
-
1
,
}).
then
((
res
)
=>
{
}).
then
((
res
)
=>
{
let
data
=
res
.
data
.
data
let
data
=
res
.
data
.
data
;
let
obj
=
{}
let
obj
=
{}
;
for
(
let
key
in
data
)
{
for
(
let
key
in
data
)
{
obj
[
key
]
=
data
[
key
].
name
obj
[
data
[
key
].
id
]
=
data
[
key
].
name
;
}
}
this
.
staffList
=
obj
this
.
dict
.
staffList
=
obj
;
console
.
log
(
obj
);
this
.
staffList
=
res
.
data
.
data
;
});
});
},
},
// beforeSubmit() {
// beforeSubmit() {
...
@@ -245,9 +354,7 @@ export default {
...
@@ -245,9 +354,7 @@ export default {
},
},
changedate
(
val
)
{
changedate
(
val
)
{
if
(
this
.
form
.
startTime
&&
this
.
form
.
endTime
)
{
if
(
this
.
form
.
startTime
&&
this
.
form
.
endTime
)
{
if
(
if
(
this
.
form
.
endTime
.
valueOf
()
>
this
.
form
.
startTime
.
valueOf
())
{
this
.
form
.
endTime
.
valueOf
()
>
this
.
form
.
startTime
.
valueOf
()
)
{
// this.form.duration = getSec(this.form.startTime, this.form.endTime);
// this.form.duration = getSec(this.form.startTime, this.form.endTime);
this
.
$post
(
"
/attendance/getTimeCount
"
,
{
this
.
$post
(
"
/attendance/getTimeCount
"
,
{
startTime
:
this
.
form
.
startTime
,
startTime
:
this
.
form
.
startTime
,
...
...
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