Commit 0f442408 authored by 华国豪's avatar 华国豪 🙄
parents ae091b78 c85db5ae
<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>
......@@ -1183,6 +1183,11 @@
<el-input v-model='addMsg.OldPeopleNum' :disabled="addMsg.GroupType==='4'" @keyup.native="checkInteger(addMsg,'OldPeopleNum')" @input='getNumber();getHouseNo();getTotalPrice()'></el-input>
</el-form-item>
</el-col>
<el-col :span="4">
<el-form-item label="签证数量" prop="VisaNum">
<el-input v-model='addMsg.VisaNum' @keyup.native="checkInteger(addMsg,'VisaNum')" @input='getTotalPrice();'></el-input>
</el-form-item>
</el-col>
<!-- <el-col :span="4">
<el-form-item label="单地接数量" prop="AirticketNum">
<el-input v-model='addMsg.AirticketNum' @keyup.native="checkInteger(addMsg,'AirticketNum')" @input='getNumber();getTotalPrice();getHouseNo()'></el-input>
......
......@@ -647,6 +647,11 @@
<el-input v-model='addMsg.OldPeopleNum' @keyup.native="checkInteger(addMsg,'OldPeopleNum')" @input='getNumber();getHouseNo();getTotalPrice()'></el-input>
</el-form-item>
</el-col>
<el-col :span="4">
<el-form-item label="签证数量" prop="VisaNum">
<el-input v-model='addMsg.VisaNum' @keyup.native="checkInteger(addMsg,'VisaNum')" @input='getTotalPrice();'></el-input>
</el-form-item>
</el-col>
<!-- <el-col :span="4">
<el-form-item label="单地接数量" prop="AirticketNum">
<el-input v-model='addMsg.AirticketNum' @keyup.native="checkInteger(addMsg,'AirticketNum')" @input='getNumber();getTotalPrice();getHouseNo()'></el-input>
......@@ -669,11 +674,7 @@
<el-input v-model='addMsg.TripleRoomNum' @keyup.native="checkInteger(addMsg,'TripleRoomNum')" @input='yzBigBed1();getTotalPrice()'></el-input>
</el-form-item>
</el-col>
<el-col :span="4">
<el-form-item label="签证数量" prop="VisaNum">
<el-input v-model='addMsg.VisaNum' @keyup.native="checkInteger(addMsg,'VisaNum')" @input='getTotalPrice();yzVisaNum()'></el-input>
</el-form-item>
</el-col>
<el-col :span="4">
<el-form-item label="保险数量" prop="SaleNum">
<el-input v-model='addMsg.SafeNum' @keyup.native="checkInteger(addMsg,'SafeNum')" @input='getTotalPrice();yzSafeNum()'></el-input>
......
<style>
.busManagerTalbe {
font-size: 12px;
border-collapse: collapse;
background-color: #fff;
border: 1px solid #ccc;
.busManagerTalbe {
font-size: 12px;
border-collapse: collapse;
background-color: #fff;
border: 1px solid #ccc;
}
.busManagerTalbe tr {
text-align: center;
height: 40px;
}
.busManagerTalbe tr td {
padding: 0 5px;
background-color: #fff;
border: 1px solid #ccc;
}
.commonBackColor {
background-color: #e6e6e6 !important;
color: #333;
}
}
.busManagerTalbe tr {
text-align: center;
height: 40px;
}
.busManagerTalbe tr td{
padding:0 5px;
background-color: #fff;
border: 1px solid #ccc;
}
.commonBackColor {
background-color: #E6E6E6!important;
color: #333;
}
.comTextAlign {
text-align: left;
padding-left: 20px;
}
.comTextAlign {
text-align: left;
padding-left: 20px;
}
.addHandBook{
margin-right: 5px;
color: seagreen;
cursor: pointer;
visibility: hidden;
}
.addHandBookDIS{
visibility: visible!important;
}
.disClick {
background-color: #d1d1d1;
color: #fff;
border: 1px solid #d1d1d1;
}
.addHandBook {
margin-right: 5px;
color: seagreen;
cursor: pointer;
visibility: hidden;
}
.addHandBookDIS {
visibility: visible !important;
}
.disClick {
background-color: #d1d1d1;
color: #fff;
border: 1px solid #d1d1d1;
}
.disClick:hover {
background-color: #d1d1d1 !important;
cursor: default !important;
box-shadow: none !important;
}
.disClick:hover {
background-color: #d1d1d1 !important;
cursor: default !important;
box-shadow: none !important;
}
</style>
<template>
<div>
<table border="0" cellspacing="1" cellpadding="0" class="busManagerTalbe" style="width: 100%;" v-loading='loading'>
<table
border="0"
cellspacing="1"
cellpadding="0"
class="busManagerTalbe"
style="width: 100%;"
v-loading="loading"
>
<tr>
<td colspan="6">印象ジャパンバス手配依頼書</td>
</tr>
......@@ -92,10 +98,22 @@
<td class="commonBackColor" width="400">ホテル</td>
<td class="commonBackColor" width="300">ホテルTEL</td>
</tr>
<tr v-for="(subItem,index) in DataObj.Details_Extends">
<tr v-for="(subItem, index) in DataObj.Details_Extends">
<td>
<i class="iconfont icon-bumenguanli-tianjia addHandBook" :class="{'addHandBookDIS':index==0||index==DataObj.Details_Extends.length-1}" @click="addHand(index)"></i>
<el-date-picker v-model='subItem.UseDate' class='w135' value-format="yyyy-MM-dd" type="date"></el-date-picker>
<i
class="iconfont icon-bumenguanli-tianjia addHandBook"
:class="{
addHandBookDIS:
index == 0 || index == DataObj.Details_Extends.length - 1
}"
@click="addHand(index)"
></i>
<el-date-picker
v-model="subItem.UseDate"
class="w135"
value-format="yyyy-MM-dd"
type="date"
></el-date-picker>
</td>
<td>
<el-input type="text" v-model="subItem.BusType" />
......@@ -104,13 +122,28 @@
<el-input type="text" v-model="subItem.FlightNum" />
</td>
<td>
<el-input type="textarea" resize="none" style="padding:5px 0;" v-model="subItem.BusContent" />
<el-input
type="textarea"
resize="none"
style="padding:5px 0;"
v-model="subItem.BusContent"
/>
</td>
<td>
<el-input type="textarea" resize="none" style="padding:5px 0;" v-model="subItem.HotelName" />
<el-input
type="textarea"
resize="none"
style="padding:5px 0;"
v-model="subItem.HotelName"
/>
</td>
<td>
<el-input type="textarea" resize="none" style="padding:5px 0;" v-model="subItem.HotelTel" />
<el-input
type="textarea"
resize="none"
style="padding:5px 0;"
v-model="subItem.HotelTel"
/>
</td>
</tr>
<tr>
......@@ -120,17 +153,57 @@
</td>
</tr>
<tr>
<td colspan="6" class="comTextAlign">*迎えや送りは必要・不要となることは、必ず標記してください。</td>
<td colspan="6" class="comTextAlign">
*迎えや送りは必要・不要となることは、必ず標記してください。
</td>
</tr>
<tr>
<td colspan="6" class="comTextAlign">*直接バス會社へ送付するので、必ず日本語でご記入ください。</td>
<td colspan="6" class="comTextAlign">
*直接バス會社へ送付するので、必ず日本語でご記入ください。
</td>
</tr>
<tfoot>
<tr>
<td colspan="6">
<input type="button" class="normalBtn" :class="{'disClick':isSave}" @click="SaveData()" value="保存" />
<input type="button" class="normalBtn" :class="{'disClick':isSave}" @click="DownLoadFile()"
value="下载" />
<input
type="button"
class="normalBtn"
:class="{ disClick: isSave }"
@click="SaveData()"
value="保存"
/>&nbsp;
<input
type="button"
class="normalBtn"
:class="{ disClick: isSave }"
@click="DownLoadFile()"
value="下载"
/>
&nbsp;
<template v-if="BusObj.BusId > 0">
<template v-if="BusObj.OrderState == 0">
<span style="color:red;">未确认手配</span>
<input
type="button"
class="normalBtn"
@click="SureBus(1)"
value="确认手配"
/>
</template>
<template v-if="BusObj.OrderState == 1">
<span style="color:green;">已确认手配</span>
<input
type="button"
class="normalBtn"
@click="SureBus(0)"
value="暂定手配"
/>
</template>
</template>
</td>
</tr>
<tr>
<td colspan="6" style="height:25px;">
</td>
</tr>
</tfoot>
......@@ -139,60 +212,91 @@
</template>
<script>
export default {
data() {
return {
loading: false,
DataObj: {
Id: 0,
TCIDS: "",
TeamNum: "",
GuideName: "",
GuideTel: "",
PeopleNum: "",
BusType: "",
DayNight: "",
Remarks: "",
Details_Extends: []
export default {
data() {
return {
loading: false,
DataObj: {
Id: 0,
TCIDS: "",
TeamNum: "",
GuideName: "",
GuideTel: "",
PeopleNum: "",
BusType: "",
DayNight: "",
Remarks: "",
Details_Extends: []
},
BusObj: {
BusId: 0,
OrderState: 1 //0暂定,1-OK
},
isSave: false,
TCIDS: ""
};
},
methods: {
//确认手配
SureBus(type) {
this.loading = true;
this.BusObj.OrderState=type;
this.apipost(
"bus_post_SetBusService",
this.BusObj,
res => {
this.loading = false;
if (res.data.resultCode == 1) {
this.GetData();
} else {
this.Error(res.data.message);
}
},
isSave: false,
TCIDS: ""
}
err => {}
);
},
methods: {
DownLoadFile(item) {
if (!this.isSave) {
this.isSave = true;
let msg = {
TCIDS: this.TCIDS
};
this.loading = true;
var fileName = "バス手配依頼書" + this.DataObj.TeamNum + ".xls";
this.GetLocalFile("bus_get_DownLoadBusConfig", msg, fileName,
res => {
this.loading = false;
this.isSave = false;
});
}
},
GetData() {
DownLoadFile(item) {
if (!this.isSave) {
this.isSave = true;
let msg = {
TCIDS: this.TCIDS
};
this.loading = true;
this.apipost('bus_Get_GetBusDownLoadData', {
var fileName = "バス手配依頼書" + this.DataObj.TeamNum + ".xls";
this.GetLocalFile("bus_get_DownLoadBusConfig", msg, fileName, res => {
this.loading = false;
this.isSave = false;
});
}
},
GetData() {
this.loading = true;
this.apipost(
"bus_Get_GetBusDownLoadData",
{
TCIDs: this.TCIDS
}, res => {
},
res => {
this.loading = false;
if (res.data.resultCode == 1) {
this.DataObj = res.data.data;
this.DataObj = res.data.data.model;
this.BusObj.BusId = res.data.data.BusId;
this.BusObj.OrderState = res.data.data.OrderState;
} else {
this.Error(res.data.message);
}
}, err => {})
},
SaveData() {
if (!this.isSave) {
this.isSave = true;
this.DataObj.TCIDS = this.TCIDS;
this.apipost('bus_Post_SaveBusDownLoadData', this.DataObj, res => {
},
err => {}
);
},
SaveData() {
if (!this.isSave) {
this.isSave = true;
this.DataObj.TCIDS = this.TCIDS;
this.apipost(
"bus_Post_SaveBusDownLoadData",
this.DataObj,
res => {
if (res.data.resultCode == 1) {
this.Success("操作成功");
this.GetData();
......@@ -200,38 +304,39 @@
this.Error(res.data.message);
}
this.isSave = false;
}, err => {})
}
},
//添加
addHand(index){
var obj = {
BusContent:'',
BusType:'',
FlightNum:'',
HotelName:'',
HotelTel:'',
Id:0,
MainId:0,
UseDate:''
}
var date = new Date();
var year = date.getFullYear();
var month = date.getMonth() + 1;
var day = date.getDate();
var UseDate = year+'-'+month+"-"+day;
obj.UseDate = UseDate
if(index==0){
this.DataObj.Details_Extends.unshift(obj)
}else{
this.DataObj.Details_Extends.push(obj);
}
},
err => {}
);
}
},
mounted() {
this.TCIDS = this.$route.query.TCID;
this.GetData();
},
//添加
addHand(index) {
var obj = {
BusContent: "",
BusType: "",
FlightNum: "",
HotelName: "",
HotelTel: "",
Id: 0,
MainId: 0,
UseDate: ""
};
var date = new Date();
var year = date.getFullYear();
var month = date.getMonth() + 1;
var day = date.getDate();
var UseDate = year + "-" + month + "-" + day;
obj.UseDate = UseDate;
if (index == 0) {
this.DataObj.Details_Extends.unshift(obj);
} else {
this.DataObj.Details_Extends.push(obj);
}
}
},
mounted() {
this.TCIDS = this.$route.query.TCID;
this.GetData();
}
};
</script>
......@@ -201,6 +201,7 @@
<th>{{ $t("ground.chepaihao") }}</th>
<th>{{ $t("ground.sijiName") }}</th>
<th>{{ $t("ground.sijiPhone") }}</th>
<th>司机住宿</th>
<th>{{ $t("pub.pubRemark") }}</th>
</tr>
<tr v-for="item in DMCStaticsCommon.BusList">
......@@ -209,6 +210,7 @@
<td>{{ item.BusNum }}</td>
<td>{{ item.DriverName }}</td>
<td>{{ item.DriverTel }}</td>
<td>{{ item.AccommodationTypeStr }}</td>
<td width="300">{{ item.Remarks }}</td>
</tr>
</table>
......
......@@ -453,15 +453,14 @@ export default {
msg,
res => {
this.loading2 = false;
console.log("res.data",res.data.data);
if (res.data.resultCode == 1) {
// this.BaseInfo = res.data.data.BaseInfo;
// this.PrincipalList = res.data.data.PrincipalList;
// this.JourneyTitle = res.data.data.JourneyTitle;
// this.guestList = res.data.data.guestList;
// this.DMCStaticsCommon = res.data.data.DMCStaticsCommon;
// this.shopList = res.data.data.shopList;
// this.PostConfig = res.data.data.DMCStaticsCommon.LeaderApply;
this.BaseInfo = res.data.data.BaseInfo;
this.PrincipalList = res.data.data.PrincipalList;
this.JourneyTitle = res.data.data.JourneyTitle;
this.guestList = res.data.data.guestList;
this.DMCStaticsCommon = res.data.data.DMCStaticsCommon;
this.shopList = res.data.data.shopList;
this.PostConfig = res.data.data.DMCStaticsCommon.LeaderApply;
} else {
this.Error(res.data.message);
}
......
<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"
:key="index"
: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"
v-model="CtObj.TravelAgency_Scope"
></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="1">现金</el-radio>
<el-radio :label="5">转账</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" v-model="CtObj.C_PayTypeRemark"></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 CtObj.ContractGuestList" :key="index">
<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>
</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 CtObj.ContractShopList" :key="index">
<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() {
return {
//选中切换
cked: 1,
//参数
CtObj: {
CType:3,//合同类型:(1-单项委托协议[平台版2018],2大陆境内旅游合同2014,3-全国版国内旅游一日游旅游合同示范文本[2015版])
Tourists_Name: "",
Tourists_IDNum: "",
Tourists_Addres: "",
Tourists_Tel: "",
Tourists_Email: "",
Tourists_PostNum: "",
Tourists_Fax: "",
Tourists_EmergencyLinkMan: "",
Tourists_EmergencyLinkTel: "",
TravelAgency_Name: "四川和平国际旅行社有限公司", //旅行社名称
TravelAgency_LicenseNum: "L-SC-CJ00015",
TravelAgency_DealMan: "",
TravelAgency_IDNum: "",
TravelAgency_Address: "成都市锦江区一环路东五段87号2幢23层2310.2311.2312号",
TravelAgency_Tel: "",
TravelAgency_Fax: "",
TravelAgency_PostNum: "",
TravelAgency_Email: "",
TravelAgency_Scope:"出境游/境内游",//旅行社经营范围
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-其他,5-转账)
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: 0, // 机票总数量
TicketOutDayNum: 0, // 机票几日内出票
TicketTotalDepositPrice: 0, // 机票预订总费用
HotelBookJson: "", // 酒店预订
HotelTotal: "", // 酒店多少间、晚
HotelCheckInType: "", // 酒店入住方式
HotelNotice: "", // 下订单后通知旅游者的方式
HotelTotalPrice: "0", // 酒店费用总计
PickUpJson: "", // 接送信息
PickUpTotalPrice: "0", // 接送总费用
VisaJson: "", // 签证信息
VisaTotalPrice: "0", // 签证总费用
TicketAndHotelJson: "", // 机票与酒店信息
TicketAndHotelTotalPrice: "0", // 机票加酒店组合总费用
ContractShopList: [], //自愿购物活动补充协议
ContractGuestList: [], //旅客名单
ContractTripList: [] //行程列表
},
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" }
]
},
//菜单列表
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.apipost(
"travelcontract_post_SetTravelContractService",
this.CtObj,
res => {
if (res.data.resultCode == 1) {
this.Success(res.data.message);
} else {
this.Error(res.data.message);
}
},
err => {}
);
},
//跳转至预览
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.CtObj.ContractShopList.push(obj);
},
//删除补充协议1
delVoluntray(index) {
this.CtObj.ContractShopList.splice(index, 1);
},
//添加游客信息
addTourist() {
this.CtObj.ContractGuestList.forEach((x, index) => {
x.IsShow = 0;
});
let obj = {
CGuestName: "",
CGuestSex: "男",
CGuestCertificateType: "身份证",
CGuestCertificateNum: "",
CGuestTel: "",
CGuestHealth: "健康",
IsShow: 1
};
this.CtObj.ContractGuestList.push(obj);
},
//删除游客
delTouristArr(index) {
this.CtObj.ContractGuestList.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