Commit 27fe5f5b authored by Mac's avatar Mac

1

parent f5b41801
......@@ -55,13 +55,13 @@
</el-col>
</el-row>
</el-form>
<ul class="clearfix">
<li class="hight_query">
<ul class="clearfix" style="position: absolute;right: 20px;top: 20px;">
<div>
<span>
</span>
<button class="hollowFixedBtn" @click="getList()">{{$t('pub.searchBtn')}}</button>
<button class="normalBtn" @click="method5()">导出</button>
</li>
</div>
</ul>
</div>
<div class="_fnDm_content" v-loading='loading'>
......
......@@ -46,13 +46,13 @@
</el-col>
</el-row>
</el-form>
<ul class="clearfix">
<li class="hight_query">
<ul class="clearfix" style="position: absolute;right: 20px;top: 20px;">
<div class="hight_query">
<span>
</span>
<button class="hollowFixedBtn" @click="getList()">{{$t('pub.searchBtn')}}</button>
<button class="normalBtn" @click="method5()">{{$t('visa.v_daochu')}}</button>
</li>
</div>
</ul>
</div>
<div class="_fnDm_content" v-loading='loading'>
......
<style>
@import "../css/cssReset.css";
.page_CapitalAllocation .query-box{
padding: 0;
border:0
}
.page_CapitalAllocation .form{
padding-top: 25px;
}
.page_CapitalAllocation .el-date-editor .el-range-separator {
padding: 0;
line-height: 29px;
}
.page_CapitalAllocation .el-select{
width: 100%;
}
.page_CapitalAllocation .page_CapitalAllocation_list {
width: 100%;
}
.page_CapitalAllocation i.icon-sousuo,.page_CapitalAllocation i.el-icon-edit{
width: 30px;
height: 30px;
display: inline-block;
color: white !important;
border-radius: 50%;
text-align: center;
line-height: 30px;
margin-right: 10px;
cursor: pointer;
outline: none;
}
.page_CapitalAllocation i.el-icon-edit{background-color: #00C6FF;font-size: 16px;}
.page_CapitalAllocation i.el-icon-edit:hover{background-color: #59daff}
.page_CapitalAllocation i.el-icon-edit:active{background-color: #00b8ec}
.page_CapitalAllocation i.icon-sousuo{background-color: #47BF8C;}
.page_CapitalAllocation i.icon-sousuo:hover{background-color: #66bb97}
.page_CapitalAllocation i.icon-sousuo:active{background-color: #35ab79}
.page_CapitalAllocation ._btn_group{font-size: 14px;}
.page_CapitalAllocation .icon-daiqueren{color: #4BCA81}
.page_CapitalAllocation .icon-yiqueren{color: #4BCA81}
.page_CapitalAllocation .icon-yiquxiao{color: #959595}
.page_CapitalAllocation .icon-shenhebohui{color: #E95252}
.page_CapitalAllocation .icon-icon-zancun{color: #FF9C01}
.page_CapitalAllocation .text_d{text-decoration: underline;cursor: pointer;}
.InfoChangeLog{height: auto;max-height: 220px;background-color: #FFFFFF;}
.changLogList{padding-left: 20px;max-height: 180px;overflow: auto;}
.changLogList_l{border-left: 1px solid #E9E9E9;position: relative;padding-bottom: 10px;padding-left: 20px;padding-top: 10px;}
._radius_green{background-color: #47BF8C;width: 7px;height: 7px;border-radius: 50%;display: inline-block;position: absolute;left: -4px;top: 19px;}
.changLog_time{color: #666666;font-size: 12px;display: inline-block;padding-right: 10px}
</style>
<template>
<div class="page_CapitalAllocation">
<div class="query-box">
<ul>
<li>
<input v-if="btnShow" type="button" class="normalBtn" :value="$t('op.fgszjdb')" @click="goAddurl('addCapitalAllocation')"/>
<input type="button" class="normalBtn" :value="$t('pub.addBtn')" @click="goURL('addCapitalAllocation')"/>
<input type="button" class="hollowFixedBtn" :value="$t('pub.searchBtn')" @click="getList()"/>
<input type="button" class="normalBtn" :value="$t('visa.v_daochu')" @click="method5()"/>
</li>
</ul>
</div>
<el-form label-width="100px" class="form">
<el-row :gutter="20">
<el-col :span="4">
<el-form-item :label="$t('fnc.djbianhao')">
<el-input v-model="msg.FrID"></el-input>
</el-form-item>
</el-col>
<el-col :span="4">
<el-form-item :label="$t('system.table_company')">
<el-select v-model="msg.RB_Branch_Id" :placeholder="$t('rule.company')" @change="getDepartmentMsg.RB_Branch_Id = msg.RB_Branch_Id, getDepartment(),msg.RB_Depart_Id = -2">
<el-option :value="-1" :label="$t('pub.unlimitedSel')"></el-option>
<el-option v-for='item in CompanyList'
:label='item.BName'
:value='item.Id'
:key='item.Id'>
</el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="4">
<el-form-item :label="$t('admin.admin_Department')">
<el-select v-model="msg.RB_Depart_Id" :placeholder="$t('rule.qxzbmen')" @change="employeeMsg.DepartmentId = msg.RB_Depart_Id, getEmployee(), msg.UpdateBy='-1'">
<el-option :value="-2" :label="$t('pub.unlimitedSel')"></el-option>
<el-option v-for='item in DepartmentList'
:label='item.DepartmentName'
:value='item.DepartmentID'
:key='item.DepartmentID'>
</el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="4">
<el-form-item :label="$t('fnc.zhidanren')">
<el-select filterable v-model='msg.UpdateBy'>
<el-option value="-1" :label="$t('pub.unlimitedSel')"></el-option>
<el-option v-for='item in EmployeeList'
:label='item.EmName'
:value='item.EmployeeId'
:key='item.EmployeeId'>
</el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item :label="$t('fnc.zdriqi')">
<el-date-picker
@change="timeAdd(1)"
v-model="productionDate"
type="daterange"
value-format="yyyy-MM-dd"
range-separator="至">
</el-date-picker>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="4">
<el-form-item :label="$t('admin.admin_status')">
<el-select v-model="msg.Status" filterable>
<el-option value="-1" :label="$t('pub.unlimitedSel')"></el-option>
<el-option v-for='item in StatusList'
:label='item.Name'
:value='item.ID'
:key='item.ID'>
</el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item :label="$t('fnc.jiaoyiriqi')">
<el-date-picker
@change="timeAdd(2)"
v-model="productionDate2"
type="daterange"
value-format="yyyy-MM-dd"
:range-separator="$t('restaurant.res_To')">
</el-date-picker>
</el-form-item>
</el-col>
</el-row>
</el-form>
<div class="page_CapitalAllocation_list">
<table class="singeRowTable" style="border:1px solid #E6E6E6;" cellspacing="0" cellpadding="0" v-loading="loading">
<tr>
<th>{{$t('fnc.danhao')}}</th>
<th>{{$t('fnc.jine')}}</th>
<!-- <th>实付</th> -->
<!-- <th>原币金额</th> -->
<!-- <th>交易日期</th> -->
<th>{{$t('fnc.cjshijian')}}</th>
<th>{{$t('active.cl_addPp')}}</th>
<!-- <th>备注</th> -->
<th>{{$t('admin.admin_status')}}</th>
<th>{{$t('system.table_operation')}}</th>
</tr>
<tr v-for="(item, index) in dataList">
<td style="cursor:pointer" @click="goDetail('CapitalAllocationDetail', item.FrID)">{{item.FrID}}</td>
<td>{{item.Money}}</td>
<!-- <td>{{item.PayMoney}}</td> -->
<!-- <td>{{item.OriginalMoney}}</td> -->
<!-- <td>{{item.TradeDate}}</td> -->
<td>{{item.CreateDate}}</td>
<td>{{item.EmName}}</td>
<!-- <td>{{item.Description}}</td> -->
<td>
<i v-if="item.Status==1" class="iconfont icon-daiqueren"></i>
<i v-if="item.Status==4" class="iconfont icon-yiquxiao"></i>
<i v-if="item.Status==2" class="iconfont icon-yiqueren"></i>
<i v-if="item.Status==3" class="iconfont icon-shenhebohui"></i>
<i v-if="item.Status==0 || item.Status==5" class="iconfont icon-zancun"></i>
<el-popover
popper-class="detailsIT_Journal"
width="250"
trigger="click">
<div class="InfoChangeLog" >
<div class="changLog">
<p class="_log_t">{{$t('fnc.lcrizhi')}}</p>
<ul class="changLogList" v-if="GetFinancLogList" v-loading='LogLoading'>
<li class="changLogList_l" v-for="(log,li) in GetFinancLogList">
<span style="background-color: #47BF8C" class="_radius_green"></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>{{$t('hotel.hotel_zanwu')}}</li>
</ul>
</div>
</div>
<span slot="reference" class="text_d _font_init" @click="Financial_post_GetFinancLogList(item.FrID)">{{item.StatusStr}}</span>
</el-popover>
</td>
<td>
<el-tooltip class="item" effect="dark" :content="$t('pub.updateMsg')" placement="top" v-if="(item.Status===1 || item.Status===3) && item.CreateBy===EmId && item.InOrNotProcess===-1">
<i class="edit el-icon-edit" @click="goURL('addCapitalAllocation', 1, item.FrID)"></i>
</el-tooltip>
<el-tooltip class="item" effect="dark" :content="$t('fnc.xiangqing')" placement="top">
<i class="iconfont icon-sousuo" @click="goDetail('CapitalAllocationDetail', item.FrID)"></i>
</el-tooltip>
</td>
</tr>
</table>
<div class="noDataNotice" v-if="dataList.length<1"><i class="iconfont icon-kong"></i> <p>{{$t('active.ld_noData')}}</p></div>
<div>
<el-pagination
background
@current-change="handleCurrentChange"
:current-page.sync="currentPage"
layout="total,prev, pager, next, jumper"
:page-size='msg.pageSize'
:total='total'>
</el-pagination>
</div>
</div>
</div>
</template>
<script>
export default {
data(){
return {
msg: {
pageIndex: 1,
pageSize: 15,
FrID: '0',
UpdateBy: '-1',
RB_Branch_Id: -1,
RB_Depart_Id: -2,
sDate: '',
eDate: '',
Status: '-1',
sTradeDate: '',
eTradeDate: '',
EmployeeId:0
},
getCompanyMsg:{ // 公司
RB_Group_Id:'0',
Status:'0',
},
getDepartmentMsg:{// 部门
RB_Group_Id:'',
RB_Branch_Id:'',
Status:0,
ParentId:-1,
Tier:0,
},
employeeMsg:{ // 员工
GroupId:'',
BranchId:-1,
DepartmentId:0,
PostId:0,
IsLeave:0,
},
dataList: [],
CompanyList: [],
DepartmentList: [],
productionDate: [],
productionDate2: [],
StatusList: [],
EmployeeList: [],
GetFinancLogList: [],
loading: true,
LogLoading: true,
EmId:0,
total: 0,
currentPage: 0,
btnShow:false,
}
},
created(){
this.getList()
let userInfo = this.getLocalStorage(); // 读取缓存数据
this.getCompanyMsg.RB_Group_Id = this.employeeMsg.GroupId = this.getDepartmentMsg.RB_Group_Id = userInfo.RB_Group_id; // 集团ID
this.EmId=userInfo.EmployeeId;
let ActionMenuCode=userInfo.ActionMenuCode;
// if(ActionMenuCode.indexOf('F_CreateBranchMoneyAllot')!=-1){
// this.btnShow=true;
// }
},
methods:{
getList: function () { // 获取列表数据
if (this.msg.FrID === '') {
this.msg.FrID = 0
}
this.loading= true
this.apipost('Financial_get_GetFundTransferPageList', this.msg, res=>{
if (res.data.resultCode===1){
this.dataList = res.data.data.pageData;
this.total = res.data.data.count;
} else {
this.$message.error(res.data.message)
}
if (this.msg.FrID===0) {
this.msg.FrID = ''
}
this.loading= false
}, null)
},
handleCurrentChange(val) { //翻页
this.msg.pageIndex = val;
this.getList();
},
resetPageIndex(){ // 重置页码
this.msg.pageIndex=1;
this.currentPage = 1;
},
//导出
method5: function() {
if(!this.msg.RB_Branch_Id)this.msg.RB_Branch_Id=-1;
if(!this.msg.RB_Depart_Id)this.msg.RB_Depart_Id=0;
if(!this.msg.UpdateBy)this.msg.UpdateBy=0;
if(!this.msg.Status)this.msg.Status=0;
if(!this.msg.FrID)this.msg.FrID=0;
this.msg.EmployeeId=this.EmId;
this.GetLocalFile("Financial_get_OutToFundTransfer", this.msg,this.$t('fnc.zjdbbiao')+".xls");} ,
getCompanyList: function () { //获取公司列表
this.apipost('admin_get_BranchGetList',this.getCompanyMsg,res=>{
if(res.data.resultCode==1){
this.CompanyList=res.data.data;
}else{}
},err=>{})
},
getDepartment: function () { //获取部门列表
this.apipost('admin_get_DepartmentGetList', this.getDepartmentMsg, res => {
if(res.data.resultCode == 1) {
this.DepartmentList = res.data.data;
}
}, err => {})
},
timeAdd: function (t) { // 日期格式
if (t===1) {
if(!this.productionDate){
this.msg.sDate = '';
this.msg.eDate = '';
return
}
this.msg.sDate = this.productionDate[0];
this.msg.eDate = this.productionDate[1];
} else if (t===2){
if(!this.productionDate2){
this.msg.sTradeDate = '';
this.msg.eTradeDate = '';
return
}
this.msg.sTradeDate = this.productionDate2[0];
this.msg.eTradeDate = this.productionDate2[1];
}
},
GetStatusList: function () { // 获取审核状态枚举
this.apipost('FinancialFlowTemplate_post_GetStatusList',{}, res => {
if(res.data.resultCode == 1) {
this.StatusList = res.data.data;
}
}, err => {})
},
getEmployee() { //员工
this.apipost('admin_get_EmployeeGetList', this.employeeMsg, res => {
if(res.data.resultCode == 1) {
this.EmployeeList = res.data.data;
}
}, err => {})
},
goAddurl(url){
// this.$router.push({ name: url,query:{fengs: 1,blank: 'y', tab: '新增资金调拨'}})
var tempStr = '/financial/financalDocument/' + url +'?fengs=1';
this.$router.push({
path: tempStr
});
},
goURL: function (url, edit, id) {
// this.$router.push({ name: url,query:{edit: edit, id: id, blank: 'y', tab: '新增资金调拨'}})
var tempStr = '/financial/financalDocument/' + url ;
this.$router.push({
path: tempStr
});
},
goDetail:function(url,id){
// this.$router.push({ name: url,query:{id: id, blank: 'y', tab: '资金调拨详情'}})
var tempStr = '/financial/financalDocument/' + url +'?id='+id;
this.$router.push({
path: tempStr
});
},
Financial_post_GetFinancLogList: function(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 => {})
},
},
mounted(){
this.getCompanyList()
this.getDepartment()
this.GetStatusList()
this.getEmployee()
}
}
</script>
<style>
@import "../css/cssReset.css";
.page_addCapitalAllocation{
width: 800px;
/* position: absolute; */
padding: 15px;
background-color: white;
color: #c94052;
margin: 0 auto;
}
.page_addCapitalAllocation ._top{
text-align: center
}
.page_addCapitalAllocation ._top p{
font-size: 20px;
padding: 5px 0;
}
.page_addCapitalAllocation ._top p:last-child{
font-size: 18px;
padding:0 0 10px 0
}
.page_addCapitalAllocation ._top p:last-child span{
display: inline-block;
border-bottom: 2px solid #c94052;
padding: 0 20px;
}
.page_addCapitalAllocation ._border_b_1{border-bottom: 1px solid #666666 !important;color: #666666}
.page_addCapitalAllocation input {
border: none !important;
background-color: transparent !important;
padding: 0 2px !important;
}
.page_addCapitalAllocation ._conten ._lable{
display: inline-block;
width: 90px;
text-align: right;
}
.page_addCapitalAllocation ._conten ul li{
margin-bottom: 15px;
}
.page_addCapitalAllocation ._conten ul li._inList{
border: 1px solid #c94052;
padding: 10px 0;
position: relative;
}
.page_addCapitalAllocation ._conten ul li._outList{
border: 1px solid #106BAF;
padding: 10px 0;
position: relative;
}
.page_addCapitalAllocation ._conten ul li._inList>p{
border-bottom: 1px dotted #c94052;
padding-bottom: 10px;
margin-bottom: 10px;
padding-left: 10px;
font-size: 18px;
}
.page_addCapitalAllocation ._conten ul li._outList>p{
border-bottom: 1px dotted #106BAF;
padding-bottom: 10px;
margin-bottom: 10px;
padding-left: 10px;
font-size: 18px;
}
.page_addCapitalAllocation ._conten ul li._outList span,.page_addCapitalAllocation ._conten ul li._outList p{
color: #106BAF
}
.page_addCapitalAllocation ._conten ul li._inList>div,.page_addCapitalAllocation ._conten ul li._outList>div{
padding: 5px 0;
}
.page_addCapitalAllocation ._conten ul li._inList ._add_btn,.page_addCapitalAllocation ._conten ul li._outList ._add_btn{
text-align: right;
height: 35px;
line-height: 35px;
position: absolute;
right: 22px;
bottom: 10px;
}
.page_addCapitalAllocation ._conten ul li._inList ._add_btn span,.page_addCapitalAllocation ._conten ul li._outList ._add_btn span{
cursor: pointer;
}
.page_addCapitalAllocation ._conten ul li._inList textarea,.page_addCapitalAllocation ._conten ul li._outList textarea{
border: none;
/* border-bottom: 1px solid #666666; */
min-height: 300px;
}
.page_addCapitalAllocation ._conten ul li._inList ._uoload,.page_addCapitalAllocation ._conten ul li._outList ._uoload{
padding-left: 10px;
}
.page_addCapitalAllocation ._addUpload_box{
display: block;
margin: 15px;
}
.page_addCapitalAllocation ._addUpload_box img{
width: 100%;
}
.page_addCapitalAllocation ._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;
}
.page_addCapitalAllocation ._addUpload_box>div:hover{
background-color: #f5f5f5;
}
.page_addCapitalAllocation ._addFile_name{
padding-left: 15px;
max-width: 450px;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
.page_addCapitalAllocation ._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;
}
.page_addCapitalAllocation ._addUpload_box .icon-guanbi1:hover {
font-size: 12px;
color: #c94052;
}
.page_addCapitalAllocation ._addUpload_box .icon-excel,.page_addCapitalAllocation ._addUpload_box .icon-pdf {
text-align: center;
font-size: 38px;
color: green;
line-height: 75px;
}
.page_addCapitalAllocation ._pic_upload .el-upload-dragger {
font-size: 28px;
color: #8c939d;
width: 126px;
height: 80px;
line-height: 41px;
text-align: center;
}
.page_addCapitalAllocation ._submit{
text-align: right
}
</style>
<template>
<div class="page_addCapitalAllocation" v-loading="loading">
<div class="_top">
<p>{{BillName}}</p>
<p><span>{{msg.TemplateId==34?$t('fnc.zongbu'):$t('fnc.fgongsi')}}{{$t('fnc.zjdbodan')}}</span></p>
</div>
<div class="_conten">
<ul v-if="inList.length">
<li v-for="(item, index) in inList" class="_inList">
<p>{{$t('fnc.skduixiang')}}</p>
<div>
<span class="_lable">{{$t('fnc.skfangshi')}}</span>
<el-select filterable v-model='item.Type' @change="FinancialInstitutions_post_GetAccountList(1, index, item.Type, item.mode),item.AccountId=''" class="w100 _border_b_1">
<el-option v-for='item in AccList'
:label='item.Name'
:value='item.ID'
:key='item.ID'>
</el-option>
</el-select>
<span class="_lable">{{$t('fnc.zhanghuleixing')}}</span>
<el-select filterable v-model='item.mode' @change="FinancialInstitutions_post_GetAccountList(1, index, item.Type, item.mode),item.AccountId=''" class="w100 _border_b_1">
<el-option v-for='item in shouAccList'
:label='item.Name'
:value='item.ID'
:key='item.ID'>
</el-option>
</el-select>
<span class="_lable">{{$t('fnc.dkzhanghu')}}</span>
<el-select filterable v-model='item.AccountId' @change="getAccInfo(1, index, item.AccountId)" class="w250 _border_b_1">
<el-option v-for='sItem in item.shouAccNumList'
:label='sItem.allName'
:value='sItem.ID'
:key='sItem.ID'>
</el-option>
</el-select>
</div>
<div>
<span class="_lable">{{$t('fnc.skjine')}}</span>
<el-input v-model='item.OriginalMoney' @input="Calculation(1, index)" class="w100 _border_b_1"></el-input>
<span class="_lable">{{$t('hotel.hotel_Currency')}}</span>
<el-input disabled="disabled" v-model='item.CurrencyName' class="w80 _border_b_1"></el-input>
<span class="_lable">{{$t('hotel.hotel_CurrentRate')}}</span>
<el-input v-model='item.Rate' class="w60 _border_b_1" :disabled="true"></el-input>
<span class="_lable">{{$t('fnc.bwyue')}}</span>
<el-input v-model='item.Money' class="w100 _border_b_1"></el-input>
</div>
<div>
<span class="_lable">{{$t('fnc.dbriqi')}}</span>
<el-date-picker clearable class="w100 _border_b_1"
v-model="item.AllotDate"
prefix-icon='1'
type="date"
format="yyyy-MM-dd"
value-format="yyyy-MM-dd">
</el-date-picker>
<span class="_lable">{{$t('hotel.hotel_remark')}}</span>
<el-input v-model="item.Description" type="textarea" class="w250 _border_b_1"></el-input>
<span class="_lable">汇兑收益:</span>
<el-select v-model='item.IsExChange' class="w100 _border_b_1">
<el-option label='是' :value='1' :key='1'></el-option>
<el-option label='否' :value='0' :key='0'></el-option>
</el-select>
<div class="_add_btn">
<span @click="initMsg(1)">{{$t('fnc.tianjia')}}</span>
<span @click="deleteItem(1, index)">{{$t('system.table_delete')}}</span>
<span @click="clearItem(1, index)">{{$t('fnc.qingkong')}}</span>
</div>
</div>
<div class="_uoload">
<p>{{$t('fnc.scfujian')}}<span class="_addUpload_tips">{{$t('tips.wjdxbncgsz')}}</span></p>
<div class="_addUpload_box clearfix" >
<template v-for="(file,fIndex) in item.vorcherInos">
<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(1, index, 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(1, index, 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(1, index, fIndex)"></span>
</div>
</template>
<div class="_pic_upload" @click="inUploadIndex = index,inUploadTrue = true">
<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>
</li>
</ul>
<ul v-if="outList.length">
<li v-for="(item, index) in outList" class="_outList">
<p>{{$t('fnc.fkfangshi')}}</p>
<div>
<span class="_lable">{{$t('fnc.fkfangshi')}}:</span>
<el-select filterable v-model='item.Type' @change="FinancialInstitutions_post_GetAccountList(2, index, item.Type, item.mode),item.AccountId=''" class="w100 _border_b_1">
<el-option v-for='item in AccList'
:label='item.Name'
:value='item.ID'
:key='item.ID'>
</el-option>
</el-select>
<span class="_lable">{{$t('fnc.zhleixing')}}:</span>
<el-select filterable v-model='item.mode' @change="FinancialInstitutions_post_GetAccountList(2, index, item.Type, item.mode),item.AccountId=''" class="w100 _border_b_1">
<el-option v-for='item in shouAccList'
:label='item.Name'
:value='item.ID'
:key='item.ID'>
</el-option>
</el-select>
<span class="_lable">{{$t('fnc.fkzhanghu')}}:</span>
<el-select filterable v-model='item.AccountId' @change="getAccInfo(2, index, item.AccountId)" class="w250 _border_b_1">
<el-option v-for='sItem in item.shouAccNumList'
:label='sItem.allName'
:value='sItem.ID'
:key='sItem.ID'>
</el-option>
</el-select>
</div>
<div>
<span class="_lable">{{$t('fnc.fkjine')}}:</span>
<el-input v-model='item.OriginalMoney' @input="Calculation(2, index)" class="w100 _border_b_1"></el-input>
<span class="_lable">{{$t('hotel.hotel_Currency')}}:</span>
<el-input disabled="disabled" v-model='item.CurrencyName' class="w80 _border_b_1"></el-input>
<span class="_lable">{{$t('hotel.hotel_CurrentRate')}}:</span>
<el-input v-model='item.Rate' class="w60 _border_b_1" :disabled="true"></el-input>
<span class="_lable">{{$t('fnc.bwyue')}}:</span>
<el-input v-model='item.Money' class="w100 _border_b_1"></el-input>
</div>
<div>
<span class="_lable">{{$t('fnc.dbriqi')}}:</span>
<el-date-picker clearable class="w100 _border_b_1"
v-model="item.AllotDate"
prefix-icon='1'
type="date"
format="yyyy-MM-dd"
value-format="yyyy-MM-dd">
</el-date-picker>
<span class="_lable">{{$t('hotel.hotel_remark')}}:</span>
<el-input v-model="item.Description" type="textarea" class="w250 _border_b_1"></el-input>
<span class="_lable">汇兑损失:</span>
<el-select v-model='item.IsExChange' class="w100 _border_b_1">
<el-option label='是' :value='1' :key='1'></el-option>
<el-option label='否' :value='0' :key='0'></el-option>
</el-select>
<div class="_add_btn">
<span @click="initMsg(2)">{{$t('fnc.tianjia')}}</span>
<span @click="deleteItem(2, index)">{{$t('system.table_delete')}}</span>
<span @click="clearItem(2, index)">{{$t('fnc.qingkong')}}</span>
</div>
</div>
<div class="_uoload">
<p>{{$t('fnc.scfujian')}}<span class="_addUpload_tips">{{$t('tips.wjdxbncgsz')}}</span></p>
<div class="_addUpload_box clearfix" >
<template v-for="(file,fIndex) in item.vorcherInos">
<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(1, index, 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(1, index, 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(1, index, fIndex)"></span>
</div>
</template>
<div class="_pic_upload" @click="inUploadIndex = index,inUploadTrue = false">
<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>
</li>
</ul>
</div>
<div class="_submit">
<button class="normalBtn" @click="AddFinancial()">{{$t('fnc.tijiao')}}</button>
</div>
<viewer :images="images" :options='imageOptions' @inited="inited" class="viewer" ref="viewer">
<img v-for="src in images" :src="src" :key="src">
</viewer>
</div>
</template>
<script>
export default {
data(){
return {
msg: {
FrID: 0,
TemplateId: 0,
Status: 1,
IsPublic: 0,
RB_Depart_Id: 0,
RB_Branch_Id: 0,
Description: '',
IsHave: 1,
emList: [],
BankList: []
},
queryAccMsg: {
pageIndex: 1,
pageSize: 999,
ID: 0,
BackId: 0,
TypeId: 0,
BankType: 0,
Alias: ''
},
AccList: [],
accountList: [],
shouAccList: [],
shouAccNumList: [],
loading: false,
bankType: '',
inList: [],
outList: [],
inUploadIndex: 0,
inUploadTrue: false,
imageOptions:{
navbar:false,
title:false
},
BillName: '',
images: [],
}
},
created(){
if (this.$route.query.edit) {
let id = this.$route.query.id
this.getData(id)
} else {
this.initMsg()
let userInfo = this.getLocalStorage();
this.msg.RB_Depart_Id = userInfo.RB_Department_Id;
this.msg.RB_Branch_Id = userInfo.RB_Branch_id;
if(this.$route.query.fengs){
this.msg.RB_Branch_Id = 1218;
}
this.BillName = userInfo.GroupName;
if(this.msg.RB_Branch_Id===0 || this.msg.RB_Branch_Id===45 || this.msg.RB_Branch_Id===49){
this.msg.TemplateId=34;
}else{
this.msg.TemplateId=35;
}
}
},
methods:{
getData: function(id){
this.loading = true
this.apipost('Financial_get_GetFundTransfer', {ID: id}, res=>{
if(res.data.resultCode==1){
let data = res.data.data;
this.inList = data.SBankList;
this.outList = data.FBankList;
this.msg.FrID = data.FrID
this.msg.TemplateId = data.TemplateId
this.msg.Status = data.Status
this.msg.IsPublic = 0
this.msg.RB_Depart_Id = this.getLocalStorage().RB_Department_Id
this.msg.RB_Branch_Id = data.RB_Branch_Id
this.msg.Description = ''
this.msg.IsHave = 1
this.msg.emList = []
this.inList.forEach((x, index)=>{
x.mode = x.AccountTypeId
this.FinancialInstitutions_post_GetAccountList(1, index, x.Type, x.mode)
})
this.outList.forEach((x, index)=>{
x.mode = x.AccountTypeId
this.FinancialInstitutions_post_GetAccountList(2, index, x.Type, x.mode)
})
}else{
this.$message.error(res.data.message);
}
this.loading = false
}, null)
},
AddFinancial: function () {
this.loading = true
let c = this.inList.concat(this.outList);
this.msg.BankList=c;
this.msg.BankList.forEach(x=>{
delete x.shouAccNumList
})
// return;
this.apipost('Financial_post_SetFundTransfer', this.msg, res=>{
if(res.data.resultCode==1){
this.$message.success(res.data.message);
this.$router.push({
name:'CapitalAllocation',
query:{
blank:'y'
}
});
}else{
this.$message.error(res.data.message);
}
this.loading = false
}, null)
},
Calculation: function (type, index) {
if (type===1) {
let OriginalMoney = (this.inList[index].OriginalMoney && !isNaN(this.inList[index].OriginalMoney)) ? parseFloat(this.inList[index].OriginalMoney) : 0
let Rate = (this.inList[index].Rate && !isNaN(this.inList[index].Rate)) ? parseFloat(this.inList[index].Rate) : 0
this.inList[index].Money =Math.round(OriginalMoney*Rate*100)/100;
} else {
let OriginalMoney = (this.outList[index].OriginalMoney && !isNaN(this.outList[index].OriginalMoney)) ? parseFloat(this.outList[index].OriginalMoney) : 0
let Rate = (this.outList[index].Rate && !isNaN(this.outList[index].Rate)) ? parseFloat(this.outList[index].Rate) : 0
// this.outList[index].Money = OriginalMoney*Rate
this.outList[index].Money =Math.round(OriginalMoney*Rate*100)/100;
}
},
clearItem: function (type, index) {
if (type===1) {
this.inList[index].ID = 0
this.inList[index].Type = ''
this.inList[index].mode = ''
this.inList[index].AccountId = ''
this.inList[index].OriginalMoney = 0
this.inList[index].Rate = 0
this.inList[index].Money = 0
this.inList[index].CurrencyId = ''
this.inList[index].Description = ''
this.inList[index].CurrencyName = ''
this.inList[index].AllotDate = ''
this.inList[index].AllotType = 1
this.inList[index].Sort = ''
this.inList[index].allName = ''
this.inList[index].vorcherInos = []
}else if(type===2) {
this.outList[index].ID = 0
this.outList[index].Type = ''
this.outList[index].mode = ''
this.outList[index].AccountId = ''
this.outList[index].OriginalMoney = 0
this.outList[index].Rate = 0
this.outList[index].Money = 0
this.outList[index].CurrencyId = ''
this.outList[index].Description = ''
this.outList[index].CurrencyName = ''
this.outList[index].AllotDate = ''
this.outList[index].AllotType = 2
this.outList[index].Sort = ''
this.outList[index].allName = ''
this.outList[index].vorcherInos = []
}
this.$forceUpdate()
},
deleteItem: function (type, index) {
if (type===1) {
if (this.inList.length===1) {
return this.$message.error(this.$t('fnc.bnshanchu'));
} else {
this.inList.splice(index, 1)
}
} else if (type===2){
if (this.outList.length===1) {
return this.$message.error(this.$t('fnc.bnshanchu'));
} else {
this.outList.splice(index, 1)
}
}
this.$forceUpdate()
},
initInList: function () {
this.inList.push({
ID: 0,
Type: '',
mode: '',
AccountId: '',
OriginalMoney: 0,
Rate: 0,
Money: 0,
CurrencyId: '',
Description: '',
AllotDate: '',
AllotType: 1,
Sort: '',
allName: '',
vorcherInos: [],
IsExChange:0,
})
},
initOnList: function () {
this.outList.push({
ID: 0,
Type: '',
mode: '',
AccountId: '',
OriginalMoney: 0,
Rate: 0,
Money: 0,
CurrencyId: '',
Description: '',
AllotDate: '',
AllotType: 2,
Sort: '',
allName: '',
vorcherInos: [],
IsExChange:0,
})
},
initMsg: function (t) {
if(!t){
this.initInList()
this.initOnList()
} else if (t===1) {
this.initInList()
} else if (t===2) {
this.initOnList()
}
this.$forceUpdate()
},
GetBranchAccountList: function () { //收款方式
this.apipost('Financial_post_GetBranchAccountList', {}, res=>{
if(res.data.resultCode==1){
let List = res.data.data;
this.AccList = List;
}else{
this.$message.error(res.data.message);
}
},err=>{})
},
AccountType_post_GetList: function (){ //获取收款方式类型下拉
this.apipost('AccountType_post_GetList', {}, res=>{
if(res.data.resultCode==1){
let List = res.data.data;
this.shouAccList = List;
}else{
this.$message.error(res.data.message);
}
},err=>{})
},
FinancialInstitutions_post_GetAccountList: function (out, index, Type, id) {
if (!id) return
this.queryAccMsg.TypeId = id
this.queryAccMsg.BankType = Type
this.apipost('FinancialInstitutions_post_GetALLAccountList', this.queryAccMsg, res=>{
if(res.data.resultCode==1){
let List = res.data.data;
List.forEach(x => {
x.allName = x.BackNo+"("+x.Alias+")";
});
if (out===1) {
this.inList[index].shouAccNumList = List
} else {
this.outList[index].shouAccNumList = List
}
this.$forceUpdate()
}else{
this.$message.error(res.data.message);
}
},err=>{})
},
getAccInfo: function (type, i, id) {
if (type===1) {
this.inList[i].shouAccNumList.forEach(x=>{
if (x.ID === id) {
this.inList[i].Rate = x.Rate
this.inList[i].AccountId = x.ID
this.inList[i].CurrencyId = x.CurrencyId
this.inList[i].CurrencyName = x.CurrencyName
}
})
} else {
this.outList[i].shouAccNumList.forEach(x=>{
if (x.ID === id) {
this.outList[i].Rate = x.Rate
this.outList[i].AccountId = x.ID
this.outList[i].CurrencyId = x.CurrencyId
this.outList[i].CurrencyName = x.CurrencyName
}
})
}
},
uploadFileBtn: function (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);
if (this.inUploadTrue) {
this.inList[this.inUploadIndex].vorcherInos.push({
Content: x.data.FilePath,
ID:0,
Type:fileTypeNumber,
Url:this.domainManager().ViittoFileUrl + x.data.FilePath,
})
} else {
this.outList[this.inUploadIndex].vorcherInos.push({
Content: x.data.FilePath,
ID:0,
Type:fileTypeNumber,
Url:this.domainManager().ViittoFileUrl + x.data.FilePath,
})
}
this.$message.success(thi.$t('fnc.scchenggong'));
});
},
deleteUploadFile: function (type, i , ind) { // 删除上传文件
if (type===1) {
this.inList[i].vorcherInos.splice(ind, 1)
} else {
this.outList[i].vorcherInos.splice(ind, 1)
}
},
showUpLoadFile(i){ // 预览上传文件
if(i.Type==3){
this.picIsShow= true;
let isExsit=false
this.images.forEach(x=>{
if(x==i.Url)
isExsit=true
})
if(!isExsit) {
this.images.push(i.Url)
} else {
this.$viewer.view(this.images.indexOf(i.Url))
}
this.$viewer.show()
}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)
}
}
},
inited (viewer){
this.$viewer = viewer
},
},
mounted(){
this.GetBranchAccountList()
this.AccountType_post_GetList()
}
}
</script>
<style>
@import "../css/cssReset.css";
.page_iisMg ._nav {
margin: 20px 0 0 0;
background-color: #f5f5f5;
}
.page_iisMg ._nav li {
float: left;
font-size: 14px;
color: #666666;
padding: 15px 20px;
cursor: pointer;
position: relative;
background-color: #f1f1f1;
margin-right: 5px;
}
.page_iisMg ._nav li._active {
background-color: #ffffff;
color: #333333;
}
.page_iisMg ._nav li._active::after {
content: "";
width: 20px;
height: 3px;
background-color: #e95252;
display: inline-block;
position: absolute;
bottom: 0;
left: 38%;
}
.page_iisMg .query-box {
padding-bottom: 0;
}
.page_iisMg .iis_info_box {
padding-top: 15px;
}
.page_iisMg .el-date-editor .el-range-separator {
width: 9% !important;
}
.page_iisMg td span.status_Application{
color: #409EFF;
}
.page_iisMg td span.status_Cancle{
color: #909399;
}
.page_iisMg td span.status_Passed{
color: #67C23A;
}
.page_iisMg td span.status_Rejected{
color: #F56C6C;
}
.page_iisMg td span.status_owe{
color: #E6A23C;
}
.page_iisMg td span.status_Recover{
color: #67C23A;
}
.page_iisMg .cursorpointer{
text-decoration: underline;
}
.page_iisMg ._icon_btn i{
width: 30px;
height: 30px;
display: inline-block;
color: white !important;
border-radius: 50%;
text-align: center;
line-height: 30px;
margin-right: 10px;
cursor: pointer;
outline: none;
}
.page_iisMg ._icon_btn i.icon-ico_commodity_defaul{background-color: #F16C3C;}
.page_iisMg ._icon_btn i.icon-ico_commodity_defaul:hover{background-color: #e87c54}
.page_iisMg ._icon_btn i.icon-ico_commodity_defaul:active{background-color: #f76630}
.page_iisMg ._icon_btn i.icon-quxiao1{background-color: #E95252;}
.page_iisMg ._icon_btn i.icon-quxiao1:hover{background-color: #ea6d6d}
.page_iisMg ._icon_btn i.icon-quxiao1:active{background-color:#e42d2d}
.page_iisMg ._icon_btn i.icon-sousuo{background-color: #47BF8C;}
.page_iisMg ._icon_btn i.icon-sousuo:hover{background-color: #66bb97}
.page_iisMg ._icon_btn i.icon-sousuo:active{background-color: #35ab79}
._zhuihui{
display: inline-block;
height: 30px;
width: 30px;
border-radius: 50%;
color: white;
background-color: #e42d2d;
text-align: center;
line-height: 30px;
cursor: pointer;
margin-right: 10px
}
</style>
<template>
<div class="page_iisMg">
<ul class="_nav clearfix">
<li :class="active==1?'_active':''" @click="active=1,msg.InvoiceApplyState=0,getPageList()">全部发票</li>
<li :class="active==2?'_active':''" @click="active=2,msg.InvoiceApplyState=3,getPageList()">已开发票</li>
<li :class="active==3?'_active':''" @click="active=3,msg.InvoiceApplyState=5,getPageList()">欠票发票</li>
</ul>
<div class="query-box">
<el-form class="iis_info_box clearfix" label-width="110px">
<el-row>
<el-col :span="4" :gutter="35">
<el-form-item label="团号">
<el-input placeholder v-model="msg.TCNUM"></el-input>
</el-form-item>
</el-col>
<el-col :span="4" :gutter="35">
<el-form-item label="订单号">
<el-input placeholder v-model="msg.OrderId"></el-input>
</el-form-item>
</el-col>
<el-col :span="4" :gutter="35" v-if="active !== 3">
<el-form-item label="单据状态">
<el-select v-model="msg.InvoiceApplyState" filterable>
<el-option :value="0" :label="$t('pub.unlimitedSel')"></el-option>
<el-option :value="1" label="申请中"></el-option>
<el-option :value="2" label="取消"></el-option>
<el-option :value="3" label="通过"></el-option>
<el-option :value="4" label="拒绝"></el-option>
<el-option :value="5" label="欠票"></el-option>
<el-option :value="6" label="发票追回"></el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="4" :gutter="35">
<el-form-item label="公司">
<el-select v-model="msg.RB_Branch_Id" filterable >
<el-option :value="-1" :label="$t('pub.unlimitedSel')"></el-option>
<el-option v-for='item in companyList' :label='item.BName' :value='item.Id' :key='item.Id'></el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="4" :gutter="35">
<el-form-item label="发票类型">
<el-select v-model="msg.InvoiceApplyType" filterable >
<el-option :value="1" label="跟团游"></el-option>
<el-option :value="2" label="签证"></el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="8" :gutter="35">
<el-form-item label="申请日期">
<el-date-picker
class="h34"
@change="timeAdd"
v-model="productionDate"
type="daterange"
value-format="yyyy-MM-dd"
:range-separator="$t('restaurant.res_To')"
></el-date-picker>
</el-form-item>
</el-col>
</el-row>
</el-form>
<ul>
<li>
<button
class="hollowFixedBtn"
@click="resetPageIndex(),getPageList()"
>{{$t('pub.searchBtn')}}</button>
<!-- <button
class="normalBtn"
@click="goUrlAdd('invoicesManagerAdd')"
>{{$t('pub.addBtn')}}</button> -->
</li>
</ul>
</div>
<table class="singeRowTable" style="border:1px solid #E6E6E6;" cellspacing="0" cellpadding="0">
<tr>
<th width="180">团号</th>
<th>订单号</th>
<th>销售</th>
<th>客户</th>
<th>开票金额</th>
<th>差价</th>
<th>申请日期</th>
<th>状态</th>
<th>操作</th>
</tr>
<template v-for="(item, index) in dataList" v-loading="loading">
<tr>
<td class="cursorpointer" @click="goUrlT('productQuery', item.TCNUM, '产品查询')" :rowspan="item.InvoiceApplyList.length">{{item.TCNUM}}({{item.TCID}})</td>
<td class="cursorpointer" :rowspan="item.InvoiceApplyList.length" @click="goUrlO(item.OrderId)">{{item.OrderId}}</td>
<td :rowspan="item.InvoiceApplyList.length">{{item.CreateByStr}}</td>
<td :rowspan="item.InvoiceApplyList.length">{{item.CustomerName}}:{{item.CustomerContact}}</td>
<td :rowspan="item.InvoiceApplyList.length">{{item.ApplyTotalPrice}}</td>
<td :rowspan="item.InvoiceApplyList.length">
<span>{{item.DpreadPrice - item.ApplyTotalPrice}}</span>
</td>
<td>{{item.InvoiceApplyList[0].CreateDate.replace('T', ' ')}}</td>
<td>
<span v-if="item.InvoiceApplyList[0].InvoiceApplyState === 1" class="status_Application">申请中</span>
<span v-else-if="item.InvoiceApplyList[0].InvoiceApplyState === 2" class="status_Cancle">已取消</span>
<span v-else-if="item.InvoiceApplyList[0].InvoiceApplyState === 3" class="status_Passed">已通过</span>
<span v-else-if="item.InvoiceApplyList[0].InvoiceApplyState === 4" class="status_Rejected">已拒绝</span>
<span v-else-if="item.InvoiceApplyList[0].InvoiceApplyState === 5" class="status_owe">欠票</span>
<span v-else-if="item.InvoiceApplyList[0].InvoiceApplyState === 6" class="status_Recover">发票追回</span>
</td>
<td class="_icon_btn" style="text-align: left;padding-left: 20px">
<el-tooltip class="item" effect="dark" :content="$t('fnc.chakan')" placement="top">
<i class="iconfont icon-sousuo" @click="goIisDetail(item.InvoiceApplyList[0].ID)"></i>
</el-tooltip>
<el-tooltip class="item" effect="dark" content="追回发票" placement="top">
<span v-if="item.ApplyTotalPrice!=0" class="_zhuihui" @click="zhuihui(item.OrderId)"></span>
</el-tooltip>
<el-tooltip class="item" effect="dark" content="确认追回" placement="top">
<!-- v-if="item.InvoiceApplyList[0].InvoiceApplyState === 5" -->
<i v-if="item.InvoiceApplyList[0].InvoiceApplyState === 5" class="iconfont icon-ico_commodity_defaul" @click="setStatus(item.InvoiceApplyList[0].ID, 6)"></i>
</el-tooltip>
</td>
</tr>
<tr v-for="(item2, index2) in item.InvoiceApplyList" v-if="index2!==0">
<td>{{item2.CreateDate.replace('T', ' ')}}</td>
<td>
<span v-if="item2.InvoiceApplyState === 1" class="status_Application">申请中</span>
<span v-else-if="item2.InvoiceApplyState === 2" class="status_Cancle">已取消</span>
<span v-else-if="item2.InvoiceApplyState === 3" class="status_Passed">已通过</span>
<span v-else-if="item2.InvoiceApplyState === 4" class="status_Rejected">已拒绝</span>
<span v-else-if="item2.InvoiceApplyState === 5" class="status_owe">欠票</span>
<span v-else-if="item2.InvoiceApplyState === 6" class="status_Recover">发票追回</span>
</td>
<td class="_icon_btn" style="text-align: left;padding-left: 20px">
<el-tooltip class="item" effect="dark" :content="$t('fnc.chakan')" placement="top">
<i class="iconfont icon-sousuo" @click="goIisDetail(item2.ID)"></i>
</el-tooltip>
<el-tooltip class="item" effect="dark" content="追回发票" placement="top">
<span v-if="item.ApplyTotalPrice!=0" class="_zhuihui" @click="zhuihui(item.OrderId)"></span>
</el-tooltip>
<el-tooltip class="item" effect="dark" content="确认追回" placement="top">
<!-- v-if="item2.InvoiceApplyState === 5" -->
<i v-if="item2.InvoiceApplyState === 5" class="iconfont icon-ico_commodity_defaul" @click="setStatus(item2.ID, 6)"></i>
</el-tooltip>
</td>
</tr>
</template>
</table>
<div class="noDataNotice" v-if="dataList.length<1"><i class="iconfont icon-kong"></i> <p>没有找到你需要的数据</p></div>
<div v-if="dataList.length>0">
<el-pagination
background
@current-change="handleCurrentChange"
:current-page.sync="currentPage"
layout="total,prev, pager, next, jumper"
:page-size='msg.pageSize'
:total='total'>
</el-pagination>
</div>
</div>
</template>
<script>
export default {
data() {
return {
active: 1,
RB_Group_Id:'',
companyList:[],
msg: {
TCID: 0,
TCNUM: '',
OrderId: 0,
ApplyMoney: 0,
AactualMoney: 0,
CompanyName: '',
InvoiceApplyState: 0,
DutyParagraph:'',
sDate: '',
eDate: '',
pageIndex: 1,
pageSize: 10,
InvoiceApplyType: 1,
RB_Branch_Id:-1
},
productionDate: [],
dataList: [],
loading: false,
currentPage: 0,
total:0,
};
},
methods: {
zhuihui: function (OrderId) {
this.$confirm('是否设置发票状态为追回?', this.$t('tips.tips'), {
confirmButtonText: '确认',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
this.apipost('InvoiceApply_get_BatchUpdateInvoiceApply', {OrderId: OrderId}, res=>{
if (res.data.resultCode == 1) {
this.getPageList()
}
}, null)
}).catch(() => {
});
},
goIisDetail: function (id) {
this.$router.push({
name: 'invoicesManagerDetail',
query: { id: id,InvoiceApplyType:this.msg.InvoiceApplyType,blank: "y",}
});
},
setStatus: function (id, type) {
let msg = {
RefuseRemarks: '',
ID: id,
InvoiceApplyState: type,
}
this.$confirm('是否设置发票状态为已追回?', this.$t('tips.tips'), {
confirmButtonText: '确认',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
this.apipost('InvoiceApply_get_UpdateInvoiceApply', msg, res=>{
if (res.data.resultCode == 1) {
this.getPageList()
}
}, null)
}).catch(() => {
});
},
timeAdd: function () {
// 日期格式
if (!this.productionDate) {
this.msg.sDate = "";
this.msg.eDate = "";
return;
}
this.msg.sDate = this.productionDate[0];
this.msg.eDate = this.productionDate[1];
},
getPageList: function () {
this.loading = true
if (this.msg.OrderId === '') {
this.msg.OrderId = 0
}
this.apipost('InvoiceApply_get_GetGroupByInvoiceApplyList', this.msg, res=>{
this.loading = false
if (res.data.resultCode == 1) {
this.total = res.data.data.count;
this.dataList = res.data.data.pageData
}
if (this.msg.OrderId === 0) {
this.msg.OrderId = ''
}
}, null)
},
goUrlAdd: function (path) {
this.$router.push({
name: path,
query: { blank: "y",}
});
},
goUrlT: function (path, obj, title){
this.$router.push({ name:path,query:{"id":obj,blank:'y',tab:title}})
},
goUrlO: function (OrderId) {
this.$router.push({ name: 'enrollTotal', query: { id: OrderId, blank: 'y', tab: '报名统计'} });
},
handleCurrentChange: function (val) { //翻页
this.msg.pageIndex = val;
this.getPageList();
},
resetPageIndex: function (){ // 重置页码
this.msg.pageIndex=1;
this.currentPage = 1;
},
getBranchList(){
this.RB_Group_Id = this.getLocalStorage().RB_Group_id;
this.apipost('admin_get_BranchGetList', {RB_Group_Id:this.RB_Group_Id}, res=>{
if (res.data.resultCode == 1) {
this.companyList=res.data.data;
}
}, null)
}
},
mounted() {
this.getPageList();
this.getBranchList();
}
};
</script>
<style>
@import "../css/cssReset.css";
</style>
<template>
<div class='flexOne'>
<div class="query-box">
<ul>
<li>
<span>
<em>订单号</em>
<el-input type="text" v-model="msg.OrderId" :placeholder="$t('pub.pleaseImport')"></el-input>
</span>
</li>
<li>
<span>
<em>订单来源</em>
<el-select v-model="msg.OrderSource" filterable clearable>
<el-option :label="$t('pub.unlimitedSel')" :value="0"></el-option>
<el-option v-for="item in orderList" :key="item.ID" :label="item.Name" :value="item.ID"></el-option>
</el-select>
</span>
</li>
<li>
<span><em>商务订单</em>
<el-input type="text" v-model="msg.Pay_Order" :placeholder="$t('pub.pleaseImport')"></el-input>
</span>
</li>
<li>
<span><em>平台订单</em>
<el-input type="text" v-model="msg.Trade_Order" :placeholder="$t('pub.pleaseImport')"></el-input>
</span>
</li>
<li>
<span>
<em>支付方式</em>
<el-select v-model="msg.Pay_Way" filterable clearable>
<el-option :label="$t('pub.unlimitedSel')" :value="0"></el-option>
<el-option label="微信" :value="1"></el-option>
<el-option label="QQ" :value="2"></el-option>
<el-option label="支付宝" :value="3"></el-option>
<el-option label="银联" :value="4"></el-option>
</el-select>
</span>
</li>
<li>
<span><em>商户号</em>
<el-input type="text" v-model="msg.Mch_Id" :placeholder="$t('pub.pleaseImport')"></el-input>
</span>
</li>
<li>
<span>
<em>类型</em>
<el-select v-model="msg.Type" filterable clearable>
<el-option label="收款" :value="1"></el-option>
<el-option label="退款" :value="2"></el-option>
</el-select>
</span>
</li>
<li>
<span>
<em>退款状态</em>
<el-select v-model="msg.RefundStatus" filterable clearable>
<el-option label="不限" :value="0"></el-option>
<el-option label="收款中" :value="1"></el-option>
<el-option label="退款成功" :value="2"></el-option>
<el-option label="退款失败" :value="3"></el-option>
<el-option label="转入代发" :value="4"></el-option>
</el-select>
</span>
</li>
<li>
<span>
<em>财务单据</em>
<el-input type="text" v-model="msg.FinanceId" @keyup.native="checkInteger(msg,'FinanceId')" :placeholder="$t('pub.pleaseImport')"></el-input>
</span>
</li>
<li>
<span>
<em>日期</em>
<el-date-picker type="date" v-model="msg.StartTime"
:picker-options="pickerBeginDateBefore" value-format="yyyy-MM-dd" placeholder></el-date-picker>
<el-date-picker type="date" v-model="msg.EndTime"
:picker-options="pickerBeginDateAfter" value-format="yyyy-MM-dd" placeholder></el-date-picker>
</span>
</li>
<li>
<span>
<em>退款日期</em>
<el-date-picker type="date" v-model="msg.RefundStartTime"
:picker-options="pickerBeginDateBefore" value-format="yyyy-MM-dd" placeholder></el-date-picker> -
<el-date-picker type="date" v-model="msg.RefundEndTime"
:picker-options="pickerBeginDateAfter" value-format="yyyy-MM-dd" placeholder></el-date-picker>
</span>
</li>
<li>
<input type="button" class="hollowFixedBtn" :value="$t('pub.searchBtn')" @click="handleCurrentChange(),getList()" />
</li>
</ul>
</div>
<div class="cm_content">
<table class="singeRowTable" border="0" cellspacing="0" cellpadding="0" v-loading="loading">
<tr>
<th width="250">平台单号</th>
<th width="100">金额</th>
<th>支付方式</th>
<th>支付日期</th>
<th>状态</th>
<th>退款金额</th>
</tr>
<tr v-for="item in dataList">
<td>{{item.Trade_Order}}</td>
<td>{{item.Money}}</td>
<td>{{item.PayWayName}}</td>
<td>{{item.Pay_Date}}</td>
<td>{{item.PayStatus}}</td>
<td>{{item.RefundMoney}}</td>
</tr>
</table>
<div class="noDataNotice" v-if="dataList.length<1">
<i class="iconfont icon-kong"></i>
<p>{{$t("active.ld_noData")}}</p>
</div>
</div>
<el-pagination background @current-change="handleCurrentChange" :current-page.sync="msg.currentPage" :page-size="msg.pageSize"
layout="total,prev, pager, next, jumper" :total="msg.total"></el-pagination>
</div>
</template>
<script>
export default {
data(){
return{
msg:{
pageIndex:1,
pageSize:10,
OrderId:'',
OrderSource:0,
Pay_Order:'',
Trade_Order:'',
Pay_Way:0,
Mch_Id:'',
StartTime:'',
EndTime:'',
RefundStartTime:'',
RefundEndTime:'',
Type:2,
RefundStatus:0,
FinanceId:'',
currentPage:1,
total: 0,
},
loading:false,
orderList:[],
dataList:[],
pickerBeginDateBefore: {
disabledDate: time => {
let endTime = new Date(this.msg.EndTime)
return endTime.getTime() < time.getTime()
}
},
pickerBeginDateAfter: {
disabledDate: time => {
let startTime = new Date(this.msg.StartTime)
return startTime.getTime() >= time.getTime()
}
}
}
},
methods:{
handleCurrentChange(val) {
this.msg.pageIndex = val;
this.getList();
},
getList(){ //获取列表
this.loading =true;
this.apipost('OnlinePay_get_GetOrderPayMoneyInfo',this.msg,res=>{
this.loading = false;
if(res.data.resultCode==1){
this.dataList = res.data.data.pageData;
this.msg.total = res.data.data.count;
}else{
this.Error(res.data.message);
}
},err=>{})
},
//订单来源
getOrderlist() {
this.apipost(
"order_post_GetOrderSource", {},
res => {
if (res.data.resultCode == 1) {
this.orderList = res.data.data;
}
},null);
},
},
mounted(){
this.getOrderlist();
this.getList();
}
}
</script>
......@@ -207,6 +207,26 @@ const routes = [{
component: () =>
import("pages/financial/financalDocument/addReceivablesDocuments.vue")
},
{
path: "/financial/financalDocument/invoicesManager", //发票管理
component: () =>
import("pages/financial/financalDocument/invoicesManager.vue")
},
{
path: "/financial/financalDocument/refundQuery", //发票管理
component: () =>
import("pages/financial/financalDocument/refundQuery.vue")
},
{
path: "/financial/financalDocument/CapitalAllocation", //资金调拨
component: () =>
import("pages/financial/financalDocument/CapitalAllocation.vue")
},
{
path: "/financial/financalDocument/addCapitalAllocation", //资金调拨 新增
component: () =>
import("pages/financial/financalDocument/addCapitalAllocation.vue")
},
{
path: "/test", //API测试
component: () =>
......
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