Commit d7e6c64a authored by 吴春's avatar 吴春

地接总表已出票功能的完善

parents 8508e545 2f8f63a5
<template>
<div class="Application">
<div class="Application_content">
<p style="text-align:center">
<span style="font-weight:700;font-size:20px;">現金受取依頼書</span>
<span class="download" @click="downLoad">下载</span>
</p>
<div>
<div style="margin:30px 0">
<el-select @change="CashListChange" v-model="id" placeholder="请选择">
<el-option
v-for="item in CashList"
:key="item.Name"
:label="item.Name"
:value="item.Id">
</el-option>
</el-select>
</div>  
弊社は下記のガイド1名が現金を受け取りします。受取者の本人パスポートを提示して/身分証明書を確認してから現金を渡してください。ご対応お願い致します。
</div>
<table style="margin-top:30px" class="singeRowTable" border="0" cellspacing="0" cellpadding="0">
<tr>
<th>受取日</th>
<th width="200">受取者</th>
<th>受取店舗</th>
<th>金 額</th>
</tr>
<tr>
<td>{{data.GetDate}}</td>
<td>{{data.LeaderName}}</td>
<td>
<el-select v-model="formdata.GetAddress" placeholder="请选择">
<el-option v-if="id=='' || id==item.CashId"
v-for="item in StoreList"
:key="item.Name"
:label="item.Name"
:value="item.Name">
</el-option>
</el-select>
</td>
<td>{{data.Money}}</td>
</tr>
</table>
<div style="text-align:right;margin-top:20px;font-size:14px;">
<p style="padding-bottom: 10px;">会社名 成都印象之旅</p>
<span>{{data.JapNowTime}}</span>
</div>
<div style="margin:50px 0">
{{data.CityName}}{{data.TCNUM}}编号:{{data.FrId}}
</div>
</div>
</div>
</template>
<script>
export default {
data () {
return {
FrId:0,
CashList:[],
formdata:{},
data:{},
StoreList:[],
id:"",
}
},
created(){
this.FrId = this.$route.query.id;
},
mounted() {
this.GetData();
},
methods: {
downLoad(){
if(this.formdata.Name==""){
this.Error("请选择旅行社")
return;
}
if(this.formdata.GetAddress==""){
this.Error("请选择受取店铺")
return;
}
this.apipost('Financial_get_FinanceCashWithDrawalsDownLoad',this.formdata,res=>{
// console.log(res);
if(res.data.resultCode==1){
const link = document.createElement('a');
let _loadUrl=this.domainManager().DomainUrl
let str = window.location.href
link.href = _loadUrl+res.data.data
document.body.appendChild(link);
link.click();
}else{
this.$message.error(res.data.message)
}
},err=>{})
},
CashListChange(val){
this.id=val;
this.CashList.forEach(item=>{
if(item.Id==this.id){
this.formdata.Name=item.Name;
}
})
this.formdata.GetAddress="";
},
GetData(){
this.apipost('Financial_get_GetFinanceCashWithDrawals',{FrId:this.FrId}, res => {
if(res.data.resultCode == 1) {
this.data = res.data.data;
this.formdata=Object.assign({},res.data.data);
this.CashList= res.data.data.CashList;
this.StoreList= res.data.data.StoreList;
}
}, err => {})
},
}
}
</script>
<style>
.Application .download{
float:right;
cursor: pointer;
font-size: 14px;
color: #3980C8;
}
.Application .download:hover{
text-decoration: underline;
color: rgb(255, 0, 0);
}
.Application tr th{
border: 1px solid #e5e5e5;
}
.Application{
background: #fff;
padding-top: 20px;
min-height:800px;
}
.Application .Application_content{
border: 1px solid #eeeeee;
width:900px;
margin:0 auto;
padding: 20px;
}
</style>
<template>
<div class="DebitNote">
<div class="Application_content">
<p style="text-align:center">
<span style="font-weight:700;font-size:20px;">借支单</span>
<span class="download" @click="downLoad">下载</span>
</p>
<table style="margin-top:40px;text-align:left" class="singeRowTable" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="150">公司名称</td>
<td colspan="3">{{data.CityName}}</td>
<td width="100">附件</td>
<td width="200">共 2 张</td>
</tr>
<tr>
<td>申请部门</td>
<td width="100">{{data.DepName}}</td>
<td width="100">申请人</td>
<td width="100">{{data.Name}}</td>
<td>填单日期</td>
<td width="100">{{data.JapNowTime}}</td>
</tr>
<tr>
<td>业务项目</td>
<td class="left" colspan="5">{{data.TCNUM}}</td>
</tr>
<tr>
<td>审批编号</td>
<td class="left" colspan="5">{{data.FrId}}</td>
</tr>
<tr>
<td style="padding: 38px 0;">借款事由</td>
<td class="left" colspan="5">{{data.Description}}</td>
</tr>
<tr>
<td>借款金额</td>
<td class="left">{{data.Money}}</td>
<td colspan="2">预计还款报销日期</td>
<td class="left" colspan="2">{{data.ReimbursementDate}}</td>
</tr>
<tr>
<td>大写:{{data.CurrName}}</td>
<td class="left" colspan="5">{{chinaAllPrice}}</td>
</tr>
<tr>
<td>部门负责人审批</td>
<td></td>
<td>领导审批</td>
<td colspan="3"></td>
</tr>
</table>
<div style="padding: 10px 0;margin-top: 30px;overflow:auto;font-size:14px">
<!-- <span>财务经理: </span>
<span>会计主管:</span>
<span>复核:</span>
<span>出纳:</span> -->
<span style="display: inline-block;width: 200px;float: right;">领款人:</span>
</div>
</div>
</div>
</template>
<script>
export default {
data () {
return {
FrId:0,
data:{},
chinaAllPrice:this.$commonUtils.changeMoneyToChinese(0),
}
},
created(){
this.FrId = this.$route.query.id;
},
mounted() {
this.GetData();
},
methods: {
downLoad(){
this.apipost('Financial_get_FinanceBorrowASingleDownLoad',this.formdata,res=>{
if(res.data.resultCode==1){
const link = document.createElement('a');
let _loadUrl=this.domainManager().DomainUrl
let str = window.location.href
link.href = _loadUrl+res.data.data
document.body.appendChild(link);
link.click();
}else{
this.$message.error(res.data.message)
}
},err=>{})
},
CashListChange(val){
this.id=val;
this.CashList.forEach(item=>{
if(item.Id==this.id){
this.formdata.Name=item.Name;
}
})
},
GetData(){
this.apipost('Financial_get_GetFinanceBorrowASingle',{FrId:this.FrId}, res => {
console.log(res);
if(res.data.resultCode == 1) {
this.data = res.data.data;
this.chinaAllPrice=this.$commonUtils.changeMoneyToChinese(this.data.Money)
this.formdata=Object.assign({},res.data.data);
this.formdata.BigMoney=this.chinaAllPrice;
}
}, err => {})
},
}
}
</script>
<style>
.DebitNote .download{
float:right;
cursor: pointer;
font-size: 14px;
color: #3980C8;
}
.DebitNote .download:hover{
text-decoration: underline;
color: rgb(255, 0, 0);
}
.DebitNote .left{
text-align:left;
padding-left: 15px;
}
.DebitNote tr th{
border: 1px solid #e5e5e5;
}
.DebitNote{
background: #fff;
padding-top: 20px;
min-height:800px;
}
.DebitNote .Application_content{
width: 900px;
margin:0 auto;
padding: 20px;
border: 1px solid #eeeeee;
}
</style>
......@@ -251,7 +251,7 @@
}
._Printing{
position: relative;
left: 766px;
left: 830px;
top: 25px;
z-index: 30;
font-size: 12px;
......@@ -328,12 +328,38 @@
.color_shz{color: #1273BC}
.color_tg{color: #4BCA81}
.color_bh{color: #c94052}
.page_fdd .sqs:hover{
text-decoration: underline;
color: rgb(255, 0, 0);
}
.page_fdd .Note_span:hover{
text-decoration: underline;
color: rgb(255, 0, 0);
}
.page_fdd .sqs{
position: relative;
left: 642px;
top: 25px;
cursor: pointer;
color: #3980C8;
font-size: 12px;
}
.page_fdd .Note_span{
position: relative;
left: 635px;
top: 25px;
cursor: pointer;
color: #3980C8;
font-size: 12px;
}
</style>
<template>
<div class="page_fdd" v-if="GetDetail">
<div class="_none_print">
<span class="_Printing" @click="goPrintPage(GetDetail.Type,GetDetail.FrID,GetDetail.Is_Merge,OrderSource)">打印单据</span>
<span v-if="GetDetail.TemplateId==48 || GetDetail.TemplateId==43" class="Note_span" @click="goUrl('DebitNote',GetDetail.FrID)">借支单下载</span>
<span v-if="GetDetail.TemplateId==48 || (GetDetail.TemplateId==43&&GetDetail.IsPublic==4)" class="sqs" @click="goUrl('Application',GetDetail.FrID)">申请书下载</span>
<p class="_tit">{{GetDetail.FinanceName}} <span :class="{color_shz:(GetDetail.StatusStr!=='通过' && GetDetail.StatusStr!=='驳回' && GetDetail.StatusStr!=='作废'),color_tg:GetDetail.StatusStr==='通过',color_bh:GetDetail.StatusStr==='驳回'}">{{GetDetail.StatusStr}}</span></p>
<div class="_conten">
<my-Bill v-if="GetDetail.Type===2 && GetDetail.Type!==5" :isPrintPage="false" :ID="GetDetail.FrID" :width="widthSon" :color="colorSon"></my-Bill>
......@@ -837,6 +863,15 @@ export default {
let userinfo = this.getLocalStorage();
this.bossID = userinfo.EmployeeId;
},methods:{
goUrl(path, id) {
this.$router.push({
name: path,
query: {
id: id,
blank: "y"
}
});
},
inited (viewer){
this.$viewer = viewer
},
......
......@@ -1117,6 +1117,15 @@ export default {
columnAlign: "left",
isResize: true
},
{
field: "UnionTiCheng",
formatter: this.moneyFormat,
title: "联运提成",
width: 90,
titleAlign: "left",
columnAlign: "left",
isResize: true
},
{
field: "YingYeE",
formatter: this.moneyFormat,
......@@ -1538,6 +1547,8 @@ export default {
if (field === "ShiJiLiRun") return this.priceFormat(rowData.ShiJiLiRun);
if (field === "TransportCost")
return this.priceFormat(rowData.TransportCost);
if (field === "UnionTiCheng")
return this.priceFormat(rowData.UnionTiCheng);
if (field === "YingYeE") return this.priceFormat(rowData.YingYeE);
if (field === "AverageIncome")
return this.priceFormat(rowData.AverageIncome);
......
......@@ -1284,6 +1284,15 @@ export default {
columnAlign: "right",
isResize: true
},
{
field: "UnionTiCheng",
formatter: this.moneyFormat,
title: "联运提成",
width: 90,
titleAlign: "left",
columnAlign: "right",
isResize: true
},
{
field: "YingYeE",
formatter: this.moneyFormat,
......@@ -1577,6 +1586,7 @@ export default {
"合肥",
"南宁",
"联运成本",
"联运提成",
"营业额",
"GRP",
"TKT",
......@@ -1673,7 +1683,8 @@ export default {
"BC",
"BD",
"BE",
"BF"
"BF",
"BG"
];
const ws = XLSX.utils.aoa_to_sheet(data);
ws["!cols"] = wscols;
......@@ -1747,6 +1758,8 @@ export default {
if (field === "ShiJiLiRun") return this.priceFormat(rowData.ShiJiLiRun);
if (field === "TransportCost")
return this.priceFormat(rowData.TransportCost);
if (field === "UnionTiCheng")
return this.priceFormat(rowData.UnionTiCheng);
if (field === "YingYeE") return this.priceFormat(rowData.YingYeE);
if (field === "AverageIncome")
return this.priceFormat(rowData.AverageIncome);
......@@ -1904,6 +1917,9 @@ export default {
}
if(rowData.TransportCost < 0 && columnName=="TransportCost"){
return "column-cell-class-name-test-red"
}
if(rowData.UnionTiCheng < 0 && columnName=="UnionTiCheng"){
return "column-cell-class-name-test-red"
}
if(rowData.YingYeE < 0 && columnName=="YingYeE"){
return "column-cell-class-name-test-red"
......
......@@ -182,14 +182,14 @@
<p class="_yewudanju" v-if="OrderSource==8">{{$t('hotel.order_Number')}}<span @click="msg.OrderID>0?jumpPage('RegistrationList',GetDetail,8):''">{{msg.OrderID==0?$t('fnc.no'):msg.OrderID}}</span></p>
<div class="rb_top_row _r_mb5">
<el-radio-group v-model="msg.IsPublic" @change="IsPublicChange" class="_IsPublic">
<el-radio :label="1" v-if='msg.TemplateId!==36 && msg.TemplateId!==37 && msg.TemplateId!==43'>{{$t('fnc.gongzhang')}}</el-radio>
<el-radio :label="0" v-if='msg.TemplateId!==36 && msg.TemplateId!==37 && msg.TemplateId!==43'>{{$t('fnc.sizhang')}}</el-radio>
<el-radio :label="2" v-if='msg.TemplateId!==36 && msg.TemplateId!==37 && msg.TemplateId!==43'>{{$t('fnc.rmbxianjin')}}</el-radio>
<el-radio :label="3" v-if='msg.TemplateId!==36 && msg.TemplateId!==37'>{{$t('fnc.wbxianjin')}}</el-radio>
<el-radio :label="4" v-if='msg.TemplateId===36 || msg.TemplateId===37 || msg.TemplateId===43'>{{$t('fnc.zjinchi')}}</el-radio>
<el-radio :label="5" v-if='msg.TemplateId!==36 && msg.TemplateId!==37 && msg.TemplateId!==43'>{{$t('fnc.ptxnzhanghu')}}</el-radio>
<el-radio :label="6" v-if='msg.TemplateId!==36 && msg.TemplateId!==37 && msg.TemplateId!==43'>{{$t('fnc.djxnzhanghu')}}</el-radio>
<el-radio :label="7" v-if='msg.TemplateId!==36 && msg.TemplateId!==37 && msg.TemplateId!==43'>{{$t('fnc.szxiangdi')}}</el-radio>
<el-radio :label="1" v-if='msg.TemplateId!==36 && msg.TemplateId!==37 && msg.TemplateId!==43 && msg.TemplateId!==48'>{{$t('fnc.gongzhang')}}</el-radio>
<el-radio :label="0" v-if='msg.TemplateId!==36 && msg.TemplateId!==37 && msg.TemplateId!==43 && msg.TemplateId!==48'>{{$t('fnc.sizhang')}}</el-radio>
<el-radio :label="2" v-if='msg.TemplateId!==36 && msg.TemplateId!==37 && msg.TemplateId!==43 && msg.TemplateId!==48'>{{$t('fnc.rmbxianjin')}}</el-radio>
<el-radio :label="3" v-if='msg.TemplateId!==36 && msg.TemplateId!==37 && msg.TemplateId!==48'>{{$t('fnc.wbxianjin')}}</el-radio>
<el-radio :label="4" v-if='msg.TemplateId===36 || msg.TemplateId===37 || msg.TemplateId===48'>{{$t('fnc.zjinchi')}}</el-radio>
<el-radio :label="5" v-if='msg.TemplateId!==36 && msg.TemplateId!==37 && msg.TemplateId!==43 && msg.TemplateId!==48'>{{$t('fnc.ptxnzhanghu')}}</el-radio>
<el-radio :label="6" v-if='msg.TemplateId!==36 && msg.TemplateId!==37 && msg.TemplateId!==43 && msg.TemplateId!==48'>{{$t('fnc.djxnzhanghu')}}</el-radio>
<el-radio :label="7" v-if='msg.TemplateId!==36 && msg.TemplateId!==37 && msg.TemplateId!==43 && msg.TemplateId!==48'>{{$t('fnc.szxiangdi')}}</el-radio>
<!-- <el-radio :label="3">资金池</el-radio> -->
</el-radio-group>
</div>
......@@ -658,6 +658,7 @@ export default {
resultCode:null,
EmployeeId:0,
describeList:[],
isFrompassenger:false,
}
},
methods:{
......@@ -896,6 +897,7 @@ export default {
if(res.data.resultCode==1){
//清除旅客名单数据
sessionStorage.removeItem("saveGuestInfo");
sessionStorage.removeItem("guoji");
// this.$store.commit('saveGuestInfo',[])
this.$confirm(this.$t('tips.czcgsfjxzhidan'), this.$t('tips.tips'), {
confirmButtonText: this.$t('fnc.jxzhidan'),
......@@ -1144,6 +1146,7 @@ export default {
this.apipost('Financial_post_GetCostTypeList',{ID:id}, res => {
if(res.data.resultCode == 1) {
this.GetCostTypeList = res.data.data;
console.log(this.GetCostTypeList,'type');
if(type){
this.msg.detailList.forEach(x=>{
this.GetCostTypeList.forEach(y=>{
......@@ -1265,6 +1268,9 @@ export default {
{
this.msg.Type=this.$route.query.InPay;
}
if(this.isFrompassenger){
this.setDocument();
}
}else{
this.loading=false;
this.$message.error(res.data.message);
......@@ -1309,19 +1315,102 @@ export default {
this.companyList = data;
}, err => {})
},
//设置选中单据名单
setDocument(){
let guojiSessions = JSON.parse(window.sessionStorage.getItem("guoji"));
if(guojiSessions.guojiArr.length>0){
this.msg.detailList.push({
ID:0,
UnitPrice:'',
UnitPriceTo:'',
Number:guojiSessions.guojiArr.length,
Rate:'',
CostTypeId:52,
CurrencyId:'',
Remark:'',
CostTypeName:'',
yTotalPrice:'',
yTotalPriceTo:'',
bTotalPrice:'',
bTotalPriceTo:'',
show:false,
});
}
if(guojiSessions.guoneiArr.length>0){
this.msg.detailList.push({
ID:0,
UnitPrice:'',
UnitPriceTo:'',
Number:guojiSessions.guoneiArr.length,
Rate:'',
CostTypeId:66,
CurrencyId:'',
Remark:'',
CostTypeName:'',
yTotalPrice:'',
yTotalPriceTo:'',
bTotalPrice:'',
bTotalPriceTo:'',
show:false,
});
}
if(guojiSessions.shuijinArr.length>0){
this.msg.detailList.push({
ID:0,
UnitPrice:'',
UnitPriceTo:'',
Number:guojiSessions.shuijinArr.length,
Rate:'',
CostTypeId:80,
CurrencyId:'',
Remark:'',
CostTypeName:'',
yTotalPrice:'',
yTotalPriceTo:'',
bTotalPrice:'',
bTotalPriceTo:'',
show:false,
});
}
if(this.orderObj!=null&&this.orderObj.OrderSource===4&&this.isFrompassenger){
let guojiSessions = JSON.parse(window.sessionStorage.getItem("guoji"));
let guoji='',guonei='',guojizhongduan='',shuijin='',shengcang='';
guojiSessions.guojiArr.forEach(x=>{
guoji+=x+' '
})
guojiSessions.guoneiArr.forEach(x=>{
guonei+=x+' '
})
guojiSessions.gjzdArr.forEach(x=>{
guojizhongduan+=x+' '
})
guojiSessions.shuijinArr.forEach(x=>{
shuijin+=x+' '
})
guojiSessions.shengcangArr.forEach(x=>{
shengcang+=x+' '
})
var gj = guoji==''?'':'国际机票:'+guoji;
var gn = guonei==''?'':'国内航段:'+guonei;
var gjzd = guojizhongduan==''?'':'国际中断:'+guojizhongduan;
var sj = shuijin==''?'':'税金:'+shuijin;
var sc = shengcang==''?'':'升舱:'+shengcang;
this.Description= gj+' '+gn+' '+gjzd+ ' '+ sj+' '+sc
}
}
},created(){
var that=this;
this.orderObj = this.$route.query.orderObj?JSON.parse(this.$route.query.orderObj):null;
this.isFrompassenger = this.orderObj.isFromPassenger;
console.log(this.orderObj,'orderObj');
// console.log(this.$route.query.orderObj)
if(this.orderObj!=null&&this.orderObj.OrderSource===10){
if(this.orderObj!=null&&this.orderObj.OrderSource===10&&this.isFrompassenger==undefined){
that.Description="旅客名单:";
that.describeList=JSON.parse(sessionStorage.getItem("saveGuestInfo"));
console.log("that.describeList",that.describeList)
that.describeList.forEach(item=>{
that.Description+=item.GuestName+" ";
})
console.log("that.Description",that.Description)
}
},mounted(){
let userInfo = this.getLocalStorage();
......@@ -1359,6 +1448,7 @@ export default {
this.returnCode = this.$route.query.Conditon;
}
// this.admin_get_DepartmentGetList();
},components: {
"my-FlowChartModule": myFlowChartModule
}
......
......@@ -123,6 +123,7 @@
<td width="80">实际用房数</td>
<td width="">房间类型</td>
<td width="">房间数</td>
<td width="80">预定人数</td>
<td width="80">免费人数</td>
<td width="">单价/人</td>
<td width="">金额小计</td>
......@@ -172,6 +173,15 @@
</div>
</div>
</td>
<td>
<div class="alcenter">
<div v-for="subItem in outItem.HotelOrderList">
<p v-for="childItem in subItem.OrderDetailsList">
{{childItem.BookNum}}
</p>
</div>
</div>
</td>
<td>
<div class="alcenter">
<div v-for="subItem in outItem.HotelOrderList">
......@@ -240,7 +250,7 @@
{{moneyFormat(TotalNav.reimburseTotalPrice.ExpendTotalPrice)}}
</td>
<td>签单/预付/抵扣总金额</td>
<td colspan="6">
<td colspan="7">
{{moneyFormat(TotalNav.reimburseTotalPrice.BalanceTotalPrice)}}
</td>
</tr>
......@@ -510,7 +520,6 @@
});
},
goZhiDan: function (obj) {
console.log(this.TotalNav.reimburseTotalPrice.PlanPrice)
let allMoney = this.TotalNav.reimburseTotalPrice.PlanPrice * 0.95
let totailMoney = 0
this.nav.forEach(x=>{
......@@ -531,7 +540,7 @@
Money: obj.LeaderGetPriceT,
TCNUMS: obj.TCNUMS
}
let id = [43]
let id = [43,48]
this.$router.push({
name: 'ChoiceAddFinancialDocuments',
query:{
......@@ -689,6 +698,8 @@
nav.forEach((x, i)=>{
if (i === 0) {
x.LeaderGetPriceT = (this.TotalNav.reimburseTotalPrice.PlanPrice * 0.95) - num;
} else {
x.LeaderGetPriceT = 0
}
})
this.nav = nav
......
......@@ -373,9 +373,9 @@ export default {
this.shiMoney = 0;
data.forEach(x=>{
this.allMoney += x.PreferPrice
if(x.PayMoney>0){
this.shiMoney += (x.PayMoney+x.Fee)
}
// if(x.PayMoney>0){
this.shiMoney += (x.PayMoney+x.Fee)
// }
})
this.dataList = data;
this.getList(2)
......@@ -384,9 +384,9 @@ export default {
this.shiMoneyP = 0;
data.forEach(x=>{
this.allMoneyP += x.PreferPrice
if(x.PayMoney>0){
// if(x.PayMoney>0){
this.shiMoneyP += (x.PayMoney+x.Fee)
}
// }
})
this.dataListP = data;
this.loading = false;
......
......@@ -304,7 +304,7 @@
</div>
</div>
</td>
<td colspan="8" class="groupTourOrder_tickets" style="height: 40px;cursor: pointer;">
<td colspan="9" class="groupTourOrder_tickets" style="height: 40px;cursor: pointer;">
<div @click="goUrlSFD('SalesFinancialDetail', '销售财务单据', item)">
<div>收款单据:</div>
<div>
......@@ -752,8 +752,7 @@
background: #bdbdbd;
height: 30px;
font-size: 12px;
text-align: left;
text-indent: 15px;
text-align: center;
border-top: 1px solid #cccccc;
border-left: 1px solid #cccccc;
}
......
......@@ -117,12 +117,18 @@
</li>
<li>
<input type="button" class="normalBtn" value="导出报表" @click="getFlightInfo(),getCombinTeam()" />
<input type="button" class="normalBtn" v-if="isShowGuoji" value="制作财务单据" @click="makeFinacelDoc()" />
<input type="button" class="normalBtn" value="导出报表" @click="exportExcel()" style="display:none;"/>
</li>
</ul>
</div>
<table class="singeRowTable" border="0" cellspacing="0" cellpadding="0">
<tr>
<th v-if="isShowGuoji">国际机票 <input type="checkbox" @change="checkAllbox(checkdGuoji,'guoji')" v-model="checkdGuoji"/></th>
<th v-if="isShowGuoji">国内机票 <input type="checkbox" @change="checkAllbox(checkedGuonei,'guonei')" v-model="checkedGuonei"/></th>
<th v-if="isShowGuoji">国际中断 <input type="checkbox" @change="checkAllbox(checkedGJzd,'gjzd')" v-model="checkedGJzd"/></th>
<th v-if="isShowGuoji">税金 <input type="checkbox" @change="checkAllbox(checkedshuijin,'shuijin')" v-model="checkedshuijin"/></th>
<th v-if="isShowGuoji">升舱 <input type="checkbox" @change="checkAllbox(checkedsc,'shengcang')" v-model="checkedsc"/></th>
<th>旅客姓名</th>
<th>身份证</th>
<th>英文姓</th>
......@@ -135,6 +141,21 @@
<th>客人联系方式</th>
</tr>
<tr v-for="(item,index) in QueryMsg.dataList">
<td v-if="isShowGuoji">
<input v-model="item.guoji" type="checkbox"/>
</td>
<td v-if="isShowGuoji">
<input v-model="item.guonei" type="checkbox"/>
</td>
<td v-if="isShowGuoji">
<input v-model="item.gjzd" type="checkbox"/>
</td>
<td v-if="isShowGuoji">
<input v-model="item.shuijin" type="checkbox"/>
</td>
<td v-if="isShowGuoji">
<input v-model="item.shengcang" type="checkbox"/>
</td>
<td>{{item.GuestName}}</td>
<td>{{item.IdCard}}</td>
<td>{{item.ESurName}}</td>
......@@ -260,6 +281,19 @@
outerVisible: false,
flightList: [],
combineTeamList: [],
isShowGuoji:false,
jipiaoObj:{
guojiArr:[],
guoneiArr:[],
gjzdArr:[],
shuijinArr:[],
shengcangArr:[]
},
checkdGuoji:false,
checkedGuonei:false,
checkedGJzd:false,
checkedshuijin:false,
checkedsc:false,
};
},
methods: {
......@@ -282,6 +316,16 @@
item.Sex = "女";
}
});
if(this.isShowGuoji){
this.QueryMsg.dataList.forEach(x=>{
x.guoji = false;
x.guonei=false;
x.gjzd = false;
x.shuijin = false;
x.shengcang = false;
})
}
console.log(this.QueryMsg.dataList);
}
},
err => {}
......@@ -413,11 +457,69 @@
},
err => {}
);
},
makeFinacelDoc(){
this.jipiaoObj.guojiArr=[];
this.jipiaoObj.guoneiArr=[];
this.jipiaoObj.gjzdArr=[];
this.jipiaoObj.shuijinArr=[];
this.jipiaoObj.shengcangArr=[];
this.QueryMsg.dataList.forEach(x=>{
if(x.guoji){
this.jipiaoObj.guojiArr.push(x.GuestName);
}
if(x.guonei){
this.jipiaoObj.guoneiArr.push(x.GuestName);
}
if(x.gjzd){
this.jipiaoObj.gjzdArr.push(x.GuestName);
}
if(x.shuijin){
this.jipiaoObj.shuijinArr.push(x.GuestName);
}
if(x.shengcang){
this.jipiaoObj.shengcangArr.push(x.GuestName);
}
})
sessionStorage.setItem("guoji",JSON.stringify(this.jipiaoObj));
let orderObj = {
OrderID: 0,
OrderSource: 4,
Obj: {},
SourceID: this.$route.query.id,
TCIDList: [],
isFromPassenger:true,
}
this.$router.push({
name: 'ChoiceAddFinancialDocuments',
query:{
"Type": 2,
"path": "",
'blank': 'y',
'orderObj': JSON.stringify(orderObj)
}
});
},
//设置全选
checkAllbox(x,y){
if(x){
this.QueryMsg.dataList.forEach(x=>{
x[y]=true
})
}else{
this.QueryMsg.dataList.forEach(x=>{
x[y]=false
})
}
}
},
mounted() {
this.QueryMsg.AirTicketId = this.$route.query.id;
this.msg.AirTicketId = this.$route.query.id;
if(this.$route.query.isFromTk!=undefined){
this.isShowGuoji = this.$route.query.isFromTk;
}
var myDate = new Date();
this.QueryMsg.nowDate =
myDate.getFullYear() +
......@@ -426,6 +528,9 @@
"-" +
myDate.getDate();
this.getTeamInfo();
if(this.isShowGuoji){
this.msg.PageSize=200;
}
this.getList();
}
};
......
......@@ -1537,7 +1537,7 @@
</div>
</li>
<!--尾款-->
<li v-if="item.FinalPayment!=''">
<!-- <li v-if="item.FinalPayment!=''&&item.FirstDeposit==''&&item.SecondDeposit==''&&item.ThirdDeposit==''&&item.FourthDeposit==''">
<div @click="goFinacePage(item,5)" :class="getClass(item.FinalPaymentStatus)">
<el-tooltip effect="dark" :content="item.FinalPayment" placement="top" popper-class="max-w250">
<span></span>
......@@ -1549,8 +1549,20 @@
@click="goFinaceDetails(childItem.FinaceId)">{{childItem.FinaceId}}</span>
</span>
</div>
</li> -->
<li v-else-if="item.FinalPayment!=''">
<div @click="goCustomList('PassengerList',item,'旅客名单')" :class="getClass(item.FinalPaymentStatus)">
<el-tooltip effect="dark" :content="item.FinalPayment" placement="top" popper-class="max-w250">
<span></span>
</el-tooltip>
</div>
<div class="FinaDetailContent">
<span v-if="item.FinalAuditList!=null" v-for="childItem in item.FinalAuditList">
<span class="FinaceDanList"
@click="goFinaceDetails(childItem.FinaceId)">{{childItem.FinaceId}}</span>
</span>
</div>
</li>
</ul>
</div>
</el-col>
......@@ -2543,6 +2555,20 @@
}
});
},
//跳转至旅客名单
goCustomList(path, obj, title){
this.$router.push({
name: path,
query: {
blank: 'y',
isFromTk:true,
id: obj.ID,
TCIDList: obj.TCIDList,
companyIDList: obj.OutBranchIdList,
tab: title
}
})
},
//导入
getImport(command) {
this.importType = command;
......@@ -2583,6 +2609,7 @@
this.total = res.data.data.count;
this.dataList = res.data.data.pageData;
this.noData = !this.total > 0;
console.log(this.dataList,'datalist');
}
if (this.msg.ID == 0) {
this.msg.ID = "";
......@@ -2830,7 +2857,7 @@
airlineID: AirLineID
};
this.apipost(
"flight_post_GetAirportNameList",
"flight_post_GetAirportNameListExt",
msg,
res => {
if (res.data.resultCode == 1) {
......
......@@ -116,9 +116,9 @@
<td>{{item.B2CMemberPrice}}</td>
<td>{{item.TotalSeat}}</td>
<td>
<span class="Order_RS" :class="{'RS_RedType':item.OrderTotalNum>0}" @click="goUrl('RegistrationList',item.TCID)">{{item.OrderTotalNum-item.OrderLeaderGuestNum}}<span v-if="item.OrderLeaderGuestNum>0">+{{item.OrderLeaderGuestNum}}</span></span>
<span class="Order_RS" :class="{'RS_RedType':item.OrderTotalNum>0}" @click="goUrl('RegistrationList',item.TCID,'设置领队')">{{item.OrderTotalNum-item.OrderLeaderGuestNum}}<span v-if="item.OrderLeaderGuestNum>0">+{{item.OrderLeaderGuestNum}}</span></span>
</td>
<td><span class="Order_RS" @click="goUrl('RegistrationList',item.TCID)">{{item.OrderPaymentNum}}</span></td>
<td><span class="Order_RS" @click="goUrl('RegistrationList',item.TCID,'设置领队')">{{item.OrderPaymentNum}}</span></td>
<td><span :class="item.LeaderName!=''&&item.LeaderName!=null?'PingFangSC Order_RS':'Order_RS'" @click="goUrl('RegistrationList',item.TCID,'报名清单')">{{item.LeaderName!=""&&item.LeaderName!=null ?item.LeaderName:"设置领队"}}</span></td>
<td><span :class="item.GuideName!=''&&item.GuideName!=null?'RS_RedType PingFangSC Order_RS':'Order_RS'" @click="goUrl('leaderArrangement',item.TCID,'设置导游')">{{item.GuideName!=""&&item.GuideName!=null?item.GuideName:"设置导游"}}</span></td>
<td><span class="RS_Nameover">{{item.OPRemark}}</span></td>
......@@ -265,9 +265,10 @@ export default {
"报名统计.xls"
);
},
goUrl(path, id) {
goUrl(path, id,NameStr) {
if (id > 0) {
this.$router.push({name: path, query: {id: id}});
this.$router.push({name: path, query: {id: id,blank: "y",
tab: NameStr}});
} else {
this.$router.push({name: path});
}
......
<style>
.user_time_picker .el-date-editor--date>.el-input__inner {
padding:0 10px;
font-size: 13px;
}
.user_time_picker .el-date-editor--date>span.el-input__prefix {
display: none;
}
.user_time_picker .el-date-editor--date>span.el-input__suffix{
top:-4px;right: 2px;
}
.zidingyiFz i{font-size: 14px!important;}
.TravelInfoList .choose_form .el-form-item{
display: inline-block;
}
.TravelInfoList .info_details p{
padding:4px 0;
}
</style>
<template>
<div class="TravelInfoList flexOne">
<div class="query-box">
<div style="overflow:auto">
<input type="button" class="normalBtn" value="查询" style="float:right" @click="getList"/>
</div>
<el-form class="choose_form" ref="form" :model="form" label-width="80px">
<el-form-item label="处理状态">
<el-select v-model="form.dealStatus" placeholder="请选择平台">
<el-option label="不限" :value="-1"></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>
</el-form-item>
<el-form-item label="开始时间">
<el-date-picker class="w150" type="date" v-model="form.searchStartDate"
:picker-options="pickerBeginDateBefore" value-format="yyyy-MM-dd" placeholder></el-date-picker>
</el-form-item>
<el-form-item label="结束时间">
<el-date-picker class="w150" type="date" v-model="form.searchEndDate"
:picker-options="pickerBeginDateAfter" value-format="yyyy-MM-dd" placeholder></el-date-picker>
</el-form-item>
<el-form-item label="需要提供">
<el-input
type="text"
placeholder="请输入内容"
v-model="form.provideItem"
maxlength="10"
show-word-limit
>
</el-input>
</el-form-item>
</el-form>
</div>
<div class="clearfix"></div>
<!-- <div style="margin: 10px 0;" class="fz14 color333">{{$t('adm.adm_Validaccount')}}:<span class="colorE95252">{{UseNum}}</span>&nbsp;&nbsp;&nbsp;&nbsp;账号限额:<span class="colorE95252">{{TotalNum}}</span></div> -->
<table class="singeRowTable" border="0" cellspacing="0" cellpadding="0">
<tr>
<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,index) in DataList" :key="index" v-loading='loading'>
<td>{{item.departureName}}</td>
<td>{{item.destinationNames}}</td>
<td>{{item.startDate | YearMD}}</td>
<td>
<span v-if="item.audltNumber>0">成人:{{item.audltNumber}}</span>
<span v-if="item.childrenNumber>0">儿童:{{item.childrenNumber}}</span>
</td>
<td>{{item.budget}}</td>
<td>{{item.provideItem}}</td>
<td>{{item.salesName}}</td>
<td>
<span v-if="item.dealStatus==1">未分配</span>
<span v-if="item.dealStatus==2">处理中</span>
<span v-if="item.dealStatus==3">处理完成</span>
<span v-if="item.dealStatus==4">处理失败</span>
</td>
<td>{{item.dealDate | YearMD}}</td>
<td>{{item.createDate | YearMD}}</td>
<td>
<el-tooltip class="item" effect="dark" content="处理信息" placement="top">
<el-button type="primary" icon="el-icon-edit" circle @click="Visible=true,Deal(item)"></el-button>
</el-tooltip>
</td>
</tr>
</table>
<div class="noData" v-if="DataList.length==0">
暂无数据
</div>
<el-pagination background @current-change="handleCurrentChange" layout="total,prev, pager, next, jumper" :page-size=form.pageSize :total=total>
</el-pagination>
<el-dialog custom-class='w400' title="处理行程信息" :visible.sync="Visible">
<el-form :model="pwdMsg" label-width="80px">
<el-form-item label="处理状态">
<el-select v-model="pwdMsg.dealStatus" filterable placeholder="请选择销售">
<el-option label="处理完成" :value="3"></el-option>
<el-option label="处理失败" :value="4"></el-option>
</el-select>
</el-form-item>
<el-form-item label="处理备注">
<el-input
type="textarea"
:rows="2"
placeholder="请输入处理备注"
v-model="pwdMsg.dealRemark">
</el-input>
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
<button class="hollowFixedBtn" @click="Visible=false">取消</button>
<button class="normalBtn" @click="submitForm1">确定</button>
</div>
</el-dialog>
</div>
</template>
<script>
import moment from "moment"
export default {
data() {
return {
form:{
dealStatus:-1,
searchStartDate:"",
searchEndDate:"",
pageIndex:1,
pageSize:15
},
Visible:false,
total:0,
DataList:[],
loading:false,
pwdMsg:{
dealStatus:"",
dealRemark:"",
},
employee:[],
saleList:[],
pickerBeginDateBefore: {
disabledDate: time => {
if (this.form.searchEndDate == null) {
return false;
} else {
let endTime = new Date(this.form.searchEndDate)
return endTime.getTime() < time.getTime()
}
}
},
pickerBeginDateAfter: {
disabledDate: time => {
let startTime = new Date(this.form.searchStartDate)
return startTime.getTime() >= time.getTime()
}
}
}
},
mounted() {
let userInfo=this.getLocalStorage();
this.getList();
},
filters:{
YearMD(val){
let str="";
if(val){
str=moment(val).format("YYYY-MM-DD")
}
return str;
},
},
methods: {
Deal(item){
this.pwdMsg.customId=item.customId;
},
submitForm1() {
if(this.pwdMsg.dealStatus==""){
this.Error("请选择处理状态!");
return;
}
this.apiJavaPost("/api/dmc/travelCoupom/salesDealTravelCoupom",this.pwdMsg, res => {
if (res.data.resultCode === 1) {
this.Success(res.data.message)
this.Visible=false;
this.getList();
} else {
this.Error(res.data.message)
}
}, null);
},
getList() { //获取数据
this.loading=true,
this.apiJavaPost("/api/dmc/travelCoupom/getSalesTravelCoupomList",this.form, res => {
this.loading = false;
if (res.data.resultCode === 1) {
this.DataList = res.data.data.pageData;
this.total= res.data.data.count;
} else {
this.Error(res.data.message)
}
}, null);
},
handleCurrentChange(val){
this.form.pageIndex=val;
this.getList();
},
}
}
</script>
\ No newline at end of file
......@@ -568,7 +568,7 @@
<template v-if="subItem.SubList">
<div v-if="subItem.SubList.length==1 && subItem.SubList[0].UseCount>0 ">
{{subItem.SubList[0].HotelName}}
<a style="color:green">{{subItem.SubList[0].RemainingInventory>-3?"【OK】":"【暂定】"}}</a>
<a style="color:green">{{subItem.SubList[0].Status==1?"【OK】":"【暂定】"}}</a>
<a
style="color:green"> 本团使用库存:{{subItem.SubList[0].UseCount}}
{{subItem.SubList[0].CostPrice!=0?"价格:"+subItem.SubList[0].CostPrice:""}}</a></div>
......@@ -1176,7 +1176,8 @@
item.SalePlatList.push(parseInt(y))
})
}
})
console.log("HotelOrderListReports",item.HotelOrderListReports);
});
}
},
err => {}
......@@ -1782,7 +1783,7 @@
if (this.queryCommonData.IsParentCompany != 1) {
this.queryMsg.OutBranchIds.push(this.CurrentUserInfo.RB_Branch_id)
}
this.getControlList()
this.getControlList();
}
}
......
......@@ -55,8 +55,8 @@
v-loading="QueryMsg.loading"
>
<tr>
<th width="50">ID</th>
<th width="50">分房</th>
<th width="50">房间数</th>
<th width="50">房号</th>
<th width="130">酒店及房型</th>
<th width="130">旅客姓名</th>
<th width="110">英文姓</th>
......@@ -82,8 +82,8 @@
</tr>
<tbody v-for="(item,index) in QueryMsg.dataList" :key="index">
<tr v-for="(subItem,subIndex) in item">
<td>{{subItem.Number}}</td>
<td>{{subItem.HouseNo!="10000"?subItem.HouseNo:""}}</td>
<td v-if="subIndex==0" :rowspan="subItem.RowsCount">{{index+1}}</td>
<td v-if="subIndex==0" :rowspan="subItem.RowsCount"></td>
<td>{{getHouseTypeStr(subItem)}}</td>
<td>{{subItem.GuestName}}</td>
<td>{{subItem.ESurName}}</td>
......@@ -106,11 +106,11 @@
</td>
<td>{{subItem.VisaType}}</td>
</tr>
<tr height="30">
<!-- <tr height="30">
<td colspan="21" align="left">
<span class="colorE95252" style="text-align:left">备注:{{item[0].Remarks}}</span>
</td>
</tr>
</tr> -->
</tbody>
</table>
</div>
......
<template>
<div class="flexOne">
<div class="query-box">
<ul class="user_time_picker">
<li>
<input type="button" @click=" " class="hollowFixedBtn" value="查询">
<input type="button" @click="outerVisible = true,dialogTitle=$t('active.ad_addad'),resetInfo()" class="normalBtn" :value="$t('pub.addBtn')">
</li>
</ul>
</div>
<div class="clearfix"></div>
<table class="singeRowTable" border="0" cellspacing="0" cellpadding="0" v-loading="loading">
<tr>
<th>会员等级</th>
<th>等级名称</th>
<th>积分</th>
<th>特权</th>
<th>升降级标准</th>
<th>星级有效期延长的条件</th>
<th>操作</th>
</tr>
<tr v-for="item in dataList">
<td>{{item.rank}}</td>
<td>{{item.awardName}}</td>
<td>{{item.awardCount}}</td>
<td>{{item.awardWinningCount}}</td>
<td>223</td>
<td>22</td>
<td>
<el-tooltip class="item" effect="dark" :content="$t('active.ld_editInfo')" placement="top">
<el-button
type="primary"
icon="el-icon-edit"
circle
@click="outerVisible=true,dialogTitle=$t('active.ld_editInfo'),updateData(item)"
></el-button>
</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>
<el-dialog
custom-class="w800"
:title="dialogTitle"
:visible.sync="outerVisible"
center
:before-close="closeChangeMachie"
>
<el-form :model="addMsg" :rules="rules" ref="addMsg" label-width="100px">
<table class="layerTable layerNoIcon">
<tr>
<td>
<el-form-item label="会员等级" prop="memberLevel">
<el-input v-model="addMsg.memberLevel" class="w217" />
</el-form-item>
</td>
<td>
<el-form-item label="等级名称" prop="memberName">
<el-input v-model="addMsg.memberName" class="w217" />
</el-form-item>
</td>
</tr>
<td>
<el-form-item label="积分" prop="integral">
<el-input v-model="addMsg.integral" class="w217" />
</el-form-item>
</td>
<td>
<el-form-item label="特权" prop="privilege" >
<el-select filterable v-model="addMsg.privilege" class="w217" >
<el-option :label="$t('pub.unlimitedSel')" :value="0"></el-option>
<el-option v-for="item in awardRelationList" :label="item.couponsName" :value="item.couponId" :key="item.couponId"></el-option>
</el-select>
</el-form-item>
</td>
</tr>
<tr>
<td colspan="2">
<el-form-item label="升降级标准" prop="standard">
<el-input v-model="addMsg.standard" type="textarea"/>
</el-form-item>
</td>
</tr>
<tr>
<td colspan="2">
<el-form-item label="星级有效期延长的条件" prop="condition">
<el-input v-model="addMsg.condition" type="textarea"/>
</el-form-item>
</td>
</tr>
</table>
</el-form>
<div slot="footer" class="dialog-footer">
<button class="hollowFixedBtn" @click="outerVisible = false">{{$t('pub.cancelBtn')}}</button> &nbsp;
<button class="normalBtn" @click="submitForm('addMsg')">{{$t('pub.saveBtn')}}</button>
</div>
</el-dialog>
</div>
</template>
<script>
export default {
data() {
return {
//请求
msg: {
lotteryId: '',
},
addMsg:{
id:0,
memberLevel: '',
memberName: '',
integral: '',
privilege: '',
standard: '',
condition: ''
},
rules:{
memberLevel: [{ required: true, message: '请输入会员等级', trigger: "blur" }],
memberName: [{ required: true, message: '请输入等级名称', trigger: "blur" }],
integral: [{required: true, message: '请输入积分', trigger: "blur"}],
privilege: [{ required: true, message: '请选择特选', trigger: "change" }],
standard: [{ required: true, message: '请输入升降级标准', trigger: "blur" }],
condition: [{ required: true, message: '请输入星级有效期延长的条件', trigger: "blur" }],
},
loading:false,
outerVisible:false,
dialogTitle:'',
dataList:[],
awardRelationList:[],
};
},
mounted() {
this.msg.lotteryId = this.$route.query.lotteryId;
// this.getList();
},
filters: {
},
methods: {
//获取数据
getList() {
this.loading = true;
this.apiJavaPost("/api/sell/lottery/getLotteryAwardList", this.msg, res => {
this.loading = false;
if (res.data.resultCode === 1) {
this.dataList = res.data.data;
console.log(this.dataList,'datalist');
} else {
this.Error(res.data.message)
}
}, null);
},
//提交
submitForm(addMsg) {
//提交创建、修改表单
this.$refs[addMsg].validate(valid => {
if (valid) {
this.addAward();
} else {
return false;
}
});
},
//提交添加
addAward(){
this.addMsg.lotteryId = this.$route.query.lotteryId;
if(this.addMsg.awardType==1||this.addMsg.awardType==2){
this.addMsg.awardRelationId = 0;
}
this.apiJavaPost("/api/sell/lottery/setLotteryAward", this.addMsg, res => {
if (res.data.resultCode === 1) {
this.Success(res.data.message);
this.outerVisible = false;
this.getList();
} else {
this.Error(res.data.message)
}
}, null);
},
//修改信息
updateData(item){
this.addMsg.id=item.id;
this.addMsg.lotteryId = item.lotteryId;
this.addMsg.awardName = item.awardName;
this.addMsg.awardType = item.awardType;
this.addMsg.awardRelationId = item.awardRelationId;
this.addMsg.awardCount = item.awardCount;
this.addMsg.awardStatus = item.awardStatus;
this.addMsg.rank = item.rank;
this.getAwardRelationId(3);
},
//根据奖项类型请求关联Id
getAwardRelationId(id){
let branchId = this.$route.query.branchId;
if(id==3){
let msg = {
couponId:this.addMsg.awardRelationId,
branchId:branchId
}
this.apiJavaPost("/api/sell/lottery/getCouponsList", msg, res => {
if (res.data.resultCode === 1) {
this.awardRelationList = res.data.data;
} else {
this.Error(res.data.message)
}
}, null);
}
},
//重置信息
resetInfo(){
var newMsg = {
id:0,
lotteryId:0,
awardName:'',
awardType:1,
awardRelationId:0,
awardCount:'',
awardStatus:1,
rank:'',
}
this.addMsg = newMsg;
},
closeChangeMachie(done) {
//弹出框关闭初始化弹框内表单
done();
this.resetForm("addMsg");
},
resetForm(formName) {
this.$refs[formName].resetFields();
}
}
};
</script>
\ No newline at end of file
This diff is collapsed.
......@@ -453,7 +453,7 @@
},
mounted() {
let userInfo=this.getLocalStorage();
this.RB_Group_id = userInfo.RB_Branch_id;
this.RB_Group_id = userInfo.RB_Group_id;
this.getPostMsg.RB_Group_Id=this.getCompanyMsg.RB_Group_Id=this.getDepartmentMsg.RB_Group_Id=this.addMsg.RB_Group_id=this.msg.RB_Group_id=userInfo.RB_Group_id; //集团
this.getPostMsg.RB_Branch_Id=this.getDepartmentMsg.RB_Branch_Id=this.msg.RB_Branch_id=userInfo.RB_Branch_id; //公司
this.getPostMsg.RB_Department_Id=userInfo.RB_Department_Id; //部门
......
<style>
.busManagerTalbe {
background: #ccc;
font-size:12px;
}
.busManagerTalbe tr {
background: #fff;
text-align: center;
height: 40px;
}
.commonBackColor {
background-color: #E6E6E6;
color:#333;
}
.comTextAlign{
text-align: left;
padding-left: 20px;
}
</style>
<template>
<div>
<table border="0" cellspacing="1" cellpadding="0" class="busManagerTalbe" style="width: 100%;">
<tr>
<td colspan="6">印象ジャパンバス手配依頼書</td>
</tr>
<tr>
<td class="commonBackColor">団 體 名:</td>
<td colspan="5" class="comTextAlign">HP20190428A1</td>
</tr>
<tr>
<td class="commonBackColor">ガイド名前:</td>
<td class="comTextAlign">张三丰</td>
<td class="commonBackColor">攜帯番號:</td>
<td colspan="3" class="comTextAlign">123456789</td>
</tr>
<tr>
<td class="commonBackColor">人   數:</td>
<td colspan="5" class="comTextAlign">25+1</td>
</tr>
<tr>
<td class="commonBackColor">バス 種類:</td>
<td colspan="5" class="comTextAlign">1</td>
</tr>
<tr>
<td class="commonBackColor">スケジュール:</td>
<td colspan="5" class="comTextAlign"></td>
</tr>
<tr>
<td class="commonBackColor">日付</td>
<td class="commonBackColor">用車状況</td>
<td class="commonBackColor">便名</td>
<td class="commonBackColor">スケジュール內容</td>
<td class="commonBackColor">ホテル</td>
<td class="commonBackColor">ホテルTEL</td>
</tr>
<tr>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
</tr>
<tr>
<td>備考欄:</td>
<td colspan="5" class="comTextAlign">04/28日接机+0天+05/04日东京成田国际机场送机,订房号:HP20190428A1</td>
</tr>
<tr>
<td colspan="6" class="comTextAlign">*迎えや送りは必要・不要となることは、必ず標記してください。</td>
</tr>
<tr>
<td colspan="6" class="comTextAlign">*直接バス會社へ送付するので、必ず日本語でご記入ください。</td>
</tr>
</table>
</div>
</template>
......@@ -39,9 +39,12 @@
v-loading='msg.loading'>
<tr>
<th width="5%">序号</th>
<th width="5%">停车场名称/停车场地址</th>
<th width="5%">停车场名称</th>
<th width="5%">停车场地址</th>
<th width="5%">联系电话</th>
<th width="10%">地区</th>
<th width="10%">总库存/使用库存/剩余库存</th>
<th width="10%">价格</th>
<th width="10%">操作人</th>
<th width="10%">操作</th>
</tr>
......@@ -51,15 +54,22 @@
</td>
<td style="text-align:left;padding:0 20px;">
{{item.ParkName}}
<br />
</td>
<td>
{{item.Address}}
</td>
<td style="text-align:left;padding:0 20px;">
{{item.ParkTel}}
</td>
<td>
{{item.CountryName}}-{{item.ProvinceName}}-{{item.CityName}}-{{item.DistrictName}}
</td>
<td>
{{item.StockNum}}/{{item.UseNum}}/{{item.ShengYu}}
</td>
<td>
{{item.ParkPrice}}
</td>
<td>
{{item.CreatyByName}}
<br />
......@@ -70,16 +80,15 @@
<el-button type="primary" icon="el-icon-edit" @click="IsShow=true,GetPark(item.Id)" circle></el-button>
</el-tooltip>
<el-tooltip class="item" effect="dark" content="删除" placement="top-start">
<el-button type="danger" icon="el-icon-delete"
@click="delPark(item.Id)" circle></el-button>
<el-button type="danger" icon="el-icon-delete" @click="delPark(item.Id)" circle></el-button>
</el-tooltip>
</td>
</tr>
</table>
</div>
<div class="noDataNotice" v-if="!DataList||DataList.length==0">
<i class="iconfont icon-kong"></i>
<p>没有找到你需要的数据</p>
<i class="iconfont icon-kong"></i>
<p>没有找到你需要的数据</p>
</div>
<el-pagination background @current-change="handleCurrentChange" :current-page.sync="msg.currentPage"
......@@ -104,14 +113,14 @@
</el-col>
<el-col :span="5">
<el-form-item label="国家">
<el-select v-model="PostMsg.Country" clearable class="w210" filterable @change="getAddProvince(PostMsg.Country,1)"
:placeholder="$t('hotel.hotel_country')">
<el-select v-model="PostMsg.Country" clearable class="w210" filterable
@change="getAddProvince(PostMsg.Country,1)" :placeholder="$t('hotel.hotel_country')">
<el-option :label="$t('pub.unlimitedSel')" :value="0"></el-option>
<el-option v-for="item in countryList" :key="item.ID" :label="item.Name" :value="item.ID"></el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="5">
<!-- <el-col :span="5">
<el-form-item label="省份">
<el-select v-model="PostMsg.Province" filterable class="w210" @change="getAddProvince(PostMsg.Province,2)"
:placeholder="$t('hotel.hotel_province')">
......@@ -127,13 +136,15 @@
<el-option v-for="item in cityList2" :key="item.ID" :label="item.Name" :value="item.ID"></el-option>
</el-select>
</el-form-item>
</el-col>
</el-col> -->
<el-col :span="5">
<el-form-item label="详细地址">
<el-input v-model="PostMsg.Address" class="w210"></el-input>
<el-input placeholder="请输入内容" class="w210" v-model="PostMsg.Address">
<el-button slot="append" @click="selectAddress = true" icon="iconfont icon-img_dw"></el-button>
</el-input>
</el-form-item>
</el-col>
<el-col :span="5">
<!-- <el-col :span="5">
<el-form-item label="经度">
<el-input v-model="PostMsg.Lng" class="w210"></el-input>
</el-form-item>
......@@ -143,18 +154,37 @@
<el-form-item label="纬度">
<el-input v-model="PostMsg.Lat" class="w210"></el-input>
</el-form-item>
</el-col> -->
<el-col :span="5">
<el-form-item label="电话">
<el-input v-model="PostMsg.ParkTel" class="w210" max-length="30"></el-input>
</el-form-item>
</el-col>
<el-col :span="5">
<el-form-item label="价格">
<el-input v-model="PostMsg.ParkPrice" @keyup.native="checkPrice(PostMsg,'ParkPrice')" class="w210"
max-length="15">
</el-input>
</el-form-item>
</el-col>
<el-col :span="5">
<el-form-item label="库存数量">
<el-input v-model="PostMsg.StockNum" @keyup.native="checkInteger(PostMsg,'StockNum')" class="w210"></el-input>
<el-input v-model="PostMsg.StockNum" @keyup.native="checkInteger(PostMsg,'StockNum')" class="w210">
</el-input>
</el-form-item>
</el-col>
</el-form>
</div>
<el-dialog custom-class="mapList" title="地图选址" center :visible.sync="selectAddress">
<googleMap @refList="googleMap" v-bind:address="PostMsg.Address" @headCallBack="headCall"></googleMap>
</el-dialog>
</div>
</template>
<script>
import googleMap from "../commonPage/googleMap.vue";
export default {
data() {
return {
......@@ -182,12 +212,15 @@
Lng: "",
Lat: "",
StockNum: 0,
ParkPrice: 0,
ParkTel: ""
},
countryList:[],
provinceList:[],
cityList:[],
provinceList2:[],
cityList2:[]
countryList: [],
provinceList: [],
cityList: [],
provinceList2: [],
cityList2: [],
selectAddress: false,
}
},
......@@ -218,12 +251,11 @@
}, res => {
if (res.data.resultCode == 1) {
this.PostMsg = res.data.data;
console.log(this.PostMsg);
if(this.PostMsg.Country>0){
this.getPrivince(this.PostMsg.Country,1);
if (this.PostMsg.Country > 0) {
this.getPrivince(this.PostMsg.Country, 1);
}
if(this.PostMsg.Province>0){
this.getPrivince(this.PostMsg.Province,2);
if (this.PostMsg.Province > 0) {
this.getPrivince(this.PostMsg.Province, 2);
}
} else {
this.$message.error(res.data.message)
......@@ -245,6 +277,8 @@
this.PostMsg.Lng = "";
this.PostMsg.Lat = "";
this.PostMsg.StockNum = 0;
this.PostMsg.ParkPrice = 0;
this.PostMsg.ParkTel = "";
this.getList();
} else {
this.$message.error(res.data.message)
......@@ -332,28 +366,28 @@
err => {}
);
}
},
},
//初始化对应下拉
getPrivince(ID,type){
let msg = {
Id: ID
};
this.apipost(
"dict_post_Destination_GetChildList",
msg,
res => {
if (type == 1) {
this.provinceList2 = res.data.data;
} else if (type == 2) {
this.cityList2 = res.data.data;
}
},
err => {}
);
getPrivince(ID, type) {
let msg = {
Id: ID
};
this.apipost(
"dict_post_Destination_GetChildList",
msg,
res => {
if (type == 1) {
this.provinceList2 = res.data.data;
} else if (type == 2) {
this.cityList2 = res.data.data;
}
},
err => {}
);
},
//重置
resetMsg(){
resetMsg() {
let msg = {
Id: 0,
ParkName: "",
......@@ -367,11 +401,25 @@
StockNum: 0,
}
this.PostMsg = msg;
}
},
googleMap() {
this.selectAddress = false;
},
headCall(msg) {
this.PostMsg.Lng = msg.lng;
this.PostMsg.Lat = msg.lat;
this.PostMsg.Address = msg.address;
console.log(msg, 'msssgggg');
console.log(msg.address);
},
},
mounted() {
this.getCountryList();
this.getList();
},
components: {
googleMap: googleMap,
}
}
......@@ -426,10 +474,17 @@
cursor: pointer;
}
.busStockManager .w150 .el-input{
width:150px;
.busStockManager .w150 .el-input {
width: 150px;
}
.busStockManager .el-button.is-circle {
padding: 5px;
}
.busStockManager .el-button.is-circle{
padding:5px;
.busStockManager .mapList {
width: 850px;
height: 510px;
}
</style>
......@@ -136,7 +136,7 @@ export default {
}else{
if(this.day.jiu2.length==1 && this.day.jiu2[0].name!='温馨的家'){
if(this.isDirect===1){
suffix = "【保证入住】"
}
}
}
......
......@@ -138,7 +138,7 @@ export default {
}else{
if(this.day.jiu2.length==1 && this.day.jiu2[0].name!='温馨的家'){
if(this.isDirect===1){
suffix = "【保证入住】"
suffix = "或同級"
}
}
}
......
......@@ -108,7 +108,7 @@ export default {
}else{
if(this.day.jiu2.length==1 && this.day.jiu2[0].name!='温馨的家'){
if(this.isDirect===1){
suffix = "【保证入住】"
suffix = "或同級"
}
}
}
......
......@@ -178,7 +178,7 @@ export default {
}else{
if(this.day.jiu2.length==1 && this.day.jiu2[0].name!='温馨的家'){
if(this.isDirect===1){
suffix = "【保证入住】"
suffix = "或同級"
}
}
}
......
......@@ -105,7 +105,7 @@ export default {
}else{
if(this.day.jiu2.length==1 && this.day.jiu2[0].name!='温馨的家'){
if(this.isDirect===1){
suffix = "【保证入住】"
suffix = "或同級"
}
}
}
......
......@@ -221,8 +221,8 @@
</div>
</td>
<td>李逍遥</td>
<td>李逍遥</td>
<td></td>
<td></td>
<td>
<div>存款证明单</div>
<div>旅客职业背景表</div>
......
......@@ -810,7 +810,7 @@
<div>
{{index+1}}.{{subItem.HotelName}}&nbsp;&nbsp;
<span v-if="subItem.UseCount>0 && item.SubList.length==1">
<a style="color:green">{{subItem.RemainingInventory>-3?"【OK】":"【暂定】"}}</a>
<a style="color:green">{{subItem.Status==1?"【OK】":"【暂定】"}}</a>
<span style="color:green">本团使用库存:{{subItem.UseCount}}
{{subItem.CostPrice!=0?"价格:"+subItem.CostPrice:""}}</span>
</span>
......
......@@ -4,8 +4,7 @@ export default {
routes: [{
path: '/',
name: 'login',
component: login
component: login
},
{
path: '/login',
......@@ -1320,6 +1319,14 @@ export default {
title: '添加修改车控页面'
},
},
{
path: '/busHandBook', //首配依赖书
name: 'busHandBook',
component: resolve => require(['@/components/busManagement/busHandBook'], resolve),
meta: {
title: '手配依赖书'
},
},
{ //车控供应商
path: '/busSuplier',
name: 'busSuplier',
......@@ -1499,6 +1506,15 @@ export default {
title: '一日游'
},
},
{
path: '/SalesTravelCoupomList', //一日游销售自主开团用
name: 'SalesTravelCoupomList',
component: resolve => require(['@/components/TravelManager/TravelList/SalesTravelCoupomList'], resolve),
meta: {
title: '行程定制信息'
},
},
{
path: '/priceIncomeConfirmInfo', ///priceIncomeConfirmInfo
name: 'priceIncomeConfirmInfo',
......@@ -2482,7 +2498,27 @@ export default {
component: resolve => require(['@/components/commonPage/TicketFinace'], resolve),
},
]
}, { //财务 财务单据 审核标准单据
},
// 申请书
{
path: '/Application',
name: 'Application',
component: resolve => require(['@/components/FinancialModule/Application'], resolve),
meta: {
title: '申请书'
},
},
// 借支单
{
path: '/DebitNote',
name: 'DebitNote',
component: resolve => require(['@/components/FinancialModule/DebitNote'], resolve),
meta: {
title: '借支单'
},
},
{ //财务 财务单据 审核标准单据
path: '/BasicDocuments',
name: 'BasicDocuments',
component: resolve => require(['@/components/FinancialModule/BasicDocuments'], resolve),
......@@ -3050,6 +3086,15 @@ export default {
title: '行程定制师'
}
},
{
path: '/TravelInfoList',
name: 'TravelInfoList',
component: resolve => require(['@/components/activity/TravelInfoList'], resolve),
meta: {
title: '行程定制信息'
}
},
{
path: '/RegimentLabel',
name: 'RegimentLabel',
......@@ -3066,6 +3111,14 @@ export default {
title: '会员等级'
}
},
{
path: '/MemberPrivilege',
name: 'MemberPrivilege',
component: resolve => require(['@/components/activity/MemberPrivilege'], resolve),
meta: {
title: '会员特权'
}
},
]
},
{
......
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