Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
P
psa-web
Project
Project
Details
Activity
Releases
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
高滢
psa-web
Commits
14e05682
Commit
14e05682
authored
Apr 24, 2025
by
‘老张’
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
加班和请假申请姓名和姓名框改动
parent
70bff294
Changes
2
Show whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
51 additions
and
11 deletions
+51
-11
add.vue
src/views/attendance/leaveApplication/add.vue
+41
-10
addOvertimeApplication.vue
...attendance/overtimeApplication/addOvertimeApplication.vue
+10
-1
No files found.
src/views/attendance/leaveApplication/add.vue
View file @
14e05682
...
@@ -4,6 +4,21 @@
...
@@ -4,6 +4,21 @@
<span
class=
"leave-application-title"
>
请假申请
</span>
<span
class=
"leave-application-title"
>
请假申请
</span>
<div
class=
"leave-application-line"
></div>
<!-- 新增横线 -->
<div
class=
"leave-application-line"
></div>
<!-- 新增横线 -->
<el-form
ref=
"formRef"
:model=
"form"
:rules=
"rules"
label-width=
"130px"
>
<el-form
ref=
"formRef"
:model=
"form"
:rules=
"rules"
label-width=
"130px"
>
<el-form-item
label=
"姓名"
prop=
"uname"
class=
"custom-form-item"
>
<el-select
v-model=
"form.uname"
placeholder=
"请选择姓名"
class=
"custom-input"
@
focus=
"loadUsernames"
>
<el-option
v-for=
"user in userOptions"
:key=
"user.value"
:label=
"user.label"
:value=
"user.label"
/>
</el-select>
</el-form-item>
<el-form-item
label=
"请假类型"
prop=
"leaveType"
class=
"custom-form-item"
>
<el-form-item
label=
"请假类型"
prop=
"leaveType"
class=
"custom-form-item"
>
<el-select
v-model=
"form.leaveType"
<el-select
v-model=
"form.leaveType"
placeholder=
"请选择请假类型"
placeholder=
"请选择请假类型"
...
@@ -128,6 +143,7 @@ import {addApplication,
...
@@ -128,6 +143,7 @@ import {addApplication,
getGeneralManagerNickName
,
getGeneralManagerNickName
,
getProjectManagers
,
getProjectManagers
,
updateOvertimeHoursBalance
}
from
"@/api/application/application"
;
updateOvertimeHoursBalance
}
from
"@/api/application/application"
;
import
{
listAllUser
}
from
'../../../api/onboardmanage/onboardmanage.js'
import
holidaysData
from
'@/utils/psa/holidays_2025.js'
;
import
holidaysData
from
'@/utils/psa/holidays_2025.js'
;
import
useUserStore
from
'@/store/modules/user'
;
import
useUserStore
from
'@/store/modules/user'
;
...
@@ -180,6 +196,9 @@ const rules = reactive({
...
@@ -180,6 +196,9 @@ const rules = reactive({
],
],
reason
:
[
reason
:
[
{
required
:
true
,
message
:
"请假事由说明不能为空"
,
trigger
:
"blur"
}
{
required
:
true
,
message
:
"请假事由说明不能为空"
,
trigger
:
"blur"
}
],
uname
:
[
{
required
:
true
,
message
:
"姓名不能为空"
,
trigger
:
"change"
}
]
]
});
});
// 控制内容框的显示和隐藏
// 控制内容框的显示和隐藏
...
@@ -189,6 +208,28 @@ const isViewMode = ref(false);
...
@@ -189,6 +208,28 @@ const isViewMode = ref(false);
// 输入框提示信息
// 输入框提示信息
const
uploadPromptMessage
=
ref
(
''
);
const
uploadPromptMessage
=
ref
(
''
);
// 存储后端返回的用户选项列表
const
userOptions
=
ref
([]);
// 定义 getAllUserList 函数,一般放在文件合适位置,例如在数据获取相关函数区域
function
getAllUserList
()
{
listAllUser
().
then
(
response
=>
{
userOptions
.
value
=
response
.
rows
.
map
(
item
=>
{
return
{
value
:
item
.
id
,
label
:
item
.
name
}
})
})
}
// 当下拉框获得焦点时,调用接口获取用户数据
const
loadUsernames
=
()
=>
{
if
(
userOptions
.
value
.
length
===
0
)
{
getAllUserList
();
}
};
// 存储后端返回的项目负责人列表
// 存储后端返回的项目负责人列表
const
projectManagers
=
ref
([])
const
projectManagers
=
ref
([])
...
@@ -507,11 +548,6 @@ const handleSubmit = () => {
...
@@ -507,11 +548,6 @@ const handleSubmit = () => {
if
(
secondApproverDisabled
.
value
)
{
if
(
secondApproverDisabled
.
value
)
{
form
.
secondApprover
=
null
;
form
.
secondApprover
=
null
;
}
}
userStore
.
getInfo
()
.
then
(
userInfo
=>
{
// 获取登录信息
form
.
uname
=
userInfo
.
user
.
userName
;
form
.
userId
=
userInfo
.
user
.
userId
;
// 这里即为 employeeId
// 先提交请假申请(存储到 leave_application 表)
// 先提交请假申请(存储到 leave_application 表)
addApplication
(
form
)
addApplication
(
form
)
.
then
(
response
=>
{
.
then
(
response
=>
{
...
@@ -545,11 +581,6 @@ const handleSubmit = () => {
...
@@ -545,11 +581,6 @@ const handleSubmit = () => {
ElMessage
.
error
(
'保存失败'
);
ElMessage
.
error
(
'保存失败'
);
console
.
error
(
error
);
console
.
error
(
error
);
});
});
})
.
catch
(
error
=>
{
ElMessage
.
error
(
'获取用户信息失败'
);
console
.
error
(
error
);
});
}
else
{
}
else
{
ElMessage
.
error
(
'表单验证失败,请检查输入'
);
ElMessage
.
error
(
'表单验证失败,请检查输入'
);
}
}
...
...
src/views/attendance/overtimeApplication/addOvertimeApplication.vue
View file @
14e05682
...
@@ -168,7 +168,7 @@
...
@@ -168,7 +168,7 @@
</
template
>
</
template
>
<
script
setup
>
<
script
setup
>
// 控制内容框的显示和隐藏
// 控制内容框的显示和隐藏
import
{
onMounted
,
ref
,
reactive
}
from
'vue'
import
{
onMounted
,
ref
,
reactive
,
watch
}
from
'vue'
import
{
ElMessage
}
from
'element-plus'
import
{
ElMessage
}
from
'element-plus'
import
{
useRouter
,
useRoute
}
from
'vue-router'
import
{
useRouter
,
useRoute
}
from
'vue-router'
import
{
import
{
...
@@ -208,6 +208,15 @@ const rules = reactive({
...
@@ -208,6 +208,15 @@ const rules = reactive({
]
]
})
})
watch
(()
=>
form
.
employeeId
,
(
newValue
)
=>
{
const
selectedOption
=
userOptions
.
value
.
find
(
option
=>
option
.
value
===
newValue
);
if
(
selectedOption
)
{
form
.
uname
=
selectedOption
.
label
;
}
else
{
form
.
uname
=
undefined
;
}
});
// 处理时间选择器变化
// 处理时间选择器变化
const
handleTimeChange
=
()
=>
{
const
handleTimeChange
=
()
=>
{
console
.
log
(
'Start Time:'
,
form
.
startTime
)
// 调试日志
console
.
log
(
'Start Time:'
,
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