<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>{{$t('objFill.v101.xieyixiangq')}} <template v-if="addMsg.EnterName&&addMsg.EnterName!=''"> {{$t('objFill.v101.xiaosoureny')}}:{{addMsg.EnterName}}</template> </h2> </td> <td align="right"> <el-button type="primary" size="medium" @click="saveData()" :loading="SaveLoading" >{{$t('pub.saveBtn')}}</el-button> <template v-if="addMsg.ProtocolId>0"> <el-button type="primary" size="medium" @click="isShowFade=true;createQrCode()">{{$t('objFill.weishengcewm')}}</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> 年 月 日</span> </p> </div> </div> </div> </div> <div class="fade" v-show="isShowFade"></div> <div class="qrCodeDiv" v-show="isShowFade"> <div style="margin-top:15px;">{{$t('objFill.v101.Contract.qingsmqz')}}</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, }; }, 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>