Commit 04c2e1ad authored by 吴春's avatar 吴春
parents a686c23b 8d98cdb5
......@@ -173,7 +173,7 @@ export default {
}
</script>
<style>
@import "//at.alicdn.com/t/font_635492_rcf1gwtw66.css";
@import "//at.alicdn.com/t/font_635492_rwoxda6u56n.css";
@import "./assets/css/Semibold.css";
@import "./assets/css/global/config.css";
@import "./assets/css/fileIcon.css";
......
......@@ -602,7 +602,9 @@
position:absolute;
height:40px;
top:42%;
left:42%;
left:50%;
transform: translate3d(-50%,-50%,0);
width: 180px;
display:none;
text-align:center;
z-index:3
......@@ -611,7 +613,6 @@
display: inline-block;
width: 40px;
height: 40px;
/* display:none; */
border-radius: 50%;
line-height: 40px;
color: #fff;
......
......@@ -350,8 +350,9 @@ var tripUtils = {
IntroduceTitle: "", //行程介绍标题
IntroduceImage: ViittoFileUrl+"/Upload/DefalutImage/DMC/defaultairline.png", //行程介绍图片
IntroduceDetail: "", //行程介绍详细信息
TrafficType:0,//交通类型
TrafficContent:""//交通详情
TrafficType:2,//交通类型,默认为专车
TrafficContent:"",//交通详情
TrafficImage:"",//交通图片
}
};
},
......@@ -399,8 +400,9 @@ var tripUtils = {
x:0,//初始位移x
y:0 //初始位移y
},
TrafficType:0,//交通类型(1-飞机,2-专车,3-地铁,4-步行)
TrafficType:2,//交通类型(1-飞机,2-专车,3-地铁,4-步行)
TrafficContent:"",//交通内容
TrafficImage:"",//交通图片
};
},
//行程-酒店对象
......
......@@ -258,7 +258,9 @@
</template>
</td>
<td height="34px">{{item.FinanceId}}</td>
<td height="34px">{{item.CostTypeName}}</td>
<td height="34px">
<el-input size="small" style="width:auto;display:inline-block;width:120px" v-model="item.CostTypeName" placeholder="请输入"></el-input>
</td>
<!--<td height="34px">{{item.Number}}</td>-->
<!--<td height="34px">{{item.UnitPrice}}</td>-->
<td height="34px">
......
......@@ -11,7 +11,7 @@
<span>
<em>{{$t('system.table_ssLine')}}</em>
<el-select class='w150' v-model="queryMsg.LineId" filterable :placeholder="$t('pub.pleaseSel')"
@change="getLineTeamList()">
@change="getLinePlaceList()">
<el-option :label="$t('pub.unlimitedSel')" :value='queryCommonData.SelectDefaultValue'></el-option>
<el-option v-for="item in queryCommonData.LineList" :label='item.LineName' :value='item.LineID'
:key='item.LineID'>
......@@ -19,6 +19,15 @@
</el-select>
</span>
</li>
<li>
<span>
<em>{{$t('Operation.Op_Country')}}/{{$t('system.query_dest')}}</em>
<el-select class="w150" v-model="queryMsg.PlaceID" filterable :placeholder="$t('pub.pleaseSel')" @change="getLineTeamList()">
<el-option :label="$t('pub.unlimitedSel')" :value="queryCommonData.SelectDefaultValue"></el-option>
<el-option v-for="item in queryCommonData.PlaceList" :label="item.PlaceName" :value="item.PlaceID" :key="item.LtID"></el-option>
</el-select>
</span>
</li>
<li>
<span>
<em>{{$t('active.ad_xlmc')}}</em>
......@@ -149,6 +158,8 @@
queryCommonData: {
//线路列表
LineList: [],
//目的地
PlaceList: [],
//系列列表
LineTeamList: [],
//下拉框默认值
......@@ -166,6 +177,7 @@
pageSize: 10,
LineId: 0,
LineteamId: 0,
PlaceID:0,
CreateBy: 0,
TeamType: 0,
TCNUMS: "",
......@@ -239,29 +251,50 @@
);
});
},
//获取线路列表
getLineList() {
this.apipost("line_post_GetList", {
"LineDirection": 2
}, res => {
if (res.data.resultCode == 1) {
this.queryCommonData.LineList = res.data.data;
}
});
},
//获取系列列表
getLineTeamList() {
this.queryMsg.LineteamId = 0;
let msg = {
lineID: this.queryMsg.LineId,
isTOOP: 1
};
this.apipost("team_post_GetList", msg, res => {
if (res.data.resultCode == 1) {
this.queryCommonData.LineTeamList = res.data.data;
}
});
},
//获取线路列表
getLineList() {
this.apipost(
"line_post_GetList",
{
LineDirection: 2
},
res => {
if (res.data.resultCode == 1) {
this.queryCommonData.LineList = res.data.data;
this.queryCommonData.PlaceList = [];
this.queryCommonData.LineTeamList = [];
}
}
);
},
//获取目的地列表
getLinePlaceList() {
this.queryMsg.PlaceID = 0;
this.queryMsg.LineteamId = 0;
let msg = {
lineID: this.queryMsg.LineId
};
this.apipost("team_post_GetLinePlace", msg, res => {
if (res.data.resultCode == 1) {
this.queryCommonData.PlaceList = res.data.data;
this.queryCommonData.LineTeamList = [];
}
});
},
//获取系列列表
getLineTeamList() {
this.queryMsg.LineteamId = 0;
let msg = {
lineID: this.queryMsg.LineId,
placeID: this.queryMsg.PlaceID,
isTOOP: 1
};
this.apipost("team_post_GetList", msg, res => {
if (res.data.resultCode == 1) {
this.queryCommonData.LineTeamList = res.data.data;
}
});
},
//新获取列表数据
getControlList() {
var msg = JSON.parse(JSON.stringify(this.queryMsg));
......
......@@ -5,7 +5,7 @@
<div style="margin-top:30px;background:rgba(255,255,255,1);border-radius:10px;padding:20px;position:relative;">
<div style="padding-bottom:10px;text-align:right">
<span @click="GoZcUrl" class="backTo" style="">资产管理</span>
<span @click="GoZcUrl" style="font-size:12px;text-decoration:underline;cursor: pointer;">跳转到资产管理</span>
</div>
<el-row class="HeaderDiv" style="border-bottom:1px solid #E2E4EB;padding-bottom:20px">
<span class="underline"></span>
......@@ -53,6 +53,10 @@
<span v-if="GetDetail.BackTime!=''">{{GetDetail.BackTime}}</span>
</el-col>
<el-col v-if="GetDetail.ChangePerson && GetDetail.ChangePerson!=''" :span="12">
<span>原领用人 :</span>
<span>{{GetDetail.ChangePerson}}</span>
</el-col>
<el-col :span="12">
<span>备注 :</span>
<span>{{GetDetail.Remark}}</span>
......@@ -104,7 +108,7 @@
<div class="InfoChangeLog" >
<div class="changLog">
<p class="_log_t">流程日志</p>
<ul class="changLogList" v-if="danjuList.length>0">
<ul class="changLogList" style="height:154px" v-if="danjuList.length>0">
<li class="changLogList_l" v-for="(log,li) in danjuList">
<span style="background-color: #47BF8C" class="_radius_green"></span>
<p> <span class="_color_blue">{{log.UpdateBy}}</span> <span style="float:right" class="fr changLog_time">{{log.UpdateDate}}</span> </p>
......@@ -312,7 +316,7 @@
</div>
</div>
</template>
<div v-if="GetDetail.Is_CanAudit==1 && compType=='shenpi' && !needSign" class="_upload_box basefix" style="margin-bottom:20px;">
<div v-if="GetDetail.Is_CanAudit==1 && compType=='shenpi' && !needSign" class="_upload_box basefix" style="margin-bottom:20px;padding-left:75px">
<ul class="clearfix">
<li v-for="(img,imgIndex) in uploadImgList" :key="imgIndex">
<img :src="img" alt="">
......@@ -373,7 +377,7 @@
</div>
</div>
<el-dialog title="详情" :visible.sync="CheckDetailState" width="1150px">
<el-dialog title="详情" :visible.sync="CheckDetailState" width="1200px">
<CheckDetails ref="mychild"></CheckDetails>
</el-dialog>
<viewer :images="images" :options='imageOptions' @inited="inited" class="viewer" ref="viewer">
......@@ -473,7 +477,13 @@ export default {
methods:{
GoZcUrl(){
window.open("http://www.test.com:8080")
let url='';
if (!this.isOnline()) {
url="http://www.test.com:8080/#/Home";
}else{
url="http://zcyx.oytour.com/#/Home";
}
window.open(url)
},
inited (viewer){
this.$viewer = viewer
......@@ -501,10 +511,48 @@ export default {
this.canvasTxt.clearRect(0, 0, this.$refs.canvasF.width, this.$refs.canvasF.height)
this.points = []
},
uuid(len, radix) {
var chars = '0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz'.split('');
var uuid = [],
i;
radix = radix || chars.length;
if (len) {
// Compact form
for (i = 0; i < len; i++) uuid[i] = chars[0 | Math.random() * radix];
} else {
var r;
uuid[8] = uuid[13] = uuid[18] = uuid[23] = '-';
uuid[14] = '4';
for (i = 0; i < 36; i++) {
if (!uuid[i]) {
r = 0 | Math.random() * 16;
uuid[i] = chars[(i == 19) ? (r & 0x3) | 0x8 : r];
}
}
}
return uuid.join('');
},
dataURLtoFile(dataurl, filename) {//将base64转换为文件
var arr = dataurl.split(','), mime = arr[0].match(/:(.*?);/)[1],
bstr = atob(arr[1]), n = bstr.length, u8arr = new Uint8Array(n);
while(n--){
u8arr[n] = bstr.charCodeAt(n);
}
return new File([u8arr], filename, {type:mime});
},
//提交签名
commit() {
this.addMsg.SignImage =this.$refs.canvasF.toDataURL();
this.signState=false;
let that=this;
let imgUrl =this.$refs.canvasF.toDataURL();
let newArr = [];
var fileName = `${that.uuid(10,10)}.png`;
var path = `/assets/sign/`;
newArr.push(this.dataURLtoFile(imgUrl,fileName))
this.UploadSelfFileT(path, newArr, x => {
this.addMsg.SignImage=that.domainManager().ViittoFileUrl+x.data.FilePath;
}, 1);
this.signState=false;
},
mouseDown(ev) {
ev = ev || event
......@@ -635,7 +683,7 @@ export default {
},
getdanjuList(){
this.apiJavaPost("/api/property/GetAuditChangeLogPageList",this.danjuMsg,
this.apiJavaPostZc("/api/property/GetAuditChangeLogPageList",this.danjuMsg,
res => {
if (res.data.resultCode === 1) {
let data=res.data.data.pageData;
......@@ -665,9 +713,8 @@ export default {
}
this.addMsg.AuditType=num;
this.addMsg.ImageList=this.uploadImgList;
this.apiJavaPost("/api/property/AuditOrRefund",this.addMsg,
this.apiJavaPostZc("/api/property/AuditOrRefund",this.addMsg,
res => {
console.log("res",res)
if (res.data.resultCode ==1) {
this.getDetail();
......@@ -724,7 +771,7 @@ export default {
},
getDetail(){
this.pageLoad=true;
this.apiJavaPost("/api/property/GetPropertyAuditDetail",{UseReceiveId:this.addMsg.UseReceiveId},
this.apiJavaPostZc("/api/property/GetPropertyAuditDetail",{UseReceiveId:this.addMsg.UseReceiveId},
res => {
this.pageLoad=false;
......@@ -1197,7 +1244,7 @@ li{
}
.approvalDetails .HeaderDiv .underline{
display: block;
width:101px;
width:135px;
height:2px;
position: absolute;
bottom: 0;
......
......@@ -305,12 +305,15 @@ export default {
.CheckDetails .baseDiv .desItem:nth-child(3n){
margin-right:0;
}
.CheckDetails p{
margin:0;
}
.CheckDetails .desItem p:first-child{
margin-bottom: 4px;
}
.CheckDetails .desItem{
display: inline-block;
background: #fff;
background: #F1F1F1;
box-sizing: border-box;
border-radius: 10px;
width: 200px;
......@@ -332,7 +335,7 @@ export default {
padding:25px;
}
.CheckDetails .right{
width: 660px;
width: 680px;
padding:0 10px 0 15px;
box-sizing: border-box;
}
......
......@@ -601,6 +601,7 @@ export default {
ShowEmployeeList:[],
ShowDepartmentList:[],
PropertyType:'',
TemplateSorce:2,
},
AuditUserList:{
EmName:'',
......@@ -1079,7 +1080,8 @@ export default {
Id:this.addMsg.Workflow_Condition.Id,
AuditList:[],
AuditUserList:[],
}
},
TemplateSorce:2,
}
this.$message.error(res.data.message)
return
......
......@@ -17,8 +17,7 @@
<div class="trip_cover" v-show="pdfLoading" v-loading="pdfLoading"></div>
<el-row>
<el-col :span="14">
<input type="button" style="width: auto !important; display:none;" class="travelControlTripBtn" value="下载电脑版PDF_V3"
@click="toPDF_V3(orderMsg.startDate + orderMsg.lineteamName+orderMsg.dayNum+'日游')" />
<input type="button" style="width: auto !important;" class="travelControlTripBtn" value="下载电脑版PDF"
@click="toPDF_V2(orderMsg.startDate + orderMsg.lineteamName+orderMsg.dayNum+'日游')" />
<input type="button" style="width: auto !important;" class="travelControlTripBtn" value="下载手机版WORD"
......
......@@ -1958,15 +1958,19 @@ export default {
},
LogSetReadStatus(s) {
if(s.Type==7){
let path="AssetsShenpi"
let url="";
if (!this.isOnline()) {
url="http://www.test.com:8081/#/";
}else{
url="http://yx.oytour.com/#/";
}
let path=url+s.Link;
console.log("path",path)
let routeData = this.$router.resolve({
name: path,
query: {
Id:28,
compType:'shenpi'
}
name: path
})
window.open(routeData.href, '_blank')
window.open(path, '_blank')
}
else{
this.apipost(
......
<template>
<div class="TC-ThreeContent clearfix">
<div class="TC-fiveLeftContent">
<div class="TC-ImgTop" :id='"boxs_"+DayNum+"_"+0'>
<VueDraggableResizable axis="y" :ref='"fiveDay_"+DayNum+"_"+0' tabindex="0" :w="318" :h="525" :resizable='false' :x="scenicArray[0].ScenicJson.x"
:y="scenicArray[0].ScenicJson.y" :z="2" :active="false" :parent="false" @dragstop="onDragImagestop" @activated="onActivated(0)">
<img :src='compressImg(scenicArray[0].NewImaArray[0].Url, "filt", 318, "")' :id='"bodys_"+DayNum+"_"+0' />
<VueDraggableResizable axis="y" :ref='"fiveDay_"+DayNum+"_"+0' tabindex="0" :w="318" :h="525" :resizable='false'
:x="scenicArray[0].ScenicJson.x" :y="scenicArray[0].ScenicJson.y" :z="2" :active="false" :parent="false"
@dragstop="onDragImagestop" @activated="onActivated(0)">
<img :src='compressImg(scenicArray[0].NewImaArray[0].Url, "filt", 318, "")' :id='"bodys_"+DayNum+"_"+0' />
</VueDraggableResizable>
<div class="TC_uploadDiv">
<el-form-item>
......@@ -16,26 +16,32 @@
</span>
</el-upload>
</el-form-item>
<span class="TC-find" @click="isShowScenicImg=true,GetClickItem(scenicArray[0])"><i class="iconfont icon-img_cz"></i></span>
<span class="TC-find" @click="isShowScenicImg=true,GetClickItem(scenicArray[0])"><i
class="iconfont icon-img_cz"></i></span>
<span class="re-delte" @click="ToMoveScenicItem(0,1)"><i class="iconfont icon-youyi"></i></span>
</div>
</div>
<div class="text">
<div class="text_inside">
<h3 class="TC-comh3" v-if="IsDirect==1||isRead">{{scenicArray[0].CouponsName}}</h3>
<div v-if="!isRead">
<el-input class="w260" v-if="IsDirect==0" v-model="scenicArray[0].CouponsName" placeholder="请输入景点名称"></el-input>
<el-input class="w260" v-if="IsDirect==0" v-model="scenicArray[0].CouponsName" placeholder="请输入景点名称">
</el-input>
</div>
<div class="TC-playTime">
<span>游玩时间</span>
<el-input class="w69" v-if="!isRead" v-model="scenicArray[0].PlayTimeHour" @keyup.native="checkInteger(scenicArray[0],'PlayTimeHour')" placeholder="小时"></el-input>
<el-input class="w69" v-if="!isRead" v-model="scenicArray[0].PlayTimeHour"
@keyup.native="checkInteger(scenicArray[0],'PlayTimeHour')" placeholder="小时"></el-input>
<span v-if="isRead">{{scenicArray[0].PlayTimeHour}}</span>
&nbsp;小时&nbsp;
<el-input class="w69" v-if="!isRead" v-model="scenicArray[0].PlayTimeMinutes" @keyup.native="checkInteger(scenicArray[0],'PlayTimeMinutes')" placeholder="分钟"></el-input>
<el-input class="w69" v-if="!isRead" v-model="scenicArray[0].PlayTimeMinutes"
@keyup.native="checkInteger(scenicArray[0],'PlayTimeMinutes')" placeholder="分钟"></el-input>
<span v-if="isRead">{{scenicArray[0].PlayTimeMinutes}}</span>
&nbsp;分钟
</div>
<span class="TC-comspan" v-if="!isRead">
<el-input type="textarea" v-model="scenicArray[0].Description" resize="none" class="TC-logestTextArea" placeholder="请输入景点介绍"></el-input>
<el-input type="textarea" v-model="scenicArray[0].Description" resize="none" class="TC-logestTextArea"
placeholder="请输入景点介绍"></el-input>
</span>
<span class="TC-comspan" v-if="isRead">
{{scenicArray[0].Description}}
......@@ -46,9 +52,10 @@
<div class="TC-fiveContent">
<div class="TC-ChildListImg">
<div class="TC-fiveTopImg" :id='"boxs_"+DayNum+"_"+1'>
<VueDraggableResizable axis="y" :ref='"fiveDay_"+DayNum+"_"+1' tabindex="0" :w="323" :h="246" :resizable='false' :x="scenicArray[1].ScenicJson.x"
:y="scenicArray[1].ScenicJson.y" :z="2" :active="false" :parent="false" @dragstop="onDragImagestop" @activated="onActivated(1)">
<img :src='compressImg(scenicArray[1].NewImaArray[0].Url, "filt", 323, "")' :id='"bodys_"+DayNum+"_"+1' />
<VueDraggableResizable axis="y" :ref='"fiveDay_"+DayNum+"_"+1' tabindex="0" :w="323" :h="246"
:resizable='false' :x="scenicArray[1].ScenicJson.x" :y="scenicArray[1].ScenicJson.y" :z="2" :active="false"
:parent="false" @dragstop="onDragImagestop" @activated="onActivated(1)">
<img :src='compressImg(scenicArray[1].NewImaArray[0].Url, "filt", 323, "")' :id='"bodys_"+DayNum+"_"+1' />
</VueDraggableResizable>
<div class="TC_uploadDiv">
......@@ -60,26 +67,33 @@
</span>
</el-upload>
</el-form-item>
<span class="TC-find" @click="isShowScenicImg=true,GetClickItem(scenicArray[1])"><i class="iconfont icon-img_cz"></i></span>
<span class="TC-find" @click="isShowScenicImg=true,GetClickItem(scenicArray[1])"><i
class="iconfont icon-img_cz"></i></span>
<span class="re-delte" @click="ToMoveScenicItem(1,0)"><i class="iconfont icon-zuoyi"></i></span>
<span class="re-delte" @click="ToMoveScenicItem(1,1)"><i class="iconfont icon-youyi"></i></span>
</div>
</div>
<div class="TC-fiveText">
<div class="text_inside">
<h3 class="TC-comh3" v-if="IsDirect==1||isRead">{{scenicArray[1].CouponsName}}</h3>
<div v-if="!isRead">
<el-input class="w260" v-if="IsDirect==0" v-model="scenicArray[1].CouponsName" placeholder="请输入景点名称"></el-input>
<el-input class="w260" v-if="IsDirect==0" v-model="scenicArray[1].CouponsName" placeholder="请输入景点名称">
</el-input>
</div>
<div class="TC-playTime">
<span>游玩时间</span>
<el-input class="w69" v-if="!isRead" v-model="scenicArray[1].PlayTimeHour" @keyup.native="checkInteger(scenicArray[1],'PlayTimeHour')" placeholder="小时"></el-input>
<el-input class="w69" v-if="!isRead" v-model="scenicArray[1].PlayTimeHour"
@keyup.native="checkInteger(scenicArray[1],'PlayTimeHour')" placeholder="小时"></el-input>
<span v-if="isRead">{{scenicArray[1].PlayTimeHour}}</span>
&nbsp;小时&nbsp;
<el-input class="w69" v-if="!isRead" v-model="scenicArray[1].PlayTimeMinutes" @keyup.native="checkInteger(scenicArray[1],'PlayTimeMinutes')" placeholder="分钟"></el-input>
<el-input class="w69" v-if="!isRead" v-model="scenicArray[1].PlayTimeMinutes"
@keyup.native="checkInteger(scenicArray[1],'PlayTimeMinutes')" placeholder="分钟"></el-input>
<span v-if="isRead">{{scenicArray[1].PlayTimeMinutes}}</span>
&nbsp;分钟
</div>
<span class="TC-comspan" v-if="!isRead">
<el-input type="textarea" v-model="scenicArray[1].Description" resize="none" class="TC-fiveTextArea" placeholder="请输入景点介绍"></el-input>
<el-input type="textarea" v-model="scenicArray[1].Description" resize="none" class="TC-fiveTextArea"
placeholder="请输入景点介绍"></el-input>
</span>
<span class="TC-comspan" v-if="isRead" style="width:295px;height:137px;overflow:hidden;">
{{scenicArray[1].Description}}
......@@ -88,10 +102,11 @@
</div>
</div>
<div class="TC-ChildListImg">
<div class="TC-fiveTopImg" :id='"boxs_"+DayNum+"_"+2'>
<VueDraggableResizable axis="y" :ref='"fiveDay_"+DayNum+"_"+2' tabindex="0" :w="323" :h="246" :resizable='false' :x="scenicArray[2].ScenicJson.x"
:y="scenicArray[2].ScenicJson.y" :z="2" :active="false" :parent="false" @dragstop="onDragImagestop" @activated="onActivated(2)">
<img :src='compressImg(scenicArray[2].NewImaArray[0].Url, "filt", 323, "")' :id='"bodys_"+DayNum+"_"+2' />
<div class="TC-fiveTopImg" :id='"boxs_"+DayNum+"_"+2'>
<VueDraggableResizable axis="y" :ref='"fiveDay_"+DayNum+"_"+2' tabindex="0" :w="323" :h="246"
:resizable='false' :x="scenicArray[2].ScenicJson.x" :y="scenicArray[2].ScenicJson.y" :z="2" :active="false"
:parent="false" @dragstop="onDragImagestop" @activated="onActivated(2)">
<img :src='compressImg(scenicArray[2].NewImaArray[0].Url, "filt", 323, "")' :id='"bodys_"+DayNum+"_"+2' />
</VueDraggableResizable>
<div class="TC_uploadDiv">
......@@ -103,26 +118,33 @@
</span>
</el-upload>
</el-form-item>
<span class="TC-find" @click="isShowScenicImg=true,GetClickItem(scenicArray[2])"><i class="iconfont icon-img_cz"></i></span>
<span class="TC-find" @click="isShowScenicImg=true,GetClickItem(scenicArray[2])"><i
class="iconfont icon-img_cz"></i></span>
<span class="re-delte" @click="ToMoveScenicItem(2,0)"><i class="iconfont icon-zuoyi"></i></span>
<span class="re-delte" @click="ToMoveScenicItem(2,1)"><i class="iconfont icon-youyi"></i></span>
</div>
</div>
<div class="TC-fiveText">
<div class="text_inside">
<h3 class="TC-comh3" v-if="IsDirect==1||isRead">{{scenicArray[2].CouponsName}}</h3>
<div v-if="!isRead">
<el-input class="w260" v-if="IsDirect==0" v-model="scenicArray[2].CouponsName" placeholder="请输入景点名称"></el-input>
<el-input class="w260" v-if="IsDirect==0" v-model="scenicArray[2].CouponsName" placeholder="请输入景点名称">
</el-input>
</div>
<div class="TC-playTime">
<span>游玩时间</span>
<el-input class="w69" v-if="!isRead" v-model="scenicArray[2].PlayTimeHour" @keyup.native="checkInteger(scenicArray[2],'PlayTimeHour')" placeholder="小时"></el-input>
<el-input class="w69" v-if="!isRead" v-model="scenicArray[2].PlayTimeHour"
@keyup.native="checkInteger(scenicArray[2],'PlayTimeHour')" placeholder="小时"></el-input>
<span v-if="isRead">{{scenicArray[2].PlayTimeHour}}</span>
&nbsp;小时&nbsp;
<el-input class="w69" v-if="!isRead" v-model="scenicArray[2].PlayTimeMinutes" @keyup.native="checkInteger(scenicArray[2],'PlayTimeMinutes')" placeholder="分钟"></el-input>
<el-input class="w69" v-if="!isRead" v-model="scenicArray[2].PlayTimeMinutes"
@keyup.native="checkInteger(scenicArray[2],'PlayTimeMinutes')" placeholder="分钟"></el-input>
<span v-if="isRead">{{scenicArray[2].PlayTimeMinutes}}</span>
&nbsp;分钟
</div>
<span class="TC-comspan" v-if="!isRead">
<el-input type="textarea" v-model="scenicArray[2].Description" resize="none" class="TC-fiveTextArea" placeholder="请输入景点介绍"></el-input>
<el-input type="textarea" v-model="scenicArray[2].Description" resize="none" class="TC-fiveTextArea"
placeholder="请输入景点介绍"></el-input>
</span>
<span class="TC-comspan" v-if="isRead" style="width:295px;height:137px;overflow:hidden;">
{{scenicArray[2].Description}}
......@@ -132,9 +154,10 @@
</div>
<div class="TC-ChildListImg">
<div class="TC-fiveTopImg" :id='"boxs_"+DayNum+"_"+3'>
<VueDraggableResizable axis="y" :ref='"fiveDay_"+DayNum+"_"+3' tabindex="0" :w="323" :h="246" :resizable='false' :x="scenicArray[3].ScenicJson.x"
:y="scenicArray[3].ScenicJson.y" :z="2" :active="false" :parent="false" @dragstop="onDragImagestop" @activated="onActivated(3)">
<img :src='compressImg(scenicArray[3].NewImaArray[0].Url, "filt", 323, "")' :id='"bodys_"+DayNum+"_"+3' />
<VueDraggableResizable axis="y" :ref='"fiveDay_"+DayNum+"_"+3' tabindex="0" :w="323" :h="246"
:resizable='false' :x="scenicArray[3].ScenicJson.x" :y="scenicArray[3].ScenicJson.y" :z="2" :active="false"
:parent="false" @dragstop="onDragImagestop" @activated="onActivated(3)">
<img :src='compressImg(scenicArray[3].NewImaArray[0].Url, "filt", 323, "")' :id='"bodys_"+DayNum+"_"+3' />
</VueDraggableResizable>
<div class="TC_uploadDiv">
<el-form-item>
......@@ -145,27 +168,33 @@
</span>
</el-upload>
</el-form-item>
<span class="TC-find" @click="isShowScenicImg=true,GetClickItem(scenicArray[3])"><i class="iconfont icon-img_cz"></i></span>
<span class="TC-find" @click="isShowScenicImg=true,GetClickItem(scenicArray[3])"><i
class="iconfont icon-img_cz"></i></span>
<span class="re-delte" @click="ToMoveScenicItem(3,0)"><i class="iconfont icon-zuoyi"></i></span>
<span class="re-delte" @click="ToMoveScenicItem(3,1)"><i class="iconfont icon-youyi"></i></span>
</div>
</div>
<div class="TC-fiveText">
<div class="text_inside">
<h3 class="TC-comh3" v-if="IsDirect==1||isRead">{{scenicArray[3].CouponsName}}</h3>
<div v-if="!isRead">
<el-input class="w260" v-if="IsDirect==0" v-model="scenicArray[3].CouponsName" placeholder="请输入景点名称"></el-input>
<el-input class="w260" v-if="IsDirect==0" v-model="scenicArray[3].CouponsName" placeholder="请输入景点名称">
</el-input>
</div>
<div class="TC-playTime">
<span>游玩时间</span>
<el-input class="w69" v-if="!isRead" v-model="scenicArray[3].PlayTimeHour" @keyup.native="checkInteger(scenicArray[3],'PlayTimeHour')" placeholder="小时"></el-input>
<el-input class="w69" v-if="!isRead" v-model="scenicArray[3].PlayTimeHour"
@keyup.native="checkInteger(scenicArray[3],'PlayTimeHour')" placeholder="小时"></el-input>
<span v-if="isRead">{{scenicArray[3].PlayTimeHour}}</span>
&nbsp;小时&nbsp;
<el-input class="w69" v-if="!isRead" v-model="scenicArray[3].PlayTimeMinutes" @keyup.native="checkInteger(scenicArray[3],'PlayTimeMinutes')" placeholder="分钟"></el-input>
<el-input class="w69" v-if="!isRead" v-model="scenicArray[3].PlayTimeMinutes"
@keyup.native="checkInteger(scenicArray[3],'PlayTimeMinutes')" placeholder="分钟"></el-input>
<span v-if="isRead">{{scenicArray[3].PlayTimeMinutes}}</span>
&nbsp;分钟
</div>
<span class="TC-comspan" v-if="!isRead">
<el-input type="textarea" v-model="scenicArray[3].Description" resize="none" class="TC-fiveTextArea" placeholder="请输入景点介绍"></el-input>
<el-input type="textarea" v-model="scenicArray[3].Description" resize="none" class="TC-fiveTextArea"
placeholder="请输入景点介绍"></el-input>
</span>
<span class="TC-comspan" v-if="isRead" style="width:295px;height:137px;overflow:hidden;">
{{scenicArray[3].Description}}
......@@ -175,9 +204,10 @@
</div>
<div class="TC-ChildListImg">
<div class="TC-fiveTopImg" :id='"boxs_"+DayNum+"_"+4'>
<VueDraggableResizable axis="y" :ref='"fiveDay_"+DayNum+"_"+4' tabindex="0" :w="323" :h="246" :resizable='false' :x="scenicArray[4].ScenicJson.x"
:y="scenicArray[4].ScenicJson.y" :z="2" :active="false" :parent="false" @dragstop="onDragImagestop" @activated="onActivated(4)">
<img :src='compressImg(scenicArray[4].NewImaArray[0].Url, "filt", 323, "")' :id='"bodys_"+DayNum+"_"+4' />
<VueDraggableResizable axis="y" :ref='"fiveDay_"+DayNum+"_"+4' tabindex="0" :w="323" :h="246"
:resizable='false' :x="scenicArray[4].ScenicJson.x" :y="scenicArray[4].ScenicJson.y" :z="2" :active="false"
:parent="false" @dragstop="onDragImagestop" @activated="onActivated(4)">
<img :src='compressImg(scenicArray[4].NewImaArray[0].Url, "filt", 323, "")' :id='"bodys_"+DayNum+"_"+4' />
</VueDraggableResizable>
<div class="TC_uploadDiv">
......@@ -189,26 +219,32 @@
</span>
</el-upload>
</el-form-item>
<span class="TC-find" @click="isShowScenicImg=true,GetClickItem(scenicArray[4])"><i class="iconfont icon-img_cz"></i></span>
<span class="TC-find" @click="isShowScenicImg=true,GetClickItem(scenicArray[4])"><i
class="iconfont icon-img_cz"></i></span>
<span class="re-delte" @click="ToMoveScenicItem(4,0)"><i class="iconfont icon-zuoyi"></i></span>
</div>
</div>
<div class="TC-fiveText">
<div class="text_inside">
<h3 class="TC-comh3" v-if="IsDirect==1||isRead">{{scenicArray[4].CouponsName}}</h3>
<div v-if="!isRead">
<el-input class="w260" v-if="IsDirect==0" v-model="scenicArray[4].CouponsName" placeholder="请输入景点名称"></el-input>
<el-input class="w260" v-if="IsDirect==0" v-model="scenicArray[4].CouponsName" placeholder="请输入景点名称">
</el-input>
</div>
<div class="TC-playTime">
<span>游玩时间</span>
<el-input class="w69" v-if="!isRead" v-model="scenicArray[4].PlayTimeHour" @keyup.native="checkInteger(scenicArray[4],'PlayTimeHour')" placeholder="小时"></el-input>
<el-input class="w69" v-if="!isRead" v-model="scenicArray[4].PlayTimeHour"
@keyup.native="checkInteger(scenicArray[4],'PlayTimeHour')" placeholder="小时"></el-input>
<span v-if="isRead">{{scenicArray[4].PlayTimeHour}}</span>
&nbsp;小时&nbsp;
<el-input class="w69" v-if="!isRead" v-model="scenicArray[4].PlayTimeMinutes" @keyup.native="checkInteger(scenicArray[4],'PlayTimeMinutes')" placeholder="分钟"></el-input>
<el-input class="w69" v-if="!isRead" v-model="scenicArray[4].PlayTimeMinutes"
@keyup.native="checkInteger(scenicArray[4],'PlayTimeMinutes')" placeholder="分钟"></el-input>
<span v-if="isRead">{{scenicArray[4].PlayTimeMinutes}}</span>
&nbsp;分钟
</div>
<span class="TC-comspan" v-if="!isRead">
<el-input type="textarea" v-model="scenicArray[4].Description" resize="none" class="TC-fiveTextArea" placeholder="请输入景点介绍"></el-input>
<el-input type="textarea" v-model="scenicArray[4].Description" resize="none" class="TC-fiveTextArea"
placeholder="请输入景点介绍"></el-input>
</span>
<span class="TC-comspan" v-if="isRead" style="width:295px;height:137px;overflow:hidden;">
{{scenicArray[4].Description}}
......@@ -219,8 +255,8 @@
</div>
<el-dialog custom-class="TC_comDMCchoose" title="选择图片" center :visible.sync="isShowScenicImg">
<!--imgType:1-酒店,2-餐厅,3-景点,4-票务,5-车辆,6-领队,7-购物店,isCheckmore:是否多选图片-->
<DMCchooseImg @closeImg="closeDMCchooseImg" ref="DMCchooseImg1" @headCallBack="getDMCimg" v-bind:queryItem="queryItem" v-bind:isCheckmore="1"
v-bind:imgType="3" v-bind:IsShowAdd="true"></DMCchooseImg>
<DMCchooseImg @closeImg="closeDMCchooseImg" ref="DMCchooseImg1" @headCallBack="getDMCimg"
v-bind:queryItem="queryItem" v-bind:isCheckmore="1" v-bind:imgType="3" v-bind:IsShowAdd="true"></DMCchooseImg>
</el-dialog>
</div>
</template>
......@@ -229,7 +265,7 @@
import DMCchooseImg from "../../commonPage/DMCchooseImg.vue";
export default {
/*IsDirect:1直采,0非直采*/
props: ["scenicArray", "IsDirect","isRead","DayNum"],
props: ["scenicArray", "IsDirect", "isRead", "DayNum"],
data() {
return {
//当前点击景点项
......@@ -237,15 +273,19 @@
//是否显示选择图片框
isShowScenicImg: false,
//点击传递对象
queryItem:{
queryName:'',
queryId:0,
queryItem: {
queryName: '',
queryId: 0,
},
//当前拖动的图片索引
currentChooseIndex:0,
currentChooseIndex: 0,
};
},
methods: {
//左移右移
ToMoveScenicItem(index, type) {
this.$parent.MoveScenicItem(this.DayNum, index, type);
},
//获取当前点击的Item
GetClickItem(obj) {
this.ClickItem = obj;
......@@ -291,30 +331,30 @@
this.ClickItem.NewScenicImg = JSON.stringify(array);
});
},
onDragImagestop(x,y){
let imgHeight=document.querySelector("#bodys_"+this.DayNum+"_"+this.currentChooseIndex).height;
var obj=document.querySelector("#boxs_"+this.DayNum+"_"+this.currentChooseIndex);
let boxHeight=document.querySelector("#boxs_"+this.DayNum+"_"+this.currentChooseIndex).offsetHeight;
let cha=boxHeight-imgHeight
onDragImagestop(x, y) {
let imgHeight = document.querySelector("#bodys_" + this.DayNum + "_" + this.currentChooseIndex).height;
var obj = document.querySelector("#boxs_" + this.DayNum + "_" + this.currentChooseIndex);
let boxHeight = document.querySelector("#boxs_" + this.DayNum + "_" + this.currentChooseIndex).offsetHeight;
let cha = boxHeight - imgHeight
if (cha <= 0) {
if(y < 0 && y < cha) {
y=cha
} else if (y > 0) {
y=0
}
if (y < 0 && y < cha) {
y = cha
} else if (y > 0) {
y = 0
}
} else {
if (y < 0) {
y = 0
} else if (y > 0 && y > cha) {
y = cha
}
if (y < 0) {
y = 0
} else if (y > 0 && y > cha) {
y = cha
}
}
this.scenicArray[this.currentChooseIndex].ScenicJson.y = y;
this.$refs["fiveDay_"+this.DayNum+"_"+this.currentChooseIndex]._data.top=y;
this.$refs["fiveDay_" + this.DayNum + "_" + this.currentChooseIndex]._data.top = y;
},
//获取选中的图片索引
onActivated(currentIndex){
this.currentChooseIndex=currentIndex;
onActivated(currentIndex) {
this.currentChooseIndex = currentIndex;
},
},
components: {
......@@ -327,4 +367,5 @@
// })
},
};
</script>
<style>
.TC-OneDayImg{
height:452px;
width:660px;
float:left;
position: relative;
border:1px solid #d1d1d1;
}
.TC-OneDayImg img{width:100%;min-height: 449px;}
.TC-OneDayImg:hover .TC_uploadDiv{
display:block;
.TC-OneDayImg {
height: 452px;
width: 660px;
float: left;
position: relative;
border: 1px solid #d1d1d1;
}
.TC-FourTextArea .el-textarea__inner{
width: 288px!important;
height: 158px;
.TC-OneDayImg img {
width: 100%;
min-height: 449px;
}
.TC-OneDayImg:hover .TC_uploadDiv {
display: block;
}
.TC-FourTextArea .el-textarea__inner {
width: 288px !important;
height: 158px;
}
</style>
<template>
<div class="TC-ThreeContent">
<div class="TC-ScencContent clearfix">
<div class="TC-OneDayImg" :id='"boxs_"+DayNum+"_"+0'>
<VueDraggableResizable axis="y" :ref='"fourDay_"+DayNum+"_"+0' tabindex="0" :w="660" :h="449" :resizable='false' :x="scenicArray[0].ScenicJson.x"
:y="scenicArray[0].ScenicJson.y" :z="2" :active="false" :parent="false" @dragstop="onDragImagestop" @activated="onActivated(0)">
<img :src='compressImg(scenicArray[0].NewImaArray[0].Url, "filt", 660, "")' :id='"bodys_"+DayNum+"_"+0' />
<VueDraggableResizable axis="y" :ref='"fourDay_"+DayNum+"_"+0' tabindex="0" :w="660" :h="449" :resizable='false'
:x="scenicArray[0].ScenicJson.x" :y="scenicArray[0].ScenicJson.y" :z="2" :active="false" :parent="false"
@dragstop="onDragImagestop" @activated="onActivated(0)">
<img :src='compressImg(scenicArray[0].NewImaArray[0].Url, "filt", 660, "")' :id='"bodys_"+DayNum+"_"+0' />
</VueDraggableResizable>
<div class="TC_uploadDiv">
<el-form-item>
......@@ -33,26 +41,32 @@
</span>
</el-upload>
</el-form-item>
<span class="TC-find" @click="isShowScenicImg=true,GetClickItem(scenicArray[0])"><i class="iconfont icon-img_cz"></i></span>
<span class="TC-find" @click="isShowScenicImg=true,GetClickItem(scenicArray[0])"><i
class="iconfont icon-img_cz"></i></span>
<span class="re-delte" @click="ToMoveScenicItem(0,1)"><i class="iconfont icon-youyi"></i></span>
</div>
</div>
<div class="TC-OneDetail">
<div class="TC_text_inside">
<h3 class="TC-comh3" v-if="IsDirect==1||isRead">{{scenicArray[0].CouponsName}}</h3>
<div v-if="!isRead">
<el-input class="w260" v-if="IsDirect==0" v-model="scenicArray[0].CouponsName" placeholder="请输入景点名称"></el-input>
<el-input class="w260" v-if="IsDirect==0" v-model="scenicArray[0].CouponsName" placeholder="请输入景点名称">
</el-input>
</div>
<div class="TC-playTime">
<span>游玩时间</span>
<el-input class="w69" v-if="!isRead" v-model="scenicArray[0].PlayTimeHour" @keyup.native="checkInteger(scenicArray[0],'PlayTimeHour')" placeholder="小时"></el-input>
<el-input class="w69" v-if="!isRead" v-model="scenicArray[0].PlayTimeHour"
@keyup.native="checkInteger(scenicArray[0],'PlayTimeHour')" placeholder="小时"></el-input>
<span v-if="isRead">{{scenicArray[0].PlayTimeHour}}</span>
&nbsp;小时&nbsp;
<el-input class="w69" v-if="!isRead" v-model="scenicArray[0].PlayTimeMinutes" @keyup.native="checkInteger(scenicArray[0],'PlayTimeMinutes')" placeholder="分钟"></el-input>
<el-input class="w69" v-if="!isRead" v-model="scenicArray[0].PlayTimeMinutes"
@keyup.native="checkInteger(scenicArray[0],'PlayTimeMinutes')" placeholder="分钟"></el-input>
<span v-if="isRead">{{scenicArray[0].PlayTimeMinutes}}</span>
&nbsp;分钟
</div>
<span class="TC-comspan" v-if="!isRead">
<el-input type="textarea" v-model="scenicArray[0].Description" resize="none" class="TC-TextArea" placeholder="请输入景点介绍"></el-input>
<el-input type="textarea" v-model="scenicArray[0].Description" resize="none" class="TC-TextArea"
placeholder="请输入景点介绍"></el-input>
</span>
<span class="TC-comspan" v-if="isRead">
{{scenicArray[0].Description}}
......@@ -63,9 +77,10 @@
<div class="_flex_space_between">
<div class="TC-fourChildContent">
<div class="image" :id='"boxs_"+DayNum+"_"+1'>
<VueDraggableResizable axis="y" :ref='"fourDay_"+DayNum+"_"+1' tabindex="0" :w="321" :h="246" :resizable='false' :x="scenicArray[1].ScenicJson.x"
:y="scenicArray[1].ScenicJson.y" :z="2" :active="false" :parent="false" @dragstop="onDragImagestop" @activated="onActivated(1)">
<img :src='compressImg(scenicArray[1].NewImaArray[0].Url, "filt", 321, "")' :id='"bodys_"+DayNum+"_"+1' />
<VueDraggableResizable axis="y" :ref='"fourDay_"+DayNum+"_"+1' tabindex="0" :w="321" :h="246"
:resizable='false' :x="scenicArray[1].ScenicJson.x" :y="scenicArray[1].ScenicJson.y" :z="2" :active="false"
:parent="false" @dragstop="onDragImagestop" @activated="onActivated(1)">
<img :src='compressImg(scenicArray[1].NewImaArray[0].Url, "filt", 321, "")' :id='"bodys_"+DayNum+"_"+1' />
</VueDraggableResizable>
<div class="TC_uploadDiv">
......@@ -77,26 +92,33 @@
</span>
</el-upload>
</el-form-item>
<span class="TC-find" @click="isShowScenicImg=true,GetClickItem(scenicArray[1])"><i class="iconfont icon-img_cz"></i></span>
<span class="TC-find" @click="isShowScenicImg=true,GetClickItem(scenicArray[1])"><i
class="iconfont icon-img_cz"></i></span>
<span class="re-delte" @click="ToMoveScenicItem(1,0)"><i class="iconfont icon-zuoyi"></i></span>
<span class="re-delte" @click="ToMoveScenicItem(1,1)"><i class="iconfont icon-youyi"></i></span>
</div>
</div>
<div class="text">
<div class="text_inside">
<h3 class="TC-comh3" v-if="IsDirect==1||isRead">{{scenicArray[1].CouponsName}}</h3>
<div v-if="!isRead">
<el-input class="w260" v-if="IsDirect==0" v-model="scenicArray[1].CouponsName" placeholder="请输入景点名称"></el-input>
<el-input class="w260" v-if="IsDirect==0" v-model="scenicArray[1].CouponsName" placeholder="请输入景点名称">
</el-input>
</div>
<div class="TC-playTime">
<span>游玩时间</span>
<el-input class="w69" v-if="!isRead" v-model="scenicArray[1].PlayTimeHour" @keyup.native="checkInteger(scenicArray[1],'PlayTimeHour')" placeholder="小时"></el-input>
<el-input class="w69" v-if="!isRead" v-model="scenicArray[1].PlayTimeHour"
@keyup.native="checkInteger(scenicArray[1],'PlayTimeHour')" placeholder="小时"></el-input>
<span v-if="isRead">{{scenicArray[1].PlayTimeHour}}</span>
&nbsp;小时&nbsp;
<el-input class="w69" v-if="!isRead" v-model="scenicArray[1].PlayTimeMinutes" @keyup.native="checkInteger(scenicArray[1],'PlayTimeMinutes')" placeholder="分钟"></el-input>
<el-input class="w69" v-if="!isRead" v-model="scenicArray[1].PlayTimeMinutes"
@keyup.native="checkInteger(scenicArray[1],'PlayTimeMinutes')" placeholder="分钟"></el-input>
<span v-if="isRead">{{scenicArray[1].PlayTimeMinutes}}</span>
&nbsp;分钟
</div>
<span class="TC-comspan" v-if="!isRead">
<el-input type="textarea" v-model="scenicArray[1].Description" resize="none" class="TC-FourTextArea" placeholder="请输入景点介绍"></el-input>
<el-input type="textarea" v-model="scenicArray[1].Description" resize="none" class="TC-FourTextArea"
placeholder="请输入景点介绍"></el-input>
</span>
<span class="TC-comspan" v-if="isRead" style="width:284px;height:151px;overflow:hidden;">
{{scenicArray[1].Description}}
......@@ -106,13 +128,11 @@
</div>
<div class="TC-fourChildContent">
<div class="image" :id='"boxs_"+DayNum+"_"+2'>
<VueDraggableResizable axis="y" :ref='"fourDay_"+DayNum+"_"+2' tabindex="0" :w="321" :h="246" :resizable='false' :x="scenicArray[2].ScenicJson.x"
:y="scenicArray[2].ScenicJson.y" :z="2" :active="false" :parent="false" @dragstop="onDragImagestop" @activated="onActivated(2)">
<img :src='compressImg(scenicArray[2].NewImaArray[0].Url, "filt", 321, "")' :id='"bodys_"+DayNum+"_"+2' />
<VueDraggableResizable axis="y" :ref='"fourDay_"+DayNum+"_"+2' tabindex="0" :w="321" :h="246"
:resizable='false' :x="scenicArray[2].ScenicJson.x" :y="scenicArray[2].ScenicJson.y" :z="2" :active="false"
:parent="false" @dragstop="onDragImagestop" @activated="onActivated(2)">
<img :src='compressImg(scenicArray[2].NewImaArray[0].Url, "filt", 321, "")' :id='"bodys_"+DayNum+"_"+2' />
</VueDraggableResizable>
<!-- <img v-if="scenicArray[2].NewImaArray.length>0&&scenicArray[2].NewImaArray[0].Url" :src="scenicArray[2].NewImaArray[0].Url" alt="" />
<div v-else class="_noData_img" src=""></div> -->
<div class="TC_uploadDiv">
<el-form-item>
<el-upload :file-list="scenicArray[2].NewImaArray" action :http-request="uploadImg"
......@@ -122,26 +142,33 @@
</span>
</el-upload>
</el-form-item>
<span class="TC-find" @click="isShowScenicImg=true,GetClickItem(scenicArray[2])"><i class="iconfont icon-img_cz"></i></span>
<span class="TC-find" @click="isShowScenicImg=true,GetClickItem(scenicArray[2])"><i
class="iconfont icon-img_cz"></i></span>
<span class="re-delte" @click="ToMoveScenicItem(2,0)"><i class="iconfont icon-zuoyi"></i></span>
<span class="re-delte" @click="ToMoveScenicItem(2,1)"><i class="iconfont icon-youyi"></i></span>
</div>
</div>
<div class="text">
<div class="text_inside">
<h3 class="TC-comh3" v-if="IsDirect==1||isRead">{{scenicArray[2].CouponsName}}</h3>
<div v-if="!isRead">
<el-input class="w260" v-if="IsDirect==0" v-model="scenicArray[2].CouponsName" placeholder="请输入景点名称"></el-input>
<el-input class="w260" v-if="IsDirect==0" v-model="scenicArray[2].CouponsName" placeholder="请输入景点名称">
</el-input>
</div>
<div class="TC-playTime">
<span>游玩时间</span>
<el-input class="w69" v-if="!isRead" v-model="scenicArray[2].PlayTimeHour" @keyup.native="checkInteger(scenicArray[2],'PlayTimeHour')" placeholder="小时"></el-input>
<el-input class="w69" v-if="!isRead" v-model="scenicArray[2].PlayTimeHour"
@keyup.native="checkInteger(scenicArray[2],'PlayTimeHour')" placeholder="小时"></el-input>
<span v-if="isRead">{{scenicArray[2].PlayTimeHour}}</span>
&nbsp;小时&nbsp;
<el-input class="w69" v-if="!isRead" v-model="scenicArray[2].PlayTimeMinutes" @keyup.native="checkInteger(scenicArray[2],'PlayTimeMinutes')" placeholder="分钟"></el-input>
<el-input class="w69" v-if="!isRead" v-model="scenicArray[2].PlayTimeMinutes"
@keyup.native="checkInteger(scenicArray[2],'PlayTimeMinutes')" placeholder="分钟"></el-input>
<span v-if="isRead">{{scenicArray[2].PlayTimeMinutes}}</span>
&nbsp;分钟
</div>
<span class="TC-comspan" v-if="!isRead">
<el-input type="textarea" v-model="scenicArray[2].Description" resize="none" class="TC-FourTextArea" placeholder="请输入景点介绍"></el-input>
<el-input type="textarea" v-model="scenicArray[2].Description" resize="none" class="TC-FourTextArea"
placeholder="请输入景点介绍"></el-input>
</span>
<span class="TC-comspan" v-if="isRead">
{{scenicArray[2].Description}}
......@@ -151,9 +178,10 @@
</div>
<div class="TC-fourChildContent">
<div class="image" :id='"boxs_"+DayNum+"_"+3'>
<VueDraggableResizable axis="y" :ref='"fourDay_"+DayNum+"_"+3' tabindex="0" :w="321" :h="246" :resizable='false' :x="scenicArray[3].ScenicJson.x"
:y="scenicArray[3].ScenicJson.y" :z="2" :active="false" :parent="false" @dragstop="onDragImagestop" @activated="onActivated(3)">
<img :src='compressImg(scenicArray[3].NewImaArray[0].Url, "filt", 321, "")' :id='"bodys_"+DayNum+"_"+3' />
<VueDraggableResizable axis="y" :ref='"fourDay_"+DayNum+"_"+3' tabindex="0" :w="321" :h="246"
:resizable='false' :x="scenicArray[3].ScenicJson.x" :y="scenicArray[3].ScenicJson.y" :z="2" :active="false"
:parent="false" @dragstop="onDragImagestop" @activated="onActivated(3)">
<img :src='compressImg(scenicArray[3].NewImaArray[0].Url, "filt", 321, "")' :id='"bodys_"+DayNum+"_"+3' />
</VueDraggableResizable>
<div class="TC_uploadDiv">
<el-form-item>
......@@ -164,26 +192,32 @@
</span>
</el-upload>
</el-form-item>
<span class="TC-find" @click="isShowScenicImg=true,GetClickItem(scenicArray[3])"><i class="iconfont icon-img_cz"></i></span>
<span class="TC-find" @click="isShowScenicImg=true,GetClickItem(scenicArray[3])"><i
class="iconfont icon-img_cz"></i></span>
<span class="re-delte" @click="ToMoveScenicItem(3,0)"><i class="iconfont icon-zuoyi"></i></span>
</div>
</div>
<div class="text">
<div class="text_inside">
<h3 class="TC-comh3" v-if="IsDirect==1||isRead">{{scenicArray[3].CouponsName}}</h3>
<div v-if="!isRead">
<el-input class="w260" v-if="IsDirect==0" v-model="scenicArray[3].CouponsName" placeholder="请输入景点名称"></el-input>
<el-input class="w260" v-if="IsDirect==0" v-model="scenicArray[3].CouponsName" placeholder="请输入景点名称">
</el-input>
</div>
<div class="TC-playTime">
<span>游玩时间</span>
<el-input class="w69" v-if="!isRead" v-model="scenicArray[3].PlayTimeHour" @keyup.native="checkInteger(scenicArray[3],'PlayTimeHour')" placeholder="小时"></el-input>
<el-input class="w69" v-if="!isRead" v-model="scenicArray[3].PlayTimeHour"
@keyup.native="checkInteger(scenicArray[3],'PlayTimeHour')" placeholder="小时"></el-input>
<span v-if="isRead">{{scenicArray[3].PlayTimeHour}}</span>
&nbsp;小时&nbsp;
<el-input class="w69" v-if="!isRead" v-model="scenicArray[3].PlayTimeMinutes" @keyup.native="checkInteger(scenicArray[3],'PlayTimeMinutes')" placeholder="分钟"></el-input>
<el-input class="w69" v-if="!isRead" v-model="scenicArray[3].PlayTimeMinutes"
@keyup.native="checkInteger(scenicArray[3],'PlayTimeMinutes')" placeholder="分钟"></el-input>
<span v-if="isRead">{{scenicArray[3].PlayTimeMinutes}}</span>
&nbsp;分钟
</div>
<span class="TC-comspan" v-if="!isRead">
<el-input type="textarea" v-model="scenicArray[3].Description" resize="none" class="TC-FourTextArea" placeholder="请输入景点介绍"></el-input>
<el-input type="textarea" v-model="scenicArray[3].Description" resize="none" class="TC-FourTextArea"
placeholder="请输入景点介绍"></el-input>
</span>
<span class="TC-comspan" v-if="isRead">
{{scenicArray[3].Description}}
......@@ -194,8 +228,8 @@
</div>
<el-dialog custom-class="TC_comDMCchoose" title="选择图片" center :visible.sync="isShowScenicImg">
<!--imgType:1-酒店,2-餐厅,3-景点,4-票务,5-车辆,6-领队,7-购物店,isCheckmore:是否多选图片-->
<DMCchooseImg @closeImg="closeDMCchooseImg" ref="DMCchooseImg1" @headCallBack="getDMCimg" v-bind:queryItem="queryItem" v-bind:isCheckmore="1"
v-bind:imgType="3" v-bind:IsShowAdd="true"></DMCchooseImg>
<DMCchooseImg @closeImg="closeDMCchooseImg" ref="DMCchooseImg1" @headCallBack="getDMCimg"
v-bind:queryItem="queryItem" v-bind:isCheckmore="1" v-bind:imgType="3" v-bind:IsShowAdd="true"></DMCchooseImg>
</el-dialog>
</div>
</template>
......@@ -204,7 +238,7 @@
import DMCchooseImg from "../../commonPage/DMCchooseImg.vue";
export default {
/*IsDirect:1直采,0非直采*/
props: ["scenicArray", "IsDirect","isRead","DayNum"],
props: ["scenicArray", "IsDirect", "isRead", "DayNum"],
data() {
return {
//当前点击景点项
......@@ -212,15 +246,19 @@
//是否显示选择图片框
isShowScenicImg: false,
//点击传递对象
queryItem:{
queryName:'',
queryId:0,
queryItem: {
queryName: '',
queryId: 0,
},
//当前拖动的图片索引
currentChooseIndex:0,
currentChooseIndex: 0,
};
},
methods: {
//左移右移
ToMoveScenicItem(index, type) {
this.$parent.MoveScenicItem(this.DayNum, index, type);
},
//获取当前点击的Item
GetClickItem(obj) {
this.ClickItem = obj;
......@@ -266,47 +304,45 @@
this.ClickItem.NewScenicImg = JSON.stringify(array);
});
},
onDragImagestop(x,y){
let imgHeight=document.querySelector("#bodys_"+this.DayNum+"_"+this.currentChooseIndex).height;
var obj=document.querySelector("#boxs_"+this.DayNum+"_"+this.currentChooseIndex);
let boxHeight=document.querySelector("#boxs_"+this.DayNum+"_"+this.currentChooseIndex).offsetHeight;
let cha=boxHeight-imgHeight
onDragImagestop(x, y) {
let imgHeight = document.querySelector("#bodys_" + this.DayNum + "_" + this.currentChooseIndex).height;
var obj = document.querySelector("#boxs_" + this.DayNum + "_" + this.currentChooseIndex);
let boxHeight = document.querySelector("#boxs_" + this.DayNum + "_" + this.currentChooseIndex).offsetHeight;
let cha = boxHeight - imgHeight
if (cha <= 0) {
if(y < 0 && y < cha) {
y=cha
} else if (y > 0) {
y=0
}
if (y < 0 && y < cha) {
y = cha
} else if (y > 0) {
y = 0
}
} else {
if (y < 0) {
y = 0
} else if (y > 0 && y > cha) {
y = cha
}
if (y < 0) {
y = 0
} else if (y > 0 && y > cha) {
y = cha
}
}
this.scenicArray[this.currentChooseIndex].ScenicJson.y = y;
this.$refs["fourDay_"+this.DayNum+"_"+this.currentChooseIndex]._data.top=y;
this.$refs["fourDay_" + this.DayNum + "_" + this.currentChooseIndex]._data.top = y;
},
//获取选中的图片索引
onActivated(currentIndex){
this.currentChooseIndex=currentIndex;
onActivated(currentIndex) {
this.currentChooseIndex = currentIndex;
},
},
components: {
DMCchooseImg,
VueDraggableResizable
},
watch:{
scenicArray:{
handler: function(newValue, oldValue) {
},
watch: {
scenicArray: {
handler: function (newValue, oldValue) {},
deep: true
}
},
created() {
// this.scenicArray.forEach(x=>{
// x.ScenicJson = typeof(x.ScenicJsonStr) === 'string' ? JSON.parse(x.ScenicJsonStr) : { x:0, y:0 };
// })
},
};
</script>
<style>
.TC-ThreeDetail:hover span{
display:inline-block;
.TC-ThreeDetail:hover span {
display: inline-block;
}
.TC-threeOneImg{
height:452px;
width:660px;
float:left;
.TC-threeOneImg {
height: 452px;
width: 660px;
float: left;
position: relative;
border:1px solid #d1d1d1;
border: 1px solid #d1d1d1;
}
.TC-threeOneImg img {
width: 100%;
min-height: 449px;
}
.TC-threeOneImg img{width:100%;min-height: 449px;}
.TC-threeOneImg:hover .TC_uploadDiv{
display:block;
.TC-threeOneImg:hover .TC_uploadDiv {
display: block;
}
</style>
<template>
<div class="TC-ThreeContent">
<div class="TC-ScencContent clearfix">
<div class="TC-threeOneImg" :id='"boxs_"+DayNum+"_"+0'>
<VueDraggableResizable axis="y" :ref='"threeDay_"+DayNum+"_"+0' tabindex="0" :w="660" :h="449" :resizable='false' :x="scenicArray[0].ScenicJson.x"
:y="scenicArray[0].ScenicJson.y" :z="2" :active="false" :parent="false" @dragstop="onDragImagestop" @activated="onActivated(0)">
<img :src='compressImg(scenicArray[0].NewImaArray[0].Url, "filt", 660, "")' :id='"bodys_"+DayNum+"_"+0' />
<VueDraggableResizable axis="y" :ref='"threeDay_"+DayNum+"_"+0' tabindex="0" :w="660" :h="449"
:resizable='false' :x="scenicArray[0].ScenicJson.x" :y="scenicArray[0].ScenicJson.y" :z="2" :active="false"
:parent="false" @dragstop="onDragImagestop" @activated="onActivated(0)">
<img :src='compressImg(scenicArray[0].NewImaArray[0].Url, "filt", 660, "")' :id='"bodys_"+DayNum+"_"+0' />
</VueDraggableResizable>
<div class="TC_uploadDiv">
<el-form-item>
......@@ -35,25 +43,30 @@
<span class="TC-find" @click="isShowScenicImg=true,GetClickItem(scenicArray[0])">
<i class="iconfont icon-img_cz"></i>
</span>
<span class="re-delte" @click="ToMoveScenicItem(0,1)"><i class="iconfont icon-youyi"></i></span>
</div>
</div>
<div class="TC-OneDetail">
<div class="TC_text_inside">
<h3 class="TC-comh3" v-if="IsDirect==1||isRead">{{scenicArray[0].CouponsName}}</h3>
<div v-if="!isRead">
<el-input class="w260" v-if="IsDirect==0" v-model="scenicArray[0].CouponsName" placeholder="请输入景点名称"></el-input>
<el-input class="w260" v-if="IsDirect==0" v-model="scenicArray[0].CouponsName" placeholder="请输入景点名称">
</el-input>
</div>
<div class="TC-playTime">
<span>游玩时间</span>
<el-input class="w69" v-if="!isRead" v-model="scenicArray[0].PlayTimeHour" @keyup.native="checkInteger(scenicArray[0],'PlayTimeHour')" placeholder="小时"></el-input>
<el-input class="w69" v-if="!isRead" v-model="scenicArray[0].PlayTimeHour"
@keyup.native="checkInteger(scenicArray[0],'PlayTimeHour')" placeholder="小时"></el-input>
<span v-if="isRead">{{scenicArray[0].PlayTimeHour}}</span>
&nbsp;小时&nbsp;
<el-input class="w69" v-if="!isRead" v-model="scenicArray[0].PlayTimeMinutes" @keyup.native="checkInteger(scenicArray[0],'PlayTimeMinutes')" placeholder="分钟"></el-input>
<el-input class="w69" v-if="!isRead" v-model="scenicArray[0].PlayTimeMinutes"
@keyup.native="checkInteger(scenicArray[0],'PlayTimeMinutes')" placeholder="分钟"></el-input>
<span v-if="isRead">{{scenicArray[0].PlayTimeMinutes}}</span>
&nbsp;分钟
</div>
<span class="TC-comspan" v-if="!isRead">
<el-input type="textarea" v-model="scenicArray[0].Description" resize="none" class="TC-TextArea" placeholder="请输入景点介绍"></el-input>
<el-input type="textarea" v-model="scenicArray[0].Description" resize="none" class="TC-TextArea"
placeholder="请输入景点介绍"></el-input>
</span>
<span class="TC-comspan" v-if="isRead">
{{scenicArray[0].Description}}
......@@ -66,19 +79,23 @@
<div class="TC-ThreeText">
<h3 class="TC-comh3" v-if="IsDirect==1||isRead">{{scenicArray[1].CouponsName}}</h3>
<div v-if="!isRead">
<el-input class="w260" v-if="IsDirect==0" v-model="scenicArray[1].CouponsName" placeholder="请输入景点名称"></el-input>
<el-input class="w260" v-if="IsDirect==0" v-model="scenicArray[1].CouponsName" placeholder="请输入景点名称">
</el-input>
</div>
<div class="TC-playTime">
<span>游玩时间</span>
<el-input class="w69" v-if="!isRead" v-model="scenicArray[1].PlayTimeHour" @keyup.native="checkInteger(scenicArray[1],'PlayTimeHour')" placeholder="小时"></el-input>
<el-input class="w69" v-if="!isRead" v-model="scenicArray[1].PlayTimeHour"
@keyup.native="checkInteger(scenicArray[1],'PlayTimeHour')" placeholder="小时"></el-input>
<span v-if="isRead">{{scenicArray[1].PlayTimeHour}}</span>
&nbsp;小时&nbsp;
<el-input class="w69" v-if="!isRead" v-model="scenicArray[1].PlayTimeMinutes" @keyup.native="checkInteger(scenicArray[1],'PlayTimeMinutes')" placeholder="分钟"></el-input>
<el-input class="w69" v-if="!isRead" v-model="scenicArray[1].PlayTimeMinutes"
@keyup.native="checkInteger(scenicArray[1],'PlayTimeMinutes')" placeholder="分钟"></el-input>
<span v-if="isRead">{{scenicArray[1].PlayTimeMinutes}}</span>
&nbsp;分钟
</div>
<span class="TC-comspan TC-LongText" v-if="!isRead">
<el-input type="textarea" v-model="scenicArray[1].Description" resize="none" class="TC-midTextArea" placeholder="请输入景点介绍"></el-input>
<el-input type="textarea" v-model="scenicArray[1].Description" resize="none" class="TC-midTextArea"
placeholder="请输入景点介绍"></el-input>
</span>
<span class="TC-comspan TC-LongText" v-if="isRead" style="width:293px;height:130px;overflow:hidden;">
{{scenicArray[1].Description}}
......@@ -86,9 +103,10 @@
</div>
</div>
<div class="TC-ThreeDetail" :id='"boxs_"+DayNum+"_"+1'>
<VueDraggableResizable axis="y" :ref='"threeDay_"+DayNum+"_"+1' tabindex="0" :w="665" :resizable='false' :x="scenicArray[1].ScenicJson.x"
:y="scenicArray[1].ScenicJson.y" :z="2" :active="false" :parent="false" @dragstop="onDragImagestop" @activated="onActivated(1)">
<img :src='compressImg(scenicArray[1].NewImaArray[0].Url, "filt", 665, "")' :id='"bodys_"+DayNum+"_"+1' />
<VueDraggableResizable axis="y" :ref='"threeDay_"+DayNum+"_"+1' tabindex="0" :w="665" :resizable='false'
:x="scenicArray[1].ScenicJson.x" :y="scenicArray[1].ScenicJson.y" :z="2" :active="false" :parent="false"
@dragstop="onDragImagestop" @activated="onActivated(1)">
<img :src='compressImg(scenicArray[1].NewImaArray[0].Url, "filt", 665, "")' :id='"bodys_"+DayNum+"_"+1' />
</VueDraggableResizable>
<div class="TC_uploadDiv">
<el-form-item>
......@@ -102,14 +120,17 @@
<span class="TC-find">
<i class="iconfont icon-img_cz" @click="isShowScenicImg=true,GetClickItem(scenicArray[1])"></i>
</span>
<span class="re-delte" @click="ToMoveScenicItem(1,0)"><i class="iconfont icon-zuoyi"></i></span>
<span class="re-delte" @click="ToMoveScenicItem(1,1)"><i class="iconfont icon-youyi"></i></span>
</div>
</div>
</div>
<div class="clearfix TC-midContent">
<div class="TC-ThreeDetail" :id='"boxs_"+DayNum+"_"+2'>
<VueDraggableResizable axis="y" :ref='"threeDay_"+DayNum+"_"+2' tabindex="0" :w="665" :resizable='false' :x="scenicArray[2].ScenicJson.x"
:y="scenicArray[2].ScenicJson.y" :z="2" :active="false" :parent="false" @dragstop="onDragImagestop" @activated="onActivated(2)">
<img :src='compressImg(scenicArray[2].NewImaArray[0].Url, "filt", 486, "")' :id='"bodys_"+DayNum+"_"+2' />
<div class="TC-ThreeDetail" :id='"boxs_"+DayNum+"_"+2'>
<VueDraggableResizable axis="y" :ref='"threeDay_"+DayNum+"_"+2' tabindex="0" :w="665" :resizable='false'
:x="scenicArray[2].ScenicJson.x" :y="scenicArray[2].ScenicJson.y" :z="2" :active="false" :parent="false"
@dragstop="onDragImagestop" @activated="onActivated(2)">
<img :src='compressImg(scenicArray[2].NewImaArray[0].Url, "filt", 486, "")' :id='"bodys_"+DayNum+"_"+2' />
</VueDraggableResizable>
<div class="TC_uploadDiv">
<el-form-item>
......@@ -123,25 +144,30 @@
<span class="TC-find" @click="isShowScenicImg=true,GetClickItem(scenicArray[2])">
<i class="iconfont icon-img_cz"></i>
</span>
<span class="re-delte" @click="ToMoveScenicItem(2,0)"><i class="iconfont icon-zuoyi"></i></span>
</div>
</div>
<div class="TC-Threemid Tremind">
<div class="TC-ThreeText">
<h3 class="TC-comh3" v-if="IsDirect==1||isRead">{{scenicArray[2].CouponsName}}</h3>
<div v-if="!isRead">
<el-input class="w260" v-if="IsDirect==0" v-model="scenicArray[2].CouponsName" placeholder="请输入景点名称"></el-input>
<el-input class="w260" v-if="IsDirect==0" v-model="scenicArray[2].CouponsName" placeholder="请输入景点名称">
</el-input>
</div>
<div class="TC-playTime">
<span>游玩时间</span>
<el-input class="w69" v-if="!isRead" v-model="scenicArray[2].PlayTimeHour" @keyup.native="checkInteger(scenicArray[2],'PlayTimeHour')" placeholder="小时"></el-input>
<el-input class="w69" v-if="!isRead" v-model="scenicArray[2].PlayTimeHour"
@keyup.native="checkInteger(scenicArray[2],'PlayTimeHour')" placeholder="小时"></el-input>
<span v-if="isRead">{{scenicArray[2].PlayTimeHour}}</span>
&nbsp;小时&nbsp;
<el-input class="w69" v-if="!isRead" v-model="scenicArray[2].PlayTimeMinutes" @keyup.native="checkInteger(scenicArray[2],'PlayTimeMinutes')" placeholder="分钟"></el-input>
<el-input class="w69" v-if="!isRead" v-model="scenicArray[2].PlayTimeMinutes"
@keyup.native="checkInteger(scenicArray[2],'PlayTimeMinutes')" placeholder="分钟"></el-input>
<span v-if="isRead">{{scenicArray[2].PlayTimeMinutes}}</span>
&nbsp;分钟
</div>
<span class="TC-comspan TC-LongText" v-if="!isRead">
<el-input type="textarea" v-model="scenicArray[2].Description" resize="none" class="TC-midTextArea" placeholder="请输入景点介绍"></el-input>
<el-input type="textarea" v-model="scenicArray[2].Description" resize="none" class="TC-midTextArea"
placeholder="请输入景点介绍"></el-input>
</span>
<span class="TC-comspan TC-LongText" v-if="isRead" style="width:293px;height:130px;overflow:hidden;">
{{scenicArray[2].Description}}
......@@ -151,8 +177,8 @@
</div>
<el-dialog custom-class="TC_comDMCchoose" title="选择图片" center :visible.sync="isShowScenicImg">
<!--imgType:1-酒店,2-餐厅,3-景点,4-票务,5-车辆,6-领队,7-购物店,isCheckmore:是否多选图片-->
<DMCchooseImg @closeImg="closeDMCchooseImg" ref="DMCchooseImg1" @headCallBack="getDMCimg" v-bind:queryItem="queryItem" v-bind:isCheckmore="1"
v-bind:imgType="3" v-bind:IsShowAdd="true"></DMCchooseImg>
<DMCchooseImg @closeImg="closeDMCchooseImg" ref="DMCchooseImg1" @headCallBack="getDMCimg"
v-bind:queryItem="queryItem" v-bind:isCheckmore="1" v-bind:imgType="3" v-bind:IsShowAdd="true"></DMCchooseImg>
</el-dialog>
</div>
</template>
......@@ -161,7 +187,7 @@
import DMCchooseImg from "../../commonPage/DMCchooseImg.vue";
export default {
/*IsDirect:1直采,0非直采*/
props: ["scenicArray", "IsDirect","isRead","DayNum"],
props: ["scenicArray", "IsDirect", "isRead", "DayNum"],
data() {
return {
//当前点击景点项
......@@ -169,16 +195,19 @@
//是否显示选择图片框
isShowScenicImg: false,
//点击传递对象
queryItem:{
queryName:'',
queryId:0,
queryItem: {
queryName: '',
queryId: 0,
},
//当前拖动的图片索引
currentChooseIndex:0,
currentChooseIndex: 0,
};
},
methods: {
//左移右移
ToMoveScenicItem(index, type) {
this.$parent.MoveScenicItem(this.DayNum, index, type);
},
//获取当前点击的Item
GetClickItem(obj) {
this.ClickItem = obj;
......@@ -224,40 +253,40 @@
});
},
onDragImagestop(x,y){
let imgHeight=document.querySelector("#bodys_"+this.DayNum+"_"+this.currentChooseIndex).height;
var obj=document.querySelector("#boxs_"+this.DayNum+"_"+this.currentChooseIndex);
let boxHeight=document.querySelector("#boxs_"+this.DayNum+"_"+this.currentChooseIndex).offsetHeight;
let cha=boxHeight-imgHeight
if (cha <= 0) {
if(y < 0 && y < cha) {
y=cha
} else if (y > 0) {
y=0
}
} else {
if (y < 0) {
y = 0
} else if (y > 0 && y > cha) {
y = cha
}
onDragImagestop(x, y) {
let imgHeight = document.querySelector("#bodys_" + this.DayNum + "_" + this.currentChooseIndex).height;
var obj = document.querySelector("#boxs_" + this.DayNum + "_" + this.currentChooseIndex);
let boxHeight = document.querySelector("#boxs_" + this.DayNum + "_" + this.currentChooseIndex).offsetHeight;
let cha = boxHeight - imgHeight
if (cha <= 0) {
if (y < 0 && y < cha) {
y = cha
} else if (y > 0) {
y = 0
}
this.scenicArray[this.currentChooseIndex].ScenicJson.y = y;
this.$refs["threeDay_"+this.DayNum+"_"+this.currentChooseIndex]._data.top=y;
} else {
if (y < 0) {
y = 0
} else if (y > 0 && y > cha) {
y = cha
}
}
this.scenicArray[this.currentChooseIndex].ScenicJson.y = y;
this.$refs["threeDay_" + this.DayNum + "_" + this.currentChooseIndex]._data.top = y;
},
//获取选中的图片索引
onActivated(currentIndex){
this.currentChooseIndex=currentIndex;
onActivated(currentIndex) {
this.currentChooseIndex = currentIndex;
},
},
created() {
// this.scenicArray.forEach(x=>{
// if(!x.ScenicJson){
// x.ScenicJson= x.ScenicJsonStr ? JSON{ x:0, y:0 };
// }
// });
// this.scenicArray.forEach(x=>{
// if(!x.ScenicJson){
// x.ScenicJson= x.ScenicJsonStr ? JSON{ x:0, y:0 };
// }
// });
},
components: {
DMCchooseImg,
......
<style>
.TC-twoimage:hover .TC_uploadDiv{
display:block;
.TC-twoimage:hover .TC_uploadDiv {
display: block;
}
</style>
<template>
<div class="TC-TwoContent clearfix">
<div class="TC-twoCombox">
<div class="TC-twoimage" :id='"boxs_"+DayNum+"_"+0'>
<VueDraggableResizable axis="y" :ref='"twoDay_"+DayNum+"_"+0' tabindex="0" :w="486" :resizable='false' :x="scenicArray[0].ScenicJson.x"
:y="scenicArray[0].ScenicJson.y" :z="2" :active="false" :parent="false" @dragstop="onDragImagestop" @activated="onActivated(0)">
<img :src='compressImg(scenicArray[0].NewImaArray[0].Url, "filt", 486, "")' :id='"bodys_"+DayNum+"_"+0' />
<VueDraggableResizable axis="y" :ref='"twoDay_"+DayNum+"_"+0' tabindex="0" :w="486" :resizable='false'
:x="scenicArray[0].ScenicJson.x" :y="scenicArray[0].ScenicJson.y" :z="2" :active="false" :parent="false"
@dragstop="onDragImagestop" @activated="onActivated(0)">
<img :src='compressImg(scenicArray[0].NewImaArray[0].Url, "filt", 486, "")' :id='"bodys_"+DayNum+"_"+0' />
</VueDraggableResizable>
<div class="TC_uploadDiv">
<el-form-item>
......@@ -24,25 +26,30 @@
<span class="TC-find" @click="isShowScenicImg=true,GetClickItem(scenicArray[0])">
<i class="iconfont icon-img_cz"></i>
</span>
<span class="re-delte" @click="ToMoveScenicItem(0,1)"><i class="iconfont icon-youyi"></i></span>
</div>
</div>
<div class="TC-twotext">
<div class="TC-Tinside">
<h3 class="TC-comh3" v-if="IsDirect==1||isRead">{{scenicArray[0].CouponsName}}</h3>
<div v-if="!isRead">
<el-input class="w260" v-if="IsDirect==0" v-model="scenicArray[0].CouponsName" placeholder="请输入景点名称"></el-input>
</div>
<el-input class="w260" v-if="IsDirect==0" v-model="scenicArray[0].CouponsName" placeholder="请输入景点名称">
</el-input>
</div>
<div class="TC-playTime">
<span>游玩时间</span>
<el-input class="w69" v-if="!isRead" v-model="scenicArray[0].PlayTimeHour" @keyup.native="checkInteger(scenicArray[0],'PlayTimeHour')" placeholder="小时"></el-input>
<el-input class="w69" v-if="!isRead" v-model="scenicArray[0].PlayTimeHour"
@keyup.native="checkInteger(scenicArray[0],'PlayTimeHour')" placeholder="小时"></el-input>
<span v-if="isRead">{{scenicArray[0].PlayTimeHour}}</span>
&nbsp;小时&nbsp;
<el-input class="w69" v-if="!isRead" v-model="scenicArray[0].PlayTimeMinutes" @keyup.native="checkInteger(scenicArray[0],'PlayTimeMinutes')" placeholder="分钟"></el-input>
<el-input class="w69" v-if="!isRead" v-model="scenicArray[0].PlayTimeMinutes"
@keyup.native="checkInteger(scenicArray[0],'PlayTimeMinutes')" placeholder="分钟"></el-input>
<span v-if="isRead">{{scenicArray[0].PlayTimeMinutes}}</span>
&nbsp;分钟
</div>
<span class="TC-comspan" v-if="!isRead">
<el-input type="textarea" v-model="scenicArray[0].Description" resize="none" class="TC-LongText" placeholder="请输入景点介绍"></el-input>
<el-input type="textarea" v-model="scenicArray[0].Description" resize="none" class="TC-LongText"
placeholder="请输入景点介绍"></el-input>
</span>
<span class="TC-comspan" v-if="isRead" style="height:90px;overflow:hidden;width:413px">
{{scenicArray[0].Description}}
......@@ -52,9 +59,10 @@
</div>
<div class="TC-twoCombox">
<div class="TC-twoimage" :id='"boxs_"+DayNum+"_"+1'>
<VueDraggableResizable axis="y" :ref='"twoDay_"+DayNum+"_"+1' tabindex="0" :w="486" :resizable='false' :x="scenicArray[1].ScenicJson.x"
:y="scenicArray[1].ScenicJson.y" :z="2" :active="false" :parent="false" @dragstop="onDragImagestop" @activated="onActivated(1)">
<img :src='compressImg(scenicArray[1].NewImaArray[0].Url, "filt", 486, "")' :id='"bodys_"+DayNum+"_"+1' />
<VueDraggableResizable axis="y" :ref='"twoDay_"+DayNum+"_"+1' tabindex="0" :w="486" :resizable='false'
:x="scenicArray[1].ScenicJson.x" :y="scenicArray[1].ScenicJson.y" :z="2" :active="false" :parent="false"
@dragstop="onDragImagestop" @activated="onActivated(1)">
<img :src='compressImg(scenicArray[1].NewImaArray[0].Url, "filt", 486, "")' :id='"bodys_"+DayNum+"_"+1' />
</VueDraggableResizable>
<div class="TC_uploadDiv">
<el-form-item>
......@@ -68,25 +76,30 @@
<span class="TC-find" @click="isShowScenicImg=true,GetClickItem(scenicArray[1])">
<i class="iconfont icon-img_cz"></i>
</span>
<span class="re-delte" @click="ToMoveScenicItem(1,0)"><i class="iconfont icon-zuoyi"></i></span>
</div>
</div>
<div class="TC-twotext">
<div class="TC-Tinside">
<h3 class="TC-comh3" v-if="IsDirect==1||isRead">{{scenicArray[1].CouponsName}}</h3>
<div v-if="!isRead">
<el-input class="w260" v-if="IsDirect==0" v-model="scenicArray[1].CouponsName" placeholder="请输入景点名称"></el-input>
</div>
<el-input class="w260" v-if="IsDirect==0" v-model="scenicArray[1].CouponsName" placeholder="请输入景点名称">
</el-input>
</div>
<div class="TC-playTime">
<span>游玩时间</span>
<el-input class="w69" v-if="!isRead" v-model="scenicArray[1].PlayTimeHour" @keyup.native="checkInteger(scenicArray[1],'PlayTimeHour')" placeholder="小时"></el-input>
<el-input class="w69" v-if="!isRead" v-model="scenicArray[1].PlayTimeHour"
@keyup.native="checkInteger(scenicArray[1],'PlayTimeHour')" placeholder="小时"></el-input>
<span v-if="isRead">{{scenicArray[1].PlayTimeHour}}</span>
&nbsp;小时&nbsp;
<el-input class="w69" v-if="!isRead" v-model="scenicArray[1].PlayTimeMinutes" @keyup.native="checkInteger(scenicArray[1],'PlayTimeMinutes')" placeholder="分钟"></el-input>
<el-input class="w69" v-if="!isRead" v-model="scenicArray[1].PlayTimeMinutes"
@keyup.native="checkInteger(scenicArray[1],'PlayTimeMinutes')" placeholder="分钟"></el-input>
<span v-if="isRead">{{scenicArray[1].PlayTimeMinutes}}</span>
&nbsp;分钟
</div>
<span class="TC-comspan" v-if="!isRead">
<el-input type="textarea" v-model="scenicArray[1].Description" resize="none" class="TC-LongText" placeholder="请输入景点介绍"></el-input>
<el-input type="textarea" v-model="scenicArray[1].Description" resize="none" class="TC-LongText"
placeholder="请输入景点介绍"></el-input>
</span>
<span class="TC-comspan" v-if="isRead" style="height:90px;overflow:hidden;width:413px">
{{scenicArray[1].Description}}
......@@ -96,8 +109,8 @@
</div>
<el-dialog custom-class="TC_comDMCchoose" title="选择图片" center :visible.sync="isShowScenicImg">
<!--imgType:1-酒店,2-餐厅,3-景点,4-票务,5-车辆,6-领队,7-购物店,isCheckmore:是否多选图片-->
<DMCchooseImg @closeImg="closeDMCchooseImg" ref="DMCchooseImg1" @headCallBack="getDMCimg" v-bind:queryItem="queryItem" v-bind:isCheckmore="1"
v-bind:imgType="3" v-bind:IsShowAdd="true"></DMCchooseImg>
<DMCchooseImg @closeImg="closeDMCchooseImg" ref="DMCchooseImg1" @headCallBack="getDMCimg"
v-bind:queryItem="queryItem" v-bind:isCheckmore="1" v-bind:imgType="3" v-bind:IsShowAdd="true"></DMCchooseImg>
</el-dialog>
</div>
</template>
......@@ -106,7 +119,7 @@
import DMCchooseImg from "../../commonPage/DMCchooseImg.vue";
export default {
/*IsDirect:1直采,0非直采*/
props: ["scenicArray","IsDirect","isRead","DayNum"],
props: ["scenicArray", "IsDirect", "isRead", "DayNum"],
data() {
return {
//当前点击景点项
......@@ -114,15 +127,19 @@
//是否显示选择图片框
isShowScenicImg: false,
//点击传递对象
queryItem:{
queryName:'',
queryId:0,
queryItem: {
queryName: '',
queryId: 0,
},
//当前拖动的图片索引
currentChooseIndex:0,
currentChooseIndex: 0,
};
},
methods: {
//左移右移
ToMoveScenicItem(index, type) {
this.$parent.MoveScenicItem(this.DayNum, index, type);
},
//获取当前点击的Item
GetClickItem(obj) {
this.ClickItem = obj;
......@@ -169,37 +186,35 @@
this.ClickItem.NewScenicImg = JSON.stringify(array);
});
},
onDragImagestop(x,y){
let imgHeight=document.querySelector("#bodys_"+this.DayNum+"_"+this.currentChooseIndex).height;
var obj=document.querySelector("#boxs_"+this.DayNum+"_"+this.currentChooseIndex);
let boxHeight=document.querySelector("#boxs_"+this.DayNum+"_"+this.currentChooseIndex).offsetHeight;
let cha=boxHeight-imgHeight
onDragImagestop(x, y) {
let imgHeight = document.querySelector("#bodys_" + this.DayNum + "_" + this.currentChooseIndex).height;
var obj = document.querySelector("#boxs_" + this.DayNum + "_" + this.currentChooseIndex);
let boxHeight = document.querySelector("#boxs_" + this.DayNum + "_" + this.currentChooseIndex).offsetHeight;
let cha = boxHeight - imgHeight
if (cha <= 0) {
if(y < 0 && y < cha) {
y=cha
} else if (y > 0) {
y=0
}
if (y < 0 && y < cha) {
y = cha
} else if (y > 0) {
y = 0
}
} else {
if (y < 0) {
y = 0
} else if (y > 0 && y > cha) {
y = cha
}
if (y < 0) {
y = 0
} else if (y > 0 && y > cha) {
y = cha
}
}
this.scenicArray[this.currentChooseIndex].ScenicJson.y = y;
this.$refs["twoDay_"+this.DayNum+"_"+this.currentChooseIndex]._data.top=y;
this.$refs["twoDay_" + this.DayNum + "_" + this.currentChooseIndex]._data.top = y;
},
//获取选中的图片索引
onActivated(currentIndex){
this.currentChooseIndex=currentIndex;
onActivated(currentIndex) {
this.currentChooseIndex = currentIndex;
},
},
created(){
},
mounted() {
},
created() {},
mounted() {},
created() {
// this.scenicArray.forEach(x=>{
// x.ScenicJson = typeof(x.ScenicJsonStr) === 'string' ? JSON.parse(x.ScenicJsonStr) : { x:0, y:0 };
......
......@@ -4,73 +4,134 @@
line-height: 25px;
}
;
.St_mainDiv {
width: 100%;
height: 100%;
margin: 10px;
padding: 0 20px;
border-left: 2px solid #E4E7ED;
position: relative;
}
.St_mainDiv .St_radioDiv {
position: absolute;
width: 25px;
height: 25px;
text-align: center;
line-height: 25px;
background-color: #fff;
border:1px solid #E4E7ED;
left: -33px;
top: -2px;
border-radius: 50%;
}
.St_mainDiv .St_current {
position: relative;
}
.St_mainDiv .St_current:last-child {
margin-bottom: 0 !important;
}
.St_mainDiv .St_uploadContent {
display:inline-block;
}
.St_mainDiv .St_uploadContent span{
color:#409eff;
}
</style>
<template>
<div class="TC-ScenicTraffic">
<template v-if="!ishasScenic">
<table>
<thead v-if="CurrentDayNum!=1">
<tr>
<td>
酒店出发
</td>
</tr>
</thead>
<tbody>
<tr>
<td>
{{trafficObj.trafficIntroduce.IntroduceTitle}}
</td>
</tr>
<tr>
<td>
<el-select :placeholder="$t('pub.pleaseSel')" v-model="trafficObj.trafficIntroduce.TrafficType">
<el-option v-for="item in ArrivalTypeArray" :value="item.ID" :key="item.ID" :label="item.Name">
</el-option>
</el-select>
</td>
</tr>
</tbody>
<tfoot v-if="CurrentDayNum!=totalDayNum">
<tr>
<td>回酒店</td>
</tr>
</tfoot>
</table>
</template>
<template v-else>
<table>
<thead v-if="CurrentDayNum!=1">
<tr>
<td>
酒店出发
</td>
</tr>
</thead>
<tbody v-for="(item,index) in ScenicArray">
<tr :key="index">
<td>
{{item.CouponsName}}
</td>
</tr>
<tr>
<td>
<el-select :placeholder="$t('pub.pleaseSel')" v-model="item.TrafficType">
<el-option v-for="subItem in ArrivalTypeArray" :value="subItem.ID" :key="subItem.ID" :label="subItem.Name">
</el-option>
</el-select>
</td>
</tr>
</tbody>
<tfoot v-if="CurrentDayNum!=totalDayNum">
<tr>
<td>回酒店</td>
</tr>
</tfoot>
</table>
</template>
<div class="St_mainDiv">
<div v-if="!ishasScenic">
<div v-if="CurrentDayNum!=1" class="St_current" style="margin-bottom:20px;">
<div class="St_radioDiv Str1">
<i class="iconfont icon-hotel"></i>
</div>
酒店出发
</div>
<div class="St_current" style="margin-bottom:20px" v-else-if="CurrentDayNum==1">
<!--{{trafficObj.trafficIntroduce.IntroduceTitle}}-->
<template
v-if="trafficObj.trafficIntroduce.IntroduceTitle">机场</template>
<template v-else>机场</template>
<div class="St_radioDiv Str1">
<i class="iconfont icon-Shape1"></i>
</div>
</div>
<div>
<el-select :placeholder="$t('pub.pleaseSel')" class="w120" v-model="trafficObj.trafficIntroduce.TrafficType">
<el-option :value="0" :key="0" label="请选择"></el-option>
<el-option v-for="item in ArrivalTypeArray" :value="item.ID" :key="item.ID" :label="item.Name">
</el-option>
</el-select>
<el-upload v-if="trafficObj.trafficIntroduce.TrafficType==3" class="St_uploadContent"
:http-request="uploadFileBtn"
:multiple="false"
:show-file-list="false"
action
>
<span @click='getItemTraffic()'>上传</span>
</el-upload>
<el-input class="w180" v-if="trafficObj.trafficIntroduce.TrafficType==4" placeholder="距离预计用时" v-model="trafficObj.trafficIntroduce.TrafficContent"></el-input>
</div>
<div v-if="CurrentDayNum!=totalDayNum" class="St_current" style="margin:10px 0">
<div class="St_radioDiv">
<i class="iconfont icon-hotel"></i>
</div>
回酒店
</div>
<div class="St_current" style="margin:10px 0px;" v-else >
<!--{{trafficObj.trafficIntroduce.IntroduceTitle}}-->
<template
v-if="trafficObj.trafficIntroduce.IntroduceTitle">机场</template>
<template v-else>机场</template>
<div class="St_radioDiv Str1">
<i class="iconfont icon-Shape1"></i>
</div>
</div>
</div>
<div v-else>
<div v-if="CurrentDayNum!=1" class="St_current" style="margin-bottom:20px;">
<div class="St_radioDiv Str1">
<i class="iconfont icon-hotel"></i>
</div>
酒店出发
</div>
<div v-for="(item,index) in ScenicArray" :key="index">
<div style="margin:10px 0" class="St_current">
<div class="St_radioDiv">
<i class="iconfont icon-jingdian"></i>
</div>
{{item.CouponsName}}
</div>
<div>
<el-select :placeholder="$t('pub.pleaseSel')" class="w120" v-model="item.TrafficType">
<el-option :value="0" :key="0" label="请选择"></el-option>
<el-option v-for="subItem in ArrivalTypeArray" :value="subItem.ID" :key="subItem.ID"
:label="subItem.Name">
</el-option>
</el-select>
<el-upload v-if="item.TrafficType==3" class="St_uploadContent"
:http-request="uploadFileBtn"
:multiple="false"
:show-file-list="false"
action
>
<span @click='getItem(index)'>上传</span>
</el-upload>
<el-input class="w180" v-if="item.TrafficType==4" v-model="item.TrafficContent" placeholder="距离预计用时"></el-input>
</div>
</div>
<div v-if="CurrentDayNum!=totalDayNum" class="St_current" style="margin:20px 0">
<div class="St_radioDiv">
<i class="iconfont icon-hotel"></i>
</div>
回酒店
</div>
</div>
</div>
</div>
</template>
<script>
......@@ -80,8 +141,8 @@
"trafficObj", //交通信息
"ScenicArray", //景点数组
"ishasScenic", //是否有景点
"CurrentDayNum",//当前天数
"totalDayNum",//总天数
"CurrentDayNum", //当前天数
"totalDayNum", //总天数
],
data() {
return {
......@@ -94,6 +155,8 @@
font: false, //字体
narrative: true //叙述,
},
checkedIndex:'',
checkTraffic:0,
//交通类型数组
ArrivalTypeArray: [{
ID: 1,
......@@ -122,7 +185,32 @@
"my-edit": MyEdit
},
methods: {
//获取index
getItem(index) {
this.checkedIndex = index
},
getItemTraffic(){
this.checkTraffic=1;
},
//上传图片
uploadFileBtn(file) {
let that = this
let newArr = []
newArr.push(file.file)
let path = '/Upload/DMC'
this.$message.info('上传中...')
this.UploadSelfFileT(path, newArr, x => {
if(this.checkTraffic==1){
this.trafficObj.trafficIntroduce.TrafficImage = this.domainManager()
.ViittoFileUrl + x.data.FilePath;
}else{
this.ScenicArray[this.checkedIndex].TrafficImage = this.domainManager()
.ViittoFileUrl + x.data.FilePath;
}
this.$message.success(x.data.Message)
this.$forceUpdate()
})
}
},
mounted() {},
created() {},
......
......@@ -133,7 +133,8 @@
<div class="TC-titlebox">
<span class="TC-TitleSpan" v-if="!dayObj.isRead">
<el-form-item>
<el-input type="textarea" :autosize="{minRows: 1, maxRows: 8 }" resize="none" class="w700" placeholder="请输入行程大点信息" v-model="dayObj.TitleObj.Title"></el-input>
<el-input type="textarea" :autosize="{minRows: 1, maxRows: 8 }" resize="none" class="w700"
placeholder="请输入行程大点信息" v-model="dayObj.TitleObj.Title"></el-input>
</el-form-item>
</span>
<span class="TC-spanTitle" v-if="dayObj.isRead">{{dayObj.TitleObj.Title}}</span>
......@@ -141,10 +142,9 @@
</div>
<div class="TC-Comtitlediv">
<trifficTrip v-bind:trafficObj="dayObj.TrafficObj" :isOpenGroup="isOpenGroup" v-bind:AllCityList="AllCityList"
v-bind:UseTypeArray="UseTypeArray" v-bind:AirPickUp="AirPickUp" v-bind:AirSend="AirSend"
v-bind:StartCity="StartCity"
v-bind:CurrentIndex="CurrentIndex" v-bind:TotalCount="TotalCount" v-bind:dayObj="dayObj"
:isRead="dayObj.isRead"></trifficTrip>
v-bind:UseTypeArray="UseTypeArray" v-bind:AirPickUp="AirPickUp" v-bind:AirSend="AirSend"
v-bind:StartCity="StartCity" v-bind:CurrentIndex="CurrentIndex" v-bind:TotalCount="TotalCount"
v-bind:dayObj="dayObj" :isRead="dayObj.isRead"></trifficTrip>
</div>
<div class="TC-Comtitlediv">
<div class="partName">
......@@ -153,22 +153,20 @@
<div class="TC-titlebox">
<el-checkbox v-model="ishasScenic" border size="mini" @change="hasScenicChange">景点</el-checkbox>
<el-select v-if="ishasScenic&&NoticeParameters.IsDirect==1" class="w600 Ht_hotelSelect" size="mini"
:placeholder="$t('pub.pleaseSel')" :multiple-limit="5" v-model="ChooseScenicArray" multiple
filterable
@visible-change="getQScenicList($event)">
:placeholder="$t('pub.pleaseSel')" :multiple-limit="5" v-model="ChooseScenicArray" multiple filterable
@visible-change="getQScenicList($event)">
<el-option v-for="item in QScenicList" :label="item.Name" :value="item.ID" :key="item.ID">
<span style="float: left">{{ item.Name }}</span>
<span style="float: right; color: #8492a6; font-size: 13px">{{ item.Inventory }}</span>
</el-option>
</el-select>
<el-popover placement="right" width="540" trigger="click" >
<scenicTraffic :ref="'scenicTraffic'+dayObj.DayNum+''" :ScenicArray="dayObj.ScenicArray"
:trafficObj="dayObj.TrafficObj" :ishasScenic="ishasScenic"
:CurrentDayNum="dayObj.DayNum" :totalDayNum="subConfig.DayNum"
>
</scenicTraffic>
<span slot="reference" class="TC-tripTitle" style="padding-left:5px;cursor:pointer;">选择交通信息</span>
</el-popover>
<el-popover placement="right" width="430" trigger="click" v-if="NoticeParameters.IsDirect==1">
<scenicTraffic :ref="'scenicTraffic'+dayObj.DayNum+''" :ScenicArray="dayObj.ScenicArray"
:trafficObj="dayObj.TrafficObj" :ishasScenic="ishasScenic" :CurrentDayNum="dayObj.DayNum"
:totalDayNum="subConfig.DayNum">
</scenicTraffic>
<span slot="reference" class="TC-tripTitle" style="padding-left:5px;cursor:pointer;display:none;">路线信息</span>
</el-popover>
<ul class="scenicCheck_check" v-if="ishasScenic&& NoticeParameters.IsDirect==0">
<li>
......@@ -200,24 +198,24 @@
<div class="TC-ComInfoDiv" :class="scenicCheck>0||dayObj.ScenicArray.length>0?'_margin_bottom':''">
<onedayList :class="{'showOther':TeamType==3}"
v-if="(NoticeParameters.IsDirect==1 && dayObj.ScenicArray.length==1)||(scenicCheck==1 && NoticeParameters.IsDirect==0)"
:isRead="dayObj.isRead" :scenicArray="dayObj.ScenicArray"
:IsDirect="NoticeParameters.IsDirect" :DayNum="dayObj.DayNum"></onedayList>
:isRead="dayObj.isRead" :scenicArray="dayObj.ScenicArray" :IsDirect="NoticeParameters.IsDirect"
:DayNum="dayObj.DayNum"></onedayList>
<twodayList :class="{'showOther':TeamType==3}"
v-if="(NoticeParameters.IsDirect==1 && dayObj.ScenicArray.length==2)||(scenicCheck==2 && NoticeParameters.IsDirect==0)"
:isRead="dayObj.isRead" :scenicArray="dayObj.ScenicArray"
:IsDirect="NoticeParameters.IsDirect" :DayNum="dayObj.DayNum"></twodayList>
:isRead="dayObj.isRead" :scenicArray="dayObj.ScenicArray" :IsDirect="NoticeParameters.IsDirect"
:DayNum="dayObj.DayNum"></twodayList>
<threedayList :class="{'showOther':TeamType==3}"
v-if="(NoticeParameters.IsDirect==1 && dayObj.ScenicArray.length==3)||(scenicCheck==3 && NoticeParameters.IsDirect==0)"
:isRead="dayObj.isRead" :scenicArray="dayObj.ScenicArray"
:IsDirect="NoticeParameters.IsDirect" :DayNum="dayObj.DayNum"></threedayList>
:isRead="dayObj.isRead" :scenicArray="dayObj.ScenicArray" :IsDirect="NoticeParameters.IsDirect"
:DayNum="dayObj.DayNum"></threedayList>
<fourdayList :class="{'showOther':TeamType==3}"
v-if="(NoticeParameters.IsDirect==1 && dayObj.ScenicArray.length==4)||(scenicCheck==4 && NoticeParameters.IsDirect==0)"
:isRead="dayObj.isRead" :scenicArray="dayObj.ScenicArray"
:IsDirect="NoticeParameters.IsDirect" :DayNum="dayObj.DayNum"></fourdayList>
:isRead="dayObj.isRead" :scenicArray="dayObj.ScenicArray" :IsDirect="NoticeParameters.IsDirect"
:DayNum="dayObj.DayNum"></fourdayList>
<fivedayList :class="{'showOther':TeamType==3}"
v-if="(NoticeParameters.IsDirect==1 && dayObj.ScenicArray.length==5)||(scenicCheck==5 && NoticeParameters.IsDirect==0)"
:isRead="dayObj.isRead" :scenicArray="dayObj.ScenicArray"
:IsDirect="NoticeParameters.IsDirect" :DayNum="dayObj.DayNum"></fivedayList>
:isRead="dayObj.isRead" :scenicArray="dayObj.ScenicArray" :IsDirect="NoticeParameters.IsDirect"
:DayNum="dayObj.DayNum"></fivedayList>
</div>
<div class="TC-warmTips TC-Comtitlediv" v-if="!dayObj.isRead" :class="{'showOther':TeamType==3}">
<div class="TC-SpecialInstruction clearfix">
......@@ -225,9 +223,8 @@
<div class="TC-rightContent">
<!--<el-input type="textarea" v-model="dayObj.WarmTipObj.Description"></el-input>-->
<my-edit v-on:edit-value="dayObj.WarmTipObj.Description = arguments[0]"
v-bind:editValue="dayObj.WarmTipObj.Description"
v-bind:toolbarShow="toolbar" v-bind:referenceList="DefaultList"
></my-edit>
v-bind:editValue="dayObj.WarmTipObj.Description" v-bind:toolbarShow="toolbar"
v-bind:referenceList="DefaultList"></my-edit>
</div>
</div>
</div>
......@@ -238,7 +235,8 @@
</div>
</div>
<hotelTrip :dayObj="dayObj" :CurrentIndex="CurrentIndex" :DayList="DayList" :WarmTripDescribe="WarmTripDescribe"
:IsDirect="NoticeParameters.IsDirect" :subConfig="subConfig" :TeamType="TeamType" :IsOpenHotel="IsOpenHotel"></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>
......@@ -271,7 +269,7 @@
import fivedayList from "../TravelTripPreview/fivedayList";
import trifficTrip from "../travelLineTrip/trifficTrip";
import MyEdit from "../../EditTemplate.vue";
import ScenicTraffic from "../travelLineTrip/ScenicTraffic";
import ScenicTraffic from "../travelLineTrip/ScenicTraffic";
export default {
props: [
......@@ -305,7 +303,7 @@
},
toolbar: {
//narrative: true, //叙述,
showToolBar:false
showToolBar: false
},
DefaultList: []
};
......@@ -342,7 +340,7 @@
scenic.CouponsId = 0;
scenic.CouponsName = "";
scenic.CityId = 0;
scenic.DayNum = this.dayObj.DayNum;
scenic.DayNum = this.dayObj.DayNum;
scenic.MD5Sign = this.md5(`DayNum=${this.CurrentIndex + 1}&Type=jing&ID=${i}`)
scenic.NewImaArray.push({
Url: "",
......@@ -359,7 +357,7 @@
this.dayObj.ScenicArray = newArray;
}
}
this.dayObj.ScenicArray.forEach(x=>{
this.dayObj.ScenicArray.forEach(x => {
// x.ScenicJson.y=0;
});
},
......@@ -413,8 +411,7 @@
this.QScenicList = res.data.data;
}
},
err => {
}
err => {}
);
},
getItemLabel(item) {
......@@ -451,6 +448,30 @@
}
}
},
//景点左移右移
MoveScenicItem(dayNum, index, type) {
var currentItem = {};
this.subConfig.DayList.forEach(dayItem => {
if (dayItem.DayNum == dayNum) {
currentItem = dayItem;
}
});
if (currentItem && currentItem.ScenicArray && currentItem.ScenicArray.length > 0) {
var cScenicItem = currentItem.ScenicArray[index];
//左移
if (type == 0) {
var leftItem = currentItem.ScenicArray[index - 1];
this.$set(currentItem.ScenicArray, index - 1, cScenicItem);
this.$set(currentItem.ScenicArray, index, leftItem);
}
//右移
else {
var rightItem = currentItem.ScenicArray[index + 1];
this.$set(currentItem.ScenicArray, index + 1, cScenicItem);
this.$set(currentItem.ScenicArray, index, rightItem);
}
}
},
//初始化行程子项的行程天数
initDayObjItemDayNum(dayObj) {
dayObj.TitleObj.DayNum = dayObj.DayNum;
......@@ -548,13 +569,16 @@
}
},
created() {
this.dayObj.ScenicArray.forEach(x=>{
this.dayObj.ScenicArray.forEach(x => {
// x.ScenicJson = (typeof(x.ScenicJsonStr) === 'string' ? x.ScenicJsonStr : { x:0, y:0 })
let obj = JSON.parse(x.ScenicJsonStr)
if (obj) {
x.ScenicJson = obj
} else {
x.ScenicJson = { x:0, y:0 }
x.ScenicJson = {
x: 0,
y: 0
}
}
})
this.initScenicData();
......@@ -688,8 +712,7 @@
deep: true
},
},
mounted() {
},
mounted() {},
components: {
onedayList,
hotelTrip,
......@@ -700,7 +723,7 @@
trifficTrip,
noScenic,
"my-edit": MyEdit,
scenicTraffic:ScenicTraffic
scenicTraffic: ScenicTraffic
}
};
......
......@@ -153,7 +153,8 @@ export default {
//文件站点
ViittoFileUrl: locationName.indexOf('oytour') !== -1 || locationName.indexOf('viitto') !== -1 ? "http://imgfile.oytour.com" : 'http://192.168.2.214:8130',
javaUrl: locationName.indexOf('oytour') !== -1 || locationName.indexOf('viitto') !== -1 ? (locationName.indexOf('oytour') !== -1 ? "http://efficient.oytour.com" : "http://47.96.12.235:9001") : "http://192.168.2.17:8087",
javaUrlNew: locationName.indexOf('oytour') !== -1 || locationName.indexOf('viitto') !== -1 ? (locationName.indexOf('oytour') !== -1 ? "http://property.oytour.com" : "http://47.96.12.235:9001") : "http://192.168.2.17:8087",
// javaUrl:"http://192.168.2.215:9000",
//Java接口本站文件流下载地址
JavaLocalFileStreamDownLoadUrl: javaUrldo,
......@@ -423,6 +424,66 @@ export default {
}
}, faildCall)
},
//请求资产管理接口
Vue.prototype.apiJavaPostZc = function (cmd, msg, successCall, faildCall) {
if (this.$route.name.indexOf('login') === -1 && this.$route.name.indexOf('confirmationOrderDownLoad') === -1 && this.$route.name.indexOf('PrintPage') === -1 && this.$route.name.indexOf('clientConfirm') === -1) {
let previousPathInfo = {
path: this.$route.name,
query: this.$route.query
}
localStorage.previousPathInfo = JSON.stringify(previousPathInfo);
}
if (msg == null || msg == "") {
msg = {}
}
var apiurl = this.domainManager().javaUrlNew + cmd;
var timestamp = (new Date()).valueOf();
this.apiurl = apiurl;
var token = "";
var key = "";
let userInfo = localStorage.userInfo ? JSON.parse(localStorage.userInfo) : '';
let groupId = userInfo.RB_Group_id ? userInfo.RB_Group_id : 0;
let uid = userInfo.EmployeeId ? userInfo.EmployeeId : 0;
if (this.getLocalStorage() != null) {
token = this.getLocalStorage().token;
key = this.getLocalStorage().SecretKey;
}
var encodeMsg = encodeURIComponent(JSON.stringify(msg)).toLowerCase();
var md5Str = md5(`msg=${encodeMsg}&timestamp=${timestamp}&token=${token}&key=${key}`);
var postData = {
"msg": msg,
"timestamp": timestamp,
"token": token,
"sign": md5Str,
"uid": uid,
"groupId": groupId
}
if (localStorage.g && localStorage.g != 'undefined') {
postData.groupId = parseInt(JSON.parse(localStorage.g).i)
}
this.$http.post(apiurl, postData, {
headers: {
'Content-Type': 'application/json',
'Referer-Viitto': this.$route.path
}
})
.then(res => {
if (res.resultCode == 10000 || res.resultCode == 10001) {
this.$router.push({
path: '/login'
})
} else if (res.resultCode == 10005) {
this.$router.go(-1)
} else if (res.data.data && res.data.data.isJumpTwoCode == 1) {
this.$router.push({
path: '/clientConfirm'
})
} else {
successCall(res)
}
}, faildCall)
},
//下载文件
Vue.prototype.GetLocalFile = function (cmd, msg, fileName, successCall) {
......
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