Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
S
SuperMan
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
1
Issues
1
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
罗超
SuperMan
Commits
fb361236
Commit
fb361236
authored
Mar 11, 2019
by
zhengke
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
no message
parent
1ecb9f39
Show whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
0 additions
and
1295 deletions
+0
-1295
addFinancialDocuments.vue
src/components/FinancialModule/addFinancialDocuments.vue
+0
-1295
No files found.
src/components/FinancialModule/addFinancialDocuments.vue
deleted
100644 → 0
View file @
1ecb9f39
<
style
scoped
>
.page_addFD
{
margin-top
:
20px
;
position
:
relative
;
height
:
1024px
;}
.Receipt_box
{
padding
:
15px
;
color
:
#c94052
;
width
:
830px
;
position
:
relative
;}
.page_form
{
position
:
absolute
;
left
:
0
;
right
:
0
;
top
:
0
;
bottom
:
60px
;}
.Receipt_box
tr
th
{
color
:
#c94052
}
.Receipt_box.color_blur
tr
th
{
color
:
#106BAF
}
.Receipt_box.color_blur
{
color
:
#106BAF
;
background-color
:
white
;}
.Receipt_box.color_blur
.rb_stit
span
{
display
:
inline-block
;
border-bottom
:
2px
solid
#106BAF
;
padding
:
0
20px
}
.rb_tit
{
font-size
:
18px
;
text-align
:
center
}
.rb_stit
{
font-size
:
14px
;
text-align
:
center
;
margin-top
:
10px
;}
.rb_stit
span
{
display
:
inline-block
;
border-bottom
:
2px
solid
#C94052
;
padding
:
0
20px
}
.rb_top_row
{
display
:
flex
;
justify-content
:
space-between
;
font-size
:
12px
;
align-items
:
center
;
margin-top
:
10px
}
.rb_top_row
span
._r_name
{
color
:
#333333
;
display
:
inline-block
;}
.rb_top_row
span
._r_bold
{
font-weight
:
bold
}
.rb_top_row
._r_time
span
{
color
:
#333333
}
._r_mb5
{
margin-bottom
:
10px
;}
.Receipt_table
{
width
:
100%
;
font-size
:
14px
;
text-align
:
center
}
.Receipt_table
th
{
font-weight
:
200
!important
}
.Receipt_table
tr
th
,
.Receipt_table
tr
td
{
background-color
:
white
;
position
:
relative
;}
._r_mt10
{
margin-top
:
10px
;}
.Receipt_box.color_blur
{
color
:
#106BAF
;}
.Receipt_box.color_blur
.rb_stit
span
{
display
:
inline-block
;
border-bottom
:
2px
solid
#106BAF
;
padding
:
0
20px
}
td
{
padding
:
5px
;
height
:
34px
;}
._border_b_1
{
border-bottom
:
1px
solid
#666666
!important
;}
._flow_chart
{
position
:
absolute
;
display
:
inline-block
;
right
:
15px
;
top
:
7px
;
padding
:
5px
25px
;
font-size
:
12px
;
color
:
#FFFFFF
;
background-color
:
#E95252
;
border-radius
:
14px
;
cursor
:
pointer
;}
._explain
{
padding
:
20px
0
10px
0
;
border-top
:
1px
dashed
#BFBFBF
;
background-color
:
white
;
margin-top
:
15px
}
._explain
>
p
{
color
:
#1273BC
;
font-size
:
12px
;}
._explain
>
div
{
display
:
flex
;
justify-content
:
space-between
;
font-size
:
12px
;
color
:
#333333
;
margin-top
:
10px
;
align-items
:
center
;}
._explain
>
div
span
{
display
:
inline-block
;}
._remark
p
{
color
:
#1273BC
;
font-size
:
12px
;}
._remark
textarea
{
width
:
100%
;
height
:
100px
;
background
:
rgba
(
255
,
255
,
255
,
1
);
border
:
1px
solid
rgba
(
220
,
220
,
220
,
1
);
border-radius
:
4px
;
margin-top
:
10px
;
padding
:
15px
;}
._log_t
{
padding
:
10px
;}
._submit
{
height
:
50px
;
padding
:
10px
20px
;
width
:
830px
;
position
:
absolute
;
bottom
:
-50px
;
left
:
0
;
display
:
flex
;
background-color
:
white
;}
._submit
.btn-box
{
width
:
216px
;}
._submit
.chosenNextBox
{
flex
:
1
;
font-size
:
12px
;
height
:
30px
;
line-height
:
30px
;}
._submit
.chosenNextBox
.red
{
color
:
#C94052
;
margin-right
:
15px
;}
._submit
.el-input__inner
{
width
:
300px
!important
;}
._color_b
{
color
:
#333333
!important
;
font-size
:
12px
}
._font_size12
{
font-size
:
12px
!important
}
._addUpload_box
{
display
:
block
;
margin-top
:
15px
}
._addUpload_box
img
{
width
:
100%
;
height
:
100%
;
}
._addUpload_box
>
div
{
float
:
left
;
width
:
138px
;
height
:
92px
;
border
:
1px
dashed
rgba
(
210
,
210
,
210
,
1
);
border-radius
:
2px
;
cursor
:
pointer
;
margin-bottom
:
10px
;
padding
:
5px
;
margin-right
:
10px
;
position
:
relative
;
}
._addUpload_box
>
div
:hover
{
background-color
:
#f5f5f5
;
}
._addFile_name
{
padding-left
:
15px
;
max-width
:
450px
;
overflow
:
hidden
;
text-overflow
:
ellipsis
;
white-space
:
nowrap
;
}
._addUpload_box
.icon-guanbi1
{
font-size
:
12px
;
color
:
white
;
display
:
inline-block
;
margin-left
:
15px
;
position
:
absolute
;
right
:
-6px
;
top
:
-9px
;
background-color
:
#f56c6c
;
border-radius
:
50%
;
height
:
20px
;
width
:
20px
;
text-align
:
center
;
line-height
:
20px
;
}
._addUpload_box
.icon-guanbi1
:hover
{
font-size
:
12px
;
color
:
#c94052
;
}
._addUpload_box
.icon-excel
,
._addUpload_box
.icon-pdf
{
text-align
:
center
;
font-size
:
38px
;
color
:
green
;
line-height
:
75px
;
}
._show_img_box
{
position
:
fixed
;
background
:
rgba
(
0
,
0
,
0
,
.6
);
left
:
0
;
top
:
0
;
width
:
100%
;
height
:
100%
;
z-index
:
999
;
text-align
:
center
;}
._IsPublic
{
margin-left
:
0
;
margin-top
:
10px
;
}
._IsPublic
.el-radio__label
{
font-size
:
12px
;
}
._submit
.chosenNextBox
{
flex
:
1
;
font-size
:
12px
;
height
:
30px
;
line-height
:
30px
;}
._submit
.chosenNextBox
.red
{
color
:
#C94052
;
margin-right
:
15px
;}
._display_inline
{
display
:
inline
!important
;
}
._addUpload_tips
{
font-size
:
12px
;
color
:
#999999
;
}
._jump_page
{
cursor
:
pointer
;
text-decoration
:
underline
;
}
._jump_page
:hover
{
color
:
#c94052
;
}
._TCIDAndTCNUMList
{
display
:
flex
;
}
._TCIDAndTCNUMList
._TCIDAndTCNUMList_item
span
{
display
:
inline-block
;
padding-bottom
:
5px
;
}
._font_bold
{
font-weight
:
bold
;
}
._TCIDAndTCNUMList_item
{
max-width
:
160px
;
}
.page_addFD
._yewudanju
{
position
:
absolute
;
text-align
:
right
;
font-size
:
12px
;
right
:
15px
;
top
:
60px
;
}
.iconfont._delete_row
{
position
:
absolute
;
right
:
-30px
;
top
:
10px
;
cursor
:
pointer
;
}
.page_addFD
.el-radio
+
.el-radio
{
margin-left
:
20px
;
}
.page_addFD
.rb_top_row
input
{
font-size
:
12px
;
}
</
style
>
<
template
>
<div
class=
"page_addFD"
v-loading=
'loading'
>
<div
class=
"page_form"
>
<div
class=
"Receipt_box color_blur"
>
<el-popover
popper-class=
"detailsIT_Journal"
width=
"600"
placement=
"right-start"
trigger=
"click"
>
<div
class=
"InfoChangeLog"
>
<div
class=
"changLog"
>
<p
class=
"_log_t"
>
审批流程
</p>
<my-FlowChartModule
:data=
"AuditListData"
></my-FlowChartModule>
</div>
</div>
<span
slot=
"reference"
class=
"_flow_chart"
>
流程图
</span>
</el-popover>
<p
class=
"rb_tit"
>
{{
BillName
}}
(
<el-select
filterable
v-model=
'msg.RB_Branch_Id'
ref=
'CostTypeId'
@
change=
"admin_get_DepartmentGetList(msg.RB_Branch_Id)"
class=
"w120 _border_b_1"
>
<el-option
v-for=
'item in companyList'
:label=
'item.BName'
:value=
'item.Id'
:key=
'item.Id'
:disabled=
"item.disabled"
>
</el-option>
</el-select>
)
</p>
<p
class=
"rb_stit"
>
<span>
{{
BillSonName
}}
</span>
</p>
<p
class=
"_yewudanju"
v-if=
"OrderSource==8"
>
订单号:
<span
@
click=
"msg.OrderID>0?jumpPage('RegistrationList',GetDetail,8):''"
>
{{
msg
.
OrderID
==
0
?
'无'
:
msg
.
OrderID
}}
</span></p>
<div
class=
"rb_top_row _r_mb5"
>
<el-radio-group
v-model=
"msg.IsPublic"
@
change=
"IsPublicChange"
class=
"_IsPublic"
>
<el-radio
:label=
"1"
>
公账
</el-radio>
<el-radio
:label=
"0"
>
私账
</el-radio>
<el-radio
:label=
"2"
>
人民币现金
</el-radio>
<el-radio
:label=
"3"
>
外币现金
</el-radio>
<el-radio
:label=
"4"
>
资金池
</el-radio>
<el-radio
:label=
"5"
>
平台虚拟账户
</el-radio>
<!--
<el-radio
:label=
"3"
>
资金池
</el-radio>
-->
</el-radio-group>
</div>
<div
class=
"rb_top_row _r_mb5"
>
<p
>
付款对象:
<el-select
filterable
v-model=
'msg.ClientType'
placeholder=
"客户类型"
@
change=
"financeinfo_post_GetClientAccountList(msg.ClientType)"
class=
"w135 _border_b_1"
>
<el-option
v-for=
'item in ClientTypeList'
:label=
'item.Name'
:value=
'item.ID'
:key=
'item.ID'
>
</el-option>
</el-select>
<el-select
filterable
v-if=
"msg.ClientType==7"
v-model=
'msg.IsLeader'
placeholder=
"客户名称"
class=
"w135 _border_b_1"
>
<el-option
label=
'正式领队/导游'
:value=
'1'
:key=
'1'
>
</el-option>
<el-option
label=
'临时领队/导游'
:value=
'0'
:key=
'0'
>
</el-option>
</el-select>
<template
v-if=
"msg.ClientType==7&&msg.IsPublic!=2&&msg.IsPublic!=3"
>
<el-select
v-if=
"msg.IsLeader==1"
filterable
v-model=
'msg.ClientID'
placeholder=
"客户名称"
@
change=
"GetClientAccountList(msg.ClientID)"
class=
"w135 _border_b_1"
>
<el-option
v-for=
'item in ClientAccountList'
:label=
'item.Name'
:value=
'item.ID'
:key=
'item.ID'
>
</el-option>
</el-select>
</
template
>
<
template
v-if=
"msg.ClientType!=7&&msg.IsPublic!=2&&msg.IsPublic!=3"
>
<el-select
filterable
v-model=
'msg.ClientID'
placeholder=
"客户名称"
@
change=
"GetClientAccountList(msg.ClientID)"
class=
"w135 _border_b_1"
>
<el-option
v-for=
'item in ClientAccountList'
:label=
'item.Name'
:value=
'item.ID'
:key=
'item.ID'
>
</el-option>
</el-select>
</
template
>
<
template
v-if=
"(msg.IsPublic==2||msg.IsPublic==3)&&msg.IsLeader==1"
>
<el-input
v-model=
'msg.RemitterName'
placeholder=
"请输入名称"
class=
"w135 _border_b_1"
></el-input>
</
template
>
</p>
<p><span
class=
""
>
编号.
</span>
{{GetDetail.FrID==0?'待生成':GetDetail.FrID}}
</p>
</div>
<div
class=
"rb_top_row _r_mb5"
>
<
template
v-if=
"msg.IsPublic!=2&&msg.IsPublic!=3&&(msg.ClientType==7&&msg.IsLeader==1)"
>
<p>
付款账户:
<el-select
filterable
v-model=
'msg.AccountNumber'
placeholder=
"请选择付款账户"
class=
"w425 _border_b_1"
>
<el-option
v-for=
'item in ClientAccountListS'
:label=
'item.allName'
:value=
'item.allName'
:key=
'item.allName'
>
</el-option>
</el-select>
</p>
</
template
>
<
template
v-if=
"msg.ClientType!=7&&msg.IsPublic!=2&&msg.IsPublic!=3"
>
<p>
付款账户:
<el-select
filterable
v-model=
'msg.AccountNumber'
placeholder=
"请选择付款账户"
class=
"w425 _border_b_1"
>
<el-option
v-for=
'item in ClientAccountListS'
:label=
'item.allName'
:value=
'item.allName'
:key=
'item.allName'
>
</el-option>
</el-select>
</p>
</
template
>
<
template
v-if=
"msg.ClientType==7&&msg.IsLeader==0"
>
<p
>
领队名称:
<el-input
v-model=
'msg.RemitterName'
placeholder=
"请输入名称"
class=
"w425 _border_b_1"
></el-input>
</p>
</
template
>
<
template
v-if=
"(msg.IsPublic==2||msg.IsPublic==3)&&msg.IsLeader==1"
>
<p>
</p>
</
template
>
<p
class=
"_r_time"
><span>
{{yaer}}
</span>
年
<span>
{{month}}
</span>
月
<span>
{{dateS}}
</span>
日
<span>
{{timer}}
</span></p>
</div>
<table
class=
"Receipt_table"
border=
"1"
bordercolor=
"#106BAF"
style=
"border-collapse:collapse;"
>
<tr>
<th
rowspan=
"2"
width=
"150"
>
费 用 说 明
</th>
<th
rowspan=
"2"
>
数量
</th>
<th
rowspan=
"2"
>
单 价
</th>
<th
rowspan=
"2"
width=
"100"
>
币种
</th>
<th
colspan=
"3"
>
金额
</th>
<th
rowspan=
"2"
>
备注
</th>
</tr>
<tr>
<th
width=
"88"
>
原币
</th>
<th
width=
"50"
>
汇率
</th>
<th
width=
"88"
>
本位币
</th>
</tr>
<
template
v-for=
"(da,daIn) in msg.detailList"
>
<tr
v-if=
"!da.show"
@
click=
"showEdit(daIn)"
class=
"_color_b"
>
<td
height=
"26px"
>
{{
da
.
CostTypeName
}}
</td>
<td
height=
"26px"
>
{{
da
.
Number
}}
</td>
<td
height=
"26px"
>
{{
da
.
UnitPriceTo
}}
</td>
<td
height=
"26px"
>
{{
da
.
currenName
}}
</td>
<td
height=
"26px"
>
{{
da
.
yTotalPriceTo
}}
</td>
<td
height=
"26px"
>
{{
da
.
Rate
}}
</td>
<td
height=
"26px"
>
{{
da
.
bTotalPriceTo
}}
</td>
<td
height=
"26px"
>
{{
da
.
Remark
}}
</td>
</tr>
<tr
v-else
@
keyup
.
enter=
"addList(2,daIn+1)"
>
<td
height=
"26px"
>
<el-select
filterable
v-model=
'da.CostTypeId'
ref=
'CostTypeId'
placeholder=
"请选择费用说明"
@
change=
"getCostTypeName(detailList.CostTypeId),addList(2,daIn+1)"
class=
" _border_b_1"
>
<el-option
v-for=
'item in GetCostTypeList'
:label=
'item.Name'
:value=
'item.ID'
:key=
'item.ID'
>
</el-option>
</el-select>
</td>
<!-- return( /[\d]/.test(String.fromCharCode(evt.which?evt.which:window.event.keyCode))) -->
<!--
<td
height=
"26px"
><el-input
v-model=
"da.Number"
type=
"text"
onkeypress=
'return( /[\d]/.test(String.fromCharCode(event.keyCode)))'
@
blur=
"addList(2,daIn+1)"
@
change=
"Calculation(2,daIn+1)"
class=
"w80 _border_b_1"
></el-input></td>
<td
height=
"26px"
>
<input
v-model=
"da.UnitPrice"
type=
"text"
@
keydown=
"handleInput2"
@
blur=
"addList(2,daIn+1)"
@
change=
"Calculation(2,daIn+1)"
class=
"w80 h34 _border_b_1"
></input>
</td>
-->
<td
height=
"26px"
><el-input
v-model=
"da.Number"
type=
"text"
@
blur=
"addList(2,daIn+1)"
@
change=
"Calculation(2,daIn+1)"
class=
"w80 _border_b_1"
></el-input></td>
<td
height=
"26px"
>
<input
v-model=
"da.UnitPrice"
type=
"text"
@
blur=
"addList(2,daIn+1)"
@
change=
"Calculation(2,daIn+1)"
class=
"w80 h34 _border_b_1"
></input>
</td>
<td
height=
"26px"
>
<el-select
filterable
v-model=
'da.CurrencyId'
placeholder=
"请选择币种"
@
change=
"getRate(da.CurrencyId,2,daIn),addList(2,daIn+1)"
class=
" _border_b_1"
>
<el-option
v-for=
'item in coinGetList'
:label=
'item.Name'
:value=
'item.ID'
:key=
'item.ID'
>
</el-option>
</el-select>
</td>
<td
height=
"26px"
>
{{
da
.
yTotalPrice
}}
</td>
<td
height=
"26px"
><el-input
v-model=
"da.Rate"
type=
"text"
@
blur=
"addList(2,daIn+1)"
@
change=
"Calculation(2,daIn+1)"
class=
"w80 _border_b_1"
></el-input></td>
<td
height=
"26px"
>
{{
da
.
bTotalPrice
}}
</td>
<td
height=
"26px"
><el-input
v-model=
"da.Remark"
type=
"textarea"
class=
"w80 _border_b_1"
></el-input>
<i
@
click=
"deleteRow(daIn,da)"
class=
"_delete_row iconfont icon-img_delete_small"
></i></td>
</tr>
</
template
>
<tr
@
keyup
.
enter=
"addList(1)"
>
<td
>
<el-select
filterable
v-model=
'detailList.CostTypeId'
ref=
'CostTypeId'
placeholder=
"请选择费用说明"
@
change=
"getCostTypeName(detailList.CostTypeId),addList(1)"
class=
" _border_b_1"
>
<el-option
v-for=
'item in GetCostTypeList'
:label=
'item.Name'
:value=
'item.ID'
:key=
'item.ID'
>
</el-option>
</el-select>
</td>
<!-- <td>
<el-input v-model="detailList.Number" type="text" onkeypress='return( /[\d]/.test(String.fromCharCode(event.keyCode)))' @blur="addList(1)" @change="Calculation(1)" class="w80 _border_b_1"></el-input>
</td>
<td>
<input v-model="detailList.UnitPrice" type="text" @keydown="handleInput2" @blur="addList(1)" @change="Calculation(1)" class="w80 h34 _border_b_1"></input>
</td> -->
<td>
<el-input
v-model=
"detailList.Number"
type=
"text"
@
blur=
"addList(1)"
@
change=
"Calculation(1)"
class=
"w80 _border_b_1"
></el-input>
</td>
<td>
<input
v-model=
"detailList.UnitPrice"
type=
"text"
@
blur=
"addList(1)"
@
change=
"Calculation(1)"
class=
"w80 h34 _border_b_1"
></input>
</td>
<td>
<el-select
filterable
v-model=
'detailList.CurrencyId'
placeholder=
"请选择币种"
@
change=
"getRate(detailList.CurrencyId,1),addList(1)"
class=
" _border_b_1"
>
<el-option
v-for=
'item in coinGetList'
:label=
'item.Name'
:value=
'item.ID'
:key=
'item.ID'
>
</el-option>
</el-select>
</td>
<td>
{{detailList.yTotalPrice}}
</td>
<td><el-input
v-model=
"detailList.Rate"
type=
"text"
@
blur=
"addList(1)"
@
change=
"Calculation(1)"
class=
"w80 _border_b_1"
></el-input></td>
<td>
{{detailList.bTotalPrice}}
</td>
<td><el-input
v-model=
"detailList.Remark"
type=
"textarea"
@
blur=
"addList(1)"
class=
"w80 _border_b_1"
></el-input></td>
</tr>
<tr
v-if=
"msg.detailList.length<2"
>
<td
height=
"26px"
></td>
<td
height=
"26px"
></td>
<td
height=
"26px"
></td>
<td
height=
"26px"
></td>
<td
height=
"26px"
></td>
<td
height=
"26px"
></td>
<td
height=
"26px"
></td>
<td
height=
"26px"
></td>
</tr>
<tr
v-if=
"msg.detailList.length<3"
>
<td
height=
"26px"
></td>
<td
height=
"26px"
></td>
<td
height=
"26px"
></td>
<td
height=
"26px"
></td>
<td
height=
"26px"
></td>
<td
height=
"26px"
></td>
<td
height=
"26px"
></td>
<td
height=
"26px"
></td>
</tr>
<tr
v-if=
"msg.detailList.length<4"
>
<td
height=
"26px"
></td>
<td
height=
"26px"
></td>
<td
height=
"26px"
></td>
<td
height=
"26px"
></td>
<td
height=
"26px"
></td>
<td
height=
"26px"
></td>
<td
height=
"26px"
></td>
<td
height=
"26px"
></td>
</tr>
<tr>
<td>
实付金额
<br/><span
class=
"_font_size12"
>
(大写)
</span></td>
<td
colspan=
"3"
>
{{chinaAllPrice}}
</td>
<td>
实付金额
<br/><span
class=
"_font_size12"
>
(小写)
</span></td>
<td
colspan=
"3"
>
{{allPriceTo}}
</td>
</tr>
<tr>
<td>
预计付款日期
</td>
<td
colspan=
"7"
>
<el-date-picker
clearable
class=
"w190 _border_b_1"
v-model=
"msg.PayDate"
type=
"datetime"
placeholder=
"选择日期时间"
align=
"right"
>
</el-date-picker>
</td>
</tr>
</table>
<div
class=
"rb_top_row _r_mt10"
>
<
template
v-for=
"(item,index) in newAuditList"
>
<p>
{{
item
.
AuditDescription
}}
:
<span
class=
"_r_name"
></span>
</p>
</
template
>
<p>
业务员:
<span
class=
"_r_name _jump_page"
>
{{emplyeeName}}
</span>
</p>
</div>
<div
class=
"_explain"
>
<p>
附加说明
</p>
<div>
<p>
费用归属部门:
<span><el-select
filterable
v-model=
'msg.RB_Depart_Id'
class=
"w135 _border_b_1"
>
<el-option
v-for=
'item in departmentList'
:label=
'item.DepartmentName'
:value=
'item.DepartmentID'
:key=
'item.DepartmentID'
>
</el-option>
</el-select></span></p>
<!-- <p class="_TCIDAndTCNUMList">
<span>
团队编号:
</span>
<template v-if="msg.TCIDList&&msg.TCIDList.length>0">
<p class="_TCIDAndTCNUMList_item"><span v-for="(i,ix) in msg.TCIDList" class="_jump_page _font_bold" @click="jumpPage('productQuery',i,1)">{{i}} <span v-if="ix!=msg.TCIDList.length-1">,</br></span></span></p>
</template>
<template v-else>
<span>无</span>
</template>
</p>
<p v-if="msg.TCIDAndTCNUMList.length==1" @click="jumpPage('TeamBalancePayment',msg.TCIDAndTCNUMList,5)" class="_jump_page _font_bold">团队收支</p>
<p v-if="msg.TCIDAndTCNUMList.length>1" @click="jumpPage('TeamBalancePayment',msg.TCIDAndTCNUMList,6)" class="_jump_page _font_bold">团队收支</p>
<template v-if="GetDetail.FrID==0">
<p v-if="orderObj.OrderSource==9&&orderObj.SourceID>0">国内票务:<span class="_jump_page _font_bold" @click="jumpPage('SettlementOrder',orderObj,2)">{{orderObj.SourceID}}</span></p>
<p v-if="orderObj.OrderSource==10&&orderObj.SourceID>0">签证:<span class="_jump_page _font_bold" @click="jumpPage('VisaProductCopy',orderObj,3)">{{orderObj.SourceID}}</span></p>
<p v-if="OrderSource==4&&orderObj.SourceID>0" class="_TCIDAndTCNUMList">
<span>机票收支:</span>
<span class="_TCIDAndTCNUMList_item">
<span v-for="(i,ix) in orderObj.TCIDAndTCNUMList" class="_jump_page _font_bold _font_bold" @click="jumpPage('FinancialOrder',orderObj,4)">{{i.TCNUM}}({{orderObj.SourceID}})
<span v-if="ix!=orderObj.TCIDAndTCNUMList.length-1">,</br></span>
</span>
</span>
<p class="_TCIDAndTCNUMList_item">
<template v-for="(i,ix) in orderObj.TCIDAndTCNUMList">
<span class="_jump_page _font_bold" @click="jumpPage('FinancialOrder',orderObj,4)">{{i.TCNUM}}({{orderObj.SourceID}}) </span>
<span v-if="ix!=orderObj.TCIDAndTCNUMList.length-1"></br></span>
</template>
</p>
</p>
<p v-if="orderObj.OrderSource==4&&orderObj.SourceID>0" @click="jumpPage('FinancialOrder',orderObj.SourceID,4)" class="_jump_page _font_bold">机票收支</p>
</template> -->
<
template
v-if=
"GetDetail.FrID!=0"
>
<p
v-if=
"GetDetail.OrderSource==9&&GetDetail.SourceID>0"
>
国内票务:
<span
class=
"_jump_page _font_bold"
@
click=
"jumpPage('SettlementOrder',GetDetail,2)"
>
{{
GetDetail
.
SourceID
}}
</span></p>
<p
v-if=
"GetDetail.OrderSource==10&&GetDetail.SourceID>0"
>
签证:
<span
class=
"_jump_page _font_bold"
@
click=
"jumpPage('VisaProductCopy',GetDetail,3)"
>
{{
GetDetail
.
SourceID
}}
</span></p>
<div
v-if=
"OrderSource==4&&GetDetail.SourceID>0"
class=
"_TCIDAndTCNUMList"
>
<span>
机票收支:
</span>
<p
class=
"_TCIDAndTCNUMList_item"
>
<template
v-for=
"(i,ix) in GetDetail.TCIDAndTCNUMList"
>
<span
class=
"_jump_page _font_bold"
@
click=
"jumpPage('FinancialOrder',GetDetail,4)"
>
{{
i
.
TCNUM
}}
(
{{
GetDetail
.
SourceID
}}
)
</span>
<span
v-if=
"ix!=GetDetail.TCIDAndTCNUMList.length-1"
><br/></span>
</
template
>
</p>
</div>
<!-- <p v-if="GetDetail.OrderSource==4&&GetDetail.SourceID>0" @click="jumpPage('FinancialOrder',GetDetail.SourceID,4)" class="_jump_page _font_bold">机票收支</p> -->
</template>
</div>
</div>
<div
class=
"_remark"
>
<p>
描述
</p>
<textarea
v-model=
"msg.Description"
>
</textarea>
</div>
<div>
<div
v-if=
"IsUploadPic===1"
>
<p>
上传附件
<span
class=
"_addUpload_tips"
>
(单个附件大小不得超过10M)
</span></p>
<!-- <el-upload
:http-request="uploadFileBtn"
:multiple="true" :show-file-list="false" action="">
<el-button size="small" type="danger" icon="el-icon-upload2">上传</el-button>
</el-upload> -->
<div
class=
"_addUpload_box clearfix"
>
<
template
v-for=
"(file,fIndex) in saveMsg"
>
<div
v-if=
"file.Type==3"
>
<div
style=
"width:100%;height:100%;overflow: hidden;"
>
<img
:src=
"file.Url?file.Url:file.Content"
@
click=
"showUpLoadFile(file)"
>
</div>
<span
class=
"iconfont icon-guanbi1"
@
click=
"deleteUploadFile(fIndex)"
></span>
</div>
<div
v-if=
"file.Type==1"
>
<div
class=
"iconfont "
:class=
"file.Content.substring(file.Content.lastIndexOf('.')+1,file.Content.length).toUpperCase()=='PDF'? 'icon-pdf' : 'icon-excel'"
@
click=
"showUpLoadFile(file)"
>
</div>
<span
class=
"iconfont icon-guanbi1"
@
click=
"deleteUploadFile(fIndex)"
></span>
</div>
<div
v-if=
"file.Type==2"
>
<div
class=
"iconfont icon-excel"
@
click=
"showUpLoadFile(file)"
>
</div>
<span
class=
"iconfont icon-guanbi1"
@
click=
"deleteUploadFile(fIndex)"
></span>
</div>
</
template
>
<div
class=
"_pic_upload"
>
<el-upload
drag
:http-request=
"uploadFileBtn"
:multiple=
"true"
:show-file-list=
"false"
action=
""
>
<i
class=
"el-icon-plus avatar-uploader-icon"
></i>
<div
class=
"el-upload__text"
>
点击/拖拽上传
</div>
</el-upload>
</div>
</div>
</div>
<div
class=
"_submit"
>
<div
class=
"chosenNextBox"
>
<div
v-if=
'resultCode==11019 || ((EmployeeId===755 || EmployeeId===400) && (msg.RB_Branch_Id&& msg.RB_Branch_Id!=0))'
>
<label>
下一步:
<span
class=
"red"
>
{{msg.AuditDescription}}
</span></label>
<el-select
size=
"mini"
style=
"width:300px"
v-model=
"chosenPeople"
multiple
filterable
remote
reserve-keyword
placeholder=
"请选择下一步审批人"
:remote-method=
"remoteMethod"
:loading=
"loadingPeople"
>
<el-option
v-for=
"item in peopleData"
:key=
"item.empId"
:label=
"`${item.name}`"
:value=
"item.empId"
>
<span
style=
"float: left; font-size: 12px"
>
{{ item.name }}
</span>
<span
style=
"float: right; font-size: 12px; margin-right:20px;"
>
{{ item.departmentName }}
</span>
</el-option>
</el-select>
</div>
</div>
<button
class=
"normalBtn"
v-if=
"GetDetail.Status==0||GetDetail.Status==3||msg.FrID==0"
@
click=
"AddFinancial(1)"
>
暂存
</button>
<button
class=
"normalBtn"
@
click=
"AddFinancial()"
>
提交
</button>
<button
class=
"hollowFixedBtn"
@
click=
"AuditOrRefund()"
>
返回
</button>
</div>
</div>
<div
v-if=
'picIsShow'
class=
"_show_img_box"
@
click=
"picIsShow=false,picObj=[]"
>
<div
style=
"position: absolute; width: 800px; height: 600px; left: 50%; top: 50%; margin-left: -400px; margin-top: -300px;"
>
<el-carousel
:initial-index=
initialIndex
height=
"600px"
:interval=
"5000"
trigger=
"click"
>
<el-carousel-item
style=
"height: 600px;overflow:auto;"
v-for=
"(item,index) in picObj"
:key=
"index"
>
<img
:src=
"item"
style=
""
/>
</el-carousel-item>
</el-carousel>
</div>
</div>
</div>
</div>
</div>
</template>
<
script
>
import
myFlowChartModule
from
"./FinancialSubmodule/FlowChartModule.vue"
;
export
default
{
data
(){
return
{
msg
:{
FrID
:
0
,
ClientType
:
''
,
ClientID
:
''
,
RemitterName
:
''
,
AccountNumber
:
''
,
TradeDate
:
''
,
TCID
:
0
,
OrderID
:
0
,
OrderSource
:
0
,
TemplateId
:
0
,
Description
:
''
,
detailList
:[],
RB_Branch_Id
:
''
,
RB_Depart_Id
:
''
,
Status
:
1
,
URL
:
this
.
$route
.
query
.
path
,
vorcherInos
:[],
IsPublic
:
1
,
Cmd
:
''
,
emList
:[],
TCIDList
:[],
Obj
:{},
SourceID
:
0
,
TCIDAndTCNUMList
:[],
IsLeader
:
1
,
PayDate
:
''
,
CallType
:
0
},
detailList
:{
ID
:
0
,
UnitPrice
:
''
,
UnitPriceTo
:
''
,
Number
:
''
,
Rate
:
''
,
CostTypeId
:
''
,
CurrencyId
:
''
,
Remark
:
''
,
CostTypeName
:
''
,
yTotalPrice
:
''
,
yTotalPriceTo
:
''
,
bTotalPrice
:
''
,
bTotalPriceTo
:
''
,
show
:
false
,
},
ClientTypeList
:[],
ClientAccountList
:[],
GetCostTypeList
:[],
ClientAccountListS
:[],
coinGetList
:[],
yaer
:
''
,
month
:
''
,
dateS
:
''
,
AuditListData
:{
AuditList
:[]
},
newAuditList
:[],
peopleData
:[],
BillName
:
''
,
BillSonName
:
''
,
department
:
''
,
emplyeeName
:
''
,
allPrice
:
0
,
allPriceTo
:
''
,
chinaAllPrice
:
this
.
$commonUtils
.
changeMoneyToChinese
(
this
.
allPrice
),
DepartIDs
:
'0'
,
GetDetail
:{},
loading
:
false
,
returnCode
:
''
,
RB_Branch_id
:
''
,
departmentMsg
:
{
RB_Group_Id
:
'0'
,
RB_Branch_Id
:
'-1'
,
Status
:
'0'
,
ParentId
:
'-1'
,
Tier
:
'0'
,
},
companyMsg
:{
RB_Group_Id
:
'0'
,
Status
:
0
,
},
departmentList
:[],
companyList
:[],
orderObj
:
null
,
IsUploadPic
:
0
,
headers
:
{
'Content-Type'
:
'application/octet-stream'
},
saveMsg
:[],
picIsShow
:
false
,
picObj
:[],
initialIndex
:
0
,
loadingPeople
:
false
,
chosenPeople
:[],
OrderSource
:
null
,
timer
:
''
,
leaderType
:
1
,
resultCode
:
null
,
EmployeeId
:
0
}
},
methods
:{
deleteRow
(
i
,
obj
){
obj
.
show
=
false
;
this
.
msg
.
detailList
.
splice
(
i
,
1
);
this
.
$forceUpdate
();
},
IsPublicChange
(){
// if(this.msg.IsPublic==2||this.msg.IsPublic==3){
// this.msg.AccountNumber = '';
// }
this
.
msg
.
ClientType
=
''
;
this
.
msg
.
ClientID
=
''
;
this
.
msg
.
AccountNumber
=
''
;
},
jumpPage
(
path
,
obj
,
type
){
//生成单据时连带信息跳转
if
(
type
==
1
){
// let routeData = this.$router.resolve({
// name: path,
// query: { TCIDList: obj}
// });
// window.open(routeData.href, "_blank");
this
.
$router
.
push
({
name
:
path
,
query
:
{
TCIDList
:
obj
,
blank
:
'y'
}
})
}
else
if
(
type
==
2
){
// let routeData = this.$router.resolve({
// name: path,
// query: { ID: obj}
// });
// window.open(routeData.href, "_blank");
this
.
$router
.
push
({
name
:
path
,
query
:
{
ID
:
obj
,
blank
:
'y'
}
})
}
else
if
(
type
==
3
){
// let routeData = this.$router.resolve({
// name: path,
// query: { ID: obj}
// });
// window.open(routeData.href, "_blank");
this
.
$router
.
push
({
name
:
path
,
query
:
{
ID
:
obj
,
blank
:
'y'
}
})
}
else
if
(
type
==
4
){
// let routeData = this.$router.resolve({
// name: path,
// query: { OrderSource: obj.OrderSource,SourceID: obj.SourceID}
// });
// window.open(routeData.href, "_blank");
this
.
$router
.
push
({
name
:
path
,
query
:
{
OrderSource
:
obj
.
OrderSource
,
SourceID
:
obj
.
SourceID
,
blank
:
'y'
}
})
}
else
if
(
type
==
5
){
// let routeData = this.$router.resolve({
// name: path,
// query: { id:obj[0].TCID,OutBranchId:obj.RB_Branch_Id}
// });
// window.open(routeData.href, "_blank");
this
.
$router
.
push
({
name
:
path
,
query
:
{
id
:
obj
[
0
].
TCID
,
OutBranchId
:
obj
.
RB_Branch_Id
,
blank
:
'y'
}
})
}
else
if
(
type
==
6
){
// let routeData = this.$router.resolve({
// name: path,
// query: { id:obj,OutBranchId:obj.RB_Branch_Id,'CloseIncomeBtn':true}
// });
// window.open(routeData.href, "_blank");
this
.
$router
.
push
({
name
:
path
,
query
:
{
id
:
obj
,
OutBranchId
:
obj
.
RB_Branch_Id
,
'CloseIncomeBtn'
:
true
,
blank
:
'y'
}
})
}
else
if
(
type
==
7
){
// let routeData = this.$router.resolve({
// name: path,
// query: { id:id,isShow:false}
// });
// window.open(routeData.href, "_blank");
this
.
$router
.
push
({
name
:
path
,
query
:
{
id
:
id
,
isShow
:
false
,
blank
:
'y'
}
})
}
else
if
(
type
==
8
){
// let routeData = this.$router.resolve({
// name: path,
// query: { id:id,orderID:this.msg.OrderID,isShow:false}
// });
// window.open(routeData.href, "_blank");
this
.
$router
.
push
({
name
:
path
,
query
:
{
id
:
id
,
orderID
:
this
.
msg
.
OrderID
,
isShow
:
false
,
blank
:
'y'
}
})
}
else
if
(
type
==
9
){
// let routeData = this.$router.resolve({
// name: path,
// query: { id:this.msg.OrderID,EmployeeId:this.EmployeeId,isOwn:false}
// });
// window.open(routeData.href, "_blank");
this
.
$router
.
push
({
name
:
path
,
query
:
{
id
:
this
.
msg
.
OrderID
,
EmployeeId
:
this
.
EmployeeId
,
isOwn
:
false
,
blank
:
'y'
}
})
}
},
remoteMethod
(
query
)
{
if
(
query
!==
''
)
{
this
.
loadingPeople
=
true
this
.
apipost
(
'admin_Get_Chat_All_SelectEmpName'
,{
EmName
:
query
},
res
=>
{
if
(
res
.
data
.
resultCode
==
1
)
{
this
.
peopleData
=
res
.
data
.
data
}
this
.
loadingPeople
=
false
},
err
=>
{})
}
else
{
this
.
peopleData
=
[];
}
},
showUpLoadFile
(
i
){
// 预览上传文件
if
(
i
.
Type
==
3
){
this
.
picObj
.
push
(
i
.
Url
);
this
.
picIsShow
=
true
;
}
else
{
if
(
i
.
Content
.
substring
(
i
.
Content
.
lastIndexOf
(
'.'
)
+
1
,
i
.
Content
.
length
).
toUpperCase
()
==
'PDF'
){
this
.
previewPDF
(
i
.
Url
)
}
else
{
window
.
open
(
"https://view.officeapps.live.com/op/view.aspx?src="
+
i
.
Url
)
}
}
},
deleteUploadFile
(
i
){
// 删除上传文件
this
.
saveMsg
.
splice
(
i
,
1
);
},
uploadFileBtn
(
file
)
{
//上传
if
(
file
.
file
.
size
>
1024
*
1024
*
10
)
{
this
.
$message
.
warning
(
'文件大小不能超过10M!'
)
return
}
// 1 文档 2 数据 3 图片
let
typeArr
=
[
{
stringArr
:
'GIF|JPG|JPEG|PNG|BMP'
,
type
:
3
},
{
stringArr
:
'DOCX|DOC|XLSX|XLS|PPT|PPTX|PDF'
,
type
:
1
},
]
let
ft
=
file
.
file
.
name
.
substring
(
file
.
file
.
name
.
lastIndexOf
(
'.'
)
+
1
,
file
.
file
.
name
.
length
).
toUpperCase
();
let
fileTypeNumber
=
2
;
let
typeOk
=
false
;
typeArr
.
forEach
(
x
=>
{
if
(
x
.
stringArr
.
indexOf
(
ft
)
!=
'-1'
)
{
fileTypeNumber
=
x
.
type
;
typeOk
=
true
;
}
})
if
(
!
typeOk
)
return
this
.
$message
.
error
(
'请上传图片、word、excel类型的文件!'
);
let
newArr
=
[];
newArr
.
push
(
file
.
file
)
let
path
=
"/Upload/Temporary/"
this
.
$message
.
info
(
'上传中...'
)
this
.
uploadFile
(
path
,
newArr
,
x
=>
{
let
fileSize
=
file
.
file
.
size
<
1024
?
file
.
file
.
size
:(
file
.
file
.
size
/
1024
).
toFixed
(
0
);
this
.
saveMsg
.
push
({
Content
:
x
.
name
,
ID
:
0
,
Type
:
fileTypeNumber
,
Url
:
x
.
res
.
requestUrls
[
0
].
split
(
"?"
)[
0
],
})
this
.
$message
.
success
(
'上传成功'
);
});
},
AuditOrRefund
(){
this
.
MsgBus
.
$emit
(
'msg'
);
// this.$router.push({
// name:'FinancialDocuments',
// query:{"returnCode":this.returnCode,"pageIndex":this.$route.query.pageIndex?this.$route.query.pageIndex:1}});
},
handleInput2
(
e
)
{
e
.
target
.
value
=
(
e
.
target
.
value
.
match
(
/^
\d
*
(\.?\d{0,1})
/g
)[
0
])
||
null
},
AddFinancial
(
z
){
//保存
if
(
z
){
this
.
msg
.
Status
=
0
;
}
else
{
this
.
msg
.
Status
=
1
;
if
(
this
.
msg
.
detailList
.
length
<
1
)
return
this
.
$message
.
error
(
'请填写至少一项费用说明!'
);
if
(
this
.
msg
.
PayDate
===
''
)
return
this
.
$message
.
error
(
'请选择预计付款时间!'
);
}
if
(
this
.
msg
.
ClientType
===
''
)
return
this
.
$message
.
error
(
'请选择付款对象!'
);
// IsPublic 2 现金 IsLeader 0 临时领队
if
(
this
.
msg
.
IsPublic
<
2
&&
this
.
IsLeader
===
1
){
if
(
this
.
msg
.
ClientID
===
''
)
return
this
.
$message
.
error
(
'请选择客户名称!'
);
if
(
this
.
msg
.
AccountNumber
===
''
)
return
this
.
$message
.
error
(
'请选择付款账户!'
);
}
else
{
}
// if(this.msg.ClientID=='')return this.$message.error('请选择客户名称!');
// if(this.msg.IsPublic!=2 && this.IsLeader!=0){
// if(this.msg.AccountNumber=='')return this.$message.error('请选择付款账户!');
// }
if
(
this
.
msg
.
IsHave
==
0
&&
this
.
chosenPeople
.
length
==
0
)
return
this
.
$message
.
error
(
'请选择下一步审核人'
);
if
(
!
this
.
msg
.
RB_Depart_Id
)
return
this
.
$message
.
error
(
'请选择制单部门!'
);
delete
this
.
msg
.
DetailList
;
delete
this
.
msg
.
VorcherInos
;
this
.
msg
.
vorcherInos
=
this
.
saveMsg
;
this
.
msg
.
emList
=
this
.
chosenPeople
;
if
(
this
.
orderObj
){
this
.
msg
.
VisaIds
=
this
.
orderObj
.
VisaIds
?
this
.
orderObj
.
VisaIds
:
''
;
}
this
.
msg
.
detailList
.
forEach
(
x
=>
{
delete
x
.
rate
;
});
this
.
loading
=
true
;
this
.
apipost
(
'Financial_post_Set'
,
this
.
msg
,
res
=>
{
if
(
res
.
data
.
resultCode
==
1
){
this
.
$confirm
(
'操作成功,是否继续制单?'
,
'提示'
,
{
confirmButtonText
:
'继续制单'
,
cancelButtonText
:
'不了,谢谢'
,
type
:
'warning'
}).
then
(()
=>
{
this
.
$router
.
push
({
name
:
'addFinancialDocuments'
,
query
:{
"id"
:
this
.
$route
.
query
.
id
,
"Name"
:
this
.
$route
.
query
.
Name
,
"Type"
:
this
.
$route
.
query
.
Type
,
"orderObj"
:
this
.
$route
.
query
.
orderObj
,
'IsUploadPic'
:
this
.
$route
.
query
.
IsUploadPic
,
'companyID'
:
this
.
$route
.
query
.
companyID
}})
}).
catch
(()
=>
{
this
.
$router
.
push
({
name
:
'FinancialDocuments'
,
query
:{
'Type'
:
this
.
$route
.
query
.
Type
}})
;
});
}
else
{
this
.
resultCode
=
res
.
data
.
resultCode
;
this
.
$message
.
error
(
res
.
data
.
message
);
}
this
.
loading
=
false
;
},
err
=>
{})
},
FinancialFlowTemplate_post_GetProcessList
(
id
){
this
.
apipost
(
'FinancialFlowTemplate_post_GetProcessList'
,{
ID
:
id
,
WorkFlowID
:
0
,
TemplateType
:
0
},
res
=>
{
if
(
res
.
data
.
resultCode
==
1
){
res
.
data
.
data
.
forEach
(
y
=>
{
y
.
contentTips
=
y
.
AuditDescription
+
(
y
.
AuditWay
==
"2"
?
'(会签)'
:
'(或签)'
)
})
this
.
AuditListData
.
AuditList
=
res
.
data
.
data
;
let
data
=
JSON
.
parse
(
JSON
.
stringify
(
this
.
AuditListData
.
AuditList
));
this
.
newAuditList
=
data
.
reverse
();
}
else
{}
},
err
=>
{})
},
showEdit
(
i
){
// 修改
this
.
$forceUpdate
();
this
.
msg
.
detailList
[
i
].
show
=
true
;
this
.
$set
(
this
.
msg
.
detailList
,
i
,
this
.
msg
.
detailList
[
i
]);
},
addList
(
t
,
i
){
// 添加
console
.
log
(
'离开了tr................'
)
let
list
=
{};
if
(
t
==
2
&&
i
){
list
=
JSON
.
parse
(
JSON
.
stringify
(
this
.
msg
.
detailList
[
i
-
1
]));
}
else
{
list
=
JSON
.
parse
(
JSON
.
stringify
(
this
.
detailList
));
}
if
(
list
.
CostTypeId
==
''
)
return
if
(
list
.
Number
==
''
)
return
if
(
list
.
UnitPrice
==
''
)
return
if
(
list
.
CurrencyId
==
''
)
return
if
(
t
==
2
&&
i
){
list
.
show
=
false
;
this
.
msg
.
detailList
[
i
-
1
]
=
list
;
}
else
{
this
.
msg
.
detailList
.
push
(
list
);
}
let
allPrice
=
0
this
.
msg
.
detailList
.
forEach
(
x
=>
{
allPrice
=
allPrice
+
parseFloat
(
x
.
bTotalPrice
);
})
this
.
allPrice
=
allPrice
;
this
.
allPriceTo
=
this
.
$commonUtils
.
addCommas
(
this
.
allPrice
.
toFixed
(
2
))
this
.
chinaAllPrice
=
this
.
$commonUtils
.
changeMoneyToChinese
(
this
.
allPrice
)
this
.
detailList
=
{
ID
:
0
,
UnitPrice
:
''
,
UnitPriceTo
:
''
,
Number
:
''
,
Rate
:
''
,
CostTypeId
:
''
,
CurrencyId
:
''
,
Remark
:
''
,
CostTypeName
:
''
,
yTotalPrice
:
''
,
yTotalPriceTo
:
''
,
bTotalPrice
:
''
,
bTotalPriceTo
:
''
,
show
:
false
,
}
},
Calculation
(
t
,
i
){
// 计算原币 本位币
let
numberC
=
0
;
let
price
=
0
;
let
rate
=
0
;
if
(
t
==
2
&&
i
){
numberC
=
parseFloat
(
this
.
msg
.
detailList
[
i
-
1
].
Number
);
price
=
parseFloat
(
this
.
msg
.
detailList
[
i
-
1
].
UnitPrice
);
rate
=
parseFloat
(
this
.
msg
.
detailList
[
i
-
1
].
Rate
);
if
(
price
==
0
){
price
=
''
;
this
.
msg
.
detailList
[
i
-
1
].
UnitPrice
=
''
;
}
if
(
numberC
&&
price
){
this
.
msg
.
detailList
[
i
-
1
].
UnitPriceTo
=
this
.
$commonUtils
.
addCommas
(
price
.
toFixed
(
2
))
this
.
msg
.
detailList
[
i
-
1
].
yTotalPrice
=
numberC
*
price
;
this
.
msg
.
detailList
[
i
-
1
].
yTotalPriceTo
=
this
.
$commonUtils
.
addCommas
(
this
.
msg
.
detailList
[
i
-
1
].
yTotalPrice
.
toFixed
(
2
));
if
(
!
isNaN
(
rate
)){
let
num
=
(
numberC
*
price
)
*
rate
;
num
=
num
.
toFixed
(
2
);
this
.
msg
.
detailList
[
i
-
1
].
bTotalPrice
=
num
;
this
.
msg
.
detailList
[
i
-
1
].
bTotalPriceTo
=
this
.
$commonUtils
.
addCommas
(
num
)
}
}
}
else
{
numberC
=
parseFloat
(
this
.
detailList
.
Number
);
price
=
parseFloat
(
this
.
detailList
.
UnitPrice
);
rate
=
parseFloat
(
this
.
detailList
.
Rate
);
if
(
price
==
0
){
price
=
''
;
this
.
detailList
.
UnitPrice
=
''
;
}
if
(
numberC
&&
price
){
this
.
detailList
.
UnitPriceTo
=
this
.
$commonUtils
.
addCommas
(
price
.
toFixed
(
2
))
this
.
detailList
.
yTotalPrice
=
numberC
*
price
;
this
.
detailList
.
yTotalPriceTo
=
this
.
$commonUtils
.
addCommas
(
this
.
detailList
.
yTotalPrice
.
toFixed
(
2
));
if
(
!
isNaN
(
rate
)){
let
num
=
(
numberC
*
price
)
*
rate
;
num
=
num
.
toFixed
(
2
);
this
.
detailList
.
bTotalPrice
=
num
;
this
.
detailList
.
bTotalPriceTo
=
this
.
$commonUtils
.
addCommas
(
num
)
}
}
}
},
getCostTypeName
(
i
){
// 根据支出费用类型获取费用类型名称 列表展示用
this
.
GetCostTypeList
.
forEach
(
x
=>
{
if
(
x
.
ID
==
i
){
this
.
detailList
.
CostTypeName
=
x
.
Name
;
}
})
},
getRate
(
i
,
t
,
index
){
// 根据选择币种获取汇率
this
.
coinGetList
.
forEach
(
x
=>
{
if
(
x
.
ID
==
i
){
if
(
t
==
1
){
this
.
detailList
.
Rate
=
x
.
CurrentRate
;
this
.
detailList
.
currenName
=
x
.
Name
;
}
else
{
console
.
log
(
x
)
this
.
msg
.
detailList
[
index
].
Rate
=
x
.
CurrentRate
;
this
.
msg
.
detailList
[
index
].
currenName
=
x
.
Name
;
}
this
.
$forceUpdate
();
}
})
this
.
Calculation
(
t
,
index
+
1
)
},
financeinfo_post_GetClientTypeList
(){
// 获取对象类型
this
.
apipost
(
'financeinfo_post_GetClientTypeList'
,{},
res
=>
{
if
(
res
.
data
.
resultCode
==
1
)
{
this
.
ClientTypeList
=
res
.
data
.
data
;
}
},
err
=>
{})
},
GetClientAccountList
(
i
){
//获取客户名称并且根据费用类型和付款对象获取客户账号
this
.
msg
.
AccountNumber
=
''
;
this
.
ClientAccountList
.
forEach
(
x
=>
{
if
(
x
.
ID
==
i
){
this
.
msg
.
RemitterName
=
x
.
Name
;
this
.
financeinfo_post_GetClientAccountList
(
this
.
msg
.
ClientType
,
x
.
ID
);
}
})
},
financeinfo_post_GetClientAccountList
(
t
,
i
){
//获取付款 对象类型 新增用
let
msg
=
{
ID
:
0
,
Type
:
t
,
ObjID
:
0
,
CardNum
:
''
}
if
(
i
){
msg
.
ID
=
i
;
}
else
{
this
.
msg
.
ClientID
=
''
;
this
.
msg
.
AccountNumber
=
''
;
this
.
msg
.
RemitterName
=
''
;
this
.
msg
.
IsLeader
=
1
;
}
this
.
apipost
(
'financeinfo_post_GetClientAccountList'
,
msg
,
res
=>
{
if
(
res
.
data
.
resultCode
==
1
)
{
let
data
=
res
.
data
.
data
;
let
ClientAccountList
=
[];
if
(
i
){
data
.
forEach
(
x
=>
{
let
obj
=
{
ID
:
x
.
ID
,
Name
:
x
.
AccountHolder
+
+
`(
${
x
.
AccountAlias
}
)`
,
Nom
:
x
.
CardNum
,
OpenBankName
:
x
.
OpenBankName
,
allName
:
x
.
CardNum
+
" "
+
x
.
OpenBankName
,
ObjID
:
x
.
ObjID
,
}
ClientAccountList
.
push
(
obj
)
})
this
.
ClientAccountListS
=
ClientAccountList
;
}
else
{
data
.
forEach
(
x
=>
{
let
obj
=
{
ID
:
x
.
ID
,
Name
:
x
.
AccountHolder
+
`(
${
x
.
AccountAlias
}
)`
,
Nom
:
x
.
CardNum
,
OpenBankName
:
x
.
OpenBankName
,
ObjID
:
x
.
ObjID
,
}
ClientAccountList
.
push
(
obj
)
})
this
.
ClientAccountList
=
ClientAccountList
;
}
}
},
err
=>
{})
},
financeinfo_post_GetClientAccountListEdit
(
t
){
//获取付款 对象类型 修改用
let
msg
=
{
Type
:
t
,
ObjID
:
0
,
CardNum
:
''
}
this
.
apipost
(
'financeinfo_post_GetClientAccountList'
,
msg
,
res
=>
{
if
(
res
.
data
.
resultCode
==
1
)
{
let
data
=
res
.
data
.
data
;
let
ClientAccountList
=
[];
data
.
forEach
(
x
=>
{
let
obj
=
{
ID
:
x
.
ID
,
Name
:
x
.
AccountHolder
+
`(
${
x
.
AccountAlias
}
)`
,
Nom
:
x
.
CardNum
,
OpenBankName
:
x
.
OpenBankName
,
ObjID
:
x
.
ObjID
,
}
if
(
x
.
ID
==
this
.
msg
.
ClientID
){
this
.
financeinfo_post_GetClientAccountList
(
this
.
msg
.
ClientType
,
x
.
ObjID
);
}
ClientAccountList
.
push
(
obj
)
})
this
.
ClientAccountList
=
ClientAccountList
;
}
},
err
=>
{})
},
Financial_post_GetCostTypeList
(
id
,
type
){
//获取支出费用类型
this
.
apipost
(
'Financial_post_GetCostTypeList'
,{
ID
:
id
},
res
=>
{
if
(
res
.
data
.
resultCode
==
1
)
{
this
.
GetCostTypeList
=
res
.
data
.
data
;
if
(
type
){
this
.
msg
.
detailList
.
forEach
(
x
=>
{
this
.
GetCostTypeList
.
forEach
(
y
=>
{
if
(
y
.
ID
==
x
.
CostTypeId
){
x
.
CostTypeName
=
y
.
Name
;
}
})
})
}
}
},
err
=>
{})
},
financeinfo_post_GetList
(){
// 获取币种
this
.
apipost
(
'financeinfo_post_GetList'
,{
Name
:
''
},
res
=>
{
if
(
res
.
data
.
resultCode
==
1
)
{
this
.
coinGetList
=
res
.
data
.
data
;
}
},
err
=>
{})
},
Financial_post_Get
(
id
,
tempId
){
//获取单据详情
this
.
loading
=
true
;
// let TCID = '';
// console.log(this.orderObj.TCIDList)
// return
// this.orderObj.TCIDList.forEach(x=>{
// TCID = TCID + x +','
// })
// TCID.split(0,TCID.length-1)
this
.
apipost
(
'Financial_post_Get'
,{
ID
:
id
,
TempId
:
tempId
,
TCIDList
:(
this
.
orderObj
&&
this
.
orderObj
.
TCIDList
)?
this
.
orderObj
.
TCIDList
:[]},
res
=>
{
// console.log(this.orderObj.TCIDList)
if
(
res
.
data
.
resultCode
==
1
)
{
let
data
=
res
.
data
.
data
;
data
.
IsLeader
=
1
;
this
.
msg
=
JSON
.
parse
(
JSON
.
stringify
(
data
));
this
.
msg
.
ClientType
=
this
.
msg
.
ClientType
==
0
?
''
:
this
.
msg
.
ClientType
;
this
.
msg
.
ClientID
=
this
.
msg
.
ClientID
==
0
?
''
:
this
.
msg
.
ClientID
;
this
.
msg
.
RB_Branch_Id
=
this
.
msg
.
RB_Branch_Id
==
0
?
this
.
getLocalStorage
().
RB_Branch_id
:
this
.
msg
.
RB_Branch_Id
;
if
(
this
.
orderObj
&&
this
.
orderObj
.
companyIDList
&&
this
.
orderObj
.
companyIDList
.
length
>
0
)
{
this
.
msg
.
RB_Branch_Id
=
this
.
orderObj
.
companyIDList
[
0
];
}
else
if
(
this
.
$route
.
query
.
companyID
){
this
.
msg
.
RB_Branch_Id
=
parseInt
(
this
.
$route
.
query
.
companyID
);
}
this
.
admin_get_DepartmentGetList
(
this
.
msg
.
RB_Branch_Id
);
this
.
msg
.
PayDate
=
this
.
msg
.
PayDate
;
this
.
msg
.
detailList
=
[];
this
.
FinancialFlowTemplate_post_GetProcessList
(
data
.
TemplateId
);
this
.
financeinfo_post_GetClientAccountListEdit
(
data
.
ClientType
);
this
.
Financial_post_GetCostTypeList
(
data
.
TemplateId
,
2
);
let
allPrice
=
0
data
.
DetailList
.
forEach
(
x
=>
{
x
.
UnitPriceTo
=
this
.
$commonUtils
.
addCommas
(
x
.
UnitPrice
.
toFixed
(
2
));
x
.
yTotalPrice
=
x
.
Number
*
x
.
UnitPrice
;
x
.
rate
=
x
.
Rate
;
let
num
=
(
x
.
Number
*
x
.
UnitPrice
)
*
x
.
Rate
;
num
=
num
.
toFixed
(
2
);
x
.
bTotalPrice
=
num
;
x
.
Money
=
x
.
Money
.
toFixed
(
2
);
x
.
yTotalPriceTo
=
this
.
$commonUtils
.
addCommas
(
x
.
yTotalPrice
.
toFixed
(
2
));
x
.
bTotalPriceTo
=
this
.
$commonUtils
.
addCommas
(
num
);
x
.
OriginalMoney
=
x
.
OriginalMoney
.
toFixed
(
2
);
x
.
show
=
false
;
this
.
msg
.
detailList
.
push
(
x
);
this
.
coinGetList
.
forEach
(
y
=>
{
if
(
y
.
ID
==
x
.
CurrencyId
){
x
.
currenName
=
y
.
Name
;
}
})
allPrice
=
allPrice
+
parseFloat
(
x
.
bTotalPrice
);
});
this
.
allPrice
=
allPrice
;
this
.
allPriceTo
=
this
.
$commonUtils
.
addCommas
(
this
.
allPrice
.
toFixed
(
2
))
this
.
chinaAllPrice
=
this
.
$commonUtils
.
changeMoneyToChinese
(
this
.
allPrice
)
this
.
BillName
=
data
.
CompanyName
;
this
.
BillSonName
=
data
.
FinanceName
;
this
.
IsUploadPic
=
data
.
IsUploadPic
;
this
.
msg
.
IsPublic
=
data
.
IsPublic
;
this
.
GetDetail
=
data
;
if
(
this
.
orderObj
){
this
.
msg
.
OrderID
=
this
.
orderObj
.
OrderID
?
this
.
orderObj
.
OrderID
:
0
;
this
.
OrderSource
=
this
.
msg
.
OrderSource
=
this
.
orderObj
.
OrderSource
?
this
.
orderObj
.
OrderSource
:
0
;
this
.
msg
.
TCID
=
this
.
orderObj
.
TCID
?
this
.
orderObj
.
TCID
:
0
;
this
.
msg
.
TCIDList
=
this
.
orderObj
.
TCIDList
?
this
.
orderObj
.
TCIDList
:[];
this
.
msg
.
Obj
=
this
.
orderObj
.
Obj
?
this
.
orderObj
.
Obj
:
''
;
this
.
msg
.
SourceID
=
this
.
orderObj
.
SourceID
?
this
.
orderObj
.
SourceID
:
0
;
this
.
msg
.
CallType
=
this
.
orderObj
.
CallType
?
this
.
orderObj
.
CallType
:
0
;
}
if
(
data
.
VorcherInos
){
data
.
VorcherInos
.
forEach
(
x
=>
{
x
.
Url
=
x
.
Content
;
this
.
saveMsg
.
push
(
x
);
})
}
if
(
this
.
msg
.
TCIDAndTCNUMList
==
null
){
this
.
msg
.
TCIDAndTCNUMList
=
[];
}
this
.
msg
.
URL
=
this
.
$route
.
query
.
path
;
this
.
msg
.
Cmd
=
this
.
$route
.
query
.
Cmd
?
this
.
$route
.
query
.
Cmd
:
''
;
this
.
$forceUpdate
();
this
.
loading
=
false
;
}
else
{
this
.
loading
=
false
;
this
.
$message
.
error
(
res
.
data
.
message
);
}
},
err
=>
{})
},
admin_get_DepartmentGetList
(
Bid
,
T
){
// this.msg.RB_Depart_Id = '';
// this.departmentMsg.RB_Branch_Id = Bid ? Bid : -1;
this
.
departmentMsg
.
RB_Branch_Id
=
-
1
;
this
.
msg
.
RB_Depart_Id
=
''
;
this
.
apipost
(
'admin_get_DepartmentGetList'
,
this
.
departmentMsg
,
res
=>
{
if
(
res
.
data
.
resultCode
==
1
)
{
this
.
departmentList
=
res
.
data
.
data
;
if
(
this
.
orderObj
&&
this
.
orderObj
.
companyIDList
&&
this
.
orderObj
.
companyIDList
.
length
>
0
)
{
}
else
{
this
.
msg
.
RB_Depart_Id
=
this
.
msg
.
RB_Depart_Id
?
this
.
msg
.
RB_Depart_Id
:
this
.
getLocalStorage
().
RB_Department_Id
;
}
}
},
err
=>
{})
},
getCompany
(){
//公司
this
.
apipost
(
'admin_get_BranchGetList'
,
this
.
companyMsg
,
res
=>
{
let
data
=
res
.
data
.
data
;
if
(
this
.
$route
.
query
.
companyID
!==
'-1'
&&
this
.
$route
.
query
.
companyID
!==
undefined
){
data
.
forEach
(
x
=>
{
x
.
disabled
=
true
;
})
}
if
(
this
.
orderObj
&&
this
.
orderObj
.
companyIDList
&&
this
.
orderObj
.
companyIDList
.
length
>
0
)
{
this
.
orderObj
.
companyIDList
.
forEach
(
x
=>
{
data
.
forEach
(
y
=>
{
if
(
y
.
disabled
===
false
){
y
.
disabled
=
false
}
else
{
y
.
disabled
=
x
!==
y
.
Id
;
}
})
});
}
this
.
companyList
=
data
;
},
err
=>
{})
},
},
created
(){
this
.
orderObj
=
this
.
$route
.
query
.
orderObj
?
JSON
.
parse
(
this
.
$route
.
query
.
orderObj
):
null
;
console
.
log
(
this
.
$route
.
query
.
orderObj
)
},
mounted
(){
let
userInfo
=
this
.
getLocalStorage
();
this
.
department
=
userInfo
.
DepartName
;
this
.
EmployeeId
=
userInfo
.
EmployeeId
;
this
.
emplyeeName
=
userInfo
.
emName
;
this
.
DepartIDs
=
this
.
msg
.
RB_Depart_Id
=
userInfo
.
RB_Department_Id
;
this
.
RB_Branch_id
=
this
.
departmentMsg
.
RB_Branch_Id
=
this
.
msg
.
RB_Branch_Id
=
userInfo
.
RB_Branch_id
;
this
.
companyMsg
.
RB_Group_Id
=
this
.
departmentMsg
.
RB_Group_Id
=
userInfo
.
RB_Group_id
;
this
.
IsUploadPic
=
this
.
$route
.
query
.
IsUploadPic
;
this
.
msg
.
Cmd
=
this
.
$route
.
query
.
Cmd
?
this
.
$route
.
query
.
Cmd
:
''
;
this
.
financeinfo_post_GetClientTypeList
();
this
.
financeinfo_post_GetList
();
const
myDate
=
new
Date
();
this
.
yaer
=
myDate
.
getFullYear
();
//获取完整的年份(4位,1970-????)
this
.
month
=
myDate
.
getMonth
()
+
1
;
//获取当前月份(0-11,0代表1月)
this
.
dateS
=
myDate
.
getDate
();
//获取当前日(1-31)
let
hour
=
myDate
.
getHours
()
<
10
?
"0"
+
myDate
.
getHours
()
:
myDate
.
getHours
();
let
minute
=
myDate
.
getMinutes
()
<
10
?
"0"
+
myDate
.
getMinutes
()
:
myDate
.
getMinutes
();
let
second
=
myDate
.
getSeconds
()
<
10
?
"0"
+
myDate
.
getSeconds
()
:
myDate
.
getSeconds
();
this
.
timer
=
hour
+
':'
+
minute
+
':'
+
second
;
this
.
getCompany
();
if
(
this
.
$route
.
query
.
edit
){
this
.
msg
.
FrID
=
this
.
$route
.
query
.
FrID
;
this
.
Financial_post_Get
(
this
.
$route
.
query
.
FrID
,
0
);
}
else
{
this
.
msg
.
TemplateId
=
this
.
$route
.
query
.
id
;
this
.
Financial_post_GetCostTypeList
(
this
.
$route
.
query
.
id
);
this
.
BillName
=
userInfo
.
GroupName
;
this
.
BillSonName
=
this
.
$route
.
query
.
Name
;
this
.
FinancialFlowTemplate_post_GetProcessList
(
this
.
$route
.
query
.
id
);
this
.
Financial_post_Get
(
0
,
parseInt
(
this
.
$route
.
query
.
id
));
}
if
(
this
.
$route
.
query
.
Conditon
){
this
.
returnCode
=
this
.
$route
.
query
.
Conditon
;
}
// this.admin_get_DepartmentGetList();
},
components
:
{
"my-FlowChartModule"
:
myFlowChartModule
}
}
</
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