Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
C
confucius
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
罗超
confucius
Commits
3d17e5d8
Commit
3d17e5d8
authored
Nov 18, 2020
by
zhengke
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
1
parent
de526218
Show whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
1914 additions
and
0 deletions
+1914
-0
addFinancialDocuments.vue
...ages/financial/financalDocument/addFinancialDocuments.vue
+1914
-0
No files found.
src/pages/financial/financalDocument/addFinancialDocuments.vue
0 → 100644
View file @
3d17e5d8
<
style
scoped
>
@import
"../css/cssReset.css"
;
.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"
>
{{
$t
(
'fnc.spliucheng'
)
}}
</p>
<my-FlowChartModule
:data=
"AuditListData"
></my-FlowChartModule>
</div>
</div>
<span
slot=
"reference"
class=
"_flow_chart"
>
{{
$t
(
'fnc.liuchengtu'
)
}}
</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.SName'
:value=
'item.SId'
:key=
'item.SId'
:disabled=
"item.disabled"
>
</el-option>
</el-select>
)
</p>
<p
class=
"rb_stit"
>
<span>
{{
BillSonName
}}
</span>
</p>
<p
class=
"_yewudanju"
v-if=
"OrderSource==8"
>
{{
$t
(
'hotel.order_Number'
)
}}
:
<span
@
click=
"msg.OrderID>0?jumpPage('RegistrationList',GetDetail,8):''"
>
{{
msg
.
OrderID
==
0
?
$t
(
'fnc.no'
):
msg
.
OrderID
}}
</span>
</p>
<div
class=
"rb_top_row _r_mb5 ceshi"
>
<p>
{{
$t
(
'fnc.fkduixiang'
)
}}
:
<el-select
v-if=
'msg.TemplateId===90||msg.TemplateId===91'
filterable
v-model=
'msg.IsPublic'
placeholder=
"付款类型"
@
change=
"IsPublicChange"
class=
"w135 _border_b_1"
>
<el-option
label=
"虚拟账户"
:value=
'10'
:key=
'10'
v-if=
'msg.TemplateId===90||msg.TemplateId===91'
></el-option>
</el-select>
<el-select
v-else
filterable
v-model=
'msg.IsPublic'
placeholder=
"付款类型"
@
change=
"IsPublicChange"
class=
"w135 _border_b_1"
>
<el-option
:label=
"$t('fnc.gongzhang')"
:value=
'1'
:key=
'1'
v-if=
'msg.TemplateId!==36 && msg.TemplateId!==37 && msg.TemplateId!==48 && msg.TemplateId !==53'
>
</el-option>
<el-option
:label=
"$t('fnc.sizhang')"
:value=
'0'
:key=
'0'
v-if=
'msg.TemplateId!==36 && msg.TemplateId!==37 && msg.TemplateId!==48 && msg.TemplateId !==53'
>
</el-option>
<el-option
:label=
"$t('fnc.rmbxianjin')"
:value=
'2'
:key=
'2'
v-if=
'msg.TemplateId!==36 && msg.TemplateId!==37 && msg.TemplateId!==48 && msg.TemplateId !==53'
>
</el-option>
<el-option
:label=
"$t('fnc.wbxianjin')"
:value=
'3'
:key=
'3'
v-if=
'msg.TemplateId!==36 && msg.TemplateId!==37 && msg.TemplateId!==48 && msg.TemplateId !==53'
>
</el-option>
<el-option
:label=
"$t('fnc.zjinchi')"
:value=
'4'
:key=
'4'
v-if=
'msg.TemplateId===36 || msg.TemplateId===37 || msg.TemplateId===48 || msg.TemplateId===53|| msg.TemplateId===51|| msg.TemplateId===52'
>
</el-option>
<el-option
:label=
"$t('fnc.ptxnzhanghu')"
:value=
'5'
:key=
'5'
v-if=
'msg.TemplateId!==36 && msg.TemplateId!==37 && msg.TemplateId!==48 && msg.TemplateId !==53'
>
</el-option>
<el-option
:label=
"$t('fnc.djxnzhanghu')"
:value=
'6'
:key=
'6'
v-if=
'msg.TemplateId!==36 && msg.TemplateId!==37 && msg.TemplateId!==48 && msg.TemplateId !==53'
>
</el-option>
<el-option
:label=
"$t('fnc.szxiangdi')"
:value=
'7'
:key=
'7'
v-if=
'msg.TemplateId!==36 && msg.TemplateId!==37 && msg.TemplateId!==48 && msg.TemplateId !==53'
>
</el-option>
<el-option
label=
"原路退款"
:value=
'8'
:key=
'8'
v-if=
'msg.TemplateId===2 || msg.TemplateId===12 ||msg.TemplateId===61 || msg.TemplateId===62 || msg.TemplateId===120'
>
</el-option>
<el-option
label=
"地接预支款"
:value=
'9'
:key=
'9'
v-if=
'msg.TemplateId===67||msg.TemplateId===74||msg.TemplateId===119'
></el-option>
<el-option
label=
"电商结算"
:value=
'11'
:key=
'11'
v-if=
'msg.TemplateId===121'
></el-option>
</el-select>
<el-select
v-if=
"!showDisable"
filterable
v-model=
'msg.ClientType'
:placeholder=
"$t('fnc.khleixing')"
@
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>
<template
v-if=
"msg.ClientType==7&&msg.IsPublic!=2&&msg.IsPublic!=3&&!showDisable"
>
<el-select
v-if=
"msg.IsLeader==1"
filterable
v-model=
'msg.ClientID'
:placeholder=
"$t('fnc.khmingcheng')"
@
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&&!showDisable"
>
<el-select
filterable
v-model=
'msg.ClientID'
:placeholder=
"$t('fnc.khmingcheng')"
@
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=
"$t('system.ph_name')"
class=
"w135 _border_b_1"
>
</el-input>
</
template
>
</p>
<p><span
class=
""
>
{{$t('hotel.hotel_SerialNumber')}}.
</span>
{{GetDetail.FrID==0?$t('fnc.daishengcheng'):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)&&msg.IsPublic!=4"
>
<p>
{{
$t
(
'fnc.fkzhanghu'
)
}}
:
<el-select
filterable
v-model=
'msg.AccountNumber'
:placeholder=
"$t('fnc.qxzfkzh')"
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&&msg.IsPublic!=4"
>
<p>
{{
$t
(
'fnc.fkzhanghu'
)
}}
:
<el-select
filterable
v-model=
'msg.AccountNumber'
:placeholder=
"$t('fnc.qxzfkzh')"
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&&msg.IsPublic!=4"
>
<p>
{{
$t
(
'fnc.ldmingcheng'
)
}}
:
<el-input
v-model=
'msg.RemitterName'
:placeholder=
"$t('system.ph_name')"
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
v-if=
"GetDetail.IsPublic==4"
class=
"_r_name"
style=
"color: #fff;"
></p>
<p
class=
"_r_time"
>
<span>
{{yaer}}
</span>
{{$t('pub.year')}}
<span>
{{month}}
</span>
{{$t('pub.month')}}
<span>
{{dateS}}
</span>
{{$t('fnc.day')}}
<span>
{{timer}}
</span>
</p>
</div>
<table
class=
"Receipt_table"
border=
"1"
bordercolor=
"#106BAF"
style=
"border-collapse:collapse;"
>
<tr>
<th
rowspan=
"2"
width=
"150"
>
{{$t('fnc.fyshuoming')}}
</th>
<th
rowspan=
"2"
>
{{$t('restaurant.res_Number')}}
</th>
<th
rowspan=
"2"
>
{{$t('fnc.danjia')}}
</th>
<th
rowspan=
"2"
width=
"100"
>
{{$t('hotel.hotel_Currency')}}
</th>
<th
colspan=
"3"
>
{{$t('fnc.jine')}}
</th>
<th
rowspan=
"2"
>
{{$t('hotel.hotel_remark')}}
</th>
</tr>
<tr>
<th
width=
"88"
>
{{$t('fnc.yuanbi')}}
</th>
<th
width=
"50"
>
{{$t('hotel.hotel_CurrentRate')}}
</th>
<th
width=
"88"
>
{{$t('fnc.bweibi')}}
</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
class=
"addList2"
v-else
@
keyup
.
enter=
"addList(2,daIn+1)"
>
<td
height=
"26px"
>
<el-select
filterable
v-model=
'da.CostTypeId'
ref=
'CostTypeId'
:placeholder=
"$t('rule.qxzfyshuoming')"
@
change=
"getCostTypeName(da.CostTypeId, daIn),getRate(da.CostTypeId,da.CurrencyId,2,daIn),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>
<td
height=
"26px"
>
<el-input
v-model=
"da.Number"
@
keyup
.
native=
"checkInteger(da,'Number')"
:disabled=
"daIn === 0 && XSTC"
type=
"text"
@
blur=
"addList(2,daIn+1)"
@
change=
"Calculation(2,daIn+1)"
class=
"w80 _border_b_1"
>
</el-input>
</td>
<td
height=
"26px"
>
<el-input
v-model=
"da.UnitPrice"
type=
"text"
:disabled=
"((msg.TemplateId == 43 || msg.TemplateId == 48 || msg.TemplateId == 56 || msg.TemplateId == 53) && !ZhuiJiaTK) || (daIn === 0 && XSTC)"
@
keyup
.
native=
"checkPrice(da,'UnitPrice',true)"
@
blur=
"addList(2,daIn+1)"
@
change=
"Calculation(2,daIn+1)"
class=
"w80 h34 _border_b_1"
></el-input>
</td>
<td
height=
"26px"
>
<el-select
filterable
:disabled=
"detailCurrDis || (daIn === 0 && XSTC)"
v-model=
'da.CurrencyId'
:placeholder=
"$t('rule.qxzbzhong')"
@
change=
"getRate(da.CostTypeId,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"
:disabled=
"true"
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
class=
"addList1"
@
keyup
.
enter=
"addList(1)"
>
<td>
<el-select
v-if=
"!SelectState"
filterable
v-model=
'detailList.CostTypeId'
ref=
'CostTypeId'
:placeholder=
"$t('rule.qxzfyshuoming')"
@
change=
"getCostTypeName(detailList.CostTypeId), getRate(detailList.CostTypeId,detailList.CurrencyId,1),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>
<el-select
v-if=
"SelectState"
filterable
v-model=
'detailList.CostTypeId'
ref=
'CostTypeId'
:placeholder=
"$t('rule.qxzfyshuoming')"
@
change=
"getCostTypeName(detailList.CostTypeId), getRate(detailList.CostTypeId,detailList.CurrencyId,1),addList(1)"
class=
"_border_b_1"
>
<el-option
v-for=
'item in GetCostTypeList'
:label=
'item.Name'
:value=
'item.ID'
:key=
'item.ID'
:disabled=
"SelectDisablsed!=item.ID"
>
</el-option>
</el-select>
</td>
<td>
<el-input
v-model=
"detailList.Number"
type=
"text"
@
keyup
.
native=
"checkInteger(detailList,'Number')"
@
blur=
"addList(1)"
@
change=
"Calculation(1)"
class=
"w80 _border_b_1"
></el-input>
</td>
<td>
<el-input
v-model=
"detailList.UnitPrice"
type=
"text"
:disabled=
"(msg.TemplateId == 43 || msg.TemplateId == 48 || msg.TemplateId == 56 || msg.TemplateId == 53) && !ZhuiJiaTK"
@
keyup
.
native=
"checkPrice(detailList,'UnitPrice',true)"
@
blur=
"addList(1)"
@
change=
"Calculation(1)"
class=
"w80 h34 _border_b_1"
></el-input>
</td>
<td>
<el-select
filterable
v-model=
'detailList.CurrencyId'
:placeholder=
"$t('rule.qxzbzhong')"
@
change=
"getRate(detailList.CostTypeId,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>
<span
v-if=
"detailList.yTotalPrice && detailList.yTotalPrice!=''"
>
{{detailList.yTotalPrice.toFixed(2)}}
</span>
<span
v-else
>
{{detailList.yTotalPrice}}
</span>
</td>
<td>
<el-input
v-model=
"detailList.Rate"
type=
"text"
:disabled=
"true"
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>
{{$t('fnc.sfjine')}}
<br
/><span
class=
"_font_size12"
>
{{$t('fnc.daxie')}}
</span></td>
<td
colspan=
"3"
>
{{chinaAllPrice}}
</td>
<td>
{{$t('fnc.sfjine')}}
<br
/><span
class=
"_font_size12"
>
{{$t('fnc.xiaoxie')}}
</span></td>
<td
colspan=
"3"
>
{{allPriceTo}}
</td>
</tr>
<tr>
<td>
{{$t('fnc.yjfkuanriqi')}}
</td>
<td
colspan=
"7"
>
<el-date-picker
clearable
class=
"w190 _border_b_1"
v-model=
"msg.PayDate"
type=
"datetime"
:placeholder=
"$t('fnc.qxzrqshijian')"
align=
"right"
>
</el-date-picker>
</td>
</tr>
</table>
<div
class=
"rb_top_row _r_mt10"
>
<
template
v-for=
"(item,index) in newAuditList"
>
<p
:key=
"index"
>
{{
item
.
AuditDescription
}}
:
<span
class=
"_r_name"
></span>
</p>
</
template
>
<p>
{{$t('visa.v_yewuyuan')}}:
<span
class=
"_r_name _jump_page"
>
{{emplyeeName}}
</span>
</p>
</div>
<div
class=
"_explain"
>
<p>
{{$t('fnc.fjshuoming')}}
</p>
<div>
<p>
{{$t('fnc.fygsbumen')}}:
<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>
<
template
v-if=
"GetDetail.FrID!=0"
>
<p
v-if=
"GetDetail.OrderSource==9&&GetDetail.SourceID>0"
>
{{
$t
(
"fnc.gnpiaowu"
)
}}
:
<span
class=
"_jump_page _font_bold"
@
click=
"jumpPage('SettlementOrder',GetDetail,2)"
>
{{
GetDetail
.
SourceID
}}
</span></p>
<p
v-if=
"GetDetail.OrderSource==10&&GetDetail.SourceID>0"
>
{{
$t
(
'active.cl_qianzheng'
)
}}
:
<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>
{{
$t
(
'fnc.jpshouzhi'
)
}}
:
</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>
</template>
</div>
</div>
<div
class=
"_remark"
>
<p>
{{$t('system.label_info')}}
</p>
<textarea
v-model=
"Description"
>
</textarea>
</div>
<div>
<div
v-if=
"IsUploadPic===1"
>
<p>
{{$t('fnc.scfujian')}}
<span
class=
"_addUpload_tips"
>
{{$t('tips.wjdxbncgsz')}}
</span></p>
<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"
>
{{$t('active.ld_djscwj')}}
</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>
{{$t('fnc.xiayibu')}}:
<span
class=
"red"
>
{{msg.AuditDescription}}
</span></label>
<el-select
size=
"mini"
style=
"width:300px"
v-model=
"chosenPeople"
multiple
filterable
remote
reserve-keyword
:placeholder=
"$t('rule.qxzxybshren')"
: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)"
>
{{$t('fnc.zancun')}}
</button>
<button
class=
"normalBtn"
@
click=
"AddFinancial()"
>
{{$t('fnc.tijiao')}}
</button>
<button
class=
"hollowFixedBtn"
@
click=
"AuditOrRefund()"
>
{{$t('pub.returnBack')}}
</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>
<el-dialog
title=
"提示"
:visible
.
sync=
"maxmoneyTips"
width=
"420px"
>
<div
style=
"margin: 0px 0 15px 0;"
>
<p><span
style=
"color: #e6a23c;font-size: 16px;"
class=
"el-notification__icon el-icon-warning"
></span>
根据公司规定,每张付款单不能超过{{maxmoneyData}}元人民币。
</p>
<p
style=
"padding-left: 23px;margin-top: 10px;"
>
超过需额外制单,谢谢配合!
</p>
</div>
<span
slot=
"footer"
class=
"dialog-footer"
>
<el-button
size=
"small"
@
click=
"maxmoneyTips = false"
>
取 消
</el-button>
<el-button
size=
"small"
type=
"danger"
@
click=
"maxmoneyTips=false"
>
确 定
</el-button>
</span>
</el-dialog>
</div>
</template>
<
script
>
import
myFlowChartModule
from
"../components/FlowChartModule.vue"
;
import
{
getSchoolPage
}
from
'../../../api/school/index'
export
default
{
data
()
{
return
{
maxmoneyData
:
0
,
detailCurrDis
:
false
,
Description
:
""
,
msg
:
{
FrID
:
0
,
ClientType
:
''
,
ClientID
:
''
,
RemitterName
:
''
,
AccountNumber
:
''
,
TradeDate
:
''
,
TCID
:
0
,
OrderID
:
0
,
OrderSource
:
0
,
TemplateId
:
0
,
Description
:
'132356'
,
detailList
:
[],
RB_Branch_Id
:
''
,
RB_Depart_Id
:
''
,
Status
:
1
,
URL
:
this
.
$route
.
query
.
path
,
vorcherInos
:
[],
IsPublic
:
''
,
Cmd
:
''
,
emList
:
[],
TCIDList
:
[],
Obj
:
{},
SourceID
:
0
,
TCIDAndTCNUMList
:
[],
IsLeader
:
1
,
PayDate
:
''
,
CallType
:
0
,
Type
:
0
,
GuestInfoList
:
[]
},
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
:
''
,
allPriceTocalc
:
''
,
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
,
describeList
:
[],
isFrompassenger
:
false
,
showDisable
:
false
,
editTemplateId
:
-
1
,
ZhuiJiaTK
:
false
,
SelectDisablsed
:
0
,
SelectState
:
false
,
XSTC
:
false
,
czmsg
:
{},
czmsgState
:
false
,
maxmoneyTips
:
false
,
schoolMsg
:
{
pageIndex
:
1
,
pageSize
:
999
,
rowsPerPage
:
12
,
SName
:
""
,
Status
:
'-1'
}
}
},
methods
:
{
deleteRow
(
i
,
obj
)
{
obj
.
show
=
false
;
this
.
msg
.
Description
=
this
.
Description
;
this
.
msg
.
detailList
.
splice
(
i
,
1
);
this
.
$forceUpdate
();
},
IsPublicChange
(
val
)
{
this
.
showDisable
=
false
;
this
.
msg
.
ClientType
=
''
;
this
.
msg
.
ClientID
=
''
;
this
.
msg
.
AccountNumber
=
''
;
this
.
ClientAccountListS
=
[];
if
(
val
==
8
||
val
==
9
)
{
this
.
showDisable
=
true
;
}
},
jumpPage
(
path
,
obj
,
type
)
{
//生成单据时连带信息跳转
if
(
type
==
1
)
{
this
.
$router
.
push
({
name
:
path
,
query
:
{
TCIDList
:
obj
,
blank
:
'y'
}
})
}
else
if
(
type
==
2
)
{
this
.
$router
.
push
({
name
:
path
,
query
:
{
ID
:
obj
,
blank
:
'y'
}
})
}
else
if
(
type
==
3
)
{
this
.
$router
.
push
({
name
:
path
,
query
:
{
ID
:
obj
,
blank
:
'y'
}
})
}
else
if
(
type
==
4
)
{
this
.
$router
.
push
({
name
:
path
,
query
:
{
OrderSource
:
obj
.
OrderSource
,
SourceID
:
obj
.
SourceID
,
blank
:
'y'
}
})
}
else
if
(
type
==
5
)
{
this
.
$router
.
push
({
name
:
path
,
query
:
{
id
:
obj
[
0
].
TCID
,
OutBranchId
:
obj
.
RB_Branch_Id
,
blank
:
'y'
}
})
}
else
if
(
type
==
6
)
{
this
.
$router
.
push
({
name
:
path
,
query
:
{
id
:
obj
,
OutBranchId
:
obj
.
RB_Branch_Id
,
'CloseIncomeBtn'
:
true
,
blank
:
'y'
}
})
}
else
if
(
type
==
7
)
{
this
.
$router
.
push
({
name
:
path
,
query
:
{
id
:
id
,
isShow
:
false
,
blank
:
'y'
}
})
}
else
if
(
type
==
8
)
{
this
.
$router
.
push
({
name
:
path
,
query
:
{
id
:
id
,
orderID
:
this
.
msg
.
OrderID
,
isShow
:
false
,
blank
:
'y'
}
})
}
else
if
(
type
==
9
)
{
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
(
this
.
$t
(
'tips.wjdxbncgsz'
))
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
(
this
.
$t
(
'tips.qscWEfile'
));
let
newArr
=
[];
newArr
.
push
(
file
.
file
)
let
path
=
"/Upload/Temporary/"
this
.
$message
.
info
(
this
.
$t
(
'tips.shangchuanzhong'
))
this
.
UploadSelfFileT
(
path
,
newArr
,
x
=>
{
let
fileSize
=
file
.
file
.
size
<
1024
?
file
.
file
.
size
:
(
file
.
file
.
size
/
1024
).
toFixed
(
0
);
this
.
saveMsg
.
push
({
Content
:
x
.
data
.
FilePath
,
ID
:
0
,
Type
:
fileTypeNumber
,
Url
:
this
.
domainManager
().
ViittoFileUrl
+
x
.
data
.
FilePath
,
})
this
.
$message
.
success
(
this
.
$t
(
'tips.scchenggong'
))
},
1
);
},
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
(
this
.
$t
(
'rule.qtxzsyxfyshuoming'
));
if
(
this
.
msg
.
PayDate
===
''
)
return
this
.
$message
.
error
(
this
.
$t
(
'rule.qxzyjfkshijian'
));
}
if
(
this
.
msg
.
IsPublic
!=
8
&&
this
.
msg
.
IsPublic
!=
9
)
{
if
(
this
.
msg
.
ClientType
===
''
)
return
this
.
$message
.
error
(
this
.
$t
(
'rule.qxzfkduixiang'
));
}
else
{
this
.
msg
.
ClientType
=
0
;
}
// IsPublic 2 现金 IsLeader 0 临时领队
if
(
this
.
msg
.
IsPublic
<
2
&&
this
.
IsLeader
===
1
)
{
if
(
this
.
msg
.
ClientID
===
''
)
return
this
.
$message
.
error
(
this
.
$t
(
'rule.qxzkhmingcheng'
));
if
(
this
.
msg
.
AccountNumber
===
''
)
return
this
.
$message
.
error
(
this
.
$t
(
'rule.qxzfkdzhanghu'
));
}
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
(
this
.
$t
(
'rule.qxzxybsheren'
));
if
(
!
this
.
msg
.
RB_Depart_Id
)
return
this
.
$message
.
error
(
this
.
$t
(
'rule.qxzzdbumen'
));
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
.
OrderSource
=
this
.
orderObj
.
OrderSource
?
this
.
orderObj
.
OrderSource
:
0
;
this
.
msg
.
OtherType
=
this
.
orderObj
.
OtherType
?
this
.
orderObj
.
OtherType
:
0
;
this
.
msg
.
ReFinanceId
=
this
.
orderObj
.
ReFinanceId
?
this
.
orderObj
.
ReFinanceId
:
0
;
this
.
msg
.
ReFinanceId2
=
this
.
orderObj
.
ReFinanceId2
?
this
.
orderObj
.
ReFinanceId2
:
0
;
this
.
msg
.
ECOrderList
=
this
.
orderObj
.
ECOrderList
?
this
.
orderObj
.
ECOrderList
:
[];
}
// 2019-12-3 18:29:31 新增费用类型判断
let
riqi
=
false
this
.
msg
.
detailList
.
forEach
(
x
=>
{
if
(
!
riqi
&&
(
x
.
CostTypeName
==
'房费'
||
x
.
CostTypeName
==
'差旅费'
||
x
.
CostTypeName
==
'签证费'
||
x
.
CostTypeName
.
indexOf
(
'机票'
)
!==
-
1
))
{
riqi
=
true
}
delete
x
.
rate
;
});
if
(
riqi
)
{
var
today
=
new
Date
();
var
year
=
today
.
getFullYear
();
var
month
=
today
.
getMonth
();
var
date
=
today
.
getDate
();
var
weeks
=
[
"日"
,
"一"
,
"二"
,
"三"
,
"四"
,
"五"
,
"六"
]
var
temp
=
new
Date
(
year
,
month
,
date
+
3
)
var
today
=
Date
.
parse
(
new
Date
())
var
PayDate
=
this
.
msg
.
PayDate
var
startTime
=
Date
.
parse
(
temp
);
var
endTime
=
Date
.
parse
(
PayDate
);
if
(
endTime
>
startTime
)
{
this
.
$message
.
error
(
'房费、差旅费、签证费、机票相关费用类型单据的预付款日期最多推后3天!'
);
return
}
// else if (endTime
<
today
)
{
// this.$message.error('房费、差旅费、签证费、机票相关费用类型单据的预付款日期最多推后3天!');
// return
// }
}
// 判断付款金额与最大金额
if
(
Number
(
this
.
maxmoneyData
)
>
0
&&
(
Number
(
this
.
allPriceTocalc
)
>
Number
(
this
.
maxmoneyData
)))
{
this
.
maxmoneyTips
=
true
;
return
;
}
//旅客名单数据组装
if
(
!
this
.
$route
.
query
.
edit
)
{
this
.
msg
.
Type
=
this
.
$route
.
query
.
Type
}
if
(
this
.
orderObj
!=
null
&&
this
.
orderObj
.
OrderSource
===
10
)
{
let
guestInfo
=
JSON
.
parse
(
sessionStorage
.
getItem
(
"saveGuestInfo"
));
// return;
this
.
msg
.
GuestInfoList
=
[];
if
(
guestInfo
!=
null
&&
guestInfo
.
length
>
0
)
{
guestInfo
.
forEach
(
t
=>
{
this
.
msg
.
GuestInfoList
.
push
({
GuestId
:
t
.
Id
,
GuestName
:
""
})
})
}
}
if
(
this
.
orderObj
&&
this
.
orderObj
.
TravelReplenish
)
{
this
.
msg
.
TravelReplenish
=
this
.
orderObj
.
TravelReplenish
}
this
.
loading
=
true
;
this
.
msg
.
Description
=
this
.
Description
;
// 财务收据
if
(
this
.
czmsg
&&
this
.
czmsg
.
ReFinanceId2
)
{
this
.
msg
.
ReFinanceId2
=
this
.
czmsg
.
ReFinanceId2
;
}
// 预付款冲抵 电商商品
if
(
this
.
czmsg
&&
this
.
czmsg
.
ReFinanceId
)
{
this
.
msg
.
ReFinanceId
=
this
.
czmsg
.
ReFinanceId
;
this
.
msg
.
OtherType
=
this
.
czmsg
.
OtherType
;
}
// 电商商品内部结算
if
(
this
.
czmsg
&&
this
.
czmsg
.
ReTCID
)
{
this
.
msg
.
OtherType
=
this
.
czmsg
.
OtherType
;
this
.
msg
.
ReTCID
=
this
.
czmsg
.
ReTCID
;
}
this
.
apipost
(
'Financial_post_Set'
,
this
.
msg
,
res
=>
{
if
(
res
.
data
.
resultCode
==
1
)
{
//清除旅客名单数据
sessionStorage
.
removeItem
(
"saveGuestInfo"
);
sessionStorage
.
removeItem
(
"guoji"
);
// this.$store.commit('saveGuestInfo',[])
this
.
$confirm
(
this
.
$t
(
'tips.czcgsfjxzhidan'
),
this
.
$t
(
'tips.tips'
),
{
confirmButtonText
:
this
.
$t
(
'fnc.jxzhidan'
),
cancelButtonText
:
this
.
$t
(
'fnc.nothanks'
),
type
:
'warning'
}).
then
(()
=>
{
this
.
$router
.
push
({
name
:
'addFinancialDocuments'
,
query
:
{
"id"
:
this
.
$route
.
query
.
id
,
"Name"
:
this
.
$route
.
query
.
Name
,
'InPay'
:
this
.
$route
.
query
.
InPay
,
"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
,
'InPay'
:
this
.
$route
.
query
.
InPay
}
});
});
}
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
.
$t
(
'fnc.huiqian'
)
:
this
.
$t
(
'fnc.huoqian'
))
})
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
)
{
// 添加
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
.
yTotalPrice
&&
list
.
yTotalPrice
!=
''
)
{
list
.
yTotalPrice
=
list
.
yTotalPrice
.
toFixed
(
2
)
}
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
=>
{
this
.
coinGetList
.
forEach
(
y
=>
{
if
(
y
.
ID
==
x
.
CurrencyId
)
{
x
.
currenName
=
y
.
Name
;
}
})
allPrice
=
allPrice
+
parseFloat
(
x
.
bTotalPrice
);
})
this
.
$forceUpdate
()
this
.
allPrice
=
allPrice
;
this
.
allPriceTo
=
this
.
$commonUtils
.
addCommas
(
Math
.
round
(
this
.
allPrice
*
100
)
/
100
)
this
.
allPriceTocalc
=
Math
.
round
(
this
.
allPrice
*
100
)
/
100
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
(
Math
.
round
(
price
*
100
)
/
100
)
this
.
msg
.
detailList
[
i
-
1
].
yTotalPrice
=
numberC
*
price
;
this
.
msg
.
detailList
[
i
-
1
].
yTotalPriceTo
=
this
.
$commonUtils
.
addCommas
(
Math
.
round
(
this
.
msg
.
detailList
[
i
-
1
]
.
yTotalPrice
*
100
)
/
100
);
if
(
!
isNaN
(
rate
))
{
let
num
=
(
numberC
*
price
)
*
rate
;
num
=
Math
.
round
(
num
*
100
)
/
100
;
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
(
Math
.
round
(
price
*
100
)
/
100
)
this
.
detailList
.
yTotalPrice
=
numberC
*
price
;
this
.
detailList
.
yTotalPriceTo
=
this
.
$commonUtils
.
addCommas
(
Math
.
round
(
this
.
detailList
.
yTotalPrice
*
100
)
/
100
);
if
(
!
isNaN
(
rate
))
{
let
num
=
(
numberC
*
price
)
*
rate
;
num
=
Math
.
round
(
num
*
100
)
/
100
;
this
.
detailList
.
bTotalPrice
=
num
;
this
.
detailList
.
bTotalPriceTo
=
this
.
$commonUtils
.
addCommas
(
num
)
}
}
}
},
getCostTypeName
(
i
,
t
)
{
// 根据支出费用类型获取费用类型名称 列表展示用
this
.
GetCostTypeList
.
forEach
(
x
=>
{
if
(
x
.
ID
==
i
)
{
if
(
t
>=
0
)
{
this
.
msg
.
detailList
[
t
].
CostTypeName
=
x
.
Name
;
if
(
x
.
ID
===
56
)
{
this
.
msg
.
detailList
[
t
].
Remark
=
this
.
orderObj
.
TCNUMS
?
`地接费领取自动生成:
${
this
.
orderObj
.
TCNUMS
}
`
:
''
;
}
}
else
{
this
.
detailList
.
CostTypeName
=
x
.
Name
;
if
(
x
.
ID
===
56
)
{
this
.
detailList
.
Remark
=
this
.
orderObj
.
TCNUMS
?
`地接费领取自动生成:
${
this
.
orderObj
.
TCNUMS
}
`
:
''
;
}
}
}
})
},
getRate
(
cID
,
i
,
t
,
index
)
{
// 根据选择币种获取汇率
this
.
coinGetList
.
forEach
(
x
=>
{
if
(
x
.
ID
==
i
)
{
if
(
this
.
czmsgState
)
{
if
(
t
==
1
)
{
this
.
detailList
.
Rate
=
this
.
czmsg
.
Rate
;
this
.
detailList
.
currenName
=
x
.
Name
;
}
else
{
this
.
msg
.
detailList
[
index
].
Rate
=
this
.
czmsg
.
Rate
;
this
.
msg
.
detailList
[
index
].
currenName
=
x
.
Name
;
}
}
else
{
if
(
t
==
1
)
{
this
.
detailList
.
Rate
=
cID
===
57
?
x
.
PayRateHistory
:
x
.
PayRate
;
this
.
detailList
.
currenName
=
x
.
Name
;
}
else
{
this
.
msg
.
detailList
[
index
].
Rate
=
cID
===
57
?
x
.
PayRateHistory
:
x
.
PayRate
;
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
>=
0
)
{
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
;
}
})
})
}
if
(
this
.
orderObj
&&
this
.
orderObj
.
CostType
)
{
this
.
getCostTypeName
(
this
.
detailList
.
CostTypeId
)
}
}
},
err
=>
{})
},
financeinfo_post_GetList
(
TCID
)
{
// 获取币种
this
.
apipost
(
'financeinfo_post_GetList'
,
{
Name
:
''
,
TCID
:
TCID
},
res
=>
{
if
(
res
.
data
.
resultCode
==
1
)
{
this
.
coinGetList
=
res
.
data
.
data
;
}
},
err
=>
{})
},
Financial_post_Get
(
id
,
tempId
)
{
//获取单据详情
this
.
loading
=
true
;
this
.
apipost
(
'Financial_post_Get'
,
{
ID
:
id
,
TempId
:
tempId
,
TCIDList
:
(
this
.
orderObj
&&
this
.
orderObj
.
TCIDList
)
?
this
.
orderObj
.
TCIDList
:
[]
},
res
=>
{
if
(
res
.
data
.
resultCode
==
1
)
{
let
data
=
res
.
data
.
data
;
this
.
editTemplateId
=
data
.
TemplateId
;
this
.
getCompany
();
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
;
if
(
id
||
id
===
0
)
{
if
(
!
this
.
orderObj
&&
id
>
0
)
{
this
.
msg
.
RB_Branch_Id
=
this
.
msg
.
RB_Branch_Id
}
else
{
this
.
msg
.
RB_Branch_Id
=
this
.
getLocalStorage
().
RB_Branch_id
}
}
else
{
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
=>
{
// 20190815 新增领款单据重新生成自动带上计算后的金额
x
.
UnitPrice
=
this
.
$route
.
query
.
dijieEditMoney
?
this
.
$route
.
query
.
dijieEditMoney
:
x
.
UnitPrice
x
.
OriginalMoney
=
this
.
$route
.
query
.
dijieEditMoney
?
this
.
$route
.
query
.
dijieEditMoney
:
x
.
OriginalMoney
x
.
UnitPriceTo
=
this
.
$commonUtils
.
addCommas
(
Math
.
round
(
x
.
UnitPrice
*
100
)
/
100
);
x
.
yTotalPrice
=
x
.
Number
*
x
.
UnitPrice
;
x
.
rate
=
x
.
Rate
;
let
num
=
(
x
.
Number
*
x
.
UnitPrice
)
*
x
.
Rate
;
num
=
Math
.
round
(
num
*
100
)
/
100
;
x
.
bTotalPrice
=
num
;
x
.
Money
=
Math
.
round
(
x
.
Money
*
100
)
/
100
;
x
.
yTotalPriceTo
=
this
.
$commonUtils
.
addCommas
(
Math
.
round
(
x
.
yTotalPrice
*
100
)
/
100
);
x
.
bTotalPriceTo
=
this
.
$commonUtils
.
addCommas
(
num
);
x
.
OriginalMoney
=
Math
.
round
(
x
.
OriginalMoney
*
100
)
/
100
;
x
.
show
=
false
;
this
.
coinGetList
.
forEach
(
y
=>
{
if
(
y
.
ID
==
x
.
CurrencyId
)
{
x
.
currenName
=
y
.
Name
;
}
})
this
.
msg
.
detailList
.
push
(
x
);
allPrice
=
allPrice
+
parseFloat
(
x
.
bTotalPrice
);
});
this
.
allPrice
=
allPrice
;
this
.
allPriceTo
=
this
.
$commonUtils
.
addCommas
(
Math
.
round
(
this
.
allPrice
*
100
)
/
100
)
this
.
allPriceTocalc
=
Math
.
round
(
this
.
allPrice
*
100
)
/
100
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
!=
null
&&
this
.
orderObj
.
OrderSource
===
10
)
{
}
else
{
this
.
Description
=
this
.
GetDetail
.
Description
;
}
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
;
this
.
detailList
.
CostTypeId
=
this
.
orderObj
.
CostType
?
this
.
orderObj
.
CostType
:
''
;
this
.
detailList
.
UnitPrice
=
this
.
orderObj
.
Money
?
this
.
orderObj
.
Money
:
0
;
this
.
detailList
.
Number
=
this
.
orderObj
.
CostType
?
1
:
0
this
.
msg
.
OtherType
=
this
.
orderObj
.
OtherType
?
this
.
orderObj
.
OtherType
:
0
;
this
.
XSTC
=
this
.
orderObj
.
XSTC
?
true
:
false
if
(
!
JSON
.
parse
(
sessionStorage
.
getItem
(
"saveGuestInfo"
)))
{
this
.
Description
=
this
.
orderObj
.
laRemark
?
this
.
orderObj
.
laRemark
:
''
;
}
// 判断是否禁用费用说明
if
(
this
.
orderObj
.
SelectState
)
{
this
.
SelectState
=
true
;
this
.
SelectDisablsed
=
Number
(
this
.
orderObj
.
CostType
)
}
if
(
this
.
orderObj
.
CurrencyId
)
{
this
.
detailList
.
CurrencyId
=
Number
(
this
.
orderObj
.
CurrencyId
);
this
.
detailCurrDis
=
true
;
this
.
detailList
.
CostTypeId
=
this
.
orderObj
.
CostType
?
this
.
orderObj
.
CostType
:
''
;
this
.
getRate
(
this
.
detailList
.
CostTypeId
,
this
.
detailList
.
CurrencyId
,
1
)
this
.
addList
(
1
);
}
}
if
(
data
.
VorcherInos
)
{
data
.
VorcherInos
.
forEach
(
x
=>
{
x
.
Url
=
x
.
Content
;
this
.
saveMsg
.
push
(
x
);
})
}
if
(
this
.
msg
.
TCIDAndTCNUMList
==
null
)
{
this
.
msg
.
TCIDAndTCNUMList
=
[];
}
if
(
this
.
orderObj
&&
this
.
orderObj
.
CostType
)
{
this
.
Calculation
(
1
)
}
this
.
msg
.
URL
=
this
.
$route
.
query
.
path
;
this
.
msg
.
Cmd
=
this
.
$route
.
query
.
Cmd
?
this
.
$route
.
query
.
Cmd
:
''
;
if
(
id
>
0
)
{
let
TCID
=
data
.
TCIDList
.
length
>
0
?
data
.
TCIDList
[
0
]
:
0
this
.
financeinfo_post_GetList
(
TCID
);
}
this
.
$forceUpdate
();
this
.
loading
=
false
;
if
(
this
.
$route
.
query
.
InPay
)
{
this
.
msg
.
Type
=
this
.
$route
.
query
.
InPay
;
}
if
(
this
.
isFrompassenger
)
{
this
.
setDocument
();
}
}
else
{
this
.
loading
=
false
;
this
.
$message
.
error
(
res
.
data
.
message
);
}
},
err
=>
{})
},
admin_get_DepartmentGetList
(
Bid
,
T
)
{
if
(
Bid
==
0
)
{
this
.
chosenPeople
=
[];
}
// 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
()
{
//公司
getSchoolPage
(
this
.
schoolMsg
).
then
(
res
=>
{
this
.
CompanyList
=
res
.
Data
.
PageData
;
}).
catch
(()
=>
{
})
},
//设置选中单据名单
setDocument
()
{
let
guojiSessions
=
JSON
.
parse
(
window
.
sessionStorage
.
getItem
(
"guoji"
));
if
(
guojiSessions
.
guojiArr
.
length
>
0
)
{
this
.
msg
.
detailList
.
push
({
ID
:
0
,
UnitPrice
:
''
,
UnitPriceTo
:
''
,
Number
:
guojiSessions
.
guojiArr
.
length
,
Rate
:
''
,
CostTypeId
:
52
,
CurrencyId
:
''
,
Remark
:
''
,
CostTypeName
:
''
,
yTotalPrice
:
''
,
yTotalPriceTo
:
''
,
bTotalPrice
:
''
,
bTotalPriceTo
:
''
,
show
:
false
,
});
}
if
(
guojiSessions
.
guoneiArr
.
length
>
0
)
{
this
.
msg
.
detailList
.
push
({
ID
:
0
,
UnitPrice
:
''
,
UnitPriceTo
:
''
,
Number
:
guojiSessions
.
guoneiArr
.
length
,
Rate
:
''
,
CostTypeId
:
66
,
CurrencyId
:
''
,
Remark
:
''
,
CostTypeName
:
''
,
yTotalPrice
:
''
,
yTotalPriceTo
:
''
,
bTotalPrice
:
''
,
bTotalPriceTo
:
''
,
show
:
false
,
});
}
if
(
guojiSessions
.
shuijinArr
.
length
>
0
)
{
this
.
msg
.
detailList
.
push
({
ID
:
0
,
UnitPrice
:
''
,
UnitPriceTo
:
''
,
Number
:
guojiSessions
.
shuijinArr
.
length
,
Rate
:
''
,
CostTypeId
:
80
,
CurrencyId
:
''
,
Remark
:
''
,
CostTypeName
:
''
,
yTotalPrice
:
''
,
yTotalPriceTo
:
''
,
bTotalPrice
:
''
,
bTotalPriceTo
:
''
,
show
:
false
,
});
}
if
(
this
.
orderObj
!=
null
&&
this
.
orderObj
.
OrderSource
===
4
&&
this
.
isFrompassenger
)
{
let
guojiSessions
=
JSON
.
parse
(
window
.
sessionStorage
.
getItem
(
"guoji"
));
let
guoji
=
''
,
guonei
=
''
,
guojizhongduan
=
''
,
shuijin
=
''
,
shengcang
=
''
;
guojiSessions
.
guojiArr
.
forEach
(
x
=>
{
guoji
+=
x
+
' '
})
guojiSessions
.
guoneiArr
.
forEach
(
x
=>
{
guonei
+=
x
+
' '
})
guojiSessions
.
gjzdArr
.
forEach
(
x
=>
{
guojizhongduan
+=
x
+
' '
})
guojiSessions
.
shuijinArr
.
forEach
(
x
=>
{
shuijin
+=
x
+
' '
})
guojiSessions
.
shengcangArr
.
forEach
(
x
=>
{
shengcang
+=
x
+
' '
})
var
gj
=
guoji
==
''
?
''
:
'国际机票:'
+
guoji
;
var
gn
=
guonei
==
''
?
''
:
'国内航段:'
+
guonei
;
var
gjzd
=
guojizhongduan
==
''
?
''
:
'国际中段:'
+
guojizhongduan
;
var
sj
=
shuijin
==
''
?
''
:
'税金:'
+
shuijin
;
var
sc
=
shengcang
==
''
?
''
:
'升舱:'
+
shengcang
;
if
(
gj
!=
''
)
{
gj
=
gj
+
`\n`
}
if
(
gn
!=
''
)
{
gn
=
gn
+
`\n`
}
if
(
gjzd
!=
''
)
{
gjzd
=
gjzd
+
`\n`
}
if
(
sj
!=
''
)
{
sj
=
sj
+
`\n`
}
this
.
Description
=
gj
+
gn
+
gjzd
+
sj
+
sc
}
},
MaxMoney
()
{
// 获取最大金额
this
.
apipost
(
'Financial_get_GetFinanceMoneyLimit'
,
{},
res
=>
{
if
(
res
.
data
.
resultCode
==
1
)
{
this
.
maxmoneyData
=
res
.
data
.
data
;
}
},
err
=>
{})
},
},
created
()
{
var
that
=
this
;
this
.
orderObj
=
this
.
$route
.
query
.
orderObj
?
JSON
.
parse
(
this
.
$route
.
query
.
orderObj
)
:
null
;
this
.
isFrompassenger
=
this
.
orderObj
?
this
.
orderObj
.
isFromPassenger
:
undefined
;
let
TCID
=
(
this
.
orderObj
&&
this
.
orderObj
.
TCIDList
&&
this
.
orderObj
.
TCIDList
.
length
>
0
)
?
this
.
orderObj
.
TCIDList
[
0
]
:
0
if
(
this
.
orderObj
!=
null
&&
this
.
orderObj
.
OrderSource
===
10
&&
this
.
isFrompassenger
==
undefined
)
{
that
.
Description
=
"旅客名单:"
;
that
.
describeList
=
JSON
.
parse
(
sessionStorage
.
getItem
(
"saveGuestInfo"
));
if
(
that
.
describeList
)
{
that
.
describeList
.
forEach
(
item
=>
{
that
.
Description
+=
item
.
GuestName
+
" "
;
})
}
}
if
(
this
.
orderObj
&&
this
.
orderObj
.
OtherType
)
{
this
.
ZhuiJiaTK
=
true
}
this
.
apipost
(
'financeinfo_post_GetList'
,
{
Name
:
''
,
TCID
:
TCID
},
res
=>
{
if
(
res
.
data
.
resultCode
==
1
)
{
this
.
coinGetList
=
res
.
data
.
data
;
}
},
err
=>
{})
},
mounted
()
{
// 付款单新增或修改 获取最大金额
if
((
this
.
$route
.
query
.
type
&&
this
.
$route
.
query
.
type
==
2
)
||
(
this
.
$route
.
query
.
Type
&&
this
.
$route
.
query
.
Type
==
2
))
{
this
.
MaxMoney
();
}
let
userInfo
=
this
.
getLocalStorage
();
this
.
department
=
userInfo
.
DeptName
;
this
.
EmployeeId
=
userInfo
.
Id
;
this
.
emplyeeName
=
userInfo
.
emName
;
this
.
DepartIDs
=
this
.
msg
.
RB_Depart_Id
=
userInfo
.
DeptId
;
this
.
RB_Branch_id
=
this
.
departmentMsg
.
RB_Branch_Id
=
this
.
msg
.
RB_Branch_Id
=
userInfo
.
School_Id
;
this
.
companyMsg
.
RB_Group_Id
=
this
.
departmentMsg
.
RB_Group_Id
=
userInfo
.
Group_Id
;
this
.
IsUploadPic
=
this
.
$route
.
query
.
IsUploadPic
;
this
.
msg
.
Cmd
=
this
.
$route
.
query
.
Cmd
?
this
.
$route
.
query
.
Cmd
:
''
;
this
.
financeinfo_post_GetClientTypeList
();
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.financeinfo_post_GetList(TCID);
if
(
this
.
$route
.
query
.
edit
)
{
// 编辑
this
.
msg
.
FrID
=
this
.
$route
.
query
.
FrID
;
this
.
Financial_post_Get
(
this
.
$route
.
query
.
FrID
,
0
);
}
else
{
if
(
this
.
$route
.
query
.
czmsg
)
{
this
.
czmsg
=
JSON
.
parse
(
this
.
$route
.
query
.
czmsg
);
if
(
this
.
czmsg
.
Rate
)
{
this
.
czmsgState
=
true
;
}
}
this
.
msg
.
TemplateId
=
this
.
$route
.
query
.
id
;
if
(
this
.
$route
.
query
.
id
==
90
||
this
.
$route
.
query
.
id
==
91
)
{
this
.
msg
.
IsPublic
=
10
;
}
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