Commit d3ae8496 authored by 沈良进's avatar 沈良进

页面修改

parent d0c9db60
......@@ -72,9 +72,6 @@
<template>
<div class="SignName">
<div class="signTc" v-show="tcStatus">
<span @click="tcStatus=false;" class="closeTc">去签字</span>
</div>
<div class="CliSignDiv" style="height:100%;z-index:100;background:#fff;">
<div class="CanvasDiv">
<div class="dash">
......@@ -101,7 +98,6 @@
</div>
</div>
</template>
<script>
import tripBusOrderVue from './busManagement/tripBusOrder.vue';
let canvas = document.createElement("canvas");
......@@ -109,27 +105,44 @@
export default {
data() {
return {
tcStatus: false,
linewidth: 5, //线条粗细,选填
color: "black", //线条颜色,选填
background: "#fff", //线条背景,选填
SignInfo: {},
isSignature: false, //判断是否签名
SignInfo: "", //绘制的签名信息
msg: {
TCID: 0,
orderID: 0,
guestId: 0,
Id: 0, //出境合同主键编号
TCID: 0, //团期编号
orderID: 0, //订单编号
guestId: 0, //旅客编号
ProtocolId: 0, //保密协议编号
TypeStr: "", //跳转页面地址
},
isRB: 0, //1-出境日本合同,0-其它合同
isSignature: false, //是否签名
}
},
created() {
this.SignInfo = JSON.parse(sessionStorage.getItem("SignInfo"));
},
mounted() {
if (this.$route.query && this.$route.query.TCID) {
this.msg.TCID = this.$route.query.TCID;
}
if (this.$route.query && this.$route.query.orderID) {
this.msg.orderID = this.$route.query.orderID;
this.isRB = this.$route.query.isRB;
}
if (this.$route.query && this.$route.query.guestId) {
this.msg.guestId = this.$route.query.guestId;
}
if (this.$route.query && this.$route.query.ProtocolId) {
this.msg.ProtocolId = this.$route.query.ProtocolId;
}
if (this.$route.query && this.$route.query.Id) {
this.msg.Id = this.$route.query.Id;
}
if (this.$route.query && this.$route.query.TypeStr) {
this.msg.TypeStr = this.$route.query.TypeStr;
}
console.log("this.msg", this.msg);
this.getCanvas();
document.getElementsByTagName('body')[0].style = "overscroll-behavior-y: contain;"
},
......@@ -211,7 +224,7 @@
},
handelClearEl() {
cxt.clearRect(0, 0, canvas.width, canvas.height);
this.isSignature=false;
this.isSignature = false;
},
handelSaveEl() {
var imageData = canvas.getContext("2d").getImageData(0, 0, canvas.width, canvas.height);
......@@ -226,7 +239,7 @@
}
canvas.getContext("2d").putImageData(imageData, 0, 0);
let imgBase64 = canvas.toDataURL();
this.SignInfo.companySignature = imgBase64;
this.SignInfo = imgBase64;
this.SaveMsg();
},
//提交数据
......@@ -235,19 +248,44 @@
this.Error("请绘制签名信息");
return;
}
this.apipost("travelcontract_post_UpdateCompanySignatureService", this.SignInfo, res => {
//出境合同
if (this.msg.TypeStr == 'clientConfirm') {
var postMsg = {
Id: this.msg.Id,
companySignature: this.SignInfo
}
this.apipost("travelcontract_post_UpdateCompanySignatureService", postMsg, res => {
if (res.data.resultCode === 1) {
this.Success(res.data.message);
var path = "clientConfirm";
if (this.isRB == 1) {
path = "clientConfirmRB"
}
this.$router.push({
name: path,
query: {
TCID: this.msg.TCID,
orderID: this.msg.orderID,
str: 1,
guestId: this.msg.guestId,
str:"",//不弹窗
}
})
} else {
this.Error(res.data.message);
}
}, null);
}
//保密协议
else if (this.msg.TypeStr == 'clientProtocol') {
var clientProtocolMsg = {
ProtocolId: this.msg.ProtocolId,
GuestSignature: this.SignInfo
}
this.apipost("travelcontract_post_UpdateGuestSignature", clientProtocolMsg, res => {
if (res.data.resultCode === 1) {
this.Success(res.data.message);
this.$router.push({
name: 'clientProtocol',
query: {
TCID: this.msg.TCID,
orderID: this.msg.orderID,
guestId: this.msg.guestId,
}
})
......@@ -255,8 +293,8 @@
this.Error(res.data.message);
}
}, null);
}
},
}
}
</script>
\ No newline at end of file
......@@ -247,22 +247,13 @@
font-weight: bold;
}
#canvas {
width: 100%;
height: 100%;
/* position: relative; */
}
#canvas canvas {
display: block;
}
.CliSignDiv {
position: fixed;
border: 1px solid #d1d1d1;
width: 100%;
background-color: #fff;
/* height:500px; */
z-index: 999;
margin: auto;
display: block;
......@@ -452,7 +443,7 @@
.dic_content .gzqzUl li .signImg {
position: absolute;
left: 45%;
right: 15%;
z-index: 200;
}
......@@ -510,12 +501,18 @@
<template>
<div class="dic_content" :class="dialogVisible?'CisHideen':''">
<!-- 签字 -->
<div class="signSpan" v-if="dataList.companySignature==''">
<div class="signSpan" v-if="msg.Id>0 &&dataList.companySignature==''">
<div @click="goUrl" class="sign">
<p><span style="font-size:3rem" class="iconfont icon-qianming"></span></p>
<span style="font-size:2rem">签字</span>
</div>
</div>
<div class="signSpan" v-if="msg.Id>0 &&dataList.companySignature!=''">
<div @click="goUrl" class="sign">
<p><span style="font-size:3rem" class="iconfont icon-qianming"></span></p>
<span style="font-size:2rem">重签</span>
</div>
</div>
<!-- 开始进入弹窗 -->
<div class=TipTc v-if="tcShowDialog" id="tcShowDialog">
<div class="TipsDiv" style="text-align:center;line-height:2">
......@@ -528,9 +525,7 @@
<li>文明行,最得体。</li>
</ul>
<el-button type="primary" @click="closeTcShowHandler" class="readSpan">已阅知</el-button>
</div>
</div>
<!-- 头部 -->
<div class="NavFixed">
......@@ -548,7 +543,6 @@
<li :class="ActiveTab==8?'ActiveLi':''" @click="ChangeTab(8)">文明旅游公约</li>
</ul>
</div>
</div>
</div>
<!-- 页面布局 -->
......@@ -943,8 +937,8 @@
<el-col :span="12">旅游者代表签字(盖章):</el-col>
<el-col :span="12">
{{dataList.companySignature!=''?'':dataList.clientName}}
<img style="width:120px;" :src="dataList.companySignature" v-if="dataList.companySignature!=''"
alt="" />
<img style="width:120px;" class="signImg" :src="dataList.companySignature"
v-if="dataList.companySignature!=''" alt="" />
</el-col>
</el-row>
</li>
......@@ -1000,7 +994,7 @@
<li>
<el-row>
<el-col :span="12">出境社盖章:</el-col>
<el-col :span="12"><img class="signImg" :src="CurrentUserInfo.ZhangImg" alt="" /></el-col>
<el-col :span="12"><img class="signImg" :src="ZhangImg" alt="" /></el-col>
</el-row>
</li>
<li>
......@@ -1208,891 +1202,19 @@
</div>
</div>
</div>
<div style="display:none">
<div class="contractRight" style="overflow:scroll;">
<div class="item_content">
<div class="title">
<h2>四川和平国际旅行社有限公司</h2>
<h2>团队出境旅游合同</h2>
<p><b>合同编号:<font>{{dataList.contractNum}}</font></b></p>
</div>
<label id="l1">使用说明</label>
<p>1、本合同参照国家旅游局和国家工商行政管理总局示范文本(国家GF-2014-2402),结合《四川省旅游管理条例》、《成都市旅游业促进条例》制定本合同。</p>
<p>2、供中华人民共和国境内(不含港、澳、台地区)经营出境旅游业务或者边境旅游业务的旅行社(以下简称“出境社”)与出境旅游者(以下简称“旅游者”)之间签订团队出境包价旅游(不含赴台湾地区旅游)合同时使用。</p>
<p>3、双方当事人应当结合具体情况选择本合同协议条款中所提供的选择项,空格处应当以文字形式填写完整。</p>
<p>4、双方当事人可以书面形式对本示范文本内容进行变更或者补充,但变更或者补充的内容,不得减轻或者免除应当由出境社承担的责任。</p>
</div>
<div class="item_content">
<label id="l2">合同条款</label>
<p>
旅游者:<font>{{dataList.clientName}}</font><font v-if="dataList.guestList">{{dataList.guestList.length}}
</font>
人(名单可附页,需出境社和旅游者代表签字盖章确认);
</p>
<p>出境社:<font>{{dataList.company}}</font>
</p>
<p>旅行社业务经营许可证编号:<font>{{dataList.businessCertificate}}</font>
</p>
<h3>
<p class="zhangTitle">第一章&nbsp;&nbsp;术语和定义</p>
</h3>
<h3>
<p>第一条&nbsp;&nbsp;本合同术语和定义</p>
</h3>
<p>1.
团队出境旅游服务,指出境社依据《中华人民共和国旅游法》、《中国公民出国旅游管理办法》和《旅行社条例》等法律、法规,组织旅游者出国旅游及赴中外双方政府商定的国外边境区域和港、澳地区等旅游目的地旅游,代办旅游签证/签注,代订公共交通客票,提供餐饮、住宿、游览等两项以上服务活动。
</p>
<p>2.旅游费用,指旅游者支付给出境社,用于购买本合同约定的旅游服务的费用。</p>
<p>旅游费用包括:</p>
<p>(1)必要的签证/签注费用(旅游者自办的除外);</p>
<p>(2)交通费(含境外机场税);</p>
<p>(3)住宿费;</p>
<p>(4)餐费(不含酒水费);</p>
<p>(5)出境社统一安排的景区景点的门票费;</p>
<p>(6)行程中安排的其他项目费用;</p>
<p>(7)导游服务费; </p>
<p>(8)边境旅游中办理旅游证件的费用;</p>
<p>(9)出境社、境外地接社等其他服务费用。</p>
<p>(10)旅游者投保的人身意外伤害保险费用;</p>
<p> (11)境外小费; </p>
<p>旅游费用不包括:</p>
<p>(1)办理护照、港澳通行证的费用;</p>
<p>(2)办理离团的费用;</p>
<p>(3)合同未约定由出境社支付的费用,包括但不限于行程以外非合同约定项目所需的费用、自行安排活动期间发生的费用; </p>
<p>(4)行程中发生的旅游者个人费用,包括但不限于交通工具上的非免费餐饮费、行李超重费,住宿期间的洗衣、通讯 、饮料及酒类费用,个人娱乐费用,个人伤病医疗费,寻找个人遗失物品的费用及报酬,个人原因造成的赔偿费用。
</p>
<p>3.履行辅助人,指与旅行社存在合同关系,协助其履行本合同义务,实际提供相关服务的法人、自然人或者其他组织。</p>
<p>4.自由活动,特指《旅游行程单》中安排的自由活动。</p>
<p>5.自行安排活动期间,指《旅游行程单》中安排的自由活动期间、旅游者不参加旅游行程活动期间、每日行程开始前、结束后旅游者离开住宿设施的个人活动期间、旅游者经领队或者导游同意暂时离团的个人活动期间。</p>
<p>6.
不合理的低价,指出境社提供服务的价格低于接待和服务费用或者低于行业公认的合理价格,且无正当理由和充分证据证明该价格的合理性。其中,接待和服务费用主要包括出境社提供或者采购餐饮、住宿、交通、游览、导游或者领队等服务所支出的费用。
</p>
<p>7.
具体购物场所,指购物场所有独立的商号以及相对清晰、封闭、独立的经营边界和明确的经营主体,包括免税店,大型购物商场,前店后厂的购物场所,景区内购物场所,景区周边或者通往景区途中的购物场所,服务旅游团队的专门商店,商品批发市场和与餐饮、娱乐、停车休息等相关联的购物场所等。
</p>
<p>
8.旅游者投保的人身意外伤害保险,指旅游者自己购买或者通过旅行社、航空机票代理点、景区等保险代理机构购买的以旅行期间自身的生命、身体或者有关利益为保险标的的短期保险,包括但不限于航空意外险、旅游意外险、紧急救援保险、特殊项目意外险。
</p>
<p>9.离团,指团队旅游者在境外经领队同意不随团队完成约定行程的行为。</p>
<p>10.脱团,指团队旅游者在境外未经领队同意脱离旅游团队,不随团队完成约定行程的行为。</p>
<p>11.转团,指由于未达到约定成团人数不能出团,出境社征得旅游者书面同意,在行程开始前将旅游者转至其他出境社所组的出境旅游团队履行合同的行为。</p>
<p>12.拼团,指出境社在保证所承诺的服务内容和标准不变的前提下,在签订合同时经旅游者同意,与其他出境社招徕的旅游者拼成一个团统一安排旅游服务的行为。</p>
<p>13.不可抗力,指不能预见、不能避免并不能克服的客观情况,包括但不限于因自然原因和社会原因引起的,如自然灾害、战争、恐怖活动、动乱、骚乱、罢工、突发公共卫生事件、政府行为。</p>
<p>14.已尽合理注意义务仍不能避免的事件,指因当事人故意或者过失以外的客观因素引发的事件,包括但不限于重大礼宾活动导致的交通堵塞,飞机、火车、班轮、城际客运班车等公共客运交通工具延误或者取消,景点临时不开放。</p>
<p>15.必要的费用,指出境社履行合同已经发生的费用以及向地接社或者履行辅助人支付且不可退还的费用,
包括乘坐飞机(车、船)等交通工具的费用(含预订金)、旅游签证/签注费用、饭店住宿费用(含预订金)、旅游观光汽车的人均车租等。</p>
<p>16.公共交通经营者,指航空、铁路、航运客轮、城市公交、地铁等公共交通工具经营者。</p>
<h3>
<p class="zhangTitle">第二章&nbsp;&nbsp;合同的订立</p>
</h3>
<h3>
<p>第二条&nbsp;&nbsp;旅游行程单</p>
</h3>
<p>出境社应当提供带团号的《旅游行程单》(以下简称《行程单》),经双方签字或者盖章确认后作为本合同的组成部分。《行程单》应当对如下内容作出明确的说明:</p>
<p>(1)旅游行程的出发地、途经地、目的地、结束地,线路行程时间(按自然日计算,含乘飞机、车、船等在途时间,不足24小时以一日计); </p>
<p>(2)旅游目的地地接社的名称、地址、联系人和联系电话;</p>
<p>(3)交通服务安排及其标准(明确交通工具及档次等级、出发时间以及是否需中转等信息);</p>
<p>(4)住宿服务安排及其标准(明确住宿饭店的名称、地址、档次等级及是否有空调、热水等相关服务设施);</p>
<p>(5)用餐(早餐和正餐)服务安排及其标准(明确用餐次数、地点、标准);</p>
<p>(6)出境社统一安排的游览项目的具体内容及时间(明确旅游线路内容包括景区点及游览项目名称、景区点停留的最少时间);</p>
<p>(7)自由活动的时间; </p>
<p>(8)行程安排的娱乐活动(明确娱乐活动的时间、地点和项目内容);</p>
<h3>
<p>《行程单》用语须准确清晰,在表明服务标准用语中不应当出现“准×星级”、“豪华”、“仅供参考”、“以××为准”、“与××同级”等不确定用语。</p>
</h3>
<h3>
<p class="toTopDistance">第三条&nbsp;&nbsp;订立合同</p>
</h3>
<p>旅游者应当认真阅读本合同条款和《行程单》,在旅游者理解本合同条款及有关附件后,出境社和旅游者应当签订书面合同。</p>
<p>由旅游者的代理人订立合同的,代理人需要出具被代理的旅游者的授权委托书。</p>
<h3>
<p class="toTopDistance">第四条&nbsp;&nbsp;旅游广告及宣传品</p>
</h3>
<p>出境社的旅游广告及宣传品应当遵循诚实信用的原则,其内容符合《中华人民共和国合同法》要约规定的,视为本合同的组成部分,对出境社和旅游者双方具有约束力。</p>
<h3>
<p class="zhangTitle">第三章&nbsp;&nbsp;合同双方的权利义务</p>
</h3>
<h3>
<p>第五条&nbsp;&nbsp;出境社的权利</p>
</h3>
<p>1.根据旅游者的身体健康状况及相关条件决定是否接纳旅游者报名参团;</p>
<p>2.核实旅游者提供的相关信息资料;</p>
<p>3.按照合同约定向旅游者收取全额旅游费用;</p>
<p>4.旅游团队遇紧急情况时,可以采取安全防范措施和紧急避险措施并要求旅游者配合;</p>
<p>5.拒绝旅游者提出的超出合同约定的不合理要求;</p>
<p>6. 要求旅游者对在旅游活动中或者在解决纠纷时损害出境社合法权益的行为承担赔偿责任;</p>
<p>7.要求旅游者健康、文明旅游,劝阻旅游者违法和违反社会公德的行为。</p>
<h3>
<p class="toTopDistance">第六条&nbsp;&nbsp;出境社的义务</p>
</h3>
<p>1.按照合同和《行程单》约定的内容和标准为旅游者提供服务,不擅自变更旅游行程安排,不降低服务标准;</p>
<p>2.向合格的供应商订购产品和服务;</p>
<p>
3.不以不合理的低价组织旅游活动,诱骗旅游者,并通过安排购物或者另行付费旅游项目获取回扣等不正当利益;组织、接待旅游者,不指定具体购物场所,不安排另行付费旅游项目,但是,经双方协商一致或者旅游者要求,且不影响其他旅游者行程安排的除外;
</p>
<p>
4.在出团前采取行前说明会等方式,如实告知具体行程安排和有关具体事项。具体事项包括但不限于旅游目的地国家或者地区的相关法律、法规和风俗习惯、文化传统和宗教禁忌;旅游活动中的安全注意事项和安全避险措施、旅游者不适合参加旅游活动的情形;出境社依法可以减免责任的信息;境外小费标准、外汇兑换事项、应急联络方式(包括我驻外使领馆及出境社境内和境外应急联系人及联系方式);法律、法规规定的其他应当告知的事项;
</p>
<p>5. 为旅游团队安排符合《中华人民共和国旅游法》、《旅行社条例》、《中国公民出国旅游管理办法》等法律、法规规定的持证领队人员;</p>
<p>6.妥善保管旅游者交其代管的证件、行李等物品;</p>
<h3>
<p>7.为旅游者发放用中英文固定格式书写、由旅游者填写的安全信息卡(内容包括旅游者的姓名、国籍、血型、应急联络方式等);</p>
</h3>
<p>8.旅游者人身、财产权益受到损害时,应采取合理必要的保护和救助措施,避免旅游者人身、财产权益损失扩大;</p>
<p>9.积极协调处理旅游行程中的纠纷,采取适当措施防止损失扩大;</p>
<p>10.提示旅游者按照规定投保人身意外伤害保险;</p>
<p>11.向旅游者提供发票;</p>
<p>12.依法对旅游者个人信息保密。</p>
<h3>
<p class="toTopDistance">第七条&nbsp;&nbsp;旅游者的权利</p>
</h3>
<p>1.要求出境社按照合同及《行程单》约定履行相关义务;</p>
<p>2.拒绝出境社未经事先协商一致的转团、拼团行为;</p>
<p>
3.有权自主选择旅游产品和服务,有权拒绝出境社未与旅游者协商一致或者未经旅游者要求而指定购物场所、安排旅游者参加另行付费旅游项目的行为,有权拒绝出境社的导游、领队强迫或者变相强迫旅游者购物、参加另行付费旅游项目的行为;
</p>
<p>4.在支付旅游费用时要求出境社出具发票;</p>
<p>5.人格尊严、民族风俗习惯和宗教信仰得到尊重;</p>
<p>6.在人身、财产安全遇有危险时,有权请求救助和保护;人身、财产受到侵害的,有权依法获得赔偿;</p>
<p>7.在合法权益受到损害时向有关部门投诉或者要求出境社协助索赔;</p>
<p>8. 《中华人民共和国旅游法》、《中华人民共和国消费者权益保护法》和有关法律、法规赋予旅游者的其他各项权利。</p>
<h3>
<p class="toTopDistance">第八条&nbsp;&nbsp;旅游者的义务</p>
</h3>
<p>1.如实填写《出境旅游报名表》、签证/签注资料和游客安全信息卡等各项内容,告知与旅游活动相关的个人健康信息,并对其真实性负责,保证所提供的联系方式准确无误且能及时联系; </p>
<p>2.向出境社提交能有效使用的因私护照或者通行证,自办签证/签注者应当确保所持签证/签注在出游期间有效;</p>
<p>3.按照合同约定支付旅游费用;</p>
<p>4.按照合同约定随团完成旅游行程,配合领队人员的统一管理;</p>
<p>5. 遵守我国和旅游目的地国家(地区)的法律、法规和有关规定,不携带违禁物品出入境;不参与色情、赌博和涉毒活动;不擅自脱团;不在境外滞留不归;</p>
<p>6. 遵守旅游目的地国家(地区)的公共秩序和社会公德,尊重当地的风俗习惯,文化传统和宗教信仰,爱护旅游资源,保护生态环境,遵守《中国公民出国(境)旅游文明行为指南》等文明行为规范;</p>
<p>7.对国家应对重大突发事件暂时限制旅游活动的措施以及有关部门、机构或者旅游经营者采取的安全防范和应急处置措施予以配合;</p>
<p>8. 妥善保管自己的行李物品,随身携带现金、有价证券、贵重物品,不在行李中夹带;</p>
<p>9.在旅游活动中或者在解决纠纷时,应采取适当措施防止损失扩大,不损害当地居民的合法权益,不干扰他人的旅游活动,不损害旅游经营者和旅游从业人员的合法权益,不采取拒绝上、下机(车、船)、拖延行程或者脱团等不当行为;
</p>
<p>10.在自行安排活动期间,应当在自己能够控制风险的范围内选择活动项目,遵守旅游活动中的安全警示规定,对自己的安全负责。</p>
<h3>
<p class="zhangTitle">第四章&nbsp;&nbsp;合同的变更与转让</p>
</h3>
<h3>
<p>第九条&nbsp;&nbsp;合同的变更</p>
</h3>
<p>1.出境社与旅游者双方协商一致,可以变更本合同约定的内容,但应当以书面形式由双方签字确认。由此增加的旅游费用及给对方造成的损失,由变更提出方承担;由此减少的旅游费用,出境社应当退还旅游者。</p>
<p>2.行程开始前遇到不可抗力或者出境社、履行辅助人已尽合理注意义务仍不能避免的事件的,双方经协商可以取消行程或者延期出行。取消行程的,按照本合同第十四条处理;延期出行的,增加的费用由旅游者承担,减少的费用退还旅游者。
</p>
<p>3.行程中遇到不可抗力或者出境社、履行辅助人已尽合理注意义务仍不能避免的事件,影响旅游行程的,按以下方式处理:</p>
<p>(1)合同不能完全履行的,旅行社经向旅游者作出说明,旅游者同意变更的,可以在合理范围内变更合同,因此增加的费用由旅游者承担,减少的费用退还旅游者。</p>
<p>(2)危及旅游者人身、财产安全的,旅行社应当采取相应的安全措施,因此支出的费用,由出境社与旅游者分担。</p>
<p>(3)造成旅游者滞留的,旅行社应采取相应的安置措施。因此增加的食宿费用由旅游者承担,增加的返程费用双方分担。</p>
<h3>
<p class="toTopDistance">第十条&nbsp;&nbsp;合同的转让</p>
</h3>
<p>旅游行程开始前,旅游者可以将本合同中自身的权利义务转让给第三人,出境社没有正当理由的不得拒绝,并办理相关转让手续,因此增加的费用由旅游者和第三人承担。</p>
<p>正当理由包括但不限于:对应原报名者办理的相关服务不可转让给第三人的;无法为第三人办妥签证/签注、安排交通等情形的;旅游活动对于旅游者的身份、资格等有特殊要求的。</p>
<h3>
<p class="toTopDistance">第十一条&nbsp;&nbsp;不成团的安排</p>
</h3>
<p>当未达到约定的成团人数不能成团时,旅游者可以与出境社就如下安排在本合同第二十三条中做出约定。</p>
<p>
1.转团:出境社可以在保证所承诺的服务内容和标准不降低的前提下,经事先征得旅游者书面同意,委托其他旅行社履行合同,并就受委托出团的出境社违反本合同约定的行为先行承担责任,再行追偿。旅游者和受委托出团的出境社另行签订合同的,本合同的权利义务终止。
</p>
<p>2.延期出团或者改签线路出团:出境社经征得旅游者书面同意,可以延期出团或者改签其他线路出团,因此增加的费用由旅游者承担,减少的费用出境社予以退还。需要时可以重新签订旅游合同。</p>
<h3>
<p class="zhangTitle">第五章&nbsp;&nbsp;合同的解除</p>
</h3>
<h3>
<p>第十二条&nbsp;&nbsp;出境社解除合同</p>
</h3>
<p>
1.未达到约定的成团人数不能成团时,出境社解除合同的,应当采取书面等有效形式。出境社在行程开始前30日(按照出发日减去解除合同通知到达日的自然日之差计算,下同)以上(含第30日,下同)提出解除合同的,不承担违约责任,出境社向旅游者退还已收取的全部旅游费用(不得扣除签证/签注费用);出境社在行程开始前30日以内(不含第30日,下同)提出解除合同的,除向旅游者退还已收取的全部旅游费用外,还应当按照本合同第十七条第1款的约定承担相应的违约责任。
</p>
<p>2.旅游者有下列情形之一的,出境社可以解除合同(相关法律、行政法规另有规定的除外):</p>
<p>(1)患有传染病等疾病,可能危害其他旅游者健康和安全的;</p>
<p>(2)携带危害公共安全的物品且不同意交有关部门处理的;</p>
<p>(3)从事违法或者违反社会公德的活动的;</p>
<p>(4)从事严重影响其他旅游者权益的活动,且不听劝阻、不能制止的;</p>
<p>(5)法律规定的影响合同履行的其他情形。</p>
<p>出境社因上述情形解除合同的,应当以书面等形式通知旅游者,按照本合同第十五条的相关约定扣除必要的费用后,将余款退还旅游者。</p>
<h3>
<p class="toTopDistance">第十三条&nbsp;&nbsp;旅游者解除合同</p>
</h3>
<p>
1.未达到约定的成团人数不能成团时,旅游者既不同意转团,也不同意延期出行或者改签其他线路出团的,出境社应及时发出不能成团的书面通知,旅游者可以解除合同。旅游者在行程开始前30日以上收到旅行社不能成团通知的,旅行社不承担违约责任,向旅游者退还已收取的全部旅游费用;旅游者在行程开始前30日以内收到旅行社不能成团通知的,按照本合同第十七条第1款相关约定处理。
</p>
<p>
2.除本条第1款约定外,在行程结束前,旅游者亦可以书面等形式解除合同(相关法律、行政法规另有规定的除外)。旅游者在行程开始前30日以上提出解除合同的,未办理签证/签注的,出境社应当向旅游者退还全部旅游费用;已办理签证/签注的,应当扣除签证/签注费用(旅游者自办的除外);旅游者在行程开始前30日以内提出解除合同的,出境社按照本合同第十五条相关约定扣除必要的费用后,将余款退还旅游者。
</p>
<p>3.旅游者未按约定时间到达约定集合出发地点,也未能在出发中途加入旅游团队的,视为旅游者解除合同,按照本合同第十五条相关约定处理。</p>
<h3>
<p class="toTopDistance">第十四条&nbsp;&nbsp;因不可抗力或者已尽合理注意义务仍不能避免的事件解除合同</p>
</h3>
<p>
因不可抗力或者出境社、履行辅助人已尽合理注意义务仍不能避免的事件,影响旅游行程,合同不能继续履行的,出境社和旅游者均可以解除合同;合同不能完全履行,旅游者不同意变更的,可以解除合同(因已尽合理注意义务仍不能避免的事件提出解除合同的,相关法律、行政法规另有规定的除外)。
</p>
<p>合同解除的,出境社应当在扣除已向地接社或者履行辅助人支付且不可退还的费用后,将余款退还旅游者。</p>
<h3>
<p class="toTopDistance">第十五条&nbsp;&nbsp;必要的费用扣除</p>
</h3>
<p>1.旅游者在行程开始前30日以内提出解除合同或者按照本合同第十二条第2款约定由出境社在行程开始前解除合同的,按下列标准扣除必要的费用:</p>
<p>行程开始前29日至15日,按旅游费用总额的50%;</p>
<p>行程开始前14日至7日,按旅游费用总额的60%;</p>
<p>行程开始前6日至4日,按旅游费用总额的70%;</p>
<p>行程开始前3日至1日,按旅游费用总额的85%;</p>
<p>行程开始当日,按旅游费用总额的90%。</p>
<p>2.在行程中解除合同的,必要的费用扣除标准为:</p>
<p>旅游费用×行程开始当日扣除比例+(旅游费用-旅游费用×行程开始当日扣除比例)÷旅游天数×已经出游的天数。</p>
<p>如按上述第1款或者第2款约定比例扣除的必要的费用低于实际发生的费用,旅游者按照实际发生的费用支付,但最高额不应当超过旅游费用总额。</p>
<p>解除合同的,出境社扣除必要的费用后,应当在解除合同通知到达日起5个工作日内为旅游者办结退款手续。</p>
<h3>
<p class="toTopDistance">第十六条&nbsp;&nbsp;出境社协助旅游者返程及费用承担</p>
</h3>
<p>
旅游行程中解除合同的,出境社应协助旅游者返回出发地或者旅游者指定的合理地点。因旅行社或者履行辅助人的原因导致合同解除的,返程费用由出境社承担;行程中按照本合同第十二条第2款,第十三条第2款约定解除合同的,返程费用由旅游者承担;按照本合同第十四条约定解除合同的,返程费用由双方分担。
</p>
<h3>
<p class="zhangTitle">第六章&nbsp;&nbsp;违约责任</p>
</h3>
<h3>
<p>第十七条&nbsp;&nbsp;出境社的违约责任</p>
</h3>
<p>
1.出境社在行程开始前30日以内提出解除合同的,或者旅游者在行程开始前30日以内收到出境社不能成团通知,不同意转团、延期出行和改签线路解除合同的,出境社向旅游者退还已收取的全部旅游费用(不得扣除签证/签注等费用),并按下列标准向旅游者支付违约金:
</p>
<p>行程开始前29日至15日,支付旅游费用总额2%的违约金;</p>
<p>行程开始前14日至7日,支付旅游费用总额5%的违约金;</p>
<p>行程开始前6日至4日,支付旅游费用总额10%的违约金;</p>
<p>行程开始前3日至1日,支付旅游费用总额15%的违约金;</p>
<p>行程开始当日,支付旅游费用总额20%的违约金。</p>
<p>如按上述比例支付的违约金不足以赔偿旅游者的实际损失,出境社应当按实际损失对旅游者予以赔偿。</p>
<p>出境社应当在取消出团通知或者旅游者不同意不成团安排的解除合同通知到达日起5个工作日内,为旅游者办结退还全部旅游费用的手续并支付上述违约金。</p>
<p>2.出境社未按合同约定提供服务,或者未经旅游者同意调整旅游行程(本合同第九条第3款规定的情形除外),造成项目减少、旅游时间缩短或者标准降低的,应当依法承担继续履行、采取补救措施或者赔偿损失等违约责任。</p>
<p>
3.出境社具备履行条件,经旅游者要求仍拒绝履行本合同义务的,出境社向旅游者支付旅游费用总额30%的违约金,旅游者采取订同等级别的住宿、用餐、交通等补救措施的,费用由出境社承担;造成旅游者人身损害、滞留等严重后果的,旅游者还可以要求出境社支付旅游费用一倍以上三倍以下的赔偿金。
</p>
<p>
4.未经旅游者同意,出境社转团、拼团的,出境社应向旅游者支付旅游费用总额25%的违约金;旅游者解除合同的,出境社还应向未随团出行的旅游者退还全部旅游费用,向已随团出行的旅游者退还尚未发生的旅游费用。如违约金不足以赔偿旅游者的实际损失,出境社应当按实际损失对旅游者予以赔偿。
</p>
<p>5.出境社有以下情形之一的,旅游者有权在旅游行程结束后30日内,要求出境社为其办理退货并先行垫付退货货款,或者退还另行付费旅游项目的费用:</p>
<p>(1)出境社以不合理的低价组织旅游活动,诱骗旅游者,并通过安排购物或者另行付费旅游项目获取回扣等不正当利益的;</p>
<p>(2)未经双方协商一致或者未经旅游者要求,出境社指定具体购物场所或者安排另行付费旅游项目的。</p>
<p>6.与旅游者出现纠纷时,出境社应当积极采取措施防止损失扩大,否则应当就扩大的损失承担责任。</p>
<h3>
<p class="toTopDistance">第十八条&nbsp;&nbsp;旅游者的违约责任</p>
</h3>
<p>1.因不听从出境社及其领队的劝告、提示而影响团队行程,给出境社造成损失的,应当承担相应的赔偿责任。</p>
<p>2.旅游者超出本合同约定的内容进行个人活动所造成的损失,由其自行承担。</p>
<p>3.由于旅游者的过错,使出境社、履行辅助人、旅游从业人员或者其他旅游者遭受损害的,应当由旅游者赔偿损失。</p>
<p>4.旅游者在旅游活动中或者在解决纠纷时,应采取措施防止损失扩大,否则应当就扩大的损失承担相应的责任。</p>
<p>5.旅游者违反安全警示规定,或者对国家应对重大突发事件暂时限制旅游活动的措施、安全防范和应急处置措施不予配合,造成旅行社损失的,应当依法承担相应责任。</p>
<h3>
<p class="toTopDistance">第十九条&nbsp;&nbsp;其他责任</p>
</h3>
<p>
1.因旅游者提供材料存在问题或者自身其他原因被拒签、缓签、拒绝入境和出境的,相关责任和费用由旅游者承担,出境社将未发生的费用退还旅游者。如给出境社造成损失的,旅游者还应当承担赔偿责任。因出境社原因导致旅游者被拒签而解除合同的,依据本合同第十七条第1款处理。
</p>
<p>2.由于旅游者自身原因导致本合同不能履行或者不能按照约定履行,或者造成旅游者人身损害、财产损失的,出境社不承担责任。</p>
<p>3.旅游者自行安排活动期间人身、财产权益受到损害的,出境社在事前已尽到必要警示说明义务且事后已尽到必要救助义务的,出境社不承担赔偿责任。</p>
<p>4.由于第三方侵害等不可归责于出境社的原因导致旅游者人身、财产权益受到损害的,出境社不承担赔偿责任。但因出境社不履行协助义务致使旅游者人身、财产权益损失扩大的,应当就扩大的损失承担赔偿责任。</p>
<p>5.由于公共交通经营者的原因造成旅游者人身损害、财产损失依法应承担责任的,出境社应当协助旅游者向公共交通经营者索赔。</p>
<h3>
<p class="zhangTitle">第七章&nbsp;&nbsp;协议条款</p>
</h3>
<h3>
<p>第二十条&nbsp;&nbsp;线路行程时间</p>
</h3>
<p>
旅游线路为<font>{{dataList.productName}}</font>
出发时间 <font>{{getDate(dataList.startDate)}}</font>
结束时间<font>{{getDate(dataList.returnDate)}}</font>
<font>{{dataList.dayNum}}</font><font>{{dataList.nightNum}}</font>夜。
</p>
<h3>
<p class="toTopDistance">第二十一条 旅游费用及支付(以人民币为计算单位)</p>
</h3>
<p>
成人<font>{{dataList.adultPrice}}</font>元/人,小孩<font>{{dataList.childPrice}}</font>元/人;其中,导游服务费
<font>{{dataList.servicePrice}}</font>元/人;旅游费用合计:<font>{{dataList.orderPrice}}</font>元。
</p>
<p>旅游费用支付方式:<font>{{dataList.payType==1?'现金':'转账'}}</font>
</p>
<p>旅游费用支付时间:<font>{{getDate(dataList.payDate)}}</font>
</p>
<h3>
<p class="toTopDistance">第二十二条&nbsp;&nbsp;人身意外伤害保险</p>
</h3>
<p>
旅游者<font>{{dataList.insuranceOpinion==1?'同意':'不同意'}}</font>(同意或者不同意,打勾无效)委托出境社办理人身意外伤害保险,保险公司名称
<font></font>(投保的相关信息以实际保单为准);保险金额:<font>{{dataList.insuranceAmount}}</font>元人民币。
</p>
<p>旅游者<font>{{dataList.clientName}}</font>(姓名)已阅读知悉保险条款,个人旅游人身意外伤害保险赔付标准按相关保险条款规定执行。</p>
<h3>
<p class="toTopDistance">第二十三条&nbsp;&nbsp;成团人数与不成团的约定</p>
</h3>
<p>成团的最低人数:<font>{{dataList.minNumber}}</font>人。</p>
<p>如不能成团,旅游者是否同意按下列方式解决:</p>
<p>1.<font>{{dataList.insteadOpinion==1?'同意':'不同意'}}</font>出境社委托<font>{{dataList.insteadCompany}}</font>
出境社履行合同;</p>
<p>2.<font>{{dataList.delayOpinion==1?'同意':'不同意'}}</font>(同意或者不同意,打勾无效)延期出团;</p>
<p>3.<font>{{dataList.changeOpinion==1?'同意':'不同意'}}</font>(同意或者不同意,打勾无效)改签其他线路出团;</p>
<p>4.<font>{{dataList.terminateOpinion==1?'同意':'不同意'}} </font>(同意或者不同意,打勾无效)解除合同。</p>
<h3>
<p class="toTopDistance">第二十四条&nbsp;&nbsp;拼团约定</p>
</h3>
<p>旅游者<font>{{dataList.carpoolOpinion==1?'同意':'不同意'}}</font>(同意或者不同意,打勾无效)采用拼团方式拼至<font>
{{dataList.carpoolCompany}}</font>出境社成团。</p>
<h3>
<p class="toTopDistance">第二十五条&nbsp;&nbsp;自愿购物和参加另行付费旅游项目约定</p>
</h3>
<p>1.旅游者可以自主决定是否参加出境社安排的购物活动、另行付费旅游项目;</p>
<p>2.出境社可以在不以不合理的低价组织旅游活动、不诱骗旅游者、不获取回扣等不正当利益,且不影响其他旅游者行程安排的前提下,按照平等自愿、诚实信用的原则,与旅游者协商一致达成购物活动、另行付费旅游项目协议;</p>
<p>3.购物活动、另行付费旅游项目安排应不与《行程单》冲突;</p>
<p>4.地接社及其从业人员在行程中安排购物活动、另行付费旅游项目的,责任由订立本合同的出境社承担;</p>
<p>5. 购物活动、另行付费旅游项目具体约定见《自愿购物活动补充协议》(附件3)、《自愿参加另行付费旅游项目补充协议》(附件4)。</p>
<h3>
<p class="toTopDistance">第二十六条&nbsp;&nbsp;争议的解决方式</p>
</h3>
<p>本合同履行过程中发生争议,由双方协商解决,亦可向合同签订地的旅游质监执法机构、消费者协会、有关的调解组织等有关部门或者机构申请调解。协商或者调解不成的,按下列第<font>
{{dataList.settleDisputeMode}}</font>种方式解决:</p>
<p>1.提交<font>{{dataList.arbitrationCommission}}</font>仲裁委员会仲裁;</p>
<p>2.依法向<font>{{dataList.court}}</font>人民法院起诉。 </p>
<h3>
<p class="toTopDistance">第二十七条&nbsp;&nbsp;其他约定事项</p>
</h3>
<p>未尽事宜,经旅游者和出境社双方协商一致,可以列入补充条款。(如合同空间不够,可以另附纸张,由双方签字或者盖章确认。)</p>
<p class="decoration">
<font></font>
</p>
<h3 class="Contract_Depart"><span class="leftP" style="padding-left:10px;">第二十八条&nbsp;&nbsp;合同效力 </span></h3>
<p class="Contract_Depart" id="p_contract_num">本合同一式<font>{{getTotalNum(dataList.totalNumber)}}</font>份,双方各持
<font>{{getTotalNum(dataList.eachNumber)}}</font>份,具有同等法律效力,自双方当事人签字或者盖章之日起生效。</p>
</div>
<div class="item_content">
<label id="l3">签章信息</label>
<div class="leftSign">
<div><span>旅游者代表签字(盖章)1:</span>
<img style="width:120px;" :src="dataList.companySignature" alt="" />
</div>
<div><span>证件号码:</span>
<font>{{dataList.clientIdcardnum}}</font>
</div>
<div><span>地址:</span>
<font>
<div class="addressCommon">{{dataList.clientAddress}}</div>
</font>
</div>
<div><span>联系电话:</span>
<font>{{dataList.clientCall}}</font>
</div>
<div><span>传真:</span>
<font>{{dataList.clientFax}}</font>
</div>
<div><span>邮编:</span>
<font>{{dataList.clientPostCode}}</font>
</div>
<div><span>电子信箱:</span>
<font>{{dataList.clientEmail}}</font>
</div>
<div><span>签约日期:</span>
<font>{{getDate(dataList.payDate)}}</font>
</div>
<div><span>签约地点:</span>
<font>{{dataList.contractPlace}}</font>
</div>
</div>
<div class="rightSign">
<div style="position:relative">
<span>出境社盖章:</span>
<img src="" alt="" />
</div>
<div><span>经办人:</span>
<font>{{dataList.agentName}}</font>
</div>
<div><span>地址:</span>
<div class="addressCommon">
<font>{{dataList.companyAddress}}</font>
</div>
</div>
<div><span>联系电话:</span>
<font>{{dataList.companyCall}}</font>
</div>
<div><span>传真:</span>
<font>{{dataList.companyFax}}</font>
</div>
<div><span>邮编:</span>
<font>{{dataList.companyPostCode}}</font>
</div>
<div><span>电子信箱:</span>
<font>{{dataList.companyEmail}}</font>
</div>
<div><span>签约日期:</span>
<font>{{getDate(dataList.payDate)}}</font>
</div>
</div>
</div>
<div class="item_content">
<label id="l4">投诉信息</label>
<p>出境社监督、投诉电话:<font>{{dataList.companyComplainCall}}</font>
</p>
<p>四川省成都市旅游质监执法机构:<font>{{dataList.regulatorName}}</font>
</p>
<p>投诉电话:<font>{{dataList.regulatorComplainCall}}</font>
</p>
<p>成都市旅游质监执法监督网:<font>{{dataList.regulatorWebsite}}</font>
</p>
<p>地址:<font>{{dataList.regulatorAddress}}</font>
</p>
<p>邮编:<font>{{dataList.regulatorPostCode}}</font>
</p>
</div>
<div class="item_content">
<label id="l5">旅客信息</label>
<table class="content_table ClientTravelTable" cellpadding="0" cellspacing="0"
style="border-collapse:collapse">
<tr>
<th>姓名</th>
<th>国籍</th>
<th>民族</th>
<th>性别</th>
<th>出生日期</th>
<th>身份证号</th>
<th>护照号</th>
<th>手机号</th>
</tr>
<tr v-for="item in dataList.guestList">
<td>
{{item.surName+''+item.name}}</br>
{{item.eSurName+''+item.eName}}
</td>
<td>{{item.nationalityName}}</td>
<td></td>
<td>{{item.sex==1?'男':'女'}}</td>
<td>{{getDate(item.birthday)}}</td>
<td>{{item.idCard}}</td>
<td>{{item.passportNo}}</td>
<td>{{item.mobilePhone}}</td>
</tr>
</table>
</div>
<div class="item_content">
<label id="l6">旅游报名表</label>
<p>
<b>旅游线路及编号</b>
<font>{{dataList.productName}}</font>
<b>旅游者出团意向时间</b>
<font>{{getDate(dataList.startDate)}}</font>
</p>
<table class="content_table LRTB" cellpadding="0" cellspacing="0" style="border-collapse:collapse;">
<tr>
<td width="20%">姓名</td>
<td width="30%">
<font>{{dataList.clientName}}</font>
</td>
<td width="20%">性别</td>
<td width="30%"></td>
</tr>
<tr>
<td width="20%">民族</td>
<td width="30%"></td>
<td width="20%">出生日期</td>
<td width="30%"></td>
</tr>
<tr>
<td width="20%">身份证号</td>
<td width="30%">
<font>{{dataList.clientIdcardnum}}</font>
</td>
<td width="20%">联系电话</td>
<td width="30%">
<font>{{dataList.clientCall}}</font>
</td>
</tr>
<tr>
<td width="20%">国籍</td>
<td width="30%"></td>
<td width="20%">护照号</td>
<td width="30%">
<font>{{dataList.clientPassport}}</font>
</td>
</tr>
<tr>
<td class="rightTD">身体状况</td>
<td colspan="3" style="text-align:left">
<div>
<font>{{dataList.healthRemark}}</font>
</div>
<div>(需注明是否有身体残疾、精神疾病、高血压、心脏病等健康受损病症、病史,是否为妊娠期妇女)</div>
</td>
</tr>
<tr>
<td colspan="4" style="text-align:left">
<p>旅游者全部同行名单及分房要求(所列同行人均视为旅游社要求必须同时安排出团)</p>
<p>同住人:<font>{{dataList.togetherRemark}}</font>
</p>
<p>单男/单女:<font>{{dataList.singleRemark}}</font>(需安排与他人同住)</p>
<p>不占床人员:<font>{{dataList.nobedRemark}}</font>
</p>
<p>单独住人员:<font>{{dataList.aloneRemark}}</font>(同意补交房费差额)</p>
</td>
</tr>
<tr>
<td colspan="4" style="text-align:left">
<p>其他补充约定:</p>
<p>我们一行<font v-if="dataList.guestList">{{dataList.guestList.length}}</font>人,确定参加贵社组织的 <font>
{{getDate(dataList.startDate)}}</font><font>{{getDate(dataList.returnDate)}}</font> 日,产品名称:<font>
{{dataList.productName}}</font> 随团旅游,并出具《委托授权书》全权委托<font>{{dataList.clientName}}</font>
(受托人),代表我们与贵社签订《团队境内旅游合同》,并承诺按《合同》约定,承担相应责任。</p>
<p>旅游者签字(盖章):
<img style="width:120px;" :src="dataList.companySignature" alt="" />
<font>{{getDate(dataList.payDate)}}</font>
</p>
</td>
</tr>
<tr>
<td>备注</td>
<td colspan="3" style="text-align:left">
<p>(年龄低于18周岁,需要提交监护人书面同意出行书)</p>
</td>
</tr>
<tr>
<td width="20%">服务网点名称</td>
<td width="30%">
<font>{{dataList.contractPlace}}</font>
</td>
<td width="20%">出境社经办人</td>
<td width="30%">
<font>{{dataList.agentName}}</font>
</td>
</tr>
<tr>
<td width="20%">分支机构名称</td>
<td width="30%"></td>
<td width="20%">经办人联系电话</td>
<td width="30%">
<font>{{dataList.agentCall}}</font>
</td>
</tr>
</table>
</div>
<div class="item_content">
<label id="l7">委托授权书</label>
<template v-for="(item,index) in dataList.guestList">
<p class="shouquanNum">{{index+1}}</p>
<div style="border:1px solid #d1d1d1;padding:20px;">
<p style="text-align:center;">委托授权书</p>
<p style="text-align:left;">
<font>{{dataList.company}}</font>:
</p>
<p>兹有本人<font>{{item.surName+''+item.name}}</font>(委托人姓名)声明:授权<font>{{dataList.clientName}}</font>
(受托人姓名)为我参加贵公司旅行团并签署编号为:<font>{{dataList.contractNum}}</font>的旅游合同的合法代表,代理权限为特别授权,包括代为签订旅游合同、缴纳旅游相关费用等。
</p>
<p>本人保证:</p>
<p>
1、我已知悉合同全部内容及旅游相关注意事项,同意合同全部条款,签订本合同为我的真实意思表示。
</p>
<p>
2、受托人基于本授权委托书作出的一切行为本人均予以认可,由此产生的一切法律后果均由本人承担。
</p>
<p>特此声明。</p>
<p>
委托人签字:<font>{{item.surName+''+item.name}}</font>身份证号:<font>{{item.idCard}}</font>联系电话:<font>
{{item.mobilePhone}}</font>
</p>
<p>
受托人签字:<img style="width:120px;" :src="dataList.companySignature" alt="" />
联系电话:<font>{{dataList.clientCall}}</font>
</p>
<p>
受托人承诺:本授权委托书为<font>{{item.surName+''+item.name}}</font>
(委托人姓名)本人出具,若不属实,因此产生的全部法律责任由受托人承担。受托人代表其他委托人在本合同书上签字,将严格履行受托人的权利和义务,将本合同的全部内容逐一向我代表的每一位委托人转达。
</p>
<p>
委托日期:<font>{{getDate(dataList.payDate)}}</font>
</p>
</div>
</template>
</div>
<div class="item_content">
<label id="l8">旅游行程单</label>
<p class="shouquanNum">已附纸质旅游行程单</p>
<div>
<table class="content_table travelDan" cellpadding="0" cellspacing="0" border="0">
<tr>
<td>旅游者代表签字(盖章):<img style="width:120px;" :src="dataList.companySignature" alt="" />
</td>
<td style="position:relative;">出境社盖章:
</td>
</tr>
<tr>
<td></td>
<td>经办人:<font>{{dataList.agentName}}</font>
</td>
</tr>
<tr>
<td>签约日期:<font>{{getDate(dataList.payDate)}}</font>
</td>
<td>签约日期:<font>{{getDate(dataList.payDate)}}</font>
</td>
</tr>
</table>
</div>
</div>
<div class="item_content">
<label id="l9">安全信息卡</label>
<template v-for="(item,index) in dataList.guestList">
<p class="shouquanNum">{{index+1}}</p>
<table class="content_table LRTB" cellpadding="0" cellspacing="0" style="border-collapse:collapse">
<tr>
<td width="300">中文姓<br />Chinese surname</td>
<td>
<font>{{item.surName}}</font>
</td>
<td>中文名<br />Chinese name</td>
<td>
<font>{{item.name}}</font>
</td>
</tr>
<tr>
<td>英文姓<br />Family name</td>
<td>
<font>{{item.eSurName}}</font>
</td>
<td>英文名<br />Given name</td>
<td>
<font>{{item.eName}}</font>
</td>
</tr>
<tr>
<td>身份证号码<br />ID card number</td>
<td>
<font>{{item.idCard}}</font>
</td>
<td>护照号码<br />Passport number</td>
<td>
<font>{{item.passportNo}}</font>
</td>
</tr>
<tr>
<td>国籍<br />Nationality</td>
<td colspan="3">
<font>{{item.nationalityName}}</font>
</td>
</tr>
<tr>
<td>紧急其概况下联系人姓名和联系电话<br />Emergency contact</td>
<td colspan="3">
<font></font>
</td>
</tr>
<tr>
<td>血型<br />Blood type</td>
<td colspan="3">
<font></font>
</td>
</tr>
<tr>
<td>过敏史<br />Allergy history</td>
<td colspan="3">
<font></font>
</td>
</tr>
<tr>
<td>既往疾病<br />Formerly medical history</td>
<td colspan="3">
<font></font>
</td>
</tr>
<tr>
<td>可以使用的商业保险<br />Commercial insurance company name</td>
<td colspan="3">
<font></font>
</td>
</tr>
<tr>
<td>特别说明<br />Special description</td>
<td colspan="3">
<font></font>
</td>
</tr>
<tr>
<td>持卡人签字<br />signature</td>
<td colspan="3">
<font>{{item.name}}</font>
</td>
</tr>
</table>
</template>
</div>
<div class="item_content">
<label id="l10">旅游承诺书</label>
<h3 style="margin-top:0;">
<p>中国公民出境旅游文明行为指南</p>
</h3>
<p>中国公民,出境旅游,注重礼仪,保持尊严。</p>
<p>讲究卫生,爱护环境;衣着得体,请勿喧哗。</p>
<p>尊老爱幼,助人为乐;女士优先,礼貌谦让。</p>
<p>出行办事,遵守时间;排队有序,不越黄线。</p>
<p>文明住宿,不损用品;安静用餐,请勿浪费。</p>
<p>健康娱乐,有益身心;赌博色情,坚决拒绝。</p>
<p>参观游览,遵守规定;习俗禁忌,切勿冒犯。</p>
<p>遇有疑难,咨询领馆;文明出行,一路平安。</p>
<h3>游客文明旅游承诺书</h3>
<p>为了维护旅游文明,树立良好旅游形象,文明出游。我承诺:</p>
<p>在旅游过程中,自觉遵守《中国公民-国内旅游文明行为公约》、《中国公民出国(境)旅游文明行为指南》和《中华人民共和国旅游法》有关规定。</p>
<p>一、是遵守当地法规,维护环境卫生,不随地吐痰和口香糖,不乱扔废弃物,不在禁烟场所吸烟。</p>
<p>二、是恪守公德,礼让老幼病残,礼让女士,不讲粗话。</p>
<p>三、是在公共场所按次序排队,不插队,不拥挤,女士优先,礼貌谦让。</p>
<p>四、是在公共场所不并行挡道,不高声交谈,尊重当地的习俗禁忌。</p>
<p>五、是保护生态环境,不踩踏绿地,不摘折花木和果实,不追捉、投打、乱喂动物。</p>
<p>六、是保护文物古迹,不在文物古迹上涂刻,不攀爬触摸文物,拍照摄像遵守规定。</p>
<p>七、是爱惜公共设施,不污损客房用品,不损坏公用设施,不贪占小便宜,节约用水用电,用餐不浪费。</p>
<p>八、是尊重别人权利,不强行和外宾合影,不对着别人打喷嚏,不长期占用公共设施,尊重服务人员的劳动,尊重各民族宗教习俗。</p>
<p>九、是坚决不参加黄赌毒等活动。</p>
<p>十、如实告知与旅游活动相关的个人健康信息,遵守旅游活动中的安全警示规定。</p>
<p style="margin-bottom:30px;">
旅游者签字(盖章):
<img style="width:120px;" :src="dataList.companySignature" alt="" />
<font>{{getDate(dataList.payDate)}}</font>
</p>
</div>
<div class="item_content">
<label id="l11">补充协议1</label>
<p class="shouquanNum" style="text-align:center;">自愿购物补充协议</p>
<div style="position:relative;">
<div class="remindInfo">详见行程单</div>
<table class="content_table comonTb" cellpadding="0" cellspacing="0"
style="border-collapse:collapse;margin-top:30px;">
<tr>
<th>具体时间</th>
<th width="150">地点</th>
<th>购物场所名称</th>
<th>主要商品信息</th>
<th>最长停留时间(分钟)</th>
<th>其他说明</th>
<th>旅游者签字同意</th>
</tr>
<tr>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td>
<img style="width:120px;" :src="dataList.companySignature" alt="" />
</td>
</tr>
<tr>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td>
<img style="width:120px;" :src="dataList.companySignature" alt="" />
</td>
</tr>
<tr>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td>
<img style="width:120px;" :src="dataList.companySignature" alt="" />
</td>
</tr>
</table>
</div>
<p style="margin:20px 0;">出境社经办人:<font>{{dataList.agentName}}</font>
</p>
</div>
<div class="item_content" style="margin-bottom:80px;">
<label id="l12">补充协议2</label>
<p class="shouquanNum" style="text-align:center;">自愿参加另行付费旅游项目补充协议</p>
<div style="position:relative;">
<div class="remindInfo">详见行程单</div>
<table class="content_table comonTb" cellpadding="0" cellspacing="0"
style="border-collapse:collapse;margin-top:30px;">
<tr>
<th>具体时间</th>
<th width="150">地点</th>
<th>购物场所名称</th>
<th>主要商品信息</th>
<th>最长停留时间(分钟)</th>
<th>其他说明</th>
<th>旅游者签字同意</th>
</tr>
<tr>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td>
<img style="width:120px;" :src="dataList.companySignature" alt="" />
</td>
</tr>
<tr>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td>
<img style="width:120px;" :src="dataList.companySignature" alt="" />
</td>
</tr>
<tr>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td>
<img style="width:120px;" :src="dataList.companySignature" alt="" />
</td>
</tr>
</table>
</div>
<p style="margin:20px 0;">出境社经办人:<font>{{dataList.agentName}}</font>
</p>
</div>
<div style="text-align:center;margin:20px 0">
<input type="button" class="CliConfirmBtn" v-if="dataList.companySignature==''" value="签字确认"
@click="dialogVisible=true" />
</div>
</div>
</div>
<div class="CliSignDiv" :class="dialogVisible?'isShowSign':''" @touchmove.prevent>
<div id="canvas" style="position:relative;top:0">
</div>
<div style="text-align:center;margin-top:20px;">
<input type="button" @click="handelClearEl()" class="CV_Btn" value="清除" />
<input type="button" @click="dialogVisible=false,handelClearEl()" class="CV_Btn" value="关闭" />
<input type="button" @click="handelSaveEl()" class="CV_Btn" value="保存" />
</div>
</div>
</div>
</template>
<script>
import moment from 'moment'
let canvas = document.createElement("canvas");
let cxt = canvas.getContext("2d");
export default {
data() {
return {
CurrentUserInfo: {},
signShow: true,
tcShowDialog: true,
ActiveTab: 1,
//查询参数
msg: {
Id: 0,
TCID: 0,
orderID: 0,
guestId: 0
......@@ -2100,27 +1222,13 @@
//数据源
dataList: [],
dialogVisible: false,
showCanvas: false,
linewidth: 3, //线条粗细,选填
color: "black", //线条颜色,选填
background: "#fff", //线条背景,选填
//线路名称
LineName: '',
//出发地点
startCityName: '',
//返回地点
returnArriveCityName: '',
tripList: [],
//交通
trifficList: []
ZhangImg: "",
};
},
created() {
try {
if (this.$route.query.str) {
this.tcShowDialog = false;
this.signShow = false;
}
} catch (error) {}
},
......@@ -2129,14 +1237,16 @@
let domtemp = document.querySelector("#tcShowDialog")
domtemp.remove()
},
//跳转签名页面
goUrl() {
sessionStorage.setItem("SignInfo", JSON.stringify(this.dataList))
this.$router.push({
name: "SignName",
query: {
TCID: this.msg.TCID,
orderID: this.msg.orderID,
guestId: this.msg.guestId
guestId: this.msg.guestId,
Id: this.msg.Id,
TypeStr: 'clientConfirm'
}
})
},
......@@ -2145,10 +1255,10 @@
},
//获取数据
getList() {
this.apipost("travelcontract_post_GetContractInfoService", this.msg, res => {
if (res.data.resultCode === 1) {
this.dataList = res.data.data;
this.msg.Id = res.data.data.Id;
this.dataList.travelContent = this.dataList.travelContent.replaceAll(/contenteditable="true"/ig, '')
} else {
this.Error(res.data.message);
......@@ -2193,83 +1303,16 @@
break;
}
},
getCanvas() {
let el = document.getElementById("canvas");
el.appendChild(canvas);
canvas.width = el.clientWidth;
canvas.height = el.clientHeight;
cxt.fillStyle = this.background; //填充绘图的背景颜色
cxt.fillRect(0, 0, canvas.width, canvas.height); //绘制“已填色”的矩形
cxt.strokeStyle = this.color; //笔触的颜色
cxt.lineCap = "round"; //线条末端线帽的样式
let linewidth = this.linewidth;
//开始绘制
canvas.addEventListener(
"touchstart",
function (e) {
cxt.beginPath();
cxt.lineWidth = linewidth; //当前线条的宽度,以像素计
cxt.moveTo(e.changedTouches[0].pageX, e.changedTouches[0].pageY);
}.bind(this),
false
);
//绘制中
canvas.addEventListener(
"touchmove",
function (e) {
cxt.lineTo(e.changedTouches[0].pageX, e.changedTouches[0].pageY);
cxt.stroke();
}.bind(this),
false
);
//结束绘制
canvas.addEventListener(
"touchend",
function () {
cxt.closePath();
}.bind(this),
false
);
},
handelClearEl() {
cxt.clearRect(0, 0, canvas.width, canvas.height);
},
handelSaveEl() {
let imgBase64 = canvas.toDataURL();
this.dataList.companySignature = imgBase64;
this.SaveMsg();
},
//提交数据
SaveMsg() {
this.apipost("travelcontract_post_UpdateCompanySignatureService", this.dataList, res => {
if (res.data.resultCode === 1) {
this.Success(res.data.message);
this.dialogVisible = false;
this.getList();
} else {
this.Error(res.data.message);
}
}, null);
},
},
mounted() {
try {
this.CurrentUserInfo = this.getLocalStorage();
this.CurrentUserInfo = this.CurrentUserInfo ? this.CurrentUserInfo : {}
this.CurrentUserInfo.ZhangImg = 'http://imgfile.oytour.com/New/Upload/CompanyImage/hepingzhang.png'
this.ZhangImg = 'http://imgfile.oytour.com/New/Upload/CompanyImage/hepingzhang.png'
this.msg.TCID = this.$route.query.TCID;
this.msg.orderID = this.$route.query.orderID;
this.msg.guestId = this.$route.query.guestId;
if (this.$route.query.Id) {
this.msg.Id = this.$route.query.Id;
var h = window.screen.height;
var cHeight = document.getElementsByClassName("CliSignDiv")[0];
cHeight.style.height = 900 + 'px';
this.getList();
this.getCanvas();
} catch (error) {
}
this.getList();
}
};
......
......@@ -111,7 +111,6 @@
.dic_content .item_content font {
color: blue;
display: inline-block;
padding: 0 10px;
font-size: 1.5rem
}
......@@ -178,6 +177,7 @@
font-size: 16px;
font-weight: bold;
line-height: 90px !important;
text-align: center;
}
.dic_content .toTopDistance {
......@@ -247,22 +247,13 @@
font-weight: bold;
}
#canvas {
width: 100%;
height: 100%;
/* position: relative; */
}
#canvas canvas {
display: block;
}
.CliSignDiv {
position: fixed;
border: 1px solid #d1d1d1;
width: 100%;
background-color: #fff;
/* height:500px; */
z-index: 999;
margin: auto;
display: block;
......@@ -452,7 +443,7 @@
.dic_content .gzqzUl li .signImg {
position: absolute;
left: 45%;
right: 15%;
z-index: 200;
}
......@@ -516,14 +507,20 @@
<span style="font-size:2rem">签字</span>
</div>
</div>
<div class="signSpan" v-if="addMsg.GuestSignature!=''">
<div @click="goUrl" class="sign">
<p><span style="font-size:3rem" class="iconfont icon-qianming"></span></p>
<span style="font-size:2rem">重签</span>
</div>
</div>
<!-- 头部 -->
<div class="NavFixed">
<p style="background:#24ade5;text-align:center;color:#fff;padding:6px 0;font-size:3rem">查看</p>
<div class="navHidden">
<div class="wrap">
<ul class="Navul">
<li :class="ActiveTab==1?'ActiveLi':''" @click="ChangeTab(1)">使用说明</li>
<li :class="ActiveTab==2?'ActiveLi':''" @click="ChangeTab(1)">签字</li>
<li :class="ActiveTab==1?'ActiveLi':''" @click="ChangeTab(1)">保密协议</li>
<li :class="ActiveTab==2?'ActiveLi':''" @click="ChangeTab(2)">签字</li>
</ul>
</div>
</div>
......@@ -534,34 +531,36 @@
<div class="signContent" style="padding-top:10px;">
<!-- 合同信息 -->
<div style="padding:0 14px;box-sizing: border-box;" v-show="ActiveTab==1" class="item_content">
<h3>
<p class="zhangTitle">价格保密协议</p>
</h3>
<p>甲方:<font>{{addMsg.GuestName}}</font>
</p>
<p>乙方:<font>{{TravelAgency_Name}}</font>
</p>
<p>甲乙双方在遵循平等、自愿、协商一致、诚实信用的原则下,就双方旅游产品价格保密成如下协议:</p>
<p>1.价格保密</p>
<p style="text-indent:2em;">经甲乙双方商定,在双方建立合同关系基础之上,乙方给予甲方优惠价
<font>{{addMsg.DiscountMoney}}</font>
&nbsp;&nbsp;元/人,但双方必须保证,不向外透露具体价格。</p>
<p>2.双方的权利和义务
<p style="text-indent:2em;">甲乙双方在遵循平等、自愿、协商一致、诚实信用的原则下,就双方旅游产品价格保密成如下协议:</p>
<p>1、价格保密</p>
<p style="text-indent:2em;">经甲乙双方商定,在双方建立合同关系基础之上,乙方给予甲方优惠价<font>{{addMsg.DiscountMoney}}</font>
元/人,但双方必须保证,不向外透露具体价格。</p>
<p>2、双方的权利和义务
</p>
<p style="text-indent:2em;">
甲乙双方所签订的价格,双方必须严加保密,不向第三方提供。
</p>
<p>
3.违约责任
3违约责任
</p>
<p style="text-indent:2em;">
对于因双方泄露价格而引起的不必要纠纷,所有造成的损失由产生方全部承担
对于因双方泄露价格而引起的不必要纠纷,所有造成的损失由产生方全部承担
</p>
<p>
4.协议的效力和变更
4协议的效力和变更
</p>
<p style="text-indent:2em;">
本协议自双方签字或盖章后生效
本协议自双方签字或盖章后生效
</p>
<p style="text-indent:2em;">
本协议的任何修改必须经甲乙双方书面同意
本协议的任何修改必须经甲乙双方书面同意
</p>
</div>
<!-- 盖章签字 -->
......@@ -572,7 +571,8 @@
<el-col :span="12">甲方(盖章) :{{addMsg.GuestName}}</el-col>
<el-col :span="12">
<template v-if="addMsg.GuestIsSign==1">
<img style="width:120px;" :src="addMsg.GuestSignature" v-if="addMsg.GuestSignature!=''" alt="" />
<img style="width:140px;height:auto;" class="signImg" :src="addMsg.GuestSignature"
v-if="addMsg.GuestSignature!=''" alt="" />
</template>
</el-col>
</el-row>
......@@ -583,6 +583,20 @@
<el-col :span="12">{{addMsg.GuestSignDate}}</el-col>
</el-row>
</li>
<li>
<el-row>
<el-col :span="12">&nbsp;</el-col>
<el-col :span="12">
&nbsp;
</el-col>
</el-row>
</li>
<li>
<el-row>
<el-col :span="12">&nbsp;</el-col>
<el-col :span="12">&nbsp;</el-col>
</el-row>
</li>
<li>
<el-row>
<el-col :span="12">出境社盖章:</el-col>
......@@ -599,30 +613,31 @@
<el-col :span="12">{{addMsg.CompanySignDate}}</el-col>
</el-row>
</li>
<li>
<el-row>
<el-col :span="12">&nbsp;</el-col>
<el-col :span="12">
&nbsp;
</el-col>
</el-row>
</li>
<li>
<el-row>
<el-col :span="12">&nbsp;</el-col>
<el-col :span="12">&nbsp;</el-col>
</el-row>
</li>
</ul>
</div>
</div>
</div>
</div>
<div class="CliSignDiv" :class="dialogVisible?'isShowSign':''" @touchmove.prevent>
<div id="canvas" style="position:relative;top:0">
</div>
<div style="text-align:center;margin-top:20px;">
<input type="button" @click="handelClearEl()" class="CV_Btn" value="清除" />
<input type="button" @click="dialogVisible=false,handelClearEl()" class="CV_Btn" value="关闭" />
<input type="button" @click="handelSaveEl()" class="CV_Btn" value="保存" />
</div>
</div>
</div>
</template>
<script>
let canvas = document.createElement("canvas");
let cxt = canvas.getContext("2d");
export default {
data() {
return {
signShow: true,
ActiveTab: 1,
//查询参数
msg: {
......@@ -648,32 +663,21 @@
},
TravelAgency_Name: "四川和平国际旅行社有限公司",
dialogVisible: false,
showCanvas: false,
linewidth: 3, //线条粗细,选填
color: "black", //线条颜色,选填
background: "#fff", //线条背景,选填
};
},
created() {
try {
if (this.$route.query.str) {
this.signShow = false;
}
} catch (error) {}
},
methods: {
closeTcShowHandler() {
let domtemp = document.querySelector("#tcShowDialog")
domtemp.remove()
},
goUrl() {
sessionStorage.setItem("SignInfo", JSON.stringify(this.dataList))
this.$router.push({
name: "SignName",
query: {
TCID: this.msg.TCID,
orderID: this.msg.OrderId,
guestId: this.msg.GuestId
guestId: this.msg.GuestId,
ProtocolId: this.addMsg.ProtocolId,
TypeStr: 'clientProtocol'
}
})
},
......@@ -705,78 +709,18 @@
}
}, null);
},
getCanvas() {
let el = document.getElementById("canvas");
el.appendChild(canvas);
canvas.width = el.clientWidth;
canvas.height = el.clientHeight;
cxt.fillStyle = this.background; //填充绘图的背景颜色
cxt.fillRect(0, 0, canvas.width, canvas.height); //绘制“已填色”的矩形
cxt.strokeStyle = this.color; //笔触的颜色
cxt.lineCap = "round"; //线条末端线帽的样式
let linewidth = this.linewidth;
//开始绘制
canvas.addEventListener(
"touchstart",
function (e) {
cxt.beginPath();
cxt.lineWidth = linewidth; //当前线条的宽度,以像素计
cxt.moveTo(e.changedTouches[0].pageX, e.changedTouches[0].pageY);
}.bind(this),
false
);
//绘制中
canvas.addEventListener(
"touchmove",
function (e) {
cxt.lineTo(e.changedTouches[0].pageX, e.changedTouches[0].pageY);
cxt.stroke();
}.bind(this),
false
);
//结束绘制
canvas.addEventListener(
"touchend",
function () {
cxt.closePath();
}.bind(this),
false
);
},
handelClearEl() {
cxt.clearRect(0, 0, canvas.width, canvas.height);
},
handelSaveEl() {
let imgBase64 = canvas.toDataURL();
this.addMsg.GuestSignature = imgBase64;
this.SaveMsg();
},
//提交数据
SaveMsg() {
this.apipost("travelcontract_post_UpdateGuestSignature", this.addMsg, res => {
if (res.data.resultCode === 1) {
this.Success(res.data.message);
this.dialogVisible = false;
this.getList();
} else {
this.Error(res.data.message);
}
}, null);
},
},
mounted() {
try {
this.msg.TCID = this.$route.query.TCID;
this.msg.OrderId = this.$route.query.OrderId;
this.msg.GuestId = this.$route.query.GuestId;
this.msg.ProtocolId = this.$route.query.ProtocolId;
try {
var cHeight = document.getElementsByClassName("CliSignDiv")[0];
cHeight.style.height = 900 + 'px';
} catch (error) {}
this.getList();
this.getCanvas();
} catch (error) {
}
}
};
......
......@@ -243,7 +243,6 @@
</div>
</div>
</div>
<div class="fade" v-show="isShowFade"></div>
<div class="qrCodeDiv" v-show="isShowFade">
<div style="margin-top:15px;">请扫码签字</div>
......@@ -352,14 +351,14 @@
OrderId: this.$route.query.OrderId,
GuestId: this.$route.query.GuestId,
ProtocolId: this.$route.query.ProtocolId,
pUrl: "clientConfirm",
pUrl: "clientProtocol",
};
this.$http({
headers: {
'Content-Type': 'application/json'
},
method: 'post',
url: urlObj.DomainUrl + '/api/file/GetQrCodeImage?',
url: urlObj.DomainUrl + '/api/file/GetQrCodeExtImage?',
data: {
"msg": msg
}
......
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