Commit 8d5d0ba6 authored by youjie's avatar youjie

收支查询 修改交易方式功能

parent 314ea071
...@@ -977,7 +977,7 @@ input[type="number"] { ...@@ -977,7 +977,7 @@ input[type="number"] {
<el-tooltip v-if="ActionMenuCode.indexOf('F_Update_TradeDate')!=-1" class="item" :content="$t('fnc.tzjyriqi')" placement="top"> <el-tooltip v-if="ActionMenuCode.indexOf('F_Update_TradeDate')!=-1" class="item" :content="$t('fnc.tzjyriqi')" placement="top">
<i v-if="msg.Conditon==2 && item.TradeDate" class="iconfont icon-tiaozheng" @click="dialogFormVisible=true,updateMsg.FrID=item.FrID,updateMsg.OTradeDate=item.TradeDate" ></i> <i v-if="msg.Conditon==2 && item.TradeDate" class="iconfont icon-tiaozheng" @click="dialogFormVisible=true,updateMsg.FrID=item.FrID,updateMsg.OTradeDate=item.TradeDate" ></i>
</el-tooltip> </el-tooltip>
<!-- <el-tooltip class="item" content="交易方式" placement="top" v-if="active==2 && istransaction == true"> <!-- <el-tooltip class="item" content="交易方式" placement="top" v-if="item.TCIDAndTCNUMList&&item.TCIDAndTCNUMList.length>0&&active==2 && istransaction == true">
<i v-if="active==2" class="iconfont icon-zhifupeizhiguanli" <i v-if="active==2" class="iconfont icon-zhifupeizhiguanli"
@click="showjiaoyi(item.FrID)"></i> @click="showjiaoyi(item.FrID)"></i>
</el-tooltip> --> </el-tooltip> -->
......
...@@ -328,6 +328,338 @@ ...@@ -328,6 +328,338 @@
</ul> </ul>
</div> </div>
<div class="_fnDm_content" v-loading='loading'> <div class="_fnDm_content" v-loading='loading'>
<el-table
ref="multipleTable"
:data="DataList"
tooltip-effect="dark"
style="width: 100%">
<el-table-column
prop="address"
label="单号">
<template slot-scope="scope">
<el-popover
popper-class="detailsIT_Journal"
placement="bottom-start"
trigger="click">
<template v-if="(scope.row.Type==2 || scope.row.Type==6)&&scope.row.modelShow&&(scope.row.Is_Merge==0||scope.row.Is_Merge==null)">
<my-Bill :ID="scope.row.FrID" :width="widthSon" :color="colorSon"></my-Bill>
</template>
<template v-else-if="(scope.row.Type==1 || scope.row.Type==5)&&scope.row.modelShow&&(scope.row.Is_Merge==0||scope.row.Is_Merge==null)">
<my-RVB-Bill :ID="scope.row.FrID" :width="widthSon" :color="colorSon"></my-RVB-Bill>
</template>
<template v-else-if="scope.row.Is_Merge==1&&scope.row.modelShow">
<my-HB-Bill :ID="scope.row.FrID" :width="widthSon" :color="colorSon"></my-HB-Bill>
</template>
<span slot="reference" @click="scope.row.modelShow = true" style="text-decoration: underline;cursor: pointer;font-weight: bold" >{{scope.row.FrID}}</span>
</el-popover>
</template>
</el-table-column>
<el-table-column
prop=""
label="所属公司">
<template slot-scope="scope">
<span>{{scope.row.BranchName}}</span>
</template>
</el-table-column>
<el-table-column
prop=""
label="单据类型">
<template slot-scope="scope">
<span>
<span v-if="scope.row.Type==2" style="display: inline-block;
padding: 2px 8px;
color: white;
background-color: #E95252;
line-height: 16px;
border-radius: 4px;">
支出
</span>
<span v-if="scope.row.Type==1" style="display: inline-block;
padding: 2px 8px;
color: white;
background-color: #2BB87C;
line-height: 16px;
border-radius: 4px;">
收入
</span>
<span v-if="scope.row.Type==5" style="display: inline-block;
padding: 2px 8px;
color: white;
background-color: #2BB87C;
line-height: 16px;
border-radius: 4px;">
应收
</span>
<span v-if="scope.row.Type==6" style="display: inline-block;
padding: 2px 8px;
color: white;
background-color: #E95252;
line-height: 16px;
border-radius: 4px;">
应付
</span>
<el-tooltip class="item" effect="dark" content="追加团款" placement="top">
<span v-if="scope.row.OtherType == 1" style="width: 20px;
height: 20px;
display: inline-block;
border-radius: 50%;
text-align: center;
line-height: 20px;
color: #E95252;
border: 1px solid #E95252;
font-size: 12px;" class="zhuiClass"></span>
</el-tooltip>
</span>
</template>
</el-table-column>
<el-table-column
prop=""
label="关联信息">
<template slot-scope="scope">
<div>
<template v-if="scope.row.TCIDAndTCNUMList.length>0">
<p class="_TCIDAndTCNUMList" style="display: flex;">
<span>团号:</span>
<template v-if="scope.row.TCIDAndTCNUMList&&scope.row.TCIDAndTCNUMList.length>0">
<p><span v-for="(i,ix) in scope.row.TCIDAndTCNUMList">{{i.TCNUM}}{{i.TCID}}<span v-if="ix!=scope.row.TCIDAndTCNUMList.length-1">,</br></span></span></p>
</template>
<template v-else>
<span></span>
</template>
</p>
<p v-if="scope.row.OrderID>0 && scope.row.OrderSource==8">单号:<span class="">{{scope.row.OrderID}}</span></p>
</template>
<template v-else-if="scope.row.OrderSource==8 && scope.row.TCIDAndTCNUMList.length==0">
<p class="_TCIDAndTCNUMList">暂无团期信息</p>
</template>
<template v-else-if="scope.row.OrderSource==4 && scope.row.TCIDAndTCNUMList.length==0">
<p class="_TCIDAndTCNUMList" style="text-decoration: underline;cursor: pointer;" @click="goTicketPage(scope.row)">机票编号:{{scope.row.SourceID}}</p>
<p style="margin-top: 5px;">线路:<span>{{scope.row.LineName?rowData.LineName:'机票尚未选择线路'}}</span></p>
</template>
<template v-else-if="scope.row.OrderSource==9 && scope.row.TCIDAndTCNUMList.length==0">
<p class="_TCIDAndTCNUMList">国内票务期数:{{scope.row.Term}}</p>
</template>
<template v-else-if="scope.row.OrderSource==10 && scope.row.TCIDAndTCNUMList.length==0">
<p class="_TCIDAndTCNUMList">签证产品编号:{{scope.row.SourceID}}</p>
</template>
<template v-else-if="scope.row.OrderSource==0 || scope.row.OrderSource==null">
<p class="_TCIDAndTCNUMList">{{ scope.row.BranchName }}-{{scope.row.DepartName}} </p>
</template>
<template v-else>
<p class="_TCIDAndTCNUMList">暂无</p>
</template>
</div>
</template>
</el-table-column>
<el-table-column
prop=""
label="费用类型">
<template slot-scope="scope">
<div>
<template v-for="(s,si) in scope.row.CostTypeList">
<span style="background-color: rgba(64,158,255,.1);display: inline-block;padding: 0 5px;height: 22px;line-height: 20px;font-size: 12px;color: #646464;border-radius: 4px;box-sizing: border-box;border: 1px solid rgba(64,158,255,.2);white-space: nowrap;margin-bottom: 4px;">{{s}}</span></br>
</template>
</div>
</template>
</el-table-column>
<el-table-column
prop=""
label="交易方式" show-overflow-tooltip width="150">
<template slot-scope="scope">
<div>
<template v-if="scope.row.TradeWayList&&scope.row.TradeWayList.length>0">
<div class="_TradeWayList" v-for="(tw,twIn) in scope.row.TradeWayList"
style="line-height: normal !important;padding: 5px 10px;background-color: #EEEEEE;border-radius: 4px;margin: 10px 0;width:230px">
<p><span style="font-weight: bold;color:#333333">{{tw.Alias}}</span><span class="_bank_name"
style="height:20px;;display: inline-block;background-color: #333333;color: white;padding: 2px 4px;border-radius: 4px;margin-left:10px;margin-letf:10px">
{{scope.row.TradeWayList[0].TypeName}}</span>
<span style="height:20px;display: inline-block;background-color: #333333;color: white;padding: 2px 4px;border-radius: 4px;margin-left:10px;"
:style="{'background-color':tw.AccountType=='私'?'#2AAEF2':'#FF9C01'}">{{tw.AccountType==""?'无':tw.AccountType}}</span> </p>
<p style="color:#333333">{{tw.BankNo}}</p>
</div>
</template>
<template v-else>
<div class="_pad5">
</div>
</template>
</div>
</template>
</el-table-column>
<el-table-column
prop=""
label="金额">
<template slot-scope="scope">
<span>
<p style="line-height:20px">{{scope.row.Type==1?'应收':'应付'}}<span>{{scope.row.Money}}</span></p>
<p style="line-height:20px">{{scope.row.Type==1?'实收':'实付'}}<span>{{scope.row.PayMoney}}</span></p>
<p v-if="scope.row.IsAdvanceFinance==1" style="line-height:20px">冲抵:<span>{{scope.row.MatchMoney}}</span></p>
</span>
</template>
</el-table-column>
<el-table-column
prop=""
label="付款对象">
<template slot-scope="scope">
<span>
<span style="color: gray">{{scope.row.Type==2?scope.row.ClientTypeName+':':'汇款人:'}}</span><span>{{scope.row.RemitterName}}</span>
</span>
</template>
</el-table-column>
<el-table-column
prop=""
label="制单人员">
<template slot-scope="scope">
<div>
<div>{{scope.row.EmName}}</div>
<div>{{scope.row.CreateDate}}</div>
</div>
</template>
</el-table-column>
<el-table-column
prop=""
label="单据状态">
<template slot-scope="scope">
<i v-if="scope.row.Status==1" class="iconfont icon-daiqueren" style="color: #4BCA81"></i>
<i v-if="scope.row.Status==4" class="iconfont icon-yiquxiao" style="color: #4BCA81"></i>
<i v-if="scope.row.Status==2" class="iconfont icon-yiqueren" style="color: #959595"></i>
<i v-if="scope.row.Status==3" class="iconfont icon-shenhebohui" style="color: #E95252"></i>
<i v-if="scope.row.Status==0" class="iconfont icon-zancun" style="color: #FF9C01"></i>
<el-popover
popper-class="detailsIT_Journal"
width="250"
trigger="click">
<div style="height: auto;max-height: 220px;background-color: #FFFFFF;">
<div class="changLog">
<p class="_log_t">流程日志</p>
<ul style="padding-left: 20px;max-height: 180px;overflow: auto;" v-if="GetFinancLogList" v-loading='LogLoading'>
<li style="border-left: 1px solid #E9E9E9;position: relative;padding-bottom: 10px;padding-left: 20px;padding-top: 10px;" v-for="(log,li) in GetFinancLogList">
<span style="background-color: #47BF8C;width: 7px;height: 7px;border-radius: 50%;display: inline-block;position: absolute;left: -4px;top: 19px;"></span>
<p> <span class="_color_blue">{{log.EmName}}</span> <span class="fr changLog_time">{{log.UpdateDate}}</span> </p>
<p class="_dtel">{{log.StartValue}}</p>
</li>
</ul>
<ul v-else>
<li>暂无修改日志</li>
</ul>
</div>
</div>
<span slot="reference" class="text_d _font_init" @click="Financial_post_GetFinancLogList(rowData.FrID)">{{scope.row.StatusStr}}</span>
</el-popover>
</template>
</el-table-column>
<el-table-column
prop=""
label="操作">
<template slot-scope="scope">
<el-tooltip class="item" effect="dark" content="查看" placement="top">
<i v-if="scope.row.Type !== 4" style="width: 30px;
height: 30px;
display: inline-block;
color: white !important;
border-radius: 50%;
text-align: center;
line-height: 30px;
margin-right: 10px;
cursor: pointer;
background-color: #47BF8C;
outline: none;"
class="iconfont icon-sousuo" @click="goUrlDetail('FinancialDocumentsDetail',scope.row)">
</i>
<i v-if="scope.row.Type === 4" style="width: 30px;
height: 30px;
display: inline-block;
color: white !important;
border-radius: 50%;
text-align: center;
line-height: 30px;
margin-right: 10px;
cursor: pointer;
background-color: #47BF8C;
outline: none;"
class="iconfont icon-sousuo" @click="goUrl('CapitalAllocationDetail')">
</i>
</el-tooltip>
<el-tooltip class="item" effect="dark" content="转交" placement="top">
<i v-if="scope.row.isExchange" style="width: 30px;
height: 30px;
display: inline-block;
color: white !important;
border-radius: 50%;
text-align: center;
line-height: 30px;
margin-right: 10px;
cursor: pointer;
background-color: #47BF8C;
outline: none;"
class="iconfont icon-zhuanhuan1" @click="getExchange(scope.row,scope.$index)">
</i>
</el-tooltip>
<el-tooltip class="item" effect="dark" content="费用类型" placement="top">
<i style="width: 30px;
height: 30px;
display: inline-block;
color: white !important;
border-radius: 50%;
text-align: center;
line-height: 30px;
margin-right: 10px;
cursor: pointer;
background-color: #47BF8C;
outline: none;" class="iconfont icon-feiyongleixing"
v-if="Finance_ExpenseType==true && (scope.row.Type==2 || scope.row.Type==1)" @click="showfeiy(scope.row)">
</i>
</el-tooltip>
<el-tooltip class="item" effect="dark" content="修改汇率" placement="top">
<i style="width: 30px;
height: 30px;
display: inline-block;
color: white !important;
border-radius: 50%;
text-align: center;
line-height: 30px;
margin-right: 10px;
cursor: pointer;
background-color: #47BF8C;
outline: none;" class="iconfont icon-money" v-if="F_Update_CurrencyRate==true && (scope.row.Type==2 || scope.row.Type==1)" @click="editRate(scope.row)">
</i>
</el-tooltip>
<el-tooltip class="item" effect="dark" content="修改手续费" placement="top">
<i style="width: 30px;
height: 30px;
display: inline-block;
color: white !important;
border-radius: 50%;
text-align: center;
line-height: 30px;
margin-right: 10px;
cursor: pointer;
background-color: #47BF8C;
outline: none;" class="iconfont icon-money"
v-if="scope.row.Type==1&&(istransaction == true || isJapanCommission == true)"
@click="editCommission(scope.row)">
</i>
</el-tooltip>
<el-tooltip class="item" content="交易方式" placement="top" v-if="
scope.row.TradeWayList&&scope.row.TradeWayList.length>0&&scope.row.Type==2 && isManageFinance == true">
<i style="width: 30px;
height: 30px;
display: inline-block;
color: white !important;
border-radius: 50%;
text-align: center;
line-height: 30px;
margin-right: 10px;
cursor: pointer;
background-color: #47BF8C;
outline: none;" class="iconfont icon-zhifupeizhiguanli"
@click="showjiaoyi(scope.row.FrID)">
</i>
</el-tooltip>
</template>
</el-table-column>
</el-table>
<!--
<v-table <v-table
is-horizontal-resize is-horizontal-resize
column-width-drag column-width-drag
...@@ -338,8 +670,8 @@ ...@@ -338,8 +670,8 @@
:row-height='100' :row-height='100'
@on-custom-comp="customCompFunc" @on-custom-comp="customCompFunc"
@sort-change="sortChange" @sort-change="sortChange"
multiple-sort><!-- 多个排序 --> multiple-sort>
</v-table> </v-table> -->
<div style="padding-bottom:15px"> <div style="padding-bottom:15px">
<!-- :total='total' <!-- :total='total'
:pageSize='pageSize' :pageSize='pageSize'
...@@ -401,38 +733,39 @@ ...@@ -401,38 +733,39 @@
<el-button class="normalBtn" type="primary" @click="preservetransaction()">{{$t('pub.sureBtn')}}</el-button> <el-button class="normalBtn" type="primary" @click="preservetransaction()">{{$t('pub.sureBtn')}}</el-button>
</div> </div>
</el-dialog> </el-dialog>
<!-- 修改交易方式 -->
<el-dialog title="修改交易方式" width="600px"
:visible.sync="transactionmode" center>
<el-form label-width="110px">
<div class="rb_top_row _r_mb5" v-for='(x,y) in trabeList' :key='y'>
<p>收款账户:
<el-select filterable v-model='x.AccountTypeId' placeholder="" @change="getAccountList2(x.AccountTypeId,y,1)"
class="w150 _border_b_1">
<el-option v-for='item in AccList' :label='item.Name' :value='item.ID' :key='item.ID'>
</el-option>
</el-select>
<el-select filterable v-model='x.AccountId' placeholder="" @change="getAccountList3(x,y)"
class="w250 _border_b_1" >
<el-option v-for='item in x.list' :label='item.Name' :value='item.ID' :key='item.ID'>
</el-option>
</el-select>
</p>
</div>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button class="hollowFixedBtn" @click="transactionmode=false">{{$t('pub.cancelBtn')}}</el-button>
<el-button class="normalBtn" type="primary" @click="preservetransaction(1)" :loading="loadingTranMode">{{$t('pub.sureBtn')}}</el-button>
</div>
</el-dialog>
<!-- 修改汇率 -->
<editExchangeRate v-if="costmodeHL" <editExchangeRate v-if="costmodeHL"
:hlData="trabeListHL" :hlData="trabeListHL"
@success="resetPageIndex(), @success="resetPageIndex(),
getPageList(), getPageList(),
costmodeHL=false" costmodeHL=false"
@cancel="costmodeHL=false"></editExchangeRate> @cancel="costmodeHL=false"></editExchangeRate>
<!-- 修改汇率
<el-dialog title="修改汇率" width="400px"
:visible.sync="costmodeHL" center >
<template v-for='(x,y) in trabeListHL'>
<el-form label-width="110px" style="padding: 5px 0;">
费用:{{x.CostTypeName}}
</el-form>
<el-form label-width="110px" style="padding: 5px 0;">
币种:{{x.CurrencyName}}
</el-form>
<el-form label-width="110px" style="padding: 5px 0;">
原币:{{x.OriginalMoney}}
</el-form>
<el-form label-width="110px" style="padding: 5px 0;">
本位币:{{x.Money}}
</el-form>
<el-form label-width="110px" style="padding: 5px 0;">
汇率:
<el-input-number v-model="x.Rate" :min="0" style="width: 240px;" @change="getRate"></el-input-number>
</el-form>
</template>
<div slot="footer" class="dialog-footer">
<el-button class="hollowFixedBtn" @click="costmodeHL=false">{{$t('pub.cancelBtn')}}</el-button>
<el-button class="normalBtn" type="primary" @click="preservetransactionHL()">{{$t('pub.sureBtn')}}</el-button>
</div>
</el-dialog> -->
<!-- 修改手续费 --> <!-- 修改手续费 -->
<template v-if="transactionTax"> <template v-if="transactionTax">
<shouxufei :transTax="transTax" <shouxufei :transTax="transTax"
...@@ -447,518 +780,12 @@ import myhrBill from "./FinancialSubmodule/MergeBillModule.vue"; ...@@ -447,518 +780,12 @@ import myhrBill from "./FinancialSubmodule/MergeBillModule.vue";
import shouxufei from "./components/shouxufei.vue"; import shouxufei from "./components/shouxufei.vue";
import editExchangeRate from "./components/editExchangeRate.vue"; import editExchangeRate from "./components/editExchangeRate.vue";
import Vue from 'vue' import Vue from 'vue'
// 自定义列组件
Vue.component('table-BranchName',{ //查看操作按钮
template:`<span>{{rowData.BranchName}}</span>`,
props:{
rowData:{
type:Object
},
field:{
type:String
},
index:{
type:Number
}
},
methods:{
goUrl(path){
// let routeData = this.$router.resolve({
// name: path,
// query: {id:this.rowData.FrID}
// });
// window.open(routeData.href, "_blank");
this.$router.push({
path: '/' + path,
query: {id:this.rowData.FrID,blank:'y',tab:this.rowData.FrID+'单据详情'}
})
},
}
})
Vue.component('table-operation',{ //查看操作按钮
template:`<span>
<el-tooltip class="item" effect="dark" content="查看" placement="top">
<i v-if="rowData.Type !== 4" style="width: 30px;
height: 30px;
display: inline-block;
color: white !important;
border-radius: 50%;
text-align: center;
line-height: 30px;
margin-right: 10px;
cursor: pointer;
background-color: #47BF8C;
outline: none;"
class="iconfont icon-sousuo" @click="goUrl('FinancialDocumentsDetail')">
</i>
<i v-if="rowData.Type === 4" style="width: 30px;
height: 30px;
display: inline-block;
color: white !important;
border-radius: 50%;
text-align: center;
line-height: 30px;
margin-right: 10px;
cursor: pointer;
background-color: #47BF8C;
outline: none;"
class="iconfont icon-sousuo" @click="goUrl('CapitalAllocationDetail')">
</i>
</el-tooltip>
<el-tooltip class="item" effect="dark" content="转交" placement="top">
<i v-if="rowData.isExchange" style="width: 30px;
height: 30px;
display: inline-block;
color: white !important;
border-radius: 50%;
text-align: center;
line-height: 30px;
margin-right: 10px;
cursor: pointer;
background-color: #47BF8C;
outline: none;"
class="iconfont icon-zhuanhuan1" @click="getExchange(rowData,index)">
</i>
</el-tooltip>
<el-tooltip class="item" effect="dark" content="费用类型" placement="top">
<i style="width: 30px;
height: 30px;
display: inline-block;
color: white !important;
border-radius: 50%;
text-align: center;
line-height: 30px;
margin-right: 10px;
cursor: pointer;
background-color: #47BF8C;
outline: none;" class="iconfont icon-feiyongleixing" v-if="Finance_ExpenseType==true && (rowData.Type==2 || rowData.Type==1)" @click="showfeiy(rowData)">
</i>
</el-tooltip>
<el-tooltip class="item" effect="dark" content="修改汇率" placement="top">
<i style="width: 30px;
height: 30px;
display: inline-block;
color: white !important;
border-radius: 50%;
text-align: center;
line-height: 30px;
margin-right: 10px;
cursor: pointer;
background-color: #47BF8C;
outline: none;" class="iconfont icon-money" v-if="F_Update_CurrencyRate==true && (rowData.Type==2 || rowData.Type==1)" @click="editRate(rowData)">
</i>
</el-tooltip>
<el-tooltip class="item" effect="dark" content="修改手续费" placement="top">
<i style="width: 30px;
height: 30px;
display: inline-block;
color: white !important;
border-radius: 50%;
text-align: center;
line-height: 30px;
margin-right: 10px;
cursor: pointer;
background-color: #47BF8C;
outline: none;" class="iconfont icon-money"
v-if="rowData.Type==1&&(istransaction == true || isJapanCommission == true)"
@click="editCommission(rowData)">
</i>
</el-tooltip>
</span>`,
props:{
rowData:{
type:Object
},
field:{
type:String
},
index:{
type:Number
}
},
data(){
return{
Finance_ExpenseType:false,
F_Update_CurrencyRate:false,
istransaction: false,
isJapanCommission: false
}
},
created(){
let userinfo = this.getLocalStorage();
let ActionMenuCode=userinfo.ActionMenuCode;
if(ActionMenuCode.indexOf('Finance_ExpenseType')!=-1){
this.Finance_ExpenseType=true;
}
if(ActionMenuCode.indexOf('F_Update_CurrencyRate')!=-1){
this.F_Update_CurrencyRate=true;
}
if (ActionMenuCode.indexOf("F_Trademodify") != -1) {
this.istransaction = true;
}
if(userinfo.RB_Branch_id == 1218&&ActionMenuCode.indexOf('isJapanCommission')!=-1){
this.isJapanCommission=true;
}
},
methods:{
goUrl(path){
// let routeData = this.$router.resolve({
// name: path,
// query: {id:this.rowData.FrID}
// });
// window.open(routeData.href, "_blank");
this.$router.push({
path: '/' + path,
query: {id:this.rowData.FrID,blank:'y',tab:this.rowData.FrID+'单据详情'}
})
},
getExchange(rowData,index){
this.MsgBus.$emit('getRecQuery',rowData.FrID);
},
showfeiy(rowData){
this.MsgBus.$emit('showfeiyong',rowData);
},
editRate(rowData){
this.MsgBus.$emit('showhuilv',rowData);
},
editCommission(rowData){
this.MsgBus.$emit('shouxufei',rowData);
},
}
})
Vue.component('table-RecPay',{ //收支样式
template:`
<span>
<span v-if="rowData.Type==2" style="display: inline-block;
padding: 2px 8px;
color: white;
background-color: #E95252;
line-height: 16px;
border-radius: 4px;">
支出
</span>
<span v-if="rowData.Type==1" style="display: inline-block;
padding: 2px 8px;
color: white;
background-color: #2BB87C;
line-height: 16px;
border-radius: 4px;">
收入
</span>
<span v-if="rowData.Type==5" style="display: inline-block;
padding: 2px 8px;
color: white;
background-color: #2BB87C;
line-height: 16px;
border-radius: 4px;">
应收
</span>
<span v-if="rowData.Type==6" style="display: inline-block;
padding: 2px 8px;
color: white;
background-color: #E95252;
line-height: 16px;
border-radius: 4px;">
应付
</span>
<el-tooltip class="item" effect="dark" content="追加团款" placement="top">
<span v-if="rowData.OtherType == 1" style="width: 20px;
height: 20px;
display: inline-block;
border-radius: 50%;
text-align: center;
line-height: 20px;
color: #E95252;
border: 1px solid #E95252;
font-size: 12px;" class="zhuiClass">追</span>
</el-tooltip>
</span>`,
props:{
rowData:{
type:Object
},
field:{
type:String
},
index:{
type:Number
}
},
methods:{
}
})
Vue.component('table-BillRVB',{ //单据样式
template:`
<el-popover
popper-class="detailsIT_Journal"
placement="bottom-start"
trigger="click">
<template v-if="(rowData.Type==2 || rowData.Type==6)&&rowData.modelShow&&(rowData.Is_Merge==0||rowData.Is_Merge==null)">
<my-Bill :ID="rowData.FrID" :width="widthSon" :color="colorSon"></my-Bill>
</template>
<template v-else-if="(rowData.Type==1 || rowData.Type==5)&&rowData.modelShow&&(rowData.Is_Merge==0||rowData.Is_Merge==null)">
<my-RVB-Bill :ID="rowData.FrID" :width="widthSon" :color="colorSon"></my-RVB-Bill>
</template>
<template v-else-if="rowData.Is_Merge==1&&rowData.modelShow">
<my-HB-Bill :ID="rowData.FrID" :width="widthSon" :color="colorSon"></my-HB-Bill>
</template>
<span slot="reference" @click="rowData.modelShow = true" style="text-decoration: underline;cursor: pointer;font-weight: bold" >{{rowData.FrID}}</span>
</el-popover>`,
props:{
rowData:{
type:Object
},
field:{
type:String
},
index:{
type:Number
}
},components: {
"my-Bill": myBill,
"my-RVB-Bill":myrbvBill,
"my-HB-Bill":myhrBill,
},
data(){
return{
widthSon:'700px',
colorSon:"#f5f5f5",
}
},
methods:{
}
})
Vue.component('table-Info',{ //关联信息
template:`
<div>
<template v-if="rowData.TCIDAndTCNUMList.length>0">
<p class="_TCIDAndTCNUMList" style="display: flex;">
<span>团号:</span>
<template v-if="rowData.TCIDAndTCNUMList&&rowData.TCIDAndTCNUMList.length>0">
<p><span v-for="(i,ix) in rowData.TCIDAndTCNUMList">{{i.TCNUM}}({{i.TCID}}) <span v-if="ix!=rowData.TCIDAndTCNUMList.length-1">,</br></span></span></p>
</template>
<template v-else>
<span>无</span>
</template>
</p>
<p v-if="rowData.OrderID>0 && rowData.OrderSource==8">单号:<span class="">{{rowData.OrderID}}</span></p>
</template>
<template v-else-if="rowData.OrderSource==8 && rowData.TCIDAndTCNUMList.length==0">
<p class="_TCIDAndTCNUMList">暂无团期信息</p>
</template>
<template v-else-if="rowData.OrderSource==4 && rowData.TCIDAndTCNUMList.length==0">
<p class="_TCIDAndTCNUMList" style="text-decoration: underline;cursor: pointer;" @click="goTicketPage(rowData)">机票编号:{{rowData.SourceID}}</p>
<p style="margin-top: 5px;">线路:<span>{{rowData.LineName?rowData.LineName:'机票尚未选择线路'}}</span></p>
</template>
<template v-else-if="rowData.OrderSource==9 && rowData.TCIDAndTCNUMList.length==0">
<p class="_TCIDAndTCNUMList">国内票务期数:{{rowData.Term}}</p>
</template>
<template v-else-if="rowData.OrderSource==10 && rowData.TCIDAndTCNUMList.length==0">
<p class="_TCIDAndTCNUMList">签证产品编号:{{rowData.SourceID}}</p>
</template>
<template v-else-if="rowData.OrderSource==0 || rowData.OrderSource==null">
<p class="_TCIDAndTCNUMList">{{ rowData.BranchName }}-{{rowData.DepartName}} </p>
</template>
<template v-else>
<p class="_TCIDAndTCNUMList">暂无</p>
</template>
</div>`,
props:{
rowData:{
type:Object
},
field:{
type:String
},
index:{
type:Number
}
},
methods:{
goTicketPage(data) { // 跳转机票
this.$router.push({ name: 'TicketManager',query:{id:data.SourceID,blank:'y',tab:'票务管理'} })
},
}
})
Vue.component('table-CostType',{ //费用类型
template:`
<div>
<template v-for="(s,si) in rowData.CostTypeList">
<span style="background-color: rgba(64,158,255,.1);display: inline-block;padding: 0 5px;height: 22px;line-height: 20px;font-size: 12px;color: #646464;border-radius: 4px;box-sizing: border-box;border: 1px solid rgba(64,158,255,.2);white-space: nowrap;margin-bottom: 4px;">{{s}}</span></br>
</template>
</div>`,
props:{
rowData:{
type:Object
},
field:{
type:String
},
index:{
type:Number
}
},
methods:{
}
})
Vue.component('table-TradeWay',{ //交易方式
template:`
<div>
<template v-if="rowData.TradeWayList&&rowData.TradeWayList.length>0">
<div class="_TradeWayList" v-for="(tw,twIn) in rowData.TradeWayList" style="line-height: normal !important;padding: 5px 10px;background-color: #EEEEEE;border-radius: 4px;margin: 10px 0;width:230px">
<p><span style="font-weight: bold;color:#333333">{{tw.Alias}}</span><span class="_bank_name" style="height:20px;;display: inline-block;background-color: #333333;color: white;padding: 2px 4px;border-radius: 4px;margin-left:10px;margin-letf:10px">{{rowData.TradeWayList[0].TypeName}}</span><span style="height:20px;display: inline-block;background-color: #333333;color: white;padding: 2px 4px;border-radius: 4px;margin-left:10px;" :style="{'background-color':tw.AccountType=='私'?'#2AAEF2':'#FF9C01'}">{{tw.AccountType==""?'无':tw.AccountType}}</span> </p>
<p style="color:#333333">{{tw.BankNo}}</p>
</div>
</template>
<template v-else>
<div class="_pad5">
</div>
</template>
</div>`,
props:{
rowData:{
type:Object
},
field:{
type:String
},
index:{
type:Number
}
},
methods:{
}
})
Vue.component('table-Money',{ //金额
template:`
<span>
<p style="line-height:20px">{{rowData.Type==1?'应收':'应付'}}:<span>{{rowData.Money}}</span></p>
<p style="line-height:20px">{{rowData.Type==1?'实收':'实付'}}:<span>{{rowData.PayMoney}}</span></p>
<p v-if="rowData.IsAdvanceFinance==1" style="line-height:20px">冲抵:<span>{{rowData.MatchMoney}}</span></p>
</span>`,
props:{
rowData:{
type:Object
},
field:{
type:String
},
index:{
type:Number
}
}
})
Vue.component('table-ClientTypeName',{ //付款对象
template:`
<span>
<span style="color: gray">{{rowData.Type==2?rowData.ClientTypeName+':':'汇款人:'}}</span><span>{{rowData.RemitterName}}</span>
</span>
`,
props:{
rowData:{
type:Object
},
field:{
type:String
},
index:{
type:Number
}
}
})
Vue.component('table-EmName',{ //制单人员
template:`
<div>
<div>{{rowData.EmName}}</div>
<div>{{rowData.CreateDate}}</div>
</div>`,
props:{
rowData:{
type:Object
},
field:{
type:String
},
index:{
type:Number
}
},
methods:{
}
})
Vue.component('table-StatusStr',{ //单据状态
template:`
<i v-if="rowData.Status==1" class="iconfont icon-daiqueren" style="color: #4BCA81"></i>
<i v-if="rowData.Status==4" class="iconfont icon-yiquxiao" style="color: #4BCA81"></i>
<i v-if="rowData.Status==2" class="iconfont icon-yiqueren" style="color: #959595"></i>
<i v-if="rowData.Status==3" class="iconfont icon-shenhebohui" style="color: #E95252"></i>
<i v-if="rowData.Status==0" class="iconfont icon-zancun" style="color: #FF9C01"></i>
<el-popover
popper-class="detailsIT_Journal"
width="250"
trigger="click">
<div style="height: auto;max-height: 220px;background-color: #FFFFFF;">
<div class="changLog">
<p class="_log_t">流程日志</p>
<ul style="padding-left: 20px;max-height: 180px;overflow: auto;" v-if="GetFinancLogList" v-loading='LogLoading'>
<li style="border-left: 1px solid #E9E9E9;position: relative;padding-bottom: 10px;padding-left: 20px;padding-top: 10px;" v-for="(log,li) in GetFinancLogList">
<span style="background-color: #47BF8C;width: 7px;height: 7px;border-radius: 50%;display: inline-block;position: absolute;left: -4px;top: 19px;"></span>
<p> <span class="_color_blue">{{log.EmName}}</span> <span class="fr changLog_time">{{log.UpdateDate}}</span> </p>
<p class="_dtel">{{log.StartValue}}</p>
</li>
</ul>
<ul v-else>
<li>暂无修改日志</li>
</ul>
</div>
</div>
<span slot="reference" class="text_d _font_init" @click="Financial_post_GetFinancLogList(rowData.FrID)">{{rowData.StatusStr}}</span>
</el-popover>
`,
props:{
rowData:{
type:Object
},
field:{
type:String
},
index:{
type:Number
}
},
data(){
return{
GetFinancLogList:[],
}
},
methods:{
Financial_post_GetFinancLogList(id){ // 获取单据日志
if(this.checkboxShow) return
this.LogLoading = true;
this.apipost('Financial_post_GetFinancLogList',{ID:id,Type:2}, res => {
if(res.data.resultCode == 1) {
let data = res.data.data;
data.forEach(x=>{
x.UpdateDate = this.$commonUtils.formatMsgTime(x.UpdateDate)
})
this.LogLoading = false;
this.GetFinancLogList = data;
}
}, err => {})
}
}
})
export default { export default {
data(){ data(){
return{ return{
alltransaction: [],
transactionmode: false,
transTax:{ transTax:{
FrId: 0, FrId: 0,
Fee: "0.0", Fee: "0.0",
...@@ -1069,29 +896,6 @@ export default { ...@@ -1069,29 +896,6 @@ export default {
DepartIDs:'', DepartIDs:'',
loading2:false, loading2:false,
tableData: [], tableData: [],
columns: [
{field: 'BranchName', title: '所属公司', width: 80, titleAlign: 'left',columnAlign:'left',isResize:true,componentName:'table-BranchName'},
{field: 'FrID', title: '单号', width: 80, titleAlign: 'left',columnAlign:'left',isResize:true, //orderBy排序 asc 升序 desc降序
// filterMultiple: true, // 筛选项是否多选
// filters: [
// {}
// //筛选项 无筛选项 传[{}]
// ],
result:[], //筛选项默认值 单选传字符串'1' 多选数组 [1,2,2]
type:'select',// 筛选项方式 select 下拉 check 单选、多选 text搜索 datetime时间
isFrozen:true,
componentName:'table-BillRVB'
},
{field: 'custome-RecPay', title: '单据类型', width: 120, titleAlign: 'left',columnAlign:'left',isResize:true,componentName:'table-RecPay'},
{field: 'custome-Info', title: '关联信息', width: 120, titleAlign: 'left',columnAlign:'left',isResize:true,result:'',filterMultiple:false,type:'text',componentName:'table-Info'},
{field: 'dateRange', title: '费用类型', width: 120, titleAlign: 'left',columnAlign:'left',isResize:true,result:{},filterMultiple:false,type:'datetime',componentName:'table-CostType'},
{field: 'TradeWay', title: '交易方式',width: 210, titleAlign: 'left',columnAlign:'left',isResize:true,componentName:'table-TradeWay'},
{field: 'Money', title: '金额',width: 120, titleAlign: 'left',columnAlign:'left',isResize:true,componentName:'table-Money'},
{field: 'ClientTypeName', title: '付款对象',width: 180, titleAlign: 'left',columnAlign:'left',isResize:true,componentName:'table-ClientTypeName'},
{field: 'EmName', title: '制单人员',width: 120, titleAlign: 'left',columnAlign:'left',isResize:true,componentName:'table-EmName'},
{field: 'StatusStr', title: '当前状态',width: 120, titleAlign: 'left',columnAlign:'left',isResize:true},
{field: 'custome-operation', title: '操作',width: 90, titleAlign: 'left',columnAlign:'left',componentName:'table-operation',isResize:true}
],
pageSize:5, pageSize:5,
pageIndex:1, pageIndex:1,
heightQueryBox:false, heightQueryBox:false,
...@@ -1100,8 +904,34 @@ export default { ...@@ -1100,8 +904,34 @@ export default {
bianjiShow: false, bianjiShow: false,
trabeList:[],//修改费用类型的下拉数据 trabeList:[],//修改费用类型的下拉数据
trabeListHL:[],//修改费率下拉数据 trabeListHL:[],//修改费率下拉数据
widthSon:'700px',
colorSon:"#f5f5f5",
Finance_ExpenseType:false,
F_Update_CurrencyRate:false,
istransaction: false,
isJapanCommission: false,
isManageFinance: false,
loadingTranMode: false
}
},
created(){
let userinfo = this.getLocalStorage();
let ActionMenuCode=userinfo.ActionMenuCode;
if(ActionMenuCode.indexOf('Finance_ExpenseType')!=-1){
this.Finance_ExpenseType=true;
}
if(ActionMenuCode.indexOf('F_Update_CurrencyRate')!=-1){
this.F_Update_CurrencyRate=true;
}
if (ActionMenuCode.indexOf("F_Trademodify") != -1) {
this.istransaction = true;
}
if(userinfo.RB_Branch_id == 1218&&ActionMenuCode.indexOf('isJapanCommission')!=-1){
this.isJapanCommission=true;
}
if (ActionMenuCode.indexOf("isManageFinance") != -1) {
this.isManageFinance = true
} }
},created(){
if(this.$route.query.returnCode){ if(this.$route.query.returnCode){
this.active = this.$route.query.returnCode; this.active = this.$route.query.returnCode;
this.msg.Conditon = this.$route.query.returnCode; this.msg.Conditon = this.$route.query.returnCode;
...@@ -1142,12 +972,14 @@ export default { ...@@ -1142,12 +972,14 @@ export default {
this.transactionDate[0]=this.$route.query.StartDate; this.transactionDate[0]=this.$route.query.StartDate;
this.transactionDate[1]=this.$route.query.StartDate; this.transactionDate[1]=this.$route.query.StartDate;
} }
},components: { },
components: {
"my-Bill": myBill, "my-Bill": myBill,
"my-RVB-Bill":myrbvBill, "my-RVB-Bill":myrbvBill,
shouxufei, shouxufei,
editExchangeRate editExchangeRate
},mounted(){ },
mounted(){
let userInfo=this.getLocalStorage(); let userInfo=this.getLocalStorage();
this.getCompanyMsg.RB_Group_Id= this.employeeMsg.GroupId = this.getDepartmentMsg.RB_Group_Id = userInfo.RB_Group_id; //集团ID this.getCompanyMsg.RB_Group_Id= this.employeeMsg.GroupId = this.getDepartmentMsg.RB_Group_Id = userInfo.RB_Group_id; //集团ID
this.DepartIDs = userInfo.RB_Department_Id; this.DepartIDs = userInfo.RB_Department_Id;
...@@ -1182,7 +1014,44 @@ export default { ...@@ -1182,7 +1014,44 @@ export default {
that.MsgBus.$on('shouxufei',function(row){ that.MsgBus.$on('shouxufei',function(row){
that.shouxufei(row) that.shouxufei(row)
}) })
},methods:{ },
methods:{
showjiaoyi(FrId) {
//弹出交易方式修改
this.apipost(
"Financial_get_GetFinanceTrabeList",
{ FrId: FrId },
res => {
if (res.data.resultCode == 1) {
this.trabeList = res.data.data;
this.trabeList.forEach(x => {
this.alltransaction.map(j => {
if (x.AccountTypeId == j.Id) {
x.list = j.list;
return;
}
});
});
this.transactionmode = true;
}
},
err => {}
);
},
getExchange(rowData,index){
this.MsgBus.$emit('getRecQuery',rowData.FrID);
},
showfeiy(rowData){
this.MsgBus.$emit('showfeiyong',rowData);
},
editRate(rowData){
this.MsgBus.$emit('showhuilv',rowData);
},
editCommission(rowData){
this.MsgBus.$emit('shouxufei',rowData);
},
customCompFunc(params){ customCompFunc(params){
}, },
sortChange(param){ sortChange(param){
...@@ -1199,6 +1068,7 @@ export default { ...@@ -1199,6 +1068,7 @@ export default {
if(res.data.resultCode==1){ if(res.data.resultCode==1){
this.Success(res.data.message); this.Success(res.data.message);
this.zhuanjiaoBox = false; this.zhuanjiaoBox = false;
this.getPageList()
}else{ }else{
this.Error(res.data.message); this.Error(res.data.message);
} }
...@@ -1226,6 +1096,32 @@ export default { ...@@ -1226,6 +1096,32 @@ export default {
this.apipost('AccountType_post_GetList',this.queryAccMsg,res=>{ this.apipost('AccountType_post_GetList',this.queryAccMsg,res=>{
if(res.data.resultCode==1){ if(res.data.resultCode==1){
this.AccList = res.data.data; this.AccList = res.data.data;
let alltransaction = [];
this.AccList.forEach(x => {
let obj = {
Id: x.ID,
list: []
};
this.apipost(
"FinancialInstitutions_post_GetALLAccountList",
{
TypeId: x.ID
},
res => {
if (res.data.resultCode == 1) {
let data = res.data.data;
data.forEach(x => {
x.allName = x.BackNo + "(" + x.Alias + ")";
x.Name = x.Alias;
});
obj.list = data;
}
},
err => {}
);
this.alltransaction.push(obj);
});
}else{ }else{
this.$message.error(res.data.message); this.$message.error(res.data.message);
} }
...@@ -1604,6 +1500,12 @@ export default { ...@@ -1604,6 +1500,12 @@ export default {
this.msg.pageIndex=1; this.msg.pageIndex=1;
this.currentPage = 1; this.currentPage = 1;
}, },
goUrlDetail(path,rowData){
this.$router.push({
path: path,
query: {id:rowData.FrID,blank:'y',tab:rowData.FrID+'单据详情'}
})
},
goUrl(path,id,Conditon,pageIndex){ goUrl(path,id,Conditon,pageIndex){
this.$router.push({ name: path,query:{"id":id,"Conditon":Conditon,"pageIndex":pageIndex,blank:'y',tab:'单据详情'} }) this.$router.push({ name: path,query:{"id":id,"Conditon":Conditon,"pageIndex":pageIndex,blank:'y',tab:'单据详情'} })
}, },
...@@ -1637,16 +1539,62 @@ export default { ...@@ -1637,16 +1539,62 @@ export default {
} }
}, err => {}) }, err => {})
}, },
getAccountList2(val,index){ getAccountList2(val,index,type){
if(type){
//获取账户类型对应下的账户列表
this.alltransaction.map(x => {
if (x.Id == val) {
this.trabeList[index].list = x.list;
return;
}
});
}else{
this.GetCostTypeList.map((x)=>{ this.GetCostTypeList.map((x)=>{
if(x.ID == val){ if(x.ID == val){
this.trabeList[index].CostTypeName = x.Name; this.trabeList[index].CostTypeName = x.Name;
return return
} }
}) })
}
}, },
preservetransaction(){//保存费用类型的修改 getAccountList3(x, y) {
let msg = [] x.list.map(item => {
if (x.AccountId == item.ID) {
this.trabeList[y].Type = item.BankType;
return;
}
});
},
preservetransaction(type){//保存费用类型的修改
let msg = [];
if(type){
//保存交易方式
this.trabeList.forEach(x => {
let obj = {
ID: x.ID,
Type: x.Type,
AccountId: x.AccountId
};
msg.push(obj);
});
this.loadingTranMode = true
this.apipost(
"Financial_get_SetFinanceTrabeInfo",
msg,
res => {
if (res.data.resultCode == 1) {
this.$message.success(res.data.message);
this.transactionmode = false;
this.getPageList();
} else {
this.Error(res.data.message);
}
this.loadingTranMode = false
},
err => {}
);
}else{
this.trabeList.forEach(x=>{ this.trabeList.forEach(x=>{
let obj ={ let obj ={
ID:x.ID, ID:x.ID,
...@@ -1665,6 +1613,8 @@ export default { ...@@ -1665,6 +1613,8 @@ export default {
this.Error(res.data.message); this.Error(res.data.message);
} }
}, err => {}) }, err => {})
}
}, },
getRate(value){ getRate(value){
return this.moneyFormatB(value) return this.moneyFormatB(value)
......
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