<style> .page_CompanyAccDetail .query-box li label{display: inline-block;min-width: 80px;text-align: right;font-style: normal;margin: 0 20px 0 0;} .page_CompanyAccDetail .query-box{ padding-bottom: 0; margin-top: 20px; } .page_CompanyAccDetail .query-box li:last-child{top: 34px;} ._shoufu_date input.el-input__inner{padding: 0px 0 0 27px;} .page_CompanyAccDetail .el-date-editor .el-range-separator{width: 9% !important;} .page_CompanyAccDetail .el-date-editor--daterange.el-input__inner{width: auto !important;} ._bg__{ border-radius: 4px; cursor: pointer; text-decoration: underline; } ._bg__ .CAcc_bg_red:hover{ color: rgb(230, 97, 97); } ._bg__ .CAcc_bg_green:hover{ color:rgb(66, 182, 132); } .page_CompanyAccDetail .CAcc_bg_red{color: #E95252;} .page_CompanyAccDetail .CAcc_bg_green{color: #2BB87C} ._addChuNa_tit{color: gray;margin-bottom: 10px;} ._addChuNa_tit span{ color:#333333} .page_CompanyAccDetail ._addUpload_box{ display: block; margin-top: 20px; width:590px; } .page_CompanyAccDetail ._addUpload_box>div{ float: left; width: 138px; height: 92px; border: 1px dashed rgba(210,210,210,1); border-radius: 2px; cursor: pointer; padding: 5px; margin:0 10px 10px 0; position: relative; } .page_CompanyAccDetail .el-upload-dragger { width: 126px!important; height: 80px!important; } .page_CompanyAccDetail ._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_CompanyAccDetail ._addUpload_box .icon-guanbi1:hover { font-size: 12px; color: #c94052; } </style> <template> <div class='flexOne page_CompanyAccDetail'> <div class='query-box' @keyup.enter="getList()"> <el-form class="_info_box clearfix" label-width="110px"> <el-row style="padding: 10px 0 0 0;"> <el-col :span="4" :gutter="35"> <el-form-item :label="$t('fnc.zhanghuleixing')"> <el-select filterable v-model='accType' @change="bankaccount_post_GetList"> <el-option v-for='item in AccList' :label='item.Name' :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="$t('fnc.a_yhzhanghu')"> <el-select filterable v-model='AccountId' @change="accountListChange"> <el-option v-for='item in accountList' :label='item.Alias' :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="$t('fnc.a_cnyshenhe')"> <el-select filterable v-model='msg.Is_Cashier' > <el-option :label="$t('advmanager.v_all')" :value='-1'></el-option> <el-option :label="$t('fnc.a_yshenhe')" :value='1'></el-option> <el-option :label="$t('fnc.a_wshenhe')" :value='0'></el-option> </el-select> </el-form-item> </el-col> --> <el-col :span="4" :gutter="35"> <el-form-item :label="$t('fnc.a_djztai')"> <el-select filterable v-model='msg.Status' > <el-option :label="$t('pub.unlimitedSel')" :value='-1'></el-option> <el-option :label='$t("fnc.a_shezhong")' :value='1'></el-option> <el-option :label='$t("visa.v_tongguo")' :value='2'></el-option> <el-option :label='$t("fnc.bohui")' :value='3'></el-option> <el-option :label='$t("fnc.a_cnzancun")' :value='5'></el-option> </el-select> </el-form-item> </el-col> <el-col :span="4" :gutter="35"> <el-form-item :label="$t('fnc.fkduixiang')"> <el-select v-model='msg.ClientID' @change='getClientId(msg.ClientID)' filterable remote reserve-keyword :placeholder="$t('pub.PleaseKeyWords')" :remote-method="remoteMethod" :loading="AccountLoading"> <el-option v-for='item in ClientAccountList' :label='`${item.AccountAlias}(${item.AccountHolder}/${item.CardNum})`' :value='item.ID' :key='item.ID'> <div> <span>{{`${item.AccountAlias}(${item.AccountHolder}/${item.CardNum})`}}</span> <span style="margin-left: 15px;"> <el-tag size="mini" v-if="item.Status==1">{{$t('pub.fressSel')}}</el-tag> </span> </div> </el-option> </el-select> </el-form-item> </el-col> <el-col :span="8" :gutter="35"> <el-form-item :label="$t('fnc.a_hkfkriqi')"> <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> <!-- <StartDateLimit :clearable="false" :dateTime="productionDate" @change="(startDate,endDate)=>{msg.sTradeDate=startDate,msg.eTradeDate=endDate}"></StartDateLimit> --> </el-form-item> </el-col> <el-col :span="8" :gutter="35"> <el-form-item :label="$t('scen.sc_ftTime')"> <el-date-picker class="h34" @change="timeAddByTC" v-model="productionDateByTC" type="daterange" value-format="yyyy-MM-dd" :range-separator="$t('restaurant.res_To')"> </el-date-picker> <!-- <StartDateLimit :clearable="false" :dateTime="productionDateByTC" @change="(startDate,endDate)=>{msg.QStartDate=startDate,msg.QEndDate=endDate}"></StartDateLimit> --> </el-form-item> </el-col> <el-col :span="4" :gutter="35"> <el-form-item :label="$t('fnc.feiyongleixing')"> <el-select filterable v-model='msg.CostTypeID' > <el-option :value="0" :label="$t('pub.unlimitedSel')"></el-option> <el-option v-for="item in GetCostTypeList" :key="item.ID" :value="item.ID" :label="item.Name"></el-option> </el-select> </el-form-item> </el-col> <el-col :span="4" :gutter="35"> <el-form-item :label="$t('system.query_company')"> <el-select filterable v-model='msg.RB_Branch_Id' > <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-row> </el-form> <ul> <li> <input type="button" class="hollowFixedBtn" :value="$t('fnc.a_hbdanju')" @click="addChuNaFun"/> <input type="button" class="hollowFixedBtn" :value="$t('pub.searchBtn')" @click="getList()"/> <input type="button" class="normalBtn" :value="$t('visa.v_daochu')" @click="Export"/> </li> </ul> </div> <div class="cm_content"> <table class="po_content singeRowTable" style="border:1px solid #E6E6E6;" cellspacing="0" cellpadding="0" v-loading="loadingTable"> <tr> <th width="60"><input type="checkbox" v-if="isShowCheckAll" v-model="isCheckAll" @change="checkAllOrder()"/></th> <th>{{$t('system.query_company')}}</th> <th>{{$t('fnc.danhao')}}</th> <th>{{$t('fnc.a_zhaiyao')}}</th> <th>{{$t('objFill.v101.FinancialModule.feiyongkm')}}</th> <th>{{$t('fnc.zhidanren')}}</th> <th>{{$t('fnc.a_djztai')}}</th> <th width="350px">{{$t('fnc.a_hkrfkduixiang')}}</th> <th>{{$t('fnc.a_hkfkshijian')}}</th> <th>{{$t('objFill.v101.FinancialModule.yuanbizh')}}</th> <th>{{$t('objFill.yuanbisoukuan')}}</th> <th>{{$t('objFill.yuanbifukuan')}}</th> <th>{{$t('objFill.benweibishoukuan')}} <!-- {{$t('fnc.skjine')}} --> </th> <th>{{$t('objFill.benweibifukuan')}} <!-- {{$t('fnc.fkjine')}} --> </th> <th>{{$t('fnc.yueacc')}}</th> </tr> <tr> <td :colspan="10">{{$t('fnc.a_qcyue')}}:</td> <td></td> <td></td> <td></td> <td></td> <td>{{moneyFormat(StartMoney)}}</td> </tr> <tr v-for=" ( item , index ) in DataList "> <td> <input type="checkbox" :disabled="item.disabled" v-model="item.check" @change="addCheckbox(item,index)"> </td> <td>{{ item.BName }}</td> <!-- <td><span class="cursorpointer" :class="item.Type==1?'CAcc_bg_green':'CAcc_bg_red'" @click="goUrl('FinancialDocumentsDetail',item.FinanceId)">{{ item.FinanceId }}</span> </td> --> <td> <span class="cursorpointer" :class=" item.Type === 1 ? 'CAcc_bg_green' : 'CAcc_bg_red'" @click="goUrlNew(item)">{{ item.FinanceId }}</span> </td> <td> <p v-for="qitem in item.CostTypeList">{{qitem}}</p> <!-- <p>{{item.CostTypeName}}</p> --> </td> <td> <p v-for=" ( son , sIndex ) in item.TCIDAndTCNUMList"> <span>{{ son.TCNUM }} ( <span> {{ son.TCID }} </span> )</span> </p> </td> <td>{{item.EmName}}</td> <td>{{item.AuditDescription}}</td> <td> <span v-if=" item.Type == 1">{{$t('fnc.hnrdanwei')}}:{{ item.RemitterName }} {{ item.AccountNumber }}</span> <span v-if=" item.Type == 2">{{ item.ClientTypeName }}:{{ item.RemitterName }} {{ item.AccountNumber }}</span> </td> <td> <span v-if=" item.Type == 1">{{$t('fnc.hkshijian')}}:{{ item.TradeDate }}</span> <span v-if=" item.Type == 2">{{$t('fnc.a_fkshijian')}}:{{ item.TradeDate }}</span> </td> <td> {{ item.CurrencyName }} </td> <td>{{ item.Type == 1 ? moneyFormat(item.OriginalMoney) : '' }}</td> <td>{{ item.Type == 2 ? moneyFormat(item.OriginalMoney) : '' }}</td> <td>{{ item.Type == 1 ? moneyFormat(item.Money) : '' }}</td> <td>{{ item.Type == 2 ? moneyFormat(item.Money) : '' }}</td> <td>{{ moneyFormat(item.EndMoney) }}</td> </tr> <tr> <td :colspan="10">{{$t('fnc.a_heji')}}({{$t('hotel.hotel_totalRoom')}}{{ DataList.length }} {{$t('hotel.hotel_item')}})</td> <td>{{ InMoneyB == 0 ? '-' : moneyFormat(InMoneyB) }}</td> <td>{{ OutMoneyB == 0 ? '-' : moneyFormat(OutMoneyB) }}</td> <td>{{ InMoney == 0 ? '-' : moneyFormat(InMoney) }}</td> <td>{{ OutMoney == 0 ? '-' : moneyFormat(OutMoney) }}</td> <td>{{ moneyFormat(allMoney) }}</td> </tr> </table> </div> <el-dialog custom-class='w750 height="34px"' :title="$t('fnc.a_hbdanju')" :visible.sync="addChuNa" center :before-close="initAddChuNa" v-loading="allLoading"> <p class="_addChuNa_tit"><span>{{count}}</span>{{$t('fnc.a_hbtips')}} <span>{{ moneyFormat(allWPrice) }}</span> {{$t('fnc.a_hbtips2')}} <span>{{ moneyFormat(allBPrice) }}</span> </p> <table border="1" bordercolor="#D2D2D2" style="border-collapse:collapse;text-align: center; width: 100%;"> <template> <tr > <th height="34px">{{$t('fnc.zhfenlei')}}</th> <th height="34px">{{$t('fnc.fkfangshi')}}</th> <th height="34px">{{$t('fnc.acc')}}</th> <!-- <th width="100px">账户余额</th> --> <th height="34px">{{$t('fnc.jine')}}</th> <th height="34px" width="70">{{$t('hotel.hotel_Currency')}}</th> <th height="34px" width="50px">{{$t('hotel.hotel_CurrentRate')}}</th> <!-- <th>{{$t('objFill.yuanbisxf')}}</th> --> <th height="34px" width="100px">{{$t('fnc.a_zongjine')}}</th> <!-- <th>{{$t('system.table_operation')}}</th> --> </tr> <template v-for="(item,index) in payMsgList"> <tr v-if="!item.show" @click="payMsgList[index].show=true"> <td height="34px">{{item.AccName}}</td> <td height="34px">{{item.Name}}</td> <td height="34px">{{item.Account}}</td> <!-- <td>{{item.balance}}</td> --> <td height="34px">{{moneyFormat(item.OriginalMoney)}}</td> <td height="34px">{{item.CurrenName}}</td> <td height="34px">{{item.Rate}}</td> <!-- <td>{{item.Fee}}</td> --> <td height="34px">{{moneyFormat(item.allMoney)}}</td> <!-- <td></td> --> </tr> <tr v-else class="_show_class"> <td> <el-select filterable v-model='item.AccName' @change="clearAccBank()" class=" _border_b_1"> <el-option v-for='i in AccListT' :label='i.Name' :value='i.Name' :key='i.ID'> </el-option> </el-select> </td> <td> <el-select filterable v-model='item.Type' @change="getAccountList(item.Type)" class=" _border_b_1"> <el-option v-for='i in GetAccountType' :label='i.Name' :value='i.ID' :key='i.ID'> </el-option> </el-select> </td> <td> <el-select filterable v-model='item.AccountId' :placeholder="$t('rule.qxzzhanghu')" @change="setAccountName(item.AccountId,1,index)" class=" _border_b_1"> <el-option v-for='i in accountList' :label='i.allName' :value='i.ID' :key='i.ID'> </el-option> </el-select> </td> <td> <el-input v-model="item.OriginalMoney" @change="Calculation(1,index)" @blur="item.show=false,CalculationMoney()" :placeholder="$t('rule.qsrjine')" type="number" class=" _border_b_1"></el-input> </td> <td> <p>{{item.CurrenName}}</p> </td> <td> <el-input v-model="item.Rate" @blur="item.show=false,CalculationMoney()" @change="Calculation(1,index)" type="number" class=" _border_b_1"></el-input> </td> <td>{{moneyFormat(item.allMoney)}} <i @click="deleteRow(item,index),CalculationMoney()" class="_delete_row iconfont icon-img_delete_small"></i></td> </tr> </template> <tr> <td> <el-select filterable v-model='payMsg.AccName' @change="clearAccBank(),addList()" class=" _border_b_1"> <el-option v-for='i in AccListT' :label='i.Name' :value='i.Name' :key='i.ID'> </el-option> </el-select> </td> <td> <el-select filterable v-model='payMsg.Type' @change="getAccountList(payMsg.Type),addList()" class=" _border_b_1"> <el-option v-for='i in GetAccountType' :label='i.Name' :value='i.ID' :key='i.ID'> </el-option> </el-select> </td> <td> <el-select filterable v-model='payMsg.AccountId' :placeholder="$t('rule.qxzzhanghu')" @change="setAccountName(payMsg.AccountId,2),addList()" class=" _border_b_1"> <el-option v-for='i in accountList' :label='i.allName' :value='i.ID' :key='i.ID'> </el-option> </el-select> </td> <td> <el-input v-model="payMsg.OriginalMoney" @change="Calculation(2)" @blur="addList()" :placeholder="$t('rule.qsrjine')" type="number" class=" _border_b_1"></el-input> </td> <td> <p>{{payMsg.CurrenName}}</p> </td> <td> <el-input v-model="payMsg.Rate" @blur="addList()" @change="Calculation(2)" type="number" class=" _border_b_1"></el-input> </td> <td>{{moneyFormat(payMsg.allMoney)}}</td> </tr> </template> <tr> <td height="34px">{{$t('fnc.a_zongjine')}}</td> <td height="34px" colspan="7"> <el-input v-model="listAllMoney" type="number" :placeholder="$t('rule.qsrzjine')" class=" _border_b_1"></el-input> <!--{{moneyFormat(listAllMoney)}}--> </td> </tr> <tr v-if="BillType===2"> <td>{{$t('fnc.jiaoyiriqi')}}</td> <td colspan="7"> <el-date-picker class="width100b" v-model="addMsg.TradeDate" type="date" :default-value="TradeDate" value-format="yyyy-MM-dd" :placeholder="$t('admin.admin_choDate')"> </el-date-picker> </td> </tr> <tr v-if="BillType===1"> <td>{{$t('fnc.huikuanren')}}</td> <td colspan="2"> <el-input v-model="addMsg.RemitterName" type="text" class=" _border_b_1"></el-input> </td> <td>{{$t('fnc.jiaoyiriqi')}}</td> <td colspan="3"> <el-date-picker class="width100b" v-model="addMsg.TradeDate" type="date" value-format="yyyy-MM-dd" :placeholder="$t('admin.admin_choDate')"> </el-date-picker> </td> </tr> </table> <el-form label-width="110px"> <el-row> <el-col :span="12" :gutter="35"> <el-form-item :label="$t('objFill.shangchuanpz')"> <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> </el-form-item> </el-col> </el-row> </el-form> <div slot="footer" class="dialog-footer"> <button class="normalBtn" type="primary" @click="submitAddChuNa">{{$t('pub.saveBtn')}}</button> <button class="hollowFixedBtn" @click="initAddChuNa">{{$t('pub.cancelBtn')}}</button> </div> </el-dialog> <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> </template> <script> import moment from "moment" import StartDateLimit from '../../public/StartDateLimit.vue'; export default { components: {StartDateLimit}, data(){ return{ AccountLoading: false, ClientAccountMsg:{ ID:0, Type:0, ObjID:0, CardNum:'', KeyWord:'', IsAll: true, Status: 1 }, msg:{ pageIndex:1, pageSize:5, ClientID:'', CostTypeID:0, RB_Branch_Id:-1, sTradeDate:'', eTradeDate:'', QStartDate:'', QEndDate:'', BankList:[], Is_Cashier:-1, }, Type:1, AccountId:'', DataList:[], StartMoney:0, AccountTypeList:[], AccList:[], GetAccountType:[], accountList:[], productionDate:[], productionDateByTC:[], ClientAccountList:[], GetCostTypeList:[], CompanyList:[], loadingTable:false, loading:false, date:'', accType:'', allMoney:0, OutMoney:0, InMoney:0, InMoneyB: 0, OutMoneyB: 0, BillType:1, //1 收 2 支 , addChuNa:false, allLoading: false, payMsgList:[], payMsg: { ID:0, FinanceId:'', Type:'', AccountId:'', OriginalMoney:0, CurrencyId:'', Rate:0, Fee:0, Name:'', CurrenName:'', Account:'', balance:'', allMoney:0, show:false, }, addMsg:{ FrIDs:'', RemitterName:'', TradeDate:'', BankList:[], vorcherInos:[] }, AccListT:[], accountListT:[], listAllMoney:0, checkList:[], count:0, allBPrice:0, allWPrice:0, userInfo:{}, //是否全选 isCheckAll:false, //是否显示全选框 isShowCheckAll:false, picIsShow:false, picObj:[], imgList:[], //上传数组 saveMsg:[], TradeDate:'', initialIndex: 0, } }, created(){ // let StartDate = this.getBeforeDate(186, new Date().Format("yyyy-MM-dd")) // let EndDate = this.getBeforeDate(-1, new Date().Format("yyyy-MM-dd")) // this.productionDateByTC = [StartDate, EndDate] // this.msg.QStartDate = this.productionDateByTC[0]; // this.msg.QEndDate = this.productionDateByTC[1]; this.userInfo = this.getLocalStorage(); if(this.$route.query.DayReport && this.$route.query.DayReport=='1'){ this.msg.IsFromDayReport =1; } if(this.$route.query.TypeId&&!this.$route.query.ID){ this.msg.Is_Cashier = parseInt(this.$route.query.Is_Cashier); this.accType = parseInt(this.$route.query.TypeId); this.msg.sTradeDate = this.$route.query.sTradeDate?this.$route.query.sTradeDate:""; this.msg.eTradeDate = this.$route.query.eTradeDate?this.$route.query.eTradeDate:""; this.productionDate = [this.msg.sTradeDate, this.msg.eTradeDate]; this.productionDateByTC=[this.msg.QStartDate, this.msg.QEndDate]; this.getList(); this.bankaccount_post_GetListS("query"); } if(this.$route.query.ID){ this.accType = parseInt(this.$route.query.TypeId); this.AccountId=parseInt(this.$route.query.ID); let mon1=moment().format("YYYY-MM-DD"); let mon2=moment().subtract(1, "months").format("YYYY-MM-DD"); this.productionDate=[mon2,mon1]; this.msg.sTradeDate=mon2; this.msg.eTradeDate=mon1; this.msg.BankList=[]; this.msg.BankList.push({ Type:this.Type, AccountId:this.AccountId }) this.bankaccount_post_GetList(); this.getList(); } }, methods:{ //选择付款对象出现全选框 getClientId(id){ if(id>0||this.AccountId>0){ this.isShowCheckAll=true; }else{ this.isShowCheckAll=false; } }, Export(){ let msg=this.msg; msg.EmployeeId = this.userInfo.EmployeeId; msg.AccountToExcelType=2; var fileName = this.$t('objFill.v101.FinancialModule.yinhzhmx')+".xls"; this.GetLocalFile("Financial_post_OutToExcelAccountDetailList", msg, fileName); }, goUrlNew(item){ let status=false; if(item.CostTypeList){ item.CostTypeList.forEach(cost=>{ if(cost=="资金调拨"){ status=true; } }) } if(status){ this.$router.push({ name: "CapitalAllocationDetail",query:{"id":item.FinanceId,blank:'y'} }) }else{ this.$router.push({ name: "FinancialDocumentsDetail",query:{"id":item.FinanceId,blank:'y'} }) } }, goUrl(path,id){ this.$router.push({ name: path,query:{"id":id,blank:'y'} }) }, accountListChange(){ this.msg.BankList = []; this.msg.BankList.push( { Type:this.Type, AccountId:this.AccountId } ) if(this.AccountId>0||this.msg.ClientID>0){ this.isShowCheckAll=true; }else{ this.isShowCheckAll=false; } }, remoteMethod(query) { if (query !== '') { this.ClientAccountMsg.KeyWord = query this.AccountLoading = true; this.financeinfo_post_GetClientAccountList() } else { this.ClientAccountList = []; } }, financeinfo_post_GetClientAccountList(){ //获取付款对象 this.apipost('financeinfo_post_GetClientAccountList',this.ClientAccountMsg, res => { let data = res.data.data; this.ClientAccountList = data; this.AccountLoading = false }, err => {}) }, timeAdd(){ // 日期格式 if(!this.productionDate){ this.msg.sTradeDate = ''; this.msg.eTradeDate = ''; return } this.msg.sTradeDate = this.productionDate[0]; this.msg.eTradeDate = this.productionDate[1]; }, timeAddByTC(){ // 日期格式 if(!this.productionDateByTC){ this.msg.QStartDate = ''; this.msg.QEndDate = ''; return } this.msg.QStartDate = this.productionDateByTC[0]; this.msg.QEndDate = this.productionDateByTC[1]; }, bankaccount_post_GetList(){ // 获取银行账户 // this.AccountId = ''; this.apipost('bankaccount_post_GetList',{TypeId:this.accType}, res => { if(res.data.resultCode == 1) { let data = res.data.data; this.accountList = data; } }, err => {}) }, BankAccount_post_GetAccountType(){ //获取账户类型列表 this.apipost('BankAccount_post_GetAccountType',{}, res => { if(res.data.resultCode == 1) { this.GetAccountType = res.data.data; } }, err => {}) }, AccountType_post_GetList(){ //获取账户类型下拉 this.apipost('AccountType_post_GetList',this.queryAccMsg,res=>{ if(res.data.resultCode==1){ this.AccList = res.data.data; this.AccListT = res.data.data; }else{ this.$message.error(res.data.message); } },err=>{}) }, getAccountTypeList() { //获取账户类型 this.apipost('AccountType_post_GetList',{}, res => { if(res.data.resultCode == 1) { this.AccountTypeList = res.data.data; } }, err => {}) }, getList(){ //获取列表 this.checkList=[]; this.loadingTable = true if( this.msg.ClientID == '' ){ this.msg.ClientID = 0; } if(this.$route.query.BankID){ this.msg.BankList.push( { Type:1, AccountId:parseInt(this.$route.query.BankID) }) } this.allMoney = ''; this.apipost('Financial_post_GetAccountDetailList',this.msg,res=>{ this.loadingTable = false if(res.data.resultCode==1){ let data = res.data.data; if(data.length){ this.StartMoney = data[0].StartMoney?data[0].StartMoney:0; let Money = data[0].StartMoney?data[0].StartMoney:0, InMoney = 0, OutMoney = 0, InMoneyB = 0, OutMoneyB = 0; data.forEach( ( x , i ) => { if(x.Type==1){ x.EndMoney = Money + x.Money; Money = x.EndMoney; InMoney = InMoney + x.Money; InMoneyB = InMoneyB + x.OriginalMoney; }else if(x.Type==2){ x.EndMoney = Money - x.Money; Money = x.EndMoney; OutMoney = OutMoney + x.Money; OutMoneyB = OutMoneyB + x.OriginalMoney; } }); this.allMoney = Money; this.InMoney = InMoney; this.OutMoney = OutMoney; this.InMoneyB = InMoneyB; this.OutMoneyB = OutMoneyB; } this.DataList = data; this.DataList.forEach(x=>{ this.checkList.push({ FinanceId:null, Type:null, ClientID:null, ClientType:null, OriginalMoney:0, Money:0, }) }); this.DataList = data if( this.msg.ClientID == 0 ){ this.msg.ClientID = ''; } }else{ this.Error(res.data.message) if( this.msg.ClientID == 0 ){ this.msg.ClientID = ''; } } },err=>{}) }, initAddChuNa(){ this.payMsgList = []; this.saveMsg=[]; this.listAllMoney = 0; this.huikuanren = ''; this.TradeDate=''; this.addChuNa = false; this.payMsg = { ID:0, FinanceId:'', Type:'', AccountId:'', OriginalMoney:0, CurrencyId:'', Rate:0, Fee:0, Name:'', CurrenName:'', Account:'', balance:'', allMoney:0, show:false, }; this.addMsg = { FrIDs:'', RemitterName:'', TradeDate:'', BankList:[], } }, Calculation(i,index){ // 计算价格 if(i===1){ this.payMsgList[index].Fee = isNaN(parseFloat(this.payMsgList[index].Fee))?0:parseFloat(this.payMsgList[index].Fee); this.payMsgList[index].Rate = isNaN(parseFloat(this.payMsgList[index].Rate))?0:parseFloat(this.payMsgList[index].Rate); this.payMsgList[index].OriginalMoney = isNaN(parseFloat(this.payMsgList[index].OriginalMoney))?0:parseFloat(this.payMsgList[index].OriginalMoney); let fee = this.payMsgList[index].Fee, Rate = this.payMsgList[index].Rate===0?1:this.payMsgList[index].Rate, Money = this.payMsgList[index].OriginalMoney; this.payMsgList[index].allMoney = (Money*Rate)+fee; }else{ this.payMsg.Fee = isNaN(parseFloat(this.payMsg.Fee))?0:parseFloat(this.payMsg.Fee); this.payMsg.Rate = isNaN(parseFloat(this.payMsg.Rate))?0:parseFloat(this.payMsg.Rate); this.payMsg.OriginalMoney = isNaN(parseFloat(this.payMsg.OriginalMoney))?0:parseFloat(this.payMsg.OriginalMoney); let fee = this.payMsg.Fee, Rate = this.payMsg.Rate===0?1:this.payMsg.Rate, Money = this.payMsg.OriginalMoney; this.payMsg.allMoney = (Money*Rate)+fee; } }, deleteRow(obj,index){ obj.show = false; this.payMsgList.splice(index,1); this.$forceUpdate(); }, setAccountName(i,type,index){ if(type===2){ this.accountList.forEach(x=>{ if(x.ID===i){ this.payMsg.Account = x.allName; this.payMsg.CurrenName =x.CurrencyName; this.payMsg.Rate = x.CurrencyRate?x.CurrencyRate:x.CurrentRate; this.payMsg.CurrencyId = x.CurrencyId; this.payMsg.balance = x.Initialbalance; } }) this.addList() }else{ this.accountList.forEach(x=>{ if(x.ID===i){ this.payMsgList[index].Account = x.allName; this.payMsgList[index].CurrenName =x.CurrencyName; this.payMsgList[index].Rate = x.CurrencyRate?x.CurrencyRate:x.CurrentRate; this.payMsgList[index].CurrencyId = x.CurrencyId; this.payMsgList[index].balance = x.Initialbalance; } }) this.addList() } }, getAccountList(i){ this.payMsg.AccountId = ''; this.GetAccountType.forEach(x=>{ if(x.ID===i){ this.payMsg.Name = x.Name; } }); if(i===1){ this.bankaccount_post_GetListS() } if(i===2){ this.BankAccount_post_GetPlatformList() } if(i===3){ this.BankAccount_post_GetCashAccountList() } if(i===4){ this.BankAccount_post_GetCashPoolList() } }, BankAccount_post_GetPlatformList(){ //获取平台账户 let msg = { BackId:0, TypeId:0, BranchId:-1, Alias:'' }; this.apipost('BankAccount_post_GetPlatformList',msg, res => { if(res.data.resultCode === 1) { let data = res.data.data; data.forEach(x=>{ x.allName = x.Alias+' '+x.PlatformNo; }); this.accountList = data; } }, err => {}) }, BankAccount_post_GetCashAccountList(){ // 获取现金账户 let msg = { TypeId:0, BranchId:-1, Alias:'' }; this.apipost('BankAccount_post_GetCashAccountList',msg, res => { if(res.data.resultCode === 1) { let data = res.data.data; data.forEach(x=>{ x.allName = x.Alias; }); this.accountList = data; } }, err => {}) }, bankaccount_post_GetListS(query){ // 获取银行账户 this.apipost('bankaccount_post_GetList',{}, res => { if(res.data.resultCode === 1) { let data = res.data.data; data.forEach(x=>{ x.allName = x.Alias+' '+x.BackNo; }); this.accountList = data; if (query) { this.AccountId = parseInt(this.$route.query.BankID); } } }, err => {}) }, BankAccount_post_GetCashPoolList(){ // 获取资金池账 this.apipost('BankAccount_post_GetCashPoolList',{TypeId:2,BranchId:-1,Alias:''}, res => { if(res.data.resultCode === 1) { let data = res.data.data; data.forEach(x=>{ x.allName = x.Alias; }); this.accountList = data; } }, err => {}) }, clearAccBank(){ // 选择账户类型清空数据 this.payMsg.Type = ''; this.payMsg.AccountId = ''; }, submitAddChuNa(){ // if(this.payMsgList.length===0) return this.$message.error(this.$t('fnc.a_qxzjyfangshi')); if(this.addMsg.TradeDate==='') return this.$message.error(this.$t('fnc.a_qxzjyriqi')); if(this.BillType===1&&this.addMsg.RemitterName==='') return this.$message.error(this.$t('rule.qtxhkuanren')) ; let str = ''; this.checkList.forEach(x=>{ if(x.FinanceId){ str = str+x.FinanceId+',' } }); this.addMsg.FrIDs = str.substring(0,str.length-1); this.addMsg.BankList = this.payMsgList; this.addMsg.Money = this.listAllMoney; this.allLoading = true this.apipost('Financial_post_MergeFinance',this.addMsg,r=>{ if(r.data.resultCode === 1) { this.addChuNa = false; this.saveMsg=[]; this.payMsgList = [] this.payMsg = { ID:0, FinanceId:'', Type:'', AccountId:'', OriginalMoney:0, CurrencyId:'', Rate:0, Fee:0, Name:'', CurrenName:'', Account:'', balance:'', allMoney:0, show:false, } this.getList() }else{ this.$message.error(r.data.message) } this.allLoading = false },null) }, addCheckbox(obj,index){ this.DataList.forEach((x)=>{ // 循环改变check disabled 状态 if(x.FinanceId===obj.FinanceId){ x.disabled=false }else if(x.Type===obj.Type&&x.ClientID===obj.ClientID&&x.ClientType===obj.ClientType){ x.disabled=false }else{ x.disabled=true } }); if(obj.check){ this.checkList[index] = { FinanceId:obj.FinanceId, Type:obj.Type, ClientID:obj.ClientID, ClientType:obj.ClientType, OriginalMoney:obj.OriginalMoney, Money:obj.Money, } this.BillType = obj.Type; }else{ this.checkList[index] = { FinanceId:null, Type:null, ClientID:null, ClientType:null, OriginalMoney:0, Money:0, } } let count = false; this.checkList.forEach(x=>{ if(x.FinanceId){ return count = true; } }); if(!count){ this.DataList.forEach((x,i)=>{ x.disabled=false }) } }, //点击全选 checkAllOrder(){ this.checkList=[] if(this.isCheckAll){ this.DataList.forEach(x=>{ x.check=true; }) }else{ this.DataList.forEach(x=>{ x.check=false; }) } this.DataList.forEach((x,index)=>{ if(x.check&&x.ClientID>0){ this.checkList[index] = { FinanceId:x.FinanceId, Type:x.Type, ClientID:x.ClientID, ClientType:x.ClientType, OriginalMoney:x.OriginalMoney, Money:x.Money, } } }) }, addChuNaFun(){ // 添加出纳按钮点击事件 let count = 0; let allBPrice = 0; let allWPrice = 0; this.checkList.forEach(x=>{ if(x.FinanceId){ count++; allBPrice = allBPrice + x.Money; allWPrice = allWPrice + x.OriginalMoney; this.addMsg.FrIDs = this.addMsg.FrIDs + x.FinanceId + ','; } }); if(this.addMsg.FrIDs){ let s = this.addMsg.FrIDs; s = s.substring(0,s.length - 1); this.count = count; this.allWPrice = allWPrice; this.allBPrice = allBPrice; this.payMsg.OriginalMoney = allBPrice; this.payMsg.Rate = 1; this.payMsg.allMoney = allBPrice * 1; this.addMsg.FrIDs = s; this.addChuNa = true; this.listAllMoney = allBPrice * 1 }else{ this.$message.error(this.$t('fnc.a_qxzdanju')) } }, addList(){ if(this.payMsg.AccountId==='')return; if(this.payMsg.OriginalMoney===0||this.payMsg.OriginalMoney==='')return; if(this.payMsg.AccountId==='')return; this.payMsgList.push(this.payMsg); this.payMsg = { ID:0, FinanceId:'', Type:'', AccountId:'', OriginalMoney:0, CurrencyId:'', Rate:0, Fee:0, Name:'', CurrenName:'', Account:'', balance:'', allMoney:0, show:false, }; this.CalculationMoney(); }, CalculationMoney(){ this.listAllMoney = 0; this.payMsgList.forEach(x=>{ // this.listAllMoney = this.listAllMoney + x.allMoney this.listAllMoney += x.allMoney }) }, financeinfo_post_GetCostTypeList(){ // 费用类型 this.apipost('financeinfo_post_GetCostTypeList',{Name:'',type:0,DepartIDs:this.DepartIDs},res=>{ if(res.data.resultCode==1){ this.GetCostTypeList = res.data.data; }else{ } },err=>{}) }, getCompanyList(){ //获取公司列表 let userInfo=this.getLocalStorage(); let msg={ RB_Group_Id:userInfo.RB_Group_id }; this.apipost('admin_get_BranchGetList',msg,res=>{ if(res.data.resultCode==1){ this.CompanyList=res.data.data; }else{} },err=>{}) }, showUpLoadFile(i){ // 预览上传文件 if(i.Type==3){ this.picObj.push(i.Url); this.imgList.push(i.Url); this.picIsShow= false; // this.hideFlashMan = 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); this.addMsg.vorcherInos = this.saveMsg; }, uploadFileBtn(file) { //上传 if(file.file.size > 1024 * 1024 * 10) { this.Error(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.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.addMsg.vorcherInos = this.saveMsg; this.Success(this.$t('tips.scchenggong')); }); }, }, mounted(){ // this.productionDate = [StartDate, EndDate] // this.msg.sTradeDate = this.productionDate[0]; // this.msg.eTradeDate = this.productionDate[1]; let userInfo=this.getLocalStorage(); this.getAccountTypeList(); this.AccountType_post_GetList(); this.BankAccount_post_GetAccountType(); // this.financeinfo_post_GetClientAccountList(); //付款对象 this.financeinfo_post_GetCostTypeList(); this.getCompanyList(); } } </script>