Commit a7e44f10 authored by liudong1993's avatar liudong1993
parents 2733884c dcf4d079
.bjE6{ .bjE6{
background: #e6e6e6; background: #e6e6e6;
} }
.bjF6{
background: #f6f6f6;
}
.relative{ .relative{
position: relative; position: relative;
} }
......
...@@ -182,7 +182,7 @@ ...@@ -182,7 +182,7 @@
placeholder="请输入关键字" /> placeholder="请输入关键字" />
<span class="search-imgicon"><i class="iconfont icon-img_cz searchImgIcon" @click="getList"></i></span> <span class="search-imgicon"><i class="iconfont icon-img_cz searchImgIcon" @click="getList"></i></span>
</span> </span>
<div class="addimgContent test-1"> <div class="addimgContent test-1" v-loading="loading">
<div class="addimgDiv" v-for="(item, index) in imglistArry" :key="item.subCode" <div class="addimgDiv" v-for="(item, index) in imglistArry" :key="item.subCode"
v-if="item.isShowImgDiv && item.Path != null"> v-if="item.isShowImgDiv && item.Path != null">
<div class="itemImgdiv" @click="selectImg(index)"> <div class="itemImgdiv" @click="selectImg(index)">
...@@ -246,6 +246,7 @@ export default { ...@@ -246,6 +246,7 @@ export default {
props: ["imgType", "isCheckmore", 'queryItem', 'IsShowAdd', 'IsShowVideo', 'checkType'], props: ["imgType", "isCheckmore", 'queryItem', 'IsShowAdd', 'IsShowVideo', 'checkType'],
data() { data() {
return { return {
loading: false,
queryMsg: { queryMsg: {
pageSize: 50, pageSize: 50,
pageIndex: 1, pageIndex: 1,
...@@ -280,6 +281,7 @@ export default { ...@@ -280,6 +281,7 @@ export default {
getList() { getList() {
//初始化弹窗图片列表 //初始化弹窗图片列表
this.imglistArry = []; this.imglistArry = [];
this.loading = true
this.apipost( this.apipost(
"hotel_post_GetPicList", "hotel_post_GetPicList",
this.queryMsg, this.queryMsg,
...@@ -290,6 +292,9 @@ export default { ...@@ -290,6 +292,9 @@ export default {
x.isShowImgDiv = true; x.isShowImgDiv = true;
}) })
this.queryMsg.total = res.data.data.count; this.queryMsg.total = res.data.data.count;
this.loading = false
}else{
this.loading = false
} }
}, },
null null
...@@ -452,6 +457,9 @@ export default { ...@@ -452,6 +457,9 @@ export default {
}, },
//点击确定选择 //点击确定选择
chkedVideoList() { chkedVideoList() {
if(this.isCheckmore>1&&this.selectVideoArr.length>this.isCheckmore){
return this.Error(`最多选${this.isCheckmore}张图`);
}
this.$emit("headCallBack", this.selectVideoArr); this.$emit("headCallBack", this.selectVideoArr);
this.$emit("closeImg"); this.$emit("closeImg");
} }
......
...@@ -7,11 +7,11 @@ ...@@ -7,11 +7,11 @@
<span class="foldList" @click="fold" v-if="isFold==''">{{$t('sm.djzd')}}</span> <span class="foldList" @click="fold" v-if="isFold==''">{{$t('sm.djzd')}}</span>
<span class="foldList" @click="fold" v-if="isFold==1">{{$t('sm.djzk')}}</span> <span class="foldList" @click="fold" v-if="isFold==1">{{$t('sm.djzk')}}</span>
<div class="TrfList clearfix"> <div class="TrfList clearfix">
<!--&&item.TypeState!=8--> <!--&&item.TypeState!=8-->
<div class="TFslide" v-for="item in TypeArray" <div class="TFslide" v-for="item in TypeArray"
:class="{'TFcked':item.isShow,'display_none':(item.TypeState===4 && FeatureData.FeatureType !== 4) || (item.TypeState===4 && !$route.query.configId)}" :class="{'TFcked':item.isShow,'display_none':(item.TypeState===4 && FeatureData.FeatureType !== 4) || (item.TypeState===4 && !$route.query.configId)}"
@click="clickFeature(item)" :key="item.subCode" @click="clickFeature(item)" :key="item.subCode"
v-if="((item.TypeState>3 && CurrentUserInfo.RB_Group_id==QjGroupId())||item.TypeState<=3)&&item.TypeState!=8"> v-if="((item.TypeState>3 && CurrentUserInfo.RB_Group_id==QjGroupId())||item.TypeState<=3)">
<img v-bind:src="item.imgUrl"> <img v-bind:src="item.imgUrl">
<div>{{item.ckTitle}}</div> <div>{{item.ckTitle}}</div>
</div> </div>
...@@ -105,9 +105,11 @@ ...@@ -105,9 +105,11 @@
v-if="(FeatureData.FeatureType===FeatureTypeState.travelSpecial2 || FeatureData.FeatureType===6 || FeatureData.FeatureType===7) && FeatureDataFlag"> v-if="(FeatureData.FeatureType===FeatureTypeState.travelSpecial2 || FeatureData.FeatureType===6 || FeatureData.FeatureType===7) && FeatureDataFlag">
<newFeature2 ref='newFeature2' :FeatureData='FeatureData'></newFeature2> <newFeature2 ref='newFeature2' :FeatureData='FeatureData'></newFeature2>
</div> </div>
<!--行程特色第三版 --> <div v-if="FeatureData.FeatureType==8&&FeatureDataFlag">
<UpgradedVersion :TripColor="FeatureData.TripColor" v-if="FeatureData.FeatureType==8" <!--行程特色第三版 -->
:FeatureData='FeatureData'></UpgradedVersion> <UpgradedVersion ref="UpgradedVersion" :TripColor="FeatureData.TripColor" :FeatureData='FeatureData'>
</UpgradedVersion>
</div>
</div> </div>
</div> </div>
</div> </div>
...@@ -119,7 +121,6 @@ ...@@ -119,7 +121,6 @@
import userDefined from "../../../assets/img/userDefined.png"; import userDefined from "../../../assets/img/userDefined.png";
import MyEdit from "../../EditTemplate.vue"; import MyEdit from "../../EditTemplate.vue";
import vEditDiv from "./TravelTemp/VEditDiv";
import travelHotel1 from "./TravelTemp/TravelHotel1"; import travelHotel1 from "./TravelTemp/TravelHotel1";
import travelHotel2 from "./TravelTemp/TravelHotel2"; import travelHotel2 from "./TravelTemp/TravelHotel2";
import travelHotel3 from "./TravelTemp/TravelHotel3"; import travelHotel3 from "./TravelTemp/TravelHotel3";
...@@ -136,7 +137,6 @@ ...@@ -136,7 +137,6 @@
} from 'timers'; } from 'timers';
export default { export default {
components: { components: {
vEditDiv,
travelHotel1, travelHotel1,
travelHotel2, travelHotel2,
travelHotel3, travelHotel3,
...@@ -336,9 +336,22 @@ ...@@ -336,9 +336,22 @@
FeatureData.FeatureHtmlJsonDelete = JSON.stringify(obj.deleteArray); FeatureData.FeatureHtmlJsonDelete = JSON.stringify(obj.deleteArray);
} catch (err) {} } catch (err) {}
} }
//新版行程特色
if (this.$refs.UpgradedVersion != undefined) {
obj = this.$refs.UpgradedVersion.getFeatureData()
FeatureData.FeatureHtmlJson = JSON.stringify(obj.basicData);
FeatureData.FeatureHtmlJsonDelete = "";
}
setTimeout(() => { setTimeout(() => {
try { try {
FeatureData.FeatureHtml = document.getElementById("newFeatureBox").innerHTML; var newHtml = "";
if (document.getElementById("newFeatureBox")) {
newHtml = document.getElementById("newFeatureBox").innerHTML;
}
if (document.getElementById("newFeatureBox3")) {
newHtml = document.getElementById("newFeatureBox3").innerHTML;
}
FeatureData.FeatureHtml = newHtml;
} catch (err) {} } catch (err) {}
this.apipost("travel_post_SetFeature", FeatureData, res => { this.apipost("travel_post_SetFeature", FeatureData, res => {
try { try {
......
...@@ -185,7 +185,7 @@ ...@@ -185,7 +185,7 @@
TemplateId: 1, TemplateId: 1,
IsSave: false, //是否保存 IsSave: false, //是否保存
TripColor: "", //行程特色主色 TripColor: "", //行程特色主色
LtName:"",//系列名称 LtName: "", //系列名称
}, },
//线路行程 //线路行程
journeyList: { journeyList: {
...@@ -817,7 +817,7 @@ ...@@ -817,7 +817,7 @@
} else if (tempData.LineTripColor && tempData.LineTripColor != '') { } else if (tempData.LineTripColor && tempData.LineTripColor != '') {
this.FeatureData.TripColor = tempData.LineTripColor; this.FeatureData.TripColor = tempData.LineTripColor;
} }
this.FeatureData.LtName=tempData.LtName; this.FeatureData.LtName = tempData.LtName;
this.FeatureData.DayList = tempData.DayList; this.FeatureData.DayList = tempData.DayList;
this.ConfigId = tempData.ID; this.ConfigId = tempData.ID;
......
...@@ -5,7 +5,7 @@ ...@@ -5,7 +5,7 @@
</template> </template>
<script> <script>
export default { export default {
props: ["value", "canEdit","textLength"], props: ["value", "canEdit", "textLength"],
data() { data() {
return { return {
innerText: this.value, innerText: this.value,
...@@ -21,26 +21,19 @@ ...@@ -21,26 +21,19 @@
}, },
methods: { methods: {
changeText: function () { changeText: function () {
let sel = window.getSelection() let sel = window.getSelection();
let offset = sel.anchorOffset let offset = sel.anchorOffset;
if(this.$el.innerText.length>this.textLength){ if (this.textLength&&this.$el.innerText.length > this.textLength) {
this.$el.innerText = this.$el.innerText.slice(0,3) this.$el.innerText = this.$el.innerText.slice(0, this.textLength);
} }
if(this.textLength) this.$el.innerText = this.$el.innerText.slice(0,this.textLength)
this.$emit("input", this.$el.innerText); this.$emit("input", this.$el.innerText);
setTimeout(() => { setTimeout(() => {
var range = sel.getRangeAt(0); var range = sel.getRangeAt(0);
if (range) { var textNode = range.startContainer;
var textNode = range.startContainer; range.setStart(textNode, offset);
if (textNode) { sel.removeAllRanges();
range.setStart(textNode, offset) sel.addRange(range);
} }, 0);
if (sel) {
sel.removeAllRanges()
sel.addRange(range)
}
}
}, 0)
} }
} }
}; };
......
<template> <template>
<div class="UpgradedVersionDetails-form absolute row-sb z-index1" :style="{'background':backgroundColor}"> <div>
<div class="UpgradedVersionDetails-form absolute row-sb z-index1" :style="{'background':backgroundColor}">
<div class="UpgradedVersionDetails-form-Box absolute UpgradedVersion-Hover"> <div class="UpgradedVersionDetails-form-Box absolute UpgradedVersion-Hover">
<div class="UpgradedVersionDetails-formBox1 absolute"> <div class="UpgradedVersionDetails-formBox1 absolute">
<FeatureControls :index="index" :FeatureData="FeatureData" :ControlsType="'row'" <FeatureControls :index="index" :FeatureData="FeatureData" :ControlsType="'row'"
:isDeletePage="FeatureData.isDeletePage" :pagesType="3" @toAddPages="toAddPages" :isDeletePage="FeatureData.isDeletePage" :pagesType="3" @toAddPages="toAddPages"
@toDeletePages="toDeletePages"> @toDeletePages="toDeletePages">
</FeatureControls> </FeatureControls>
<input type="file" style="display:none" id='restaurantfile' @change="uploadpic"> <input type="file" style="display:none" :id="'GouDetaFile_'+(index * 2 + 1)+'_0'" @change="uploadpic">
</div>
</div> </div>
</div> <div class="UpgradedVersionDetails-box column" v-for="(item,i) in FeatureData.dataObj.SubList">
<div class="UpgradedVersionDetails-box column" v-for="(item,index) in FeatureData.dataObj.SubList"> <div class="UpgradedVersionDetails-imgbox row-aic UpgradedVersion-Hover">
<div class="UpgradedVersionDetails-imgbox row-aic UpgradedVersion-Hover"> <div class="UpgradedVersionDetails-img relative">
<div class="UpgradedVersionDetails-img relative"> <div class="UpgradedVersionDetails1 absolute z-index1">
<div class="UpgradedVersionDetails1 absolute z-index1"> <FeatureControls v-if="FeatureData" :index="index" :FeatureData="FeatureData" :isUploadImg="true"
<FeatureControls v-if="FeatureData" :index="index" :FeatureData="FeatureData" :isUploadImg="true" :isSelectImg="true" @toUploadImg="UploadImg(i)" @toSelectImg="SelectImg(i)" @toAddImg="AddImg"
:isSelectImg="true" @toUploadImg="UploadImg" @toSelectImg="SelectImg" @toAddImg="AddImg" @toDeleteImg="DeleteImg(i)" />
@toDeleteImg="DeleteImg" /> </div>
</div> <div class="UpgradedVersionDetails-imgOne bjE6">
<div class="UpgradedVersionDetails-imgOne bjE6"> <template v-if="item.ImgList&&item.ImgList.length>0">
<template v-if="item.ImgList&&item.ImgList.length>0"> <img :src="item.ImgList[0].url" />
<img :src="item.ImgList[0].url" /> </template>
</template> <template v-else>
<template v-else> <img src="http://192.168.10.214:8130/Upload/NewTripFeature/homeBj.png" />
<img src="http://192.168.10.214:8130/Upload/NewTripFeature/homeBj.png" /> </template>
</template> </div>
<div class="UpgradedVersionDetails-detailsTop absolute"></div>
</div> </div>
<div class="UpgradedVersionDetails-detailsTop absolute"></div>
</div> </div>
</div> <!-- UpgradedVersionDetails-two 02 UpgradedVersionDetails-three 03-->
<!-- UpgradedVersionDetails-two 02 UpgradedVersionDetails-three 03--> <div class="UpgradedVersionDetails-Title UpgradedVersionDetails-two">
<div class="UpgradedVersionDetails-Title UpgradedVersionDetails-two"> <div class="UpgradedVersionDetails-Img-one relative">
<div class="UpgradedVersionDetails-Img-one relative"> <div class="UpgradedVersionDetails-num relative" :style="{'color':TripColor}">
<div class="UpgradedVersionDetails-num relative" :style="{'color':TripColor}"> <span class="absolute">{{'0'+(i+1)}}</span>
<span class="absolute">{{'0'+(index+1)}}</span> </div>
<div class="UpgradedVersionDetails-T absolute">
<vEditDiv :canEdit='canEdit1' v-model="item.MainDesc"></vEditDiv>
</div>
</div> </div>
<div class="UpgradedVersionDetails-T absolute"> <div class="UpgradedVersionDetails-Img-two relative">
<vEditDiv :canEdit='canEdit1' v-model="item.MainDesc"></vEditDiv> <template v-for="(items,indexs) in subscriptText">
<p :key="indexs+10000" class="absolute row-sb" v-if="indexs==index" :style="{'color':TripColor}">
<span v-for="(t,i) in items.Name" :key="i+100000">{{t}}</span>
</p>
</template>
</div>
<div class="UpgradedVersionDetails-T-two">
<vEditDiv :canEdit='canEdit' v-model="item.MainName"></vEditDiv>
</div> </div>
</div>
<div class="UpgradedVersionDetails-Img-two relative">
<template v-for="(items,indexs) in subscriptText">
<p :key="indexs+10000" class="absolute row-sb" v-if="indexs==index" :style="{'color':TripColor}">
<span v-for="(t,i) in items.Name" :key="i+100000">{{t}}</span>
</p>
</template>
</div>
<div class="UpgradedVersionDetails-T-two">
<vEditDiv :canEdit='canEdit' v-model="item.MainName"></vEditDiv>
</div> </div>
</div> </div>
</div> </div>
<el-dialog custom-class="resourceImgAdd" :title="$t('sm.chooseImg')" center :visible.sync="isShowScenicImg">
<!--imgType:1-酒店,2-餐厅,3-景点,4-票务,5-车辆,6-领队,7-购物店,isCheckmore:是否多选图片-->
<DMCchooseImg @closeImg="closeDMCchooseImg" ref="DMCchooseImg1" @headCallBack="getDMCimg" v-bind:isCheckmore="1"
v-bind:imgType="choseType" v-bind:queryItem="queryItem" v-bind:IsShowAdd="true" v-bind:IsShowVideo="true">
</DMCchooseImg>
</el-dialog>
</div> </div>
</template> </template>
...@@ -59,8 +66,10 @@ ...@@ -59,8 +66,10 @@
import subheading from "./components/subheading"; import subheading from "./components/subheading";
import vEditDiv from "../TravelTemp/VEditDiv"; import vEditDiv from "../TravelTemp/VEditDiv";
import FeatureControls from "./components/featureControls"; import FeatureControls from "./components/featureControls";
import DMCchooseImg from "../../../commonPage/DMCchooseImg.vue";
export default { export default {
components: { components: {
DMCchooseImg,
MasterMapList, MasterMapList,
subheading, subheading,
vEditDiv, vEditDiv,
...@@ -88,12 +97,20 @@ ...@@ -88,12 +97,20 @@
Name: 'DELICIOUS', Name: 'DELICIOUS',
Id: 2 Id: 2
} }
] ],
choseType: 0,
queryItem: {
queryName: '',
queryId: 0,
},
isShowScenicImg: false,
MasterMapIndex: null,//主图下标
}; };
}, },
methods: { methods: {
UploadImg() { UploadImg(index) {
this.MasterMapIndex = index
document.querySelector(`#GouDetaFile_${(this.index * 2 + 1)}_0`).click();
}, },
uploadpic(e) { uploadpic(e) {
let that = this; let that = this;
...@@ -109,13 +126,19 @@ ...@@ -109,13 +126,19 @@
that.uploadSelfBlob(path, newArr, x => { that.uploadSelfBlob(path, newArr, x => {
let allPath = that.domainManager().ViittoFileUrl + x.data.FilePath; let allPath = that.domainManager().ViittoFileUrl + x.data.FilePath;
let i = e.target.id.split("_")[2]; let i = e.target.id.split("_")[2];
that.imgUrlChange(allPath); that.FeatureData.dataObj.SubList[that.MasterMapIndex].ImgList[0].url = allPath
}); });
}; };
reader.readAsDataURL(e.target.files[0]); reader.readAsDataURL(e.target.files[0]);
} }
}, },
SelectImg() { SelectImg(index) {
this.MasterMapIndex = index?index:0
if(this.FeatureData.pageType==3) this.choseType = 2
else if(this.FeatureData.pageType==4) this.choseType = 1
else if(this.FeatureData.pageType==5) this.choseType = 2
else if(this.FeatureData.pageType==6) this.choseType = 3
else this.choseType = 0
this.isShowScenicImg = true this.isShowScenicImg = true
}, },
AddImg() { AddImg() {
...@@ -124,12 +147,20 @@ ...@@ -124,12 +147,20 @@
DeleteImg() { DeleteImg() {
}, },
toAddPages(index, FeatureData) { toAddPages() {
this.$emit('toAddPages', index, FeatureData) this.$emit('toAddPages', this.index, this.FeatureData)
}, },
toDeletePages(index, FeatureData) { toDeletePages() {
this.$emit('toDeletePages', index, FeatureData) this.$emit('toDeletePages', this.index)
}, },
closeDMCchooseImg() {
this.isShowScenicImg = false
},
getDMCimg(selectImgArr) {
let Path = selectImgArr[0].Path
this.FeatureData.dataObj.SubList[this.MasterMapIndex].ImgList[0].url = Path
this.isShowScenicImg = false
}
}, },
computed: {}, computed: {},
watch: { watch: {
...@@ -140,6 +171,13 @@ ...@@ -140,6 +171,13 @@
deep: false, deep: false,
immediate: true immediate: true
}, },
FeatureData: {
handler(val, oldVal) {
},
deep: true,
immediate: true
},
}, },
mounted() { mounted() {
......
...@@ -62,10 +62,10 @@ ...@@ -62,10 +62,10 @@
<div class="subIdeImg1relative relative UpgradedVersion-Hover"> <div class="subIdeImg1relative relative UpgradedVersion-Hover">
<div class="subIdeImgForm1Box absolute"> <div class="subIdeImgForm1Box absolute">
<FeatureControls v-if="FeatureData" :index="index" :FeatureData="FeatureData" :isUploadImg="true" <FeatureControls v-if="FeatureData" :index="index" :FeatureData="FeatureData" :isUploadImg="true"
:isSelectImg="true" :isDeleteImg="false" @toUploadImg="toUploadImg" @toSelectImg="toSelectImg" :isSelectImg="true" :isDeleteImg="false" @toUploadImg="toUploadImg(0)" @toSelectImg="toSelectImg(0)"
@toAddImg="toAddImg" @toDeleteImg="toDeleteImg" /> @toAddImg="toAddImg" @toDeleteImg="toDeleteImg(0)" />
</div> </div>
<img src="http://192.168.10.214:8130/Upload/NewTripFeature/homeBj.png" /> <img v-if="FeatureData.dataObj&&FeatureData.dataObj.SubList" :src="FeatureData.dataObj.SubList[0].url" />
</div> </div>
</div> </div>
</div> </div>
...@@ -76,10 +76,10 @@ ...@@ -76,10 +76,10 @@
<div class="subIdeImg1relative relative"> <div class="subIdeImg1relative relative">
<div class="subIdeImgForm1Box absolute"> <div class="subIdeImgForm1Box absolute">
<FeatureControls v-if="FeatureData" :index="index" :FeatureData="FeatureData" :isUploadImg="true" <FeatureControls v-if="FeatureData" :index="index" :FeatureData="FeatureData" :isUploadImg="true"
:isSelectImg="true" :isDeleteImg="false" @toUploadImg="toUploadImg" @toSelectImg="toSelectImg" :isSelectImg="true" :isDeleteImg="false" @toUploadImg="toUploadImg(1)" @toSelectImg="toSelectImg(1)"
@toAddImg="toAddImg" @toDeleteImg="toDeleteImg" /> @toAddImg="toAddImg" @toDeleteImg="toDeleteImg(1)" />
</div> </div>
<img src="http://192.168.10.214:8130/Upload/NewTripFeature/homeBj.png" /> <img v-if="FeatureData.dataObj&&FeatureData.dataObj.SubList" :src="FeatureData.dataObj.SubList[1].url" />
</div> </div>
</div> </div>
</div> </div>
...@@ -121,20 +121,20 @@ ...@@ -121,20 +121,20 @@
}; };
}, },
methods: { methods: {
toUploadImg() { toUploadImg(index) {
this.$emit('toUploadImg') this.$emit('toUploadImg',index,'模版图')
}, },
toSelectImg() { toSelectImg(index) {
this.$emit('toSelectImg') this.$emit('toSelectImg',index,'模版图')
}, },
toAddImg() { toAddImg() {
this.$emit('toAddImg') this.$emit('toAddImg')
}, },
toDeleteImg() { toDeleteImg(index) {
this.$emit('toDeleteImg') this.$emit('toDeleteImg',index,'模版图')
}, },
setTemplate(TemplateType) { setTemplate(TemplateType) {
this.$emit('setTemplate', this.index, TemplateType) this.$emit('setTemplate',TemplateType)
} }
}, },
computed: {}, computed: {},
...@@ -388,6 +388,8 @@ ...@@ -388,6 +388,8 @@
.subIdeImg1relative { .subIdeImg1relative {
left: 0px; left: 0px;
top: 0px; top: 0px;
width: 100%;
height: 100%;
} }
.subIdeImg1relative img { .subIdeImg1relative img {
......
...@@ -31,7 +31,7 @@ ...@@ -31,7 +31,7 @@
:isUploadImg="true" :isSelectImg="true" :isAddImg="false" :isDeleteImg="false" @toUploadImg="UploadImg" :isUploadImg="true" :isSelectImg="true" :isAddImg="false" :isDeleteImg="false" @toUploadImg="UploadImg"
@toSelectImg="SelectImg" @toAddImg="AddImg" @toDeleteImg="DeleteImg"></FeatureControls> @toSelectImg="SelectImg" @toAddImg="AddImg" @toDeleteImg="DeleteImg"></FeatureControls>
</div> </div>
<div class="featureHome-left-one bjE6 absolute z-index2"> <div class="featureHome-left-one bjF6 absolute z-index2">
<template v-if="FeatureItem.dataObj.ImgList&&FeatureItem.dataObj.ImgList.length>0"> <template v-if="FeatureItem.dataObj.ImgList&&FeatureItem.dataObj.ImgList.length>0">
<img :src="FeatureItem.dataObj.ImgList[0].url" /> <img :src="FeatureItem.dataObj.ImgList[0].url" />
</template> </template>
......
...@@ -9,17 +9,20 @@ ...@@ -9,17 +9,20 @@
:isDeletePage="FeatureItem.isDeletePage" :pagesType="1" @toAddPages="toAddPages" :isDeletePage="FeatureItem.isDeletePage" :pagesType="1" @toAddPages="toAddPages"
@toDeletePages="toDeletePages"> @toDeletePages="toDeletePages">
</FeatureControls> </FeatureControls>
<input type="file" style="display:none" :id="'introducefile_'+(FeatureItem * 2 + 1) + '_0'" @change="uploadpic"> <input type="file" style="display:none" :id="'introducefile_'+(index * 2 + 1) + '_0'" @change="uploadpic">
</div> </div>
<div class="MasterMapList-box-two absolute z-index3"> <div class="MasterMapList-box-two absolute z-index3">
<FeatureControls :index="index" :FeatureData="FeatureItem" :ControlsType="'column'" <FeatureControls :index="index" :FeatureData="FeatureItem" :ControlsType="'column'"
:isUploadImg="FeatureItem.pageType==2?true:false" :isSelectImg="FeatureItem.pageType==2?true:false" :isUploadImg="FeatureItem.pageType==2?true:false" :isSelectImg="FeatureItem.pageType==2?true:false"
:isAddImg="FeatureItem.pageType==2?false:true" :isDeleteImg="false" @toUploadImg="UploadImg" :isAddImg="FeatureItem.pageType==2?false:
FeatureItem.pageType!=2&&FeatureItem.dataObj.ImgList
&&FeatureItem.dataObj.ImgList.length!=9?true:false" :isDeleteImg="false" @toUploadImg="UploadImg"
@toSelectImg="SelectImg" @toAddImg="AddImg" @toDeleteImg="DeleteImg"></FeatureControls> @toSelectImg="SelectImg" @toAddImg="AddImg" @toDeleteImg="DeleteImg"></FeatureControls>
</div> </div>
</div> </div>
<!-- 上传主图文件 -->
<MasterMapList :index="index" :FeatureData="FeatureItem" @toUploadImg="UploadImg" @toSelectImg="SelectImg" <input type="file" style="display:none" :id="'MasterMapfile_'+(index * 2 + 1)" @change="uploadpic">
<MasterMapList :index="index" :FeatureData="FeatureItem.dataObj" :pageType="FeatureItem.pageType" @toUploadImg="UploadImg" @toSelectImg="SelectImg"
@toAddImg="AddImg" @toDeleteImg="DeleteImg"></MasterMapList> @toAddImg="AddImg" @toDeleteImg="DeleteImg"></MasterMapList>
<!-- 副标题 --> <!-- 副标题 -->
...@@ -69,19 +72,26 @@ ...@@ -69,19 +72,26 @@
queryItem: { queryItem: {
queryName: '', queryName: '',
queryId: 0, queryId: 0,
} },
MasterMapIndex: null,//主图下标
StencilDrawing: false,//是否是模版图
}; };
}, },
methods: { methods: {
UploadImg() { UploadImg(index,type) {
this.MasterMapIndex = index?index:0
if(type) this.StencilDrawing = true
else this.StencilDrawing = false
if(this.FeatureItem.pageType==2){ if(this.FeatureItem.pageType==2){
document.querySelector(`#introducefile_${(this.FeatureItem * 2 + 1)}_0`).click(); document.querySelector(`#introducefile_${(this.index * 2 + 1)}_0`).click();
}else{
document.querySelector(`#MasterMapfile_${(this.index * 2 + 1)}`).click();
} }
}, },
uploadpic(e) { uploadpic(e) {
let that = this; let that = this;
if (e.target.files.length > 0 && e.target.files[0].size > 0) { if (e.target.files.length > 0 && e.target.files[0].size > 0) {
// 压缩图片需要的一些元素和对象
var reader = new FileReader(); var reader = new FileReader();
reader.onload = function (event) { reader.onload = function (event) {
let blob = that.base64ToBlob(event.target.result); let blob = that.base64ToBlob(event.target.result);
...@@ -92,38 +102,60 @@ ...@@ -92,38 +102,60 @@
that.uploadSelfBlob(path, newArr, x => { that.uploadSelfBlob(path, newArr, x => {
let allPath = that.domainManager().ViittoFileUrl + x.data.FilePath; let allPath = that.domainManager().ViittoFileUrl + x.data.FilePath;
let i = e.target.id.split("_")[2]; let i = e.target.id.split("_")[2];
if(that.FeatureItem.pageType==2){ if(that.StencilDrawing){
that.FeatureItem.dataObj.ImgList[0].url = allPath that.FeatureItem.dataObj.SubList[that.MasterMapIndex].url = allPath
}else{
that.FeatureItem.dataObj.ImgList[that.MasterMapIndex].url = allPath
} }
}); });
}; };
reader.readAsDataURL(e.target.files[0]); reader.readAsDataURL(e.target.files[0]);
} }
}, },
SelectImg() { SelectImg(index,type) {
this.MasterMapIndex = index?index:0
if(type) this.StencilDrawing = true
else this.StencilDrawing = false
if(this.FeatureItem.pageType==3) this.choseType = 2
else if(this.FeatureItem.pageType==4) this.choseType = 1
else if(this.FeatureItem.pageType==5) this.choseType = 2
else if(this.FeatureItem.pageType==6) this.choseType = 3
else this.choseType = 0
this.isShowScenicImg = true this.isShowScenicImg = true
}, },
AddImg() { AddImg() {
let obj = {
url:''
}
this.FeatureItem.dataObj.ImgList.push(obj)
}, },
DeleteImg() { DeleteImg(index,type) {
if(type) this.StencilDrawing = true
else this.StencilDrawing = false
if(this.StencilDrawing){
this.FeatureItem.dataObj.SubList.splice(index,1)
}else{
this.FeatureItem.dataObj.ImgList.splice(index,1)
}
}, },
toAddPages(index, FeatureData) { toAddPages() {
this.$emit('toAddPages', index, FeatureData) this.$emit('toAddPages', this.index, this.FeatureItem)
}, },
toDeletePages(index, FeatureData) { toDeletePages() {
this.$emit('toDeletePages', index, FeatureData) this.$emit('toDeletePages', this.index, this.FeatureItem)
}, },
setTemplate(index, TemplateType) { setTemplate(TemplateType) {
this.$emit('setTemplate', index, TemplateType) this.FeatureItem.pageTemplate = TemplateType
}, },
closeDMCchooseImg() { closeDMCchooseImg() {
this.isShowScenicImg = false this.isShowScenicImg = false
}, },
getDMCimg(selectImgArr) { getDMCimg(selectImgArr) {
if(this.FeatureItem.pageType==2){ let Path = selectImgArr[0].Path
this.FeatureItem.dataObj.ImgList[0].url = selectImgArr[0].Path if(this.StencilDrawing){
this.FeatureItem.dataObj.SubList[this.MasterMapIndex].url = Path
}else{
this.FeatureItem.dataObj.ImgList[this.MasterMapIndex].url = Path
} }
this.isShowScenicImg = false this.isShowScenicImg = false
} }
...@@ -139,6 +171,13 @@ ...@@ -139,6 +171,13 @@
deep: true, deep: true,
immediate: true immediate: true
}, },
MasterMapIndex:{
handler(val,oldVal){
},
deep: true,
immediate: true
}
}, },
mounted() { mounted() {
......
<template>
<div class="travelDays-form">
<div class="travelDays-box absolute z-index1">
<div class="travelDays-Title">===============</div>
</div>
<el-dialog custom-class="resourceImgAdd" :title="$t('sm.chooseImg')" center :visible.sync="isShowScenicImg">
<!--imgType:1-酒店,2-餐厅,3-景点,4-票务,5-车辆,6-领队,7-购物店,isCheckmore:是否多选图片-->
<DMCchooseImg @closeImg="closeDMCchooseImg" ref="DMCchooseImg1" @headCallBack="getDMCimg" v-bind:isCheckmore="1"
v-bind:imgType="choseType" v-bind:queryItem="queryItem" v-bind:IsShowAdd="true" v-bind:IsShowVideo="true">
</DMCchooseImg>
</el-dialog>
</div>
</template>
<script>
import MasterMapList from "./components/MasterMapList";
import subheading from "./components/subheading";
import vEditDiv from "../TravelTemp/VEditDiv";
import FeatureControls from "./components/featureControls";
import DMCchooseImg from "../../../commonPage/DMCchooseImg.vue";
export default {
components: {
MasterMapList,
subheading,
vEditDiv,
FeatureControls,
DMCchooseImg
},
props: [
'TripColor',
'index',
'FeatureItem'
],
data() {
return {
canEdit: true,
canEdit1: true,
isShowScenicImg: false,
choseType: 0,
queryItem: {
queryName: '',
queryId: 0,
},
MasterMapIndex: null,//主图下标
StencilDrawing: false,//是否是模版图
};
},
methods: {
UploadImg(index,type) {
this.MasterMapIndex = index?index:0
if(type) this.StencilDrawing = true
else this.StencilDrawing = false
if(this.FeatureItem.pageType==2){
document.querySelector(`#introducefile_${(this.index * 2 + 1)}_0`).click();
}else{
document.querySelector(`#travelDays_${(this.index * 2 + 1)}`).click();
}
},
uploadpic(e) {
let that = this;
if (e.target.files.length > 0 && e.target.files[0].size > 0) {
var reader = new FileReader();
reader.onload = function (event) {
let blob = that.base64ToBlob(event.target.result);
let newArr = [];
newArr.push(blob);
var fileName = `${that.uuid(10, 10)}.png`;
var path = `/newFeature`;
that.uploadSelfBlob(path, newArr, x => {
let allPath = that.domainManager().ViittoFileUrl + x.data.FilePath;
let i = e.target.id.split("_")[2];
if(that.StencilDrawing){
that.FeatureItem.dataObj.SubList[that.MasterMapIndex].url = allPath
}else{
that.FeatureItem.dataObj.ImgList[that.MasterMapIndex].url = allPath
}
});
};
reader.readAsDataURL(e.target.files[0]);
}
},
SelectImg(index,type) {
this.MasterMapIndex = index?index:0
if(type) this.StencilDrawing = true
else this.StencilDrawing = false
if(this.FeatureData.pageType==3) this.choseType = 2
else if(this.FeatureData.pageType==4) this.choseType = 1
else if(this.FeatureData.pageType==5) this.choseType = 2
else if(this.FeatureData.pageType==6) this.choseType = 3
else this.choseType = 0
this.isShowScenicImg = true
},
AddImg() {
let obj = {
url:''
}
this.FeatureItem.dataObj.ImgList.push(obj)
},
DeleteImg(index,type) {
if(type) this.StencilDrawing = true
else this.StencilDrawing = false
if(this.StencilDrawing){
this.FeatureItem.dataObj.SubList.splice(index,1)
}else{
this.FeatureItem.dataObj.ImgList.splice(index,1)
}
},
toAddPages() {
this.$emit('toAddPages', this.index, this.FeatureItem)
},
toDeletePages() {
this.$emit('toDeletePages', this.index, this.FeatureItem)
},
setTemplate(TemplateType) {
this.FeatureItem.pageTemplate = TemplateType
},
closeDMCchooseImg() {
this.isShowScenicImg = false
},
getDMCimg(selectImgArr) {
let Path = selectImgArr[0].Path
if(this.StencilDrawing){
this.FeatureItem.dataObj.SubList[this.MasterMapIndex].url = Path
}else{
this.FeatureItem.dataObj.ImgList[this.MasterMapIndex].url = Path
}
this.isShowScenicImg = false
}
},
computed: {},
watch: {
FeatureData: {
handler(val, oldVal) {
},
deep: true,
immediate: true
},
},
mounted() {
}
};
</script>
<style>
.travelDays-box{
position: absolute;
left: 0;
top: 112px;
right: 0;
bottom: 115px;
border: 1px solid #ddd;
}
</style>
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