|
@@ -1,7 +1,12 @@
|
|
|
<template>
|
|
|
<div class="expenseMobileinfo-all" v-loading.fullscreen.lock="fullscreenLoading">
|
|
|
+ <el-dialog top="20vh" custom-class="selfDialog" width="95%" title="详情" :visible.sync="fymxVisible">
|
|
|
+ <div class="dialog-title">费用明细</div>
|
|
|
+ <div class="fymxinfo" v-html="fymx"></div>
|
|
|
+
|
|
|
+ </el-dialog>
|
|
|
<div class="expenseMobileinfo-top">
|
|
|
- <div class="back"><i style="font-weight:600 ;font-size: 16px;" class="el-icon-arrow-left"></i>返回</div>
|
|
|
+ <div @click="back" class="back"><i style="font-weight:600 ;font-size: 16px;" class="el-icon-arrow-left"></i>返回</div>
|
|
|
<div class="expenseMobileinfo-title">费用清单</div>
|
|
|
</div>
|
|
|
<div class="expenseMobileinfo-box">
|
|
@@ -9,17 +14,20 @@
|
|
|
<div class="expenseMobileinfo-group-name">团队名称:{{GroupInfo.teamName}}</div>
|
|
|
<div class="expenseMobileinfo-group-client">客户:{{GroupInfo.clientName}}</div>
|
|
|
<div class="expenseMobileinfo-group-nation">出访国家:{{GroupInfo.visitCountry}}</div>
|
|
|
- <div class="expenseMobileinfo-group-date">起止日期:{{chuli(GroupInfo.visitStartDate)}}~{{chuli(GroupInfo.visitEndDate)}}</div>
|
|
|
- <div class="expenseMobileinfo-group-day">天数/人数:{{GroupInfo.visitDays}}天 / {{GroupInfo.visitPNumber}}人</div>
|
|
|
+ <div style="display: flex;justify-content: space-between;flex-wrap:wrap;">
|
|
|
+ <div class="expenseMobileinfo-group-date">起止日期:{{chuli(GroupInfo.visitStartDate)}}~{{chuli(GroupInfo.visitEndDate)}}</div>
|
|
|
+ <div class="expenseMobileinfo-group-day">天数/人数:{{GroupInfo.visitDays}}天 / {{GroupInfo.visitPNumber}}人</div>
|
|
|
+ </div>
|
|
|
</div>
|
|
|
<div class="expenseMobileinfo-content">
|
|
|
<div class="expenseMobileinfo-menu">
|
|
|
- <div @click="menuliclick(item.id,index)" class="expenseMobileinfo-menu-li" v-for="(item,index) in classify" :key="index">{{item.name}}</div>
|
|
|
+ <div v-show="item.name!='文档下载'" @click="menuliclick(item.id,index)" class="expenseMobileinfo-menu-li" v-for="(item,index) in classify" :key="index">{{item.name}}</div>
|
|
|
</div>
|
|
|
<div class="expenseMobileinfo-list">
|
|
|
<div v-for="(items,index) in tabledata" :key="index" class="expenseMobileinfo-list-card">
|
|
|
- <div class="ex-card-name">费用名称:{{items.priceNameContent}}</div>
|
|
|
+ <div class="ex-card-name">费用名称:<span @click="expensedetail(items.priceMsgContent)" style="color: #409eff;text-decoration-line:underline">{{items.priceNameContent}}</span></div>
|
|
|
<div class="ex-card-module">费用模块:{{items.priceName}}</div>
|
|
|
+ <div v-if="thisID==79" class="ex-card-copewith">Bus名称:{{items.busName}}</div>
|
|
|
<div class="ex-card-copewith">应付款金额:{{items.waitPay}}</div>
|
|
|
<div class="ex-card-payment">此次付款金额:{{items.currPay}}</div>
|
|
|
<div class="ex-card-balance">剩余尾款:{{items.balance}}</div>
|
|
@@ -29,10 +37,12 @@
|
|
|
<div class="ex-card-paymethod">支付方式:{{items.payType}}</div>
|
|
|
<div class="ex-card-cardtype">卡类型:{{items.cardType}}</div>
|
|
|
<div class="ex-card-btn">
|
|
|
- <el-button size="mini" type="primary">通过</el-button>
|
|
|
- <el-button size="mini" type="danger">驳回</el-button>
|
|
|
+ <el-button @click="passbtn(items.id,1)" v-if='items.isAuditGM == 0 || items.isAuditGM == 2' size="mini" type="primary">通过</el-button>
|
|
|
+ <el-button @click="nopassbtn(items.id,2)" size="mini" type="danger" v-if='items.isAuditGM == 0'>驳回</el-button>
|
|
|
+ <el-button @click="nopassbtn(items.id,2)" v-if='items.isAuditGM == 1|| items.isAuditGM == 3' size="mini" type="warning">取消通过</el-button>
|
|
|
</div>
|
|
|
</div>
|
|
|
+ <div style="text-align: center;" v-if="tabledata.length==0">暂无数据</div>
|
|
|
</div>
|
|
|
</div>
|
|
|
</div>
|
|
@@ -46,7 +56,10 @@ export default {
|
|
|
diid:'',
|
|
|
GroupInfo:{},
|
|
|
tabledata:[],
|
|
|
- fullscreenLoading:false
|
|
|
+ fullscreenLoading:false,
|
|
|
+ thisID:0,
|
|
|
+ fymx:'',
|
|
|
+ fymxVisible:false
|
|
|
}
|
|
|
},
|
|
|
methods:{
|
|
@@ -70,8 +83,12 @@ export default {
|
|
|
console.log(res);
|
|
|
if (res.data.code == 200) {
|
|
|
that.classify=res.data.data;
|
|
|
+ // that.classify = that.classify.filter(function(item) {
|
|
|
+ // return item.name !== "文档下载"
|
|
|
+ // });
|
|
|
setTimeout(function () {
|
|
|
- that.menuliclick(that.classify[0].id,0)
|
|
|
+ that.thisID=that.classify[0].id;
|
|
|
+ that.menuliclick(that.thisID,0)
|
|
|
},500)
|
|
|
}else{
|
|
|
that.fullscreenLoading=false;
|
|
@@ -103,6 +120,7 @@ export default {
|
|
|
//menu-li click
|
|
|
menuliclick(id,index){
|
|
|
this.tabledata=[];
|
|
|
+ this.thisID=id
|
|
|
var boxes = document.getElementsByClassName('expenseMobileinfo-menu-li');
|
|
|
for(let i=0;i<boxes.length;i++){
|
|
|
boxes[index].style.backgroundColor="#ede8e8";
|
|
@@ -110,7 +128,7 @@ export default {
|
|
|
boxes[i].style.color="#555";
|
|
|
boxes[i].style.backgroundColor="#FFF";
|
|
|
}
|
|
|
- this.getPostSearchGrpCreditCardPayment(id);
|
|
|
+ this.getPostSearchGrpCreditCardPayment(this.thisID);
|
|
|
},
|
|
|
//获取详情
|
|
|
getPostSearchGrpCreditCardPayment(val) {
|
|
@@ -134,20 +152,69 @@ export default {
|
|
|
}).then(function (res) {
|
|
|
if (res.data.code == 200) {
|
|
|
that.tabledata=res.data.data.data.detailList;
|
|
|
+ let divbox=(document.getElementsByClassName('expenseMobileinfo-group')[0].offsetHeight)+62;
|
|
|
+ document.getElementsByClassName('expenseMobileinfo-content')[0].style.height=(document.documentElement.clientHeight)-divbox+'px' || (document.body.clientHeight)-divbox+'px'
|
|
|
that.fullscreenLoading=false;
|
|
|
}else{
|
|
|
that.fullscreenLoading=false;
|
|
|
}
|
|
|
})
|
|
|
},
|
|
|
+ back(){
|
|
|
+ this.$router.push({path: '/expenseMobile'});
|
|
|
+ },
|
|
|
+ passbtn(val,type){
|
|
|
+ this.noPostAuditGrpCreditCardPayment(val,type)
|
|
|
+ },
|
|
|
+ nopassbtn(val,type){
|
|
|
+ this.noPostAuditGrpCreditCardPayment(val,type)
|
|
|
+ },
|
|
|
+ //单独审批
|
|
|
+ noPostAuditGrpCreditCardPayment(val, num) {
|
|
|
+ var url = "/api/Groups/PostAuditGrpCreditCardPayment"
|
|
|
+ var that = this
|
|
|
+ this.$axios({
|
|
|
+ method: 'post',
|
|
|
+ url: url,
|
|
|
+ headers: {
|
|
|
+ Authorization: 'Bearer ' + that.token
|
|
|
+ },
|
|
|
+ data: {
|
|
|
+ portType:1,
|
|
|
+ userId:21,
|
|
|
+ pageId:47,
|
|
|
+ CreditIdStr: val + '',
|
|
|
+ auditCode: num,//1审核通过,2审核未通过
|
|
|
+ }
|
|
|
+ }).then(function (res) {
|
|
|
+ if (res.data.code == 200) {
|
|
|
+ that.$message({
|
|
|
+ message: res.data.msg,
|
|
|
+ type: 'success',
|
|
|
+ offset: 50
|
|
|
+ });
|
|
|
+ that.getPostSearchGrpCreditCardPayment(that.thisID);
|
|
|
+ }else{
|
|
|
+ that.$message({
|
|
|
+ message: res.data.msg,
|
|
|
+ type: 'warning',
|
|
|
+ offset: 50
|
|
|
+ });
|
|
|
+ }
|
|
|
+ })
|
|
|
+ },
|
|
|
+ //费用明细
|
|
|
+ expensedetail(val){
|
|
|
+ this.fymxVisible=true;
|
|
|
+ this.fymx=val;
|
|
|
+ },
|
|
|
+
|
|
|
},
|
|
|
mounted(){
|
|
|
this.diid = this.$route.query.id;
|
|
|
this.PostShareGroupInfo();
|
|
|
this.PostGroupDirectionalClassificationInit();
|
|
|
- let divbox=(document.getElementsByClassName('expenseMobileinfo-group')[0].offsetHeight)+44;
|
|
|
- console.log(divbox);
|
|
|
- document.getElementsByClassName('expenseMobileinfo-content')[0].style.height=(document.documentElement.clientHeight)-divbox+'px' || (document.body.clientHeight)-divbox+'px'
|
|
|
+
|
|
|
// document.getElementsByClassName('expenseMobileinfo-list')[0].style.height=(document.documentElement.clientHeight)-divbox+'px' || (document.body.clientHeight)-divbox+'px'
|
|
|
}
|
|
|
}
|
|
@@ -168,7 +235,7 @@ export default {
|
|
|
background-color: #fff;
|
|
|
width: 100%;
|
|
|
text-align: center;
|
|
|
- border-bottom: 1px solid #ede8e8;
|
|
|
+ border-bottom: 1px solid #ede8e8;
|
|
|
}
|
|
|
.back{
|
|
|
position: absolute;
|
|
@@ -193,7 +260,7 @@ export default {
|
|
|
}
|
|
|
.expenseMobileinfo-menu-li{
|
|
|
text-align: center;
|
|
|
- padding: 5px 0;
|
|
|
+ padding: 10px 0;
|
|
|
|
|
|
}
|
|
|
.expenseMobileinfo-menu-li{
|
|
@@ -229,4 +296,17 @@ export default {
|
|
|
.ex-card-btn{
|
|
|
text-align: right;
|
|
|
}
|
|
|
+.expenseMobileinfo-all .el-dialog__header{
|
|
|
+ display: none;
|
|
|
+}
|
|
|
+.expenseMobileinfo-all .el-dialog__body{
|
|
|
+ padding: 10px;
|
|
|
+}
|
|
|
+.fymxinfo{
|
|
|
+ max-height: 300px;
|
|
|
+ overflow: auto;
|
|
|
+}
|
|
|
+.expenseMobileinfo-all .dialog-title{
|
|
|
+ margin-bottom: 10px;
|
|
|
+}
|
|
|
</style>
|