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
3b7eda53
Commit
3b7eda53
authored
Mar 18, 2025
by
qyx
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
费用审批搭建
parent
17e0bdd1
Changes
13
Hide whitespace changes
Inline
Side-by-side
Showing
13 changed files
with
175 additions
and
104 deletions
+175
-104
projectCostReimbursement.js
src/api/projectCostReimbursement/projectCostReimbursement.js
+1
-1
dailyReimburseApprove.vue
...ge/examineAndApprove/components/dailyReimburseApprove.vue
+15
-0
projectCostReimbursementApprove.vue
...AndApprove/components/projectCostReimbursementApprove.vue
+11
-0
projectCostRequestApprove.vue
...xamineAndApprove/components/projectCostRequestApprove.vue
+41
-0
tripApplicationApprove.vue
...e/examineAndApprove/components/tripApplicationApprove.vue
+11
-0
tripReimburseApprove.vue
...age/examineAndApprove/components/tripReimburseApprove.vue
+11
-0
index.vue
src/views/costManage/examineAndApprove/index.vue
+44
-7
add.vue
src/views/costManage/projectCostReimbursement/add.vue
+14
-29
detail.vue
src/views/costManage/projectCostReimbursement/detail.vue
+8
-10
index.vue
src/views/costManage/projectCostReimbursement/index.vue
+8
-6
waitReimbursement.vue
...costManage/projectCostReimbursement/waitReimbursement.vue
+1
-1
detail.vue
src/views/costManage/projectCostRequest/detail.vue
+4
-39
index.vue
src/views/costManage/projectCostRequest/index.vue
+6
-11
No files found.
src/api/projectCostReimbursement/projectCostReimbursement.js
View file @
3b7eda53
import
request
from
'@/utils/request'
import
request
from
'@/utils/request'
// 查询项目费用
申请
列表
// 查询项目费用
报销
列表
export
function
getReimbursementList
(
query
)
{
export
function
getReimbursementList
(
query
)
{
return
request
({
return
request
({
url
:
'/fyglprojectCostReimbursement/getList'
,
url
:
'/fyglprojectCostReimbursement/getList'
,
...
...
src/views/costManage/examineAndApprove/components/dailyReimburseApprove.vue
0 → 100644
View file @
3b7eda53
<
template
>
<div
class=
"app-container"
>
日常报销审批
</div>
</
template
>
<
script
setup
>
</
script
>
<
style
scoped
lang=
"scss"
>
</
style
>
src/views/costManage/examineAndApprove/components/projectCostReimbursementApprove.vue
0 → 100644
View file @
3b7eda53
<
script
setup
>
</
script
>
<
template
>
</
template
>
<
style
scoped
lang=
"scss"
>
</
style
>
src/views/costManage/examineAndApprove/components/projectCostRequestApprove.vue
0 → 100644
View file @
3b7eda53
<
template
>
<div
class=
"app-container"
>
<!-- 标题 -->
<div
class=
"topDiv"
>
<span
class=
"bold-text1"
style=
""
>
项目费用申请
</span>
</div>
</div>
</
template
>
<
script
setup
>
</
script
>
<
style
scoped
lang=
"scss"
>
.topDiv
{
margin-bottom
:
30px
;
padding-left
:
8px
;
display
:
flex
;
align-items
:
center
;
justify-content
:
space-between
;
}
.bold-text1
{
border-bottom
:
4px
solid
#0062FF
;
padding-bottom
:
22px
;
height
:
15px
;
font-family
:
PingFangSC-Medium
;
font-weight
:
900
;
font-size
:
18px
;
color
:
#0D162A
;
letter-spacing
:
0
;
line-height
:
15px
;
}
</
style
>
src/views/costManage/examineAndApprove/components/tripApplicationApprove.vue
0 → 100644
View file @
3b7eda53
<
script
setup
>
</
script
>
<
template
>
</
template
>
<
style
scoped
lang=
"scss"
>
</
style
>
src/views/costManage/examineAndApprove/components/tripReimburseApprove.vue
0 → 100644
View file @
3b7eda53
<
script
setup
>
</
script
>
<
template
>
</
template
>
<
style
scoped
lang=
"scss"
>
</
style
>
src/views/costManage/examineAndApprove/index.vue
View file @
3b7eda53
<
template
>
<
template
>
<el-tabs
type=
"border-card"
v-model=
"activeName"
>
<div
class=
"app-container"
>
<el-tab-pane
label=
"日常报销"
name=
"first"
></el-tab-pane>
<div
class=
"topDiv"
>
<el-tab-pane
label=
"出差申请"
name=
"second"
></el-tab-pane>
<span
class=
"bold-text1"
style=
""
>
费用审批
</span>
<el-tab-pane
label=
"差旅报销"
name=
"third"
></el-tab-pane>
</div>
<el-tab-pane
label=
"项目费用申请"
name=
"fourth"
></el-tab-pane>
<el-tab-pane
label=
"项目费用报销"
name=
"fifth"
></el-tab-pane>
<el-tabs
type=
"border-card"
v-model=
"activeName"
>
</el-tabs>
<el-tab-pane
label=
"日常报销"
name=
"first"
>
<daily-reimburse-approve/>
</el-tab-pane>
<el-tab-pane
label=
"出差申请"
name=
"second"
></el-tab-pane>
<el-tab-pane
label=
"差旅报销"
name=
"third"
></el-tab-pane>
<el-tab-pane
label=
"项目费用申请"
name=
"fourth"
>
<project-cost-request-approve/>
</el-tab-pane>
<el-tab-pane
label=
"项目费用报销"
name=
"fifth"
></el-tab-pane>
</el-tabs>
</div>
</
template
>
</
template
>
<
script
setup
>
<
script
setup
>
import
ProjectCostRequestApprove
from
"./components/projectCostRequestApprove.vue"
;
import
DailyReimburseApprove
from
"./components/dailyReimburseApprove.vue"
;
const
activeName
=
ref
(
'first'
)
</
script
>
</
script
>
<
style
scoped
lang=
"scss"
>
<
style
scoped
lang=
"scss"
>
.topDiv
{
margin-bottom
:
30px
;
padding-left
:
8px
;
display
:
flex
;
align-items
:
center
;
justify-content
:
space-between
;
}
.bold-text1
{
border-bottom
:
4px
solid
#0062FF
;
padding-bottom
:
22px
;
height
:
15px
;
font-family
:
PingFangSC-Medium
;
font-weight
:
900
;
font-size
:
18px
;
color
:
#0D162A
;
letter-spacing
:
0
;
line-height
:
15px
;
}
</
style
>
</
style
>
src/views/costManage/projectCostReimbursement/add.vue
View file @
3b7eda53
...
@@ -15,12 +15,7 @@
...
@@ -15,12 +15,7 @@
<el-row>
<el-row>
<el-col
:span=
"12"
>
<el-col
:span=
"12"
>
<el-form-item
label=
"项目名称"
prop=
"projectId"
>
<el-form-item
label=
"项目名称"
prop=
"projectId"
>
<el-select
@
change=
"getProjectDetail"
v-model=
"costReimbursementDetail.projectId"
placeholder=
"请选择项目名称"
clearable
disabled
>
<el-select
v-model=
"costReimbursementDetail.projectName"
placeholder=
"请选择项目名称"
clearable
disabled
>
<el-option
v-for=
"item in projectList.value"
:key=
"item.projectName"
:label=
"item.projectName"
:value=
"item.projectId"
/>
</el-select>
</el-select>
</el-form-item>
</el-form-item>
</el-col>
</el-col>
...
@@ -110,6 +105,7 @@ import {
...
@@ -110,6 +105,7 @@ import {
updateReimbursement
updateReimbursement
}
from
"../../../api/projectCostReimbursement/projectCostReimbursement.js"
;
}
from
"../../../api/projectCostReimbursement/projectCostReimbursement.js"
;
const
route
=
useRoute
();
const
route
=
useRoute
();
const
formRef
=
ref
()
const
formRef
=
ref
()
const
projectTypeOptions
=
reactive
([])
const
projectTypeOptions
=
reactive
([])
...
@@ -135,16 +131,11 @@ const FormRules = reactive(
...
@@ -135,16 +131,11 @@ const FormRules = reactive(
}
}
)
)
//获取所有项目
// 重置表单
const
projectList
=
reactive
([]);
const
resetForm
=
()
=>
{
const
getProject
=
()
=>
{
costReimbursementDetail
.
actualAmount
=
''
getProjectList
().
then
(
response
=>
{
costReimbursementDetail
.
description
=
''
console
.
log
(
"项目列表"
,
response
.
data
)
projectList
.
value
=
response
.
data
})
}
}
getProject
()
//获取编辑详情
//获取编辑详情
let
type
=
route
.
query
.
type
let
type
=
route
.
query
.
type
let
id
=
parseInt
(
route
.
query
.
id
)
let
id
=
parseInt
(
route
.
query
.
id
)
...
@@ -155,12 +146,12 @@ if (type === "新增"){
...
@@ -155,12 +146,12 @@ if (type === "新增"){
getCostRequestDetail
(
id
).
then
(
res
=>
{
getCostRequestDetail
(
id
).
then
(
res
=>
{
console
.
log
(
"项目详情"
,
res
)
console
.
log
(
"项目详情"
,
res
)
Object
.
assign
(
costReimbursementDetail
,
res
.
data
);
Object
.
assign
(
costReimbursementDetail
,
res
.
data
);
getProjectDetail
()
})
})
}
else
if
(
type
===
"编辑"
){
}
else
if
(
type
===
"编辑"
){
//编辑页面
//编辑页面
console
.
log
(
"type"
,
type
)
console
.
log
(
"type"
,
type
)
console
.
log
(
"路由"
,
id
)
console
.
log
(
"路由"
,
id
)
// 等后端把 少的两个字段返给我 直接调报销详情的接口
getReimbursementDetail
(
id
).
then
(
res
=>
{
getReimbursementDetail
(
id
).
then
(
res
=>
{
console
.
log
(
"报销详情"
,
res
)
console
.
log
(
"报销详情"
,
res
)
Object
.
assign
(
costReimbursementDetail
,
res
.
data
);
Object
.
assign
(
costReimbursementDetail
,
res
.
data
);
...
@@ -180,7 +171,8 @@ const handleSubmit = ()=>{
...
@@ -180,7 +171,8 @@ const handleSubmit = ()=>{
description
:
costReimbursementDetail
.
description
description
:
costReimbursementDetail
.
description
}
}
if
(
type
===
"新增"
)
{
if
(
type
===
"新增"
)
{
// 发 新增 报销请求
// 发 新增报销 请求
addReimbursement
(
obj
).
then
(
response
=>
{
addReimbursement
(
obj
).
then
(
response
=>
{
if
(
response
.
code
===
200
)
{
if
(
response
.
code
===
200
)
{
proxy
.
$modal
.
msgSuccess
(
"新增成功"
);
proxy
.
$modal
.
msgSuccess
(
"新增成功"
);
...
@@ -190,31 +182,24 @@ const handleSubmit = ()=>{
...
@@ -190,31 +182,24 @@ const handleSubmit = ()=>{
proxy
.
$modal
.
msgError
(
response
.
msg
)
proxy
.
$modal
.
msgError
(
response
.
msg
)
}
}
});
});
}
else
if
(
type
===
"编辑"
)
{
}
else
if
(
type
===
"编辑"
)
{
// 发 修改 报销请求
console
.
log
(
"修改后数据"
,
obj
)
// 发 修改报销 请求
updateReimbursement
(
obj
).
then
(
response
=>
{
updateReimbursement
(
obj
).
then
(
response
=>
{
if
(
response
.
code
===
200
)
{
if
(
response
.
code
===
200
)
{
proxy
.
$modal
.
msgSuccess
(
"编辑成功"
);
proxy
.
$modal
.
msgSuccess
(
"编辑成功"
);
proxy
.
$router
.
push
({
path
:
'/costManage/projectCostReimbursement
/index
'
})
proxy
.
$router
.
push
({
path
:
'/costManage/projectCostReimbursement'
})
}
else
{
}
else
{
proxy
.
$modal
.
msgError
(
response
.
msg
)
proxy
.
$modal
.
msgError
(
response
.
msg
)
}
}
});
});
}
}
}
}
});
});
}
}
// 重置表单
const
resetForm
=
()
=>
{
costReimbursementDetail
.
projectName
=
''
,
costReimbursementDetail
.
projectType
=
''
,
costReimbursementDetail
.
projectId
=
''
,
costReimbursementDetail
.
costType
=
''
,
costReimbursementDetail
.
timeOfExpense
=
''
,
costReimbursementDetail
.
sumMoney
=
''
,
costReimbursementDetail
.
remark
=
''
}
// 取消按钮
// 取消按钮
const
router
=
useRouter
()
const
router
=
useRouter
()
const
goBackIndex
=
()
=>
{
const
goBackIndex
=
()
=>
{
...
...
src/views/costManage/projectCostReimbursement/detail.vue
View file @
3b7eda53
...
@@ -10,12 +10,13 @@
...
@@ -10,12 +10,13 @@
</div>
</div>
<!-- 步骤条-->
<!-- 步骤条-->
<div
class=
"shadow_box_bottom_step"
>
<div
v-if=
"reimbursementDetail"
class=
"shadow_box_bottom_step"
>
<text
class=
"text1"
>
审批流程
</text>
<text
class=
"text1"
>
审批流程
</text>
<FlowChart
:dataList=
"list"
:widthDontai=
"'70%'"
:activeIndex=
"reimbursementDetail.reimbursmentApproveStatus === 3 ? 5 :
1
"
/>
<FlowChart
:dataList=
"list"
:widthDontai=
"'70%'"
:activeIndex=
"reimbursementDetail.reimbursmentApproveStatus === 3 ? 5 :
3
"
/>
</div>
</div>
<div
class=
"detail"
>
<!-- 详情-->
<div
class=
"detail"
v-if=
"reimbursementDetail"
>
<el-row>
<el-row>
<el-col
:span=
"2"
>
<span>
流水号:
</span></el-col>
<el-col
:span=
"2"
>
<span>
流水号:
</span></el-col>
<el-col
:span=
"22"
><div>
{{
reimbursementDetail
.
serialNumber
}}
</div></el-col>
<el-col
:span=
"22"
><div>
{{
reimbursementDetail
.
serialNumber
}}
</div></el-col>
...
@@ -91,12 +92,13 @@ const { project_status, project_cost_type,project_cost_request_status,project_ty
...
@@ -91,12 +92,13 @@ const { project_status, project_cost_type,project_cost_request_status,project_ty
const
list
=
[
'个人'
,
'PM'
,
'事业部负责人'
,
'财务'
,
'领导'
]
const
list
=
[
'个人'
,
'PM'
,
'事业部负责人'
,
'财务'
,
'领导'
]
//获取详情
//获取详情
const
reimbursementDetail
=
re
f
([]
)
const
reimbursementDetail
=
re
active
({}
)
let
id
=
proxy
.
$route
.
query
.
id
;
let
id
=
proxy
.
$route
.
query
.
id
;
const
getDetail
=
()
=>
{
const
getDetail
=
()
=>
{
getReimbursementDetail
(
id
).
then
(
response
=>
{
getReimbursementDetail
(
id
).
then
(
response
=>
{
console
.
log
(
"res"
,
response
.
data
)
console
.
log
(
"res"
,
response
.
data
)
reimbursementDetail
.
value
=
response
.
data
Object
.
assign
(
reimbursementDetail
,
response
.
data
);
// reimbursementDetail.value = response.data
});
});
}
}
getDetail
()
getDetail
()
...
@@ -138,7 +140,7 @@ onMounted(()=>{
...
@@ -138,7 +140,7 @@ onMounted(()=>{
});
});
})
})
//返回
//
返回
const
goBackReimburseIndex
=
()
=>
{
const
goBackReimburseIndex
=
()
=>
{
router
.
push
({
path
:
'/costManage/projectCostReimbursement'
})
router
.
push
({
path
:
'/costManage/projectCostReimbursement'
})
}
}
...
@@ -160,10 +162,6 @@ const goBackReimburseIndex = () => {
...
@@ -160,10 +162,6 @@ const goBackReimburseIndex = () => {
color
:
#4A4E54
;;
color
:
#4A4E54
;;
}
}
}
}
.top
{
.top
{
display
:
flex
;
display
:
flex
;
flex-direction
:
column
;
flex-direction
:
column
;
...
...
src/views/costManage/projectCostReimbursement/index.vue
View file @
3b7eda53
...
@@ -22,7 +22,7 @@
...
@@ -22,7 +22,7 @@
</el-select>
</el-select>
</el-form-item>
</el-form-item>
<el-form-item
label=
"审批状态"
>
<el-form-item
label=
"审批状态"
>
<el-select
style=
"width: 220px"
v-model=
"queryParams.
a
pproveStatus"
placeholder=
"请选择审批状态"
clearable
>
<el-select
style=
"width: 220px"
v-model=
"queryParams.
reimbursmentA
pproveStatus"
placeholder=
"请选择审批状态"
clearable
>
<el-option
<el-option
v-for=
"dict in project_cost_request_status"
v-for=
"dict in project_cost_request_status"
:key=
"dict.value"
:key=
"dict.value"
...
@@ -169,7 +169,8 @@ const queryParams = reactive({
...
@@ -169,7 +169,8 @@ const queryParams = reactive({
projectName
:
null
,
projectName
:
null
,
projectNumber
:
null
,
projectNumber
:
null
,
userName
:
null
,
userName
:
null
,
projectType
:
null
projectType
:
null
,
reimbursmentApproveStatus
:
null
})
})
// 定义是否展开的状态
// 定义是否展开的状态
const
isExpanded
=
ref
(
false
);
const
isExpanded
=
ref
(
false
);
...
@@ -211,10 +212,12 @@ const handleHover = (row) => {
...
@@ -211,10 +212,12 @@ const handleHover = (row) => {
changProjectNumber
.
value
=
row
.
projectNumber
changProjectNumber
.
value
=
row
.
projectNumber
// console.log("当前行的项目编号",row.projectNumber)
// console.log("当前行的项目编号",row.projectNumber)
const
Status
=
row
.
reimbursmentApproveStatus
;
const
Status
=
row
.
reimbursmentApproveStatus
;
if
(
Status
===
1
||
Status
===
2
)
{
if
(
Status
===
1
)
{
stepActive
.
value
=
1
;
stepActive
.
value
=
1
;
}
else
if
(
Status
===
3
)
{
}
else
if
(
Status
===
3
)
{
stepActive
.
value
=
5
;
stepActive
.
value
=
5
;
}
else
if
(
Status
===
2
){
stepActive
.
value
=
3
;
}
}
}
}
const
handleLeave
=
()
=>
{
const
handleLeave
=
()
=>
{
...
@@ -235,9 +238,8 @@ getAllProjectName()
...
@@ -235,9 +238,8 @@ getAllProjectName()
// 重置表单
// 重置表单
const
reset
=
()
=>
{
const
reset
=
()
=>
{
queryParams
.
projectName
=
null
queryParams
.
projectName
=
null
queryParams
.
projectNumber
=
null
queryParams
.
userName
=
null
queryParams
.
projectType
=
null
queryParams
.
projectType
=
null
queryParams
.
reimbursmentApproveStatus
=
null
getList
()
getList
()
}
}
...
@@ -275,7 +277,7 @@ const handleView=({id})=> {
...
@@ -275,7 +277,7 @@ const handleView=({id})=> {
//编辑
//编辑
const
handleUpdate
=
({
id
})
=>
{
const
handleUpdate
=
({
id
})
=>
{
console
.
log
(
"编辑"
+
id
)
console
.
log
(
"编辑"
+
id
)
proxy
.
$router
.
push
({
path
:
'/costManage/projectCostReimbursement/add'
,
query
:
{
id
:
2
,
type
:
"编辑"
}
});
proxy
.
$router
.
push
({
path
:
'/costManage/projectCostReimbursement/add'
,
query
:
{
id
:
id
,
type
:
"编辑"
}
});
}
}
//跳转至打印页
//跳转至打印页
...
...
src/views/costManage/projectCostReimbursement/waitReimbursement.vue
View file @
3b7eda53
...
@@ -268,7 +268,7 @@ const handleToAdd=({id})=> {
...
@@ -268,7 +268,7 @@ const handleToAdd=({id})=> {
.pagination-box
{
.pagination-box
{
padding-right
:
43%
;
padding-right
:
43%
;
margin-top
:
40
0px
;
margin-top
:
22
0px
;
}
}
</
style
>
</
style
>
src/views/costManage/projectCostRequest/detail.vue
View file @
3b7eda53
...
@@ -14,12 +14,7 @@
...
@@ -14,12 +14,7 @@
<FlowChart
:dataList=
"list"
:widthDontai=
"'70%'"
:activeIndex=
"costRequestDetailList.value.approveStatus === 3 ? 5 :1"
/>
<FlowChart
:dataList=
"list"
:widthDontai=
"'70%'"
:activeIndex=
"costRequestDetailList.value.approveStatus === 3 ? 5 :1"
/>
</div>
</div>
<div
v-if=
"costRequestDetailList.value"
class=
"detail"
>
<div
v-if=
"costRequestDetailList.value"
class=
"detail"
>
<!--
<el-row>
-->
<!--
<el-col
:span=
"2"
>
<span>
流水号:
</span></el-col>
-->
<!--
<el-col
:span=
"22"
><div>
{{
costRequestDetailList
.
value
.
waterNumber
}}
</div></el-col>
-->
<!--
</el-row>
-->
<el-row>
<el-row>
<el-col
:span=
"2"
>
<span>
项目名称:
</span></el-col>
<el-col
:span=
"2"
>
<span>
项目名称:
</span></el-col>
<el-col
:span=
"22"
><div>
{{
costRequestDetailList
.
value
.
projectName
}}
</div></el-col>
<el-col
:span=
"22"
><div>
{{
costRequestDetailList
.
value
.
projectName
}}
</div></el-col>
...
@@ -44,22 +39,10 @@
...
@@ -44,22 +39,10 @@
<el-col
:span=
"2"
>
<span>
费用类型:
</span></el-col>
<el-col
:span=
"2"
>
<span>
费用类型:
</span></el-col>
<el-col
:span=
"22"
><div>
{{
changeProjectCostType
(
costRequestDetailList
.
value
.
costType
)
}}
</div></el-col>
<el-col
:span=
"22"
><div>
{{
changeProjectCostType
(
costRequestDetailList
.
value
.
costType
)
}}
</div></el-col>
</el-row>
</el-row>
<!--
<el-row>
-->
<!--
<el-col
:span=
"2"
>
<span>
物品描述:
</span></el-col>
-->
<!--
<el-col
:span=
"22"
><div>
{{
costRequestDetailList
.
value
.
description
}}
</div></el-col>
-->
<!--
</el-row>
-->
<el-row>
<el-row>
<el-col
:span=
"2"
>
<span>
费用发生时间:
</span></el-col>
<el-col
:span=
"2"
>
<span>
费用发生时间:
</span></el-col>
<el-col
:span=
"22"
><div>
{{
costRequestDetailList
.
value
.
timeOfExpense
}}
</div></el-col>
<el-col
:span=
"22"
><div>
{{
costRequestDetailList
.
value
.
timeOfExpense
}}
</div></el-col>
</el-row>
</el-row>
<!--
<el-row>
-->
<!--
<el-col
:span=
"2"
>
<span>
单价:
</span></el-col>
-->
<!--
<el-col
:span=
"22"
><div>
{{
costRequestDetailList
.
value
.
unitPrice
}}
</div></el-col>
-->
<!--
</el-row>
-->
<!--
<el-row>
-->
<!--
<el-col
:span=
"2"
>
<span>
数量:
</span></el-col>
-->
<!--
<el-col
:span=
"22"
><div>
{{
costRequestDetailList
.
value
.
amount
}}
</div></el-col>
-->
<!--
</el-row>
-->
<el-row>
<el-row>
<el-col
:span=
"2"
>
<span>
预计金额(元):
</span></el-col>
<el-col
:span=
"2"
>
<span>
预计金额(元):
</span></el-col>
<el-col
:span=
"22"
><div>
{{
costRequestDetailList
.
value
.
sumMoney
}}
</div></el-col>
<el-col
:span=
"22"
><div>
{{
costRequestDetailList
.
value
.
sumMoney
}}
</div></el-col>
...
@@ -96,31 +79,14 @@ import { onMounted } from 'vue';
...
@@ -96,31 +79,14 @@ import { onMounted } from 'vue';
import
{
getDicts
}
from
"@/api/system/dict/data"
;
import
{
getDicts
}
from
"@/api/system/dict/data"
;
import
FlowChart
from
'@/components/FlowChart/index.vue'
import
FlowChart
from
'@/components/FlowChart/index.vue'
import
{
reactive
,
ref
}
from
'vue'
import
{
reactive
,
ref
}
from
'vue'
import
{
useRouter
}
from
'vue-router'
const
router
=
useRouter
()
import
{
getCostRequestDetail
,
getCostRequestList
}
from
"../../../api/projectCostRequest/projectCostRequest.js"
;
import
{
getCostRequestDetail
}
from
"../../../api/projectCostRequest/projectCostRequest.js"
;
import
{
useRouter
}
from
"vue-router"
;
const
{
proxy
}
=
getCurrentInstance
();
const
{
proxy
}
=
getCurrentInstance
();
const
{
project_status
,
project_cost_type
,
project_cost_request_status
,
project_type
}
=
proxy
.
useDict
(
'project_status'
,
'project_cost_type'
,
'project_cost_request_status'
,
'project_type'
);
const
{
project_status
,
project_cost_type
,
project_cost_request_status
,
project_type
}
=
proxy
.
useDict
(
'project_status'
,
'project_cost_type'
,
'project_cost_request_status'
,
'project_type'
);
// 流程图内容
// 流程图内容
const
list
=
[
'个人'
,
'PM'
,
'事业部负责人'
,
'财务'
,
'领导'
]
const
list
=
[
'个人'
,
'PM'
,
'事业部负责人'
,
'财务'
,
'领导'
]
// const costRequestDetailList = reactive({
// waterNumber:null,
// costType:null,
// projectName:null,
// description:null,
// projectNumber:null,
// createTime:null,
// projectType:null,
// unitPrice:null,
// amount:null,
// userName:null,
// sumMoney:null,
// projectStatus:null,
// remark:null,
// approveStatus:null
// timeOfExpense:null
// });
const
costRequestDetailList
=
reactive
({})
const
costRequestDetailList
=
reactive
({})
let
projectId
=
proxy
.
$route
.
query
.
id
;
let
projectId
=
proxy
.
$route
.
query
.
id
;
const
getDetail
=
()
=>
{
const
getDetail
=
()
=>
{
...
@@ -175,12 +141,11 @@ onMounted(()=>{
...
@@ -175,12 +141,11 @@ onMounted(()=>{
// 取消按钮
// 取消按钮
const
router
=
useRouter
()
const
goBackIndex
=
()
=>
{
const
goBackIndex
=
()
=>
{
router
.
push
({
path
:
'/costManage/projectCostRequest/index'
})
router
.
push
({
path
:
'/costManage/projectCostRequest/index'
})
}
}
//
去
报销按钮
//
申请
报销按钮
const
goToAddReimburse
=
()
=>
{
const
goToAddReimburse
=
()
=>
{
console
.
log
(
projectId
)
console
.
log
(
projectId
)
router
.
push
({
path
:
'/costManage/projectCostReimbursement/add'
,
query
:
{
id
:
projectId
,
type
:
"新增"
}})
router
.
push
({
path
:
'/costManage/projectCostReimbursement/add'
,
query
:
{
id
:
projectId
,
type
:
"新增"
}})
...
...
src/views/costManage/projectCostRequest/index.vue
View file @
3b7eda53
...
@@ -81,7 +81,7 @@
...
@@ -81,7 +81,7 @@
<div
class=
"contentTable"
>
<div
class=
"contentTable"
>
<el-table
v-loading=
"loading"
:data=
"projectCostRequestList"
border
>
<el-table
v-loading=
"loading"
:data=
"projectCostRequestList"
border
>
<el-table-column
type=
"selection"
align=
"center"
></el-table-column>
<el-table-column
type=
"selection"
align=
"center"
></el-table-column>
<el-table-column
prop=
"createTime"
label=
"申请时间"
align=
"center"
>
<el-table-column
prop=
"createTime"
label=
"申请时间"
align=
"center"
width=
"190px"
>
<template
#
default=
"
{row}">
<template
#
default=
"
{row}">
<span
@
mouseenter=
"handleHover(row)"
@
mouseleave=
"handleLeave"
>
{{
row
.
createTime
}}
</span>
<span
@
mouseenter=
"handleHover(row)"
@
mouseleave=
"handleLeave"
>
{{
row
.
createTime
}}
</span>
</
template
>
</
template
>
...
@@ -106,6 +106,11 @@
...
@@ -106,6 +106,11 @@
<dict-tag
:options=
"project_cost_type"
:value=
"scope.row.costType"
@
mouseenter=
"handleHover(scope.row)"
@
mouseleave=
"handleLeave"
/>
<dict-tag
:options=
"project_cost_type"
:value=
"scope.row.costType"
@
mouseenter=
"handleHover(scope.row)"
@
mouseleave=
"handleLeave"
/>
</
template
>
</
template
>
</el-table-column>
</el-table-column>
<el-table-column
prop=
"timeOfExpense"
label=
"费用发生时间"
align=
"center"
>
<
template
#
default=
"{row}"
>
<span
@
mouseenter=
"handleHover(row)"
@
mouseleave=
"handleLeave"
>
{{
row
.
timeOfExpense
}}
</span>
</
template
>
</el-table-column>
<el-table-column
prop=
"sumMoney"
label=
"预计金额(元)"
align=
"center"
>
<el-table-column
prop=
"sumMoney"
label=
"预计金额(元)"
align=
"center"
>
<
template
#
default=
"{row}"
>
<
template
#
default=
"{row}"
>
<div
@
mouseenter=
"handleHover(row)"
@
mouseleave=
"handleLeave"
>
{{
row
.
sumMoney
}}
</div>
<div
@
mouseenter=
"handleHover(row)"
@
mouseleave=
"handleLeave"
>
{{
row
.
sumMoney
}}
</div>
...
@@ -139,7 +144,6 @@
...
@@ -139,7 +144,6 @@
</el-table-column>
</el-table-column>
</el-table>
</el-table>
<!-- 分页-->
<!-- 分页-->
<div
class=
"pagination-box"
>
<div
class=
"pagination-box"
>
<pagination
<pagination
...
@@ -152,9 +156,6 @@
...
@@ -152,9 +156,6 @@
</div>
</div>
</div>
</div>
</div
>
</div
>
</template>
</template>
...
@@ -284,14 +285,8 @@ const handleDelete=(row)=> {
...
@@ -284,14 +285,8 @@ const handleDelete=(row)=> {
}).
catch
(()
=>
{
}).
catch
(()
=>
{
proxy
.
$modal
.
msgError
(
"删除失败"
);
proxy
.
$modal
.
msgError
(
"删除失败"
);
});
});
}
}
// 导出列表
</
script
>
</
script
>
...
...
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