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
95c9d1cc
Commit
95c9d1cc
authored
Dec 10, 2019
by
zhengke
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'master' of
http://gitlab.oytour.com/luochao/superman
parents
b66ea26b
0f442408
Show whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
1729 additions
and
1270 deletions
+1729
-1270
pushManagement.vue
src/components/activity/pushManagement.vue
+171
-70
onedayTripContract.vue
src/components/onedayTripContract.vue
+1558
-1200
No files found.
src/components/activity/pushManagement.vue
View file @
95c9d1cc
...
...
@@ -36,7 +36,7 @@
<th>
创建日期
</th>
<th>
操作
</th>
</tr>
<tr
v-for=
"(item, index) in dataList"
>
<tr
v-for=
"(item, index) in dataList"
:key=
"index"
>
<td>
{{
index
}}
</td>
<td>
{{
item
.
SendTitle
}}
</td>
<td>
{{
item
.
SendContent
}}
</td>
...
...
@@ -68,19 +68,47 @@
:total=
"total"
></el-pagination>
<el-dialog
custom-class=
"w
4
00"
custom-class=
"w
8
00"
:title=
"dialogTitle"
:visible
.
sync=
"outerVisible"
center
:before-close=
"closeChangeMachie"
>
<el-form
:model=
"addMsg"
:rules=
"rules"
ref=
"addMsg"
label-width=
"100px"
>
<el-row>
<el-col
:span=
"12"
>
<el-form-item
label=
"主题"
prop=
"SendTitle"
>
<el-input
type=
"text"
v-model=
"addMsg.SendTitle"
class=
"w217"
></el-input>
</el-form-item>
</el-col>
<el-col
:span=
"12"
>
<el-form-item
label=
"状态"
>
<el-select
filterable
class=
'w217'
v-model=
'addMsg.CustomerStatus'
:placeholder=
"$t('pub.pleaseSel')"
>
<el-option
label=
"不限"
:value=
"0"
></el-option>
<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-select>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col
:span=
"12"
>
<el-form-item
label=
"内容"
prop=
"SendContent"
>
<el-input
type=
"textarea"
v-model=
"addMsg.SendConten
t"
class=
"w217"
></el-input>
<el-input
type=
"textarea"
v-model=
"addMsg.SendContent"
@
change=
"changeTex
t"
class=
"w217"
></el-input>
</el-form-item>
</el-col>
<el-col
:span=
"12"
>
<el-form-item
label=
"幸福存折"
>
<el-input
type=
"number"
v-model=
"addMsg.MinPassbook"
class=
"w100"
></el-input>
-
<el-input
type=
"number"
v-model=
"addMsg.MaxPassbook"
class=
"w100"
></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col
:span=
"12"
>
<el-form-item
label=
"推送方式"
>
<el-select
filterable
v-model=
"addMsg.SendProgramType"
>
<el-option
label=
"不限"
:value=
"0"
:key=
"0"
></el-option>
...
...
@@ -92,15 +120,45 @@
></el-option>
</el-select>
</el-form-item>
</el-col>
<el-col
:span=
"12"
>
<el-form-item
label=
"交易额"
>
<el-input
type=
"number"
v-model=
"addMsg.MinTurnover"
class=
"w100"
></el-input>
-
<el-input
type=
"number"
v-model=
"addMsg.MaxTurnover"
class=
"w100"
></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col
:span=
"12"
>
<el-form-item
label=
"App链接"
v-if=
"addMsg.SendProgramType == 0 || addMsg.SendProgramType == 2"
>
<el-input
type=
"text"
v-model=
"addMsg.AppUrl"
class=
"w217"
></el-input>
</el-form-item>
<el-form-item
label=
"小程序链接"
v-if=
"addMsg.SendProgramType == 0 || addMsg.SendProgramType == 1"
>
<el-input
type=
"text"
v-model=
"addMsg.MinProgram"
class=
"w217"
></el-input>
</el-form-item>
</el-col>
<el-col
:span=
"12"
>
<el-form-item
label=
"优惠券"
>
<el-input
type=
"number"
v-model=
"addMsg.MinCoupons"
class=
"w100"
></el-input>
-
<el-input
type=
"number"
v-model=
"addMsg.MaxCoupons"
class=
"w100"
></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col
:span=
"12"
>
<el-form-item
label=
"推送时间"
prop=
"SendDate"
>
<el-date-picker
v-model=
'addMsg.SendDate'
:picker-options=
"pickerOptions0"
class=
'w217'
value-format=
"yyyy-MM-dd HH:mm"
type=
"datetime"
></el-date-picker>
</el-form-item>
</el-col>
<el-col
:span=
"12"
>
</el-col>
</el-row>
<el-row>
<el-col
:span=
"12"
>
<el-form-item
label=
"所属公司"
>
<el-select
filterable
v-model=
"addMsg.RB_Branch_id"
>
<el-option
label=
"不限"
:value=
"-1"
:key=
"-1"
></el-option>
...
...
@@ -112,37 +170,13 @@
></el-option>
</el-select>
</el-form-item>
<el-form-item
label=
"状态"
>
<el-select
filterable
class=
'w217'
v-model=
'addMsg.CustomerStatus'
:placeholder=
"$t('pub.pleaseSel')"
>
<el-option
label=
"不限"
:value=
"0"
></el-option>
<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-select>
</el-form-item>
<el-form-item
label=
"幸福存折"
>
<el-input
type=
"number"
v-model=
"addMsg.MinPassbook"
class=
"w100"
></el-input>
-
<el-input
type=
"number"
v-model=
"addMsg.MaxPassbook"
class=
"w100"
></el-input>
</el-form-item>
<el-form-item
label=
"交易额"
>
<el-input
type=
"number"
v-model=
"addMsg.MinTurnover"
class=
"w100"
></el-input>
-
<el-input
type=
"number"
v-model=
"addMsg.MaxTurnover"
class=
"w100"
></el-input>
</el-form-item>
<el-form-item
label=
"优惠券"
>
<el-input
type=
"number"
v-model=
"addMsg.MinCoupons"
class=
"w100"
></el-input>
-
<el-input
type=
"number"
v-model=
"addMsg.MaxCoupons"
class=
"w100"
></el-input>
</el-form-item>
<el-form-item
label=
"提示内容"
>
<el-checkbox-group
v-model=
"addMsg.ISShowList"
>
<el-checkbox
:label=
"1"
>
幸福存折
</el-checkbox>
<el-checkbox
:label=
"2"
>
优惠券
</el-checkbox>
<el-checkbox
:label=
"3"
>
大红包
</el-checkbox>
<el-checkbox-group
v-model=
"addMsg.ISShowList"
@
change=
"changeCheckbox"
>
<el-checkbox
v-for=
"(item, index) in tipsMsgList"
:key=
"index"
:label=
"item.id"
>
{{
item
.
lable
}}
</el-checkbox>
</el-checkbox-group>
</el-form-item>
</el-col>
</el-row>
</el-form>
<div
slot=
"footer"
class=
"dialog-footer"
>
<button
...
...
@@ -168,6 +202,29 @@ export default {
id
:
2
}
],
tipsMsgList
:
[
{
id
:
0
,
lable
:
'幸福存折'
,
text
:
'{Client_Balance}'
,
},
{
id
:
1
,
lable
:
'优惠券'
,
text
:
'{CouponNum}'
,
},
{
id
:
2
,
lable
:
'交易总金额'
,
text
:
'{TotalPrice}'
,
},
{
id
:
3
,
lable
:
'预计返佣'
,
text
:
'{PpredictBalance}'
,
}
],
tipsMsgId
:
[
0
,
1
,
2
,
3
],
//请求
msg
:
{
SendTitle
:
''
,
...
...
@@ -228,6 +285,50 @@ export default {
this
.
getCompany
()
},
methods
:
{
changeText
:
function
(
params
)
{
let
list
=
[]
this
.
tipsMsgList
.
map
(
x
=>
{
if
(
params
.
indexOf
(
x
.
text
)
!==
-
1
){
list
.
push
(
x
.
id
)
}
})
this
.
addMsg
.
ISShowList
=
list
},
diff
(
arr1
,
arr2
){
var
a
=
[];
var
b
=
[];
for
(
var
i
=
0
;
i
<
arr2
.
length
;
i
++
){
a
[
arr2
[
i
]]
=
true
;
}
for
(
var
i
=
0
;
i
<
arr1
.
length
;
i
++
){
if
(
!
a
[
arr1
[
i
]]){
b
.
push
(
arr1
[
i
]);
}
}
return
b
},
changeCheckbox
:
function
(
list
){
let
SendContent
=
this
.
addMsg
.
SendContent
let
Ids
=
[]
if
(
list
.
length
>
0
)
{
Ids
=
this
.
diff
(
this
.
tipsMsgId
,
list
)
}
else
{
this
.
tipsMsgList
.
map
(
x
=>
{
SendContent
=
SendContent
.
replace
(
x
.
text
,
''
)
})
}
Ids
.
map
(
x
=>
{
if
(
SendContent
.
indexOf
(
this
.
tipsMsgList
[
x
].
text
)
!==
-
1
){
SendContent
=
SendContent
.
replace
(
this
.
tipsMsgList
[
x
].
text
,
''
)
}
})
list
.
map
(
x
=>
{
if
(
SendContent
.
indexOf
(
this
.
tipsMsgList
[
x
].
text
)
==
-
1
){
SendContent
=
SendContent
+
this
.
tipsMsgList
[
x
].
text
}
})
this
.
addMsg
.
SendContent
=
SendContent
},
// 禁用
deleteItem
:
function
(
id
)
{
this
.
$confirm
(
'确认禁用?'
,
this
.
$t
(
'tips.tips'
),
{
...
...
src/components/onedayTripContract.vue
View file @
95c9d1cc
<
style
>
*
{
margin
:
0
;
padding
:
0
;
}
.TC-MainContent
{
*
{
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
{
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
{
}
.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
:
''
;
font-size
:
13px
;
}
.TC-MainContent
.fixedMenu
li
:after
{
content
:
""
;
display
:
block
;
width
:
0
;
height
:
0
;
...
...
@@ -36,11 +36,11 @@
position
:
absolute
;
right
:
-12px
;
top
:
11px
;
}
.TC-MainContent
.contractTit
{
}
.TC-MainContent
.contractTit
{
position
:
fixed
;
left
:
0
;
top
:
0
;
top
:
0
;
width
:
100%
;
z-index
:
1000
;
padding
:
15px
20px
12px
;
...
...
@@ -49,133 +49,159 @@
background
:
url(../assets/img/bodyBg.png)
;
font-size
:
18px
;
color
:
#555
;
}
.TC-MainContent
.contractTit
span
{
}
.TC-MainContent
.contractTit
span
{
font-size
:
21px
;
font-weight
:
bold
;
}
.TC-MainContent
.block
{
}
.TC-MainContent
.block
{
border
:
1px
solid
#cdcdcd
;
background
:
#f9f9f9
;
position
:
relative
;
margin-bottom
:
20px
;
}
.TC-MainContent
.container-fluid
{
}
.TC-MainContent
.container-fluid
{
padding-right
:
20px
;
padding-left
:
20px
;
*
zoom
:
1
;
}
.TC-MainContent
.mtop15
{
margin-top
:
15px
;
}
.TC-MainContent
.blockTitle
{
}
.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
;
}
.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
{
}
.TC-MainContent
.blockTitle
h2
{
font-size
:
15px
;
min-height
:
40px
;
margin
:
0
;
font-family
:
'Microsoft Yahei'
;
font-family
:
"Microsoft Yahei"
;
color
:
#5b5b5b
;
padding-right
:
15px
;
padding-left
:
48px
;
line-height
:
40px
;
}
.TC-MainContent
.blockTitle
h2
{
}
.TC-MainContent
.blockTitle
h2
{
font-size
:
15px
;
min-height
:
40px
;
margin
:
0
;
font-family
:
'Microsoft Yahei'
;
font-family
:
"Microsoft Yahei"
;
color
:
#5b5b5b
;
padding-right
:
15px
;
padding-left
:
48px
;
}
.TC-MainContent
.block
em
{
}
.TC-MainContent
.block
em
{
font-style
:
normal
;
}
.TC-MainContent
.createTableTitle
{
}
.TC-MainContent
.createTableTitle
{
padding
:
10px
0
;
margin
:
5px
30px
0
;
border-bottom
:
1px
dashed
#ccc
;
font
:
normal
15px
'microsoft yahei'
;
}
.TC-MainContent
.createTable
{
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
;
}
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
{
.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
;
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
{
}
.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
{
}
.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
{
}
.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-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
);
...
...
@@ -184,18 +210,24 @@
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
;
*
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-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
);
...
...
@@ -204,46 +236,54 @@
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
;
}
.feeJisuan
.el-form-item__label
{
margin-top
:
5px
;
}
.onedayRed
{
color
:
red
;
}
.onedayAccount
.el-form-item__label
{
margin-top
:
5px
;
}
.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>
<li
v-for=
"(item, index) in menuArr"
:key=
"index"
:class=
"
{ active: index == ckedIndex }"
@click="(ckedIndex = index), goAnchor('#anchor-' + index)"
>
{{
item
}}
</li>
</ul>
<div
class=
"contractTit"
>
<span>
...
...
@@ -251,11 +291,20 @@
<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=
"保存"
/>
<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=
"container-fluid"
style=
"padding-top: 60px; padding-left: 220px;"
>
<div
class=
"block mtop15"
id=
"anchor-0"
ref=
"anchor0"
>
<div
class=
"blockTitle"
>
<span
class=
"icon"
>
...
...
@@ -271,42 +320,71 @@
<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-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-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-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-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-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-input
type=
"text"
v-model=
"CtObj.Tourists_Addres"
class=
"w300"
></el-input>
</el-form-item>
</td>
</tr>
...
...
@@ -318,14 +396,24 @@
<tr>
<td>
<el-form-item
label=
"名称"
>
<el-input
type=
"text"
v-model=
"CtObj.TravelAgency_Name"
:disabled=
"true"
class=
"w300"
></el-input>
<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-input
type=
"text"
class=
"w300"
:disabled=
"true"
v-model=
"CtObj.TravelAgency_LicenseNum"
></el-input>
</el-form-item>
</td>
</tr>
...
...
@@ -333,56 +421,89 @@
<td>
<!-- 无 -->
<el-form-item
label=
"经营范围"
>
<el-input
type=
"text"
class=
"w300"
:disabled=
"true"
></el-input>
<el-input
type=
"text"
class=
"w300"
:disabled=
"true"
v-model=
"CtObj.TravelAgency_Scope"
></el-input>
</el-form-item>
</td>
</tr>
<tr>
<td>
<el-form-item
label=
"联系电话"
>
<el-input
type=
"text"
class=
"w300"
v-model=
"CtObj.TravelAgency_Tel"
></el-input>
<el-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-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-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-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-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-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-input
type=
"text"
class=
"w300"
v-model=
"CtObj.TravelAgency_SignAddress"
></el-input>
</el-form-item>
</td>
</tr>
...
...
@@ -394,21 +515,33 @@
<tr>
<td>
<el-form-item
label=
"姓名"
>
<el-input
type=
"text"
class=
"w300"
v-model=
"CtObj.Guide_Name"
></el-input>
<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-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-input
type=
"text"
class=
"w300"
v-model=
"CtObj.Guide_Tel"
></el-input>
</el-form-item>
</td>
</tr>
...
...
@@ -430,28 +563,46 @@
<tr>
<td>
<el-form-item
label=
"团号"
>
<el-input
type=
"text"
class=
"w300"
v-model=
"CtObj.C_TCNUM"
></el-input>
<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-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-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-input
type=
"text"
class=
"w300"
v-model=
"CtObj.C_ReturnAddress"
></el-input>
</el-form-item>
</td>
</tr>
...
...
@@ -467,7 +618,8 @@
</tr>
<tr>
<td>
<div
style=
"margin:0 0 20px 108px;"
><span
class=
"onedayRed"
>
*
</span>
<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>
...
...
@@ -479,14 +631,22 @@
<tr>
<td>
<el-form-item
label=
"车牌号码"
>
<el-input
type=
"text"
class=
"w300"
v-model=
"CtObj.C_BusCode"
></el-input>
<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-input
type=
"text"
class=
"w300"
v-model=
"CtObj.C_DriverName"
></el-input>
</el-form-item>
</td>
</tr>
...
...
@@ -497,14 +657,16 @@
</tr>
<tr>
<td>
<div
style=
"margin-left:108px;display:inline-block;"
><span
class=
"onedayRed"
>
*
</span>
<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>
<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>
...
...
@@ -512,7 +674,6 @@
<el-radio
:label=
"3"
>
大巴
</el-radio>
</el-radio-group>
</div>
</td>
</tr>
</tbody>
...
...
@@ -528,14 +689,22 @@
<tr>
<td>
<el-form-item
label=
"地点"
>
<el-input
type=
"text"
class=
"w300"
v-model=
"CtObj.C_BreakfastAddress"
></el-input>
<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-input
type=
"text"
class=
"w300"
v-model=
"CtObj.C_BreakfastBasic"
></el-input>
</el-form-item>
</td>
</tr>
...
...
@@ -547,14 +716,22 @@
<tr>
<td>
<el-form-item
label=
"地点"
>
<el-input
type=
"text"
class=
"w300"
v-model=
"CtObj.C_LunchAddress"
></el-input>
<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-input
type=
"text"
class=
"w300"
v-model=
"CtObj.C_LunchBasic"
></el-input>
</el-form-item>
</td>
</tr>
...
...
@@ -566,14 +743,22 @@
<tr>
<td>
<el-form-item
label=
"地点"
>
<el-input
type=
"text"
class=
"w300"
v-model=
"CtObj.C_DinnerAddress"
></el-input>
<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-input
type=
"text"
class=
"w300"
v-model=
"CtObj.C_DinnerBasic"
></el-input>
</el-form-item>
</td>
</tr>
...
...
@@ -585,59 +770,108 @@
<tr>
<td>
<el-form-item
label=
"成人"
style=
"display:inline-block;"
>
<el-input
type=
"text"
class=
"w150"
v-model=
"CtObj.C_AdultNum"
></el-input>
人×
<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
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
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
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
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-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-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
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-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>
<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
:label=
"1
"
>
现金
</el-radio>
<el-radio
:label=
"5
"
>
转账
</el-radio>
</el-radio-group>
</div>
<div
style=
"margin:10px 0 0 10px;display:inline-block;"
class=
"onedayAccount"
>
<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-input
type=
"text"
class=
"w150"
v-model=
"CtObj.C_PayTypeRemark
"
></el-input>
</el-form-item>
</div>
</td>
</tr>
</tbody>
</table>
<div
class=
"createTableTitle"
>
争议的解决方式
</div>
...
...
@@ -646,36 +880,71 @@
<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
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
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-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
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
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>
<div
style=
"margin:0 0 20px 130px;"
>
<span
class=
"onedayRed"
>
*
</span>
协商或投诉调解不成的,按下列第
<el-select
class=
"w60"
placeholder=
""
v-model=
"CtObj.C_SolveType"
>
<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>
种方式解决:
</el-select>
种方式解决:
</div>
</td>
</tr>
...
...
@@ -698,8 +967,15 @@
<em>
其他约定
</em>
</h2>
</div>
<div
style=
"padding:10px;"
>
未尽事宜,经旅游者和出境社双方协商一致,可以列入补充条款。(如合同空间不够,可以另附纸张,由双方签字或者盖章确认。)
</div>
<el-input
type=
"textarea"
resize=
"none"
v-model=
"CtObj.OtherConvention"
rows=
"13"
></el-input>
<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"
>
...
...
@@ -736,7 +1012,12 @@
<em>
游客信息
</em>
</h2>
</div>
<table
class=
"singeRowTable TcNewTable"
border=
"0"
cellspacing=
"0"
cellpadding=
"0"
>
<table
class=
"singeRowTable TcNewTable"
border=
"0"
cellspacing=
"0"
cellpadding=
"0"
>
<tr>
<th
width=
"80"
>
序号
</th>
<th><span
class=
"onedayRed"
>
*
</span>
姓名
</th>
...
...
@@ -747,21 +1028,28 @@
<th>
身体状况
</th>
<th>
操作
</th>
</tr>
<tr
v-for=
"(item,index) in touristList
"
>
<td>
{{
index
+
1
}}
</td>
<tr
v-for=
"(item, index) in CtObj.ContractGuestList"
:key=
"index
"
>
<td>
{{
index
+
1
}}
</td>
<td>
<span
v-if=
"item.IsShow==0"
>
{{
item
.
CGuestName
}}
</span>
<el-input
type=
"text"
class=
"w150"
v-model=
"item.CGuestName"
v-else
></el-input>
<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>
<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>
<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>
...
...
@@ -771,37 +1059,87 @@
</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>
<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>
<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>
<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
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
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
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=
"+添加游客"
/>
<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"
>
...
...
@@ -812,7 +1150,12 @@
<em>
自愿购物活动补充协议
</em>
</h2>
</div>
<table
class=
"singeRowTable TcNewTable"
border=
"0"
cellspacing=
"0"
cellpadding=
"0"
>
<table
class=
"singeRowTable TcNewTable"
border=
"0"
cellspacing=
"0"
cellpadding=
"0"
>
<tbody>
<tr>
<th
width=
"60"
>
序号
</th>
...
...
@@ -825,53 +1168,120 @@
<th
width=
"12%"
>
旅游者签名同意
</th>
<th
width=
"100"
>
操作
</th>
</tr>
<tr
v-for=
"(item,index) in VoluntaryArr
"
>
<tr
v-for=
"(item, index) in CtObj.ContractShopList"
:key=
"index
"
>
<td>
{{
index
+
1
}}
{{
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>
<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>
<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>
<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>
<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>
<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>
<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>
<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
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
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
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=
"+添加记录"
/>
<input
type=
"button"
class=
"TC_NewAddBtn"
@
click=
"addRecord()"
value=
"+添加记录"
/>
</td>
</tr>
</tbody>
...
...
@@ -882,234 +1292,201 @@
</div>
</
template
>
<
script
>
import
moment
from
'moment'
export
default
{
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
,
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
:
''
,
// 机票加酒店组合总费用
CtObj
:
{
CType
:
3
,
//合同类型:(1-单项委托协议[平台版2018],2大陆境内旅游合同2014,3-全国版国内旅游一日游旅游合同示范文本[2015版])
Tourists_Name
:
""
,
Tourists_IDNum
:
""
,
Tourists_Addres
:
""
,
Tourists_Tel
:
""
,
Tourists_Email
:
""
,
Tourists_PostNum
:
""
,
Tourists_Fax
:
""
,
Tourists_EmergencyLinkMan
:
""
,
Tourists_EmergencyLinkTel
:
""
,
TravelAgency_Name
:
"四川和平国际旅行社有限公司"
,
//旅行社名称
TravelAgency_LicenseNum
:
"L-SC-CJ00015"
,
TravelAgency_DealMan
:
""
,
TravelAgency_IDNum
:
""
,
TravelAgency_Address
:
"成都市锦江区一环路东五段87号2幢23层2310.2311.2312号"
,
TravelAgency_Tel
:
""
,
TravelAgency_Fax
:
""
,
TravelAgency_PostNum
:
""
,
TravelAgency_Email
:
""
,
TravelAgency_Scope
:
"出境游/境内游"
,
//旅行社经营范围
TravelAgency_SignAddress
:
""
,
Guide_Name
:
""
,
Guide_Num
:
""
,
Guide_Tel
:
""
,
C_TCNUM
:
""
,
//团号
C_ProductName
:
""
,
C_StartDate
:
""
,
//出发时间
C_EndDate
:
""
,
C_DayNum
:
""
,
C_NightNum
:
""
,
C_AdultNum
:
""
,
C_AdultPrice
:
""
,
//成人价格
C_ChildrenNum
:
""
,
C_ChildrenPrice
:
""
,
C_GuideServicePrice
:
""
,
C_TotalPrice
:
""
,
C_PayDate
:
""
,
C_PayType
:
1
,
// 旅游费用支付方式(1-现金,2-支票,3-信用卡,4-其他,5-转账)
C_PayTypeRemark
:
""
,
//转账填写转账账号和备注
C_InsuranceType
:
1
,
// 旅游者保险购买方式(1-委托旅行社购买,2-自行购买,3-放弃购买)
C_InsuranceName
:
""
,
C_LowNum
:
""
,
C_IsAgreeTravel
:
1
,
// 是否同意旅行社委托(1-不同意,0同意)
C_AgreeTravelName
:
""
,
// 是否同意旅行社名称
C_IsAgreeDelay
:
1
,
/// 是否同意延期出团(1-不同意,0同意)
C_IsAgreeCndorse
:
1
,
/// 是否同意改签(1-不同意,0同意)
C_IsAgreeRemove
:
1
,
// 是否同意解除合同(1-不同意,0同意)
C_IsAgreeSpellGroup
:
1
,
// 是否同意拼团(1-不同意,0同意)
C_SpellGroupName
:
""
,
// 拼团旅行社名称
C_SolveType
:
""
,
// 争议解决方式
C_SolveRemark
:
""
,
// 争议解决方式备注
C_ContractTotal
:
""
,
// 合同总分数
C_ContractPer
:
1
,
// 各持几份
C_StartAddress
:
""
,
// 出发地点
C_ReturnAddress
:
""
,
//返回地点
C_TrafficType
:
1
,
// 交通方式(1-合车游,2-包车游)
C_BusCode
:
""
,
// 车牌号
C_DriverName
:
""
,
// 驾驶员姓名
C_IsHaveKongTiao
:
1
,
// 是否有空调(0-有空调,1-无空调)
C_BusType
:
1
,
// 车辆类型(1-面包车,2-中巴车,3-大巴车)
C_BreakfastAddress
:
""
,
// 早餐地点
C_BreakfastBasic
:
""
,
// 早餐标准
C_LunchAddress
:
""
,
// 午餐地点
C_LunchBasic
:
""
,
// 午餐标准
C_DinnerAddress
:
""
,
// 晚餐地点
C_DinnerBasic
:
""
,
// 晚餐标准
C_IncludeRemark
:
""
,
// 费用包含
C_NonIncludeRemark
:
""
,
// 费用不包含
TravelAgency_ServiceTel
:
""
,
// 旅行社客服电话
C_ComplaintProvince
:
""
,
// 投诉省
C_ComplaintCity
:
""
,
// 投诉市
C_ComplaintTel
:
""
,
// 投诉电话
C_ComplaintEmail
:
""
,
// 投诉电子邮箱
C_ComplaintAddress
:
""
,
// 投诉地址
C_ComplaintPostNum
:
""
,
// 投诉邮编
C_ZhiFaTel
:
""
,
// 执法机构电话
C_XFZXHTSTel
:
""
,
// 消费者协会投诉电话
C_TicketDayNum
:
""
,
// 几日内出票
C_OrderDayNum
:
""
,
// 几日内下单
C_PayDayNum
:
""
,
// 几日内缴费
C_SignType
:
""
,
// 获取签证资料及领取签证方式
OtherConventionPrice
:
""
,
// 其他服务费用合计
OtherConvention
:
""
,
// 其他约定事项
TripJson
:
""
,
GuestJson
:
''
,
// 游客信息【json】
ShopJson
:
''
,
// 购物信息【json】
SelfFeeJson
:
''
,
// 自费信息【Json】
TicketJson
:
''
,
// 机票信息
TicketTotalNum
:
0
,
// 机票总数量
TicketOutDayNum
:
0
,
// 机票几日内出票
TicketTotalDepositPrice
:
0
,
// 机票预订总费用
HotelBookJson
:
""
,
// 酒店预订
HotelTotal
:
""
,
// 酒店多少间、晚
HotelCheckInType
:
""
,
// 酒店入住方式
HotelNotice
:
""
,
// 下订单后通知旅游者的方式
HotelTotalPrice
:
"0"
,
// 酒店费用总计
PickUpJson
:
""
,
// 接送信息
PickUpTotalPrice
:
"0"
,
// 接送总费用
VisaJson
:
""
,
// 签证信息
VisaTotalPrice
:
"0"
,
// 签证总费用
TicketAndHotelJson
:
""
,
// 机票与酒店信息
TicketAndHotelTotalPrice
:
"0"
,
// 机票加酒店组合总费用
ContractShopList
:
[],
//自愿购物活动补充协议
ContractGuestList
:
[],
//旅客名单
ContractTripList
:
[]
//行程列表
},
//旅客名单
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"
}],
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
,
menuArr
:
[
"合同基本信息"
,
"合同协议条款"
,
"其他约定"
,
"投诉联系"
,
"行程信息"
,
"游客信息"
,
"自愿购物活动补充协议"
],
ckedIndex
:
0
,
//旅客信息Arr
touristList
:[{
CGuestName
:
''
,
CGuestSex
:
'男'
,
CGuestCertificateType
:
'身份证'
,
CGuestCertificateNum
:
''
,
CGuestTel
:
''
,
CGuestHealth
:
'健康'
,
IsShow
:
1
}],
touristList
:
[
{
CGuestName
:
""
,
CGuestSex
:
"男"
,
CGuestCertificateType
:
"身份证"
,
CGuestCertificateNum
:
""
,
CGuestTel
:
""
,
CGuestHealth
:
"健康"
,
IsShow
:
1
}
]
};
},
methods
:
{
//跳转锚点
goAnchor
(
selector
)
{
var
anchor
=
this
.
$el
.
querySelector
(
selector
)
document
.
documentElement
.
scrollTop
=
anchor
.
offsetTop
-
70
var
anchor
=
this
.
$el
.
querySelector
(
selector
);
document
.
documentElement
.
scrollTop
=
anchor
.
offsetTop
-
70
;
},
getDate
(
date
)
{
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
)
{
SaveMsg
()
{
this
.
apipost
(
"travelcontract_post_SetTravelContractService"
,
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
);
},
err
=>
{}
);
},
//跳转至预览
goUrl
()
{
goUrl
()
{
this
.
$router
.
push
({
name
:
'TravelContractDetail'
,
name
:
"TravelContractDetail"
,
query
:
{
TCID
:
this
.
$route
.
query
.
TCID
,
guestId
:
this
.
CtObj
.
guestId
,
guestId
:
this
.
CtObj
.
guestId
,
orderID
:
this
.
$route
.
query
.
orderID
,
blank
:
"y"
,
blank
:
"y"
}
});
},
...
...
@@ -1120,73 +1497,54 @@
if
(
valid
)
{
this
.
SaveMsg
();
}
else
{
this
.
Error
(
'请完成必填项'
);
this
.
Error
(
"请完成必填项"
);
return
false
;
}
});
},
//添加补充协议
addRecord
()
{
let
obj
=
{
specificTime
:
''
,
Address
:
''
,
shoppName
:
''
,
CommodityInformation
:
''
,
stayTime
:
''
,
other
:
''
,
travelSign
:
''
,
IsShow
:
1
}
this
.
VoluntaryArr
.
push
(
obj
);
addRecord
()
{
let
obj
=
{
specificTime
:
""
,
Address
:
""
,
shoppName
:
""
,
CommodityInformation
:
""
,
stayTime
:
""
,
other
:
""
,
travelSign
:
""
,
IsShow
:
1
};
this
.
CtObj
.
ContractShopList
.
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
);
delVoluntray
(
index
)
{
this
.
CtObj
.
ContractShopList
.
splice
(
index
,
1
);
},
//删除自愿付费协议
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
.
touri
stList
.
push
(
obj
);
addTourist
()
{
this
.
CtObj
.
ContractGuestList
.
forEach
((
x
,
index
)
=>
{
x
.
IsShow
=
0
;
});
let
obj
=
{
CGuestName
:
""
,
CGuestSex
:
"男"
,
CGuestCertificateType
:
"身份证"
,
CGuestCertificateNum
:
""
,
CGuestTel
:
""
,
CGuestHealth
:
"健康"
,
IsShow
:
1
};
this
.
CtObj
.
ContractGue
stList
.
push
(
obj
);
},
//删除游客
delTouristArr
(
index
)
{
this
.
touri
stList
.
splice
(
index
,
1
);
delTouristArr
(
index
)
{
this
.
CtObj
.
ContractGue
stList
.
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
;
...
...
@@ -1195,25 +1553,25 @@
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
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
()
{
this
.
$nextTick
(
function
()
{
//滚动监听事件
window
.
addEventListener
(
'scroll'
,
this
.
menu
)
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