Commit 35e2996f authored by 黄奎's avatar 黄奎

酒店支付方式权限控制

parent 61b50a33
<style> <style>
@import "../../assets/css/DMC.css"; @import "../../assets/css/DMC.css";
</style> </style>
<template> <template>
<div class="flexOne changInfo"> <div class="flexOne changInfo">
...@@ -37,23 +38,24 @@ ...@@ -37,23 +38,24 @@
</el-input> </el-input>
</el-form-item> </el-form-item>
<el-form-item label="是否预约"> <el-form-item label="是否预约">
<el-switch v-model="addMsg.AppointmentStyle" :active-value="inActive" :inactive-value="notInActive"></el-switch> <el-switch v-model="addMsg.AppointmentStyle" :active-value="inActive" :inactive-value="notInActive">
</el-switch>
</el-form-item> </el-form-item>
<el-form-item label="支付方式"> <el-form-item label="支付方式">
<el-select v-model="addMsg.PayStyle" class='multiple_input w300' :placeholder="$t('pub.pleaseSel')"> <el-select v-model="addMsg.PayStyle" class='multiple_input w300' :placeholder="$t('pub.pleaseSel')" :disabled="IsHaveAuth==1?false:true">
<el-option :label="$t('pub.unlimitedSel')" :value='SelectDefaultValue'></el-option> <el-option :label="$t('pub.unlimitedSel')" :value='SelectDefaultValue'></el-option>
<el-option v-for="item in PayList" :key="item.Id" :label="item.Name" :value="item.Id"> <el-option v-for="item in PayList" :key="item.Id" :label="item.Name" :value="item.Id">
</el-option> </el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="酒店类型"> <el-form-item label="酒店类型">
<el-select v-model="addMsg.HotelType" class='multiple_input w300' :placeholder="$t('pub.pleaseSel')"> <el-select v-model="addMsg.HotelType" class='multiple_input w300' :placeholder="$t('pub.pleaseSel')">
<el-option :label="$t('pub.unlimitedSel')" :value='SelectDefaultValue'></el-option> <el-option :label="$t('pub.unlimitedSel')" :value='SelectDefaultValue'></el-option>
<el-option v-for="item in HotelTypeList" :key="item.ID" :label="item.Name" :value="item.ID"> <el-option v-for="item in HotelTypeList" :key="item.ID" :label="item.Name" :value="item.ID">
</el-option> </el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="价格"> <el-form-item label="价格">
<el-select v-model="addMsg.HotelPriceType" class='multiple_input w300' :placeholder="$t('pub.pleaseSel')"> <el-select v-model="addMsg.HotelPriceType" class='multiple_input w300' :placeholder="$t('pub.pleaseSel')">
<el-option :label="$t('pub.unlimitedSel')" :value='SelectDefaultValue'></el-option> <el-option :label="$t('pub.unlimitedSel')" :value='SelectDefaultValue'></el-option>
<el-option v-for="item in HotelPirceTypeList" :key="item.ID" :label="item.Name" :value="item.ID"> <el-option v-for="item in HotelPirceTypeList" :key="item.ID" :label="item.Name" :value="item.ID">
...@@ -70,33 +72,34 @@ ...@@ -70,33 +72,34 @@
</el-select> </el-select>
</span> </span>
</div> </div>
<span class="resource-lititle sheshi">酒店优惠 <el-button icon="el-icon-plus" circle @click="addAir"></el-button></span> <span class="resource-lititle sheshi">酒店优惠 <el-button icon="el-icon-plus" circle @click="addAir"></el-button>
</span>
<div class="jiudianyouhuiDiv"> <div class="jiudianyouhuiDiv">
<el-row v-for="(list,index) in addMsg.DiscountList" :key="index"> <el-row v-for="(list,index) in addMsg.DiscountList" :key="index">
<el-col :span="6" :gutter="35"> <el-col :span="6" :gutter="35">
<el-form-item label="开始数量"> <el-form-item label="开始数量">
<el-input class='w80' type="text" v-model="list.StartNum" ></el-input> <el-input class='w80' type="text" v-model="list.StartNum"></el-input>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="6" :gutter="35"> <el-col :span="6" :gutter="35">
<el-form-item label="结束数量"> <el-form-item label="结束数量">
<el-input class='w80' type="text" v-model="list.EndNum"></el-input> <el-input class='w80' type="text" v-model="list.EndNum"></el-input>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="6" :gutter="35"> <el-col :span="6" :gutter="35">
<el-form-item label="返还数量"> <el-form-item label="返还数量">
<el-input class='w80' type="text" v-model="list.DisCountNum" ></el-input> <el-input class='w80' type="text" v-model="list.DisCountNum"></el-input>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="6" :gutter="35" v-if="index==0"> <el-col :span="6" :gutter="35" v-if="index==0">
</el-col> </el-col>
<el-col :span="6" :gutter="35" > <el-col :span="6" :gutter="35">
<el-button icon="el-icon-minus" circle @click="deleteAir(index)"> </el-button> <el-button icon="el-icon-minus" circle @click="deleteAir(index)"> </el-button>
</el-col> </el-col>
</el-row> </el-row>
<!-- <el-row :gutter="0"> <!-- <el-row :gutter="0">
<el-col :span="6"> <el-col :span="6">
<el-form-item label="开始数量" > <el-form-item label="开始数量" >
<el-input class='w80' type="text" :placeholder="$t('pub.pleaseImport')"></el-input> <el-input class='w80' type="text" :placeholder="$t('pub.pleaseImport')"></el-input>
...@@ -117,15 +120,15 @@ ...@@ -117,15 +120,15 @@
</el-col> </el-col>
</el-row> --> </el-row> -->
</div> </div>
<!--<div v-for="(item) in GetPolicy" :key="item.subCode"> <!--<div v-for="(item) in GetPolicy" :key="item.subCode">
<div class="common-lefttit">{{item.Content}}</div> <div class="common-lefttit">{{item.Content}}</div>
<span class="resource-net"> <span class="resource-net">
<el-input v-model="item.checked" maxlength="50" class="w300"></el-input> <el-input v-model="item.checked" maxlength="50" class="w300"></el-input>
</span> </span>
</div>--> </div>-->
</div> </div>
<div class="resource-imginfo"> <div class="resource-imginfo">
<div class="resourcerightTop"> <div class="resourcerightTop">
...@@ -134,38 +137,44 @@ ...@@ -134,38 +137,44 @@
<div class="RabateDiv clearfix"> <div class="RabateDiv clearfix">
<div class="RebateCount reOne"> <div class="RebateCount reOne">
<div class="leftPnum">{{$t('admin.admin_personNumber')}}></div> <div class="leftPnum">{{$t('admin.admin_personNumber')}}></div>
<input type="text" class="toolInput inpuOne" v-model="addMsg.RebateCount" onkeyup="value=value.replace(/[^\d]/g,'')" <input type="text" class="toolInput inpuOne" v-model="addMsg.RebateCount"
maxlength="20"> onkeyup="value=value.replace(/[^\d]/g,'')" maxlength="20">
</div> </div>
<div class="RebateCount reTwo"> <div class="RebateCount reTwo">
<div class="fanNum">{{$t('restaurant.res_return')}}</div> <div class="fanNum">{{$t('restaurant.res_return')}}</div>
<input type="text" class="toolInput inpuTwo" v-model="addMsg.RebateRatio" onkeyup="value=value.replace(/[^\d]/g,'')" <input type="text" class="toolInput inpuTwo" v-model="addMsg.RebateRatio"
maxlength="20"> onkeyup="value=value.replace(/[^\d]/g,'')" maxlength="20">
<div class="percentCon">%</div> <div class="percentCon">%</div>
</div> </div>
</div> </div>
</div> </div>
<el-form-item :label="$t('hotel.hotel_landline')"> <el-form-item :label="$t('hotel.hotel_landline')">
<el-input type="text" v-model="addMsg.Tel" maxlength="20" :placeholder="$t('hotel.hotel_landline')" class="w300"></el-input> <el-input type="text" v-model="addMsg.Tel" maxlength="20" :placeholder="$t('hotel.hotel_landline')"
class="w300"></el-input>
</el-form-item> </el-form-item>
<el-form-item label="国家"> <el-form-item label="国家">
<el-select placeholder="请选择国家" filterable v-model="addMsg.Country" class='multiple_input w300' @change="GetSubAreaList(addMsg.Country,1)"> <el-select placeholder="请选择国家" filterable v-model="addMsg.Country" class='multiple_input w300'
@change="GetSubAreaList(addMsg.Country,1)">
<el-option :label="$t('pub.unlimitedSel')" :value='SelectDefaultValue'></el-option> <el-option :label="$t('pub.unlimitedSel')" :value='SelectDefaultValue'></el-option>
<el-option v-for="childItem in CountryList" :key="childItem.ID" :label="childItem.Name" :value="childItem.ID"> <el-option v-for="childItem in CountryList" :key="childItem.ID" :label="childItem.Name"
:value="childItem.ID">
</el-option> </el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="省"> <el-form-item label="省">
<el-select placeholder="请选择省" filterable class='multiple_input w300' v-model="addMsg.Province" @change="GetSubAreaList(addMsg.Province,2)"> <el-select placeholder="请选择省" filterable class='multiple_input w300' v-model="addMsg.Province"
@change="GetSubAreaList(addMsg.Province,2)">
<el-option :label="$t('pub.unlimitedSel')" :value='SelectDefaultValue'></el-option> <el-option :label="$t('pub.unlimitedSel')" :value='SelectDefaultValue'></el-option>
<el-option v-for="childItem in ProvinceList" :key="childItem.ID" :label="childItem.Name" :value="childItem.ID"> <el-option v-for="childItem in ProvinceList" :key="childItem.ID" :label="childItem.Name"
:value="childItem.ID">
</el-option> </el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="市"> <el-form-item label="市">
<el-select placeholder="请选择市" filterable class='multiple_input w300' v-model="addMsg.City"> <el-select placeholder="请选择市" filterable class='multiple_input w300' v-model="addMsg.City">
<el-option :label="$t('pub.unlimitedSel')" :value='SelectDefaultValue'></el-option> <el-option :label="$t('pub.unlimitedSel')" :value='SelectDefaultValue'></el-option>
<el-option v-for="childItem in CityList" :key="childItem.ID" :label="childItem.Name" :value="childItem.ID"> <el-option v-for="childItem in CityList" :key="childItem.ID" :label="childItem.Name"
:value="childItem.ID">
</el-option> </el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
...@@ -196,12 +205,13 @@ ...@@ -196,12 +205,13 @@
active-text="用餐" inactive-text="不用餐"></el-switch> active-text="用餐" inactive-text="不用餐"></el-switch>
</el-form-item> </el-form-item>
<el-form-item label="用餐类型" v-show="isDinner"> <el-form-item label="用餐类型" v-show="isDinner">
<el-select v-model="UseDinnerString" class='multiple_input w300' multiple :placeholder="$t('pub.pleaseSel')"> <el-select v-model="UseDinnerString" class='multiple_input w300' multiple
:placeholder="$t('pub.pleaseSel')">
<el-option v-for="item in dinerList" :key="item.Id" :label="item.Name" :value="item.Id"> <el-option v-for="item in dinerList" :key="item.Id" :label="item.Name" :value="item.Id">
</el-option> </el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="停车场" > <el-form-item label="停车场">
<el-switch v-model="addMsg.IsHavearking" :active-value="1" :inactive-value="0"></el-switch> <el-switch v-model="addMsg.IsHavearking" :active-value="1" :inactive-value="0"></el-switch>
</el-form-item> </el-form-item>
</div> </div>
...@@ -211,7 +221,7 @@ ...@@ -211,7 +221,7 @@
<div class="re-img" v-for="(item,index) in HotelImageArray" :key="item.subCode"> <div class="re-img" v-for="(item,index) in HotelImageArray" :key="item.subCode">
<img :src="item.ShowPath" /> <img :src="item.ShowPath" />
<div class="imgzhe"> <div class="imgzhe">
<div class="re-delte" ><i @click.stop="showImg(item.ShowPath)" class="iconfont icon-img_cz"></i></div> <div class="re-delte"><i @click.stop="showImg(item.ShowPath)" class="iconfont icon-img_cz"></i></div>
<div class="re-delte" @click="delImg(index)"><i class="iconfont icon-xingzhuang"></i></div> <div class="re-delte" @click="delImg(index)"><i class="iconfont icon-xingzhuang"></i></div>
<!-- <div class="re-delte" @click.stop="ExchangeImg(index,0)" v-if="index!=0&&item.ShowPath"> <!-- <div class="re-delte" @click.stop="ExchangeImg(index,0)" v-if="index!=0&&item.ShowPath">
...@@ -228,8 +238,8 @@ ...@@ -228,8 +238,8 @@
<i class="iconfont icon-img_haha"></i> <i class="iconfont icon-img_haha"></i>
<div class="ad-one"> <div class="ad-one">
<div class="re-upload"> <div class="re-upload">
<el-upload class="upload-demo" :http-request="UploadImage" :multiple="true" accept="image/jpeg,image/gif,image/png,image/bmp" <el-upload class="upload-demo" :http-request="UploadImage" :multiple="true"
:show-file-list="false" action=""> accept="image/jpeg,image/gif,image/png,image/bmp" :show-file-list="false" action="">
<i class="iconfont icon-img_bdsc"></i> <i class="iconfont icon-img_bdsc"></i>
</el-upload> </el-upload>
</div> </div>
...@@ -242,7 +252,8 @@ ...@@ -242,7 +252,8 @@
</el-form> </el-form>
</div> </div>
<el-dialog custom-class="resourceImgAdd" title="选择图片" center :visible.sync="addimg"> <el-dialog custom-class="resourceImgAdd" title="选择图片" center :visible.sync="addimg">
<DMCchooseImg @closeImg="closeDMCchooseImg" ref="DMCchooseImg1" @headCallBack="getDMCimg" v-bind:imgType="1"></DMCchooseImg> <DMCchooseImg @closeImg="closeDMCchooseImg" ref="DMCchooseImg1" @headCallBack="getDMCimg" v-bind:imgType="1">
</DMCchooseImg>
</el-dialog> </el-dialog>
<el-dialog custom-class="mapList" title="地图选址" center :visible.sync="selectAddress"> <el-dialog custom-class="mapList" title="地图选址" center :visible.sync="selectAddress">
<googleMap @refList="googleMap" v-bind:address="addMsg.Address" @headCallBack="headCall"></googleMap> <googleMap @refList="googleMap" v-bind:address="addMsg.Address" @headCallBack="headCall"></googleMap>
...@@ -258,629 +269,626 @@ ...@@ -258,629 +269,626 @@
</div> </div>
</template> </template>
<script> <script>
import DMCchooseImg from "../commonPage/DMCchooseImg.vue"; import DMCchooseImg from "../commonPage/DMCchooseImg.vue";
import googleMap from "../commonPage/googleMap.vue"; import googleMap from "../commonPage/googleMap.vue";
export default { export default {
data() { data() {
return { return {
imageOptions:{ imageOptions: {
navbar:false, navbar: false,
title:false title: false
}, },
images: [], //是否有权限操作支付方式
//是否显示添加图片 IsHaveAuth: 0,
addimg: false, images: [],
//地图选中地址 //是否显示添加图片
selectAddress: false, addimg: false,
//上传的文件数组 //地图选中地址
HotelImageArray: [], selectAddress: false,
//删除的图片文件数组 //上传的文件数组
DeleteImageArray: [], HotelImageArray: [],
//地接资源图片 //删除的图片文件数组
imglistArry: [], DeleteImageArray: [],
//地接图片搜索关键字 //地接资源图片
imgKeyword: "", imglistArry: [],
//地接图片搜索关键字
imgKeyword: "",
openplatform: "", //获取开放平台 openplatform: "", //获取开放平台
starslevel: "", //获取酒店星级 starslevel: "", //获取酒店星级
serviceList: [], //获取酒店服务 serviceList: [], //获取酒店服务
GetPolicy: "", //获取酒店政策 GetPolicy: "", //获取酒店政策
OpenPlatformStrings: "", OpenPlatformStrings: "",
UseDinnerformString: "", UseDinnerformString: "",
totalimg: "", totalimg: "",
selecnum: 0, selecnum: 0,
hotelID: "", hotelID: "",
openplatString: "", openplatString: "",
UseDinnerString: "", UseDinnerString: "",
inActive: 1, //已选中 inActive: 1, //已选中
notInActive: 0, //未选中 notInActive: 0, //未选中
SupplierList: "", SupplierList: "",
imgBeforeFile: this.domainManager().ViittoFileUrl, imgBeforeFile: this.domainManager().ViittoFileUrl,
isBook: true, isBook: true,
isDinner: false, isDinner: false,
dinerList: "", dinerList: "",
//下拉框默认值 //下拉框默认值
SelectDefaultValue: 0, SelectDefaultValue: 0,
//国家列表 //国家列表
CountryList: [], CountryList: [],
//省份列表 //省份列表
ProvinceList: [], ProvinceList: [],
//城市列表 //城市列表
CityList: [], CityList: [],
//支付方式
PayList: [],
//酒店类型
HotelTypeList: [],
//酒店价格
HotelPirceTypeList:[],
addMsg: {
ID: 0,
Name: "",
HotelRealName:"",
Descriptions: "",
Tel: "",
Remark: "",
//温馨提示
WarmTip:"",
Star: "",
URL: "",
Fax: "",
QCountry: "",
QProvince: "",
QCity: "",
District: 0,
Address: "",
Lng: "",
Lat: "",
HotelType: 0,
HotelPriceType: 0,
DieLine: "",
HotelImageList: [], //现在的图片
DeleteImageList: [], //要删除的图片
DiscountList:[ ],
RoomNumber: "",
ChainBrand: "",
FacilityServices: "",
HotelPolicy: "",
OpenPlatform: "",
RebateCount: "",
RebateRatio: "",
IsSelfBook: "",
IsUseDinner: "0",
UseDinnerType: "",
Country: 0,
Province: 0,
City: 0,
//是否预约
AppointmentStyle: 0,
//支付方式 //支付方式
PayStyle: 0, PayList: [],
//是否有停车场 //酒店类型
IsHavearking:0, HotelTypeList: [],
}, //酒店价格
DiscountList:{ HotelPirceTypeList: [],
ID:0, addMsg: {
StartNum:'', ID: 0,
EndNum:'', Name: "",
DisCountNum:'' HotelRealName: "",
}, Descriptions: "",
qMsg: {}, Tel: "",
rules: { Remark: "",
//表单必填验证 //温馨提示
Name: [ WarmTip: "",
{ Star: "",
URL: "",
Fax: "",
QCountry: "",
QProvince: "",
QCity: "",
District: 0,
Address: "",
Lng: "",
Lat: "",
HotelType: 0,
HotelPriceType: 0,
DieLine: "",
HotelImageList: [], //现在的图片
DeleteImageList: [], //要删除的图片
DiscountList: [],
RoomNumber: "",
ChainBrand: "",
FacilityServices: "",
HotelPolicy: "",
OpenPlatform: "",
RebateCount: "",
RebateRatio: "",
IsSelfBook: "",
IsUseDinner: "0",
UseDinnerType: "",
Country: 0,
Province: 0,
City: 0,
//是否预约
AppointmentStyle: 0,
//支付方式
PayStyle: 0,
//是否有停车场
IsHavearking: 0,
},
DiscountList: {
ID: 0,
StartNum: '',
EndNum: '',
DisCountNum: ''
},
qMsg: {},
rules: {
//表单必填验证
Name: [{
required: true, required: true,
message: "请填写名称", message: "请填写名称",
trigger: "change" trigger: "change"
} }],
], Address: [{
Address: [
{
required: true, required: true,
message: "请选择地址", message: "请选择地址",
trigger: "change" trigger: "change"
} }],
], Descriptions: [{
Descriptions: [
{
required: true, required: true,
message: "请输入文字描述", message: "请输入文字描述",
trigger: "change" trigger: "change"
} }],
], DieLine: [{
DieLine: [
{
pattern: this.$commonUtils.Regex.el_isInteger, pattern: this.$commonUtils.Regex.el_isInteger,
message: "请输入正确的数字" message: "请输入正确的数字"
} }]
] }
} };
};
},
components: {
googleMap: googleMap,
DMCchooseImg: DMCchooseImg
},
methods: {
deleteAir(i){
this.addMsg.DiscountList.splice(i,1);
},
addAir(){
this.addMsg.DiscountList.push(JSON.parse(JSON.stringify(this.DiscountList)));
},
//上传酒店图片
UploadImage(file) {
let newArr = [];
newArr.push(file.file);
let fileName = file.file.name;
var path = "/Upload/DMC/";
this.UploadSelfFileT(path, newArr, x => {
var obj = this.$DMCUtils.DMCImageObj();
var str = x.data.FilePath;
var imgUrl = this.domainManager().ViittoFileUrl + x.data.FilePath;
obj.Path = str;
obj.ShowPath = imgUrl;
this.HotelImageArray.push(obj);
//this.updatePic();
});
}, },
//更新酒店图片 components: {
updatePic() { googleMap: googleMap,
if (this.hotelID > 0) { DMCchooseImg: DMCchooseImg
var postMsg = { },
ID: this.hotelID, methods: {
Name: this.addMsg.Name, deleteAir(i) {
HotelImageList: this.HotelImageArray, //新增修改 this.addMsg.DiscountList.splice(i, 1);
DeleteImageList: this.DeleteImageArray //删除的图片 },
}; addAir() {
this.addMsg.DiscountList.push(JSON.parse(JSON.stringify(this.DiscountList)));
},
//上传酒店图片
UploadImage(file) {
let newArr = [];
newArr.push(file.file);
let fileName = file.file.name;
var path = "/Upload/DMC/";
this.UploadSelfFileT(path, newArr, x => {
var obj = this.$DMCUtils.DMCImageObj();
var str = x.data.FilePath;
var imgUrl = this.domainManager().ViittoFileUrl + x.data.FilePath;
obj.Path = str;
obj.ShowPath = imgUrl;
this.HotelImageArray.push(obj);
//this.updatePic();
});
},
//更新酒店图片
updatePic() {
if (this.hotelID > 0) {
var postMsg = {
ID: this.hotelID,
Name: this.addMsg.Name,
HotelImageList: this.HotelImageArray, //新增修改
DeleteImageList: this.DeleteImageArray //删除的图片
};
this.apipost(
"hotel_post_UpateHotelPic",
postMsg,
res => {
if (res.data.resultCode == 1) {
this.Success("操作图片成功!");
}
},
null
);
}
},
//删除图片
delImg(index) {
var item = this.HotelImageArray[index];
this.DeleteImageArray.push(item);
this.HotelImageArray.splice(index, 1);
//this.updatePic();
},
inited(viewer) {
this.$viewer = viewer
},
showImg: function (src) {
let srcArr = src.split('?')
src = srcArr[0]
let isExsit = false
this.images.forEach(x => {
if (x === src)
isExsit = true
})
if (!isExsit) {
this.images.push(src)
} else {
this.$viewer.view(this.images.indexOf(src))
}
this.$viewer.show()
},
addImgOpen() {
this.addimg = true;
this.initimgList();
},
saveResource() {
//保存酒店信息
if (this.isBook) {
this.addMsg.IsSelfBook = 1;
} else {
this.addMsg.IsSelfBook = 0;
}
this.addMsg.FacilityServices = `${JSON.stringify(this.serviceList)}`;
this.addMsg.HotelPolicy = `${JSON.stringify(this.GetPolicy)}`;
this.addMsg.OpenPlatform = this.openplatString.toString();
this.addMsg.UseDinnerType = this.UseDinnerString.toString();
if (this.addMsg.IsUseDinner == 0) {
this.addMsg.UseDinnerType = "";
}
if (this.hoteID != "undefined") {
this.addMsg.ID = this.hotelID;
}
this.addMsg.HotelImageList = this.HotelImageArray;
this.addMsg.DeleteImageList = this.DeleteImageArray;
this.apipost( this.apipost(
"hotel_post_UpateHotelPic", "hotel_post_Set",
postMsg, this.addMsg,
res => { response => {
if (res.data.resultCode == 1) { //修改添加接口
this.Success("操作图片成功!"); if (response.data.resultCode == 1) {
this.Success("保存成功!");
this.goUrl("HotelManagement");
} else {
this.Error(response.data.message);
} }
}, },
null null
); );
} },
}, init() {
//删除图片 var msg = {};
delImg(index) { this.apipost(
var item = this.HotelImageArray[index]; "hotel_post_GetStar",
this.DeleteImageArray.push(item); msg,
this.HotelImageArray.splice(index, 1); response => {
//this.updatePic(); //初始化星级
}, if (response.data.resultCode == 1) {
inited (viewer){ this.starslevel = response.data.data;
this.$viewer = viewer }
}, },
showImg: function (src) { null
let srcArr = src.split('?') );
src = srcArr[0] this.apipost("hotel_post_GetPlatform", msg, res => {
let isExsit=false //获取开放平台
this.images.forEach(x=>{ this.openplatform = res.data.data;
if(x===src) });
isExsit=true },
}) inithotelService() {
if(!isExsit) { //初始化酒店服务
this.images.push(src) let msg = {
} else { Key: "SK_HOTEL_SERVICE"
this.$viewer.view(this.images.indexOf(src)) };
} this.apipost("dict_post_GetList", msg, res => {
this.$viewer.show()
},
addImgOpen() {
this.addimg = true;
this.initimgList();
},
saveResource() {
//保存酒店信息
if (this.isBook) {
this.addMsg.IsSelfBook = 1;
} else {
this.addMsg.IsSelfBook = 0;
}
this.addMsg.FacilityServices = `${JSON.stringify(this.serviceList)}`;
this.addMsg.HotelPolicy = `${JSON.stringify(this.GetPolicy)}`;
this.addMsg.OpenPlatform = this.openplatString.toString();
this.addMsg.UseDinnerType = this.UseDinnerString.toString();
if (this.addMsg.IsUseDinner == 0) {
this.addMsg.UseDinnerType = "";
}
if (this.hoteID != "undefined") {
this.addMsg.ID = this.hotelID;
}
this.addMsg.HotelImageList = this.HotelImageArray;
this.addMsg.DeleteImageList = this.DeleteImageArray;
this.apipost(
"hotel_post_Set",
this.addMsg,
response => {
//修改添加接口
if (response.data.resultCode == 1) {
this.Success("保存成功!");
this.goUrl("HotelManagement");
} else {
this.Error(response.data.message);
}
},
null
);
},
init() {
var msg = {};
this.apipost(
"hotel_post_GetStar",
msg,
response => {
//初始化星级
if (response.data.resultCode == 1) {
this.starslevel = response.data.data;
}
},
null
);
this.apipost("hotel_post_GetPlatform", msg, res => {
//获取开放平台
this.openplatform = res.data.data;
});
},
inithotelService() {
//初始化酒店服务
let msg = {
Key: "SK_HOTEL_SERVICE"
};
this.apipost("dict_post_GetList", msg, res => {
if (res.data.resultCode == 1) {
var tempArray = res.data.data;
tempArray.forEach(item => {
item.checked = [];
});
this.serviceList = tempArray;
}
});
},
inithotelPolicy() {
//初始化酒店政策
let msg = {
Key: "SK_HOTEL_POLICY"
};
this.apipost("dict_post_GetList", msg, response => {
if (response.data.resultCode == 1) {
this.GetPolicy = response.data.data;
}
});
},
initimgList() {
//初始化弹窗图片列表
var keyWord = this.imgKeyword;
this.imglistArry = [];
let msg = {
Name: keyWord
};
this.apipost(
"hotel_post_GetPicList",
msg,
res => {
if (res.data.resultCode == 1) { if (res.data.resultCode == 1) {
this.imglistArry = res.data.data; var tempArray = res.data.data;
this.totalimg = this.imglistArry.length; tempArray.forEach(item => {
item.checked = [];
});
this.serviceList = tempArray;
} }
}, });
null },
); inithotelPolicy() {
}, //初始化酒店政策
selectImg(index) { let msg = {
//选取弹窗图片 Key: "SK_HOTEL_POLICY"
this.imglistArry[index].isShow = !this.imglistArry[index].isShow; };
let num = 0; this.apipost("dict_post_GetList", msg, response => {
if (this.imglistArry != null) { if (response.data.resultCode == 1) {
this.imglistArry.forEach(x => { this.GetPolicy = response.data.data;
if (x.isShow == true) {
num++;
} }
this.selecnum = num;
}); });
} },
}, initimgList() {
initHotelData() { //初始化弹窗图片列表
var msg = { var keyWord = this.imgKeyword;
hotelID: this.hotelID this.imglistArry = [];
}; let msg = {
this.getDinnerList(); Name: keyWord
var _self = this; };
this.apipost( this.apipost(
"hotel_post_GetAll", "hotel_post_GetPicList",
msg, msg,
res => { res => {
if (res.data.resultCode == 1) { if (res.data.resultCode == 1) {
_self.addMsg = res.data.data; this.imglistArry = res.data.data;
if (_self.addMsg.Country > 0) { this.totalimg = this.imglistArry.length;
this.GetSubAreaList(_self.addMsg.Country, 1, 1);
}
if (_self.addMsg.Province > 0) {
this.GetSubAreaList(_self.addMsg.Province, 2, 1);
}
if (_self.addMsg.IsUseDinner == 1) {
_self.isDinner = true;
} else {
_self.isDinner = false;
} }
if (_self.addMsg.UseDinnerType != "") { },
_self.UseDinnerformString = _self.addMsg.UseDinnerType.split(","); null
_self.UseDinnerformString.forEach(x => { );
_self.UseDinnerString.push(Number(x)); },
}); selectImg(index) {
//选取弹窗图片
this.imglistArry[index].isShow = !this.imglistArry[index].isShow;
let num = 0;
if (this.imglistArry != null) {
this.imglistArry.forEach(x => {
if (x.isShow == true) {
num++;
} }
this.selecnum = num;
});
}
},
initHotelData() {
var msg = {
hotelID: this.hotelID
};
this.getDinnerList();
var _self = this;
this.apipost(
"hotel_post_GetAll",
msg,
res => {
if (res.data.resultCode == 1) {
_self.addMsg = res.data.data;
if (_self.addMsg.Country > 0) {
this.GetSubAreaList(_self.addMsg.Country, 1, 1);
}
if (_self.addMsg.Province > 0) {
this.GetSubAreaList(_self.addMsg.Province, 2, 1);
}
if (_self.addMsg.IsUseDinner == 1) {
_self.isDinner = true;
} else {
_self.isDinner = false;
}
if (_self.addMsg.UseDinnerType != "") {
_self.UseDinnerformString = _self.addMsg.UseDinnerType.split(",");
_self.UseDinnerformString.forEach(x => {
_self.UseDinnerString.push(Number(x));
});
}
if (_self.addMsg.OpenPlatform != "") { if (_self.addMsg.OpenPlatform != "") {
_self.OpenPlatformStrings = _self.addMsg.OpenPlatform.split(","); _self.OpenPlatformStrings = _self.addMsg.OpenPlatform.split(",");
_self.OpenPlatformStrings.forEach(x => { _self.OpenPlatformStrings.forEach(x => {
_self.openplatString.push(Number(x)); _self.openplatString.push(Number(x));
}); });
} }
if (_self.addMsg.FacilityServices != "") { if (_self.addMsg.FacilityServices != "") {
var itemArray = JSON.parse(_self.addMsg.FacilityServices); var itemArray = JSON.parse(_self.addMsg.FacilityServices);
_self.serviceList.forEach(item => { _self.serviceList.forEach(item => {
var isFind = false; var isFind = false;
for (var i = 0; i < itemArray.length; i++) { for (var i = 0; i < itemArray.length; i++) {
if ( if (
item.ID == itemArray[i].ID && item.ID == itemArray[i].ID &&
itemArray[i].hasOwnProperty("checked") itemArray[i].hasOwnProperty("checked")
) { ) {
item.checked = itemArray[i].checked; item.checked = itemArray[i].checked;
break; break;
}
} }
} });
}); }
} if (_self.addMsg.HotelPolicy != "") {
if (_self.addMsg.HotelPolicy != "") { _self.GetPolicy = JSON.parse(_self.addMsg.HotelPolicy);
_self.GetPolicy = JSON.parse(_self.addMsg.HotelPolicy); }
} _self.isBook = _self.addMsg.IsSelfBook;
_self.isBook = _self.addMsg.IsSelfBook; if (res.data.data.List != null) {
if (res.data.data.List != null) { //临时文件
//临时文件 res.data.data.List.forEach(imgItem => {
res.data.data.List.forEach(imgItem => { var obj = this.$DMCUtils.DMCImageObj();
var obj = this.$DMCUtils.DMCImageObj(); obj.ID = imgItem.ID;
obj.ID = imgItem.ID; obj.Path = imgItem.Path;
obj.Path = imgItem.Path; obj.PicID = imgItem.PicID;
obj.PicID = imgItem.PicID; obj.ShowPath =
obj.ShowPath = _self.imgBeforeFile +
_self.imgBeforeFile + imgItem.Path;
imgItem.Path; this.HotelImageArray.push(obj);
this.HotelImageArray.push(obj); });
}); }
} else {
_self.Error(res.data.message);
} }
},
null
);
},
goUrl(path) {
this.$router.push({
path: path,
query: {
cache: true
}
});
},
submitForm(addMsg) {
//提交创建、修改表单
let that = this;
that.$refs[addMsg].validate(valid => {
if (valid) {
that.saveResource();
} else { } else {
_self.Error(res.data.message); return false;
} }
}, });
null },
); //选中的数组
}, checkImgList() {
goUrl(path) { if (this.imglistArry != null) {
this.$router.push({ this.imglistArry.forEach(x => {
path: path, if (x.isShow == true) {
query: { var obj = this.$DMCUtils.DMCImageObj();
cache: true obj.Path = "/U" + this.$commonUtils.getCaption(x.Path, "Upload");
obj.ShowPath = x.Path;
obj.PicID = x.ID;
this.HotelImageArray.push(obj);
}
x.isShow = false;
this.selecnum = 0;
});
} }
}); this.addimg = false;
}, },
submitForm(addMsg) { googleMap() {
//提交创建、修改表单 this.selectAddress = false;
let that = this; },
that.$refs[addMsg].validate(valid => { closeDMCchooseImg() {
if (valid) { this.addimg = false;
that.saveResource(); },
headCall(msg) {
// this.addMsg.QCountry = msg.country;
// this.addMsg.QProvince = msg.province;
// this.addMsg.QCity = msg.city;
// this.addMsg.Address = msg.address;
this.addMsg.Lng = msg.lng;
this.addMsg.Lat = msg.lat;
},
getDMCimg(imgArr) {
imgArr.forEach(imgItem => {
var obj = this.$DMCUtils.DMCImageObj();
obj.ID = 0;
obj.Path = this.$commonUtils.removeDomain(imgItem.Path);
obj.PicID = imgItem.ID;
obj.ShowPath = imgItem.Path + "?x-oss-process=image/resize,l_140";
this.HotelImageArray.push(obj);
});
},
getSuplier() {
let msg = {
Type: 1
}; //HK新增查询条件
this.apipost(
"supplier_post_GetAllList",
msg,
response => {
if (response.data.resultCode == 1) {
this.SupplierList = response.data.data;
}
},
null
);
},
//获取用餐列表
getDinnerList() {
if (this.isDinner) {
this.addMsg.IsUseDinner = 1;
} else { } else {
return false; this.addMsg.IsUseDinner = 0;
} }
}); let msg = {};
}, this.apipost(
//选中的数组 "hotel_get_GetUseDinnerTypeList",
checkImgList() { msg,
if (this.imglistArry != null) { res => {
this.imglistArry.forEach(x => { if (res.data.resultCode == 1) {
if (x.isShow == true) { this.dinerList = res.data.data;
var obj = this.$DMCUtils.DMCImageObj(); }
obj.Path = "/U" + this.$commonUtils.getCaption(x.Path, "Upload"); },
obj.ShowPath = x.Path; null
obj.PicID = x.ID; );
this.HotelImageArray.push(obj); },
} //获取国家
x.isShow = false; GetCounrty() {
this.selecnum = 0; this.apipost(
}); "dict_post_Destination_GetCountry", {},
} res => {
this.addimg = false; this.CountryList = res.data.data;
}, },
googleMap() { err => {}
this.selectAddress = false; );
}, },
closeDMCchooseImg() { //获取省份和城市
this.addimg = false; GetSubAreaList(ID, type, isClear) {
}, let msg = {
headCall(msg) { Id: ID
// this.addMsg.QCountry = msg.country; };
// this.addMsg.QProvince = msg.province; if (type == 1) {
// this.addMsg.QCity = msg.city; if (isClear != 1) {
// this.addMsg.Address = msg.address; this.addMsg.Province = 0;
this.addMsg.Lng = msg.lng; this.addMsg.City = 0;
this.addMsg.Lat = msg.lat;
},
getDMCimg(imgArr) {
imgArr.forEach(imgItem => {
var obj = this.$DMCUtils.DMCImageObj();
obj.ID = 0;
obj.Path = this.$commonUtils.removeDomain(imgItem.Path);
obj.PicID = imgItem.ID;
obj.ShowPath = imgItem.Path + "?x-oss-process=image/resize,l_140";
this.HotelImageArray.push(obj);
});
},
getSuplier() {
let msg = {
Type: 1
}; //HK新增查询条件
this.apipost(
"supplier_post_GetAllList",
msg,
response => {
if (response.data.resultCode == 1) {
this.SupplierList = response.data.data;
} }
}, } else if (type == 2) {
null if (isClear != 1) {
); this.addMsg.City = 0;
},
//获取用餐列表
getDinnerList() {
if (this.isDinner) {
this.addMsg.IsUseDinner = 1;
} else {
this.addMsg.IsUseDinner = 0;
}
let msg = {};
this.apipost(
"hotel_get_GetUseDinnerTypeList",
msg,
res => {
if (res.data.resultCode == 1) {
this.dinerList = res.data.data;
} }
},
null
);
},
//获取国家
GetCounrty() {
this.apipost(
"dict_post_Destination_GetCountry",
{},
res => {
this.CountryList = res.data.data;
},
err => {}
);
},
//获取省份和城市
GetSubAreaList(ID, type, isClear) {
let msg = {
Id: ID
};
if (type == 1) {
if (isClear != 1) {
this.addMsg.Province = 0;
this.addMsg.City = 0;
} }
} else if (type == 2) { if (this.addMsg.Country != 0) {
if (isClear != 1) { this.apipost(
this.addMsg.City = 0; "dict_post_Destination_GetChildList",
msg,
res => {
if (type == 1) {
this.ProvinceList = res.data.data;
} else if (type == 2) {
this.CityList = res.data.data;
}
},
err => {}
);
} }
} },
if (this.addMsg.Country != 0) { //获取支付方式列表
GetPayList() {
this.apipost( this.apipost(
"dict_post_Destination_GetChildList", "dmc_post_Get_GetPayStyleList", {},
msg,
res => { res => {
if (type == 1) { if (res.data.resultCode == 1) {
this.ProvinceList = res.data.data; this.PayList = res.data.data;
} else if (type == 2) {
this.CityList = res.data.data;
} }
}, },
err => {} err => {}
); );
} },
}, //获取酒店类型列表
//获取支付方式列表 GetHotelTypeList() {
GetPayList() { this.apipost(
this.apipost( "dmc_post_Get_GetHotelType", {},
"dmc_post_Get_GetPayStyleList", res => {
{}, if (res.data.resultCode == 1) {
res => { this.HotelTypeList = res.data.data;
if (res.data.resultCode == 1) { }
this.PayList = res.data.data; },
} err => {}
}, );
err => {} },
); GetHotelPirceTypeList() {
}, this.apipost(
//获取酒店类型列表 "dmc_post_Get_GetHotelPriceType", {},
GetHotelTypeList() { res => {
this.apipost( if (res.data.resultCode == 1) {
"dmc_post_Get_GetHotelType", this.HotelPirceTypeList = res.data.data;
{}, }
res => { },
if (res.data.resultCode == 1) { err => {}
this.HotelTypeList = res.data.data; );
} },
}, //图片左移右移
err => {} // ExchangeImg(index, IsMove) {
); // var imgItem = this.HotelImageArray[index];
}, // //左移
GetHotelPirceTypeList() { // if (IsMove == 0) {
this.apipost( // var upItem = this.HotelImageArray[index - 1];
"dmc_post_Get_GetHotelPriceType", // this.$set(this.HotelImageArray, index - 1, imgItem);
{}, // this.$set(this.HotelImageArray, index, upItem);
res => { // } else {
if (res.data.resultCode == 1) { // //右移动
this.HotelPirceTypeList = res.data.data; // var downItem = this.HotelImageArray[index + 1];
} // this.$set(this.HotelImageArray, index + 1, imgItem);
}, // this.$set(this.HotelImageArray, index, downItem);
err => {} // }
); // },
}, },
//图片左移右移 mounted() {
// ExchangeImg(index, IsMove) { let userInfo = this.getLocalStorage()
// var imgItem = this.HotelImageArray[index]; //有权限操作的部门
// //左移 if (userInfo.RB_Department_Id == 240 || userInfo.RB_Department_Id == 1 || userInfo.RB_Department_Id == 3 ||
// if (IsMove == 0) { userInfo.RB_Branch_id == 49) {
// var upItem = this.HotelImageArray[index - 1]; this.IsHaveAuth = 1;
// this.$set(this.HotelImageArray, index - 1, imgItem); }
// this.$set(this.HotelImageArray, index, upItem); this.GetPayList();
// } else { this.GetHotelTypeList();
// //右移动 this.GetHotelPirceTypeList();
// var downItem = this.HotelImageArray[index + 1]; this.qMsg = this.$route.query.qMsg;
// this.$set(this.HotelImageArray, index + 1, imgItem); this.hotelID = this.$route.query.id;
// this.$set(this.HotelImageArray, index, downItem); var jsArray = document.getElementsByTagName("script");
// } var flag = false;
// },
var jsUrl = this.domainManager().GoogleMapUrl;
}, for (var i = 0; i < jsArray.length; i++) {
mounted() { if (jsArray[i].src == jsUrl) {
this.GetPayList(); flag = true;
this.GetHotelTypeList(); }
this.GetHotelPirceTypeList(); }
this.qMsg = this.$route.query.qMsg; if (!flag) {
this.hotelID = this.$route.query.id; const s = document.createElement("script");
var jsArray = document.getElementsByTagName("script"); s.type = "text/javascript";
var flag = false; s.src = jsUrl;
document.body.appendChild(s);
}
this.GetCounrty();
this.inithotelService(); //初始化酒店服务
this.inithotelPolicy(); //初始化酒店政策
this.init(); //初始化星级和开放平台
this.getSuplier(); //初始化供应商
var jsUrl = this.domainManager().GoogleMapUrl; if (this.hotelID > 0) {
for (var i = 0; i < jsArray.length; i++) { this.initHotelData();
if (jsArray[i].src == jsUrl) {
flag = true;
} }
} }
if (!flag) { };
const s = document.createElement("script");
s.type = "text/javascript";
s.src = jsUrl;
document.body.appendChild(s);
}
this.GetCounrty();
this.inithotelService(); //初始化酒店服务
this.inithotelPolicy(); //初始化酒店政策
this.init(); //初始化星级和开放平台
this.getSuplier(); //初始化供应商
if (this.hotelID > 0) {
this.initHotelData();
}
}
};
</script> </script>
...@@ -133,16 +133,16 @@ ...@@ -133,16 +133,16 @@
</el-upload> </el-upload>
</div> </div>
</td> </td>
<!-- 房间预定数 --> <!-- 房间数 -->
<td> <td>
<el-input class='w40 tcenter' maxlength="2" @keyup.native="checkPrice(childItem,'HouseTypeCount')" <el-input class='w40 tcenter' maxlength="2" @keyup.native="checkPrice(childItem,'HouseTypeCount')"
v-model='childItem.HouseTypeCount'></el-input> v-model='childItem.HouseTypeCount' :disabled="childIndex<4?true:false"></el-input>
</td> </td>
<!-- 预定人数 --> <!-- 预定人数 -->
<td> <td>
<el-input class='w40 tcenter' maxlength="2" @keyup.native="checkInteger(childItem,'BookNum')" <el-input class='w40 tcenter' maxlength="2" @keyup.native="checkInteger(childItem,'BookNum')"
@input="calculationPrice(subItem)" v-model='childItem.BookNum'></el-input> @input="calculationPrice(subItem)" v-model='childItem.BookNum' :disabled="childIndex<4?true:false">
</el-input>
</td> </td>
<!-- 尚差房间数 --> <!-- 尚差房间数 -->
<td> <td>
...@@ -198,12 +198,14 @@ ...@@ -198,12 +198,14 @@
<tr> <tr>
<td width="70" style="text-align:right;">付款方式:</td> <td width="70" style="text-align:right;">付款方式:</td>
<td> <td>
<el-select class='w135 sel' v-model='subItem.PayStyle' :placeholder="$t('pub.pleaseSel')"> <el-select class='w135 sel' v-model='subItem.PayStyle' :placeholder="$t('pub.pleaseSel')"
:disabled="true">
<el-option label='请选择' :value='0'></el-option> <el-option label='请选择' :value='0'></el-option>
<el-option label='现付' :value='1'></el-option> <el-option label='现付' :value='1'></el-option>
<el-option label='签单' :value='2'></el-option> <el-option label='签单' :value='2'></el-option>
<el-option label='实物抵扣' :value='5'></el-option> <el-option label='实物抵扣' :value='3'></el-option>
<el-option label='预付' :value='4'></el-option> <el-option label='预付' :value='4'></el-option>
<el-option label='预付款抵扣' :value='5'></el-option>
<el-option label='公司合团支付' :value='6'></el-option> <el-option label='公司合团支付' :value='6'></el-option>
</el-select> </el-select>
</td> </td>
...@@ -466,6 +468,7 @@ ...@@ -466,6 +468,7 @@
obj.Address = ckedObj.Address; obj.Address = ckedObj.Address;
obj.Tel = ckedObj.Tel; obj.Tel = ckedObj.Tel;
obj.NewHotelName = ckedObj.Name; obj.NewHotelName = ckedObj.Name;
obj.PayStyle = ckedObj.PayStyle;
} else { } else {
obj.Address = ''; obj.Address = '';
obj.Tel = ''; obj.Tel = '';
...@@ -509,11 +512,11 @@ ...@@ -509,11 +512,11 @@
}) })
this.loading = true; this.loading = true;
this.apipost('dmcstatistics_get_SetHotelOrder', this.list, res => { this.apipost('dmcstatistics_get_SetHotelOrder', this.list, res => {
this.loading = false;
if (res.data.resultCode == 1) { if (res.data.resultCode == 1) {
this.getList(); this.getList();
this.Success(res.data.message); this.Success(res.data.message);
} else { } else {
this.loading = false
this.Error(res.data.message); this.Error(res.data.message);
} }
}, err => {}) }, err => {})
...@@ -579,7 +582,7 @@ ...@@ -579,7 +582,7 @@
let width = window.innerWidth - 50; let width = window.innerWidth - 50;
let height = window.innerHeight - 65 - 55; let height = window.innerHeight - 65 - 55;
this.boxHeight = height; this.boxHeight = height;
this.offsetwidth = width this.offsetwidth = width;
this.getList(); this.getList();
} }
} }
......
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