Commit 1dc691be authored by 华国豪's avatar 华国豪 🙄
parents 9a535913 a1755a8d
......@@ -1206,7 +1206,7 @@ export default {
{
field: "QiTa",
formatter: this.moneyFormat,
title: "其他",
title: "其他支出",
width: 90,
titleAlign: "left",
columnAlign: "right",
......@@ -1273,6 +1273,16 @@ export default {
isResize: true,
componentName: "TCIDJumpWang"
},
{
field: "QTShouRu",
formatter: this.moneyFormat,
title: "其他收入",
width: 90,
titleAlign: "left",
columnAlign: "right",
isResize: true,
componentName: "TCIDJumpWang"
},
{
field: "YingFu",
formatter: this.moneyFormat,
......
......@@ -49,15 +49,12 @@
{{s.UnitPrice}}
</p>
</td>
<td>{{item.ReimburseList.CurrencyId}}</td>
<td>{{urrencyTypeObj[item.ReimburseList.CurrencyId]}}</td>
<td>
<p v-if="item.RefundStatus!=1">
<span v-if="item.RefundStatus==2">退款中</span>
<span v-if="item.RefundStatus==3">已退款</span>
</p>
<p v-if="item.ReimburseList.SettlementType==1">现金支付</p>
<p v-if="item.ReimburseList.SettlementType==2">公司结算</p>
</td>
<td>{{item.ReimburseList.Remarks}}</td>
</tr>
</tbody>
......@@ -92,7 +89,7 @@ export default {
created() {
let userInfo = this.getLocalStorage();
this.msg.TCIDs=this.$route.query.TCIDs?this.$route.query.TCIDs:"";
console.log("this.msg.TCIDs",this.msg.TCIDs)
this.msg.date=this.$route.query.date?this.$route.query.date:"";
this.financeinfo_post_GetList();
},
methods: {
......@@ -100,32 +97,16 @@ export default {
this.apipost('financeinfo_post_GetList',{Name:''},res=>{
if(res.data.resultCode==1){
let data = res.data.data;
console.log("data",data)
data.map(item => {
this.urrencyTypeObj[0]="不限";
this.urrencyTypeObj[item.ID]=item.Name;
});
}else{
}
},err=>{})
},
// 退款操作
RefundPay(item) {
let orderObj = {
OrderID: item.Id, //订单号
OrderSource: 12, //12
Obj: {},
SourceID: item.AirTicketId, //机票id
TCIDList: []
};
this.$router.push({
name: "ChoiceAddFinancialDocuments",
query: {
Type: 2,
companyID: item.RB_Branch_Id, //公司id
path: "",
blank: "y",
orderObj: JSON.stringify(orderObj)
}
});
},
goUrl: function(name, path, id) {
this.$router.push({
name: path,
......@@ -147,21 +128,21 @@ export default {
this.loading=false;
if(res.data.resultCode == 1) {
this.dataList = res.data.data.BusList;
console.log("this.dataList",this.dataList);
this.dataList = [];
let data=res.data.data.BusList;
data.forEach(item => {
if(item.UseTime==this.msg.date){
this.dataList.push(item);
}
});
// console.log("this.dataList",this.dataList);
} else {
this.Error(res.data.message);
}
}, err => {})
},
// 结束日期不能大于开始日期
dataDui() {
if (this.msg.startDate > this.msg.endDate && this.msg.endDate !== "") {
this.$message.error("结束日期不能大于开始日期");
this.msg.endDate = "";
}
}
},
mounted() {
this.getList();
......
<template>
<div class="flexOne" style="min-width: 1200px;">
<!-- 表格 -->
<div style="width: 100%; height: auto;min-height:500px;overflow-x: auto;margin-top:20px" class="ownScrollbarStyle">
<table class="groupTourOrderSearchTable" border="0" cellspacing="0" cellpadding="0" v-loading='loading'>
<tr class="title_tr">
<th>日期</th>
<th>餐厅名称</th>
<th>计划金额</th>
<th>类别</th>
<th>用餐人数</th>
<th>单价</th>
<th>金额</th>
<th>币种</th>
<th>支付方式</th>
<th>备注</th>
</tr>
<tr>
<td v-show="dataList.length==0" colspan="16" align="center">暂无数据</td>
</tr>
<!-- <tbody v-for="(item,index) in dataList" :key="index">
<tr>
<td>{{item.UseTimeStr}}</td>
<td>
<p v-for="(i,index) in item.DiningSummaryList" :key="index">{{i.DiningName}}({{i.UseDinnerTypeStr}})</p>
</td>
<td>
<p v-for="(i,index) in item.DiningSummaryList" :key="index">{{i.TotalPrice}}</p>
</td>
<td>
<div v-for="(i,index) in item.DiningSummaryList" :key="index">
<p><span class="widthSpan">成人</span>人数:<span class="numSpan">{{i.DiningPriceList[0].PeopleNum}}</span>单价:{{i.DiningPriceList[0].PeoplePrice}}</p>
<p><span class="widthSpan">儿童</span>人数:<span class="numSpan">{{i.DiningPriceList[1].PeopleNum}}</span>单价:{{i.DiningPriceList[1].PeoplePrice}}</p>
<p><span class="widthSpan">婴儿</span>人数:<span class="numSpan">{{i.DiningPriceList[2].PeopleNum}}</span>单价:{{i.DiningPriceList[2].PeoplePrice}}</p>
</div>
</td>
<td>
<p v-for="(i,index) in item.DiningSummaryList" :key="index">
{{diningTotalPrice(i,i.DiningPriceList)}}
</p>
</td>
<td>
{{urrencyTypeObj[item.DiningSummaryList[0].ReimburseList.CurrencyId]}}
</td>
<td>
<span v-if="item.DiningSummaryList[0].PayStyle === 1">现付</span>
<span v-else-if="item.DiningSummaryList[0].PayStyle === 2">公司结算</span>
<span v-else-if="item.DiningSummaryList[0].PayStyle === 3">预付</span>
<span v-else-if="item.DiningSummaryList[0].PayStyle === 6">公司合团支付</span>
</td>
<td>{{item.Remarks}}</td>
</tr>
</tbody> -->
<template v-for='(item,index) in dataList'>
<template v-for="(subItem,subIndex) in item.DiningSummaryList">
<tr v-for="(childItem,childIndex) in subItem.DiningPriceList">
<td v-if="childIndex==0" :rowspan="subItem.DiningPriceList.length">{{item.UseTimeStr}}</td>
<td v-if="childIndex==0" :rowspan="subItem.DiningPriceList.length">
{{subItem.DiningName}}
</td>
<td v-if="childIndex==0" :rowspan="subItem.DiningPriceList.length">
{{childItem.TotalPrice}}
</td>
<td v-if="childIndex==0" :rowspan="subItem.DiningPriceList.length">
{{subItem.UseDinnerTypeStr}}
</td>
<td>
{{peopleStrToWord(childItem.PeopleType)}}:{{childItem.PeopleNum}}
</td>
<td>
<p>
{{subItem.PayStyle === 1 ? moneyFormat(childItem.PeoplePrice) : 0}}
</p>
</td>
<td v-if="childIndex==0" :rowspan="subItem.DiningPriceList.length">
{{diningTotalPrice(subItem, subItem.DiningPriceList)}}
</td>
<td v-if="childIndex==0" :rowspan="subItem.DiningPriceList.length">
<span v-if="subItem.PayStyle === 1">现付</span>
<span v-else-if="subItem.PayStyle === 2">公司结算</span>
<span v-else-if="subItem.PayStyle === 3">预付</span>
<span v-else-if="subItem.PayStyle === 6">公司合团支付</span>
<span v-else></span>
</br>
<span v-show="subItem.PayStyle==6">付款团号:{{subItem.PayTypeTCNUM}}</span>
</td>
<td v-if="childIndex==0" :rowspan="subItem.DiningPriceList.length">
{{urrencyTypeObj[subItem.ReimburseList.CurrencyId]}}
</td>
<td v-if="childIndex==0" :rowspan="subItem.DiningPriceList.length">
{{subItem.ReimburseList.Remarks}}
</td>
</tr>
</template>
</template>
</table>
</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>
</template>
<script>
import payURL from "../commonPage/payURL.vue";
import moment from "moment";
export default {
data() {
return {
msg: {
TCIDs:''
},
dataList: [],
loading: false,
total: 0,
currentPage: 1,
showID: -1,
companyList:[],
employeeList:[],
urrencyTypeObj:{},
};
},
components: {},
created() {
let userInfo = this.getLocalStorage();
this.msg.TCIDs=this.$route.query.TCIDs?this.$route.query.TCIDs:"";
this.msg.date=this.$route.query.date?this.$route.query.date:"";
this.financeinfo_post_GetList();
},
methods: {
peopleStrToWord(str) {
if (str == 1)
return '成人'
if (str == 2)
return '儿童'
if (str == 3)
return '小人'
},
diningTotalPrice(sObj, obj) {
let totalPrice = 0
obj.forEach(x => {
totalPrice += x.PeoplePrice * (x.PeopleNum - x.Discount) * (1 - x.DiscountPrice / 100)
})
if (sObj.PayStyle !== 1) {
totalPrice = 0
}
return this.moneyFormat(totalPrice)
},
financeinfo_post_GetList(){ // 币种类型
this.apipost('financeinfo_post_GetList',{Name:''},res=>{
if(res.data.resultCode==1){
let data = res.data.data;
data.map(item => {
this.urrencyTypeObj[0]="不限";
this.urrencyTypeObj[item.ID]=item.Name;
});
}else{
}
},err=>{})
},
goUrl: function(name, path, id) {
this.$router.push({
name: path,
query: { id: id, blank: "y", tab: name }
});
},
handleCurrentChange(val) {
this.msg.pageIndex = val;
this.getList();
},
resetPageIndex() {
this.msg.pageIndex = 1;
this.currentPage = 1;
},
getList() {
this.loading = true;
this.apipost('dmcstatistics_post_GetNewLeaderPayMoneyStatics', this.msg, res => {
this.loading=false;
if(res.data.resultCode == 1) {
this.dataList = [];
let data=res.data.data.DiningList;
data.forEach(item => {
if(item.UseTimeStr==this.msg.date){
this.dataList.push(item);
}
});
console.log("this.dataList",this.dataList);
} else {
this.Error(res.data.message);
}
}, err => {})
},
},
mounted() {
this.getList();
}
};
</script>
<style scoped>
.numSpan{
display: inline-block;
width:60px;
}
.widthSpan{
display: inline-block;
width: 45px;
}
.groupTourOrderSearchTable {
width: 100%;
min-width: 1500px;
font-size: 14px;
color: #333;
border-bottom: 1px solid #cccccc;
border-right: 1px solid #cccccc;
/* border-collapse: collapse; */
}
.groupTourOrderSearchTable tr th {
background: #e6e6e6;
height: 30px;
font-size: 12px;
text-align: left;
text-indent: 15px;
border-top: 1px solid #cccccc;
border-left: 1px solid #cccccc;
}
.groupTourOrderSearchTable tr {
background: #fff;
text-align: left;
}
.groupTourOrderSearchTable tr td {
padding: 8px;
border-top: 1px solid #cccccc;
border-left: 1px solid #cccccc;
}
.groupTourOrderSearchTable tr td p {
line-height: 20px;
}
.groupTourOrderSearchTable .dowloadSpan:hover {
text-decoration: underline;
cursor: pointer;
}
.groupTourOrderSearchTable span.personNo {
text-decoration: underline;
cursor: pointer;
}
.groupTourOrderSearchTable span.personNo:hover {
font-weight: bold;
color: #e95252;
}
</style>
......@@ -226,6 +226,7 @@
<td>
<p class="over_ellipsis" style="width: 150px;" :title="item.contactName">{{item.contactName}}</p>
<p>{{item.contactMobile}}</p>
<p v-if="item.industryCategory!==''" style="color:green">行业类别:{{item.industryCategory}}</p>
</td>
<td>
<p class="fz12 over_ellipsis" style="width: 100%;">{{item.orderTypeName}}</p>
......
......@@ -1549,6 +1549,7 @@
<td>
<p class="fz12 over_ellipsis" style="width: 120px;" :title="item.contactName">{{item.contactName}}</p>
<p class="fz12">{{item.contactMobile}}</p>
<p class="fz12" v-if="item.industryCategory!==''" style="color:green">行业类别:{{item.industryCategory}}</p>
</td>
<td>
<p class="fz12 over_ellipsis" style="width: 100%;">{{item.orderTypeName}}</p>
......
......@@ -1799,6 +1799,7 @@
class="fz12 over_ellipsis" style="width: 120px;" :title="item.contactName">{{item.contactName}}</p>
<p v-if='item.isOwn==1||userId==1||userId==5||positionId==168 || isUpdateOrder' class="fz12">
{{item.contactMobile}}</p>
<p class="fz12" v-if="(item.isOwn==1||userId==1||userId==5||positionId==168 || isUpdateOrder)&&item.industryCategory!==''" style="color:green">行业类别:{{item.industryCategory}}</p>
<p v-if='item.isOwn==2&&userId!=1&&userId!=5&&positionId!=168&&isUpdateOrder==false'>*****</p>
<!-- <p class="fz12 over_ellipsis" style="width: 120px;" :title="item.contactName">{{item.contactName}}</p>
<p class="fz12">{{item.contactMobile}}</p> -->
......
......@@ -160,7 +160,7 @@
<div class="flexOne">
<div class="productQuerybottomLayer ownScrollbarStyle" v-show="isShowLayer">
<p>
立即报名
立即报名555
<span class="fr">
<input type="button" class="hollowFixedBtn" value="取消" @click="cancelSubmit()" />
<input type="button" class="normalBtn" value="立即报名" @click="submitForm('addMsg')" />
......@@ -181,6 +181,7 @@
</el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="4">
<el-form-item label="联系人" prop="ContactName" v-if='addMsg.CustomerType==3||addMsg.CustomerType==4'>
......@@ -196,7 +197,9 @@
</el-option>
</el-select>
</el-form-item>
<el-form-item v-show="addMsg.GroupType==2" label="行业类别" prop="IndustryCategory">
<el-input v-model='addMsg.IndustryCategory'></el-input>
</el-form-item>
</el-col>
<el-col :span="4">
<el-form-item label="出发城市" prop="DepartureCityId">
......@@ -957,6 +960,7 @@
TCID: '0',
CustomerType: '',
GroupType: '',
IndustryCategory:'',
ContactName: '',
ContactMobile: '',
CustomerId: '',
......@@ -1196,6 +1200,9 @@
}
},
gettypechange(type){
if(type=!2){
this.addMsg.IndustryCategory ="";
}
if(type==4){
this.HightUnitPrice = '1';
this.addMsg.AirticketNum = 0;
......@@ -1885,6 +1892,13 @@
}
},
saveOrder() {
// 判断单团类型
if(this.addMsg.GroupType==2){
if(this.addMsg.IndustryCategory==""){
this.Error("请填写行业类别!")
return;
}
}
//验证人数和机位数
if ((Number(this.addMsg.ManNum) + Number(this.addMsg.ChirdNum) + Number(this.addMsg.OldPeopleNum)) != Number(
this.addMsg.YSeatNum) + Number(this.addMsg.ESeatNum) + Number(this.addMsg.FSeatNum)) {
......
......@@ -1855,6 +1855,7 @@
{{childItem.ContactName}}</p>
<p v-if="childItem.IsOwn==1||userId==1||userId==5" class="fz12">{{childItem.ContactMobile}}</p>
<p v-if="childItem.IsOwn==2&&userId!=1&&userId!=5">*****</p>
<p v-if="childItem.IndustryCategory!==''" style="color:green">行业类别:{{childItem.IndustryCategory}}</p>
</td>
<td>
<!-- <el-popover style='padding: 0;' width="470" trigger="click" > -->
......@@ -2224,6 +2225,7 @@
:title="item.ContactName">{{item.ContactName}}</p>
<p v-if="item.IsOwn==1||userId==1||userId==5" class="fz12">{{item.ContactMobile}}</p>
<p v-if="item.IsOwn==2&&userId!=1&&userId!=5">*****</p>
<p v-if="item.IndustryCategory!==''" style="color:green">行业类别:{{item.IndustryCategory}}</p>
</td>
<td>
<!-- <el-popover style='padding: 0;' width="470" trigger="click"> -->
......
......@@ -194,15 +194,15 @@
<div class="Team_firstTitle">
<span class="Team_comCoinType Team_shou">
<i class="iconfont icon-qian"></i>
</span>其他收入
</span>其他收入
</div>
<div class="Team_Incontent">
<div>应收:<span>{{moneyFormat(moneyAll.otheryTotalyf)}}</span></div>
<div>实收:<span class="Team_Coins">{{moneyFormat(moneyAll.otheryTotalsf)}}</span></div>
<div>待收:<span class="Team_Coins">{{moneyFormat(moneyAll.otheryTotalyf-moneyAll.otheryTotalsf)}}</span></div>
<!--<div>
注:应收=订单应收总额,实收=订单实收总额
</div>-->
<div>
注:此处不进入'利润'计算,单纯只统计除团费外的其他总收入
</div>
</div>
</div>
</el-col>
......@@ -234,7 +234,7 @@
<div>实际利润:<span>{{DataList.TeamBalance.ExpectedProfit}}</span></div>
<div>当前利润:<span class="Team_Coins">{{DataList.TeamBalance.ActualProfit}}</span></div>
<div>
注:实收-(应付/实付)+佣金收入+自费收入-联运成本+挂账总收入-挂账总支出+冲抵总收入-冲抵总支出
注:实收-(应付/实付)+佣金收入+自费收入+其他收入(此处为收入模块下其他收入)-联运成本+挂账总收入-挂账总支出+冲抵总收入-冲抵总支出
</div>
</div>
</div>
......
......@@ -342,6 +342,7 @@
<td>
<p class="over_ellipsis" style="width: 150px;" :title="item.contactName">{{item.contactName}}</p>
<p>{{item.contactMobile}}</p>
<p v-if="item.industryCategory!==''" style="color:green">行业类别:{{item.industryCategory}}</p>
</td>
<td v-if="userId==1">
<button class="normalBtn" @click="getSalerInfo(item)">修改业务员</button>
......
......@@ -1198,13 +1198,20 @@ export default {
},
// 明细
godetail: function (name, obj) {
let path = "", TCIDs = this.msg.TCIDs, date = '';
if (name == 'ticket') {
path = 'leaderPayTicketDetail'
date = obj ? obj.UseTimeStr : 'all'
} else if (name === 'bus') {
path="CarDetails"
TCIDs=obj.TCIDs;
date=obj.UseTime;
} else if (name === 'dining') {
path="DinningDetails"
TCIDs=obj.TCIDs;
date=obj.UseTimeStr;
} else if (name === 'hotel') {
path = 'leaderPayHotelDetail'
......
......@@ -871,18 +871,23 @@
</td>
<td style="text-align:left;padding-left:3px;">
<span v-if="childItem.UseCount>0 && subItem.SubList.length==1">
<a style="color:green" v-if="childItem.HotelName!='温馨的家'">
<template v-if="childItem.OPState==1">
OP-指定
<template v-if="childItem.OPState==1&&childItem.HotelName!='温馨的家'">
<a style="color:green">【OP-指定】</a>
</template>
<template v-else-if="childItem.OPState==2&&childItem.DMCState==0">
OP-暂定
<template v-else-if="childItem.OPState==2&&childItem.DMCState==0&&childItem.HotelName!='温馨的家'">
<a style="color:red">【OP-指定】</a>
</template>
<template v-else>
{{childItem.DMCState==1?"地接-OK":(childItem.DMCState==2?"地接-暂定":"地接-未操作")}}
<template v-if="childItem.DMCState==1&&childItem.HotelName!='温馨的家'">
<a style="color:green">【地接-OK】</a>
</template>
<template v-if="childItem.DMCState==2&&childItem.HotelName!='温馨的家'">
<a style="color:red">【地接-暂定】</a>
</template>
<template v-if="childItem.DMCState==0&&childItem.HotelName!='温馨的家'">
<a style="color:red">【地接-未操作】</a>
</template>
</template>
</a>
<span style="color:green">本团使用:{{childItem.UseCount}}
{{childItem.CostPrice!=0?"价格:"+childItem.CostPrice:""}}</span>
</span>
......
......@@ -398,6 +398,14 @@ export default {
title: '车辆报账详情'
},
},
{
path: '/DinningDetails', //餐食报账详情
name: 'DinningDetails',
component: resolve => require(['@/components/LeaderManagement/DinningDetails'], resolve),
meta: {
title: '餐食报账详情'
},
},
{
path: '/positionManagement', //岗位管理
name: 'positionManagement',
......@@ -1392,20 +1400,6 @@ export default {
meta: {
title: '领队绩效'
},
}, {
path: '/leaderPayHotelDetail', //j酒店报账详情
name: 'leaderPayHotelDetail',
component: resolve => require(['@/components/LeaderManagement/leaderPayHotelDetail'], resolve),
meta: {
title: '领队绩效'
},
}, {
path: '/leaderPayTicketDetail', //j门票报账详情
name: 'leaderPayTicketDetail',
component: resolve => require(['@/components/LeaderManagement/leaderPayTicketDetail'], resolve),
meta: {
title: '领队绩效'
},
}, {
path: '/leaderChedule', //领队档期
name: 'leaderChedule',
......
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