Commit 8f0e9e9b authored by liudong1993's avatar liudong1993
parents 481c2e48 01393804
......@@ -1910,7 +1910,11 @@
.quoTation ._right{flex: 1;align-items: center;display: flex;padding-left: 20px !important;border-left: 1px dashed #DCDFE6;}
.quoTation .Quo_Content{width:300px;display: inline-block;white-space: nowrap;overflow: hidden;text-overflow: ellipsis;margin-left:20px;}
.quoTation ._left{display: flex;flex: 1;align-items: center;border-right: 1px dashed #dddddd;padding-right: 20px;}
.quoTation ._left:first-child{
width: 160px;
flex: inherit;
flex-shrink: 0;
}
.QT_CodeNum{min-width:70px;margin-left: 10%;}
.quoTation ._cent{flex: 1;display: flex;align-items: center;}
.quoTation ._rightAudit{flex: 1;align-items: center;display: flex;padding-left: 20px !important;border-left: 1px dashed #DCDFE6;}
......
......@@ -153,7 +153,8 @@ html, body{
height: 0px;
border-bottom: 2px dashed red;
left: 0;
top: 1347px;
/* 1347 */
top: 1439px;
right: 0;
}
.UpgradedVersion2Line span{
......@@ -426,6 +427,10 @@ html, body{
-ms-border-radius: 14px;
-o-border-radius: 14px;
}
.travelDaysdetails-tsText p{
padding: 0;
margin: 0;
}
.travelDaysdetailsBJ {
border-radius: 100px;
padding: 20px 35px;
......
......@@ -24,10 +24,10 @@
<div :id="'travelDaysMasterMap_'+index" class="travelDaysMasterMap relative">
<div class="travelDaysMasterMap-one" :style="{'color':'#fff'}">
<div class="travelDaysMasterMap-oneImg bjF6" :id="'travelDaysImg_one'+index">
<img v-if="item.details&&item.details.length>0&&item.details[0].img&&item.details[0].img!=''"
class="absolute" :src="item.details[0].img">
<img v-else class="absolute"
:src="domainManager().ViittoFileUrl+'/Upload/DefalutImage/DMC/defaultairline.png'">
</div>
......@@ -58,7 +58,7 @@
<template v-for="(t,tIndex) in item.tips">
<div :key="tIndex" class="travelDaysdetails-tsTextBox" v-if="t.content&&getHtmlPlainText(t.content).length>0">
<div class="travelDaysdetails-tsText row" :style="{'background':backgroundColor2}">
<span class="travelDaysdetails-text0">温馨提示:</span>
<span class="travelDaysdetails-text0" style="float:left;">温馨提示:</span>
<span v-html="t.content"></span>
</div>
</div>
......@@ -135,7 +135,7 @@
},
getFontSize(title) {
let size = 30;
if (title.length > 80) {
if (title&&title.length>0&&title.length > 80) {
var tempSize = Number(80) / Number(title.length);
tempSize = tempSize * 30;
size = tempSize.toFixed(1);
......
......@@ -98,7 +98,7 @@
<div class="commonContent" v-loading="loading">
<ul class="_content">
<li v-for="item in dataList" :key="item.ID" style="padding:0 15px;">
<div class="Audit_left" style="width:140px">
<div class="Audit_left" style="width:160px">
<div slot="reference" v-if="item.TCNUMS" class="line1">
团号:{{item.TCNUMS}}
</div>
......@@ -120,7 +120,7 @@
<p class="quoListName" style="padding-right:20px;width:100%;">
<span>{{item.LineName}}</span>
</p>
<p class="Quo_Content" style="padding-right:20px;width:100%;" v-if="item.LtName">
<p class="Quo_Content" style="padding-right:20px;width:100%;" v-if="item.LtName">
<span>{{item.LtName}}</span>
</p>
<p class="Quo_Content" style="padding-right:20px;width:100%;">
......@@ -135,11 +135,11 @@
<span>{{item.Title}}</span>
</el-tooltip>
</p>
<p class="Quo_Content" style="padding-right:20px;width:100%;" v-if="item.CustomerName">
<p class="Quo_Content" style="padding-right:20px;width:100%;" v-if="item.CustomerName">
<span>{{item.CustomerName}}</span>
</p>
<p class="Quo_Content" style="padding-right:20px;width:100%;">
<span>出团公司:{{item.OutBranchName}}
<span>出团公司:{{item.OutBranchName}}
</span>
</p>
</div>
......
......@@ -80,7 +80,7 @@
<div class="commonContent" v-loading="loading">
<ul class="_content">
<li v-for="item in dataList" :key="item.ID" style="padding:0 15px;">
<div class="Audit_left" style="width:140px">
<div class="Audit_left" style="width:160px">
<div>
<span>编号:{{item.ID}}</span>
</div>
......
......@@ -668,6 +668,37 @@
<div class="TC_SeatList">{{$t('Airticket.Air_firstClass')}}:{{item.FSeat}}</div>
<div class="TC_SeatList">{{$t('Airticket.Air_businessClass')}}:{{item.CSeat}}</div>
<div class="TC_SeatList">{{$t('Airticket.Air_EconomyClass')}}:{{item.YSeat}}</div>
<div class="TC_SeatList" v-if="item.BindNum>0" style="color:red;">{{$t('Operation.Op_bindNum')}}:
{{item.BindNum}}</div>
<div class="TC_SeatList" v-if="item.TicketNum>0 && item.TicketList">
<el-popover width="550" trigger="click">
<table width="100%" class="singeRowTable" border="0" cellspacing="0" cellpadding="0">
<tr>
<th width="90" style="text-align:center;">{{$t('Operation.Op_bindNum')}}</th>
<th width="90" style="text-align:center;">{{$t('op.TicketNum')}}</th>
<th width="70" style="text-align:center;">{{$t('Operation.Op_price')}}</th>
<th width="70" style="text-align:center;">同业价</th>
<th width="70" style="text-align:center;">直客价</th>
<th width="130" style="text-align:center;">PNR</th>
<th width="130" style="text-align:center;">{{$t('op.CenterPNR')}}</th>
<th width="100" style="text-align:center;">{{$t('op.Tickets')}}</th>
</tr>
<tr v-for="(subItem,subIndex) in item.TicketList" :key="subIndex">
<td style="text-align:center;">{{subItem.BindNum}}</td>
<td style="text-align:center;">{{subItem.TicketNum}}</td>
<td style="text-align:center;">{{subItem.TicketPrice}}</td>
<td style="text-align:center;">{{subItem.B2BPrice}}</td>
<td style="text-align:center;">{{subItem.B2CPrice}}</td>
<td style="text-align:center;">{{subItem.PNR}}</td>
<td style="text-align:center;">{{subItem.MidpiecePNR}}</td>
<td style="text-align:center;">{{subItem.TicketCreateByName}}</td>
</tr>
</table>
<span slot="reference" title="点击查看详情" class="price"
style="cursor:pointer;color:red;text-decoration: underline;">{{$t('op.FlightToNum')}}:
{{item.TicketNum}}</span>
</el-popover>
</div>
<template v-if="item.AuditStatus==1">
<span class="AuditRedType">审核中</span>
</template>
......
<style>
/deep/.addBox .el-form-item{
width: 50% !important;
}
.user_time_picker .el-date-editor--date>.el-input__inner {
padding: 0 10px;
font-size: 13px;
......@@ -101,7 +104,8 @@
<input type="button" class="hollowFixedBtn" :value="$t('pub.searchBtn')" @click="resetPageIndex(),getList()">
&nbsp;
<input type="button"
@click="outerVisible = true,isleaveBtn=false,dialogTitle=$t('active.cl_addCoupon'),getCompany()"
@click="outerVisible = true,isleaveBtn=false,
dialogTitle=$t('active.cl_addCoupon'),getCompany(),getCouponPlatformEnum()"
class="normalBtn" :value="$t('pub.addBtn')">
</li>
</ul>
......@@ -183,7 +187,7 @@
<el-tooltip class="item" effect="dark" :content="$t('pub.updateMsg')" placement="top">
<el-button v-if="item.couponEffectStatus === 2 && item.couponStatus === 1" type="primary"
icon="el-icon-edit" circle
@click="outerVisible=true,dialogTitle=$t('pub.updateMsg'),updateData(item),getCompany()"></el-button>
@click="outerVisible=true,dialogTitle=$t('pub.updateMsg'),updateData(item),getCompany(),getCouponPlatformEnum()"></el-button>
</el-tooltip>
<el-tooltip class="item" effect="dark" :content="$t('active.cl_jyCoupon')" placement="top">
<el-button v-if="item.couponStatus !== 2" type="danger" icon="iconfont icon-jinyong" circle
......@@ -202,7 +206,7 @@
<el-button type="primary" icon="el-icon-edit" circle style="padding:6px;" @click="updateKucundialog=true">
</el-button>
</el-tooltip>
{{EditBtn}}
<el-tooltip class="item" effect="dark" content="修改" placement="top">
<el-button v-if="EditBtn" type="danger" icon="iconfont icon-xiugai" circle style="padding:4px;"
@click="outerVisible=true,EditItem(item)"></el-button>
......@@ -219,97 +223,102 @@
:total="total"></el-pagination>
<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="$t('system.table_company')" prop="branchId">
<el-select filterable class="w217" v-model="addMsg.branchId" :placeholder="$t('system.ph_choice')">
<el-option :label="$t('system.ph_buxian')" :value="-1" :key="-1"></el-option>
<el-option v-for="item in layerCompanyList" :label="item.BName" :value="item.Id" :key="item.Id">
</el-option>
</el-select>
</el-form-item>
</td>
<td>
<el-form-item :label="$t('active.cl_couponName')" prop="couponsName">
<el-input maxlength="20" class="w217" type="text" v-model="addMsg.couponsName"
:placeholder="$t('pub.pleaseImport')"></el-input>
</el-form-item>
</td>
</tr>
<tr>
<td>
<el-form-item :label="$t('advmanager.v_line')" prop="lineId">
<el-select filterable v-model="addMsg.lineId" @change="getLineTeamList(addMsg.lineId)">
<el-option :label="$t('pub.unlimitedSel')" :value="0"></el-option>
<el-option v-for="item in LineList" :label="item.LineName" :value="item.LineID" :key="item.LineID">
</el-option>
</el-select>
</el-form-item>
</td>
<td>
<el-form :model="addMsg" :rules="rules" ref="addMsg" label-width="100px"
class="addBox">
<el-row>
<el-col :span="12">
<el-form-item :label="$t('system.table_company')" prop="branchId">
<el-select filterable class="w217" v-model="addMsg.branchId" :placeholder="$t('system.ph_choice')">
<el-option :label="$t('system.ph_buxian')" :value="-1" :key="-1"></el-option>
<el-option v-for="item in layerCompanyList" :label="item.BName" :value="item.Id" :key="item.Id">
</el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item :label="$t('active.cl_couponName')" prop="couponsName">
<el-input maxlength="20" class="w217" type="text" v-model="addMsg.couponsName"
:placeholder="$t('pub.pleaseImport')"></el-input>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item :label="$t('advmanager.v_line')" prop="lineId">
<el-select filterable v-model="addMsg.lineId" @change="getLineTeamList(addMsg.lineId),getTravelPrciePageList()">
<el-option :label="$t('pub.unlimitedSel')" :value="0"></el-option>
<el-option v-for="item in LineList" :label="item.LineName" :value="item.LineID" :key="item.LineID">
</el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item :label="$t('advmanager.v_xilie')" prop="lineteamId">
<el-select filterable v-model="addMsg.lineteamId">
<el-select filterable v-model="addMsg.lineteamId"
@change="getTravelPrciePageList">
<el-option :label="$t('pub.unlimitedSel')" :value="0"></el-option>
<el-option v-for="item in LineTeamList" :label="item.LtName" :value="item.LtID" :key="item.LtID">
</el-option>
</el-select>
</el-form-item>
</td>
</tr>
<tr>
<td>
</el-col>
<el-col :span="12">
<el-form-item :label="$t('active.cl_couponType')" prop="couponsType">
<el-select filterable v-model="addMsg.couponsType" @change="addMsg.denomination = ''">
<el-option :label="$t('active.cl_dyquan')" :value="1"></el-option>
<el-option :label="$t('active.cl_zkquan')" :value="2"></el-option>
</el-select>
</el-form-item>
</td>
<td>
</el-col>
<el-col :span="12">
<el-form-item :label="$t('active.cl_yhqmiane')" prop="denomination">
<el-input @input="maxValue" maxlength="20" class="w217" type="number" v-model="addMsg.denomination"
:placeholder="$t('active.cl_dkjezk')"></el-input>
</el-form-item>
</td>
</tr>
<tr>
<td>
</el-col>
<el-col :span="12">
<el-form-item :label="$t('active.cl_couponNum')" prop="couponCount">
<el-input v-model="addMsg.couponCount" class="w217" type="number" />
</el-form-item>
</td>
<td>
</el-col>
<el-col :span="12">
<el-form-item :label="$t('active.cl_sytiaojian')" prop="useCondition">
<el-input v-model="addMsg.useCondition" class="w217" :placeholder="$t('active.cl_mdskeyong')" />
</el-form-item>
</td>
</tr>
<tr>
<td>
</el-col>
<el-col :span="12">
<el-form-item :label="$t('active.cl_sxriqi')" prop="effectDate">
<el-date-picker value-format="yyyy-MM-dd HH:mm:ss" class="w217" v-model="addMsg.effectDate"
@change="getTravelPrciePageList"
type="datetime"></el-date-picker>
</el-form-item>
</td>
<td>
</el-col>
<el-col :span="12">
<el-form-item :label="$t('active.cl_yxjzhiri')" prop="expirationDate">
<el-date-picker value-format="yyyy-MM-dd HH:mm:ss" class="w217" v-model="addMsg.expirationDate"
@change="getTravelPrciePageList"
type="datetime"></el-date-picker>
</el-form-item>
</td>
</tr>
<tr>
<td>
</el-col>
<el-col :span="12">
<el-form-item label="选择团" prop="">
<el-select filterable multiple v-model="addMsg.couponPriceLists"
placeholder="请先选择线路、系列及日期" class="w217"
:disabled="queryCommonData.dataList.length==0"
@change="getcouponPriceList">
<el-option
v-for="(item,index) in queryCommonData.dataList"
:label="item.TCNUM+'('+item.TCID+')'" :value="item.TCID" :key="index"></el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item :label="$t('active.cl_djshiyong')" prop="overlapUse">
<el-select filterable v-model="addMsg.overlapUse" class="w217">
<el-option :label="$t('active.cl_byxu')" :value="0"></el-option>
<el-option :label="$t('active.cl_yuncu')" :value="1"></el-option>
</el-select>
</el-form-item>
</td>
<td>
</el-col>
<el-col :span="12">
<el-form-item :label="$t('admin.admin_status')">
<el-select filterable v-model="addMsg.couponStatus">
<el-option :label="$t('pub.normalSel')" :value="1"></el-option>
......@@ -317,10 +326,8 @@
<el-option :label="$t('active.cl_zuofei')" :value="3"></el-option>
</el-select>
</el-form-item>
</td>
</tr>
<tr>
<td>
</el-col>
<el-col :span="12">
<el-form-item :label="$t('active.cl_syfanwei')">
<el-select filterable v-model="addMsg.couponsUseScope">
<el-option :label="$t('active.cl_tongyong')" :value="1"></el-option>
......@@ -333,21 +340,35 @@
<el-option :label="$t('MarketingActi.local')" :value="8"></el-option>
</el-select>
</el-form-item>
</td>
<td>
</el-col>
<el-col :span="12">
<el-form-item :label="$t('MarketingActi.huangoujia')">
<el-input v-model="addMsg.redemptionPrice" class="w217" :placeholder="$t('pub.pleaseImport')" />
</el-form-item>
</td>
</tr>
<tr>
<td>
</el-col>
<el-col :span="12">
<el-form-item :label="$t('hotel.hotel_remark')">
<el-input v-model="addMsg.remark" class="w217" :placeholder="$t('pub.pleaseImport')" />
</el-form-item>
</td>
</tr>
</table>
</el-col>
<el-col :span="12">
<el-form-item label="使用平台" prop="OpenPlatformList">
<el-select filterable class="w217" :multiple="true" v-model="addMsg.openPlatformList" :placeholder="$t('system.ph_choice')">
<el-option :label="$t('system.ph_buxian')" :value="0" :key="0"></el-option>
<el-option v-for="item in CouponPlatformEnumList" :label="item.Name" :value="item.ID" :key="item.ID">
</el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="是否自动发放" prop="OpenPlatformList">
<el-select filterable class="w217" v-model="addMsg.autoGrant" :placeholder="$t('system.ph_choice')">
<el-option label="不自动发放" :value="0" :key="0"></el-option>
<el-option label="完款后自动发放" :value="1" :key="1"></el-option>
</el-select>
</el-form-item>
</el-col>
</el-row>
</el-form>
<div slot="footer" class="dialog-footer">
<button class="hollowFixedBtn"
......@@ -375,6 +396,37 @@
export default {
data() {
return {
queryCommonData:{
loading: false,
dataList: []
},
tripDataList: [],
//查询团参数
queryMsg: {
pageIndex: 1,
pageSize: 50,
LineId: "-1",
LineTeamId: "-1",
AimPlaceId: "-1",
TCID: "",
StartTime: "",
EndTime: "",
BranchId: "-1",
CityId: "-1",
DaysTrip: "",
SalePlat: [],
minGroupSize: "",
maxGroupSize: "",
minApplySize: "",
maxApplySize: "",
FlightID: "-1",
TCIDList: "",
WarningQuery: "-1",
RateOnDay: "-1",
RateOn: "-1",
Title: "", //团名
},
leaveBtn: "",
leaveId: "",
loading: true,
......@@ -438,6 +490,11 @@
message: this.$t('rule.qsryhqshuliang'),
trigger: "blur"
}],
couponPriceLists: [{
required: true,
message: '请选择团',
trigger: "change"
}]
},
addMsg: {
couponsName: "",
......@@ -457,6 +514,10 @@
couponStatus: 1,
redemptionPrice: '',
remark: "",
autoGrant:"",
openPlatformList:[],
couponPriceLists:[],
couponPriceList: [],
},
pwdMsg: {
Id: "",
......@@ -471,6 +532,7 @@
DataList: [],
groupList: [],
layerCompanyList: [],
CouponPlatformEnumList: [],
companyList: [],
layerDepartMentList: [],
departMentList: [],
......@@ -488,15 +550,60 @@
let userInfo = this.getLocalStorage();
this.groupId = this.msg.groupId = this.getCompanyMsg.RB_Group_Id = this.addMsg.groupId = userInfo
.RB_Group_id; //集团
this.msg.branchId = userInfo.RB_Branch_id; //公司
this.msg.branchId = userInfo.RB_Branch_id; //公司
this.GetAuth();
this.getList();
this.getCompany();
this.getCouponPlatformEnum();
this.getLineList();
},
filters: {},
methods: {
getcouponPriceList(){
this.addMsg.couponPriceList = []
this.addMsg.couponPriceLists.forEach(item=>{
this.queryCommonData.dataList.forEach(dataItem=>{
if(item==dataItem.TCID) {
let obj = {
TCID: dataItem.TCID,
TCNUM: dataItem.TCNUM
}
this.addMsg.couponPriceList.push(obj)
}
});
})
},
getTravelPrciePageList(){
console.log("getTravelPrciePageList111",this.addMsg);
this.queryCommonData.loading = true;
this.queryMsg.LineId = this.addMsg.lineId
this.queryMsg.LineTeamId = this.addMsg.lineteamId
this.queryMsg.StartTime = this.addMsg.effectDate
this.queryMsg.EndTime = this.addMsg.expirationDate
this.apipost(
"TaskManagemnet_get_GetSellProductCenter",
this.queryMsg,
res => {
this.queryCommonData.loading = false;
console.log("getTravelPrciePageList",this.queryMsg);
if (res.data.resultCode == 1) {
this.queryCommonData.dataList = res.data.data.pageData;
console.log("addMsg.couponPriceList11", this.addMsg.couponPriceList);
if( this.addMsg.couponPriceList&& this.addMsg.couponPriceList.length>0){
this.addMsg.couponPriceList.forEach(item=>{
console.log("item",item);
this.addMsg.couponPriceLists.push(item.tcid);
})
console.log("item.couponPriceLists", this.addMsg.couponPriceLists);
}
console.log(this.queryCommonData.dataList,'----')
}
},
err => {}
);
},
GetAuth() {
var actionCode = this.$AuthCode.EidtCoupon;
this.CheckUserAuth(actionCode, res => {
......@@ -506,11 +613,17 @@
});
},
EditItem(item) {
this.addMsg = Object.assign({}, item);
if(item.couponPriceLists||item.lineId||item.lineteamId||item.effectDate||item.expirationDate){
this.getTravelPrciePageList()
}
},
//点击确定修改库存
sureUpdatekucun() {
this.apiJavaPost("/api/appActivity/updateCouponStock", this.upDateKcMsg, res => {
this.apipost("coupon_post_UpdateCouponCount", this.upDateKcMsg, res => {
if (res.data.resultCode === 1) {
this.Success(res.data.message);
this.updateKucundialog = false;
......@@ -533,10 +646,22 @@
err => {}
);
},
getCouponPlatformEnum() {
this.apipost(
"coupon_post_GetCouponPlatformEnum",
this.getCompanyMsg,
res => {
if (res.data.resultCode == 1) {
this.CouponPlatformEnumList = res.data.data;
} else {}
},
err => {}
);
},
getList() {
//获取数据
this.loading = true
this.apiJavaPost("/api/sell/coupon/getCouponsList", this.msg, res => {
this.apipost("coupon_post_GetPageList", this.msg, res => {
if (res.data.resultCode === 1) {
this.total = res.data.data.count
this.DataList = res.data.data.pageData;
......@@ -570,7 +695,7 @@
return this.$message.error(this.$t('rule.yxjzrbxdyksshijian'))
}
this.isleaveBtn = false;
this.apiJavaPost("/api/sell/coupon/setCoupon", this.addMsg, res => {
this.apipost("coupon_post_SetCouponModel", this.addMsg, res => {
if (res.data.resultCode == 1) {
this.$message.success(res.data.message);
this.outerVisible = false;
......@@ -627,7 +752,8 @@
this.addMsg.couponStatus = item.couponStatus
this.addMsg.redemptionPrice = item.redemptionPrice
this.addMsg.remark = item.remark
this.addMsg.autoGrant= item.autoGrant
this.addMsg.openPlatformList= item.openPlatformList
this.isleaveBtn = true;
},
// 删除
......@@ -646,7 +772,7 @@
cancelButtonText: this.$t('pub.cancelBtn'),
type: 'warning'
}).then(() => {
this.apiJavaPost("/api/sell/coupon/updateCouponStatus", {
this.apipost("coupon_post_Forbidden", {
couponId: item.id,
status: status,
}, res => {
......
......@@ -905,12 +905,12 @@
if (jin.length > 0) {
details = jin
} else if (dadian.length > 0) {
if ( dadian[0].img == '' && jiao[0].img != '') {
if (dadian[0].img && dadian[0].img == '' && jiao[0].img && jiao[0].img != '') {
dadian[0].img = jiao[0].img;
}
details = dadian;
} else if (jiao.length > 0) {
if (j == this.tripList.length - 1) {
let obj = {
title: '温暖的家',
......
......@@ -99,10 +99,10 @@
</template>
</el-table-column>
</el-table>
<div class="combottomDiv OPremarkDiv" v-if="changePriceMsg.outerVisible" style="height: 500px;">
<div class="combottomDiv OPremarkDiv" v-if="changePriceMsg.outerVisible" style="height: 600px;">
<div class="combottomTitle" v-if="changePriceMsg.DialogType==0">应收总金额改价审核</div>
<div class="combottomTitle" v-else>改价详情</div>
<div slot="footer" class="dialog-footer" style="float: right;margin-right: 40%;position: relative; z-index: 1;">
<div slot="footer" class="dialog-footer" style="float: right;margin-right: 5%;position: relative; z-index: 1;">
<button class="hollowFixedBtn" @click="changePriceMsg.outerVisible = false">{{$t('pub.cancelBtn')}}</button>
<button class="normalBtn" v-if="changePriceMsg.DialogType==0" type="primary" @click="setChangePrice">{{$t('pub.sureBtn')}}</button>
</div>
......@@ -130,7 +130,7 @@
</el-row>
</el-form>
<div class="combottomTitle" >订单详情</div>
<div style="width: 100%; height: auto; overflow-x: auto" class="ownScrollbarStyle">
<div style="width: 100%; height: auto; overflow-x: auto" class="ownScrollbarStyle" v-if="changePriceMsg.OrderType==2">
<table class="groupTourOrderSearchTable" border="0" cellspacing="0" cellpadding="0" >
<tr>
<th width="240">{{ $t("fnc.danhao") }}&{{ $t("visa.v_tuanhao") }}</th>
......@@ -154,7 +154,7 @@
<th width="80">{{ $t("Operation.Op_daishou") }}</th>
<th width="80">{{ $t("admin.admin_status") }}</th>
<th width="120">{{ $t("salesModule.QRH") }}</th>
<th width="200">{{ $t("system.table_operation") }}</th>
<!-- <th width="200">{{ $t("system.table_operation") }}</th> -->
</tr>
<tr>
<td v-show="list.length == 0" colspan="19" align="center">
......@@ -313,13 +313,13 @@
<th>{{ $t("salesModule.Type") }}</th>
<th>{{ $t("hotel.hotel_status") }}</th>
</tr>
<tr v-if="List.length > 0" v-for="(item2, index2) in List" :key="index2">
<tr v-if="list.length > 0" v-for="(item2, index2) in list" :key="index2">
<td>{{ item2.FrID }}</td>
<td>{{ item2.PayMoney }}</td>
<td>{{ item2.TypeName }}</td>
<td>{{ item2.StatusName }}</td>
</tr>
<tr v-if="List.length == 0">
<tr v-if="list.length == 0">
<td colspan="4" align="center">
{{ $t("system.content_noData") }}
</td>
......@@ -459,192 +459,10 @@
<br />
<p style="color:red;font-size:12px;">申请发票需要上传确认函</p>
</td>
<td class="groupTourOrderIcon">
<el-button-group v-if="item.commissionSharePeople !== userId">
<el-tooltip class="item" effect="dark" :content="$t('pub.updateMsg')" placement="top-start">
<el-button v-if="
item.isOrder == '1' &&
item.isHaveFinance != '1' &&
item.orderState != '1' &&
item.orderState != '4'
" type="primary" style="background: #00c6ff; border-color: #00c6ff"
icon="iconfont icon-bianji-smal" @click="getDetail(item)"></el-button>
</el-tooltip>
<el-tooltip class="item" effect="dark" :content="$t('salesModule.UpRemarks')" placement="top-start">
<el-button type="primary" style="background: green; border-color: green"
icon="iconfont icon-bianji-smal" @click="getRemarks(item)"></el-button>
</el-tooltip>
<el-tooltip effect="dark" :content="$t('fnc.rizhi')" placement="top-start" style="float: left">
<el-popover width="230" trigger="click">
<div class="priceContentDiv">
<div class="AuditLog">{{ $t("fnc.rizhi") }}</div>
<div class="logContact" style="background: #f9f9f9; padding: 20px 10px 0">
<div v-if="logList.length > 0" v-for="(item, index) in logList" :key="index">
<div class="clearfix">
<div class="Auditcircle" style="left: 6px !important"></div>
<div class="operateName" style="color: #005caa">
{{ item.emName }}
</div>
<div class="operateDate fz12 color666">
{{ item.x }}
</div>
</div>
<div class="fz12 color333">{{ item.logInfo }}</div>
</div>
<div v-if="logList.length == 0">
{{ $t("system.content_noData") }}
</div>
</div>
</div>
<el-button slot="reference" @click="getLogDetail(item)" type="primary" style="
background: #47bf8c;
border-color: #47bf8c;
border-top-right-radius: 0;
border-bottom-right-radius: 0;
" icon="iconfont icon-rizhi1"></el-button>
</el-popover>
</el-tooltip>
<el-tooltip effect="dark" :content="$t('pub.more')" placement="top-start" style="float: left">
<el-popover width="100" trigger="hover">
<div class="groupTourOrder_more">
<div @click="goUrlT('confirmationOrder', item.orderId)">
{{ $t("salesModule.QRH")
}}{{
item.operationState === 2
? "(拒绝)"
: item.operationState === 1
? "(通过)"
: item.operationState === 0
? "(待审核)"
: ""
}}
</div>
<div v-if="isEditOrderCreate == 1" @click="getSalerInfo(item)">
{{ $t("salesModule.UpdateYWY") }}
</div>
<template v-if="item.lineId==90">
<div v-if="item.outNotice == 1" @click="toTrip(item)">
{{ $t("Operation.Op_teamNotice")
}}<span v-if="item.outNotice == 1">(OK)</span><span v-else>({{ $t("visa.v_zanding") }})</span>
</div>
</template>
<template v-else>
<div v-if="item.outNotice == 1" @click="toTrip(item)">
{{ $t("Operation.Op_teamNotice")
}}<span v-if="item.outNotice == 1">(OK)</span><span v-else>({{ $t("visa.v_zanding") }})</span>
</div>
</template>
<div v-if="item.orderState != '4'" @click="goUrlP('旅客名单', 'passengerSaleList', item)">
{{ $t("salesModule.LKMD") }}
</div>
<div v-if="
item.isOrder == '1' &&
(item.isHaveFinance == '1' || item.orderState == '1')
" @click="getHouse(item)">
{{ $t("salesModule.UpdateRoom") }}
</div>
<div v-if="
item.isOrder == '1' &&
item.orderState != '4' &&
TransferMission == true
" @click="transfer(item)">
{{ $t("salesModule.OrderGroup") }}
</div>
<div v-if="item.orderState == '1' || item.orderState == '2'" @click="setChargeLoss(item)">
<span v-if="item.isChargeLossOrders == 1">{{
$t("salesModule.LossSheet")
}}</span>
<span v-else>{{ $t("salesModule.LossReceipt") }}</span>
</div>
<!-- item.confirmFileList.length>0 && ((item.receivableMoney - item.invoiceApplyTotal) > 0) -->
<div v-if="
(item.confirmFileList.length > 0 ||
item.contractNum.length > 0) &&
item.receivableMoney - item.invoiceApplyTotal > 0 &&
(qjGroupId == userInfo.RB_Group_id ||
F_InvoiceManagement)
" @click="
goUrlAdd(
'invoicesManagerAdd',
item.orderId,
item.tcid,
item.customerId,
1
)
">
{{ $t("salesModule.ApplyInvoice") }}
</div>
<div @click="
Discount(item.tcid),
(SOMsg.OrderId = item.orderId),
(SOMsg.OrderUnitPrice = item.unit_Price)
">
{{ $t("pub.ApplyYH") }}
</div>
<div v-if="
qjGroupId == userInfo.RB_Group_id || F_Finance_Create
" @click="ShenQingPhoto(item)">
{{ $t("salesModule.ApplyPhoto") }}
</div>
<div v-if="
item.isOrder == '1' &&
(item.orderState == '1' ||
item.orderState == '2' ||
item.orderState == '3') &&
item.isCanClear == 0
" @click="deleteItem(item)">
{{ $t("pub.cancelBtn") }}
</div>
<div @click="
SpecialAPP(
item.tcid,
item.orderId,
item.orderspecialofferId
)
">
特价申请函
</div>
<div v-if="
item.isOrder == '1' &&
(item.orderState == '1' ||
item.orderState == '2' ||
item.orderState == '3') &&
item.isCanClear == 1
" title="如需取消订单清联系OP" style="color: red">
{{ $t("salesModule.OrderSured") }}
</div>
<div v-if="item.scoreNum >= 0" @click="
goInvetig(
'investigationList',
item.tcid,
item.orderId
)
">
{{ $t("salesModule.LookTourse") }}
</div>
</div>
<el-button slot="reference" type="primary" style="
background: #297bef;
border-color: #297bef;
border-top-left-radius: 0;
border-bottom-left-radius: 0;
" icon="iconfont icon-more"></el-button>
</el-popover>
</el-tooltip>
</el-button-group>
<payurlItem v-if="
item.commissionSharePeople !== userId && item.airConfirm != 2
" :item="item" :showID="showID" :photoF="item.photoNum > 0" v-show="
item.orderState != '4' &&
item.orderState != '3' &&
(qjGroupId == userInfo.RB_Group_id || F_Finance_Create)
" v-on:childByValue="childByValue"></payurlItem>
</td>
</tr>
<tr style="height: 20px">
<td colspan="18" class="RL_Order" style="height: 20px">
<td colspan="17" class="RL_Order" style="height: 20px">
<span class="RL-remarkTitle" v-if="item.guestList.length > 0">{{ $t("salesModule.MD") }}:</span>
<span class="RL-redType RL-remarkCon" v-if="item.guestList.length > 0">
<span v-for="childItem in item.guestList" style="color: blue">{{ childItem.userName }}
......@@ -678,13 +496,12 @@
" v-for="(id, i) in item.tipFrId" :key="i">{{ id }}</span>
</span>
</div>
<div v-if="item.otherContractList&&(qjGroupId == userInfo.RB_Group_id || F_ContractManagement)">
<div v-if="item.otherContractList">
<span class="GO_Contract"
@click="goSingleContract(item)">{{item.otherContractList.length==0?"单项合同":"查看单项合同"}}</span>
</div>
<div v-if="
item.contractNum.length == 0 &&
(qjGroupId == userInfo.RB_Group_id || F_ContractManagement)
item.contractNum && item.contractNum.length == 0
">
<span class="GO_Contract" @click="goContract(item, {})">出境合同</span>
......@@ -877,7 +694,10 @@
S_CheckBranchOrder: false,
S_CheckAllOrder: false,
userInfo: {},
userId:0,
list: [],
redBagList: [],
logList: [],
changePriceMsg:{
ID:0,
OrderId:0,
......@@ -1138,9 +958,48 @@
}
}
,getRedBag(item) {
let msg = {
CustomerId: item.customerId,
pageIndex: 1,
pageSize: 4,
};
if (item.customerId) {
this.apipost(
"customer_post_GetC_BigRedEnvelopeInfoList",
msg,
(res) => {
this.happy = true;
if (res.data.resultCode == 1) {
this.redBagList = res.data.data.pageData;
} else {}
},
(err) => {}
);
} else {
this.redBagList = [];
}
},
getLogDetail(obj) {
this.apipost(
"sellorder_post_GetOrderLogList", {
ID: obj.orderId,
},
(res) => {
if (res.data.resultCode == 1) {
this.logList = res.data.data;
this.logList.forEach((item) => {
item["x"] = this.$commonUtils.formatMsgTime(item.updateDate);
});
}
},
(err) => {}
);
},
},
mounted() {
let userInfo = this.getLocalStorage();
this.userId = this.getLocalStorage().EmployeeId;
let ActionMenuCode = userInfo.ActionMenuCode;
this.userInfo = this.getLocalStorage();
// 判断是否销售
......@@ -1458,4 +1317,683 @@
text-align: center;
}
.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 tbody tr:last-child {
border-bottom: 2px solid #333;
}
.groupTourOrderSearchTable tr:first-child td:first-child {
border-bottom: 2px solid #333;
}
.groupTourOrderSearchTable tr th {
background: #e6e6e6;
height: 30px;
font-size: 12px;
text-align: center;
border-top: 1px solid #cccccc;
border-left: 1px solid #cccccc;
}
.groupTourOrderSearchTable tr {
background: #fff;
text-align: left;
}
.groupTourOrderSearchTable tr td {
height: 60px;
padding: 10px;
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;
}
.personNolayer p {
height: 28px;
line-height: 28px;
padding-left: 15px;
}
.personNolayer p>span {
font-size: 12px;
color: #333;
margin-right: 15px;
}
.personNolayer table {
padding: 10px 0 0 20px;
width: 100%;
background-color: #ededed;
border-collapse: collapse;
border: 1px solid #d2d2d2;
font-size: 12px;
}
.personNolayer table th {
background-color: #ededed;
height: 34px;
text-indent: 15px;
}
.personNolayer table td {
background-color: #ffffff;
padding: 9px 15px;
color: #333333;
border: 1px solid #d2d2d2;
}
.personNolayer table ._color_666 {
color: #666666;
}
.personNolayer table tr._color_666 th {
padding: 9px 15px;
}
.groupSuperSearchLayer>p {
padding: 20px 0;
font-size: 14px;
color: #333;
font-weight: bold;
}
.groupSuperSearchLayerTable {
font-size: 12px;
color: #666;
}
.groupSuperSearchLayerTable tr {
height: 50px;
}
.groupSuperSearchLayerTable td {
padding-right: 15px;
}
.groupTourOrderIcon button {
width: 30px;
height: 30px;
border-radius: 4px;
}
.groupTourOrderIcon .el-button--primary {
padding: 5px;
margin: 0;
font-size: 14px !important;
}
.groupTourOrderIcon .el-button+.el-button {
margin-left: 0 !important;
}
.productQuerybottomLayer {
overflow: auto;
position: fixed;
z-index: 50;
bottom: 0;
left: 0;
border-top: 3px solid #38425d;
background-color: #ffffff;
padding: 10px 10px 0;
width: 100%;
}
.productQuerybottomLayer .el-form-item__label {
font-size: 12px !important;
}
.productQuerybottomLayer>p {
border-left: 3px solid #e95252;
text-indent: 15px;
height: 16px;
font-family: "PingFangSc-Fine";
font-size: 16px;
margin-bottom: 20px;
line-height: 14px;
color: #000;
}
.productQuerybottomLayer .el-input-number {
width: auto !important;
}
.groupTourOrder_count_green {
color: #1bc594;
}
.groupTourOrder_count_blue {
color: #4d7afd;
}
.groupTourOrder_count_yellow {
color: #ff9c00;
}
.groupTourOrder_count_gray {
color: #999999;
}
.groupTourOrder_count {
margin: 0 0 20px 0;
width: 100%;
height: auto;
}
.groupTourOrder_count_col {
height: 80px;
}
.groupTourOrder_count_item {
font-weight: 400;
padding: 10px;
height: 100%;
border: 1px solid #e6e6e6;
background-color: #ffffff;
color: #333333;
}
.groupTourOrder_count_item>div>i {
font-size: 12px;
vertical-align: bottom;
}
.groupTourOrder_count_item>div>span:nth-child(2) {
font-size: 14px;
vertical-align: bottom;
}
.groupTourOrder_count_item>div>span:nth-child(3) {
font-weight: bold;
font-size: 16px;
vertical-align: bottom;
}
.groupTourOrder_count_item>p {
font-size: 12px;
line-height: 18px;
}
.groupTourOrder_count_item>p>span {
margin: 0 5px 0 0;
white-space: nowrap;
}
.groupTourOrder_more {
margin: 0 -12px;
}
.groupTourOrder_more>div {
width: 100%;
height: 30px;
line-height: 30px;
text-align: center;
font-size: 12px;
color: #333333;
background-color: #ffffff;
cursor: pointer;
}
.groupTourOrder_more>div:hover {
color: #297bef;
background-color: #dcebff;
}
.groupTourOrder_remarks {
font-size: 0px;
}
.groupTourOrder_remarks>div {}
.groupTourOrder_remarks>div>div:nth-child(1) {
float: left;
display: flex;
align-items: flex-start;
}
.groupTourOrder_remarks>div>div:nth-child(1)>span {
line-height: 20px;
font-size: 12px;
color: #e95252;
white-space: nowrap;
}
.groupTourOrder_remarks>div>div:nth-child(1)>p {
line-height: 20px;
font-size: 12px;
color: #e95252;
}
.groupTourOrder_remarks>div>div:nth-child(2) {
float: right;
text-align: right;
font-size: 12px;
color: #e95252;
}
.groupTourOrder_remarks>div>div:nth-child(2)>i {
font-size: 10px;
cursor: pointer;
}
.groupTourOrder_remarks>div::after {
display: block;
clear: both;
content: "";
visibility: hidden;
height: 0;
}
.groupTourOrder_remarks_btn {
padding: 0px;
width: 12px;
height: 12px;
border: none;
background-color: transparent;
}
.groupTourOrder_remarks_btn>i {
color: #e95252;
font-size: 12px;
}
.groupTourOrder_remarks_popover>div {
display: inline-block;
font-size: 14px;
color: #000000;
}
.groupTourOrder_remarks_popover>div::before {
content: "";
display: inline-block;
margin: 0 5px 0 0;
width: 2px;
height: 12px;
background-color: #e95252;
}
.groupTourOrder_remarks_popover>span {
display: block;
margin: 0 0 0 0;
width: 100%;
text-align: center;
font-size: 12px;
color: #000000;
}
.groupTourOrder_remarks_popover>p {
margin: 5px 0 0 0;
padding: 3px;
width: 100%;
max-height: 300px;
overflow-y: auto;
font-size: 12px;
color: #000000;
}
.groupTourOrder_remarks_popover>p:nth-child(even) {
background-color: #e6e6e6;
}
.groupTourOrder_remarks_popover>p>span:nth-child(1) {
float: left;
}
.groupTourOrder_remarks_popover>p>span:nth-child(2) {
margin: 0 10px 0 0;
float: right;
}
.groupTourOrder_remarks_popover>p::after {
display: block;
clear: both;
content: "";
visibility: hidden;
height: 0;
}
.groupTourOrder_tickets>div {
display: table;
}
.groupTourOrder_tickets>div>div {
display: table-cell;
cursor: pointer;
}
.groupTourOrder_tickets>div>div:nth-child(1) {
width: 80px;
}
.groupTourOrder_tickets>div>div>span {
display: inline-block;
margin: 0 10px 0 0;
}
.groupTourOrder_tickets_red {
color: #ff0000;
text-decoration: underline;
}
.groupTourOrder_tickets_blue {
color: #0000ff;
text-decoration: underline;
}
.groupTourOrder_tickets_green {
color: #008000;
text-decoration: underline;
}
.groupTourOrder_tickets_black {
color: #000000;
text-decoration: underline;
}
.groupTourOrderByTuan_ico {
margin: 0 10px 0 0;
}
.groupTourOrderByTuan_ico>i {
display: inline-block;
margin: 0 2px 0 0;
width: 8px;
height: 8px;
border-radius: 2px;
vertical-align: middle;
}
.groupTourOrderByTuan_ico>span {
vertical-align: middle;
}
/* 出团通知书打印选择 */
.travelControlTripLayer {
position: fixed;
z-index: 99;
width: 100%;
height: 100%;
background: rgba(0, 0, 0, 0.3);
left: 0;
top: 0;
}
.travelControlTripLayerCont {
position: absolute;
left: 50%;
margin-left: -300px;
background: #fff;
top: 50%;
margin-top: -180px;
width: 600px;
}
.travelControlTripLayerCont>div {
padding: 0 30px;
}
.travelControlTripLayerCont>div label {
cursor: pointer;
vertical-align: middle;
}
.travelControlTripLayerCont>div label input {
vertical-align: middle;
}
.travelControlTripBtn {
color: #fff;
width: 90px;
height: 30px;
background: #e95252;
border: 1px solid #e95252;
cursor: pointer;
border-radius: 15px;
margin-left: 10px;
}
.travelControlTripLayer input[type="checkbox"]+label::before {
content: "\A0";
display: inline-block;
width: 15px;
height: 15px;
margin-right: 5px;
border-radius: 4px;
background-color: white;
text-indent: 0.15em;
line-height: 15px;
color: white;
border: 1px solid #e95252;
}
.travelControlTripLayer input[type="checkbox"]:checked+label::before {
content: "\2713";
background-color: #e95252;
}
.travelControlTripLayer input[type="checkbox"] {
position: absolute;
clip: rect(0, 0, 0, 0);
}
.travelControlTripLayer input[type="checkbox"]:focus+label::before {
box-shadow: none;
}
.travelControlTripLayer input[type="checkbox"]:disabled+label::before {
background-color: gray;
box-shadow: none;
color: #555;
}
.groupTourOrder_transfer {
position: fixed;
z-index: 50;
bottom: 0;
left: 50px;
padding: 10px 10px;
width: 100%;
min-width: 1366px;
min-height: 200px;
border-top: 3px solid #38425d;
background-color: #ffffff;
overflow-y: auto;
}
.groupTourOrder_transfer>.transfer_header {
position: relative;
width: 100%;
height: 30px;
}
.groupTourOrder_transfer>.transfer_header>div:nth-child(1) {
display: inline-block;
padding: 0 10px;
width: 200px;
height: 30px;
line-height: 30px;
border-left: 3px solid #e95252;
text-indent: 10px;
font-size: 16px;
color: #000000;
}
.groupTourOrder_transfer>.transfer_header>div:nth-child(2) {
position: absolute;
top: 0px;
right: 80px;
height: 30px;
}
.groupTourOrder_transfer>.transfer_header>div:nth-child(2)>div:nth-child(1) {
display: inline-block;
padding: 0 15px;
height: 30px;
line-height: 28px;
font-size: 14px;
color: #e95252;
border: 1px solid #e95252;
background: #fff;
border-radius: 15px;
cursor: pointer;
vertical-align: top;
}
.groupTourOrder_transfer>.transfer_header>div:nth-child(2)>div:nth-child(2) {
display: inline-block;
margin: 0 0 0 10px;
padding: 0 15px;
height: 30px;
line-height: 28px;
font-size: 14px;
color: #fff;
border: 1px solid #e95252;
background: #e95252;
border-radius: 15px;
cursor: pointer;
vertical-align: top;
}
.groupTourOrder_transfer>.transfer_info {
padding: 20px 0;
width: 100%;
font-size: 0px;
border-bottom: 1px dashed #999999;
}
.groupTourOrder_transfer>.transfer_info>div {
display: inline-block;
padding: 0 10px;
width: 25%;
height: 30px;
vertical-align: top;
}
.groupTourOrder_transfer>.transfer_info>div>em {
display: inline-block;
padding: 0 10px;
width: 35%;
height: 30px;
line-height: 30px;
text-align: right;
font-size: 16px;
vertical-align: top;
}
.groupTourOrder_transfer>.transfer_info>div>span {
display: inline-block;
padding: 0 10px;
width: 65%;
height: 30px;
line-height: 30px;
text-align: left;
font-size: 16px;
border-radius: 3px;
background-color: #e5e5e5;
vertical-align: top;
}
.groupTourOrder_transfer>.transfer_input {
padding: 20px 0;
width: 100%;
font-size: 0px;
}
.groupTourOrder_transfer>.transfer_input>div {
display: inline-block;
padding: 0 10px;
width: 25%;
height: 30px;
vertical-align: top;
}
.groupTourOrder_transfer>.transfer_input>div>em {
display: inline-block;
padding: 0 10px;
width: 35%;
height: 30px;
line-height: 30px;
text-align: right;
font-size: 16px;
vertical-align: top;
}
.groupTourOrder_transfer>.transfer_input>div>.el-input {
display: inline-block;
width: 65%;
height: 30px;
line-height: 30px;
text-align: left;
font-size: 14px;
vertical-align: top;
}
.Ysze {
position: relative;
}
.Ysze .changeYsze {
position: absolute;
left: 110%;
z-index: 10000;
top: 0;
width: 700px;
background: #fff;
box-shadow: 0 0 8px #888;
padding: 10px;
box-sizing: border-box;
}
.Ysze .Ysze-button {
position: absolute;
left: 98%;
top: 3px;
border-radius: 4px;
cursor: pointer;
}
.Ysze .changeYsze .el-form-item {
display: inline-block;
width: 30%;
margin-bottom: 5px;
}
.Ysze .changeYsze .el-icon-close {
position: absolute;
right: 6px;
top: 6px;
color: #f78989;
font-size: 20px;
cursor: pointer;
}
</style>
......@@ -102,6 +102,14 @@
</el-date-picker>
</span>
</li>
<li>
<span>
<em>订单类型</em>
<el-select v-model="msg.OrderType" class="w200 HworkInput">
<el-option v-for="item in OrderTypeList" :key="item.Id" :label="item.Name" :value="item.Id"></el-option>
</el-select>
</span>
</li>
<li >
<input type="button" class="normalBtn" :value="$t('pub.searchBtn')"
@click="msg.pageIndex=1,currentPage=1,GetList();showWarningSearch=false" />
......@@ -264,6 +272,20 @@
}
});
},
GetOrderTypeEnumList() {
this.apipost("CarSingle_post_GetOrderTypeEnumList", {}, (res) => {
if (res.data.resultCode == 1) {
this.OrderTypeList = res.data.data;
let data = {
Name: "不限",
Id: "0",
};
this.OrderTypeList.unshift(data);
} else {
this.$message.error(res.data.message);
}
});
},
getEmployee() { //员工
this.apipost('admin_get_EmployeeGetList', this.employeeMsg, res => {
if(res.data.resultCode == 1) {
......@@ -404,7 +426,7 @@
if(this.Title!='销售'){
this.getEmployee()
}
this.GetOrderTypeEnumList()
this.Datelist = this.getyMDOne()
this.userInfo = this.getLocalStorage();
this.GetList();
......
......@@ -73,7 +73,10 @@
<p v-else @click="ShowMap=!ShowMap" style="cursor: pointer;">地图暂未生成图</p>
</div>
</div>
<Tripmap v-if="ShowMap" :dataAll="PostConfig" :ConfigId="ConfigId" @Cancel="ShowMap=false" @Success="getMapImgSuccess"></Tripmap>
<Tripmap v-if="ShowMap" :PostConfig="PostConfig" :ConfigId="ConfigId"
@Cancel="ShowMap=false"
@Success="getMapImgSuccess()"
@saveMsg="SaveData(1)"></Tripmap>
</div>
<TravelNotice :class="{'showOther':TeamType==3}" ref="TravelNotice" id="fourAnchor" @headCallBack="getNotice"
:subArray="NoticeParameters" :NoticeData="NoticeData" v-bind:PostConfig="PostConfig"
......@@ -312,6 +315,9 @@
} else {
this.$refs.TravelFeature.setNewDate(data);
}
},
getConfig(){
},
/*获取组件配置信息【回调方法】*/
getConfig(configObj) {
......@@ -415,6 +421,7 @@
basicData.RemoveChild = this.PostConfig.RemoveChild;
basicData.OfferId = this.PostConfig.OfferId;
basicData.TeamType = this.PostConfig.TeamType;
basicData.TripMapList = this.PostConfig.TripMapList;
basicData.StartCityId = 0;
basicData.ReturnArriveCityId = 0;
if (this.PostDaysTrip) {
......@@ -448,7 +455,7 @@
basicData.WCityId = this.PostConfig.WCityId;
basicData.TripCountryList = this.PostDaysTrip.TripCountryList;
basicData.TripCitwlist = this.PostDaysTrip.TripCitwlist;
basicData.TripMapList = this.PostDaysTrip.TripMapList;
this.journeyList.IsUpdateTrip = this.PostDaysTrip.IsUpdateTrip;
//行程特色数据
var TripFeature = {};
......
<template>
<div class="tripmap-form marginT20" v-if="dataAll">
<div class="tripmap-form marginT20" v-if="PostConfig">
<div class="tripmap-Search" v-loading="setLoading">
<div
style="display: flex;align-items: start; justify-content: space-between;"
......@@ -95,7 +95,7 @@ mapboxgl.accessToken =
"pk.eyJ1IjoiYWxleDkwMTIiLCJhIjoiY2xtOGw4NHdkMGFndTNjcnFkeWZncGc2dyJ9.lVrAdPHE0Dg5zoWFidfj4Q";
import html2Canvas from "html2canvas";
export default {
props: ["dataAll", "ConfigId"],
props: ["PostConfig", "ConfigId"],
data() {
return {
layerIds: [],
......@@ -204,7 +204,7 @@ export default {
deep: true,
immediate: false
},
dataAll: {
PostConfig: {
handler(val, oldVal) {
if (this.NationList.length == 0) this.getAddress(1);
if (val.TripMapList.length == 0) this.SearchCity(2);
......@@ -218,8 +218,8 @@ export default {
CityListAll: this.CityListAll,
CityListIds: [4, 6],
NationList: this.NationList,
ColorStr: this.dataAll.TripColor
? this.dataAll.TripColor
ColorStr: this.PostConfig.TripColor
? this.PostConfig.TripColor
: "#409eff",
ConfigId: this.ConfigId,
Id: 0,
......@@ -445,7 +445,8 @@ export default {
},
// 保存标记坐标
SavePositionStr() {
this.dataAll.TripMapList = JSON.parse(JSON.stringify(this.TripMapList));
this.PostConfig.TripMapList = JSON.parse(JSON.stringify(this.TripMapList));
this.$emit('saveMsg')
// this.TripMapList.forEach(x => {
// x.CityList.forEach(y => {
// this.citiesData.forEach(z => {
......@@ -484,7 +485,7 @@ export default {
that.SavePositionStr()
that.setLoading = false;
let allPath = that.domainManager().ViittoFileUrl + x.data.FilePath;
that.dataAll.Mapurl = allPath;
that.PostConfig.Mapurl = allPath;
that.$emit("Success", allPath);
} else {
that.setLoading = false;
......@@ -530,7 +531,7 @@ export default {
NationList: x.NationList,
ColorStr: x.ColorStr,
ConfigId: x.ConfigId,
Id: x.Id,
Id: 0,
MId: null,
MName: null,
MType: 1,
......@@ -554,11 +555,11 @@ export default {
this.ClearSource('curve-source-'+ MId,2)
this.ClearSource('world-layer-'+ MId,1)
this.TripMapList.splice(index, 1);
this.dataAll.TripMapList = JSON.parse(JSON.stringify(this.TripMapList));
this.PostConfig.TripMapList = JSON.parse(JSON.stringify(this.TripMapList));
}
},
getColorStr() {
this.dataAll.TripMapList = JSON.parse(JSON.stringify(this.TripMapList));
this.PostConfig.TripMapList = JSON.parse(JSON.stringify(this.TripMapList));
},
// 城市ids
getCityListIds(x, index) {
......@@ -567,7 +568,7 @@ export default {
CityList: [],
ColorStr: x.ColorStr,
ConfigId: x.ConfigId,
Id: x.Id,
Id: 0,
MId: null,
MName: null,
MType: 2,
......@@ -583,8 +584,8 @@ export default {
Top: 0
}
};
x.CityListAll.forEach(item => {
x.CityListIds.forEach(items => {
x.CityListIds.forEach(items => {
x.CityListAll.forEach(item => {
if (item.ID == items) {
obj.MId = item.ID;
obj.MName = item.Name;
......@@ -595,7 +596,7 @@ export default {
});
});
this.$forceUpdate();
this.dataAll.TripMapList = JSON.parse(JSON.stringify(this.TripMapList));
this.PostConfig.TripMapList = JSON.parse(JSON.stringify(this.TripMapList));
},
// 查询城市
......
<template>
<div style="height: 100%;" v-if="RenderingOk">
<div style="height: 100%;overflow: hidden;" v-if="RenderingOk">
<!-- -->
<div class="UpgradedVersion-box2 UpgradedVersion-homebj relative" style="zoom: 0.44;">
<div class=" z-index1" style="left: 0;right: 0; top: 0;bottom: 0;">
......@@ -25,7 +25,7 @@
<div :id="'viewSpotBox_'+(item*4)+'_0'+index" class="travelDaysMasterMap relative">
<div class="travelDaysMasterMap-one" :style="{'color':'#fff'}">
<div class="travelDaysMasterMap-oneImg bjF6 relative UpgradedVersion-Hover">
<div class="featureDay-vToolBar absolute z-index3">
<div class="featureDay-vToolBar absolute z-index3" style="zoom:2">
<FeatureControls :index="index" :FeatureData="item" :ControlsType="'row'" :isTemplate="false"
:isUploadImg="true" :isSelectImg="true" @toUploadImg="UploadImg(0)" @toSelectImg="SelectImg(0)"
:x="1123" :y="632"></FeatureControls>
......@@ -61,22 +61,24 @@
<vEditSpan :canEdit='canEdit' v-model="jindian.Description"></vEditSpan>
</div>
</template>
<div v-if="item.ScenicArray.length==0&&item.TrafficObj.trafficIntroduce.IntroduceTitle" class="travelDaysContent-text">
<div v-if="item.ScenicArray.length==0&&item.TrafficObj.trafficIntroduce.IntroduceTitle"
class="travelDaysContent-text">
<span class="textBold">
<vEditDiv class="dayCouponsName" :canEdit='canEdit'
v-model="'【'+item.TrafficObj.trafficIntroduce.IntroduceTitle+'】'"></vEditDiv>
</span>
<vEditSpan :canEdit='canEdit' v-model="item.TrafficObj.trafficIntroduce.IntroduceDetail"></vEditSpan>
</div>
<div v-if="item.ScenicArray.length==0&&!item.TrafficObj.trafficIntroduce.IntroduceTitle" class="travelDaysContent-text">
<div v-if="item.ScenicArray.length==0&&!item.TrafficObj.trafficIntroduce.IntroduceTitle"
class="travelDaysContent-text">
{{item.TitleObj.Title}}
</div>
</div>
<div class="travelDaysdetails-tsTextBox"
v-if="item.WarmTipObj.Description&&getHtmlPlainText(item.WarmTipObj.Description).length>0">
<div class="travelDaysdetails-tsText" :style="{'background':backgroundColor2}">
<div class="travelDaysdetails-text0" style="float:left;">温馨提示:</div>
<div v-html="item.WarmTipObj.Description"></div>
<span class="travelDaysdetails-text0" style="float:left;">温馨提示:</span>
<span v-html="item.WarmTipObj.Description"></span>
</div>
</div>
<div class="travelDaysdetails">
......@@ -123,21 +125,24 @@
</div>
<!-- otherJourney-footer -->
<div class="footer">
<div class="otherJourney-introduceFooter absolute z-index1 row-aic" :style="{'background':''}">
<div class="introduceFooterBJ introduceFooterOne" :style="{'background':dataAll.TripColor}">&nbsp;</div>
<div class="introduceFooterBJ introduceFootertTwo" :style="{'background':dataAll.TripColor}">&nbsp;</div>
<div class="introduceFooter-text row-aic">
<img src="http://imgfile.oytour.com/Static/NewTripFeature/footerLogo.png" />
<div class="edit_div">{{dataAll.LineShortName?dataAll.LineShortName:dataAll.LineName}}</div>
<div class="otherJourney-introduceFooter absolute z-index1 row-aic" :style="{'background':''}">
<div class="introduceFooterBJ introduceFooterOne" :style="{'background':dataAll.TripColor}">&nbsp;</div>
<div class="introduceFooterBJ introduceFootertTwo" :style="{'background':dataAll.TripColor}">&nbsp;</div>
<div class="introduceFooter-text row-aic">
<img src="http://imgfile.oytour.com/Static/NewTripFeature/footerLogo.png" />
<div class="edit_div">{{dataAll.LineShortName?dataAll.LineShortName:dataAll.LineName}}</div>
</div>
<div class="introduceFooterBJ introduceFootertThree" :style="{'background':dataAll.TripColor}">&nbsp;</div>
<div class="introduceFooterBJ introduceFootertFour" :style="{'background':dataAll.TripColor}">&nbsp;</div>
</div>
<div class="introduceFooterBJ introduceFootertThree" :style="{'background':dataAll.TripColor}">&nbsp;</div>
<div class="introduceFooterBJ introduceFootertFour" :style="{'background':dataAll.TripColor}">&nbsp;</div>
</div>
</div>
</div>
<div class="UpgradedVersion2Line absolute z-index3 row-ajc">
<span>底线</span>
</div>
<div class="UpgradedVersion2Line absolute z-index3 row-ajc" style="top: 2878px;">
<span>底线</span>
</div>
</div>
<el-dialog custom-class="resourceImgAdd" :title="$t('sm.chooseImg')" center :visible.sync="isShowScenicImg">
<!--imgType:1-酒店,2-餐厅,3-景点,4-票务,5-车辆,6-领队,7-购物店,isCheckmore:是否多选图片-->
......@@ -186,8 +191,7 @@
defaultScenicIndex: 0, //当前默认选中的景点
};
},
mounted() {
},
mounted() {},
methods: {
getHtmlPlainText(html_str) {
//提取字符串中的文字
......@@ -204,7 +208,7 @@
getFontSize(title) {
if (!title) return
let size = 30;
if (title.length > 80) {
if (title && title.length > 0 && title.length > 80) {
var tempSize = Number(80) / Number(title.length);
tempSize = tempSize * 30;
size = tempSize.toFixed(1);
......@@ -279,9 +283,14 @@
let allPath = that.domainManager().ViittoFileUrl + x.data.FilePath;
let i = e.target.id.split("_")[2];
if (that.ScenicArrayList.length > 0) {
that.ScenicArrayList[that.imgIndex].NewImaArray[0].Url = allPath
that.ScenicArrayList[that.imgIndex].NewImaArray[0].x = 0
that.ScenicArrayList[that.imgIndex].NewImaArray[0].y = 0
that.ScenicArrayList[0].NewImaArray[0].Url = allPath
that.ScenicArrayList[0].NewImaArray[0].x = 0
that.ScenicArrayList[0].NewImaArray[0].y = 0
that.ScenicArrayList[0].NewScenicImg = JSON.stringify(that.ScenicArrayList[0].NewImaArray);
if (that.item.ScenicArray && that.item.ScenicArray.length > 0) {
that.item.ScenicArray[that.defaultScenicIndex] = JSON.parse(JSON.stringify(that.ScenicArrayList[
0]));
}
} else {
that.item.TrafficObj.trafficIntroduce.IntroduceImage = allPath
that.item.TrafficObj.trafficIntroduce.x = 0
......@@ -289,7 +298,6 @@
that.item.TrafficObj.Introduce = JSON.stringify(this.item.TrafficObj.trafficIntroduce);
}
that.$message.success('上传成功');
that.item.ScenicArray = JSON.parse(JSON.stringify(that.ScenicArrayList))
});
};
reader.readAsDataURL(e.target.files[0]);
......@@ -313,11 +321,11 @@
if (imgItem.FileType) {
obj.FileType = imgItem.FileType;
}
that.ScenicArrayList[that.imgIndex].NewImaArray = [];
that.ScenicArrayList[that.imgIndex].NewImaArray.push(obj);
that.ScenicArrayList[that.imgIndex].ScenicJson.x = 0
that.ScenicArrayList[that.imgIndex].ScenicJson.y = 0
that.ScenicArrayList[that.imgIndex].NewScenicImg = JSON.stringify(that.ScenicArrayList[0].NewImaArray);
that.ScenicArrayList[0].NewImaArray = [];
that.ScenicArrayList[0].NewImaArray.push(obj);
that.ScenicArrayList[0].ScenicJson.x = 0
that.ScenicArrayList[0].ScenicJson.y = 0
that.ScenicArrayList[0].NewScenicImg = JSON.stringify(that.ScenicArrayList[0].NewImaArray);
});
} else {
this.item.TrafficObj.trafficIntroduce.IntroduceImage = selectImgArr[0].Path
......@@ -325,19 +333,17 @@
this.item.TrafficObj.trafficIntroduce.y = 0
this.item.TrafficObj.Introduce = JSON.stringify(this.item.TrafficObj.trafficIntroduce);
}
this.isShowScenicImg = false;
if (this.item.ScenicArray && this.item.ScenicArray.length > 0) {
this.item.ScenicArray[this.defaultScenicIndex] = JSON.parse(JSON.stringify(this.ScenicArrayList[0]));
}
//this.item.ScenicArray = JSON.parse(JSON.stringify(this.ScenicArrayList))
}
},
computed: {},
watch: {
item: {
handler(val, oldVal) {
// console.log("changeScenic",this.item.ScenicArray);
this.RenderingOk = false;
this.ScenicArrayList = []
this.item.ScenicArray.forEach((x, index) => {
......
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