Commit 3d17e5d8 authored by zhengke's avatar zhengke

1

parent de526218
<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>&nbsp;</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>
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment