Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
S
SuperMan
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
1
Issues
1
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
罗超
SuperMan
Commits
303fd301
Commit
303fd301
authored
Dec 10, 2019
by
zhengke
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
修改
parent
7d95ebce
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
2505 additions
and
0 deletions
+2505
-0
DomesticTravelcontract.vue
src/components/DomesticTravelcontract.vue
+1270
-0
onedayTripContract.vue
src/components/onedayTripContract.vue
+1219
-0
config.js
src/router/config.js
+16
-0
No files found.
src/components/DomesticTravelcontract.vue
0 → 100644
View file @
303fd301
<
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>
天
</el-form-item>
</td>
</tr>
<tr>
<td>
<el-form-item
label=
"酒店住宿"
prop=
"nightNum"
>
<el-input
type=
"text"
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=
"成人"
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>
省
</el-form-item>
<el-form-item
label-width=
"0"
style=
"display:inline-block;"
>
<el-input
type=
"text"
class=
"w138"
></el-input>
市旅游质监执法机构
</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
>
src/components/onedayTripContract.vue
0 → 100644
View file @
303fd301
<
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>
人×
</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>
元/人
+
儿童
</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>
人×
</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>
元/人 =
</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>
元
</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>
省
</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
>
src/router/config.js
View file @
303fd301
...
...
@@ -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'
,
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment