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
e0bb1b38
Commit
e0bb1b38
authored
Mar 17, 2020
by
黄媛媛
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'master' of
http://gitlab.oytour.com/luochao/superman
parents
d64153e2
070e1b14
Show whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
1710 additions
and
1655 deletions
+1710
-1655
TravelContractNew.vue
src/components/TravelContractNew.vue
+1710
-1655
No files found.
src/components/TravelContractNew.vue
View file @
e0bb1b38
<
style
>
*
{
margin
:
0
;
padding
:
0
;
*
{
margin
:
0
;
padding
:
0
;
}
.TC-MainContent
{
.TC-MainContent
{
min-height
:
650px
;
background
:
url(../assets/img/bodyBg.png)
;
padding-top
:
10px
;
font
:
normal
13px
'Microsoft Yahei'
;
color
:
#555
;
height
:
auto
!important
;
color
:
#555
;
height
:
auto
!important
;
}
.TC-MainContent
.fixedMenu
{
position
:
fixed
;
left
:
20px
;
...
...
@@ -18,14 +20,16 @@
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
;
font-size
:
13px
;
}
.TC-MainContent
.fixedMenu
li
:after
{
content
:
''
;
display
:
block
;
...
...
@@ -37,10 +41,11 @@
right
:
-12px
;
top
:
11px
;
}
.TC-MainContent
.contractTit
{
position
:
fixed
;
left
:
0
;
top
:
0
;
top
:
0
;
width
:
100%
;
z-index
:
1000
;
padding
:
15px
20px
12px
;
...
...
@@ -50,28 +55,34 @@
font-size
:
18px
;
color
:
#555
;
}
.TC-MainContent
.contractTit
span
{
.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
.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
;
...
...
@@ -80,6 +91,7 @@
padding-right
:
10px
;
padding-top
:
8px
;
}
.TC-MainContent
.blockTitle
h2
{
font-size
:
15px
;
min-height
:
40px
;
...
...
@@ -90,6 +102,7 @@
padding-left
:
48px
;
line-height
:
40px
;
}
.TC-MainContent
.blockTitle
h2
{
font-size
:
15px
;
min-height
:
40px
;
...
...
@@ -99,68 +112,108 @@
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
{
.TC-MainContent
.createTable
{
background-color
:
#f9f9f9
;
width
:
100%
;
width
:
100%
;
}
.TC-MainContent
.el-form-item
{
margin-bottom
:
10px
;
.TC-MainContent
.el-form-item
{
margin-bottom
:
10px
;
}
.TC-MainContent
.w300
{
width
:
300px
!important
;
.TC-MainContent
.w300
{
width
:
300px
!important
;
}
.TC-MainContent
.w150
{
width
:
150px
!important
;
.TC-MainContent
.w150
{
width
:
150px
!important
;
}
.TC-MainContent
.w600
{
width
:
600px
!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
{
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
{
.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
;
width
:
83px
;
height
:
26px
;
color
:
#fff
;
border
:
none
;
margin-right
:
5px
;
cursor
:
pointer
;
}
.TC-MainContent
.singeRowTable
.el-button.is-circle
{
padding
:
5px
;
.TC-MainContent
.singeRowTable
.el-button.is-circle
{
padding
:
5px
;
}
.TC-MainContent
.TcNewTable
td
{
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
.pull-right
{
float
:
right
;
}
.TC-MainContent
.TC_disabled
{
color
:
#57a3f3
;
cursor
:
not-allowed
!important
;
.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
);
...
...
@@ -175,12 +228,13 @@
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
;
padding
:
10px
19px
;
border
:
none
;
outline
:
none
;
cursor
:
pointer
;
}
.TC-MainContent
.btn-warning
{
.TC-MainContent
.btn-warning
{
color
:
#ffffff
;
text-shadow
:
0
-1px
0
rgba
(
0
,
0
,
0
,
0.25
);
background-color
:
#faa732
;
...
...
@@ -195,50 +249,61 @@
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
;
padding
:
10px
19px
;
outline
:
none
;
border
:
none
;
border
:
none
;
cursor
:
pointer
;
}
.TCbtn-info
:hover
,
.btn-warning
:hover
{
.TCbtn-info
:hover
,
.btn-warning
:hover
{
color
:
#ffffff
;
opacity
:
0.8
;
}
.TcTravel_Table
{
.TcTravel_Table
{
width
:
100%
;
border
:
none
;
border-collapse
:
collapse
;
border-spacing
:
0
;
}
.TcTravel_Table
td
{
.TcTravel_Table
td
{
border
:
1px
solid
rgb
(
0
,
0
,
0
);
word-break
:
break-all
;
padding
:
5px
;
padding
:
5px
;
line-height
:
2
;
}
.TC_LASTTD
div
{
margin-bottom
:
10px
;
.TC_LASTTD
div
{
margin-bottom
:
10px
;
}
</
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>
<li
v-for=
"(item,index) in menuArr"
:class=
"
{'active':index==ckedIndex}"
@click="ckedIndex=index,goAnchor('#anchor-'+index)">
{{
item
}}
</li>
</ul>
<div
class=
"contractTit"
>
<span>
四川和平国际旅行社有限公司
团队出境旅游合同
{{
CtObj
.
company
}}
团队出境旅游合同
<span
style=
"color:blue;font-size:14px;"
>
{{
CtObj
.
contractNum
}}
</span>
</span>
<div
class=
"pull-right"
>
<input
type=
"button"
v-if=
"CtObj.status==1&&CtObj.auditContract==0"
class=
"TCbtn-info"
@
click=
"sendAudit()"
value=
"提交审核"
/>
<input
type=
"button"
v-if=
"CtObj.status==1&&CtObj.auditContract==3"
class=
"TCbtn-info"
@
click=
"sendAudit()"
value=
"审核已被驳回,重新提交"
/>
<input
type=
"button"
v-if=
"CtObj.status==1&&CtObj.auditContract==0"
class=
"TCbtn-info"
@
click=
"sendAudit()"
value=
"提交审核"
/>
<input
type=
"button"
v-if=
"CtObj.status==1&&CtObj.auditContract==3"
class=
"TCbtn-info"
@
click=
"sendAudit()"
value=
"审核已被驳回,重新提交"
/>
<input
type=
"button"
class=
"TCbtn-info"
v-if=
"CtObj.status==1"
@
click=
"goUrl()"
value=
"预览"
>
<input
type=
"button"
class=
"TCbtn-info"
v-if=
"CtObj.auditContract==2"
@
click=
"getinvalid()"
value=
"作废"
>
<input
type=
"button"
class=
"TCbtn-info"
@
click=
"dialogVisible=true,getGuestList()"
value=
"复制合同"
/>
<input
type=
"button"
class=
"TCbtn-info"
v-if=
"CtObj.status==1"
@
click=
"msgDialog=true,getMsgList()"
value=
"发送短信"
/>
<input
type=
"button"
v-if=
"CtObj.auditContract!=2"
class=
"btn-warning"
@
click=
"submitForm('CtObj')"
value=
"保存"
/>
<input
type=
"button"
class=
"TCbtn-info"
@
click=
"dialogVisible=true,getGuestList()"
value=
"复制合同"
/>
<input
type=
"button"
class=
"TCbtn-info"
v-if=
"CtObj.status==1"
@
click=
"msgDialog=true,getMsgList()"
value=
"发送短信"
/>
<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"
>
...
...
@@ -304,31 +369,7 @@
</el-form-item>
</td>
</tr>
<!--
<tr>
<td>
<el-form-item
label=
"所在地区"
>
<el-select
placeholder=
"请选择国家"
filterable
class=
'multiple_input w300'
v-model=
"CtObj.clientCountryid"
@
change=
"GetSubAreaList(CtObj.clientCountryid,1),CtObj.clientProvinceid=0,CtObj.clientCityid=0"
>
<el-option
:label=
"$t('pub.unlimitedSel')"
:value=
'0'
></el-option>
<el-option
v-for=
"childItem in CountryList"
:key=
"childItem.ID"
:label=
"childItem.Name"
:value=
"childItem.ID"
>
</el-option>
</el-select>
<el-select
placeholder=
"请选择省"
filterable
class=
'multiple_input w300'
v-model=
"CtObj.clientProvinceid"
@
change=
"GetSubAreaList(CtObj.clientProvinceid,2),CtObj.clientCityid=0"
>
<el-option
:label=
"$t('pub.unlimitedSel')"
:value=
'0'
></el-option>
<el-option
v-for=
"childItem in ClientProvinceList"
:key=
"childItem.ID"
:label=
"childItem.Name"
:value=
"childItem.ID"
>
</el-option>
</el-select>
<el-select
placeholder=
"请选择市"
filterable
class=
'multiple_input w300'
v-model=
"CtObj.clientCityid"
>
<el-option
:label=
"$t('pub.unlimitedSel')"
:value=
'0'
></el-option>
<el-option
v-for=
"childItem in ClientCityList"
:key=
"childItem.ID"
:label=
"childItem.Name"
:value=
"childItem.ID"
>
</el-option>
</el-select>
</el-form-item>
</td>
</tr>
-->
</tbody>
</table>
<div
class=
"createTableTitle"
>
出境社信息
</div>
...
...
@@ -337,14 +378,14 @@
<tr>
<td>
<el-form-item
label=
"公司名称"
>
<el-input
type=
"text"
v-model=
"CtObj.company"
:disabled=
"tru
e"
class=
"w300"
></el-input>
<el-input
type=
"text"
v-model=
"CtObj.company"
:disabled=
"CurrentUserInfo.RB_Group_id==2?true:fals
e"
class=
"w300"
></el-input>
</el-form-item>
</td>
</tr>
<tr>
<td>
<el-form-item
label=
"经营许可证号"
>
<el-input
type=
"text"
class=
"w300"
:disabled=
"tru
e"
v-model=
"CtObj.businessCertificate"
></el-input>
<el-input
type=
"text"
class=
"w300"
:disabled=
"CurrentUserInfo.RB_Group_id==2?true:fals
e"
v-model=
"CtObj.businessCertificate"
></el-input>
</el-form-item>
</td>
</tr>
...
...
@@ -390,43 +431,6 @@
</el-form-item>
</td>
</tr>
<!--
<tr>
<td>
<el-form-item
label=
"所在地区"
>
<el-select
placeholder=
"请选择国家"
filterable
class=
'multiple_input w210'
v-model=
"CtObj.companyCountryid"
@
change=
"GetComAreaList(CtObj.companyCountryid,1),CtObj.companyProvinceid=0,CtObj.companyCityid=0"
>
<el-option
:label=
"$t('pub.unlimitedSel')"
:value=
'0'
></el-option>
<el-option
v-for=
"childItem in CountryList"
:key=
"childItem.ID"
:label=
"childItem.Name"
:value=
"childItem.ID"
>
</el-option>
</el-select>
<el-select
placeholder=
"请选择省"
filterable
class=
'multiple_input w210'
v-model=
"CtObj.companyProvinceid"
@
change=
"GetComAreaList(CtObj.companyProvinceid,2),CtObj.companyCityid=0"
>
<el-option
:label=
"$t('pub.unlimitedSel')"
:value=
'0'
></el-option>
<el-option
v-for=
"childItem in companyProvinceList"
:key=
"childItem.ID"
:label=
"childItem.Name"
:value=
"childItem.ID"
>
</el-option>
</el-select>
<el-select
placeholder=
"请选择市"
filterable
class=
'multiple_input w210'
v-model=
"CtObj.companyCityid"
>
<el-option
:label=
"$t('pub.unlimitedSel')"
:value=
'0'
></el-option>
<el-option
v-for=
"childItem in companyCityList"
:key=
"childItem.ID"
:label=
"childItem.Name"
:value=
"childItem.ID"
>
</el-option>
</el-select>
</el-form-item>
</td>
</tr>
-->
<!--
<tr>
<td
class=
"TC_tittle"
>
<div
class=
"littleTitle"
>
经办人信息
</div>
</td>
</tr>
-->
<!--
<tr>
<td>
<el-form-item
label=
"联系电话"
prop=
"agentCall"
>
<el-input
type=
"text"
class=
"w300"
v-model=
"CtObj.agentCall"
></el-input>
</el-form-item>
</td>
</tr>
-->
<tr>
<td>
<el-form-item
label=
"签约地点"
>
...
...
@@ -466,14 +470,16 @@
<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-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-date-picker
class=
"w300"
v-model=
"CtObj.returnDate"
type=
"date"
value-format=
"yyyy-MM-dd"
placeholder
></el-date-picker>
</el-form-item>
</td>
</tr>
...
...
@@ -573,7 +579,8 @@
<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-date-picker
class=
"w300"
v-model=
"CtObj.payDate"
type=
"date"
value-format=
"yyyy-MM-dd"
placeholder
></el-date-picker>
</el-form-item>
</td>
</tr>
...
...
@@ -622,20 +629,7 @@
</el-form-item>
</td>
</tr>
<!--
<tr>
<td>
<el-form-item
label=
"保险公司"
>
<el-input
type=
"text"
class=
"w210"
v-model=
"CtObj.insuranceCompany"
></el-input>
</el-form-item>
</td>
</tr>
-->
<!--
<tr>
<td>
<el-form-item
label=
"保额"
>
<el-input
type=
"text"
class=
"w210"
v-model=
"CtObj.insuranceAmount"
></el-input>
</el-form-item>
</td>
</tr>
-->
</tbody>
</table>
<div
class=
"createTableTitle"
>
成团人数与不成团的约定
</div>
...
...
@@ -720,7 +714,8 @@
<tbody>
<tr>
<td>
<div
style=
"margin:20px 0 10px 20px"
>
本合同履行过程中发生争议,由双方协商解决;亦可向合同签订地的旅游质监执法机构、消费者协会等有关部门或者机构申请调解解决。
</div>
<div
style=
"margin:20px 0 10px 20px"
>
本合同履行过程中发生争议,由双方协商解决;亦可向合同签订地的旅游质监执法机构、消费者协会等有关部门或者机构申请调解解决。
</div>
<el-form-item
label=
"协商或调解不成,按照第"
prop=
"settleDisputeMode"
>
<el-select
placeholder=
"请选择"
filterable
class=
'w210'
v-model=
"CtObj.settleDisputeMode"
>
<el-option
label=
"1"
:value=
'1'
></el-option>
...
...
@@ -855,31 +850,6 @@
</el-form-item>
</td>
</tr>
<!--
<tr>
<td>
<el-form-item
label=
"监管机构所属地区"
>
<el-select
placeholder=
"请选择国家"
filterable
class=
'multiple_input w210'
v-model=
"CtObj.regulatorCountryid"
@
change=
"GetJianAreaList(CtObj.regulatorCountryid,1),CtObj.regulatorProvinceid=0,CtObj.regulatorCityid=0"
>
<el-option
:label=
"$t('pub.unlimitedSel')"
:value=
'0'
></el-option>
<el-option
v-for=
"childItem in CountryList"
:key=
"childItem.ID"
:label=
"childItem.Name"
:value=
"childItem.ID"
>
</el-option>
</el-select>
<el-select
placeholder=
"请选择省"
filterable
class=
'multiple_input w210'
v-model=
"CtObj.regulatorProvinceid"
@
change=
"GetJianAreaList(CtObj.regulatorProvinceid,2),CtObj.regulatorCityid=0"
>
<el-option
:label=
"$t('pub.unlimitedSel')"
:value=
'0'
></el-option>
<el-option
v-for=
"childItem in JianProvinceList"
:key=
"childItem.ID"
:label=
"childItem.Name"
:value=
"childItem.ID"
>
</el-option>
</el-select>
<el-select
placeholder=
"请选择市"
filterable
class=
'multiple_input w210'
v-model=
"CtObj.regulatorCityid"
>
<el-option
:label=
"$t('pub.unlimitedSel')"
:value=
'0'
></el-option>
<el-option
v-for=
"childItem in JianCityList"
:key=
"childItem.ID"
:label=
"childItem.Name"
:value=
"childItem.ID"
>
</el-option>
</el-select>
</el-form-item>
</td>
</tr>
-->
</tbody>
</table>
</div>
...
...
@@ -917,7 +887,8 @@
</tr>
<tr>
<td
colspan=
"5"
>
旅游线路名称:
{{
CtObj
.
productName
}}
行程共计:
{{
CtObj
.
dayNum
}}
天
{{
CtObj
.
nightNum
}}
晚(含在途时间)
旅游线路名称:
{{
CtObj
.
productName
}}
行程共计:
{{
CtObj
.
dayNum
}}
天
{{
CtObj
.
nightNum
}}
晚(含在途时间)
</td>
</tr>
<tr>
...
...
@@ -952,9 +923,11 @@
<div
v-for=
"subItem in item.dayArray"
>
<span
v-if=
"subItem.type==2"
>
{{
subItem
.
childItem
.
couponsName
}}
<span
v-if=
"subItem.childItem.playTimeHour!=null&&subItem.childItem.playTimeHour!=''"
>
(
{{
subItem
.
childItem
.
playTimeHour
}}
小时
</span>
<span
v-if=
"subItem.childItem.playTimeHour!=null&&subItem.childItem.playTimeHour!=''"
>
(
{{
subItem
.
childItem
.
playTimeHour
}}
小时
</span>
<span
v-if=
"subItem.childItem.playTimeMinutes!=null&&subItem.childItem.playTimeMinutes!=''"
>
<template
v-if=
"subItem.childItem.playTimeHour==null&&subItem.childItem.playTimeHour!=''"
>
(
</
template
>
<template
v-if=
"subItem.childItem.playTimeHour==null&&subItem.childItem.playTimeHour!=''"
>
(
</
template
>
{{subItem.childItem.playTimeMinutes}}分钟)
</span>
</span>
<span
v-if=
"subItem.type==7&&(index==0||index==tripDays.length-1)"
>
...
...
@@ -1076,7 +1049,8 @@
</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>
<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>
...
...
@@ -1110,7 +1084,7 @@
<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-button
type=
"danger"
icon=
"el-icon-delete"
@
click=
"delVoluntray(index)"
circle
></el-button>
</el-tooltip>
</td>
</tr>
...
...
@@ -1150,7 +1124,8 @@
</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>
<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>
...
...
@@ -1184,7 +1159,7 @@
<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-button
type=
"danger"
icon=
"el-icon-delete"
@
click=
"delWilling(index)"
circle
></el-button>
</el-tooltip>
</td>
</tr>
...
...
@@ -1199,7 +1174,8 @@
</div>
</el-form>
<el-dialog
custom-class=
'w600'
title=
'合同复制'
:visible
.
sync=
"dialogVisible"
center
>
<input
type=
"button"
v-if=
"backGuest.length>0"
class=
"TCbtn-info"
style=
"padding:8px 10px;float:right;margin-bottom:10px;"
@
click=
"copyContract()"
value=
"批量复制合同"
/>
<input
type=
"button"
v-if=
"backGuest.length>0"
class=
"TCbtn-info"
style=
"padding:8px 10px;float:right;margin-bottom:10px;"
@
click=
"copyContract()"
value=
"批量复制合同"
/>
<table
border=
"0"
cellspacing=
"0"
cellpadding=
"0"
class=
"singeRowTable"
>
<tr>
<th>
旅客姓名
</th>
...
...
@@ -1216,12 +1192,13 @@
</el-dialog>
<el-dialog
custom-class=
'w600'
title=
'发送信息'
:visible
.
sync=
"msgDialog"
center
>
<input
type=
"button"
class=
"TCbtn-info"
:class=
'{"TC_disabled":!this.canClick}'
style=
"padding:8px 10px;float:right;margin-bottom:10px;"
@
click=
"sendMsg11()"
:value=
"content"
/>
<input
type=
"button"
class=
"TCbtn-info"
:class=
'{"TC_disabled":!this.canClick}'
style=
"padding:8px 10px;float:right;margin-bottom:10px;"
@
click=
"sendMsg11()"
:value=
"content"
/>
<table
border=
"0"
cellspacing=
"0"
cellpadding=
"0"
class=
"singeRowTable"
>
<tr>
<th>
<label
for=
"label"
@
change=
"getCkAll"
>
<input
type=
"checkbox"
id=
"label"
v-model=
"ckedAll"
>
全选
<input
type=
"checkbox"
id=
"label"
v-model=
"ckedAll"
>
全选
</label>
</th>
<th>
旅客姓名
</th>
...
...
@@ -1230,7 +1207,7 @@
</tr>
<tr
v-for=
"(item,index) in msgGuest"
>
<td>
<input
v-model=
"item.checked"
:disabled=
"item.isCanck"
type=
"checkbox"
/>
<input
v-model=
"item.checked"
:disabled=
"item.isCanck"
type=
"checkbox"
/>
</td>
<td>
{{item.clientName}}
</td>
<td>
{{item.clientCall}}
</td>
...
...
@@ -1250,28 +1227,28 @@
export
default
{
data
()
{
let
valiTotalNumber
=
(
rule
,
value
,
callback
)
=>
{
if
(
this
.
CtObj
.
totalNumber
==
0
||
this
.
CtObj
.
totalNumber
==
''
)
{
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
==
''
)
{
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
==
''
)
{
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
==
''
)
{
if
(
this
.
CtObj
.
settleDisputeMode
==
0
||
this
.
CtObj
.
settleDisputeMode
==
''
)
{
return
callback
(
new
Error
(
'请选择'
));
}
else
{
callback
();
...
...
@@ -1285,155 +1262,232 @@
//客户城市列表
ClientCityList
:
[],
//公司省份列表
companyProvinceList
:[],
companyProvinceList
:
[],
//公司城市列表
companyCityList
:[],
companyCityList
:
[],
//监管机构省
JianProvinceList
:[],
JianProvinceList
:
[],
//监管机构市
JianCityList
:[],
JianCityList
:
[],
//选中切换
cked
:
1
,
cked
:
1
,
//查询参数
msg
:{
TCID
:
0
,
orderID
:
0
,
guestId
:
0
msg
:
{
TCID
:
0
,
orderID
:
0
,
guestId
:
0
},
addMsg
:
{
Country
:
0
,
Province
:
0
,
City
:
0
},
dialogVisible
:
false
,
dialogVisible
:
false
,
//发送短信
msgDialog
:
false
,
msgDialog
:
false
,
CurrentUserInfo
:{},
//当前用户信息
//参数
CtObj
:{
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
:
''
,
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
:
''
,
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
:
''
,
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
:
''
,
companyComplainCall
:
''
,
regulatorName
:
''
,
regulatorComplainCall
:
''
,
regulatorWebsite
:
''
,
regulatorPostCode
:
''
,
regulatorCountryid
:
0
,
regulatorProvinceid
:
0
,
regulatorCityid
:
0
,
regulatorAddress
:
''
,
//行程信息
travelContent
:
''
,
travelContent
:
''
,
//旅客信息
togetherRemark
:
''
,
singleRemark
:
''
,
nobedRemark
:
''
,
aloneRemark
:
''
,
tcid
:
0
,
orderId
:
0
,
tCNum
:
''
,
payProtocol
:
''
,
shopProtocol
:
''
togetherRemark
:
''
,
singleRemark
:
''
,
nobedRemark
:
''
,
aloneRemark
:
''
,
tcid
:
0
,
orderId
:
0
,
tCNum
:
''
,
payProtocol
:
''
,
shopProtocol
:
''
},
//旅客名单
guestList
:[],
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"
}],
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
,
}],
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'
}],
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"
}],
minNumber
:
[{
required
:
true
,
message
:
"请填写最低成团人数"
,
trigger
:
"change"
}],
settleDisputeMode
:
[{
required
:
true
,
validator
:
validatesettleDisputeMode
,
trigger
:
"change"
}],
},
//自愿购物活动补充协议
VoluntaryArr
:[],
VoluntaryArr
:
[],
//自愿付费项目补充协议
WillingPayArr
:[],
WillingPayArr
:
[],
//菜单列表
menuArr
:
[
'合同基本信息'
,
'合同协议条款'
,
'其他约定事项'
,
'投诉联系'
,
'行程信息'
,
'游客信息'
,
'自愿购物活动补充协议'
,
'自愿付费项目补充协议'
],
ckedIndex
:
0
,
LineName
:
''
,
menuArr
:
[
'合同基本信息'
,
'合同协议条款'
,
'其他约定事项'
,
'投诉联系'
,
'行程信息'
,
'游客信息'
,
'自愿购物活动补充协议'
,
'自愿付费项目补充协议'
],
ckedIndex
:
0
,
LineName
:
''
,
//交通
trifficList
:[],
trifficList
:
[],
//行程
tripDays
:[],
tripDays
:
[],
//旅客名单
backGuest
:[],
backGuest
:
[],
//短信旅客名单
msgGuest
:[],
ckedAll
:
false
,
content
:
'发送短信'
,
//按钮显示内容
totalTime
:
10
,
msgGuest
:
[],
ckedAll
:
false
,
content
:
'发送短信'
,
//按钮显示内容
totalTime
:
10
,
canClick
:
true
//添加canClick
};
},
...
...
@@ -1441,48 +1495,51 @@
//跳转锚点
goAnchor
(
selector
)
{
var
anchor
=
this
.
$el
.
querySelector
(
selector
)
document
.
documentElement
.
scrollTop
=
anchor
.
offsetTop
-
70
document
.
documentElement
.
scrollTop
=
anchor
.
offsetTop
-
70
},
getList
(){
this
.
apiJavaPost
(
"/api/contract/getContractInfo"
,
this
.
msg
,
res
=>
{
getList
()
{
this
.
apiJavaPost
(
"/api/contract/getContractInfo"
,
this
.
msg
,
res
=>
{
if
(
res
.
data
.
resultCode
===
1
)
{
this
.
CtObj
=
res
.
data
.
data
;
this
.
guestList
=
res
.
data
.
data
.
guestList
;
this
.
CtObj
.
tcid
=
this
.
$route
.
query
.
TCID
;
this
.
CtObj
.
orderId
=
this
.
$route
.
query
.
orderID
;
this
.
CtObj
.
totalNumber
=
2
;
this
.
CtObj
.
eachNumber
=
1
;
this
.
CtObj
.
totalNumber
=
2
;
this
.
CtObj
.
eachNumber
=
1
;
this
.
VoluntaryArr
=
this
.
CtObj
.
shopProtocolList
;
this
.
WillingPayArr
=
this
.
CtObj
.
payProtocolList
;
if
(
this
.
CtObj
.
clientCountryid
>
0
)
{
this
.
GetSubAreaList
(
this
.
CtObj
.
clientCountryid
,
1
,
1
);
if
(
this
.
CtObj
.
clientCountryid
>
0
)
{
this
.
GetSubAreaList
(
this
.
CtObj
.
clientCountryid
,
1
,
1
);
}
if
(
this
.
CtObj
.
clientProvinceid
>
0
)
{
this
.
GetSubAreaList
(
this
.
CtObj
.
clientProvinceid
,
2
,
1
);
if
(
this
.
CtObj
.
clientProvinceid
>
0
)
{
this
.
GetSubAreaList
(
this
.
CtObj
.
clientProvinceid
,
2
,
1
);
}
if
(
this
.
CtObj
.
companyCountryid
>
0
)
{
this
.
GetComAreaList
(
this
.
CtObj
.
companyCountryid
,
1
,
1
);
if
(
this
.
CtObj
.
companyCountryid
>
0
)
{
this
.
GetComAreaList
(
this
.
CtObj
.
companyCountryid
,
1
,
1
);
}
if
(
this
.
CtObj
.
companyProvinceid
>
0
)
{
this
.
GetComAreaList
(
this
.
CtObj
.
companyProvinceid
,
2
,
1
);
if
(
this
.
CtObj
.
companyProvinceid
>
0
)
{
this
.
GetComAreaList
(
this
.
CtObj
.
companyProvinceid
,
2
,
1
);
}
if
(
this
.
CtObj
.
regulatorCountryid
>
0
)
{
this
.
GetJianAreaList
(
this
.
CtObj
.
regulatorCountryid
,
1
,
1
);
if
(
this
.
CtObj
.
regulatorCountryid
>
0
)
{
this
.
GetJianAreaList
(
this
.
CtObj
.
regulatorCountryid
,
1
,
1
);
}
if
(
this
.
CtObj
.
regulatorProvinceid
>
0
)
{
this
.
GetJianAreaList
(
this
.
CtObj
.
regulatorProvinceid
,
2
,
1
);
if
(
this
.
CtObj
.
regulatorProvinceid
>
0
)
{
this
.
GetJianAreaList
(
this
.
CtObj
.
regulatorProvinceid
,
2
,
1
);
}
if
(
this
.
CurrentUserInfo
.
RB_Group_id
==
2
)
{
this
.
CtObj
.
company
=
'四川和平国际旅行社有限公司'
;
this
.
CtObj
.
businessCertificate
=
'L-SC-CJ00015'
;
this
.
CtObj
.
companyAddress
=
'成都市锦江区一环路东五段87号2幢23层2310.2311.2312号'
;
this
.
CtObj
.
companyAddress
=
'成都市锦江区一环路东五段87号2幢23层2310.2311.2312号'
;
this
.
CtObj
.
regulatorName
=
'四川省成都市旅游质监执法机构'
;
this
.
CtObj
.
regulatorComplainCall
=
'17708046437'
;
this
.
CtObj
.
companyComplainCall
=
'028-96927'
;
}
}
else
{
this
.
Error
(
res
.
data
.
message
);
}
},
null
);
},
null
);
},
//获取国家
GetCounrty
()
{
...
...
@@ -1525,7 +1582,7 @@
}
},
//获取公司身份城市
GetComAreaList
(
ID
,
type
,
isClear
)
{
GetComAreaList
(
ID
,
type
,
isClear
)
{
let
msg
=
{
Id
:
ID
};
...
...
@@ -1555,7 +1612,7 @@
}
},
//获取监管机构省市
GetJianAreaList
(
ID
,
type
,
isClear
){
GetJianAreaList
(
ID
,
type
,
isClear
)
{
let
msg
=
{
Id
:
ID
};
...
...
@@ -1584,79 +1641,79 @@
);
}
},
getDate
(
date
){
getDate
(
date
)
{
return
moment
(
date
).
format
(
"YYYY-MM-DD"
);
},
//提交数据
SaveMsg
(){
SaveMsg
()
{
this
.
CtObj
.
status
=
1
;
this
.
CtObj
.
contractStatus
=
2
;
this
.
CtObj
.
contractStatus
=
2
;
let
VolArr
=
[];
let
WalArr
=
[];
if
(
this
.
VoluntaryArr
.
length
>
0
)
{
this
.
VoluntaryArr
.
forEach
(
x
=>
{
if
(
x
.
IsShow
==
0
)
{
if
(
this
.
VoluntaryArr
.
length
>
0
)
{
this
.
VoluntaryArr
.
forEach
(
x
=>
{
if
(
x
.
IsShow
==
0
)
{
VolArr
.
push
(
x
);
}
})
if
(
VolArr
.
length
>
0
)
{
if
(
VolArr
.
length
>
0
)
{
this
.
CtObj
.
shopProtocol
=
JSON
.
stringify
(
VolArr
);
}
else
{
this
.
CtObj
.
shopProtocol
=
''
}
else
{
this
.
CtObj
.
shopProtocol
=
''
}
}
if
(
this
.
WillingPayArr
.
length
>
0
)
{
this
.
WillingPayArr
.
forEach
(
x
=>
{
if
(
x
.
IsShow
==
0
)
{
if
(
this
.
WillingPayArr
.
length
>
0
)
{
this
.
WillingPayArr
.
forEach
(
x
=>
{
if
(
x
.
IsShow
==
0
)
{
WalArr
.
push
(
x
);
}
})
if
(
WalArr
.
length
>
0
)
{
if
(
WalArr
.
length
>
0
)
{
this
.
CtObj
.
payProtocol
=
JSON
.
stringify
(
WalArr
);
}
else
{
this
.
CtObj
.
payProtocol
=
''
}
else
{
this
.
CtObj
.
payProtocol
=
''
}
}
this
.
CtObj
.
travelContent
=
this
.
$refs
.
TcTravel_Table
.
innerHTML
;
this
.
apiJavaPost
(
"/api/contract/dosaveOrUpdate"
,
this
.
CtObj
,
res
=>
{
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
.
dialogVisible
=
false
;
this
.
getList
();
}
else
{
this
.
Error
(
res
.
data
.
message
);
}
},
null
);
},
null
);
},
//跳转至预览
goUrl
(){
goUrl
()
{
this
.
$router
.
push
({
name
:
'TravelContractDetail'
,
query
:
{
TCID
:
this
.
$route
.
query
.
TCID
,
guestId
:
this
.
CtObj
.
guestId
,
guestId
:
this
.
CtObj
.
guestId
,
orderID
:
this
.
$route
.
query
.
orderID
,
blank
:
"y"
,
}
});
},
//作废
getinvalid
(){
getinvalid
()
{
this
.
$confirm
(
'是否作废?'
,
'提示'
,
{
confirmButtonText
:
'确定'
,
cancelButtonText
:
'取消'
,
type
:
'warning'
}).
then
(()
=>
{
this
.
CtObj
.
status
=
0
;
this
.
CtObj
.
auditContract
=
0
;
this
.
apiJavaPost
(
"/api/contract/dosaveOrUpdate"
,
this
.
CtObj
,
res
=>
{
this
.
CtObj
.
status
=
0
;
this
.
CtObj
.
auditContract
=
0
;
this
.
apiJavaPost
(
"/api/contract/dosaveOrUpdate"
,
this
.
CtObj
,
res
=>
{
if
(
res
.
data
.
resultCode
===
1
)
{
this
.
Success
(
res
.
data
.
message
);
this
.
getList
();
}
else
{
this
.
Error
(
res
.
data
.
message
);
}
},
null
);
},
null
);
}).
catch
(()
=>
{
this
.
$message
({
type
:
'info'
,
...
...
@@ -1676,56 +1733,56 @@
}
});
},
sendAudit
()
{
this
.
CtObj
.
auditContract
=
1
;
this
.
apiJavaPost
(
"/api/contract/dosaveOrUpdate"
,
this
.
CtObj
,
res
=>
{
sendAudit
()
{
this
.
CtObj
.
auditContract
=
1
;
this
.
apiJavaPost
(
"/api/contract/dosaveOrUpdate"
,
this
.
CtObj
,
res
=>
{
if
(
res
.
data
.
resultCode
===
1
)
{
this
.
Success
(
res
.
data
.
message
);
}
else
{
this
.
Error
(
res
.
data
.
message
);
}
},
null
);
},
null
);
},
//添加补充协议
addRecord
()
{
let
obj
=
{
specificTime
:
''
,
Address
:
''
,
shoppName
:
''
,
CommodityInformation
:
''
,
stayTime
:
''
,
other
:
''
,
travelSign
:
''
,
IsShow
:
1
addRecord
()
{
let
obj
=
{
specificTime
:
''
,
Address
:
''
,
shoppName
:
''
,
CommodityInformation
:
''
,
stayTime
:
''
,
other
:
''
,
travelSign
:
''
,
IsShow
:
1
}
this
.
VoluntaryArr
.
push
(
obj
);
},
//删除补充协议1
delVoluntray
(
index
)
{
delVoluntray
(
index
)
{
this
.
VoluntaryArr
.
splice
(
index
,
1
);
},
//添加自愿付费协议
addWilling
()
{
let
obj
=
{
specificTime
:
''
,
Address
:
''
,
programName
:
''
,
money
:
''
,
programTime
:
''
,
other
:
''
,
travelSign
:
''
,
IsShow
:
1
addWilling
()
{
let
obj
=
{
specificTime
:
''
,
Address
:
''
,
programName
:
''
,
money
:
''
,
programTime
:
''
,
other
:
''
,
travelSign
:
''
,
IsShow
:
1
}
this
.
WillingPayArr
.
push
(
obj
);
},
//删除自愿付费协议
delWilling
(
index
)
{
delWilling
(
index
)
{
this
.
WillingPayArr
.
splice
(
index
,
1
);
},
//滚动条滚动选中tab
menu
()
{
var
_self
=
this
;
_self
.
scroll
=
(
document
.
documentElement
.
scrollTop
||
document
.
body
.
scrollTop
)
+
70
;
_self
.
scroll
=
(
document
.
documentElement
.
scrollTop
||
document
.
body
.
scrollTop
)
+
70
;
//滑动到指定位置相应菜单高亮
var
a_0
=
this
.
$refs
.
anchor0
.
offsetTop
;
var
a_1
=
this
.
$refs
.
anchor1
.
offsetTop
;
...
...
@@ -1735,105 +1792,97 @@
var
a_5
=
this
.
$refs
.
anchor5
.
offsetTop
;
var
a_6
=
this
.
$refs
.
anchor6
.
offsetTop
;
var
a_7
=
this
.
$refs
.
anchor7
.
offsetTop
;
// var a_0 = $("#anchor-0").offset().top;
// var a_1 = $("#anchor-1").offset().top;
// var a_2 = $("#anchor-2").offset().top;
// var a_3 = $("#anchor-3").offset().top;
// var a_4 = $("#anchor-4").offset().top;
// var a_5 = $("#anchor-5").offset().top;
// var a_6 = $("#anchor-6").offset().top;
// var a_7 = $("#anchor-7").offset().top;
if
(
_self
.
scroll
<
a_0
)
{
this
.
ckedIndex
=
0
}
else
if
(
_self
.
scroll
>
a_0
&&
_self
.
scroll
<
a_1
)
{
}
else
if
(
_self
.
scroll
>
a_0
&&
_self
.
scroll
<
a_1
)
{
this
.
ckedIndex
=
1
}
else
if
(
_self
.
scroll
>
a_2
&&
_self
.
scroll
<
a_3
)
{
}
else
if
(
_self
.
scroll
>
a_2
&&
_self
.
scroll
<
a_3
)
{
this
.
ckedIndex
=
2
}
else
if
(
_self
.
scroll
>
a_3
&&
_self
.
scroll
<
a_4
)
{
}
else
if
(
_self
.
scroll
>
a_3
&&
_self
.
scroll
<
a_4
)
{
this
.
ckedIndex
=
3
}
else
if
(
_self
.
scroll
>
a_4
&&
_self
.
scroll
<
a_5
)
{
}
else
if
(
_self
.
scroll
>
a_4
&&
_self
.
scroll
<
a_5
)
{
this
.
ckedIndex
=
4
}
else
if
(
_self
.
scroll
>
a_5
&&
_self
.
scroll
<
a_6
)
{
}
else
if
(
_self
.
scroll
>
a_5
&&
_self
.
scroll
<
a_6
)
{
this
.
ckedIndex
=
5
}
else
if
(
_self
.
scroll
>
a_6
&&
_self
.
scroll
<
a_7
)
{
}
else
if
(
_self
.
scroll
>
a_6
&&
_self
.
scroll
<
a_7
)
{
this
.
ckedIndex
=
6
}
else
if
(
_self
.
scroll
>
a_7
)
{
}
else
if
(
_self
.
scroll
>
a_7
)
{
this
.
ckedIndex
=
7
}
},
//加一天返回
getDayAddOne
(
day
,
num
)
{
return
moment
(
day
).
add
(
num
,
'days'
).
format
(
'MM/DD'
);
getDayAddOne
(
day
,
num
)
{
return
moment
(
day
).
add
(
num
,
'days'
).
format
(
'MM/DD'
);
},
//点击合同获取旅客信息
getGuestList
()
{
let
msg
=
{
orderId
:
this
.
msg
.
orderID
getGuestList
()
{
let
msg
=
{
orderId
:
this
.
msg
.
orderID
}
this
.
apiJavaPost
(
"/api/contract/getContractGuestByOrderId"
,
msg
,
res
=>
{
this
.
apiJavaPost
(
"/api/contract/getContractGuestByOrderId"
,
msg
,
res
=>
{
if
(
res
.
data
.
resultCode
===
1
)
{
this
.
backGuest
=
res
.
data
.
data
;
this
.
backGuest
=
res
.
data
.
data
;
}
else
{
this
.
Error
(
res
.
data
.
message
);
}
},
null
);
},
null
);
},
//获取旅客短信列表
getMsgList
()
{
let
msg
=
{
orderId
:
this
.
msg
.
orderID
getMsgList
()
{
let
msg
=
{
orderId
:
this
.
msg
.
orderID
}
this
.
apiJavaPost
(
"/api/contract/sendMsgList"
,
msg
,
res
=>
{
this
.
apiJavaPost
(
"/api/contract/sendMsgList"
,
msg
,
res
=>
{
if
(
res
.
data
.
resultCode
===
1
)
{
this
.
msgGuest
=
res
.
data
.
data
;
this
.
msgGuest
.
forEach
(
x
=>
{
x
.
checked
=
false
;
if
(
x
.
msgSendStatus
==
3
)
{
x
.
isCanck
=
true
;
}
else
{
x
.
isCanck
=
false
;
this
.
msgGuest
=
res
.
data
.
data
;
this
.
msgGuest
.
forEach
(
x
=>
{
x
.
checked
=
false
;
if
(
x
.
msgSendStatus
==
3
)
{
x
.
isCanck
=
true
;
}
else
{
x
.
isCanck
=
false
;
}
})
}
else
{
this
.
Error
(
res
.
data
.
message
);
}
},
null
);
},
null
);
},
//复制合同
copyContract
()
{
let
newArr
=
[];
this
.
guestList
.
forEach
(
x
=>
{
copyContract
()
{
let
newArr
=
[];
this
.
guestList
.
forEach
(
x
=>
{
newArr
.
push
(
x
.
id
);
})
this
.
CtObj
.
guestIds
=
newArr
.
join
(
','
);
this
.
CtObj
.
guestIds
=
newArr
.
join
(
','
);
this
.
submitForm
(
'CtObj'
);
},
//点击全选
getCkAll
()
{
var
that
=
this
;
if
(
that
.
ckedAll
)
{
this
.
msgGuest
.
forEach
(
x
=>
{
if
(
x
.
msgSendStatus
==
3
)
{
x
.
checked
=
false
;
}
else
{
getCkAll
()
{
var
that
=
this
;
if
(
that
.
ckedAll
)
{
this
.
msgGuest
.
forEach
(
x
=>
{
if
(
x
.
msgSendStatus
==
3
)
{
x
.
checked
=
false
;
}
else
{
x
.
checked
=
true
;
}
})
}
else
{
this
.
msgGuest
.
forEach
(
x
=>
{
}
else
{
this
.
msgGuest
.
forEach
(
x
=>
{
x
.
checked
=
false
;
})
}
},
sendMsg11
()
{
sendMsg11
()
{
let
newArr
=
[];
this
.
msgGuest
.
forEach
(
x
=>
{
let
obj
=
{};
if
(
x
.
checked
)
{
this
.
msgGuest
.
forEach
(
x
=>
{
let
obj
=
{};
if
(
x
.
checked
)
{
newArr
.
push
(
x
);
}
})
if
(
newArr
.
length
==
0
)
{
if
(
newArr
.
length
==
0
)
{
this
.
Error
(
'请勾选要发送信息的旅客!'
);
return
;
}
...
...
@@ -1851,38 +1900,39 @@
this
.
totalTime
=
10
this
.
canClick
=
true
//这里重新开启
}
},
1000
)
},
1000
)
},
//发送短信
sendMsg
()
{
let
msgObj
=
[];
sendMsg
()
{
let
msgObj
=
[];
let
dateTime
=
moment
(
this
.
CtObj
.
startDate
).
format
(
"YYYY-MM-DD"
);
let
lineTeam
=
this
.
CtObj
.
productName
;
let
days
=
this
.
CtObj
.
dayNum
;
let
nights
=
this
.
CtObj
.
nightNum
;
this
.
msgGuest
.
forEach
(
x
=>
{
let
obj
=
{};
if
(
x
.
checked
){
obj
.
mobiles
=
x
.
clientCall
;
obj
.
Url
=
`http://yx.oytour.com/#/clientConfirm?TCID=
${
this
.
msg
.
TCID
}
&orderID=
${
this
.
msg
.
orderID
}
&guestId=
${
x
.
guestId
}
`
;
this
.
msgGuest
.
forEach
(
x
=>
{
let
obj
=
{};
if
(
x
.
checked
)
{
obj
.
mobiles
=
x
.
clientCall
;
obj
.
Url
=
`http://yx.oytour.com/#/clientConfirm?TCID=
${
this
.
msg
.
TCID
}
&orderID=
${
this
.
msg
.
orderID
}
&guestId=
${
x
.
guestId
}
`
;
msgObj
.
push
(
obj
);
}
})
let
msg
=
{
msgObj
:
msgObj
,
dateTime
:
dateTime
,
lineTeam
:
lineTeam
,
days
:
days
,
nights
:
nights
,
orderID
:
this
.
msg
.
orderID
}
this
.
apiJavaPost
(
"/api/contract/sendMassage"
,
msg
,
res
=>
{
let
msg
=
{
msgObj
:
msgObj
,
dateTime
:
dateTime
,
lineTeam
:
lineTeam
,
days
:
days
,
nights
:
nights
,
orderID
:
this
.
msg
.
orderID
}
this
.
apiJavaPost
(
"/api/contract/sendMassage"
,
msg
,
res
=>
{
if
(
res
.
data
.
resultCode
===
1
)
{
this
.
getMsgList
();
}
else
{
this
.
Error
(
res
.
data
.
message
);
}
},
null
);
},
null
);
},
GetTrip
(
id
,
TCID
)
{
this
.
tripList
=
[];
...
...
@@ -1894,7 +1944,7 @@
var
msg
=
{
configId
:
0
,
tcid
:
nTCID
,
isClick
:
1
//不算统计
isClick
:
1
//不算统计
};
if
(
id
!==
undefined
)
{
//根据ID 获取行程内容
...
...
@@ -1905,10 +1955,10 @@
if
(
res
.
data
.
data
.
priceList
&&
res
.
data
.
data
.
priceList
.
length
>
0
)
{
this
.
startDate
=
res
.
data
.
data
.
priceList
[
0
].
startDate
;
}
this
.
tripDays
=
res
.
data
.
data
.
dayList
;
this
.
tripDays
=
res
.
data
.
data
.
dayList
;
this
.
trifficList
=
res
.
data
.
data
.
trafficList
;
this
.
tripList
=
res
.
data
.
data
.
dayList
;
this
.
LineName
=
res
.
data
.
data
.
lineName
;
this
.
LineName
=
res
.
data
.
data
.
lineName
;
this
.
init
();
}
},
...
...
@@ -2260,49 +2310,54 @@
}
}
this
.
trifficList
.
forEach
((
x
,
index
)
=>
{
if
(
x
.
airportPickUp
==
1
||
x
.
airportPickUp
==
2
)
{
if
(
x
.
isUseBus
==
1
)
{
this
.
tripDays
[
index
].
TrifficType
=
'飞机+大巴'
this
.
trifficList
.
forEach
((
x
,
index
)
=>
{
if
(
x
.
airportPickUp
==
1
||
x
.
airportPickUp
==
2
)
{
if
(
x
.
isUseBus
==
1
)
{
this
.
tripDays
[
index
].
TrifficType
=
'飞机+大巴'
}
}
if
(
x
.
airportPickUp
==
0
&&
x
.
isUseBus
==
1
)
{
this
.
tripDays
[
index
].
TrifficType
=
'大巴'
if
(
x
.
airportPickUp
==
0
&&
x
.
isUseBus
==
1
)
{
this
.
tripDays
[
index
].
TrifficType
=
'大巴'
}
if
(
x
.
airportPickUp
==
1
||
x
.
airportPickUp
==
2
)
{
if
(
x
.
isUseBus
==
0
)
{
this
.
tripDays
[
index
].
TrifficType
=
'飞机'
if
(
x
.
airportPickUp
==
1
||
x
.
airportPickUp
==
2
)
{
if
(
x
.
isUseBus
==
0
)
{
this
.
tripDays
[
index
].
TrifficType
=
'飞机'
}
}
if
(
x
.
airportPickUp
==
0
||
x
.
airportPickUp
==
0
)
{
if
(
x
.
isUseBus
==
0
)
{
this
.
tripDays
[
index
].
TrifficType
=
'无'
if
(
x
.
airportPickUp
==
0
||
x
.
airportPickUp
==
0
)
{
if
(
x
.
isUseBus
==
0
)
{
this
.
tripDays
[
index
].
TrifficType
=
'无'
}
}
})
//生成其他约定事项
let
otherMatter
=
''
;
otherMatter
+=
`本人已阅读了本合同所有条款,乙方(旅行社)已就合同条款对本人进行了真实、准确、完整的说明,本人已完全了解合同条款的内容及含义并同意本合同条款包括行程中有关自愿购物活动以及自愿参加另付费旅游项目的说明,同时本人悉知自身身体适宜此次旅行。\n`
otherMatter
+=
'烦请务必携带自身常用药品,如有身体不适必须第一时间告知随团导游或领队,并及时到当地医院做检查,如因个人原因耽误病情,一切后果均由客人自行承担。
\
n'
otherMatter
+=
'旅游意外伤害险:若旅行社购买赠送客人,如有出险理赔视为旅行社责任风险分摊,保险公司赔偿金额为最终赔付,旅行社不再进行赔偿。
\
n'
otherMatter
+=
'签约委托授权书:本人已征得其余全体委托人同意作为本次旅游出行签约代表(全体委托人名单详见游客名单),全体委托人享受本合同约定的权利,履行本合同约定的义务,受托人在旅游合同及其附件上的签字全体委托人均予以认可。
\
n'
otherMatter
+=
'健康承诺书:在旅游过程中,如本人未按贵社要求如实告知相关健康情况,本人承担因此而产生的全部后果,并承担给贵社造成损失的赔偿责任。本人自愿放弃不适宜本人身体状况参加的相应景点或相应活动;若因本人坚持参加而所产生的全部后果均由本人自行承担。本人因自身过错,造成的一切其他损失由本人承担。本人作为此次出行的签约代表,已就此承诺告知了全体委托人及其直系亲属并得到他们的同意。
\
n'
otherMatter
+=
'如其他游客不予认可本合同或者本人未取得授权、未告知本合同及相关告知书内容的,由本人承担相应责任。'
this
.
CtObj
.
otherMatter
=
otherMatter
;
let
otherMatter
=
''
;
otherMatter
+=
`本人已阅读了本合同所有条款,乙方(旅行社)已就合同条款对本人进行了真实、准确、完整的说明,本人已完全了解合同条款的内容及含义并同意本合同条款包括行程中有关自愿购物活动以及自愿参加另付费旅游项目的说明,同时本人悉知自身身体适宜此次旅行。\n`
otherMatter
+=
'烦请务必携带自身常用药品,如有身体不适必须第一时间告知随团导游或领队,并及时到当地医院做检查,如因个人原因耽误病情,一切后果均由客人自行承担。
\
n'
otherMatter
+=
'旅游意外伤害险:若旅行社购买赠送客人,如有出险理赔视为旅行社责任风险分摊,保险公司赔偿金额为最终赔付,旅行社不再进行赔偿。
\
n'
otherMatter
+=
'签约委托授权书:本人已征得其余全体委托人同意作为本次旅游出行签约代表(全体委托人名单详见游客名单),全体委托人享受本合同约定的权利,履行本合同约定的义务,受托人在旅游合同及其附件上的签字全体委托人均予以认可。
\
n'
otherMatter
+=
'健康承诺书:在旅游过程中,如本人未按贵社要求如实告知相关健康情况,本人承担因此而产生的全部后果,并承担给贵社造成损失的赔偿责任。本人自愿放弃不适宜本人身体状况参加的相应景点或相应活动;若因本人坚持参加而所产生的全部后果均由本人自行承担。本人因自身过错,造成的一切其他损失由本人承担。本人作为此次出行的签约代表,已就此承诺告知了全体委托人及其直系亲属并得到他们的同意。
\
n'
otherMatter
+=
'如其他游客不予认可本合同或者本人未取得授权、未告知本合同及相关告知书内容的,由本人承担相应责任。'
this
.
CtObj
.
otherMatter
=
otherMatter
;
},
},
mounted
()
{
this
.
CurrentUserInfo
=
this
.
getLocalStorage
();
this
.
GetCounrty
();
this
.
msg
.
TCID
=
this
.
$route
.
query
.
TCID
;
this
.
msg
.
orderID
=
this
.
$route
.
query
.
orderID
;
this
.
msg
.
guestId
=
this
.
$route
.
query
.
guestId
;
this
.
getList
();
this
.
GetTrip
(
0
,
this
.
msg
.
TCID
);
this
.
GetTrip
(
0
,
this
.
msg
.
TCID
);
this
.
$nextTick
(
function
()
{
//滚动监听事件
window
.
addEventListener
(
'scroll'
,
this
.
menu
)
});
}
};
</
script
>
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