Commit 457a5e98 authored by liudong1993's avatar liudong1993
parents 805bf6fa b9a73022
......@@ -431,7 +431,6 @@
top: -0;
width: 440px;
}
._wenjian {
padding: 15px;
width: 91px;
......@@ -597,7 +596,9 @@
.FinancialDocumentsDetail ._addUpload_box_btm {
margin-top: 10px;
max-height: 230px;
max-height: 102px;
overflow: auto;
padding: 10px 0 0 0;
}
._addUpload_box_btm img {
......@@ -1076,7 +1077,7 @@
</el-carousel-item>
</el-carousel>
</div>
<div class="clearfix" style="border:none">
<div class="clearfix" style="border:none;">
<template v-for="(file,fIndex) in GetDetail.VorcherInos" v-if="file.Type===1">
<div class="_wenjian" @click="showUpLoadFile(file)">
<p v-if="file.Type==1" class="_wenjian_P iconfont"
......@@ -1087,7 +1088,7 @@
</template>
</div>
</div>
<div style="margin-top: 80px;">
<div style="margin-top: 5px;">
<div class="_addUpload_box _addUpload_box_btm clearfix" v-if="saveMsg.length>0">
<template v-for="(file,fIndex) in saveMsg">
<div v-if="file.Type==3">
......@@ -1117,13 +1118,10 @@
<div class="shangchuanfujian"><button class="hollowFixedBtn" @click="upLoadFuJian">上传附件</button></div>
</div>
</div>
</div>
<div class="_fujian_box" v-if="GetDetail.VorcherInos
<div style="margin-top: 40px;" v-if="GetDetail.VorcherInos
&&GetDetail.VorcherInos.length===0
&&GetDetail.IsUploadPic===1
&&saveMsg.length===0">
<div style="margin-top: 80px;">
<div class="_pic_upload" v-if="GetDetail.IsUploadPic===1">
<!--<div class="_pic_upload" v-if="saveMsg.length!==5 && ((saveMsg.length + GetDetail.VorcherInos.length) < 5)">-->
<el-upload drag :http-request="uploadFileBtn" :multiple="true" :show-file-list="false" action="">
......@@ -1133,81 +1131,63 @@
</div>
<div class="shangchuanfujian"><button class="hollowFixedBtn" @click="upLoadFuJian">上传附件</button></div>
</div>
</div>
<!-- 是否需要发票 -->
<div class="_fujian_box" style="border-top: 1px solid #dedede;margin-top: 650px;
padding: 0 0 10px 0;"
v-if="(GetDetail.CreateBy==userInfo.EmployeeId
||GetDetail.InvoiceExamineBy==userInfo.EmployeeId
||ActionMenuCode.indexOf('F_Query_AllIncomPay')!= -1)">
<p
style="margin-top: 10px;">
<span style="color: red;">发票凭证</span>
<span style="color: #33B3FF;margin-left: 10px;">
<template v-if="GetDetail.InvoiceState==2">{{GetDetail.InvoiceExamineByName}}已审核</template>
<template v-if="GetDetail.InvoiceState==1">待审核</template>
</span>
</p>
<div class="_addUpload_box _addUpload_box_btm clearfix">
<!-- <template v-if="GetDetail.InvoiceVoucherInfo&&GetDetail.InvoiceVoucherInfo.length>0"
v-for="(file,fIndex) in GetDetail.InvoiceVoucherInfo">
<div v-if="file.Type==3">
<div style="width:100%;height:100%;overflow: hidden;">
<el-image
style="width: 100%; height: 100%"
:src="file.Url?file.Url:file.Content"
:preview-src-list="[file.Url?file.Url:file.Content]">
</el-image>
</div>
</div>
<div v-if="file.Type==1">
<div class="iconfont _wenjian_P"
style="line-height: 80px;"
:class="file.Content.substring(file.Content.lastIndexOf('.')+1,file.Content.length).toUpperCase()=='PDF'? 'icon-pdf' : 'icon-excel'"
@click="showUpLoadFile(file)">
</div>
</div>
</template> -->
<template v-if="InvoiceVoucherList.length>0"
v-for="(file,fIndex) in InvoiceVoucherList">
<div v-if="file.Type==3">
<div style="width:100%;height:100%;overflow: hidden;">
<el-image
style="width: 100%; height: 100%"
:src="file.Url?file.Url:file.Content"
:preview-src-list="[file.Url?file.Url:file.Content]">
</el-image>
<!-- <img :src="file.Url?file.Url:file.Content" @click="showImg(file.Url?file.Url:file.Content)"> -->
</div>
<span class="iconfont icon-guanbi1"
@click="deleteUploadFile(fIndex,1)"></span>
<!-- 是否需要发票 -->
<div style="border-top: 1px solid #dedede;margin-top: 10px;
padding: 0 0 10px 0;"
v-if="(GetDetail.CreateBy==userInfo.EmployeeId
||GetDetail.InvoiceExamineBy==userInfo.EmployeeId
||ActionMenuCode.indexOf('F_Query_AllIncomPay')!= -1)">
<p
style="margin-top: 40px;">
<span style="color: red;">发票凭证</span>
<span style="color: #33B3FF;margin-left: 10px;">
<template v-if="GetDetail.InvoiceState==2">{{GetDetail.InvoiceExamineByName}}已审核</template>
<template v-if="GetDetail.InvoiceState==1">待审核</template>
</span>
</p>
<div class="_addUpload_box _addUpload_box_btm clearfix" v-if="InvoiceVoucherList.length>0">
<template
v-for="(file,fIndex) in InvoiceVoucherList">
<div v-if="file.Type==3">
<div style="width:100%;height:100%;overflow: hidden;">
<el-image
style="width: 100%; height: 100%"
:src="file.Url?file.Url:file.Content"
:preview-src-list="[file.Url?file.Url:file.Content]">
</el-image>
<!-- <img :src="file.Url?file.Url:file.Content" @click="showImg(file.Url?file.Url:file.Content)"> -->
</div>
<div v-if="file.Type==1">
<div class="iconfont _wenjian_P"
style="line-height: 80px;"
: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,1)"></span>
<span class="iconfont icon-guanbi1"
@click="deleteUploadFile(fIndex,1)"></span>
</div>
<div v-if="file.Type==1">
<div class="iconfont _wenjian_P"
style="line-height: 80px;"
:class="file.Content.substring(file.Content.lastIndexOf('.')+1,file.Content.length).toUpperCase()=='PDF'? 'icon-pdf' : 'icon-excel'"
@click="showUpLoadFile(file)">
</div>
</template>
</div>
<div style="margin-top: 10px;"
v-if="(GetDetail.CreateBy==userInfo.EmployeeId
||GetDetail.InvoiceExamineBy==userInfo.EmployeeId
||ActionMenuCode.indexOf('F_Query_AllIncomPay')!= -1)&&GetDetail.InvoiceState!=2">
<div class="_pic_upload">
<!--<div class="_pic_upload" v-if="saveMsg.length!==5 && ((saveMsg.length + GetDetail.VorcherInos.length) < 5)">-->
<el-upload drag :http-request="uploadFileBtnFP" :multiple="true" :show-file-list="false" action="">
<i class="el-icon-plus avatar-uploader-icon"></i>
<div class="el-upload__text">点击/拖拽上传发票</div>
</el-upload>
<span class="iconfont icon-guanbi1"
@click="deleteUploadFile(fIndex,1)"></span>
</div>
<div class="shangchuanfujian"><button class="hollowFixedBtn" @click="upLoadFuJian(1)">上传发票</button></div>
</template>
</div>
<div style="margin-top: 10px;"
v-if="(GetDetail.CreateBy==userInfo.EmployeeId
||GetDetail.InvoiceExamineBy==userInfo.EmployeeId
||ActionMenuCode.indexOf('F_Query_AllIncomPay')!= -1)&&GetDetail.InvoiceState!=2">
<div class="_pic_upload">
<!--<div class="_pic_upload" v-if="saveMsg.length!==5 && ((saveMsg.length + GetDetail.VorcherInos.length) < 5)">-->
<el-upload drag :http-request="uploadFileBtnFP" :multiple="true" :show-file-list="false" action="">
<i class="el-icon-plus avatar-uploader-icon"></i>
<div class="el-upload__text">点击/拖拽上传发票</div>
</el-upload>
</div>
<div class="shangchuanfujian"><button class="hollowFixedBtn" @click="upLoadFuJian(1)">上传发票</button></div>
</div>
</div>
</div>
</div>
<p class="_splic">
......
......@@ -317,6 +317,7 @@
</span> -->
<button class="hollowFixedBtn" @click="resetPageIndex(),getPageList()">{{$t('pub.searchBtn')}}</button>
<!-- <button class="normalBtn" @click="method5()">导出</button> -->
<button class="normalBtn" @click="DownLoadAll()">导出</button>
</li>
</ul>
<div class="JumpDivTitleOne">应收金额:{{SumYingShou}} <span class="JumpSpan">实收金额:{{SumShiShou}}</span> 待收金额:{{SumDaiShou}}</div>
......@@ -1052,6 +1053,31 @@ export default {
if(!this.msg.AccountType)this.msg.AccountType=0;
this.GetLocalFile("Financial_post_DownInOrOut", this.msg,"收支款.xls");
} ,
DownLoadAll: function() {
if(!this.msg.ClientID)this.msg.ClientID=0;
if(!this.msg.ClientType)this.msg.ClientType=0;
if(!this.msg.CurrencyId)this.msg.CurrencyId=0;
if(!this.msg.CostTypeID)this.msg.CostTypeID=0;
if(!this.msg.TemplateId)this.msg.TemplateId=0;
if(this.msg.RB_Branch_Id=='undefined')this.msg.RB_Branch_Id=-1;
if(!this.msg.RB_Depart_Id)this.msg.RB_Depart_Id=0;
if(!this.msg.UpdateBy)this.msg.UpdateBy=0;
if(!this.msg.TCID)this.msg.TCID=0;
if(!this.msg.OrderID)this.msg.OrderID=0;
if(!this.msg.Status)this.msg.Status=0;
if(!this.msg.FrID)this.msg.FrID=0;
if(!this.msg.Conditon)this.msg.Conditon=1;
if(!this.msg.TradeWay)this.msg.TradeWay=0;
if(!this.msg.AccountType)this.msg.AccountType=0;
if(this.msg.CostTypeIDslist.length) {
this.msg.CostTypeIDs = ''
this.msg.CostTypeIDslist.forEach(x=>{
this.msg.CostTypeIDs += x + ','
})
}
this.GetLocalFile("Financial_post_DownLoadAllFinance", this.msg,"收支款.xls");
} ,
financeRemove(id){//作废
this.$confirm('是否对申请单进行作废操作?作废后不可恢复!', '提示', {
confirmButtonText: '确定',
......
......@@ -41,8 +41,16 @@
<el-date-picker v-model='msg.EndDate' class='w135' value-format="yyyy-MM-dd" type="date"></el-date-picker>
</span>
</li>
<li>
<span>
<em>只看已导入佣金数据的团</em>
<el-switch v-model="msg.IsQCommission" active-value="true" inactive-value="false">
</el-switch>
</span>
</li>
<li>
<input type="button" class="normalBtn" :value="$t('pub.searchBtn')" @click="getList();resetPageIndex()" />
<input type="button" class="normalBtn" value="批量制佣金单" @click="MoreCreateBill()" />
</li>
</ul>
</div>
......@@ -71,6 +79,7 @@
<table border="0" cellspacing="1" cellpadding="0" class="ShoppingTable"
style="border: 1px solid rgb(230, 230, 230);min-width: 1600px" v-loading="loading">
<tr>
<th width="60"> <el-checkbox v-model="checkAll" @change="getSelectAll()" >全选</el-checkbox></th>
<th width="115">{{$t('active.ad_xuhao')}}</th>
<th width="100">{{$t('sm.chufadi')}}</th>
<th width="110">{{$t('salesModule.CompanyNum')}}</th>
......@@ -102,6 +111,9 @@
<template v-for="(item,index) in outItem.PriceShopList">
<template v-for="(subItem,subIndex) in item.ShopDetailsList">
<tr>
<td :rowspan="outItem.rowspanCount" v-if="index==0&&subIndex==0">
<el-checkbox @change="changeCheck(outItem)" v-model="outItem.IsCheck" :disabled="outItem.IsCheckDisabled"></el-checkbox>
</td>
<td :rowspan="outItem.rowspanCount" v-if="index==0&&subIndex==0">
{{outItem.NewCombinationNum}}
</td>
......@@ -297,8 +309,14 @@
</tr>
</tbody>
</table>
<el-pagination background @current-change="handleCurrentChange" :current-page.sync="msg.currentPage"
layout="total,prev, pager, next, jumper" :page-size="msg.pageSize" :total="msg.total"></el-pagination>
<el-pagination background @current-change="handleCurrentChange"
:current-page.sync="msg.currentPage"
layout="total, sizes, prev, pager, next, jumper"
:page-size="msg.pageSize"
:page-sizes="[10, 20, 30, 40,50]"
@size-change="handleSizeChange"
:total="msg.total">
</el-pagination>
</div>
<a id='blankLink1' target="_blank" style="display:none">1</a>
<el-dialog custom-class='w400' title="请选择需要制单的团号" :visible.sync="zhuanjiaoBox" center>
......@@ -365,6 +383,13 @@
</div>
</template>
</el-dialog>
<el-dialog title="生成财务单据" :visible.sync="BOSSDialog">
<template > <p class="boss_btn">{{$t('ios.gongji')}} {{selectedRowKeys.length}} {{$t('ios.tdqdi')}} <span>{{(bossLen>selectedRowKeys.length)?selectedRowKeys.length:bossLen}}</span>
{{$t('ios.tiao')}}</p>
<p class="boss_btn_tips">批量制单中请不要进行其他操作。</p></template>
</el-dialog>
</div>
</template>
<script>
......@@ -378,6 +403,8 @@
{Name:'公司佣金',Id:3},
{Name:'PIC部分',Id:4},
],
checkAll:false, //全选状态
selectedRowKeys: [], //选中的key
FinanceTypes: [0],//佣金类型
loading: false,
PayType: 1, //付款方式
......@@ -399,6 +426,7 @@
total: 0,
CombinationNum: "", //合团号
TCNUM: "", //团号
IsQCommission:false
},
LineList: [],
LineTeamList: [],
......@@ -409,6 +437,19 @@
CreateHandBillID: '',
CreateHandObj: {},
CurrentOutItem: {}, //当前选中的团
bossLen: null,
BOSSDialog: false,
userMenuCode: false,
HandShow: false,
nMsg : {
TCIDs: "",
PayType: 1,
uid: 0,
FinanceType: "3,4",
LeaderAccountId :0,
GuideAccountId : 0,
IsFee : 1
},
}
},
methods: {
......@@ -554,6 +595,12 @@
this.msg.pageIndex = val;
this.getList();
},
handleSizeChange(val) {
this.msg.pageIndex = 1;
this.msg.pageSize=val;
this.getList();
},
resetPageIndex() {
this.msg.pageIndex = 1;
this.currentPage = 1;
......@@ -584,6 +631,43 @@
}
}
},
//全选
getSelectAll(){
if (this.checkAll) {
this.selectedRowKeys = [] // 判断是否已全部选中,是则清空已选列表
this.checkAll = false;
this.shopDataList.forEach((item) => {
if(item.IsCheck)
item.IsCheck=false;
})
this.$forceUpdate();
} else {
this.shopDataList.forEach((item) => {
if (!this.selectedRowKeys.includes(item.TCIDs)&&item.IsCheckDisabled==false) {
item.IsCheck=true;
this.selectedRowKeys.push(item.TCIDs) // 否则将未选中的全部加入已选列表中
}
})
this.checkAll = true;
this.$forceUpdate();
}
},
changeCheck(row){
if (!this.selectedRowKeys.includes(row.TCIDs)) {
row.IsCheck=true;
this.selectedRowKeys.push(row.TCIDs);
} else {
row.IsCheck=false;
let index = this.selectedRowKeys.indexOf(row.TCIDs);
this.selectedRowKeys.splice(index, 1);
}
if (this.selectedRowKeys.length == this.shopDataList.length) {
this.checkAll = true ;
}else{
this.checkAll = false ;
}
this.$forceUpdate();
},
//生成单据
CreateBill() {
var that = this;
......@@ -630,6 +714,74 @@
// });
},
//生成单据
increment() {
console.log("bossLen",this.bossLen);
if (this.bossLen && this.bossLen <= this.selectedRowKeys.length) {
this.nMsg.uid=this.getLocalStorage().EmployeeId;
this.nMsg.TCIDs = this.selectedRowKeys[this.bossLen - 1];
this.apipost(
"dmcstatistics_post_CheckShopDetailsDMCRate",
this.nMsg,
res => {
if (res.data.resultCode == 1) {
if (res.data.data.result == 0) {
this.$message.error(res.data.message);
this.loading = false;
this.selectedRowKeys = [];
this.getList();
this.BOSSDialog = false;
} else {
this.apipost("dmcstatistics_post_BatchShopCreateBill", this.nMsg,
res => {
if (res.data.resultCode == 1) {
this.bossLen+=1;
this.increment();
}else{
this.$message.error("单据生成失败,请稍后重试");
this.loading = false;
this.selectedRowKeys = [];
this.getList();
this.BOSSDialog = false;
}
});
}
}
else {
this.$message.error(res.data.message);
this.loading = false;
this.selectedRowKeys = [];
this.getList();
this.BOSSDialog = false;
}
},
err => {}
);
} else {
this.BOSSDialog = false;
this.selectedRowKeys = [];
this.$message.success("批量制单成功!");
this.loading = false;
this.checkAll=false;
this.getList();
}
},
MoreCreateBill() {
if(this.selectedRowKeys&&this.selectedRowKeys.length==0){
this.$message.Error("请至少选择一个团!");
return;
}
this.$confirm('是否批量生成财务单据?', this.$t('tips.tips'), {
confirmButtonText: `确定`,
cancelButtonText: `取消`,
type: 'warning'
}).then(() => {
this.bossLen=1;
this.BOSSDialog = true;
this.increment();
}).catch(() => {});
},
financeinfo_post_GetClientAccountList(ObjID,type) { //获取付款 对象类型 新增用
let msg = {
ID: 0,
......
......@@ -1061,8 +1061,6 @@
style="background:red !important; ">已推送
</el-button>
</template>
<el-button @click="ckOPremark(item)" type="primary" style="background:#F16C3C; border-color:#F16C3C">
{{$t('Operation.Op_remark')}}
</el-button>
......
......@@ -827,7 +827,8 @@
<el-dropdown-item v-if="item.Status==1" @click.native="OutGroup(item.TCID,2)">
{{$t('Operation.Op_jietuan')}}
</el-dropdown-item>
<el-dropdown-item @click.native="goB2B(item.ConfigId)">{{$t('Operation.Op_b2bView')}}
<el-dropdown-item @click.native="goB2B(item.ConfigId, item.TCID , 1)">
{{$t('Operation.Op_b2bView')}}
</el-dropdown-item>
<el-dropdown-item @click.native='goUrl("DistributionTransport",item.ID,"分销联运")'>
{{$t('Operation.Op_salelianyun')}}</el-dropdown-item>
......@@ -1077,6 +1078,7 @@
//团控状态
FreePlanType: -1
},
CurrentUserInfo: {},
showHotelObj: {
showPrice: true, //是否显示价格
showPay: false, //是否显示支付方式
......@@ -1611,13 +1613,17 @@
}
});
},
goB2B(ConfigId) {
window.open(
"http://www.oytour.com/#/detailTwo/" +
encodeURIComponent(ConfigId) +
"/preview",
"_blank"
);
goB2B(ConfigId, tcid, type) {
var B2BDomain = this.CurrentUserInfo.B2BDomain;
if (type == 1) {
if (this.CurrentUserInfo.RB_Group_id == 81) {
this.$tripUtils.GotoB2BPage2(B2BDomain, ConfigId, tcid);
} else {
this.$tripUtils.GotoB2BPage(B2BDomain, ConfigId, tcid);
}
} else {
this.$tripUtils.GotoB2CPage(B2BDomain, ConfigId, tcid);
}
},
goTeamBalance(id, OutBranchId) {
this.$router.push({
......@@ -1873,6 +1879,7 @@
},
created() {
let userInfo = this.getLocalStorage();
this.CurrentUserInfo = userInfo;
// 团提成权限
let ActionMenuCode = userInfo.ActionMenuCode;
if (ActionMenuCode.indexOf("isCommissionDetails") != -1) {
......
......@@ -31,6 +31,40 @@
padding: 0 10px;
}
._TravelPricePopover .ScenicDiv {
width: 100%;
max-height: 300px;
overflow: auto;
}
._TravelPricePopover table {
padding: 10px 0 0 20px;
background-color: #ededed;
border-collapse: collapse;
border: 1px solid #d2d2d2;
font-size: 12px;
margin: 0 20px 5px 0;
width: 94%;
}
._TravelPricePopover table ._color_666 {
background-color: #ededed;
color: #666666;
padding: 5px;
}
._TravelPricePopover table td {
background-color: #ffffff;
padding: 9px 0;
color: #333333;
text-align: center;
border: 1px solid #d2d2d2;
}
._TravelPricePopover table td._d_name {
background-color: #ededed;
}
</style>
<template>
<div class="flexOne page_CouponList">
......@@ -207,6 +241,11 @@
<el-button v-if="EditBtn" type="danger" icon="iconfont icon-xiugai" circle style="padding:4px;"
@click="outerVisible=true,EditItem(item)"></el-button>
</el-tooltip>
<el-tooltip class="item" effect="dark" content="发放优惠券" placement="top">
<el-button v-if="EditBtn" type="danger" icon="iconfont icon-caidan-fill" circle style="padding:4px;"
@click="autoCouponDialog=true,AutoGrantCounItem(item)"></el-button>
</el-tooltip>
</td>
</tr>
</tbody>
......@@ -427,6 +466,74 @@
<el-button size="small" type="danger" @click="sureUpdatekucun()">确 定</el-button>
</span>
</el-dialog>
<el-dialog custom-class='w500' title="发放优惠券" :visible.sync="autoCouponDialog" center>
<el-form :model="grantCouponMsg" :rules="rules" ref="grantCouponMsg" label-width="100px" class="addBox">
<el-form-item label="优惠券名称">
<p>{{grantCouponMsg.couponsName}}</p>
</el-form-item>
<el-form-item label="优惠券类型">
<p>{{grantCouponMsg.couponsType==1?"抵用券":(grantCouponMsg.couponsType==2?"折扣卷":"")}}</p>
</el-form-item>
<el-form-item label="使用条件">
<p>{{grantCouponMsg.useCondition}}</p>
</el-form-item>
<el-form-item label="优惠券面额">
<p>{{grantCouponMsg.denomination}}</p>
</el-form-item>
<!-- <el-form-item label="选择人员" prop="grantCouponMsg.customerIds">
<el-input class="w180" v-model="grantCouponMsg.customerInfo" @keyup.enter.native="getCustomerBrandByKeyWord">
</el-input>
</el-form-item> -->
<el-form-item label="选择人员" prop="customerIds">
<template v-if="customerList&&customerList.length>0">
<template v-for="(item,index) in customerList">
<template v-if="item.ischecked">
<el-tag :key="index+10000" closable @close="deleteTag(item)">{{item.customerName}}({{item.contact}})
</el-tag>
</template>
</template>
</template>
<!--v-if="xuanzeCustomer"-->
<el-popover trigger="click" placement="bottom-start">
<div class="_TravelPricePopover" style="height: 300px;overflow: auto;width: 350px;">
<div class="ScenicDiv">
<el-input class="w180" v-model="grantCouponMsg.customerInfo"
@keypress.native.enter="getCustomerBrandByKeyWord" placeholder="请输入关键字,'回车'查询">
</el-input>
<table width="100%" border="0" cellspacing="0" cellpadding="0" v-loading="xuanzeCustomerLoading">
<tr>
<td class="_color_666">选择</td>
<td class="_color_666">客户名称</td>
<td class="_color_666">联系电话</td>
</tr>
<tr v-for="(fitem,fIndex) in customerList" :key="fIndex">
<td>
<el-checkbox @change="getSelect(fitem)" v-model="fitem.ischecked"></el-checkbox>
</td>
<td>
{{fitem.customerName}}
</td>
<td>
{{fitem.contact}}
</td>
</tr>
</table>
</div>
</div>
<div slot="reference" style="padding: 0 4px;">
<el-button size="small" type="danger">查询</el-button>
</div>
</el-popover>
</el-form-item>
</el-form>
<span slot="footer" class="dialog-footer">
<el-button size="small" @click="autoCouponDialog = false">取 消</el-button>
<el-button size="small" type="danger" @click="sureUpdatekucun()">确 定</el-button>
</span>
</el-dialog>
</div>
</template>
<script>
......@@ -473,6 +580,8 @@
outerVisible: false,
innerVisible: false,
updateKucundialog: false,
autoCouponDialog: false,
xuanzeCustomerLoading: false,
isRight: true,
dialogTitle: "",
insideDialogTxt: "",
......@@ -591,6 +700,8 @@
layerCompanyList: [],
CouponPlatformEnumList: [],
companyList: [],
customerList: [],
layerCustomerList: [],
layerDepartMentList: [],
departMentList: [],
PostList: [],
......@@ -600,6 +711,25 @@
upDateKcMsg: {
number: ''
},
grantCouponMsg: {
couponsName: "",
effectDate: "",
expirationDate: "",
activityStartDate: "",
activityEndDate: "",
couponsType: 1,
useCondition: 0,
id: 0,
couponsUseScope: 1,
couponStatus: 1,
redemptionPrice: '',
denomination: 0,
isExpansion: 0,
customerIds: '',
customerIdList: [],
customerType: 0,
customerInfo: ""
},
EditBtn: false,
};
},
......@@ -618,6 +748,13 @@
},
methods: {
//删除客户标签
deleteTag(item) {
item.ischecked=false;
},
getSelect(item) {
},
getcouponPriceList() {
this.addMsg.couponPriceList = []
this.addMsg.couponPriceLists.forEach(item => {
......@@ -675,6 +812,11 @@
this.getTravelPrciePageList()
}
},
//发放优惠券
AutoGrantCounItem(item) {
this.grantCouponMsg = Object.assign({}, item);
console.log("grantCouponMsg", this.grantCouponMsg);
},
//点击确定修改库存
sureUpdatekucun() {
this.apipost("coupon_post_UpdateCouponCount", this.upDateKcMsg, res => {
......@@ -700,6 +842,27 @@
}
);
},
//查询客户
getCustomerBrandByKeyWord() {
this.xuanzeCustomerLoading = true;
this.customerList = [];
this.apipost(
"app_post_GetCustomerBrandByKeyWord",
this.grantCouponMsg,
res => {
this.xuanzeCustomerLoading = false;
if (res.data.resultCode == 1) {
var tempData = res.data.data;
if (tempData && tempData.length > 0) {
tempData.forEach(item => {
item.ischecked = false;
})
}
this.customerList = tempData;
}
}
);
},
getCouponPlatformEnum() {
this.apipost(
"coupon_post_GetCouponPlatformEnum",
......
......@@ -95,7 +95,7 @@
<td class="commonBackColor" width="150">便名</td>
<td class="commonBackColor" width="450">スケジュール內容</td>
<td class="commonBackColor" width="350">ホテル</td>
<td class="commonBackColor" width="180">ホテルTEL</td>
<td class="commonBackColor" width="200"></td>
<td class="commonBackColor" width="200">司机宿泊</td>
</tr>
......@@ -117,11 +117,18 @@
<td>
<el-input type="textarea" resize="none" style="padding:5px 0;" v-model="subItem.BusContent" />
</td>
<td>
<el-input type="textarea" resize="none" style="padding:5px 0;" v-model="subItem.HotelName" />
</td>
<td>
<el-input type="textarea" resize="none" style="padding:5px 0;" v-model="subItem.HotelTel" />
<el-input v-model="subItem.HotelName">
<template slot="prepend">名称:</template>
</el-input><br />
<el-input v-model="subItem.HotelTel">
<template slot="prepend">电话:</template>
</el-input><br />
<el-input v-model="subItem.HotelAddress">
<template slot="prepend">地址:</template>
</el-input>
</td>
<td>
<el-input v-model="subItem.BreakfastName">
......@@ -231,7 +238,7 @@
TCIDS: this.TCIDS
};
this.loading = true;
var fileName = "バス手配依頼書" + this.DataObj.TeamNum + ".xls";
var fileName = "バス手配書" + this.DataObj.TeamNum + ".xls";
this.GetLocalFile("bus_get_DownLoadBusConfig", msg, fileName, res => {
this.loading = false;
this.isSave = false;
......
......@@ -2073,10 +2073,11 @@
testApi() {
// var postMsg = {};
// var cmd = "";
// cmd = "triptemplate_GetTripConfig";
// cmd = "triptemplate_GetTripTemplatePage";
// postMsg = {
// ConfigId:9117,
// pageIndex:1,
// pageSize:10,
// TagJsonStr:"春"
// }
// this.apipost(
// cmd, postMsg,
......
......@@ -6,6 +6,13 @@
</span>
<span class="foldList" @click="fold" v-if="isFold==''">{{$t('sm.djzd')}}</span>
<span class="foldList" @click="fold" v-if="isFold==1">{{$t('sm.djzk')}}</span>
<template v-if="false">
<span class="foldList" style="margin-right: 5px;"
v-if="userInfo.IsEditTripTemplate"
@click="journeyTemplate(1)">添加/编辑模版</span>
<span v-if="FeatureData.FeatureType==9" class="foldList" style="margin-right: 5px;"
@click="journeyTemplate(0)">编辑行程</span>
</template>
<div class="TrfList clearfix">
<!--&&item.TypeState!=8-->
<template v-for="item in TypeArray">
......@@ -115,9 +122,30 @@
<UpgradedVersion ref="UpgradedVersion" :TripColor="FeatureData.TripColor" :FeatureData='FeatureData'>
</UpgradedVersion>
</div>
<!-- ppt 模版行程 -->
<div v-if="FeatureData.FeatureType==9&&FeatureDataFlag">
<div style="text-align: center;margin-bottom: 20px;font-size: 14px;color: #808080;">暂无数据,右上角编辑行程试试吧!</div>
</div>
</div>
</div>
</div>
<!-- ppt 模版新增编辑窗口 -->
<div class="dialogPptistVisible-box" v-show="dialogPptistVisible"
style="width: 100%;height: 100%;">
<div class="closePptist-box">
<div class="closePptist">
<el-tooltip class="item" effect="dark" content="关闭窗口" placement="bottom">
<i class="el-icon-close"
style="color: #E95252;"
@click="dialogPptistVisible=!dialogPptistVisible"></i>
</el-tooltip>
</div>
</div>
<iframe :src="TemplateUrl"
class="TemplateIframe">
</iframe>
</div>
</div>
</template>
<script>
......@@ -223,7 +251,13 @@
isShow: false,
imgUrl: Travelslider,
TypeState: 8
}
},
// {
// ckTitle: "行程特色-ppt",
// isShow: false,
// imgUrl: Travelslider,
// TypeState: 9
// },
], //tab数组
templateColorArray: [{
id: 1,
......@@ -247,12 +281,36 @@
isFold: "",
FeatureDataFlag: false,
//当前登录用户信息
CurrentUserInfo: {}
CurrentUserInfo: {},
dialogPptistVisible: false,
userInfo: {},
TemplateUrl:'',
isPostMessage: false
};
},
created: function () {},
methods: {
handleMessage(event,targetOrigin) {
if(this.isPostMessage) return
if(event.data=='行程数据保存成功'){
this.dialogPptistVisible = false
this.isPostMessage = true
this.$emit('ConfigInfo')
}
},
// 添加编辑模版
journeyTemplate(type){
this.isPostMessage = false
// console.log(this.userInfo.EmployeeId,'-----',this.FeatureData.ConfigId)
let href = window.location.href.indexOf('localhost:')!=-1?'http://localhost:8080/':'http://localhost:8080/'
if(type&&type==1){
this.TemplateUrl=`${href}?uid=${this.userInfo.EmployeeId}&model=1`
}else{
this.TemplateUrl=`${href}?uid=${this.userInfo.EmployeeId}&ConfigId=${this.FeatureData.ConfigId}`
}
this.dialogPptistVisible = true
},
//重新加载行程特色
ReLoadFeature() {
if (this.$refs.UpgradedVersion != undefined) {
......@@ -555,6 +613,8 @@
}
},
mounted() {
window.addEventListener('message', this.handleMessage,false);
this.userInfo = this.getLocalStorage()
let userInfo = this.getLocalStorage()
this.CurrentUserInfo = userInfo
this.MsgBus.$on('FeatureDataFlag', () => {
......@@ -1661,5 +1721,49 @@
font-size: 16px;
color: #333333;
}
.dialogPptistVisible-box{
position: fixed;
z-index: 1000;
left: 0;
top: 0;
right: 0;
bottom: 0;
background: rgba(0, 0, 0, 0.4);
}
.closePptist-box{
position: fixed;
z-index: 1001;
left: 0;
right: 0;
top: 0;
height: 30px;
background: #fff;
border-bottom: 1px solid #eee;
}
.closePptist {
padding: 0 30px;
text-align: right;
margin: auto;
position: relative;
}
.closePptist i{
display: inline-block;
padding: 5px 10px;
font-size: 20px;
position: absolute;
right: 20px;
cursor: pointer;
}
.TemplateIframe{
border: none;
width: 100%;
height: calc(100vh - 30px);
background: rgb(243, 246, 251);
position: fixed;
z-index: 1002;
top: 30px;
left: 0;
right: 0;
bottom: 0px;
}
</style>
......@@ -57,7 +57,8 @@
:TeamType="TeamType" :IsOpenHotel="PostConfig.IsOpenHotel"></TravelDaysTripDirect>
<TravelFeature :TripColor="PostConfig.TripColor" :class="{'showOther':(TeamType==3)}" ref="TravelFeature"
id="thirdAnchor" @featureCallBack="getFeature" :FeatureData="FeatureData" :TeamType="TeamType"
:isNewConfig="isNewConfig" @unlockFormCommit="unlockFormCommit" :CurrentUserInfo="CurrentUserInfo">
:isNewConfig="isNewConfig" @unlockFormCommit="unlockFormCommit" :CurrentUserInfo="CurrentUserInfo"
@ConfigInfo="firstLoadConfigInfo">
</TravelFeature>
<!-- 地图 -->
<div id="thirdMap">
......@@ -303,6 +304,16 @@
};
},
methods: {
handleMessage(event,targetOrigin) {
console.log(event.data,'------',targetOrigin)
if(this.isPostMessage) return
if(event.data=='行程数据保存成功'){
this.isPostMessage = true
}
if(event.origin === targetOrigin){
}
},
/*获取行程特色内容对象*/
getFeature(featureObj) {
this.PostFeature = featureObj;
......
......@@ -671,6 +671,17 @@
<template slot="prepend">{{$t('sm.jihedidian')}}</template>
</el-input>
</el-form-item>
<el-form-item prop="EmergencyContact">
<el-input :placeholder="$t('pub.pleaseImport')" class="w290 ComSeat"
v-model="priceData.EmergencyContact">
<template slot="prepend">紧急联系人</template>
</el-input>
</el-form-item>
<el-form-item>
<el-input :placeholder="$t('pub.pleaseImport')" class="w460 ComSeat" v-model="priceData.GatherTag">
<template slot="prepend">{{$t('op.JHbiaoshi')}}</template>
</el-input>
</el-form-item>
<el-form-item>
<span class="TP_Sendprepend" style="margin-left:0;width:120px;">{{$t('sm.xiaoshouzt')}}</span>
<el-select class="w180" v-model="priceData.TCSaleState">
......@@ -678,11 +689,6 @@
</el-option>
</el-select>
</el-form-item>
<el-form-item>
<el-input :placeholder="$t('pub.pleaseImport')" class="w460 ComSeat" v-model="priceData.GatherTag">
<template slot="prepend">{{$t('op.JHbiaoshi')}}</template>
</el-input>
</el-form-item>
<el-form-item style="display:none;">
<el-input :placeholder="$t('pub.pleaseImport')" class="w460 ComSeat"
v-model="priceData.AirportService">
......@@ -1122,8 +1128,10 @@
ContractUrl: "",
ContractArray: [],
OutBranchId: 0,
EmergencyContact: "",
GatherTime: "",
GatherAddress: "",
GatherTag: "", //集合标识
AdImage: "",
YSeat: 0,
CSeat: 0,
......@@ -1151,7 +1159,7 @@
),
//删除的绑定的航班编号
DeleteAirticketIds: "",
GatherTag: "", //集合标识
AirportService: "", //机场服务
//可销售机票数量
CanSellTicketNum: 0,
......@@ -1211,6 +1219,7 @@
GatherAddress: '',
GatherTag: '',
GatherTime: '',
EmergencyContact: '',
Inventory: 0,
IsB2B: 0,
IsB2C: 0,
......@@ -1240,6 +1249,7 @@
VisaPrice: 0,
YSeat: 0,
OPRemark: "",
}
this.returnPriceList.push(obj);
})
......
......@@ -123,7 +123,7 @@ export default {
let ocrUrl = "http://192.168.10.214:8140";
// domainUrl = "http://192.168.10.238:8083"; // 刘东电脑
// domainUrl = "http://192.168.10.226"; //春姐
domainUrl = "http://192.168.10.68"; //奎哥
domainUrl = "http://192.168.10.214"; //奎哥
let crmLocalFileStreamDownLoadUrl = "";
crmLocalFileStreamDownLoadUrl = locationName.indexOf('oytour') !== -1 ? "http://crm.oytour.com" : "http://testcrm.oytour.com";
......@@ -172,9 +172,9 @@ export default {
//google地图图片地址
GoogleMapImageUrl: "http://imgfile.oytour.com",
//上传站点
UploadUrl: locationName.indexOf('oytour') !== -1 || locationName.indexOf('viitto') !== -1 ? "http://upload.oytour.com" : "http://192.168.10.214:8120",
UploadUrl: locationName.indexOf('oytour') !== -1 || locationName.indexOf('viitto') !== -1 ? "http://upload.oytour.com" : "http://192.168.10.68:8120",
//文件站点
ViittoFileUrl: locationName.indexOf('oytour') !== -1 || locationName.indexOf('viitto') !== -1 ? "http://imgfile.oytour.com" : 'http://192.168.10.214:8130',
ViittoFileUrl: locationName.indexOf('oytour') !== -1 || locationName.indexOf('viitto') !== -1 ? "http://imgfile.oytour.com" : 'http://192.168.10.68:8130',
javaUrl: locationName.indexOf('oytour') !== -1 || locationName.indexOf('viitto') !== -1 ? (locationName.indexOf('oytour') !== -1 ? "http://efficient.oytour.com" : "http://47.96.12.235:9001") : "http://192.168.10.123:9000",
javaUrlNew: locationName.indexOf('oytour') !== -1 || locationName.indexOf('viitto') !== -1 ? (locationName.indexOf('oytour') !== -1 ? "http://property.oytour.com" : "http://47.96.12.235:9001") : "http://192.168.10.123:9000",
//Java接口本站文件流下载地址
......@@ -261,8 +261,8 @@ export default {
if (this.$route.name.indexOf('login') === -1 && this.$route.name.indexOf('clientConfirm') === -1 &&
this.$route.name.indexOf('confirmationOrderDownLoadNew') === -1 && this.$route.name.indexOf('PrintPage') === -1 &&
this.$route.name.indexOf('TravelContractConfirm') === -1 && this.$route.name.indexOf('ViittoContractConfirm') === -1 &&
this.$route.name.indexOf('OrderProfitLossList') === -1 && this.$route.name.indexOf('clientProtocol') === -1
&& this.$route.name.indexOf('clientDisclaimerProtocol')===-1
this.$route.name.indexOf('OrderProfitLossList') === -1 && this.$route.name.indexOf('clientProtocol') === -1 &&
this.$route.name.indexOf('clientDisclaimerProtocol') === -1
) {
let previousPathInfo = {
path: this.$route.name,
......@@ -327,9 +327,7 @@ export default {
guestId: guestId,
}
})
}
else if(this.$route.path=="/clientDisclaimerProtocol")
{
} else if (this.$route.path == "/clientDisclaimerProtocol") {
let TCID = this.$route.query.TCID;
let OrderId = this.$route.query.OrderId;
let GuestId = this.$route.query.GuestId;
......@@ -341,8 +339,7 @@ export default {
GuestId: GuestId,
}
})
}
else if (this.$route.path == "/TravelContractConfirm") {
} else if (this.$route.path == "/TravelContractConfirm") {
let ContractId = this.$route.query.ContractId;
this.$router.push({
name: "TravelContractConfirm",
......@@ -1059,16 +1056,18 @@ export default {
},
//文件上传
Vue.prototype.uploadImg = function (path, base64Str, successCall, faildCall) {
var apiurl = this.domainManager().UploadUrl + '/Upload/UploadBase64Two?fileType=1&fileLimit=5&&filePath=' + path;
this.$http.post(apiurl, {
MyFile: base64Str
}, {
var apiurl = this.domainManager().UploadUrl + '/Upload/UploadBase64?fileType=1&fileLimit=5&&filePath=' + path;
var formData = new FormData();
formData.append("myfile", base64Str);
this.$http.post(apiurl, formData, {
headers: {
"Content-Type": "application/x-www-form-urlencoded;"
},
}).then(function (res) {
})
if (successCall) {
successCall(res)
}
}, faildCall);
},
//证件识别
Vue.prototype.UploadCard = function (type, base64Str, successCall, faildCall) {
......@@ -1170,13 +1169,13 @@ export default {
xhr.send();
});
getBlob.then(blob => {
if (window.navigator.msSaveOrOpenBlob) {
if (window.navigator.msSaveOrOpenBlob) {
navigator.msSaveBlob(blob, filename);
resultJson.resultCode = 1;
if (callBack) {
callBack(resultJson)
}
} else {
} else {
resultJson.resultCode = 1;
if (callBack) {
callBack(resultJson)
......
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