Commit 5013d319 authored by 吴春's avatar 吴春

老人/孕妇免责承诺函

parent 114d71a1
......@@ -131,6 +131,7 @@
document.URL.indexOf("SupplierLogin") == -1 &&
document.URL.indexOf("clientConfirm") == -1 &&
document.URL.indexOf("clientProtocol") == -1 &&
document.URL.indexOf("clientDisclaimerProtocol") == -1 &&
document.URL.indexOf("TravelContractConfirm") == -1 &&
document.URL.indexOf("ViittoContractConfirm") == -1
) {
......@@ -141,6 +142,7 @@
if (
document.URL.indexOf("clientConfirm") != -1 ||
document.URL.indexOf("clientProtocol") != -1 ||
document.URL.indexOf("clientDisclaimerProtocol") != -1 ||
document.URL.indexOf("TravelContractConfirm") != -1 ||
document.URL.indexOf("ViittoContractConfirm") != -1
) {
......
......@@ -2144,6 +2144,7 @@
<span style="color:#f56c6c">{{childItem.ticketOutTypeStr}} </span>
<span v-if="childItem.isApplyPhoto == 1" style="color: red">({{ $t("salesModule.Zhao") }})</span>
<span style="cursor:pointer;" @click="goProtocol(item,childItem)">{{childItem.protocolId>0?"查看保密协议":"签订保密协议"}}</span>
<span style="cursor:pointer;" @click="goDisclaimer(item,childItem)">{{childItem.disclaimerId>0?"查看参团免责承诺函":"签订参团免责承诺函"}}</span>
&nbsp;&nbsp;
</span>
<span v-if="item.photoNum > 0">({{ $t("salesModule.NoPhoto") }} {{ item.photoNum
......@@ -2979,6 +2980,33 @@
});
window.open(routeData.href, "_blank");
},
//跳转到老人/孕妇免责协议
goDisclaimer(item, sItem) {
let ProtocolId = 0;
let guestId = 0;
var path = "disclaimerProtocol";
if (sItem) {
if (sItem.disclaimerId) {
ProtocolId = sItem.disclaimerId;
}
if (sItem.guestId) {
guestId = sItem.guestId;
}
}
var pMsg = {
TCID: item.tcid,
GuestId: guestId,
OrderId: item.orderId,
ProtocolId: ProtocolId,
blank: "y",
}
let routeData = this.$router.resolve({
name: path,
query: pMsg,
});
window.open(routeData.href, "_blank");
},
//跳转至领取合同
goContract(item, sItem) {
let cid = 0;
......
......@@ -2342,6 +2342,7 @@
<span style="color:#f56c6c">{{childItem.ticketOutTypeStr}} </span>
<span style="cursor:pointer;"
@click="goProtocol(item,childItem)">{{childItem.protocolId>0?"查看保密协议":"签订保密协议"}}</span>
<span style="cursor:pointer;" @click="goDisclaimer(item,childItem)">{{childItem.disclaimerId>0?"查看参团免责承诺函":"签订参团免责承诺函"}}</span>
<span v-if="childItem.isApplyPhoto == 1" style="color: red">(照)</span>&nbsp;&nbsp;</span>
<span v-if="item.photoNum > 0">(照片一人 {{ item.photoNum }}份)</span>
</span>
......@@ -3678,6 +3679,33 @@
});
window.open(routeData.href, "_blank");
},
//跳转到老人/孕妇免责协议
goDisclaimer(item, sItem) {
let ProtocolId = 0;
let guestId = 0;
var path = "disclaimerProtocol";
if (sItem) {
if (sItem.disclaimerId) {
ProtocolId = sItem.disclaimerId;
}
if (sItem.guestId) {
guestId = sItem.guestId;
}
}
var pMsg = {
TCID: item.tcid,
GuestId: guestId,
OrderId: item.orderId,
ProtocolId: ProtocolId,
blank: "y",
}
let routeData = this.$router.resolve({
name: path,
query: pMsg,
});
window.open(routeData.href, "_blank");
},
//关闭弹窗
closeDialog() {
this.isShowLayerRemarks = false;
......
......@@ -294,6 +294,29 @@
}
}, null);
}
//老人/孕妇免责协议
else if (this.msg.TypeStr == 'clientDisclaimerProtocol') {
var clientDisclaimerProtocolMsg = {
ProtocolId: this.msg.ProtocolId,
GuestSignature: this.SignInfo
}
this.apipost("travelcontract_post_UpdateDisclaimerGuestSignature", clientDisclaimerProtocolMsg, res => {
if (res.data.resultCode === 1) {
this.Success(res.data.message);
this.$router.push({
name: 'clientDisclaimerProtocol',
query: {
TCID: this.msg.TCID,
OrderId: this.msg.orderID,
GuestId: this.msg.guestId,
ProtocolId:this.msg.ProtocolId,
}
})
} else {
this.Error(res.data.message);
}
}, null);
}
},
}
}
......
<style>
* {
margin: 0;
padding: 0;
}
.dic_content {
-webkit-text-size-adjust: 100%;
-moz-text-size-adjust: 100%;
-ms-text-size-adjust: 100%;
text-size-adjust: 100%;
}
.dic_content {
width: 100%;
margin: auto;
background-color: #fff;
}
.dic_content .contractLeft {
width: 150px;
display: block;
border: 0;
float: left;
position: fixed;
}
.dic_content .contractRight {
width: 100%;
height: 100%;
display: block;
background-color: #fff;
z-index: 99;
}
.dic_contenttable th {
padding: 8px 0;
}
.dic_contenttable td {
padding: 8px 0;
}
.dic_content h1,
.dic_content h2,
.dic_content p {
margin: 0 auto;
padding: 0 10px;
}
.dic_content .decoration {
text-decoration: underline;
}
.dic_content .leftP {
text-align: left;
display: inline-block;
}
.dic_content .Contract_Depart {
margin: 30px 0;
}
.dic_content .item_content {
width: 100%;
height: auto;
}
.dic_content .item_content .title {
width: 100%;
text-align: center;
margin-top: 20px;
}
.dic_content .item_content>label {
width: 100%;
text-align: left;
font-weight: bold;
background-color: #F2F2F2;
margin: 30px 0;
padding: 8px 0;
text-indent: 20px;
display: inline-block;
font-size: 16px;
}
.dic_content .item_content>span {
font-size: 1.5rem;
line-height: 26px;
margin-left: 10px;
}
.dic_content .item_content .content_table {
border: 1px solid #d1d1d1;
margin-top: 10px;
width: 100%;
text-align: center;
font-size: 1.8rem
}
.dic_content .item_content .content_table th {
background-color: #F2F2F2;
}
.dic_content .item_content .content_table th,
.dic_content .item_content .content_table td {
border: 1px solid #808080;
text-align: center;
padding: 10px;
}
.dic_content .item_content font {
color: blue;
padding: 0 10px;
font-size: 1.5rem
}
.dic_content .content_table font {
min-width: 0;
}
.dic_content .float_div {
position: fixed;
bottom: 0;
line-height: 50px;
background-color: #F2F2F2;
width: 1190px;
padding-left: 10px;
height: 50px;
display: block;
vertical-align: middle;
text-align: match-parent;
}
.dic_content .leftSign {
float: left;
width: 50%;
margin: 70px 0;
height: auto;
line-height: 45px;
}
.dic_content .rightSign {
float: right;
width: 49%;
height: auto;
margin: 70px 0;
line-height: 45px;
}
.dic_content .leftSign span {
display: inline-block;
width: 170px;
text-align: right;
}
.dic_content .rightSign span {
display: inline-block;
width: 170px;
text-align: right;
}
.dic_content .addressCommon {
display: inline-block;
width: 300px;
display: inline-block;
vertical-align: top;
text-align: left;
}
.dic_content .shouquanNum {
font-weight: bold;
}
.dic_content .zhangTitle {
height: 90px;
font-size: 16px;
font-weight: bold;
line-height: 90px !important;
text-align: center;
}
.dic_content .toTopDistance {
margin-top: 15px;
}
.dic_content .travelDan td {
border: none !important;
text-align: left;
text-indent: 20px;
padding: 10px 0;
}
.dic_content .travelDan {
padding: 50px 0;
}
.dic_content .zhangOne {
position: absolute;
width: 200px;
top: -83px;
left: 160px;
}
.dic_content .zhangTwo {
position: absolute;
width: 200px;
top: -60px;
left: 80px;
}
.dic_content .comonTb td {
padding: 15px 0;
}
.dic_content .remindInfo {
position: absolute;
top: 42%;
left: 35%;
font-size: 60px;
color: #FF7F7F;
letter-spacing: 20px;
}
.dic_content .signName {
position: relative;
top: 10px;
width: 140px;
}
.dic_content .LRTB td:nth-child(odd) {
text-align: right;
padding: 10px;
height: 50px;
border: 1px solid #d1d1d1;
}
.dic_content .LRTB td:nth-child(even) {
text-align: left;
padding: 10px;
height: 50px;
border: 1px solid #d1d1d1;
}
.dic_content .shouquanNum {
margin: 30px 0 !important;
font-weight: bold;
}
.TopFixed {
z-index: 100;
}
.CV_Btn {
color: #fff;
padding: 10px 30px;
background: #E95252;
font-size: 30px;
border: 1px solid #E95252;
cursor: pointer;
border-radius: 15px;
margin-left: 10px;
}
.isShowSign {
z-index: 999;
}
.CisHideen {
overflow: hidden;
}
.CliConfirmBtn {
color: #fff;
height: 60px;
width: 150px;
font-size: 27px;
background: #E95252;
border: 1px solid #E95252;
border-radius: 15px;
}
.ClientTravelTable td {
border: 1px solid #d1d1d1;
}
.dic_content .TipsDiv {
background: #fff;
width: 75%;
margin: 0 auto;
border-radius: 0.7rem;
padding: 2rem 0;
margin-top: 20rem;
}
.dic_content .TipsDiv .readSpan {
display: inline-block;
background-color: #24ade5;
border-radius: 5px;
height: 3.4rem;
width: 18rem;
color: #fff;
font-size: 2rem;
margin-top: 1rem;
}
.dic_content .TipsDiv li {
list-style: none;
}
.dic_content .TipTc {
width: 100%;
height: 100%;
position: fixed;
background: rgba(0, 0, 0, 0.5);
top: 0;
left: 0;
z-index: 1000;
}
.dic_content .signSpan {
position: fixed;
bottom: 0;
width: 100%;
left: 0;
background: #fff;
border-top: 1px solid #ccc;
z-index: 1000;
}
.dic_content .signSpan .sign {
width: 75%;
margin: 0 auto;
padding: 1rem 0 0 0;
text-align: center;
cursor: pointer;
}
.dic_content .signSpan .sign .sp1 {
display: inline-block;
width: 25px;
height: 25px;
background-image: url('../assets/img/dzht/bg1.png');
background-size: 132px;
background-position: 52px 29px;
}
.dic_content li {
list-style: none;
}
.dic_content .navHidden {
width: 100%;
overflow: hidden;
height: 5rem;
}
.dic_content .navHidden .wrap {
width: 100%;
height: 6rem;
overflow-x: scroll;
overflow-y: hidden;
}
.dic_content .navHidden .Navul {
width: 113rem;
padding: 0;
display: flex;
height: 5rem;
line-height: 5rem;
margin: 0;
border-bottom: 1px solid #ccc;
}
.dic_content .navHidden .Navul li {
display: inline-block;
margin-left: 1rem;
box-sizing: border-box;
cursor: pointer;
font-size: 2rem;
cursor: pointer;
}
.dic_content .SignbgDiv {
position: relative;
width: 100%;
padding-bottom: 10rem;
padding-top: 10rem;
}
.dic_content .SignbgDiv .signContent {
overflow: hidden;
position: relative;
height: 100%;
}
.dic_content .SignbgDiv .signContent .sysm {}
.navHidden .ActiveLi {
border-bottom: 2px solid #24ade5;
}
.dic_content .guestUl li {
padding: 10px 6px;
box-sizing: border-box;
border-bottom: 1px solid #ddd;
font-size: 1.8rem;
}
.dic_content .guestUl li:nth-child(even) {
background: #f5f5f5;
}
.dic_content .NavFixed {
position: fixed;
top: 0;
width: 100%;
z-index: 200;
background: #fff;
}
.dic_content .gzqzUl li {
border-bottom: 1px solid #ddd;
padding: 14px;
position: relative;
box-sizing: border-box;
}
.dic_content .gzqzUl li .signImg {
position: absolute;
right: 15%;
z-index: 200;
}
.dic_content .gzqzUl li .el-col:nth-child(2) {
text-align: right;
}
.dic_content .gzqzUl .bgli {
background: #eee;
width: 100%;
padding: 0 !important;
height: 20px;
}
.dic_content .SignbgDiv p {
font-size: 1.8rem;
}
.dic_content .gzqzUl li {
font-size: 1.8rem;
}
.dic_content .TcTravel_Table {
width: 100%;
border: none;
border-collapse: collapse;
border-spacing: 0;
font-size: 1.8rem;
}
.dic_content .TcTravel_Table td {
border: 1px solid rgb(0, 0, 0);
word-break: break-all;
padding: 5px;
line-height: 1.5;
}
.Travel_clientQuan {
display: inline-block;
width: 2.5rem;
height: 2.5rem;
border: 1px solid #d1d1d1;
border-radius: 5px;
text-align: center;
line-height: 1.5rem;
}
.Travel_clientQuan i {
font-size: 1rem;
color: gray;
}
</style>
<template>
<div class="dic_content" :class="dialogVisible?'CisHideen':''">
<!-- 签字 -->
<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="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>
</ul>
</div>
</div>
</div>
<!-- 页面布局 -->
<div style="position: relative;background:#fff;">
<div class="SignbgDiv">
<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>
<p class="zhangTitle">承诺函</p>
</h3>
<p style="text-indent:2em;">本人自愿报名参加了贵司组织的出境旅游团,对于行程中的注意事项贵社工作人员已如实详尽地向本</p>
<p>人告知,本人完全理解。鉴于本人已是<span style=" color: black;font-weight: bolder;">65岁以上</span>高龄人群或已经<span style=" color: black;font-weight: bolder;">怀孕妇女</span>,特向贵社郑重承诺如下:</p>
<p style="text-indent:2em;">1、本人了解自已的身体状况,并且在此声明自己没有突发性疾病,适合参加此旅游团;本人能够完成</p>
<p>旅游团全部行程。</p>
<p style="text-indent:2em;">2、在旅游过程中,相应景点或相应活动禁止高龄/怀孕人群参加的,本人放弃参加的权利;对高龄/</p>
<p>怀孕人群参加有限制的,本人遵守相关制度,若因本人坚持参加所产生的全部后果均由本人承担。</p>
<p style="text-indent:2em;">
3、在旅游过程中,如果本人由于身体不适或其他原因导致本人不能继续完成行程,或需要贵公司协助
</p>
<p>提前返回的情况,本人承担全部责任以及发生的全部费用。</p>
<p style="text-indent:2em;">
4、如本人没有按贵司要求如实告知相关情况,本人承担因此而产生的全部责任以及发生的全部费用 ,
</p>
<p>并承担给旅行社造成的损失赔偿责任。</p>
<p style="text-indent:2em;">
5、出境<span style=" color: black;font-weight: bolder;">65岁以上</span>高龄老人或<span style=" color: black;font-weight: bolder;">怀孕妇女</span>必须本人自行购买境外SOS急救保险。 </p>
<p style="text-indent:2em;">
6、对本人有已查明疾病或慢性病,请明确告之旅行社。 </p>
<p style="text-indent:2em;">
7、对以上疾病进行治疗后,现是否符合医学正常指标范围。 </p>
<p style="text-indent:2em;">
8、本人承诺在出行期间,对前述疾病会随身携带足量常用药品及急救药品。 </p>
<p style="text-indent:2em;">
9、本人已就此承诺告知了直系亲属并得到他们的同意。 </p>
<p style="text-indent:2em;">
以上承诺内容是本人的真实意思表示。对于本承诺函的各项条款,贵司工作人员已充分告之本人相关
</p>
<p>含义,本人已阅读并完全理解各项条款的意思。若发生纠纷,以本承诺函中本人的承诺为准。</p>
<p style="text-indent:2em;">特此承诺!</p>
</div>
<!-- 盖章签字 -->
<div class="item_content">
<ul class="gzqzUl">
<li>
<el-row>
<el-col :span="12"> 承诺人(盖章) :{{addMsg.GuestName}}</el-col>
<el-col :span="12">
<template v-if="addMsg.GuestIsSign==1">
<img style="width:140px;height:auto;" class="signImg" :src="addMsg.GuestSignature"
v-if="addMsg.GuestSignature!=''" alt="" />
</template>
</el-col>
</el-row>
</li>
<li>
<el-row>
<el-col :span="12">签约日期:</el-col>
<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">&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>
</template>
<script>
export default {
data() {
return {
ActiveTab: 1,
//查询参数
msg: {
TCID: 0,
OrderId: 0,
GuestId: 0
},
//数据源
addMsg: {
ProtocolId: 0, //协议Id
TCID: 0, //团期编号
OrderId: 0, //订单编号
GuestId: 0, //旅客编号
DiscountMoney: 0, //优惠金额
GuestName: "", //旅客名称
GuestIsSign: 0, //旅客是否签章
GuestSignature: "", //旅客签章图片
GuestSignDate: "", //旅客签字日期
CompanyIsSign: "", //公司是否盖章
CompanySignDate: "", //公司盖章日期
CompanyImage: "", //公司章图片
EnterName: "", //录入人员
},
TravelAgency_Name: "四川和平国际旅行社有限公司",
dialogVisible: false,
};
},
created() {
},
methods: {
goUrl() {
this.$router.push({
name: "SignName",
query: {
TCID: this.msg.TCID,
orderID: this.msg.OrderId,
guestId: this.msg.GuestId,
ProtocolId: this.addMsg.ProtocolId,
TypeStr: 'clientDisclaimerProtocol'
}
})
},
ChangeTab(num) {
this.ActiveTab = num;
},
//获取数据
getList() {
this.apipost("travelcontract_post_GetDisclaimerProtocol", this.msg, res => {
if (res.data.resultCode === 1) {
var tempObj = res.data.data;
if (tempObj.ProtocolId > 0) {
this.addMsg.ProtocolId = tempObj.ProtocolId;
this.addMsg.TCID = tempObj.TCID;
this.addMsg.OrderId = tempObj.OrderId;
this.addMsg.GuestId = tempObj.GuestId;
this.addMsg.DiscountMoney = tempObj.DiscountMoney;
this.addMsg.GuestName = tempObj.GuestName;
this.addMsg.GuestIsSign = tempObj.GuestIsSign;
this.addMsg.GuestSignature = tempObj.GuestSignature;
this.addMsg.GuestSignDate = tempObj.GuestSignDate;
this.addMsg.CompanyIsSign = tempObj.CompanyIsSign;
this.addMsg.CompanySignDate = tempObj.CompanySignDate;
this.addMsg.CompanyImage = tempObj.CompanyImage;
this.addMsg.EnterName = tempObj.EnterName;
}
} else {
this.Error(res.data.message);
}
}, null);
},
},
mounted() {
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;
this.getList();
}
};
</script>
<style>
.TravelContractView {
min-height: 650px;
background: url(../assets/img/bodyBg.png);
padding-top: 10px;
font: normal 13px 'Microsoft Yahei';
color: #555;
}
.TravelContractView .container-fluid {
padding: 0 20px;
}
.TravelContractView .block {
border: 1px solid #cdcdcd;
background: #f9f9f9;
position: relative;
margin-bottom: 20px;
}
.TravelContractView .mtop15 {
margin-top: 15px;
}
.TravelContractView .blockTitle {
border-bottom: 1px solid #cdcdcd;
background-color: #efefef;
}
.TravelContractView .blockTitle span.icon {
border-right: 1px solid #CDCDCD;
position: absolute;
left: 10px;
height: 40px;
padding-right: 10px;
padding-top: 8px;
}
.TravelContractView .blockTitle h2 {
font-size: 15px;
min-height: 40px;
margin: 0;
font-family: 'Microsoft Yahei';
color: #5b5b5b;
padding-right: 15px;
padding-left: 48px;
line-height: 40px;
}
.TravelContractView .blockTitle h2 span {
position: absolute;
right: 10px;
top: 0;
}
.TravelContractView .contract {
background: #f9f9f9;
margin-bottom: 20px;
margin-top: 20px;
}
.TravelContractView .title {
font-size: 18px;
margin-top: 10px;
color: #555;
height: 100px;
position: relative;
padding-left: 30px !important;
padding-right: 30px !important;
padding-bottom: 40px !important;
}
.TravelContractView .title p {
margin: 0;
font-size: 12px;
}
.TravelContractView .contractNo {
font-weight: bold;
margin-right: 5px;
}
.TravelContractView .title h1 {
font-size: 24px;
text-align: left;
}
.TravelContractView .title p span {
font-style: normal;
font-size: 14px;
color: #0088cc;
}
.TD-introduction {
padding-top:20px;
margin: 20px 30px 30px 30px;
font-size: 13px;
}
.TD-introduction p {
margin: 5px 0 0 0;
line-height: 27px;
/* text-align: center; */
}
.TD-introduction p span {
color: black;
font-weight: bolder;
}
.TD-introduction h2 {
font-size: 16px;
}
.TravelContractView h1,
.TravelContractView h2 {
line-height: 40px !important;
}
.TravelContractView .signDiv {
width: 160px;
height: 120px;
position: absolute;
background-size: 100% 100%;
background-repeat: no-repeat;
left: 0;
top: 0px;
margin:-3em 24em;
z-Index: 100;
}
.TravelContractView .guests {
font-size: 13px;
margin: 20px 30px 30px 30px;
}
.TravelContractView .ZTable {
width: 100%;
border: none;
table-layout: fixed;
border-collapse: collapse;
border-spacing: 0;
}
.TravelContractView .ZTable>tbody>tr>td {
word-break: break-word;
border: solid #ddd 1px;
padding: 8px;
line-height: 25px;
}
.TravelContractView p font {
border-bottom: #cbcbcb 1px solid;
padding: 0 5px;
color: #0088cc;
margin: 0 5px;
}
/*弹出层*/
.TravelContractView .qrCodeDiv {
width: 236px;
height: 275px;
background-color: #fff;
text-align: center;
border: 1px solid #d1d1d1;
position: fixed;
left: 50%;
top: 50%;
margin-left: -100px;
margin-top: -118px;
z-index: 999;
border-radius: 5px;
}
.TravelContractView .Ec_cha {
position: absolute;
cursor: pointer;
right: -20px;
top: -25px;
width: 30px;
height: 30px;
background-color: #fff;
text-align: center;
border-radius: 50%;
line-height: 30px;
}
</style>
<template>
<div class="TravelContractView">
<div class="container-fluid">
<div class="block mtop15">
<div class="blockTitle">
<table style="width:100%">
<tr>
<td> <span class="icon"><i class="iconfont icon-wenjian"></i></span>
<h2>协议详情
&nbsp;&nbsp;<template v-if="addMsg.EnterName&&addMsg.EnterName!=''">
销售人员:{{addMsg.EnterName}}</template>
</h2>
</td>
<td align="right">
<el-button type="primary" size="medium" @click="saveData()" :loading="SaveLoading">保存</el-button>
<template v-if="addMsg.ProtocolId>0">
<el-button type="primary" size="medium" @click="isShowFade=true;createQrCode()">生成二维码</el-button>
</template>
</td>
</tr>
</table>
</div>
<div v-loading="Loading">
<div class="contract">
<div class="title">
<h1>老年人/孕妇参团免责 </h1>
<h1>承诺函</h1>
<p class="contractNo" style="padding:5px 0px 5px 0px;">承诺函编号:<span
v-if="addMsg.ProtocolId&&addMsg.ProtocolId>0">{{addMsg.ProtocolId}}</span></p>
</div>
</div>
<!-- 使用说明 -->
<div class="TD-introduction">
<p style="text-indent:2em;">本人自愿报名参加了贵司组织的出境旅游团,对于行程中的注意事项贵社工作人员已如实详尽地向本</p>
<p>人告知,本人完全理解。鉴于本人已是<span>65岁以上</span>高龄人群或已经<span>怀孕妇女</span>,特向贵社郑重承诺如下:</p>
<p style="text-indent:2em;">1、本人了解自已的身体状况,并且在此声明自己没有突发性疾病,适合参加此旅游团;本人能够完成</p>
<p>旅游团全部行程。</p>
<p style="text-indent:2em;">2、在旅游过程中,相应景点或相应活动禁止高龄/怀孕人群参加的,本人放弃参加的权利;对高龄/</p>
<p>怀孕人群参加有限制的,本人遵守相关制度,若因本人坚持参加所产生的全部后果均由本人承担。</p>
<p style="text-indent:2em;">
3、在旅游过程中,如果本人由于身体不适或其他原因导致本人不能继续完成行程,或需要贵公司协助
</p>
<p>提前返回的情况,本人承担全部责任以及发生的全部费用。</p>
<p style="text-indent:2em;">
4、如本人没有按贵司要求如实告知相关情况,本人承担因此而产生的全部责任以及发生的全部费用 ,
</p>
<p>并承担给旅行社造成的损失赔偿责任。</p>
<p style="text-indent:2em;">
5、出境<span>65岁以上</span>高龄老人或<span>怀孕妇女</span>必须本人自行购买境外SOS急救保险。 </p>
<p style="text-indent:2em;">
6、对本人有已查明疾病或慢性病,请明确告之旅行社。 </p>
<p style="text-indent:2em;">
7、对以上疾病进行治疗后,现是否符合医学正常指标范围。 </p>
<p style="text-indent:2em;">
8、本人承诺在出行期间,对前述疾病会随身携带足量常用药品及急救药品。 </p>
<p style="text-indent:2em;">
9、本人已就此承诺告知了直系亲属并得到他们的同意。 </p>
<p style="text-indent:2em;">
以上承诺内容是本人的真实意思表示。对于本承诺函的各项条款,贵司工作人员已充分告之本人相关
</p>
<p>含义,本人已阅读并完全理解各项条款的意思。若发生纠纷,以本承诺函中本人的承诺为准。</p>
<p style="text-indent:2em;">特此承诺!</p>
<p style="text-indent:22em;"> <span>承诺人(本人亲笔签名确认):{{addMsg.GuestName}}</span> </p>
<p style="text-indent:18em;position:relative;">
<template v-if="addMsg.GuestIsSign==1">
<div class="signDiv" :style="{backgroundImage: 'url(' + (addMsg.GuestSignature) + ')'}"></div>
</template></p>
<p style="text-indent:38em;" > <span v-if="addMsg.GuestIsSign==1">{{addMsg.GuestSignDateStr}}</span>
<span v-else>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span>
</p>
</div>
</div>
</div>
</div>
<div class="fade" v-show="isShowFade"></div>
<div class="qrCodeDiv" v-show="isShowFade">
<div style="margin-top:15px;">请扫码签字</div>
<div id="qrcode" style="margin:25px;" ref="qrcode">
<img class="WeiXinShare" :src="'data:image/png;base64,'+QRCodeStr" />
</div>
<i class="iconfont icon-cha Ec_cha" @click="isShowFade=false"></i>
</div>
</div>
</template>
<script>
export default {
data() {
return {
//查询参数
msg: {
ProtocolId: 0, //协议Id
TCID: 0, //团期编号
OrderId: 0, //订单编号
GuestId: 0, //旅客编号
},
addMsg: {
ProtocolId: 0, //协议Id
TCID: 0, //团期编号
OrderId: 0, //订单编号
GuestId: 0, //旅客编号
DiscountMoney: 0, //优惠金额
GuestName: "", //旅客名称
GuestIsSign: 0, //旅客是否签章
GuestSignature: "", //旅客签章图片
GuestSignDate: "", //旅客签字日期
CompanyIsSign: "", //公司是否盖章
CompanySignDate: "", //公司盖章日期
CompanyImage: "", //公司章图片
EnterName: "", //录入人员
GuestSignDateStr:"",
},
TravelAgency_Name: "四川和平国际旅行社有限公司",
SaveLoading: false,
isShowFade: false, //是否显示二维码弹窗
QRCodeStr: "", //二维码base64字符串
Loading: false,
};
},
filters: {
},
methods: {
GetData() {
this.Loading = true;
this.apipost(
"travelcontract_post_GetDisclaimerProtocol", this.msg,
res => {
this.Loading = false;
if (res.data.resultCode == 1) {
var tempObj = res.data.data;
if (tempObj.ProtocolId > 0) {
this.addMsg.ProtocolId = tempObj.ProtocolId;
this.addMsg.TCID = tempObj.TCID;
this.addMsg.OrderId = tempObj.OrderId;
this.addMsg.GuestId = tempObj.GuestId;
this.addMsg.DiscountMoney = tempObj.DiscountMoney;
this.addMsg.GuestIsSign = tempObj.GuestIsSign;
this.addMsg.GuestSignature = tempObj.GuestSignature;
this.addMsg.GuestSignDate = tempObj.GuestSignDate;
this.addMsg.CompanyIsSign = tempObj.CompanyIsSign;
this.addMsg.CompanySignDate = tempObj.CompanySignDate;
this.addMsg.CompanyImage = tempObj.CompanyImage;
this.addMsg.EnterName = tempObj.EnterName;
this.addMsg.GuestSignDateStr=tempObj.GuestSignDateStr;
}
this.addMsg.GuestName = tempObj.GuestName;
} else {
this.Error(res.data.message);
}
},
err => {}
);
},
//保存保密协议
saveData() {
this.SaveLoading = true;
this.apipost(
"travelcontract_post_SetDisclaimerProtocol", this.addMsg,
res => {
this.SaveLoading = false;
if (res.data.resultCode == 1) {
this.Success(res.data.message);
this.addMsg.ProtocolId = res.data.data;
this.msg.ProtocolId = res.data.data;
this.GetData();
} else {
this.Error(res.data.message);
}
},
err => {}
);
},
//公司盖章
saveCompanySign() {
var postMsg = {
ProtocolId: this.addMsg.ProtocolId,
CompanyIsSign: 1,
};
this.apipost(
"traveldisProtocol_post_UpdateCompanySignature", postMsg,
res => {
if (res.data.resultCode == 1) {
this.Success(res.data.message);
this.GetData();
} else {
this.Error(res.data.message);
}
},
err => {}
);
},
//生成二维码
createQrCode() {
let urlObj = this.domainManager();
let msg = {
TCID: this.$route.query.TCID,
OrderId: this.$route.query.OrderId,
GuestId: this.$route.query.GuestId,
ProtocolId: this.$route.query.ProtocolId,
pUrl: "clientDisclaimerProtocol",
};
this.$http({
headers: {
'Content-Type': 'application/json'
},
method: 'post',
url: urlObj.DomainUrl + '/api/file/GetQrCodeExtImage?',
data: {
"msg": msg
}
}).then(res => {
if (res.data.resultCode === 1) {
this.QRCodeStr = res.data.data;
}
}).catch(err => {})
}
},
created() {
if (this.$route.query) {
if (this.$route.query.ProtocolId) {
this.msg.ProtocolId = this.$route.query.ProtocolId;
this.addMsg.ProtocolId = this.$route.query.ProtocolId;
}
if (this.$route.query.TCID) {
this.msg.TCID = this.$route.query.TCID;
this.addMsg.TCID = this.$route.query.TCID;
}
if (this.$route.query.OrderId) {
this.msg.OrderId = this.$route.query.OrderId;
this.addMsg.OrderId = this.$route.query.OrderId;
}
if (this.$route.query.GuestId) {
this.msg.GuestId = this.$route.query.GuestId;
this.addMsg.GuestId = this.$route.query.GuestId;
}
}
},
mounted() {
this.GetData();
}
};
</script>
......@@ -4,6 +4,7 @@ import index from '../components/index'
import clientConfirm from '../components/clientConfirm'
import clientConfirmRB from '../components/clientConfirmRB'
import clientProtocol from '../components/clientProtocol'
import clientDisclaimerProtocol from '../components/clientDisclaimerProtocol'
import SignName from '../components/SignName'
import supplierLogin from '../components/SupplierLogin'
import supplierIndex from '../components/SupplierIndex'
......@@ -5882,6 +5883,11 @@ export default {
name: 'clientProtocol',
component: clientProtocol,
},
{
path: '/clientDisclaimerProtocol', //老人/孕妇免责协议签订
name: 'clientDisclaimerProtocol',
component: clientDisclaimerProtocol,
},
{
path: '/SignName',
name: 'SignName',
......@@ -5918,6 +5924,13 @@ export default {
meta: {
title: '价格保密协议'
}
},{
path: '/disclaimerProtocol', //老年人/孕妇参团免责
name: 'disclaimerProtocol',
component: resolve => require(['@/components/disclaimerProtocol'], resolve),
meta: {
title: '老年人/孕妇参团免责'
}
},
{
path: '/SingleContract', //单项合同
......
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