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
81feb181
Commit
81feb181
authored
Apr 01, 2025
by
yanzhengyang
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
费用审批-日常报销完善
parent
7c3a787d
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
71 additions
and
69 deletions
+71
-69
examineAndApprove.js
src/api/examineAndApprove/examineAndApprove.js
+18
-0
dailyReimburseApprove.vue
...ge/examineAndApprove/components/dailyReimburseApprove.vue
+53
-69
No files found.
src/api/examineAndApprove/examineAndApprove.js
View file @
81feb181
...
...
@@ -80,6 +80,24 @@ export function projectCostReimbursementNotPass(query) {
})
}
// 5.项目费用申请审批
//项目费用申请审批-通过
export
function
dailyCostPass
(
query
)
{
return
request
({
url
:
'/expenseApproval/dailyReimburseApproval'
,
method
:
'post'
,
data
:
query
})
}
//项目费用申请审批-驳回
export
function
dailyCostNotPass
(
query
)
{
return
request
({
url
:
'/expenseApproval/dailyReimburseApprovalReject'
,
method
:
'post'
,
data
:
query
})
}
// 3.出差申请审批
//出差申请-通过
...
...
src/views/costManage/examineAndApprove/components/dailyReimburseApprove.vue
View file @
81feb181
...
...
@@ -62,36 +62,36 @@
<!-- 可折叠的查询条件 -->
<transition>
<div
v-if=
"isExpanded"
>
<el-form-item
label=
"项目经理"
prop=
"projectManagerId"
>
<el-select
v-model=
"queryParams.projectStatus"
placeholder=
"请选择项目经理"
style=
"width: 220px"
clearable
>
<el-option
v-for=
"dict in project_status"
:key=
"dict.value"
:label=
"dict.label"
:value=
"dict.value"
/
>
</el-select
>
</el-form-item
>
<el-form-item
label=
"事业部负责人"
prop=
"projectType"
>
<el-select
v-model=
"queryParams.projectType"
placeholder=
"请选择事业部负责人"
style=
"width: 220px"
clearable
>
<el-option
v-for=
"dict in project_type"
:key=
"dict.value"
:label=
"dict.label"
:value=
"dict.value"
/
>
</el-select
>
</el-form-item
>
<!--
<el-form-item
label=
"项目经理"
prop=
"projectManagerId"
>
--
>
<!--
<el-select-->
<!-- v-model="queryParams.projectStatus"-->
<!-- placeholder="请选择项目经理"-->
<!-- style="width: 220px"-->
<!-- clearable-->
<!-- >--
>
<!--
<el-option-->
<!-- v-for="dict in project_status"-->
<!-- :key="dict.value"-->
<!-- :label="dict.label"-->
<!-- :value="dict.value"-->
<!-- />--
>
<!--
</el-select>
--
>
<!--
</el-form-item>
--
>
<!--
<el-form-item
label=
"事业部负责人"
prop=
"projectType"
>
--
>
<!--
<el-select-->
<!-- v-model="queryParams.projectType"-->
<!-- placeholder="请选择事业部负责人"-->
<!-- style="width: 220px"-->
<!-- clearable-->
<!-- >--
>
<!--
<el-option-->
<!-- v-for="dict in project_type"-->
<!-- :key="dict.value"-->
<!-- :label="dict.label"-->
<!-- :value="dict.value"-->
<!-- />--
>
<!--
</el-select>
--
>
<!--
</el-form-item>
--
>
<el-form-item
label=
"报销月份"
>
<el-date-picker
v-model=
"queryParams.reimbursementMonth"
...
...
@@ -166,7 +166,7 @@
<!-- 操作按钮-->
<el-table-column
label=
"操作"
align=
"center"
fixed=
"right"
width=
"120px"
>
<
template
#
default=
"scope"
>
<el-button
:disabled=
"scope.row.currentStatus !== 0"
link
@
click=
"pass
Project
Cost(scope.row)"
type=
"primary"
size=
"small"
style=
"font-size: 15px"
>
通过
</el-button>
<el-button
:disabled=
"scope.row.currentStatus !== 0"
link
@
click=
"pass
Daily
Cost(scope.row)"
type=
"primary"
size=
"small"
style=
"font-size: 15px"
>
通过
</el-button>
<el-button
:disabled=
"scope.row.currentStatus !== 0"
link
@
click=
"reject(scope.row)"
type=
"danger"
size=
"small"
style=
"font-size: 15px"
>
驳回
</el-button>
</
template
>
</el-table-column>
...
...
@@ -205,8 +205,11 @@
<
script
setup
>
import
{
ArrowDown
}
from
"@element-plus/icons-vue"
;
import
FlowChart
from
'@/components/FlowChart/index.vue'
import
{
ElMessageBox
}
from
"element-plus"
;
import
{
getProjectName
,
getApproveNodeList
,
getRoleId
}
from
'@/api/examineAndApprove/examineAndApprove.js'
import
{
ElMessage
}
from
"element-plus"
;
import
{
getProjectName
,
getApproveNodeList
,
getRoleId
,
dailyCostPass
,
dailyCostNotPass
}
from
'@/api/examineAndApprove/examineAndApprove.js'
import
{
listDailyApprove
}
from
'@/api/costManage/cost.js'
import
{
useRouter
}
from
"vue-router"
;
import
{
ref
}
from
"vue"
;
...
...
@@ -226,7 +229,7 @@ const passObjList = []
//驳回对象
let
rejectObj
=
reactive
({
projectCost
Id
:
null
,
dailyReimburse
Id
:
null
,
groundsForRejection
:
null
})
...
...
@@ -243,11 +246,9 @@ const isExpanded = ref(false);
const
queryParams
=
reactive
({
pageNum
:
1
,
pageSize
:
10
,
projectNumber
:
null
,
projectName
:
null
,
projectType
:
null
,
departmentLeaderId
:
null
,
projectManagerId
:
null
,
// departmentLeaderId: null,
// projectManagerId: null,
approvalStatus
:
null
,
reimbursementMonth
:
null
,
});
...
...
@@ -258,7 +259,7 @@ const oneClickPass = ()=>{
message
:
'请先选择数据项'
,
type
:
'error'
})
project
CostPass
(
passObjList
).
then
(
res
=>
{
daily
CostPass
(
passObjList
).
then
(
res
=>
{
if
(
res
.
code
===
200
){
getList
()
}
...
...
@@ -276,7 +277,6 @@ getAllProjectName()
// 重置表单
const
reset
=
()
=>
{
queryParams
.
projectName
=
null
queryParams
.
projectType
=
null
queryParams
.
approvalStatus
=
null
getList
()
}
...
...
@@ -293,7 +293,7 @@ const reject = (row)=>{
oneClickFlag
=
false
console
.
log
(
row
)
dialogFormVisible
.
value
=
true
rejectObj
.
projectCost
Id
=
row
.
id
rejectObj
.
dailyReimburse
Id
=
row
.
id
}
//确定驳回
const
sureReject
=
()
=>
{
...
...
@@ -301,18 +301,18 @@ const sureReject = ()=>{
//如果是一键驳回
let
list
=
passObjList
.
map
((
item
)
=>
{
return
{
projectCostId
:
item
.
projectCost
Id
,
dailyReimburseId
:
item
.
dailyReimburse
Id
,
groundsForRejection
:
rejectObj
.
groundsForRejection
}
})
project
CostNotPass
(
list
).
then
(
res
=>
{
daily
CostNotPass
(
list
).
then
(
res
=>
{
dialogFormVisible
.
value
=
false
cancelReject
()
getList
()
})
}
else
{
//不是一键驳回
project
CostNotPass
([
rejectObj
]).
then
(
res
=>
{
daily
CostNotPass
([
rejectObj
]).
then
(
res
=>
{
dialogFormVisible
.
value
=
false
cancelReject
()
getList
()
...
...
@@ -337,7 +337,7 @@ const oneClickNotPass = ()=>{
const
cancelReject
=
()
=>
{
dialogFormVisible
.
value
=
false
rejectObj
=
reactive
({
projectCost
Id
:
null
,
dailyReimburse
Id
:
null
,
groundsForRejection
:
null
})
}
...
...
@@ -352,7 +352,7 @@ const handleSelectionChange = (val) => {
let
obj
=
{
//项目费用id
projectCost
Id
:
item
.
id
,
dailyReimburse
Id
:
item
.
id
,
//下一个节点nodeId
nextNodeId
:
null
,
//是否终审
...
...
@@ -393,7 +393,7 @@ const approvalStatusChange = (status,currentNodeId)=>{
}
//通过
const
pass
Project
Cost
=
(
row
)
=>
{
const
pass
Daily
Cost
=
(
row
)
=>
{
console
.
log
(
row
)
let
currentAudiRoleId
=
row
.
currentAudiRoleId
//获取currentAudiRoleId的下标
...
...
@@ -401,7 +401,7 @@ const passProjectCost = (row)=>{
let
obj
=
{
//项目费用id
projectCost
Id
:
row
.
id
,
dailyReimburse
Id
:
row
.
id
,
//下一个节点nodeId
nextNodeId
:
null
,
//是否终审
...
...
@@ -418,8 +418,8 @@ const passProjectCost = (row)=>{
obj
.
isEndApproval
=
false
}
project
CostPass
([
obj
]).
then
(
res
=>
{
console
.
log
(
"响应"
,
res
)
daily
CostPass
([
obj
]).
then
(
res
=>
{
//
console.log("响应",res)
if
(
res
.
code
===
200
){
getList
()
}
...
...
@@ -445,7 +445,7 @@ const handleHover = (row, column, cell, event) => {
timer
=
setTimeout
(()
=>
{
changProjectNumber
.
value
=
row
.
projectNumber
let
i
=
allList
.
value
.
findIndex
((
item
)
=>
item
.
nodeId
===
row
.
currentAudiRoleId
)
console
.
log
(
"i"
,
i
)
//
console.log("i",i)
if
(
i
===
-
1
)
stepActive
.
value
=
1
else
stepActive
.
value
=
i
+
1
...
...
@@ -463,7 +463,7 @@ const handleLeave = () => {
//获取所有流程列表,根据审批id
const
getNodeList
=
()
=>
{
getApproveNodeList
(
16
).
then
(
res
=>
{
console
.
log
(
"lkoi"
,
res
)
//
console.log("lkoi",res)
allList
.
value
=
res
.
data
.
nodeList
list
.
value
=
res
.
data
.
nodeList
.
map
(
item
=>
{
return
item
.
roleName
...
...
@@ -479,7 +479,7 @@ const getList = () => {
loading
.
value
=
false
;
total
.
value
=
res
.
total
;
Object
.
assign
(
costManageList
,
res
.
rows
);
console
.
log
(
"审批页数据"
,
costManageList
);
//
console.log("审批页数据",costManageList);
for
(
let
i
in
costManageList
){
costManageList
[
i
].
currentStatus
=
approvalStatusChange
(
costManageList
[
i
].
approvalStatus
,
costManageList
[
i
].
currentAudiRoleId
)
}
...
...
@@ -555,20 +555,4 @@ onMounted(async () => {
line-height
:
15px
;
}
}
.text_weight
{
font-family
:
"PingFangSC-Medium"
,
sans-serif
;
font-weight
:
600
;
font-size
:
16px
;
}
.bohui
{
font-family
:
"PingFangSC-Medium"
,
sans-serif
;
font-weight
:
500
;
font-size
:
16px
;
color
:
#0D162A
;
}
.pagination-box
{
padding-right
:
40%
;
margin-top
:
20px
;
}
</
style
>
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