Commit 1b036994 authored by Mac's avatar Mac
parents 3ea00670 851b4aca
......@@ -113,7 +113,7 @@ export default {
}
</script>
<style>
@import "//at.alicdn.com/t/font_635492_l8xc381dki8.css";
@import "//at.alicdn.com/t/font_635492_b8jianjuawm.css";
@import "./assets/css/Semibold.css";
@import "./assets/css/global/config.css";
@import "./assets/css/fileIcon.css";
......
......@@ -1313,12 +1313,14 @@ export default {
allMoney+= x.allMoney;
// x.allMoney=(Math.round(x.allMoney * 100)) / 100;
})
let num=allMoney.toString().split(".")[1].length;
if(num==3){
allMoney=`${allMoney}1`;
}
if(allMoney.toString().split(".")[1]){
let num=allMoney.toString().split(".")[1].length;
if(num==3){
allMoney=`${allMoney}1`;
}
}
this.allMoney = Math.round(allMoney * 100) / 100;
console.log(" this.allMoney", this.allMoney)
},
Financial_post_GetFinancLogList(){ // 获取单据日志
if(this.checkboxShow) return
......@@ -1515,10 +1517,13 @@ export default {
Money = this.payMsgList[index].OriginalMoney;
Rate=Rate*100;
let newmoney=Money*Rate+fee;
let num=newmoney.toString().split(".")[1].length;
if(num==1){
newmoney=`${newmoney}1`;
}
if(newmoney.toString().split(".")[1]){
let num=newmoney.toString().split(".")[1].length;
if(num==1){
newmoney=`${newmoney}1`;
}
}
this.payMsgList[index].allMoney = Math.round( newmoney* 100) / 100 / 100;
} else {
......
......@@ -531,6 +531,9 @@
<span slot="reference" class="price" style="cursor:pointer;text-decoration:underline;">酒店预订状况</span>
</el-popover>
</p>
<p class="travelnowrap" v-if="item.LineID==14 && item.IsOpenHotel==1">
<span style="color:red;font-weight:bold;">※ 地接已关闭酒店操作,如需修改请联系地接OP.</span>
</p>
</div>
</div>
<div class="el-col" style="width:190px;">
......@@ -1265,7 +1268,7 @@
})
}
});
// console.log('this.queryCommonData', this.queryCommonData.dataList)
console.log("this.queryCommonData.dataList",this.queryCommonData.dataList);
}
},
err => {}
......
......@@ -53,6 +53,9 @@
background-color: #ee4454;
border-color: #ee4454;
}
.comType_Img{
max-height: 50px;
}
</style>
<template>
......@@ -77,6 +80,8 @@
<th width="120px">类型编号</th>
<th>商品类型名称</th>
<th>商品类型图标</th>
<th>商品类型logo</th>
<th>商品类型展示图片</th>
<th>商品类型状态</th>
<th>更新时间</th>
<th>操作</th>
......@@ -85,7 +90,13 @@
<td>{{item.id}}</td>
<td>{{item.name}}</td>
<td>
<img :src="item.icon" alt>
<img :src="item.icon" class="comType_Img" />
</td>
<td>
<img :src="item.miniLog" class="comType_Img" />
</td>
<td>
<img :src="item.typeImg" class="comType_Img" />
</td>
<td>{{item.state === 1 ? '正常' : '禁用'}}</td>
<td>{{item.updateTime.replace('T', ' ')}}</td>
......@@ -160,6 +171,67 @@
</div>
</div>
</el-form-item>
<el-form-item label="商品类型logo">
<div class="_addUpload_box">
<div class="_pic_upload">
<template v-if="addMsg.miniLog!==''">
<div>
<div
style="width:100%;height:100%;overflow: hidden;display: flex;align-items: center;"
>
<img :src="addMsg.miniLog">
<span
style="font-size:12px; color:#666666;cursor: pointer;line-height: 20px;"
@click="addMsg.miniLog=''"
>重新上传</span>
</div>
</div>
</template>
<el-upload
v-else
drag
:http-request="uploadLogoBtn"
:multiple="false"
:show-file-list="false"
action
>
<i class="el-icon-plus avatar-uploader-icon"></i>
<div class="el-upload__text">{{$t("active.ld_djscwj")}}</div>
</el-upload>
</div>
</div>
</el-form-item>
<el-form-item label="商品类型图片">
<div class="_addUpload_box">
<div class="_pic_upload">
<template v-if="addMsg.typeImg!==''">
<div>
<div
style="width:100%;height:100%;overflow: hidden;display: flex;align-items: center;"
>
<img :src="addMsg.typeImg">
<span
style="font-size:12px; color:#666666;cursor: pointer;line-height: 20px;"
@click="addMsg.typeImg=''"
>重新上传</span>
</div>
</div>
</template>
<el-upload
v-else
drag
:http-request="uploadTypeImgBtn"
:multiple="false"
:show-file-list="false"
action
>
<i class="el-icon-plus avatar-uploader-icon"></i>
<div class="el-upload__text">{{$t("active.ld_djscwj")}}</div>
</el-upload>
</div>
</div>
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
<button
......@@ -185,7 +257,9 @@ export default {
name: "",
state: 1,
icon: "",
id: 0
id: 0,
miniLog:'',
typeImg:''
},
rules: {
memberLevel: [
......@@ -251,22 +325,89 @@ export default {
typeOk = true;
}
});
if (!typeOk) return this.$message.error(this.$t("tips.qsctpian"));
if (!typeOk) return this.Error(this.$t("tips.qsctpian"));
let newArr = [];
newArr.push(file.file);
let path = "/Upload/activity/";
this.$message.info(this.$t("tips.shangchuanzhong"));
this.Success(this.$t("tips.shangchuanzhong"));
this.UploadSelfFileT(path, newArr, x => {
let fileSize =
file.file.size < 1024
? file.file.size
: (file.file.size / 1024).toFixed(0);
this.addMsg.icon = this.domainManager().ViittoFileUrl + x.data.FilePath;
this.$message.success(this.$t("tips.scchenggong"));
this.Success(this.$t("tips.scchenggong"));
this.$forceUpdate();
});
},
uploadLogoBtn(file){
//上传
if (file.file.size > 1024 * 1024 * 10) {
this.$message.warning(this.$t("tips.wjdxbncgsz"));
return;
}
// 1 文档 2 数据 3 图片
let typeArr = [{ stringArr: "GIF|JPG|JPEG|PNG|BMP", type: 3 }];
let ft = file.file.name
.substring(file.file.name.lastIndexOf(".") + 1, file.file.name.length)
.toUpperCase();
let fileTypeNumber = 2;
let typeOk = false;
typeArr.forEach(x => {
if (x.stringArr.indexOf(ft) != "-1") {
fileTypeNumber = x.type;
typeOk = true;
}
});
if (!typeOk) return this.Error(this.$t("tips.qsctpian"));
let newArr = [];
newArr.push(file.file);
let path = "/Upload/activity/";
this.Success(this.$t("tips.shangchuanzhong"));
this.UploadSelfFileT(path, newArr, x => {
let fileSize =
file.file.size < 1024
? file.file.size
: (file.file.size / 1024).toFixed(0);
this.addMsg.miniLog = this.domainManager().ViittoFileUrl + x.data.FilePath;
this.Success(this.$t("tips.scchenggong"));
this.$forceUpdate();
});
},
uploadTypeImgBtn(file){
//上传
if (file.file.size > 1024 * 1024 * 10) {
this.$message.warning(this.$t("tips.wjdxbncgsz"));
return;
}
// 1 文档 2 数据 3 图片
let typeArr = [{ stringArr: "GIF|JPG|JPEG|PNG|BMP", type: 3 }];
let ft = file.file.name
.substring(file.file.name.lastIndexOf(".") + 1, file.file.name.length)
.toUpperCase();
let fileTypeNumber = 2;
let typeOk = false;
typeArr.forEach(x => {
if (x.stringArr.indexOf(ft) != "-1") {
fileTypeNumber = x.type;
typeOk = true;
}
});
if (!typeOk) return this.Error(this.$t("tips.qsctpian"));
let newArr = [];
newArr.push(file.file);
let path = "/Upload/activity/";
this.Success(this.$t("tips.shangchuanzhong"));
this.UploadSelfFileT(path, newArr, x => {
let fileSize =
file.file.size < 1024
? file.file.size
: (file.file.size / 1024).toFixed(0);
this.addMsg.typeImg = this.domainManager().ViittoFileUrl + x.data.FilePath;
this.Success(this.$t("tips.scchenggong"));
this.$forceUpdate();
});
},
//获取数据
getList() {
this.loading = true;
......
......@@ -559,7 +559,7 @@
} else if (obj.AirportPickUp == 13) {
obj.PayType = 7;
} else {
obj.PayType = 0;
obj.PayType = 2;
}
//高速付款方式默认现付
obj.HighSpeedPayType = 1;
......@@ -781,6 +781,7 @@
.length - 1];
}
let newPlanData = this.PlanTableData[index].BusPlanOrderList[subIndex];
newPlanData.AirportPickUp=oldPlanData.AirportPickUp;
newPlanData.DriverName = oldPlanData.DriverName;
newPlanData.DriverTel = oldPlanData.DriverTel;
newPlanData.BusNum = oldPlanData.BusNum;
......
......@@ -4,16 +4,10 @@
border-bottom:1px solid #d1d1d1;
}
.comCheckHotel>div{
float:left;
width:120px;
border-right:1px solid #d1d1d1;
width:100%;
height:200px;
overflow: auto
}
.comCheckHotel>div:last-child{
width:230px;
border:none;
}
.comCk_list{
cursor: pointer;
padding:0 20px;
......@@ -42,21 +36,24 @@
<template>
<div>
<div class="cm_hotelTitle">酒店信息</div>
<div class="cm_hotelTitle">
<el-select filterable v-model="selHotelId" @change="getChangeHotel(selHotelId)" :placeholder="$t('pub.pleaseSel')">
<el-option label="不限" :value='0'></el-option>
<el-option v-for="item in ProvinceList" :label='item.Name' :value='item.ID'
:key='item.ID'>
</el-option>
</el-select>
酒店信息
</div>
<div>
<el-tabs v-model="activeName" type="card" @tab-click="handleClick">
<el-tab-pane :label="item.ProvinceName" v-for="item in dataList"></el-tab-pane>
</el-tabs>
</div>
<div class="clearfix comCheckHotel">
<div>
<div class="comCk_list" v-for="(item,index) in dataList" :class="{'ckedList':ckindexOne==index}" @click="getCityList(item),ckindexOne=index">
{{item.ProvinceName}}
</div>
</div>
<div>
<div class="comCk_list" v-for="(item,index) in cityList" :class="{'ckedList':ckindexTwo==index}" @click="getHotelList(item),ckindexTwo=index">
{{item.CityName}}
</div>
</div>
<div>
<div class="comCk_list" v-for="item in HotelList">
<input type="checkbox" v-model="item.isChecked" @click="getCheck(item)" style=""/>
<div class="comCk_list" v-for="(item,index) in HotelList">
<input type="checkbox" v-model="item.isChecked" @click="getCheck(item,index)" style=""/>
{{item.Name}}<span class="cm_Inventory">{{item.Inventory}}</span>
</div>
</div>
......@@ -66,21 +63,22 @@
</template>
<script>
export default {
// props:["sDate"],
data() {
return {
dataList:[],
cityList:[],
HotelList:[],
ckindexOne:-1,
ckindexTwo:-1,
ID:0,
HotelName:''
HotelName:'',
ProvinceList:[],
selHotelId:0,
activeName:'',
};
},
methods: {
getCheckHotel(sDate){
this.$forceUpdate();
this.apipost('hotel_post_GetHasStockHotelList_V2', {
//1-只查询有库存的酒店
IsMoreThanZero: 0,
......@@ -88,52 +86,86 @@ export default {
IsAllHotel: 1,
sDate: sDate
}, res => {
if (res.data.resultCode == 1) {
if (res.data.resultCode == 1) {
this.dataList = res.data.data;
this.dataList.forEach(x=>{
x.cityList.forEach(y=>{
y.HotelList.forEach(z=>{
z.isChecked=false;
})
})
})
console.log(this.dataList,'子组件');
x.HotelList.forEach(y=>{
y.isChecked=false;
})
})
console.log(this.dataList,'datalist');
} else {
this.Error(res.data.message)
}
}, err => {})
},
getCityList(item){
this.cityList = item.cityList;
this.HotelList = [];
},
getHotelList(item){
this.HotelList = item.HotelList;
},
getCheck(item){
this.HotelList.forEach(x=>{
getCheck(item,index){
this.HotelList.forEach((x,subIndex)=>{
if(index==subIndex){
x.isChecked = !x.isChecked;
}else{
x.isChecked = false;
}
})
item.isChecked = !item.isChecked;
this.$forceUpdate();
},
//向父组件传递选中酒店
sendCkedHotel(){
console.log(this.dataList,'重选');
this.dataList.forEach(x=>{
x.cityList.forEach(y=>{
y.HotelList.forEach(z=>{
if(z.isChecked){
this.ID = z.ID;
this.HotelName = z.Name;
}
})
})
var ckHotelObj = {};
this.HotelList.forEach((x,index)=>{
if(x.isChecked){
ckHotelObj.ID = x.ID;
ckHotelObj.Address = x.Address;
ckHotelObj.Inventory = x.Inventory;
ckHotelObj.Name = x.Name;
ckHotelObj.PayStyle = x.PayStyle;
ckHotelObj.Tel = x.Tel;
}
})
this.$emit("childHotel", this.ID,this.HotelName);
this.$emit("childHotel", ckHotelObj);
},
//获取日本下面的市->下拉框用
getProvinceList(){
let msg = {
Id:651
};
this.apipost("dict_post_Destination_GetChildList", msg,res => {
if(res.data.resultCode == 1){
this.ProvinceList = res.data.data;
}else{
this.Error(res.data.message);
}
},
err => {}
);
},
getChangeHotel(id){
let msg = {
Province:id
}
this.apipost(
"hotel_post_GetHasStockHotelList_V2",msg,res => {
if(res.data.resultCode==1){
this.dataList = res.data.data;
this.HotelList = [];
this.dataList.forEach(x=>{
x.HotelList.forEach(y=>{
y.isChecked=false;
})
})
console.log(this.dataList,'dataList');
}else{
this.Error(res.data.message);
}
},
err => {}
);
},
handleClick() {
this.HotelList = this.dataList[this.activeName].HotelList;
}
},
mounted(){
mounted() {
}
};
......
......@@ -190,7 +190,7 @@
</td>
<td>
<div class="link">
<p @click="goUrlT('productQuery',item.TCNUMS,'产品查询')">{{item.TCNUMS}}</p>
<p @click="goUrlT('productQuery',item.TCNUMS,'产品查询')">{{item.TCNUMS}}({{item.TCID}})</p>
</div>
</td>
<td>
......@@ -390,9 +390,17 @@
style="background:#00C6FF; border-color:#00C6FF"></el-button>
</el-tooltip>
<el-tooltip class="item" effect="dark" content="联系OP" placement="top-start">
<el-button @click='openChart(item)' icon="iconfont icon-dianhua" type="primary"
<el-button @click='openChart(item)' icon="iconfont icon-wechat" type="primary"
style="background:#6DD875; border-color:#6DD875"></el-button>
</el-tooltip>
<el-tooltip v-if="item.LineId==14 && item.IsOpenHotel==0" class="item" effect="dark" content="关闭酒店操作" placement="top-start">
<el-button @click="SetIsOpenHotelService(1,item.TCID)"
style="background:#E95252; border-color:#E95252" icon="iconfont icon-suo" type="primary"
></el-button>
</el-tooltip>
<el-tooltip v-if="item.LineId==14 && item.IsOpenHotel==1" class="item" effect="dark" content="开启酒店操作" placement="top-start">
<el-button icon="iconfont icon-suo1" type="primary" style="background:green; border-color:green" @click="SetIsOpenHotelService(0,item.TCID)"></el-button>
</el-tooltip>
</el-button-group>
</div>
</td>
......@@ -522,10 +530,24 @@
saveRemark() {
this.apipost('dmcstatistics_post_SetDMCRemark', this.NumObj, res => {
if (res.data.resultCode == 1) {
this.$message.success(res.data.message)
this.getList()
this.$message.success(res.data.message);
this.getList();
} else {
this.$message.error(res.data.message)
this.$message.error(res.data.message);
}
}, err => {})
},
//开启关闭酒店操作
SetIsOpenHotelService(status,TCID) {
this.apipost('dmcstatistics_post_SetIsOpenHotelService', {
TCID:TCID,
status:status
}, res => {
if (res.data.resultCode == 1) {
this.$message.success(res.data.message);
this.getList();
} else {
this.$message.error(res.data.message);
}
}, err => {})
},
......
......@@ -34,7 +34,7 @@
:TCNUM="TCNUM" id="firstAnchor" :LineList="LineList"></TravelConfig>
<TravelDaysTripDirect id="secondAnchor" @headCallBack="getDaysTrip" :NoticeParameters="NoticeParameters"
:subConfig="journeyList" :isOpenGroup="false" :IsDirect="PostConfig.IsDirect" v-bind:AllCityList="AllCityList"
v-bind:StartCity="StartCity" :UseTypeArray="UseTypeArray" :AirPickUp="AirPickUp" :AirSend="AirSend" @change="handlerChangeData" :TeamType="TeamType"></TravelDaysTripDirect>
v-bind:StartCity="StartCity" :UseTypeArray="UseTypeArray" :AirPickUp="AirPickUp" :AirSend="AirSend" @change="handlerChangeData" :TeamType="TeamType" :IsOpenHotel="PostConfig.IsOpenHotel"></TravelDaysTripDirect>
<TravelFeature ref="TravelFeature" id="thirdAnchor" @featureCallBack="getFeature" :FeatureData="FeatureData" :TeamType="TeamType"
:isNewConfig="isNewConfig" @unlockFormCommit="unlockFormCommit"></TravelFeature>
<TravelNotice ref="TravelNotice" id="fourAnchor" @headCallBack="getNotice" :subArray="NoticeParameters"
......@@ -125,6 +125,7 @@
//是否更新酒店库存
IsUpdateHotel:0,
OpenTeamDescribe:"",//开团备注
IsOpenHotel:0,//0可以添加删除酒店,1-不能修改酒店信息
},
//行程
FeatureData: {
......@@ -652,6 +653,7 @@
//视频地址
this.PostConfig.VideoStr = tempData.VideoStr;
this.PostConfig.OpenTeamDescribe=tempData.OpenTeamDescribe;
this.PostConfig.IsOpenHotel=tempData.IsOpenHotel;
this.NoticeParameters.ConfigId = tempData.ConfigId;
this.NoticeParameters.CountryID = tempData.CountryID;
......
......@@ -864,10 +864,14 @@
</template>
</table>
<div slot="footer" class="dialog-footer">
<button class="normalBtn" type="primary" @click="saveHoteluseDetail()"
<button class="normalBtn" type="primary" @click="saveHoteluseDetail()" v-if="!(priceData.IsOpenHotel&&priceData.IsOpenHotel==1)"
:class="{'disClick':!isSaved}">{{btnText}}</button> &nbsp;
<button class="hollowFixedBtn" :class="{'disClick':!isSaved}"
@click="cancelHotelUseDetail()">{{$t('pub.cancelBtn')}}</button>
<template v-if="priceData.IsOpenHotel&&priceData.IsOpenHotel==1">
<br/>
<span style="color:red;font-weight:bold;" >※ 地接已关闭酒店操作,如需修改请联系地接OP.</span>
</template>
</div>
</el-dialog>
......
......@@ -104,12 +104,13 @@
v-model="HotelChooseArray"
multiple :multiple-limit="TeamType==0?3:1" @visible-change="getHotelList($event)"
@change="changeHotelList()"
filterable placeholder="请选择">
filterable placeholder="请选择" :disabled="IsOpenHotel==1?true:false">
<el-option v-for="item in QHotelList" :label="item.Name" :value="item.ID" :key="item.ID">
<span style="float: left">{{ getHotelItemLabel(item) }}</span>
<span style="float: right; color: #8492a6; font-size: 13px">{{ item.Inventory }}</span>
</el-option>
</el-select>
<span style="color:red;font-weight:bold;" v-if="IsOpenHotel==1">※ 地接已关闭酒店操作,如需修改请联系地接OP.</span>
<span v-if="dayObj.isRead&&IsDirect==1">
<span v-for="item in hotelArray">
{{item.HotelName}}
......@@ -129,7 +130,9 @@
</template>
<script>
export default {
props: ["dayObj", "DayList", "CurrentIndex", "WarmTripDescribe", "IsDirect", "subConfig","TeamType"],
props: ["dayObj", "DayList", "CurrentIndex", "WarmTripDescribe", "IsDirect", "subConfig","TeamType",
"IsOpenHotel" //0可以添加删除酒店,1-不能修改酒店信息
],
data() {
return {
QHotelList: [],
......
......@@ -147,6 +147,7 @@
v-bind:subConfig="subConfig"
@change="handlerChangeDateList"
:TeamType="TeamType"
:IsOpenHotel="IsOpenHotel"
></travelDaysTrip>
</div>
</div>
......@@ -170,7 +171,8 @@
"AirPickUp",
"AirSend",
"NoticeParameters",
"TeamType"
"TeamType",
"IsOpenHotel" //0可以添加删除酒店,1-不能修改酒店信息
],
data() {
return {
......
......@@ -229,7 +229,7 @@
</div>
</div>
<hotelTrip :dayObj="dayObj" :CurrentIndex="CurrentIndex" :DayList="DayList" :WarmTripDescribe="WarmTripDescribe"
:IsDirect="NoticeParameters.IsDirect" :subConfig="subConfig" :TeamType="TeamType"></hotelTrip>
:IsDirect="NoticeParameters.IsDirect" :subConfig="subConfig" :TeamType="TeamType" :IsOpenHotel="IsOpenHotel"></hotelTrip>
<div class="TD_OperaContent">
<div class="TD_ComIcon">
<i v-if="!dayObj.isRead" class="iconfont icon-chakan" @click="getRead"></i>
......@@ -277,7 +277,8 @@
"DayList", //线路行程
"NoticeParameters",
"subConfig",
"TeamType"
"TeamType",
"IsOpenHotel" //0可以添加删除酒店,1-不能修改酒店信息
],
data() {
return {
......
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