Commit 2e3a9245 authored by 黄媛媛's avatar 黄媛媛

111

parent 01282b89
<template>
<div class="AppActivity Feedback">
<ul style="overflow: initial!important">
<li>
<span>
<em>团号</em>
</span>
<el-input class="w180" v-model="obj.TCNUM"></el-input>
</li>
<li>
<span>
<em>单据</em>
</span>
<el-input class="w180" v-model="obj.FinanceId"></el-input>
</li>
<li>
<span>
<em>账户</em>
</span>
<el-select filterable v-model='obj.AccountId' >
<el-option :value="-1" label="不限"></el-option>
<el-option v-for='item in accountList'
:label='item.Name'
:value='item.ID'
:key='item.ID'>
</el-option>
</el-select>
</li>
<!-- <li>
<span>
<em>账户类型</em>
</span>
<el-select filterable v-model="obj.Type" >
<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>
</li> -->
<li>
<em>时间</em>
<el-date-picker
v-model="dateList"
type="daterange"
range-separator="至"
start-placeholder="开始日期"
value-format="yyyy-MM-dd"
end-placeholder="结束日期">
</el-date-picker>
</li>
<li style="float:right;margin-bottom:10px">
<input
type="button"
class="hollowFixedBtn"
value="查询"
@click="getList()"
>
<input
type="button"
class="hollowFixedBtn"
value="新增"
@click="addRule"
>
</li>
</ul>
<div style="margin-top:15px">
<span>制单已审核:¥{{dataInfo.CXMoney}}</span>
<span style="margin:0 20px">制单未审核:¥{{dataInfo.ZDMoney}}</span>
<span>未制单:¥{{dataInfo.Money}}</span>
</div>
<table class="singeRowTable" border="0" cellspacing="0" cellpadding="0" v-loading="loading">
<tr>
<th>ID</th>
<th>团号</th>
<th>账户类型</th>
<th>账户名称</th>
<th>财务单据</th>
<th>单据状态</th>
<th>是否审核</th>
<th>收据金额</th>
<th>汇率</th>
<th>原币</th>
<th>收据日期</th>
<!-- <th>附件列表</th> -->
<th>操作人/时间</th>
<th>备注</th>
<th>操作</th>
</tr>
<tr v-for="(item,i) in dataList" :key="i">
<td>{{item.Id}}</td>
<td>{{item.TCNUM}}{{item.TCID}}</td>
<td>
<span v-if="item.Type==1">银行</span>
<span v-if="item.Type==2">平台</span>
<span v-if="item.Type==3">现金</span>
<span v-if="item.Type==4">资金池</span>
</td>
<td>{{item.AccountName}}</td>
<td>{{item.FinanceId}}</td>
<td>{{item.fStatusName}}</td>
<td>
<span v-if="item.Is_Cashier==1"></span>
<span v-if="item.Is_Cashier==0"></span>
</td>
<td>{{item.Money}}</td>
<td>{{item.Rate}}</td>
<td>{{item.WBMoney}}</td>
<td>{{item.Time}}</td>
<!-- <td>
<a v-for="(src,index) in item.VoucherList" :key="index" :href="src"></a>
</td> -->
<td>{{item.UpdateBy}}/{{item.UpdateDate}}</td>
<td>{{item.Remark}}</td>
<td>
<el-button @click="SetRules(item)" style="padding:4px" type="primary" icon="el-icon-edit" circle></el-button>
<el-button @click="Delete(item)" style="padding:4px" type="danger" icon="el-icon-delete" circle></el-button>
</td>
</tr>
<tr v-if="dataList.length==0">
<td colspan="12" align="center">暂无数据</td>
</tr>
</table>
<el-pagination background @current-change="handleCurrentChange"
layout="total,prev, pager, next, jumper" :page-size="obj.pageSize" :total='total'>
</el-pagination>
<el-dialog
title="修改"
:visible.sync="ruleVisible"
width="800px">
<el-form ref="form" :model="form" :rules="rules" label-width="100px">
<el-form-item label="团号" prop="TCNUM">
<el-input class="w220" v-model="form.TCNUM"></el-input>
</el-form-item>
<el-form-item label="账户" prop="AccountId">
<el-select filterable v-model="form.AccountId" @change="getAccName(form.AccountId,1)">
<el-option label='不限' :value='-1'></el-option>
<el-option v-for='item in accountList'
:label='item.Name'
:value='item.ID'
:key='item.ID'>
</el-option>
</el-select>
</el-form-item>
<el-form-item label="原币金额" prop="WBMoney">
<el-input @blur="getMoney" class="w220" v-model="form.WBMoney"></el-input>
</el-form-item>
<el-form-item label="汇率">
<el-input class="w220" v-model="form.Rate" :disabled="true"></el-input>
</el-form-item>
<el-form-item label="本位币金额">
<el-input class="w220" v-model="form.Money" :disabled="true"></el-input>
</el-form-item>
<el-form-item label="收据日期" prop="Time" >
<el-date-picker type="date" v-model="form.Time"
value-format="yyyy-MM-dd"></el-date-picker>
</el-form-item>
<el-form-item label="备注">
<el-input class="w220" v-model="form.Remark"></el-input>
</el-form-item>
<div class="DocumentStatisticsDiv" >
<div>
<div class="_addUpload_box clearfix" >
<template v-for="(file,fIndex) in saveMsg">
<div v-if="file.Type==3">
<div style="width:100%;height:100%;overflow: hidden;">
<img :src="file.Url?file.Url:file.Content" @click="showUpLoadFile(file)">
</div>
<span class="iconfont icon-guanbi1" @click="deleteUploadFile(fIndex)"></span>
</div>
<div v-if="file.Type==1">
<div class="iconfont " :class="file.Content.substring(file.Content.lastIndexOf('.')+1,file.Content.length).toUpperCase()=='PDF'? 'icon-pdf' : 'icon-excel'" @click="showUpLoadFile(file)">
</div>
<span class="iconfont icon-guanbi1" @click="deleteUploadFile(fIndex)"></span>
</div>
<div v-if="file.Type==2">
<div class="iconfont icon-excel" @click="showUpLoadFile(file)">
</div>
<span class="iconfont icon-guanbi1" @click="deleteUploadFile(fIndex)"></span>
</div>
</template>
<div class="_pic_upload">
<el-upload
drag
:http-request="uploadFileBtn"
:multiple="true" :show-file-list="false" action="">
<i class="el-icon-plus avatar-uploader-icon"></i>
<div class="el-upload__text">{{$t('active.ld_djscwj')}}</div>
</el-upload>
</div>
</div>
</div>
</div>
</el-form>
<span slot="footer" class="dialog-footer">
<el-button size="small" @click="ruleVisible = false">取 消</el-button>
<el-button size="small" type="danger" @click="RulesOk('form')">确 定</el-button>
</span>
</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"
export default {
name: 'Feedback',
data (){
return{
initialIndex:0,
edittrue:false,
allzb:100,
total:0,
obj:{
pageIndex:1,
pageSize:10,
TCNUM:'',
FinanceId:0,
AccountId:-1,
Type:3,
StartTime:'',
EndTime:'',
},
dataList:[],
loading:false,
dateList:[],
LineList:[],
companyList:[],
ruleVisible:false,
form:{
Id:0,
TCNUM:'',
AccountId:-1,
Type:3,
WBMoney:'',
Rate:'',
Money:'',
Time:'',
Remark:'',
VoucherList:[],
},
LineTeamList:[],
EmployeeList:[],
rules:{
TCNUM: [{ required: true, message: '请输入团号', trigger: 'blur' }],
AccountId: [{ required: true, message: '请选择账号', trigger: 'change' }],
WBMoney: [{ required: true, message: '请输入原币金额', trigger: 'blur' }],
},
LineListObj:{},
companyListObj:{},
AccList:[],
accountList:[],
saveMsg:[],
imgList:[],
picIsShow:false,
picObj:[],
dataInfo:{},
}
},
created(){
let userInfo = this.getLocalStorage();
this.form.groupId=userInfo.RB_Group_id;
},
mounted(){
this.getList();
this.AccountType_post_GetList();
this.getAccountList();
this.getdataInfo();
},
filters:{
YMD(date){
return moment(date).format("YYYY-MM-DD");
}
},
methods:{
getdataInfo(){
if(this.dateList && this.dateList.length>0){
this.obj.StartTime=this.dateList[0];
this.obj.EndTime=this.dateList[1];
}else{
this.obj.StartTime='';
this.obj.EndTime='';
}
this.apipost('Financial_get_GetFinanceReceiptStatistics',this.obj,res=>{
if(res.data.resultCode==1){
this.dataInfo = res.data.data;
}else{
this.$message.error(res.data.message);
}
},err=>{})
},
getMoney(){
this.form.Money=(this.form.WBMoney * this.form.Rate).toFixed(2);
},
getAccName(i,o){ // 根据选择账户获取账户名
this.accountList.forEach(x=>{
if(x.ID == i){
this.form.Rate=x.Rate;
this.getMoney();
}
})
},
showUpLoadFile(i){ // 预览上传文件
if(i.Type==3){
this.picObj.push(i.Url);
this.imgList.push(i.Url);
this.picIsShow= true;
// 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);
},
uploadFileBtn(file) { //上传
if(file.file.size > 1024 * 1024 * 10) {
this.$message.warning(this.$t('tips.wjdxbncgsz'))
return
}
// 1 文档 2 数据 3 图片
let typeArr=[
{stringArr:'GIF|JPG|JPEG|PNG|BMP',type:3},
{stringArr:'DOCX|DOC|XLSX|XLS|PPT|PPTX|PDF',type:1},
]
let ft=file.file.name.substring(file.file.name.lastIndexOf('.')+1,file.file.name.length).toUpperCase();
let fileTypeNumber = 2;
let typeOk = false;
typeArr.forEach(x=>{
if(x.stringArr.indexOf(ft)!='-1')
{
fileTypeNumber=x.type
typeOk = true;
}
})
if (!typeOk) return this.$message.error(this.$t('tips.qscWEfile'));
let newArr = [];
newArr.push(file.file)
let path = "/Upload/Temporary/"
this.$message.info(this.$t('tips.shangchuanzhong'))
this.UploadSelfFileT(path, newArr, x => {
let fileSize = file.file.size<1024? file.file.size:(file.file.size / 1024).toFixed(0);
this.saveMsg.push({
Content: x.data.FilePath,
ID:0,
Type:fileTypeNumber,
Url: this.domainManager().ViittoFileUrl + x.data.FilePath,
})
this.Success(this.$t('tips.scchenggong'))
},1);
},
getAccountList(){
this.apipost('FinancialInstitutions_post_GetALLAccountList',{TypeId:8}, res => {
if(res.data.resultCode == 1) {
let data = res.data.data;
data.forEach(x=>{
x.allName = x.BackNo+"("+x.Alias+")";
x.Name = x.Alias;
})
this.accountList = data;
}
}, err => {})
},
AccountType_post_GetList(){ //获取账户类型下拉
this.apipost('AccountType_post_GetList',{},res=>{
if(res.data.resultCode==1){
this.AccList = res.data.data;
}else{
this.$message.error(res.data.message);
}
},err=>{})
},
handleCurrentChange(val) {
this.obj.pageIndex = val;
this.getList();
},
Delete(item) {
this.$confirm("是否删除? 删除后不可恢复", "提示", {
confirmButtonText: "确定",
cancelButtonText: "取消",
type: "warning"
})
.then(() => {
this.apipost('Financial_post_DelFinanceReceiptInfo', {ReceiptId:item.Id}, res => {
if (res.data.resultCode == 1) {
this.Success(res.data.message)
this.getList()
}else{
this.Error(res.data.message)
}
})
})
.catch(() => {});
},
addRule(){
this.ruleVisible=true;
this.edittrue=false;
this.InitForm();
},
SetRules(item){
this.ruleVisible=true;
this.edittrue=true;
this.form={
Id:item.Id,
TCNUM:item.TCNUM,
AccountId:item.AccountId,
Type:3,
WBMoney:item.WBMoney,
Rate:item.Rate,
Money:item.Money,
Time:item.Time,
Remark:item.Remark,
VoucherList:item.VoucherList,
}
this.saveMsg=[];
this.form.VoucherList.forEach(item=>{
let obj={
Url:item,
Type:3,
}
this.saveMsg.push(obj)
})
console.log("this.this.saveMsg",this.saveMsg)
},
RulesOk(formName){
this.form.VoucherList=[];
this.$refs[formName].validate((valid) => {
if (valid) {
this.saveMsg.forEach(item=>{
this.form.VoucherList.push(item.Url);
})
this.apipost('Financial_post_SetFinanceReceiptInfo',this.form,res=>{
if(res.data.resultCode==1){
this.Success(res.data.message)
this.getList();
this.ruleVisible=false;
this.InitForm();
}else{
this.$message.error(res.data.message);
}
},err=>{})
} else {
}
});
},
InitForm(){
this.form={
Id:0,
TCNUM:'',
AccountId:-1,
Type:3,
WBMoney:'',
Rate:'',
Money:'',
Time:'',
Remark:'',
VoucherList:[],
}
},
getList(){
this.loading=true;
if(this.dateList && this.dateList.length>0){
this.obj.StartTime=this.dateList[0];
this.obj.EndTime=this.dateList[1];
}else{
this.obj.StartTime='';
this.obj.EndTime='';
}
this.apipost('Financial_get_GetFinanceReceiptPageList',this.obj,res=>{
this.loading=false;
if(res.data.resultCode==1){
this.dataList = res.data.data.pageData;
this.total=res.data.data.count;
}else{
this.$message.error(res.data.message);
}
},err=>{})
},
}
}
</script>
<style>
.DocumentStatisticsDiv .el-upload-dragger{
width: 124px!important;
height: 80px!important;
}
._addUpload_box{
display: block;
margin-top: 15px;
}
._addUpload_box img{
width: 100%;
}
._addUpload_box>div{
float: left;
width:138px;
height:92px;
border:1px dashed rgba(210,210,210,1);
border-radius:2px;
cursor: pointer;
margin-bottom: 10px;
padding: 5px;
margin-right: 10px;
position: relative;
}
._addUpload_box>div:hover{
background-color: #f5f5f5;
}
._addFile_name{
padding-left: 15px;
max-width: 450px;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
._addUpload_box .icon-guanbi1 {
font-size: 12px;
color: white;
display: inline-block;
margin-left: 15px;
position: absolute;
right: -6px;
top: -9px;
background-color: #f56c6c;
border-radius: 50%;
height: 20px;
width: 20px;
text-align: center;
line-height: 20px;
}
._addUpload_box .icon-guanbi1:hover {
font-size: 12px;
color: #c94052;
}
._addUpload_box .icon-excel,._addUpload_box .icon-pdf{
text-align: center;
font-size: 38px;
color: green;
line-height: 75px;
}
.AppActivity .el-form-item{
display: inline-block;
}
.Feedback ul>li{
display: inline-block;
font-size: 12px;
color: #666;
margin: 20px 30px 0px 0;
}
.Feedback .singeRowTable{
margin-top: 20px;
}
</style>
......@@ -287,6 +287,22 @@
</div>
</div>
</el-col>
<!-- <el-col :span="3">
<div class="Team_DList">
<div class="Team_firstTitle">
<span class="Team_comCoinType Team_shou">
<i class="iconfont icon-qian"></i>
</span>财务单据
</div>
<div class="Team_Incontent">
<div>制单已审核:<span>¥{{moneyFormat(dataInfo.CXMoney)}}</span></div>
<div>制单未审核:<span class="Team_Coins">¥{{moneyFormat(dataInfo.ZDMoney)}}</span></div>
<div>未制单:<span class="Team_Coins">¥{{moneyFormat(dataInfo.Money)}}</span></div>
<div>
</div>
</div>
</div>
</el-col> -->
</el-row>
</div>
......@@ -1544,9 +1560,38 @@
checkd:false,
tiploading:false,
checkListAll:[],
dateList:[],
dataInfo:{},
datainfoobj:{
pageIndex:1,
pageSize:10,
TCNUM:'',
FinanceId:0,
AccountId:-1,
Type:3,
StartTime:'',
EndTime:'',
},
};
},
methods: {
getdataInfo(){
if(this.dateList && this.dateList.length>0){
this.datainfoobj.StartTime=this.dateList[0];
this.datainfoobj.EndTime=this.dateList[1];
}else{
this.datainfoobj.StartTime='';
this.datainfoobj.EndTime='';
}
this.apipost('Financial_get_GetFinanceReceiptStatistics',this.datainfoobj,res=>{
if(res.data.resultCode==1){
this.dataInfo = res.data.data;
}else{
this.$message.error(res.data.message);
}
},err=>{})
},
isContain(list){
if(list && list.length==1 && list[0]=="机票罚金"){
......@@ -1820,14 +1865,14 @@
this.moneyAll.dijieys += item.Money;
this.moneyAll.dijiess += item.PayMoney;
this.moneyAll.otheryTotalyf+= item.Money;
this.moneyAll.otheryTotalsf+=item.PayMoney;
this.moneyAll.otheryTotalsf+=item.PayMoney;
}
// 收入 自费
if (that.isExists(item.CostTypeList, '自费') || that.isExists(item.CostTypeList, '自费收支结算')) {
this.moneyAll.zifeiys += item.Money;
this.moneyAll.zifeiss += item.PayMoney;
this.moneyAll.otheryTotalyf+= item.Money;
this.moneyAll.otheryTotalsf+=item.PayMoney;
this.moneyAll.otheryTotalsf+=item.PayMoney;
}
// 收入 小费
if (that.isExists(item.CostTypeList, '小费')) {
......@@ -2072,6 +2117,7 @@ this.moneyAll.otheryTotalsf+=item.PayMoney;
},
mounted() {
this.TCID = this.$route.query.id;
this.datainfoobj.TCNUM=this.$route.query.id;
this.OutBranchId = this.$route.query.OutBranchId;
this.CloseIncomeBtn = this.$route.query.CloseIncomeBtn;
if (this.$route.query.IsHaveAuth) {
......@@ -2081,6 +2127,7 @@ this.moneyAll.otheryTotalsf+=item.PayMoney;
}
this.checkHasAuth();
this.getList();
this.getdataInfo();
}
};
......
......@@ -3533,6 +3533,7 @@ export default {
title: '团队营收统计'
},
},
{ //财务 报表 年度排名统计
path: '/AnnualRanking',
name: 'AnnualRanking',
......@@ -3564,7 +3565,17 @@ export default {
meta: {
title: '团队人数统计'
},
}, {
},
{
path: '/DocumentStatistics',
name: 'DocumentStatistics',
component: resolve => require(['@/components/FinancialModule/DocumentStatistics'], resolve),
meta: {
title: '财务单据'
},
},
{
path: '/JumpReport',
name: 'JumpReport',
component: resolve => require(['@/components/FinancialModule/JumpReport'], resolve),
......
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