Commit 303fd301 authored by zhengke's avatar zhengke

修改

parent 7d95ebce
<style>
*{
margin:0;
padding:0;
}
.TC-MainContent{
min-height: 650px;
background: url(../assets/img/bodyBg.png);
padding-top: 10px;
font: normal 13px 'Microsoft Yahei';
color:#555;
height:auto!important;
}
.TC-MainContent .fixedMenu {
position: fixed;
left: 20px;
top: 75px;
margin: 0;
padding-top: 10px;
}
.TC-MainContent .fixedMenu li {
padding: 5px 15px;
position: relative;
border-right: 2px solid #e2e2e2;
cursor: pointer;
list-style: none;
font-size:13px;
}
.TC-MainContent .fixedMenu li:after {
content: '';
display: block;
width: 0;
height: 0;
border: 5px solid transparent;
border-left-color: #e2e2e2;
position: absolute;
right: -12px;
top: 11px;
}
.TC-MainContent .contractTit {
position: fixed;
left: 0;
top:0;
width: 100%;
z-index: 1000;
padding: 15px 20px 12px;
line-height: 30px;
box-sizing: border-box;
background: url(../assets/img/bodyBg.png);
font-size: 18px;
color: #555;
}
.TC-MainContent .contractTit span{
font-size: 21px;
font-weight: bold;
}
.TC-MainContent .block {
border: 1px solid #cdcdcd;
background: #f9f9f9;
position: relative;
margin-bottom: 20px;
}
.TC-MainContent .container-fluid {
padding-right: 20px;
padding-left: 20px;
*zoom: 1;
}
.TC-MainContent .mtop15{
margin-top:15px;
}
.TC-MainContent .blockTitle {
border-bottom: 1px solid #cdcdcd;
background-color: #efefef;
}
.TC-MainContent .blockTitle span.icon {
border-right: 1px solid #CDCDCD;
position: absolute;
left: 10px;
height: 40px;
padding-right: 10px;
padding-top: 8px;
}
.TC-MainContent .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;
}
.TC-MainContent .blockTitle h2 {
font-size: 15px;
min-height: 40px;
margin: 0;
font-family: 'Microsoft Yahei';
color: #5b5b5b;
padding-right: 15px;
padding-left: 48px;
}
.TC-MainContent .block em {
font-style: normal;
}
.TC-MainContent .createTableTitle {
padding: 10px 0;
margin: 5px 30px 0;
border-bottom: 1px dashed #ccc;
font: normal 15px 'microsoft yahei';
}
.TC-MainContent .createTable{
background-color: #f9f9f9;
width:100%;
}
.TC-MainContent .el-form-item{
margin-bottom:10px;
}
.TC-MainContent .w300{
width:300px!important;
}
.TC-MainContent .w150{
width:150px!important;
}
.TC-MainContent .w138{
width:138px!important;
}
.TC-MainContent .w600{
width:600px!important;
}
.TC-MainContent .singeRowTable{width: 100%;border-collapse:collapse;}
.TC-MainContent .singeRowTable tr th,.v-table-title-cell{background: #E6E6E6;height:40px; font-size: 14px; color: #333;}
.TC-MainContent .singeRowTable tr{background: #fff;text-align: center; height: 40px;}
.TC-MainContent .singeRowTable tr:nth-child(2n+1){background:#fafafa; }
.TC-MainContent .singeRowTable tr:hover{background: #f2f2f2;}
.TC-MainContent .singeRowTable tr td{font-size: 12px;border: 1px solid #E5E5E5;}
.TC-MainContent .TC_NewAddBtn{
background-color: #006dcc;
width:83px;
height:26px;
color:#fff;
border:none;
margin-right: 5px;
cursor: pointer;
}
.TC-MainContent .singeRowTable .el-button.is-circle{
padding:5px;
}
.TC-MainContent .TcNewTable td{
padding:5px;
}
.TC-MainContent .fixedMenu li.active {
background: #90b7ec;
color: #fff;
border-right-color: #5882bb;
}
.TC-MainContent .fixedMenu li.active:after {
border-left-color: #5882bb;
}
.TC-MainContent .pull-right{
float:right;
}
.TC-MainContent .TC_disabled{
color:#57a3f3;
cursor: not-allowed!important;
}
.TC-MainContent .TCbtn-info {
color: #ffffff;
text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
background-color: #49afcd;
background-image: -moz-linear-gradient(top, #5bc0de, #2f96b4);
background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#5bc0de), to(#2f96b4));
background-image: -webkit-linear-gradient(top, #5bc0de, #2f96b4);
background-image: -o-linear-gradient(top, #5bc0de, #2f96b4);
background-image: linear-gradient(to bottom, #5bc0de, #2f96b4);
background-repeat: repeat-x;
border-color: #2f96b4 #2f96b4 #1f6377;
border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5bc0de', endColorstr='#ff2f96b4', GradientType=0);
filter: progid:DXImageTransform.Microsoft.gradient(enabled=false);
padding:10px 19px;
border:none;
outline: none;
cursor: pointer;
}
.TC-MainContent .btn-warning{
color: #ffffff;
text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
background-color: #faa732;
*background-color: #f89406;
background-image: -moz-linear-gradient(top, #fbb450, #f89406);
background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#fbb450), to(#f89406));
background-image: -webkit-linear-gradient(top, #fbb450, #f89406);
background-image: -o-linear-gradient(top, #fbb450, #f89406);
background-image: linear-gradient(to bottom, #fbb450, #f89406);
background-repeat: repeat-x;
border-color: #f89406 #f89406 #ad6704;
border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fffbb450', endColorstr='#fff89406', GradientType=0);
filter: progid:DXImageTransform.Microsoft.gradient(enabled=false);
padding:10px 19px;
outline: none;
border:none;
cursor: pointer;
}
.TCbtn-info:hover,.btn-warning:hover{
color: #ffffff;
opacity: 0.8;
}
.TcTravel_Table{
width: 100%;
border: none;
border-collapse: collapse;
border-spacing: 0;
}
.TcTravel_Table td{
border: 1px solid rgb(0, 0, 0);
word-break: break-all;
padding:5px;
line-height: 2;
}
.TC_LASTTD div{
margin-bottom:10px;
}
.feeJisuan .el-form-item__label{
margin-top:5px;
}
</style>
<template>
<div class="TC-MainContent">
<!-- 内容开始 -->
<ul class="fixedMenu" id="fixedMenu">
<li v-for="(item,index) in menuArr" :class="{'active':index==ckedIndex}" @click="ckedIndex=index,goAnchor('#anchor-'+index)">{{item}}</li>
</ul>
<div class="contractTit">
<span>
大陆居民境内旅游合同
<span style="color:blue;font-size:14px;"></span>
</span>
<div class="pull-right">
<input type="button" v-if="CtObj.auditContract!=2" class="btn-warning" @click="submitForm('CtObj')" value="保存"/>
</div>
</div>
<el-form label-width="180px" :model="CtObj" :rules="rules" ref="CtObj">
<div class="container-fluid" style="padding-top: 60px; padding-left: 220px;">
<div class="block mtop15" id="anchor-0" ref="anchor0">
<div class="blockTitle">
<span class="icon">
<i class="iconfont icon-dingdanguanli-"></i>
</span>
<h2>
<em>合同基本信息</em>
</h2>
</div>
<div class="createTableTitle">旅游者代表信息</div>
<table class="createTable">
<tbody>
<tr>
<td>
<el-form-item label="姓名" prop="clientName">
<el-input type="text" v-model="CtObj.clientName" maxlength="100" class="w300"></el-input>
</el-form-item>
</td>
</tr>
<tr>
<td>
<el-form-item label="证件号码">
<el-input type="text" v-model="CtObj.clientIdcardnum" maxlength="100" class="w300"></el-input>
</el-form-item>
</td>
</tr>
<tr>
<td>
<el-form-item label="住所">
<el-input type="text" v-model="CtObj.clientAddress" class="w300"></el-input>
</el-form-item>
</td>
</tr>
<tr>
<td>
<el-form-item label="联系电话" prop="clientCall">
<el-input type="text" v-model="CtObj.clientCall" maxlength="100" class="w300"></el-input>
</el-form-item>
</td>
</tr>
<tr>
<td>
<el-form-item label="邮箱">
<el-input type="text" v-model="CtObj.clientEmail" maxlength="100" class="w300"></el-input>
</el-form-item>
</td>
</tr>
<tr>
<td>
<el-form-item label="传真">
<el-input type="text" v-model="CtObj.clientFax" maxlength="100" class="w300"></el-input>
</el-form-item>
</td>
</tr>
<tr>
<td>
<el-form-item label="邮编">
<el-input type="text" v-model="CtObj.clientPostCode" maxlength="100" class="w300"></el-input>
</el-form-item>
</td>
</tr>
</tbody>
</table>
<div class="createTableTitle">出境社信息</div>
<table class="createTable">
<tbody>
<tr>
<td>
<el-form-item label="公司名称">
<el-input type="text" v-model="CtObj.company" :disabled="true" class="w300"></el-input>
</el-form-item>
</td>
</tr>
<tr>
<td>
<el-form-item label="经营许可证编号">
<el-input type="text" class="w300" :disabled="true" v-model="CtObj.businessCertificate"></el-input>
</el-form-item>
</td>
</tr>
<tr>
<td>
<el-form-item label="经办人" prop="agentName">
<el-input type="text" class="w300" v-model="CtObj.agentName"></el-input>
</el-form-item>
</td>
</tr>
<tr>
<td>
<el-form-item label="营业地址">
<el-input type="text" class="w300" v-model="CtObj.companyAddress"></el-input>
</el-form-item>
</td>
</tr>
<tr>
<td>
<el-form-item label="联系电话">
<el-input type="text" class="w300" v-model="CtObj.companyCall"></el-input>
</el-form-item>
</td>
</tr>
<tr>
<td>
<el-form-item label="传真">
<el-input type="text" class="w300" v-model="CtObj.companyFax"></el-input>
</el-form-item>
</td>
</tr>
<tr>
<td>
<el-form-item label="邮编">
<el-input type="text" class="w300" v-model="CtObj.companyPostCode"></el-input>
</el-form-item>
</td>
</tr>
<tr>
<td>
<el-form-item label="电子邮箱">
<el-input type="text" class="w300" v-model="CtObj.companyEmail"></el-input>
</el-form-item>
</td>
</tr>
<tr>
<td>
<el-form-item label="签约地点">
<el-input type="text" class="w300" v-model="CtObj.contractPlace"></el-input>
</el-form-item>
</td>
</tr>
</tbody>
</table>
</div>
<div class="block mtop15" id="anchor-1" ref="anchor1">
<div class="blockTitle">
<span class="icon">
<i class="iconfont icon-renwuguanli"></i>
</span>
<h2>
<em>合同协议条款</em>
</h2>
</div>
<div class="createTableTitle">线路行程时间</div>
<table class="createTable">
<tbody>
<tr>
<td>
<el-form-item label="团号">
<el-input type="text" class="w300" v-model="CtObj.tCNum"></el-input>
</el-form-item>
</td>
</tr>
<tr>
<td>
<el-form-item label="旅游产品名称" prop="productName">
<el-input type="text" class="w300" v-model="CtObj.productName"></el-input>
</el-form-item>
</td>
</tr>
<tr>
<td>
<el-form-item label="出发日期" prop="startDate">
<el-date-picker class="w300" v-model="CtObj.startDate" type="date" value-format="yyyy-MM-dd" placeholder></el-date-picker>
</el-form-item>
</td>
</tr>
<tr>
<td>
<el-form-item label="返回日期" prop="returnDate">
<el-date-picker class="w300" v-model="CtObj.returnDate" type="date" value-format="yyyy-MM-dd" placeholder></el-date-picker>
</el-form-item>
</td>
</tr>
<tr>
<td>
<el-form-item label="共" prop="dayNum">
<el-input type="text" class="w300"></el-input>&nbsp;
</el-form-item>
</td>
</tr>
<tr>
<td>
<el-form-item label="酒店住宿" prop="nightNum">
<el-input type="text" class="w300"></el-input>&nbsp;
</el-form-item>
</td>
</tr>
</tbody>
</table>
<div class="createTableTitle">旅游费用及支付</div>
<table class="createTable">
<tbody>
<tr>
<td>
<el-form-item label="成人" prop="adultPrice">
<el-input type="text" class="w300" v-model="CtObj.adultPrice"></el-input> 元/人
</el-form-item>
</td>
</tr>
<tr>
<td>
<el-form-item label="儿童(不满14岁的)">
<el-input type="text" class="w300" v-model="CtObj.childPrice"></el-input> 元/人
</el-form-item>
</td>
</tr>
<tr>
<td>
<el-form-item label="导游服务费" prop="servicePrice">
<el-input type="text" class="w300" v-model="CtObj.servicePrice"></el-input> 元/人
</el-form-item>
</td>
</tr>
<tr>
<td>
<el-form-item label="合计" prop="orderPrice">
<el-input type="text" class="w300" v-model="CtObj.orderPrice"></el-input>
</el-form-item>
</td>
</tr>
<tr>
<td>
<el-form-item label="旅游费用支付日期" prop="payDate">
<el-date-picker class="w300" v-model="CtObj.payDate" type="date" value-format="yyyy-MM-dd" placeholder></el-date-picker>
</el-form-item>
</td>
</tr>
<tr>
<td>
<el-form-item label="支付方式" prop="payType">
<el-select placeholder="请选择" filterable class='w300' v-model="CtObj.payType">
<el-option label="现金" :value='1'></el-option>
<el-option label="转账" :value='2'></el-option>
<el-option label="支票" :value='3'></el-option>
</el-select>
</el-form-item>
</td>
</tr>
</tbody>
</table>
<div class="createTableTitle">人身意外伤害保险</div>
<table class="createTable">
<tbody>
<tr>
<td>
<el-form-item label="旅游者">
<el-select placeholder="请选择" filterable class='w300' v-model="CtObj.insuranceOpinion">
<el-option label="委托出境社购买" :value='1'></el-option>
<el-option label="自行购买" :value='2'></el-option>
<el-option label="放弃购买" :value='3'></el-option>
</el-select>
</el-form-item>
</td>
</tr>
<tr>
<td>
<el-form-item label="保险产品名称" prop="insuranceProduct">
<el-input type="text" class="w300" v-model="CtObj.insuranceProduct"></el-input>
</el-form-item>
</td>
</tr>
</tbody>
</table>
<div class="createTableTitle">成团人数与不成团的约定</div>
<table class="createTable">
<tbody>
<tr>
<td>
<el-form-item label="最低成团人数" prop="minNumber">
<el-input type="text" class="w150" v-model="CtObj.minNumber"></el-input>
</el-form-item>
</td>
</tr>
<tr>
<td style="padding:10px 0 20px 86px;">如不能成团,旅游者是否同意按下列方式解决:</td>
</tr>
<tr>
<td>
<el-form-item label="1、">
<el-select placeholder="请选择" filterable class='w150' v-model="CtObj.insteadOpinion">
<el-option label="同意" :value='1'></el-option>
<el-option label="不同意" :value='2'></el-option>
</el-select>
出境社委托
<el-input type="text" class="w300" v-model="CtObj.insteadCompany"></el-input> 出境社履行合同;
</el-form-item>
</td>
</tr>
<tr>
<td>
<el-form-item label="2、">
<el-select placeholder="请选择" filterable class='w150' v-model="CtObj.delayOpinion">
<el-option label="同意" :value='1'></el-option>
<el-option label="不同意" :value='2'></el-option>
</el-select>
延期出团;
</el-form-item>
</td>
</tr>
<tr>
<td>
<el-form-item label="3、">
<el-select placeholder="请选择" filterable class='w150' v-model="CtObj.changeOpinion">
<el-option label="同意" :value='1'></el-option>
<el-option label="不同意" :value='2'></el-option>
</el-select>
改签其他线路出团;
</el-form-item>
</td>
</tr>
<tr>
<td>
<el-form-item label="4、">
<el-select placeholder="请选择" filterable class='w150' v-model="CtObj.terminateOpinion">
<el-option label="同意" :value='1'></el-option>
<el-option label="不同意" :value='2'></el-option>
</el-select>
解除合同。
</el-form-item>
</td>
</tr>
</tbody>
</table>
<div class="createTableTitle">拼团约定</div>
<table class="createTable">
<tbody>
<tr>
<td>
<el-form-item label="旅游者">
<el-select placeholder="请选择" filterable class='w150' v-model="CtObj.carpoolOpinion">
<el-option label="同意" :value='1'></el-option>
<el-option label="不同意" :value='2'></el-option>
</el-select>
采用拼团方式拼至
<el-input type="text" class="w300" v-model="CtObj.carpoolCompany"></el-input> 旅行社成团。
</el-form-item>
</td>
</tr>
</tbody>
</table>
<div class="createTableTitle">争议的解决方式</div>
<table class="createTable">
<tbody>
<tr>
<td>
<div style="margin:20px 0 10px 50px">本合同履行过程中发生争议,由双方协商解决;亦可向合同签订地的旅游质监执法机构、消费者协会等有关部门或者机构申请调解解决。</div>
<el-form-item label-width="0" prop="settleDisputeMode" style="margin-left:50px;">
<span style="color:red;">*</span> 争议解决方式选择:协商或调解不成,按下列第
<el-select placeholder="请选择" filterable class='w210' v-model="CtObj.settleDisputeMode">
<el-option label="1" :value='1'></el-option>
<el-option label="2" :value='2'></el-option>
</el-select>
种方式解决
</el-form-item>
<div style="margin:0 0 20px 50px;">2、依法向人民法院起诉。</div>
</td>
</tr>
</tbody>
</table>
<div class="createTableTitle">合同效力</div>
<table class="createTable feeJisuan">
<tbody>
<tr>
<td width='450'>
<el-form-item label="本合同一式" prop="totalNumber">
<el-select placeholder="请选择" filterable v-model="CtObj.totalNumber" class='w210'>
<el-option label="壹" :value='1'></el-option>
<el-option label="贰" :value='2'></el-option>
<el-option label="叁" :value='3'></el-option>
<el-option label="肆" :value='4'></el-option>
<el-option label="伍" :value='5'></el-option>
<el-option label="陆" :value='6'></el-option>
<el-option label="柒" :value='7'></el-option>
<el-option label="捌" :value='8'></el-option>
<el-option label="玖" :value='9'></el-option>
<el-option label="拾" :value='10'></el-option>
</el-select>
</el-form-item>
</td>
<td>
<el-form-item label="双方各持" prop="eachNumber" label-width="120">
<el-select placeholder="请选择" filterable v-model="CtObj.eachNumber" class='w210'>
<el-option label="壹" :value='1'></el-option>
<el-option label="贰" :value='2'></el-option>
<el-option label="叁" :value='3'></el-option>
<el-option label="肆" :value='4'></el-option>
<el-option label="伍" :value='5'></el-option>
<el-option label="陆" :value='6'></el-option>
<el-option label="柒" :value='7'></el-option>
<el-option label="捌" :value='8'></el-option>
<el-option label="玖" :value='9'></el-option>
<el-option label="拾" :value='10'></el-option>
</el-select>
份,具有同等法律效力,自双方当事人签字或者盖章之日起生效。
</el-form-item>
</td>
</tr>
</tbody>
</table>
</div>
<div class="block mtop15" id="anchor-2" ref="anchor2">
<div class="blockTitle">
<span class="icon">
<i class="iconfont icon-copy"></i>
</span>
<h2>
<em>其他约定事项</em>
</h2>
</div>
<div style="padding:10px;">未尽事宜,经旅游者和出境社双方协商一致,可以列入补充条款。(如合同空间不够,可以另附纸张,由双方签字或者盖章确认。)</div>
<el-input type="textarea" resize="none" v-model="CtObj.otherMatter" rows="13"></el-input>
</div>
<div class="block mtop15" id="anchor-3" ref="anchor3">
<div class="blockTitle">
<span class="icon">
<i class="iconfont icon-Shape2"></i>
</span>
<h2>
<em>投诉联系</em>
</h2>
</div>
<table class="createTable">
<tbody>
<tr>
<td>
<el-form-item label="旅行社监督、投诉电话">
<el-input type="text" class="w300" v-model="CtObj.regulatorComplainCall"></el-input>
</el-form-item>
</td>
</tr>
<tr>
<td>
<el-form-item style="display:inline-block;">
<el-input type="text" class="w138"></el-input>&nbsp;
</el-form-item>
<el-form-item label-width="0" style="display:inline-block;">
<el-input type="text" class="w138"></el-input>&nbsp;市旅游质监执法机构
</el-form-item>
</td>
</tr>
<tr>
<td>
<el-form-item label="投诉电话">
<el-input type="text" class="w300" v-model="CtObj.companyComplainCall"></el-input>
</el-form-item>
</td>
</tr>
<tr>
<td>
<el-form-item label="电子邮箱">
<el-input type="text" class="w300" v-model="CtObj.regulatorWebsite"></el-input>
</el-form-item>
</td>
</tr>
<tr>
<td>
<el-form-item label="地址">
<el-input type="text" class="w300" v-model="CtObj.regulatorAddress"></el-input>
</el-form-item>
</td>
</tr>
<tr>
<td>
<el-form-item label="邮编">
<el-input type="text" class="w300" v-model="CtObj.regulatorPostCode"></el-input>
</el-form-item>
</td>
</tr>
</tbody>
</table>
</div>
<div class="block mtop15" id="anchor-4" ref="anchor4">
<div class="blockTitle">
<span class="icon">
<i class="iconfont icon-Shape1"></i>
</span>
<h2>
<em>行程信息</em>
</h2>
</div>
<div style="padding:10px;background:#f9f9f9;color:red;">
《行程单》应当对如下内容作出明确的说明:
(1)旅游行程的出发地、途经地、目的地、结束地,线路行程时间(按自然日计算,含乘飞机、车、船等在途时间,不足24小时以一日计);
(2)旅游目的地地接社的名称、地址、联系人和联系电话;
(3)交通服务安排及其标准(明确交通工具及档次等级、出发时间以及是否需中转等信息);
(4)住宿服务安排及其标准(明确住宿饭店的名称、地址、档次等级及是否有空调、热水等相关服务设施);
(5)用餐(早餐和正餐)服务安排及其标准(明确用餐次数、地点、标准);
(6)出境社统一安排的游览项目的具体内容及时间(明确旅游线路内容包括景区点及游览项目名称、景区点停留的最少时间);
(7)自由活动的时间;
(8)行程安排的娱乐活动(明确娱乐活动的时间、地点和项目内容);
《行程单》用语须准确清晰,在表明服务标准用语中不应当出现“准×星级”、“豪华”、“仅供参考”、“以××为准”、“与××同级”等不确定用语。
</div>
<div>
123
</div>
<!-- <el-input type="textarea" rows="26" resize="none" v-model="CtObj.travelContent"></el-input> -->
</div>
<div class="block mtop15" id="anchor-5" ref="anchor5">
<div class="blockTitle">
<span class="icon">
<i class="iconfont icon-people"></i>
</span>
<h2>
<em>游客信息</em>
</h2>
</div>
<table class="singeRowTable TcNewTable" border="0" cellspacing="0" cellpadding="0">
<tr>
<th>序号</th>
<th>姓名</th>
<th>性别</th>
<th>证件类型</th>
<th>护照号码</th>
<th>联系电话(手机)</th>
<th>身体状况</th>
<th>操作</th>
</tr>
<tr>
<td>1</td>
<td><el-input type="text"></el-input></td>
<td>
<el-select>
<el-option label="男" :value="1"></el-option>
<el-option label="女" :value="2"></el-option>
</el-select>
</td>
<td>
<el-select>
<el-option label="护照" :value="1"></el-option>
<el-option label="港澳通行证" :value="2"></el-option>
<el-option label="赴台证" :value="3"></el-option>
<el-option label="身份证" :value="4"></el-option>
<el-option label="其他" :value="5"></el-option>
</el-select>
</td>
<td><el-input type="text"></el-input></td>
<td><el-input type="text"></el-input></td>
<td><el-input type="text" placeholder="健康"></el-input></td>
<td>
<!-- <el-tooltip class="item" effect="dark" content="修改" placement="top-start">
<el-button type="primary" icon="el-icon-edit" circle></el-button>
</el-tooltip> -->
<el-tooltip class="item" effect="dark" content="保存" placement="top-start">
<el-button type="primary" icon="iconfont icon-baocun" circle></el-button>
</el-tooltip>
<el-tooltip class="item" effect="dark" content="删除" placement="top-start">
<el-button type="danger" icon="el-icon-delete" circle ></el-button>
</el-tooltip>
</td>
</tr>
<tr>
<td colspan="9" style="text-align:right;">
<input type="button" class="TC_NewAddBtn" value="+添加游客" />
</td>
</tr>
</tr>
</table>
</div>
<div class="block mtop15" id="anchor-6" ref="anchor6">
<div class="blockTitle">
<span class="icon">
<i class="iconfont icon-bianji"></i>
</span>
<h2>
<em>自愿购物活动补充协议</em>
</h2>
</div>
<table class="singeRowTable TcNewTable" border="0" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<th width="60">序号</th>
<th width="10%">具体时间</th>
<th width="15%">地点</th>
<th width="12%">购物场所名称</th>
<th width="12%">主要商品信息</th>
<th width="12%">最长停留时间(分钟)</th>
<th width="12%">其他说明</th>
<th width="12%">旅游者签名同意</th>
<th width="100">操作</th>
</tr>
<tr v-for="(item,index) in VoluntaryArr">
<td>
{{index+1}}
</td>
<td>
<span v-if="item.IsShow==0">{{item.specificTime}}</span>
<el-date-picker v-else v-model="item.specificTime" class="w150" type="date" value-format="yyyy-MM-dd" placeholder=''></el-date-picker>
</td>
<td>
<span v-if="item.IsShow==0">{{item.Address}}</span>
<el-input type="text" v-model="item.Address" v-else></el-input>
</td>
<td style="text-align:left;">
<span v-if="item.IsShow==0">{{item.shoppName}}</span>
<el-input type="text" v-model="item.shoppName" v-else></el-input>
</td>
<td style="text-align:left;">
<span v-if="item.IsShow==0">{{item.CommodityInformation}}</span>
<el-input type="text" v-model="item.CommodityInformation" v-else></el-input>
</td>
<td>
<span v-if="item.IsShow==0">{{item.stayTime}}</span>
<el-input type="text" v-model="item.stayTime" v-else></el-input>
</td>
<td style="text-align:left;">
<span v-if="item.IsShow==0">{{item.other}}</span>
<el-input type="text" v-model="item.other" v-else></el-input>
</td>
<td>
<span v-if="item.IsShow==0">{{item.travelSign}}</span>
<el-input type="text" v-model="item.travelSign" v-else></el-input>
</td>
<td>
<el-tooltip class="item" effect="dark" content="修改" placement="top-start" v-if="item.IsShow==0">
<el-button type="primary" icon="el-icon-edit" circle @click="item.IsShow=1"></el-button>
</el-tooltip>
<el-tooltip class="item" effect="dark" content="保存" placement="top-start" v-if="item.IsShow==1">
<el-button type="primary" icon="iconfont icon-baocun" circle @click="item.IsShow=0"></el-button>
</el-tooltip>
<el-tooltip class="item" effect="dark" content="删除" placement="top-start" v-if="item.IsShow==0">
<el-button type="danger" icon="el-icon-delete" @click="delVoluntray(index)" circle ></el-button>
</el-tooltip>
</td>
</tr>
<tr>
<td colspan="9" style="text-align:right;">
<input type="button" class="TC_NewAddBtn" @click="addRecord()" value="+添加记录" />
</td>
</tr>
</tbody>
</table>
</div>
<div class="block mtop15" id="anchor-7" ref="anchor7">
<div class="blockTitle">
<span class="icon">
<i class="iconfont icon-bianji"></i>
</span>
<h2>
<em>自愿付费项目补充协议</em>
</h2>
</div>
<table class="singeRowTable TcNewTable" border="0" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<th width="60">序号</th>
<th width="10%">具体时间</th>
<th width="15%">地点</th>
<th width="12%">项目名称和内容</th>
<th width="12%">费用(元)</th>
<th width="12%">项目时长(分钟)</th>
<th width="12%">其他说明</th>
<th width="12%">旅游者签名同意</th>
<th width="100">操作</th>
</tr>
<tr v-for="(item,index) in WillingPayArr">
<td>
{{index+1}}
</td>
<td>
<span v-if="item.IsShow==0">{{item.specificTime}}</span>
<el-date-picker v-else v-model="item.specificTime" class="w150" type="date" value-format="yyyy-MM-dd" placeholder=''></el-date-picker>
</td>
<td>
<span v-if="item.IsShow==0">{{item.Address}}</span>
<el-input type="text" v-model="item.Address" v-else></el-input>
</td>
<td style="text-align:left;">
<span v-if="item.IsShow==0">{{item.programName}}</span>
<el-input type="text" v-model="item.programName" v-else></el-input>
</td>
<td style="text-align:left;">
<span v-if="item.IsShow==0">{{item.money}}</span>
<el-input type="text" v-model="item.money" v-else></el-input>
</td>
<td>
<span v-if="item.IsShow==0">{{item.programTime}}</span>
<el-input type="text" v-model="item.programTime" v-else></el-input>
</td>
<td style="text-align:left;">
<span v-if="item.IsShow==0">{{item.other}}</span>
<el-input type="text" v-model="item.other" v-else></el-input>
</td>
<td>
<span v-if="item.IsShow==0">{{item.travelSign}}</span>
<el-input type="text" v-model="item.travelSign" v-else></el-input>
</td>
<td>
<el-tooltip class="item" effect="dark" content="修改" placement="top-start" v-if="item.IsShow==0">
<el-button type="primary" icon="el-icon-edit" circle @click="item.IsShow=1"></el-button>
</el-tooltip>
<el-tooltip class="item" effect="dark" content="保存" placement="top-start" v-if="item.IsShow==1">
<el-button type="primary" icon="iconfont icon-baocun" circle @click="item.IsShow=0"></el-button>
</el-tooltip>
<el-tooltip class="item" effect="dark" content="删除" placement="top-start" v-if="item.IsShow==0">
<el-button type="danger" icon="el-icon-delete" @click="delWilling(index)" circle ></el-button>
</el-tooltip>
</td>
</tr>
<tr>
<td colspan="9" style="text-align:right;">
<input type="button" class="TC_NewAddBtn" @click="addWilling()" value="+添加记录" />
</td>
</tr>
</tbody>
</table>
</div>
</div>
</el-form>
</div>
</template>
<script>
import moment from 'moment'
export default {
data() {
let valiTotalNumber = (rule, value, callback) => {
if (this.CtObj.totalNumber == 0||this.CtObj.totalNumber =='') {
return callback(new Error('请选择'));
} else {
callback();
}
}
let validateEach = (rule, value, callback) => {
if (this.CtObj.eachNumber == 0||this.CtObj.eachNumber =='') {
return callback(new Error('请选择'));
} else {
callback();
}
}
let validatepayType = (rule, value, callback) => {
if (this.CtObj.payType == 0||this.CtObj.payType =='') {
return callback(new Error('请选择'));
} else {
callback();
}
}
let validatesettleDisputeMode = (rule, value, callback) => {
if (this.CtObj.settleDisputeMode == 0 ||this.CtObj.settleDisputeMode=='') {
return callback(new Error('请选择'));
} else {
callback();
}
}
return {
//选中切换
cked:1,
//查询参数
msg:{
TCID:0,
orderID:0,
guestId:0
},
addMsg: {
Country: 0,
Province: 0,
City: 0
},
//参数
CtObj:{
//基本信息
clientName:'',
clientIdcardnum:'',
clientCall:'',
clientFax:'',
clientEmail:'',
clientPostCode:'',
clientCountryid:0,
clientProvinceid:0,
clientCityid:0,
clientAddress:'',
company:'',
businessCertificate:'',
companyCall:'',
companyFax:'',
companyEmail:'',
companyPostCode:'',
companyCountryid:0,
companyProvinceid:0,
companyCityid:0,
companyAddress:'',
agentName:'',
agentCall:'',
contractPlace:'',
//合同条款
totalNumber:2,
eachNumber:1,
productName:'',
startDate:'',
returnDate:'',
dayNum:'',
nightNum:'',
adultPrice:'',
childPrice:'',
servicePrice:'',
orderPrice:'',
payDate:'',
payType:'',
//客户同意
insuranceOpinion:'',
insuranceCompany:'',
insuranceProduct:'',
insuranceAmount:'',
minNumber:0,
insteadOpinion:'',
insteadCompany:'',
delayOpinion:'',
changeOpinion:'',
terminateOpinion:'',
carpoolOpinion:'',
carpoolCompany:'',
settleDisputeMode:2,
arbitrationCommission:'',
court:'',
otherMatter:'',
//投诉信息
companyComplainCall:'',
regulatorName:'',
regulatorComplainCall:'',
regulatorWebsite:'',
regulatorPostCode:'',
regulatorCountryid:0,
regulatorProvinceid:0,
regulatorCityid:0,
regulatorAddress:'',
//行程信息
travelContent:'',
//旅客信息
togetherRemark:'',
singleRemark:'',
nobedRemark:'',
aloneRemark:'',
tcid:0,
orderId:0,
tCNum:'',
payProtocol:'',
shopProtocol:''
},
//旅客名单
guestList:[],
tripList: [],
rules: {
clientName: [{ required: true, message: "请输入客户名称", trigger: "blur" }],
clientCall: [{ required: true, message: "请输入联系电话", trigger: "blur" }],
agentName: [{ required: true, message: "请输入经办人", trigger: "blur" }],
agentCall: [{ required: true, message: "请输入联系电话", trigger: "blur" }],
totalNumber: [{ validator: valiTotalNumber,trigger: 'change',required: true,}],
eachNumber:[{ validator: validateEach, trigger: "change",required: true, }],
productName:[{ required: true, message: "请填写产品名称", trigger: "blur" }],
startDate:[{ required: true, message: "请选择出发日期", trigger: "change" }],
returnDate:[{ required: true, message: "请选择返回日期", trigger: "blur" }],
dayNum:[{ required: true, message: "请选择天数", trigger: "change" }],
nightNum:[{ required: true, message: "请选择晚数", trigger: "change" }],
adultPrice:[{ required: true, message: "请填写成人价", trigger: "blur" }],
orderPrice:[{ required: true, message: "请填写费用合计", trigger: "blur" }],
payDate:[{ required: true, message: "请选择支付日期", trigger: "change" }],
payType:[{ validator: validatepayType , trigger: "change",required: true, }],
servicePrice:[{required: true, message: "请输入导游服务费", trigger: "blur" }],
insuranceProduct:[{ required: true, message: "请填写保险名称", trigger:'blur'}],
minNumber:[{ required: true, message: "请填写最低成团人数", trigger: "change" }],
settleDisputeMode:[{ required: true, validator: validatesettleDisputeMode, trigger: "change" }],
},
//自愿购物活动补充协议
VoluntaryArr:[],
//自愿付费项目补充协议
WillingPayArr:[],
//菜单列表
menuArr:['合同基本信息','合同协议条款','其他约定事项','投诉联系','行程信息','游客信息','自愿购物活动补充协议','自愿付费项目补充协议'],
ckedIndex:0,
};
},
methods: {
//跳转锚点
goAnchor(selector) {
var anchor = this.$el.querySelector(selector)
document.documentElement.scrollTop = anchor.offsetTop-70
},
getDate(date){
return moment(date).format("YYYY-MM-DD");
},
//提交数据
SaveMsg(){
this.CtObj.status = 1;
this.CtObj.contractStatus=2;
let VolArr = [];
let WalArr = [];
if(this.VoluntaryArr.length>0){
this.VoluntaryArr.forEach(x=>{
if(x.IsShow==0){
VolArr.push(x);
}
})
if(VolArr.length>0){
this.CtObj.shopProtocol = JSON.stringify(VolArr);
}else{
this.CtObj.shopProtocol=''
}
}
if(this.WillingPayArr.length>0){
this.WillingPayArr.forEach(x=>{
if(x.IsShow==0){
WalArr.push(x);
}
})
if(WalArr.length>0){
this.CtObj.payProtocol = JSON.stringify(WalArr);
}else{
this.CtObj.payProtocol=''
}
}
this.CtObj.travelContent= this.$refs.TcTravel_Table.innerHTML;
this.apiJavaPost("/api/contract/dosaveOrUpdate",this.CtObj,res => {
if (res.data.resultCode === 1) {
this.Success(res.data.message);
this.dialogVisible=false;
this.getList();
} else {
this.Error(res.data.message);
}
},null);
},
//跳转至预览
goUrl(){
this.$router.push({
name: 'TravelContractDetail',
query: {
TCID: this.$route.query.TCID,
guestId:this.CtObj.guestId,
orderID: this.$route.query.orderID,
blank: "y",
}
});
},
//提交
submitForm(addMsg) {
//提交创建、修改表单
this.$refs[addMsg].validate(valid => {
if (valid) {
this.SaveMsg();
} else {
this.Error('请完成必填项');
return false;
}
});
},
//添加补充协议
addRecord(){
let obj={
specificTime:'',
Address:'',
shoppName:'',
CommodityInformation:'',
stayTime:'',
other:'',
travelSign:'',
IsShow:1
}
this.VoluntaryArr.push(obj);
},
//删除补充协议1
delVoluntray(index){
this.VoluntaryArr.splice(index, 1);
},
//添加自愿付费协议
addWilling(){
let obj={
specificTime:'',
Address:'',
programName:'',
money:'',
programTime:'',
other:'',
travelSign:'',
IsShow:1
}
this.WillingPayArr.push(obj);
},
//删除自愿付费协议
delWilling(index){
this.WillingPayArr.splice(index, 1);
},
//滚动条滚动选中tab
menu() {
var _self = this;
_self.scroll = (document.documentElement.scrollTop || document.body.scrollTop)+70;
//滑动到指定位置相应菜单高亮
var a_0 = this.$refs.anchor0.offsetTop;
var a_1 = this.$refs.anchor1.offsetTop;
var a_2 = this.$refs.anchor2.offsetTop;
var a_3 = this.$refs.anchor3.offsetTop;
var a_4 = this.$refs.anchor4.offsetTop;
var a_5 = this.$refs.anchor5.offsetTop;
var a_6 = this.$refs.anchor6.offsetTop;
var a_7 = this.$refs.anchor7.offsetTop;
if (_self.scroll < a_0) {
this.ckedIndex = 0
} else if (_self.scroll>a_0 && _self.scroll < a_1) {
this.ckedIndex = 1
} else if (_self.scroll > a_2 && _self.scroll<a_3) {
this.ckedIndex = 2
}else if (_self.scroll > a_3 && _self.scroll<a_4) {
this.ckedIndex = 3
}else if (_self.scroll > a_4 && _self.scroll<a_5) {
this.ckedIndex = 4
}else if (_self.scroll > a_5 && _self.scroll<a_6) {
this.ckedIndex = 5
}else if (_self.scroll > a_6 && _self.scroll<a_7) {
this.ckedIndex = 6
}else if (_self.scroll > a_7) {
this.ckedIndex = 7
}
},
},
mounted() {
this.$nextTick(function () {
//滚动监听事件
window.addEventListener('scroll', this.menu)
});
}
};
</script>
<style>
*{
margin:0;
padding:0;
}
.TC-MainContent{
min-height: 650px;
background: url(../assets/img/bodyBg.png);
padding-top: 10px;
font: normal 13px 'Microsoft Yahei';
color:#555;
height:auto!important;
}
.TC-MainContent .fixedMenu {
position: fixed;
left: 20px;
top: 75px;
margin: 0;
padding-top: 10px;
}
.TC-MainContent .fixedMenu li {
padding: 5px 15px;
position: relative;
border-right: 2px solid #e2e2e2;
cursor: pointer;
list-style: none;
font-size:13px;
}
.TC-MainContent .fixedMenu li:after {
content: '';
display: block;
width: 0;
height: 0;
border: 5px solid transparent;
border-left-color: #e2e2e2;
position: absolute;
right: -12px;
top: 11px;
}
.TC-MainContent .contractTit {
position: fixed;
left: 0;
top:0;
width: 100%;
z-index: 1000;
padding: 15px 20px 12px;
line-height: 30px;
box-sizing: border-box;
background: url(../assets/img/bodyBg.png);
font-size: 18px;
color: #555;
}
.TC-MainContent .contractTit span{
font-size: 21px;
font-weight: bold;
}
.TC-MainContent .block {
border: 1px solid #cdcdcd;
background: #f9f9f9;
position: relative;
margin-bottom: 20px;
}
.TC-MainContent .container-fluid {
padding-right: 20px;
padding-left: 20px;
*zoom: 1;
}
.TC-MainContent .mtop15{
margin-top:15px;
}
.TC-MainContent .blockTitle {
border-bottom: 1px solid #cdcdcd;
background-color: #efefef;
}
.TC-MainContent .blockTitle span.icon {
border-right: 1px solid #CDCDCD;
position: absolute;
left: 10px;
height: 40px;
padding-right: 10px;
padding-top: 8px;
}
.TC-MainContent .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;
}
.TC-MainContent .blockTitle h2 {
font-size: 15px;
min-height: 40px;
margin: 0;
font-family: 'Microsoft Yahei';
color: #5b5b5b;
padding-right: 15px;
padding-left: 48px;
}
.TC-MainContent .block em {
font-style: normal;
}
.TC-MainContent .createTableTitle {
padding: 10px 0;
margin: 5px 30px 0;
border-bottom: 1px dashed #ccc;
font: normal 15px 'microsoft yahei';
}
.TC-MainContent .createTable{
background-color: #f9f9f9;
width:100%;
}
.TC-MainContent .el-form-item{
margin-bottom:10px;
}
.TC-MainContent .w300{
width:300px!important;
}
.TC-MainContent .w150{
width:150px!important;
}
.TC-MainContent .w60{
width:60px!important;
}
.TC-MainContent .w180{
width:180px!important;
}
.TC-MainContent .w138{
width:138px!important;
}
.TC-MainContent .w600{
width:600px!important;
}
.TC-MainContent .singeRowTable{width: 100%;border-collapse:collapse;}
.TC-MainContent .singeRowTable tr th,.v-table-title-cell{background: #E6E6E6;height:40px; font-size: 14px; color: #333;}
.TC-MainContent .singeRowTable tr{background: #fff;text-align: center; height: 40px;}
.TC-MainContent .singeRowTable tr:nth-child(2n+1){background:#fafafa; }
.TC-MainContent .singeRowTable tr:hover{background: #f2f2f2;}
.TC-MainContent .singeRowTable tr td{font-size: 12px;border: 1px solid #E5E5E5;}
.TC-MainContent .TC_NewAddBtn{
background-color: #006dcc;
width:83px;
height:26px;
color:#fff;
border:none;
margin-right: 5px;
cursor: pointer;
}
.TC-MainContent .singeRowTable .el-button.is-circle{
padding:5px;
}
.TC-MainContent .TcNewTable td{
padding:5px;
}
.TC-MainContent .fixedMenu li.active {
background: #90b7ec;
color: #fff;
border-right-color: #5882bb;
}
.TC-MainContent .fixedMenu li.active:after {
border-left-color: #5882bb;
}
.TC-MainContent .pull-right{
float:right;
}
.TC-MainContent .TC_disabled{
color:#57a3f3;
cursor: not-allowed!important;
}
.TC-MainContent .TCbtn-info {
color: #ffffff;
text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
background-color: #49afcd;
background-image: -moz-linear-gradient(top, #5bc0de, #2f96b4);
background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#5bc0de), to(#2f96b4));
background-image: -webkit-linear-gradient(top, #5bc0de, #2f96b4);
background-image: -o-linear-gradient(top, #5bc0de, #2f96b4);
background-image: linear-gradient(to bottom, #5bc0de, #2f96b4);
background-repeat: repeat-x;
border-color: #2f96b4 #2f96b4 #1f6377;
border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5bc0de', endColorstr='#ff2f96b4', GradientType=0);
filter: progid:DXImageTransform.Microsoft.gradient(enabled=false);
padding:10px 19px;
border:none;
outline: none;
cursor: pointer;
}
.TC-MainContent .btn-warning{
color: #ffffff;
text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
background-color: #faa732;
*background-color: #f89406;
background-image: -moz-linear-gradient(top, #fbb450, #f89406);
background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#fbb450), to(#f89406));
background-image: -webkit-linear-gradient(top, #fbb450, #f89406);
background-image: -o-linear-gradient(top, #fbb450, #f89406);
background-image: linear-gradient(to bottom, #fbb450, #f89406);
background-repeat: repeat-x;
border-color: #f89406 #f89406 #ad6704;
border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fffbb450', endColorstr='#fff89406', GradientType=0);
filter: progid:DXImageTransform.Microsoft.gradient(enabled=false);
padding:10px 19px;
outline: none;
border:none;
cursor: pointer;
}
.TCbtn-info:hover,.btn-warning:hover{
color: #ffffff;
opacity: 0.8;
}
.TcTravel_Table{
width: 100%;
border: none;
border-collapse: collapse;
border-spacing: 0;
}
.TcTravel_Table td{
border: 1px solid rgb(0, 0, 0);
word-break: break-all;
padding:5px;
line-height: 2;
}
.TC_LASTTD div{
margin-bottom:10px;
}
.feeJisuan .el-form-item__label{
margin-top:5px;
}
.onedayRed{
color:red;
}
.onedayAccount .el-form-item__label{
margin-top:5px;
}
</style>
<template>
<div class="TC-MainContent">
<!-- 内容开始 -->
<ul class="fixedMenu" id="fixedMenu">
<li v-for="(item,index) in menuArr" :class="{'active':index==ckedIndex}" @click="ckedIndex=index,goAnchor('#anchor-'+index)">{{item}}</li>
</ul>
<div class="contractTit">
<span>
全国版国内旅游一日游合同示范文本
<span style="color:blue;font-size:14px;"></span>
</span>
<div class="pull-right">
<input type="button" v-if="CtObj.auditContract!=2" class="btn-warning" @click="submitForm('CtObj')" value="保存"/>
</div>
</div>
<el-form label-width="180px" :model="CtObj" :rules="rules" ref="CtObj">
<div class="container-fluid" style="padding-top: 60px; padding-left: 220px;">
<div class="block mtop15" id="anchor-0" ref="anchor0">
<div class="blockTitle">
<span class="icon">
<i class="iconfont icon-dingdanguanli-"></i>
</span>
<h2>
<em>合同基本信息</em>
</h2>
</div>
<div class="createTableTitle">甲方(旅游者)</div>
<table class="createTable">
<tbody>
<tr>
<td>
<el-form-item label="姓名" prop="Tourists_Name">
<el-input type="text" v-model="CtObj.Tourists_Name" maxlength="100" class="w300"></el-input>
</el-form-item>
</td>
</tr>
<tr>
<td>
<el-form-item label="联系电话" prop="Tourists_Tel">
<el-input type="text" v-model="CtObj.Tourists_Tel" maxlength="100" class="w300"></el-input>
</el-form-item>
</td>
</tr>
<tr>
<td>
<el-form-item label="身份证件号码">
<el-input type="text" v-model="CtObj.Tourists_IDNum" maxlength="100" class="w300"></el-input>
</el-form-item>
</td>
</tr>
<tr>
<td>
<el-form-item label="邮箱">
<el-input type="text" v-model="CtObj.Tourists_Email" maxlength="100" class="w300"></el-input>
</el-form-item>
</td>
</tr>
<tr>
<td>
<el-form-item label="传真">
<el-input type="text" v-model="CtObj.Tourists_Fax" maxlength="100" class="w300"></el-input>
</el-form-item>
</td>
</tr>
<tr>
<td>
<el-form-item label="住所">
<el-input type="text" v-model="CtObj.Tourists_Addres" class="w300"></el-input>
</el-form-item>
</td>
</tr>
</tbody>
</table>
<div class="createTableTitle">乙方(旅行社)</div>
<table class="createTable">
<tbody>
<tr>
<td>
<el-form-item label="名称">
<el-input type="text" v-model="CtObj.TravelAgency_Name" :disabled="true" class="w300"></el-input>
</el-form-item>
</td>
</tr>
<tr>
<td>
<el-form-item label="经营许可证编号">
<el-input type="text" class="w300" :disabled="true" v-model="CtObj.TravelAgency_LicenseNum"></el-input>
</el-form-item>
</td>
</tr>
<tr>
<td>
<!-- 无 -->
<el-form-item label="经营范围">
<el-input type="text" class="w300" :disabled="true"></el-input>
</el-form-item>
</td>
</tr>
<tr>
<td>
<el-form-item label="联系电话">
<el-input type="text" class="w300" v-model="CtObj.TravelAgency_Tel"></el-input>
</el-form-item>
</td>
</tr>
<tr>
<td>
<el-form-item label="传真">
<el-input type="text" class="w300" v-model="CtObj.TravelAgency_Fax"></el-input>
</el-form-item>
</td>
</tr>
<tr>
<td>
<el-form-item label="邮编">
<el-input type="text" class="w300" v-model="CtObj.TravelAgency_PostNum"></el-input>
</el-form-item>
</td>
</tr>
<tr>
<td>
<el-form-item label="经办人" prop="TravelAgency_DealMan">
<el-input type="text" class="w300" v-model="CtObj.TravelAgency_DealMan"></el-input>
</el-form-item>
</td>
</tr>
<tr>
<td>
<el-form-item label="身份证件号码">
<el-input type="text" class="w300" v-model="CtObj.TravelAgency_IDNum"></el-input>
</el-form-item>
</td>
</tr>
<tr>
<td>
<el-form-item label="营业地址">
<el-input type="text" class="w300" v-model="CtObj.TravelAgency_Address"></el-input>
</el-form-item>
</td>
</tr>
<tr>
<td>
<el-form-item label="签约地点">
<el-input type="text" class="w300" v-model="CtObj.TravelAgency_SignAddress"></el-input>
</el-form-item>
</td>
</tr>
</tbody>
</table>
<div class="createTableTitle">导游员</div>
<table class="createTable">
<tbody>
<tr>
<td>
<el-form-item label="姓名">
<el-input type="text" class="w300" v-model="CtObj.Guide_Name"></el-input>
</el-form-item>
</td>
</tr>
<tr>
<td>
<el-form-item label="导游证号">
<el-input type="text" class="w300" v-model="CtObj.Guide_Num"></el-input>
</el-form-item>
</td>
</tr>
<tr>
<td>
<el-form-item label="手机">
<el-input type="text" class="w300" v-model="CtObj.Guide_Tel"></el-input>
</el-form-item>
</td>
</tr>
</tbody>
</table>
</div>
<div class="block mtop15" id="anchor-1" ref="anchor1">
<div class="blockTitle">
<span class="icon">
<i class="iconfont icon-renwuguanli"></i>
</span>
<h2>
<em>合同协议条款</em>
</h2>
</div>
<div class="createTableTitle">线路行程时间</div>
<table class="createTable">
<tbody>
<tr>
<td>
<el-form-item label="团号">
<el-input type="text" class="w300" v-model="CtObj.C_TCNUM"></el-input>
</el-form-item>
</td>
</tr>
<tr>
<td>
<el-form-item label="出发时间" prop="C_StartDate">
<el-date-picker class="w300" v-model="CtObj.C_StartDate" type="date" value-format="yyyy-MM-dd" placeholder></el-date-picker>
</el-form-item>
</td>
</tr>
<tr>
<td>
<el-form-item label="出发地点" prop="C_StartAddress">
<el-input type="text" class="w300" v-model="CtObj.C_StartAddress"></el-input>
</el-form-item>
</td>
</tr>
<tr>
<td>
<el-form-item label="返回地点" prop="C_ReturnAddress">
<el-input type="text" class="w300" v-model="CtObj.C_ReturnAddress"></el-input>
</el-form-item>
</td>
</tr>
</tbody>
</table>
<div class="createTableTitle">交通安排</div>
<table class="createTable">
<tbody>
<tr>
<td>
<div style="margin:20px 0 20px 108px;">使用形式:</div>
</td>
</tr>
<tr>
<td>
<div style="margin:0 0 20px 108px;"><span class="onedayRed">*</span>
(二选一)
<el-radio-group v-model="CtObj.C_TrafficType">
<el-radio :label="1">合车游</el-radio>
<el-radio :label="2">包车游</el-radio>
</el-radio-group>
</div>
</td>
</tr>
<tr>
<td>
<el-form-item label="车牌号码">
<el-input type="text" class="w300" v-model="CtObj.C_BusCode"></el-input>
</el-form-item>
</td>
</tr>
<tr>
<td>
<el-form-item label="驾驶员姓名">
<el-input type="text" class="w300" v-model="CtObj.C_DriverName"></el-input>
</el-form-item>
</td>
</tr>
<tr>
<td>
<div style="margin:10px 0 20px 108px;">标 准:</div>
</td>
</tr>
<tr>
<td>
<div style="margin-left:108px;display:inline-block;"><span class="onedayRed">*</span>
(二选一)
<el-radio-group v-model="CtObj.C_IsHaveKongTiao">
<el-radio :label="0">空调</el-radio>
<el-radio :label="1">无空调</el-radio>
</el-radio-group>
</div>
<div style="margin:0 0 20px 20px;display:inline-block;"><span class="onedayRed">*</span>
(三选一)
<el-radio-group v-model="CtObj.C_BusType">
<el-radio :label="1">面包车</el-radio>
<el-radio :label="2">中巴</el-radio>
<el-radio :label="3">大巴</el-radio>
</el-radio-group>
</div>
</td>
</tr>
</tbody>
</table>
<div class="createTableTitle">餐饮安排</div>
<table class="createTable">
<tbody>
<tr>
<td>
<div style="margin:20px 0 20px 108px;">早餐:</div>
</td>
</tr>
<tr>
<td>
<el-form-item label="地点">
<el-input type="text" class="w300" v-model="CtObj.C_BreakfastAddress"></el-input>
</el-form-item>
</td>
</tr>
<tr>
<td>
<el-form-item label="标准">
<el-input type="text" class="w300" v-model="CtObj.C_BreakfastBasic"></el-input>
</el-form-item>
</td>
</tr>
<tr>
<td>
<div style="margin:20px 0 20px 108px;">午餐:</div>
</td>
</tr>
<tr>
<td>
<el-form-item label="地点">
<el-input type="text" class="w300" v-model="CtObj.C_LunchAddress"></el-input>
</el-form-item>
</td>
</tr>
<tr>
<td>
<el-form-item label="标准">
<el-input type="text" class="w300" v-model="CtObj.C_LunchBasic"></el-input>
</el-form-item>
</td>
</tr>
<tr>
<td>
<div style="margin:20px 0 20px 108px;">晚餐:</div>
</td>
</tr>
<tr>
<td>
<el-form-item label="地点">
<el-input type="text" class="w300" v-model="CtObj.C_DinnerAddress"></el-input>
</el-form-item>
</td>
</tr>
<tr>
<td>
<el-form-item label="标准">
<el-input type="text" class="w300" v-model="CtObj.C_DinnerBasic"></el-input>
</el-form-item>
</td>
</tr>
</tbody>
</table>
<div class="createTableTitle">旅游费用</div>
<table class="createTable">
<tbody>
<tr>
<td>
<el-form-item label="成人" style="display:inline-block;">
<el-input type="text" class="w150" v-model="CtObj.C_AdultNum"></el-input>&nbsp;人×&nbsp;
</el-form-item>
<el-form-item label-width='0' style="display:inline-block;">
<el-input type="text" class="w150" v-model="CtObj.C_AdultPrice"></el-input>&nbsp;元/人&nbsp;+&nbsp;儿童
</el-form-item>
<el-form-item label-width='0' style="display:inline-block;">
<el-input type="text" class="w150" v-model="CtObj.C_ChildrenNum"></el-input>&nbsp;人×&nbsp;&nbsp;
</el-form-item>
<el-form-item label-width='0' style="display:inline-block;">
<el-input type="text" class="w150" v-model="CtObj.C_ChildrenPrice"></el-input>&nbsp;元/人 =
</el-form-item>
<el-form-item label-width='0' style="display:inline-block;">
<el-input type="text" class="w150" v-model="CtObj.C_TotalPrice"></el-input>&nbsp;
</el-form-item>
</td>
</tr>
<tr>
<td>
<el-form-item label="含:景点第一道门票、" style="display:inline-block;">
<el-input type="text" class="w150"></el-input>
</el-form-item>
<el-form-item label="午(晚)餐费、往返车费、导游服务费" label-width="250px" style="display:inline-block;">
<el-input type="text" class="w150"></el-input>
</el-form-item>
<el-form-item label=";不含" style="display:inline-block;" label-width="60px">
<el-input type="text" class="w150" v-model="CtObj.C_NonIncludeRemark"></el-input>
</el-form-item>
</td>
</tr>
<tr>
<td>
<el-form-item label="支付时间">
<el-date-picker class="w150" type="date" v-model="CtObj.C_PayDate" value-format="yyyy-MM-dd" placeholder></el-date-picker>
</el-form-item>
</td>
</tr>
<tr>
<td>
<div style="margin:0 10px 0 108px;display:inline-block;"><span class="onedayRed">*</span>
支付方式
<el-radio-group v-model="CtObj.C_PayType">
<el-radio :label="3">现金</el-radio>
<el-radio :label="6">转账</el-radio>
</el-radio-group>
</div>
<div style="margin:10px 0 0 10px;display:inline-block;" class="onedayAccount">
<el-form-item label="银行账号" label-width="80px">
<el-input type="text" class="w150"></el-input>
</el-form-item>
</div>
</td>
</tr>
</tbody>
</table>
<div class="createTableTitle">争议的解决方式</div>
<table class="createTable feeJisuan">
<tbody>
<tr>
<td>
<div style="margin-left:114px;">
<el-form-item label='1.协商。旅行社客服电话'>
<el-input type="text" class="w180" v-model="CtObj.TravelAgency_ServiceTel"></el-input>
</el-form-item>
</div>
</td>
</tr>
<tr>
<td>
<el-form-item label='2.投诉' style="display:inline-block;">
<el-input type="text" class="w180" v-model="CtObj.C_ComplaintProvince"></el-input>&nbsp;&nbsp;
</el-form-item>
<el-form-item label-width="0" style="display:inline-block;">
<el-input type="text" class="w180" v-model="CtObj.C_ComplaintCity"></el-input>
</el-form-item>
<el-form-item label="市旅游质监执法机构投诉电话" label-width="200px" style="display:inline-block;">
<el-input type="text" class="w180" v-model="CtObj.C_ZhiFaTel"></el-input>
</el-form-item>
<el-form-item label=",消费者协会投诉电话" style="display:inline-block;">
<el-input type="text" class="w180" v-model="CtObj.C_XFZXHTSTel"></el-input>
</el-form-item>
</td>
</tr>
<tr>
<td>
<div style="margin:0 0 20px 130px;"><span class="onedayRed">*</span>
协商或投诉调解不成的,按下列第
<el-select class="w60" placeholder="" v-model="CtObj.C_SolveType">
<el-option label="1" :value="1"></el-option>
<el-option label="2" :value="2"></el-option>
</el-select> 种方式解决:
</div>
</td>
</tr>
<tr>
<td>
<div style="margin:0 0 20px 130px;">
2.依法向人民法院提起民事诉讼。
</div>
</td>
</tr>
</tbody>
</table>
</div>
<div class="block mtop15" id="anchor-2" ref="anchor2">
<div class="blockTitle">
<span class="icon">
<i class="iconfont icon-copy"></i>
</span>
<h2>
<em>其他约定</em>
</h2>
</div>
<div style="padding:10px;">未尽事宜,经旅游者和出境社双方协商一致,可以列入补充条款。(如合同空间不够,可以另附纸张,由双方签字或者盖章确认。)</div>
<el-input type="textarea" resize="none" v-model="CtObj.OtherConvention" rows="13"></el-input>
</div>
<div class="block mtop15" id="anchor-3" ref="anchor3">
<div class="blockTitle">
<span class="icon">
<i class="iconfont icon-Shape1"></i>
</span>
<h2>
<em>行程信息</em>
</h2>
</div>
<div style="padding:10px;background:#f9f9f9;color:red;">
《行程单》应当对如下内容作出明确的说明:
(1)旅游行程的出发地、途经地、目的地、结束地,线路行程时间(按自然日计算,含乘飞机、车、船等在途时间,不足24小时以一日计);
(2)旅游目的地地接社的名称、地址、联系人和联系电话;
(3)交通服务安排及其标准(明确交通工具及档次等级、出发时间以及是否需中转等信息);
(4)住宿服务安排及其标准(明确住宿饭店的名称、地址、档次等级及是否有空调、热水等相关服务设施);
(5)用餐(早餐和正餐)服务安排及其标准(明确用餐次数、地点、标准);
(6)出境社统一安排的游览项目的具体内容及时间(明确旅游线路内容包括景区点及游览项目名称、景区点停留的最少时间);
(7)自由活动的时间;
(8)行程安排的娱乐活动(明确娱乐活动的时间、地点和项目内容);
《行程单》用语须准确清晰,在表明服务标准用语中不应当出现“准×星级”、“豪华”、“仅供参考”、“以××为准”、“与××同级”等不确定用语。
</div>
<div>
123
</div>
<!-- <el-input type="textarea" rows="26" resize="none" v-model="CtObj.travelContent"></el-input> -->
</div>
<div class="block mtop15" id="anchor-4" ref="anchor4">
<div class="blockTitle">
<span class="icon">
<i class="iconfont icon-people"></i>
</span>
<h2>
<em>游客信息</em>
</h2>
</div>
<table class="singeRowTable TcNewTable" border="0" cellspacing="0" cellpadding="0">
<tr>
<th width="80">序号</th>
<th><span class="onedayRed">*</span> 姓名</th>
<th><span class="onedayRed">*</span> 性别</th>
<th><span class="onedayRed">*</span> 证件类型</th>
<th><span class="onedayRed">*</span> 证件号码</th>
<th><span class="onedayRed">*</span> 联系电话(手机)</th>
<th>身体状况</th>
<th>操作</th>
</tr>
<tr v-for="(item,index) in touristList">
<td>{{index+1}}</td>
<td>
<span v-if="item.IsShow==0">{{item.CGuestName}}</span>
<el-input type="text" class="w150" v-model="item.CGuestName" v-else></el-input>
</td>
<td>
<span v-if="item.IsShow==0">{{item.CGuestSex}}</span>
<el-select v-model="item.CGuestSex" v-else>
<el-option label="男" value="男"></el-option>
<el-option label="女" value="女"></el-option>
</el-select>
</td>
<td>
<span v-if="item.IsShow==0">{{item.CGuestCertificateType}}</span>
<el-select v-model="item.CGuestCertificateType" v-else>
<el-option label="护照" value="护照"></el-option>
<el-option label="港澳通行证" value="港澳通行证"></el-option>
<el-option label="赴台证" value="赴台证"></el-option>
<el-option label="身份证" value="身份证"></el-option>
<el-option label="其他" value="其他"></el-option>
</el-select>
</td>
<td>
<span v-if="item.IsShow==0">{{item.CGuestCertificateNum}}</span>
<el-input type="text" v-model="item.CGuestCertificateNum" v-else></el-input>
</td>
<td>
<span v-if="item.IsShow==0">{{item.CGuestTel}}</span>
<el-input type="text" v-model="item.CGuestTel" v-else></el-input>
</td>
<td>
<span v-if="item.IsShow==0">{{item.CGuestHealth}}</span>
<el-input type="text" placeholder="健康" v-model="item.CGuestHealth" v-else></el-input>
</td>
<td>
<el-tooltip class="item" effect="dark" content="修改" v-if="item.IsShow==0" placement="top-start">
<el-button type="primary" icon="el-icon-edit" circle @click="item.IsShow=1"></el-button>
</el-tooltip>
<el-tooltip class="item" effect="dark" content="保存" v-if="item.IsShow==1" placement="top-start">
<el-button type="primary" icon="iconfont icon-baocun" @click="item.IsShow=0" circle></el-button>
</el-tooltip>
<el-tooltip class="item" effect="dark" content="删除" placement="top-start">
<el-button type="danger" icon="el-icon-delete" circle @click="delTouristArr(index)" ></el-button>
</el-tooltip>
</td>
</tr>
<tr>
<td colspan="9" style="text-align:right;">
<input type="button" class="TC_NewAddBtn" @click="addTourist()" value="+添加游客" />
</td>
</tr>
</tr>
</table>
</div>
<div class="block mtop15" id="anchor-5" ref="anchor5">
<div class="blockTitle">
<span class="icon">
<i class="iconfont icon-bianji"></i>
</span>
<h2>
<em>自愿购物活动补充协议</em>
</h2>
</div>
<table class="singeRowTable TcNewTable" border="0" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<th width="60">序号</th>
<th width="10%">具体时间</th>
<th width="15%">地点</th>
<th width="12%">购物场所名称</th>
<th width="12%">主要商品信息</th>
<th width="12%">最长停留时间(分钟)</th>
<th width="12%">其他说明</th>
<th width="12%">旅游者签名同意</th>
<th width="100">操作</th>
</tr>
<tr v-for="(item,index) in VoluntaryArr">
<td>
{{index+1}}
</td>
<td>
<span v-if="item.IsShow==0">{{item.specificTime}}</span>
<el-date-picker v-else v-model="item.specificTime" class="w150" type="date" value-format="yyyy-MM-dd" placeholder=''></el-date-picker>
</td>
<td>
<span v-if="item.IsShow==0">{{item.Address}}</span>
<el-input type="text" v-model="item.Address" v-else></el-input>
</td>
<td style="text-align:left;">
<span v-if="item.IsShow==0">{{item.shoppName}}</span>
<el-input type="text" v-model="item.shoppName" v-else></el-input>
</td>
<td style="text-align:left;">
<span v-if="item.IsShow==0">{{item.CommodityInformation}}</span>
<el-input type="text" v-model="item.CommodityInformation" v-else></el-input>
</td>
<td>
<span v-if="item.IsShow==0">{{item.stayTime}}</span>
<el-input type="text" v-model="item.stayTime" v-else></el-input>
</td>
<td style="text-align:left;">
<span v-if="item.IsShow==0">{{item.other}}</span>
<el-input type="text" v-model="item.other" v-else></el-input>
</td>
<td>
<span v-if="item.IsShow==0">{{item.travelSign}}</span>
<el-input type="text" v-model="item.travelSign" v-else></el-input>
</td>
<td>
<el-tooltip class="item" effect="dark" content="修改" placement="top-start" v-if="item.IsShow==0">
<el-button type="primary" icon="el-icon-edit" circle @click="item.IsShow=1"></el-button>
</el-tooltip>
<el-tooltip class="item" effect="dark" content="保存" placement="top-start" v-if="item.IsShow==1">
<el-button type="primary" icon="iconfont icon-baocun" circle @click="item.IsShow=0"></el-button>
</el-tooltip>
<el-tooltip class="item" effect="dark" content="删除" placement="top-start" v-if="item.IsShow==0">
<el-button type="danger" icon="el-icon-delete" @click="delVoluntray(index)" circle ></el-button>
</el-tooltip>
</td>
</tr>
<tr>
<td colspan="9" style="text-align:right;">
<input type="button" class="TC_NewAddBtn" @click="addRecord()" value="+添加记录" />
</td>
</tr>
</tbody>
</table>
</div>
</div>
</el-form>
</div>
</template>
<script>
import moment from 'moment'
export default {
data() {
let valiTotalNumber = (rule, value, callback) => {
if (this.CtObj.totalNumber == 0||this.CtObj.totalNumber =='') {
return callback(new Error('请选择'));
} else {
callback();
}
}
let validateEach = (rule, value, callback) => {
if (this.CtObj.eachNumber == 0||this.CtObj.eachNumber =='') {
return callback(new Error('请选择'));
} else {
callback();
}
}
let validatepayType = (rule, value, callback) => {
if (this.CtObj.payType == 0||this.CtObj.payType =='') {
return callback(new Error('请选择'));
} else {
callback();
}
}
let validatesettleDisputeMode = (rule, value, callback) => {
if (this.CtObj.settleDisputeMode == 0 ||this.CtObj.settleDisputeMode=='') {
return callback(new Error('请选择'));
} else {
callback();
}
}
return {
//选中切换
cked:1,
//参数
CtObj:{
Tourists_Name:'',
Tourists_IDNum:'',
Tourists_Addres:'',
Tourists_Tel:'',
Tourists_Email:'',
Tourists_PostNum:'',
Tourists_Fax:'',
Tourists_EmergencyLinkMan:'',
Tourists_EmergencyLinkTel:'',
TravelAgency_Name:'', //旅行社名称
TravelAgency_LicenseNum:'',
TravelAgency_DealMan:'',
TravelAgency_IDNum:'',
TravelAgency_Address:'',
TravelAgency_Tel:'',
TravelAgency_Fax:'',
TravelAgency_PostNum:'',
TravelAgency_Email:'',
TravelAgency_SignAddress:'',
Guide_Name:'',
Guide_Num:'',
Guide_Tel:'',
C_TCNUM:'', //团号
C_ProductName:'',
C_StartDate:'', //出发时间
C_EndDate:'',
C_DayNum:'',
C_NightNum:'',
C_AdultNum:'',
C_AdultPrice:'', //成人价格
C_ChildrenNum:'',
C_ChildrenPrice:'',
C_GuideServicePrice:'',
C_TotalPrice:'',
C_PayDate:'',
C_PayType:1, // 旅游费用支付方式(1-现金,2-支票,3-信用卡,4-其他)
C_PayTypeRemark:'',
C_InsuranceType:1, // 旅游者保险购买方式(1-委托旅行社购买,2-自行购买,3-放弃购买)
C_InsuranceName:'',
C_LowNum:'',
C_IsAgreeTravel:1, // 是否同意旅行社委托(1-不同意,0同意)
C_AgreeTravelName:'', // 是否同意旅行社名称
C_IsAgreeDelay:1, /// 是否同意延期出团(1-不同意,0同意)
C_IsAgreeCndorse:1, /// 是否同意改签(1-不同意,0同意)
C_IsAgreeRemove:1, // 是否同意解除合同(1-不同意,0同意)
C_IsAgreeSpellGroup:1, // 是否同意拼团(1-不同意,0同意)
C_SpellGroupName:'', // 拼团旅行社名称
C_SolveType:'', // 争议解决方式
C_SolveRemark:'', // 争议解决方式备注
C_ContractTotal:'', // 合同总分数
C_ContractPer:1, // 各持几份
C_StartAddress:'', // 出发地点
C_ReturnAddress:'', //返回地点
C_TrafficType:1, // 交通方式(1-合车游,2-包车游)
C_BusCode:'', // 车牌号
C_DriverName:'', // 驾驶员姓名
C_IsHaveKongTiao:1, // 是否有空调(0-有空调,1-无空调)
C_BusType:1, // 车辆类型(1-面包车,2-中巴车,3-大巴车)
C_BreakfastAddress:'', // 早餐地点
C_BreakfastBasic:'', // 早餐标准
C_LunchAddress:'', // 午餐地点
C_LunchBasic:'', // 午餐标准
C_DinnerAddress:'', // 晚餐地点
C_DinnerBasic:'', // 晚餐标准
C_IncludeRemark:'', // 费用包含
C_NonIncludeRemark:'', // 费用不包含
TravelAgency_ServiceTel:'', // 旅行社客服电话
C_ComplaintProvince:'', // 投诉省
C_ComplaintCity:'', // 投诉市
C_ComplaintTel:'', // 投诉电话
C_ComplaintEmail:'', // 投诉电子邮箱
C_ComplaintAddress:'', // 投诉地址
C_ComplaintPostNum:'', // 投诉邮编
C_ZhiFaTel:'', // 执法机构电话
C_XFZXHTSTel:'', // 消费者协会投诉电话
C_TicketDayNum:'', // 几日内出票
C_OrderDayNum:'', // 几日内下单
C_PayDayNum:'', // 几日内缴费
C_SignType:'', // 获取签证资料及领取签证方式
OtherConventionPrice:'', // 其他服务费用合计
OtherConvention:'', // 其他约定事项
TripJson:'',
GuestJson:[], // 游客信息【json】
ShopJson:[], // 购物信息【json】
SelfFeeJson:[], // 自费信息【Json】
TicketJson:[], // 机票信息
TicketTotalNum:'', // 机票总数量
TicketOutDayNum:'', // 机票几日内出票
TicketTotalDepositPrice:'', // 机票预订总费用
HotelBookJson:'', // 酒店预订
HotelTotal:'', // 酒店多少间、晚
HotelCheckInType:'', // 酒店入住方式
HotelNotice:'', // 下订单后通知旅游者的方式
HotelTotalPrice:'', // 酒店费用总计
PickUpJson:'', // 接送信息
PickUpTotalPrice:'', // 接送总费用
VisaJson:'', // 签证信息
VisaTotalPrice:'', // 签证总费用
TicketAndHotelJson:'', // 机票与酒店信息
TicketAndHotelTotalPrice:'', // 机票加酒店组合总费用
},
//旅客名单
guestList:[],
tripList: [],
rules: {
Tourists_Name: [{ required: true, message: "请输入客户名称", trigger: "blur" }],
Tourists_Tel: [{ required: true, message: "请输入联系电话", trigger: "blur" }],
TravelAgency_DealMan: [{ required: true, message: "请输入经办人", trigger: "blur" }],
C_StartDate: [{ required: true, message: "请选择出发时间", trigger: "blur" }],
C_StartAddress:[{ required: true, message: "请输入出发地点", trigger: "change" }],
C_ReturnAddress:[{ required: true, message: "请输入返回地点", trigger: "change" }],
},
//自愿购物活动补充协议
VoluntaryArr:[],
//自愿付费项目补充协议
WillingPayArr:[],
//菜单列表
menuArr:['合同基本信息','合同协议条款','其他约定','投诉联系','行程信息','游客信息','自愿购物活动补充协议'],
ckedIndex:0,
//旅客信息Arr
touristList:[{
CGuestName:'',
CGuestSex:'男',
CGuestCertificateType:'身份证',
CGuestCertificateNum:'',
CGuestTel:'',
CGuestHealth:'健康',
IsShow:1
}],
};
},
methods: {
//跳转锚点
goAnchor(selector) {
var anchor = this.$el.querySelector(selector)
document.documentElement.scrollTop = anchor.offsetTop-70
},
getDate(date){
return moment(date).format("YYYY-MM-DD");
},
//提交数据
SaveMsg(){
this.CtObj.status = 1;
this.CtObj.contractStatus=2;
let VolArr = [];
let WalArr = [];
if(this.VoluntaryArr.length>0){
this.VoluntaryArr.forEach(x=>{
if(x.IsShow==0){
VolArr.push(x);
}
})
if(VolArr.length>0){
this.CtObj.shopProtocol = JSON.stringify(VolArr);
}else{
this.CtObj.shopProtocol=''
}
}
if(this.WillingPayArr.length>0){
this.WillingPayArr.forEach(x=>{
if(x.IsShow==0){
WalArr.push(x);
}
})
if(WalArr.length>0){
this.CtObj.payProtocol = JSON.stringify(WalArr);
}else{
this.CtObj.payProtocol=''
}
}
this.CtObj.travelContent= this.$refs.TcTravel_Table.innerHTML;
this.apiJavaPost("/api/contract/dosaveOrUpdate",this.CtObj,res => {
if (res.data.resultCode === 1) {
this.Success(res.data.message);
this.dialogVisible=false;
this.getList();
} else {
this.Error(res.data.message);
}
},null);
},
//跳转至预览
goUrl(){
this.$router.push({
name: 'TravelContractDetail',
query: {
TCID: this.$route.query.TCID,
guestId:this.CtObj.guestId,
orderID: this.$route.query.orderID,
blank: "y",
}
});
},
//提交
submitForm(addMsg) {
//提交创建、修改表单
this.$refs[addMsg].validate(valid => {
if (valid) {
this.SaveMsg();
} else {
this.Error('请完成必填项');
return false;
}
});
},
//添加补充协议
addRecord(){
let obj={
specificTime:'',
Address:'',
shoppName:'',
CommodityInformation:'',
stayTime:'',
other:'',
travelSign:'',
IsShow:1
}
this.VoluntaryArr.push(obj);
},
//删除补充协议1
delVoluntray(index){
this.VoluntaryArr.splice(index, 1);
},
//添加自愿付费协议
addWilling(){
let obj={
specificTime:'',
Address:'',
programName:'',
money:'',
programTime:'',
other:'',
travelSign:'',
IsShow:1
}
this.WillingPayArr.push(obj);
},
//删除自愿付费协议
delWilling(index){
this.WillingPayArr.splice(index, 1);
},
//添加游客信息
addTourist(){
this.touristList.forEach((x,index)=>{
x.IsShow=0;
})
let obj={
CGuestName:'',
CGuestSex:'男',
CGuestCertificateType:'身份证',
CGuestCertificateNum:'',
CGuestTel:'',
CGuestHealth:'健康',
IsShow:1
}
this.touristList.push(obj);
},
//删除游客
delTouristArr(index){
this.touristList.splice(index, 1);
},
//滚动条滚动选中tab
menu() {
var _self = this;
_self.scroll = (document.documentElement.scrollTop || document.body.scrollTop)+70;
//滑动到指定位置相应菜单高亮
var a_0 = this.$refs.anchor0.offsetTop;
var a_1 = this.$refs.anchor1.offsetTop;
var a_2 = this.$refs.anchor2.offsetTop;
var a_3 = this.$refs.anchor3.offsetTop;
var a_4 = this.$refs.anchor4.offsetTop;
var a_5 = this.$refs.anchor5.offsetTop;
if (_self.scroll < a_0) {
this.ckedIndex = 0
} else if (_self.scroll>a_0 && _self.scroll < a_1) {
this.ckedIndex = 1
} else if (_self.scroll > a_2 && _self.scroll<a_3) {
this.ckedIndex = 2
}else if (_self.scroll > a_3 && _self.scroll<a_4) {
this.ckedIndex = 3
}else if (_self.scroll > a_4 && _self.scroll<a_5) {
this.ckedIndex = 4
}else if (_self.scroll > a_5) {
this.ckedIndex = 5
}
},
},
mounted() {
this.$nextTick(function () {
//滚动监听事件
window.addEventListener('scroll', this.menu)
});
}
};
</script>
......@@ -4241,6 +4241,22 @@ export default {
title: '单项合同'
},
},
{
path: '/DomesticTravelcontract', //境内合同
name: 'DomesticTravelcontract',
component: resolve => require(['@/components/DomesticTravelcontract'], resolve),
meta: {
title: '单项合同'
},
},
{
path: '/onedayTripContract', //一日游合同
name: 'onedayTripContract',
component: resolve => require(['@/components/onedayTripContract'], resolve),
meta: {
title: '一日游合同'
},
},
{
path: '/TravelContractDetail', //新电子合同详情
name: 'TravelContractDetail',
......
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