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
bc6d01c2
Commit
bc6d01c2
authored
Mar 30, 2023
by
沈良进
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
添加修改包机团
parent
a8c0ede1
Show whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
1492 additions
and
928 deletions
+1492
-928
SupplierIndex.vue
src/components/SupplierIndex.vue
+106
-1
travelTeamList.vue
src/components/TravelManager/TravelTeam/travelTeamList.vue
+24
-8
addInfo.vue
src/components/airplane/addInfo.vue
+1359
-916
index.js
src/plug/index.js
+2
-2
config.js
src/router/config.js
+1
-1
No files found.
src/components/SupplierIndex.vue
View file @
bc6d01c2
...
...
@@ -1552,8 +1552,113 @@
let
msgs
=
this
.
$store
.
state
.
currSessionMsgs
;
return
msgs
;
},
},
// mounted() {
// let that = this;
// this.MsgBus.$on('doudong', function () {
// that.dou()
// });
// this.MsgBus.$on('openChat', function (obj) {
// that.lt(obj)
// });
// const permissionNow = Notification.requestPermission();
// var hiddenProperty =
// "hidden" in document ?
// "hidden" :
// "webkitHidden" in document ?
// "webkitHidden" :
// "mozHidden" in document ?
// "mozHidden" :
// null;
// var visibilityChangeEvent = hiddenProperty.replace(
// /hidden/i,
// "visibilitychange"
// );
// var onVisibilityChange = function () {
// if (!document[hiddenProperty]) {
// that.isFocus = true;
// } else {
// that.isFocus = false;
// }
// };
// document.addEventListener(visibilityChangeEvent, onVisibilityChange);
// if (!localStorage.menu)
// this.$store.dispatch("connect");
// else {
// this.firstMenuList = JSON.parse(localStorage.menu)
// if (this.firstMenuList.indexOf('IM') != -1) {
// this.$store.dispatch("connect");
// }
// }
},
// this.getDynamic();
// this.getMyDynamic();
// this.getAboutMeDynamic();
// this.getWebAllPart();
// this.getNoticeList()
// document
// .getElementById("allDynamic")
// .addEventListener("scroll", function () {
// //全部动态
// if (this.scrollHeight - this.scrollTop === this.clientHeight) {
// that.isAppend = true;
// that.dynamicMsg.pageIndex =
// Math.ceil(that.dynamicList.length / 10) + 1;
// that.getDynamic();
// }
// });
// document.getElementById("myDynamic").addEventListener("scroll", function () {
// //我的动态
// if (this.scrollHeight - this.scrollTop === this.clientHeight) {
// that.isAppendOne = true;
// that.myDynamicMsg.pageIndex =
// Math.ceil(that.myDynamicList.length / 10) + 1;
// that.getMyDynamic();
// }
// });
// document
// .getElementById("aboutMeDynamic")
// .addEventListener("scroll", function () {
// //与我相关
// if (this.scrollHeight - this.scrollTop === this.clientHeight) {
// that.isAppendTwo = true;
// that.aboutMeDynamicMsg.pageIndex =
// Math.ceil(that.aboutMyDynamicList.length / 10) + 1;
// that.getAboutMeDynamic();
// }
// });
// if (
// window.localStorage.msgBoxInfo &&
// window.localStorage.msgBoxInfo != ""
// ) {
// this.boxInfo = JSON.parse(window.localStorage.msgBoxInfo);
// }
// if (this.boxInfo.x == 0) {
// this.boxInfo.x = 560;
// }
// if (this.boxInfo.y == 0) {
// this.boxInfo.y = 280;
// }
// document.title = this.userInfo.GroupName;
// this.getMenu();
// this.getBranchList();
// this.getProvinceList(651, 1);
// this.GetHotelList();
// this.getList2();
// this.GetHotelTipList();
// var url = window.location.href;
// if (String(url).indexOf('SupplierIndex') >= 0) {
// this.showPage = true;
// } else {
// this.showPage = false;
// };
// this.com_onresize();
// window.onresize = () => {
// this.com_onresize();
// }
// },
created
()
{
//页面刚进入时开启长连接
// this.initWebSocket()
...
...
src/components/TravelManager/TravelTeam/travelTeamList.vue
View file @
bc6d01c2
...
...
@@ -159,6 +159,7 @@
</span>
</li>
<li>
<button
class=
"hollowFixedBtn"
@
click=
"addAirplane"
>
新增
</button>
<button
class=
"hollowFixedBtn"
@
click=
"resetQuery"
>
{{
$t
(
'pub.searchBtn'
)
}}
</button>
</li>
</ul>
...
...
@@ -193,28 +194,28 @@
<div
class=
"el-colw-25"
>
<div
class=
"p20"
>
<span>
操作
</span>
<el-button
@
click
.
native=
'goUrl("RegistrationList", item.
TCID
,"报名情况")'
type=
"primary"
size=
"mini"
<el-button
@
click
.
native=
'goUrl("RegistrationList", item.
GTeamId
,"报名情况")'
type=
"primary"
size=
"mini"
style=
"background:#00C6FF; border-color:#00C6FF"
>
报名情况
</el-button>
<el-button
@
click
.
native=
'goUrl("RegistrationList", item.
TCID
,"财务入账")'
type=
"primary"
size=
"mini"
<el-button
@
click
.
native=
'goUrl("RegistrationList", item.
GTeamId
,"财务入账")'
type=
"primary"
size=
"mini"
style=
"background:#00C6FF; border-color:#00C6FF"
>
财务入账
</el-button>
<el-button
@
click
.
native=
'goUrl("RegistrationList", item.
TCID
,"财务审核")'
type=
"primary"
size=
"mini"
<el-button
@
click
.
native=
'goUrl("RegistrationList", item.
GTeamId
,"财务审核")'
type=
"primary"
size=
"mini"
style=
"background:#00C6FF; border-color:#00C6FF"
>
财务审核
</el-button>
<el-button
@
click
.
native=
'goUrl("
RegistrationList", item.TCID
,"修改")'
type=
"primary"
size=
"mini"
<el-button
@
click
.
native=
'goUrl("
airplaneInfo", item.GTeamId
,"修改")'
type=
"primary"
size=
"mini"
style=
"background:#00C6FF; border-color:#00C6FF"
>
修改
</el-button>
<el-button
@
click
.
native=
'goUrl("RegistrationList", item.
TCID
,"删除")'
type=
"primary"
size=
"mini"
<el-button
@
click
.
native=
'goUrl("RegistrationList", item.
GTeamId
,"删除")'
type=
"primary"
size=
"mini"
style=
"background:#00C6FF; border-color:#00C6FF"
>
删除
</el-button>
<el-button
@
click
.
native=
'goUrl("RegistrationList", item.
TCID
,"包机结算")'
type=
"primary"
size=
"mini"
<el-button
@
click
.
native=
'goUrl("RegistrationList", item.
GTeamId
,"包机结算")'
type=
"primary"
size=
"mini"
style=
"background:#00C6FF; border-color:#00C6FF"
>
包机结算
</el-button>
<el-button
@
click
.
native=
'goUrl("RegistrationList", item.
TCID
,"查看包机团")'
type=
"primary"
size=
"mini"
<el-button
@
click
.
native=
'goUrl("RegistrationList", item.
GTeamId
,"查看包机团")'
type=
"primary"
size=
"mini"
style=
"background:#00C6FF; border-color:#00C6FF"
>
查看包机团
</el-button>
<el-button
@
click
.
native=
'goUrl("RegistrationList", item.
TCID
,"添加包机团")'
type=
"primary"
size=
"mini"
<el-button
@
click
.
native=
'goUrl("RegistrationList", item.
GTeamId
,"添加包机团")'
type=
"primary"
size=
"mini"
style=
"background:#00C6FF; border-color:#00C6FF"
>
添加包机团
</el-button>
</div>
...
...
@@ -304,6 +305,21 @@
},
},
methods
:
{
goUrl
(
path
,
id
,
name
)
{
this
.
$router
.
push
({
name
:
path
,
query
:
{
id
:
id
,
blank
:
"y"
,
tab
:
name
}
});
},
addAirplane
()
{
this
.
$router
.
push
({
name
:
'airplaneInfo'
,
});
},
//翻页
handleCurrentChange
(
val
)
{
this
.
queryMsg
.
pageIndex
=
val
;
...
...
src/components/airplane/addInfo.vue
View file @
bc6d01c2
<
style
>
.transform
{
padding
:
30px
10px
10px
10px
;
}
.wrapper
{
width
:
600px
;
background
:
#fff
;
...
...
@@ -438,12 +441,9 @@
._add_hangban
{
padding
:
0px
15px
;
border-bottom
:
1px
dashed
#dadada
;
}
._add_hangban
>
li
{
float
:
left
;
display
:
-webkit-box
;
padding
:
20px
0
;
overflow
:
auto
;
}
...
...
@@ -453,7 +453,6 @@
}
._add_hangban
>
li
:nth-child
(
2
)
{
border-left
:
1px
dashed
#dadada
;
padding-left
:
10px
;
}
...
...
@@ -471,8 +470,9 @@
font-size
:
12px
;
color
:
#666666
;
background-color
:
#e0f4ff
;
width
:
230px
;
height
:
175px
;
width
:
330px
;
margin
:
10px
0
;
padding-bottom
:
20px
;
border-radius
:
4px
;
}
...
...
@@ -1216,7 +1216,7 @@
display
:
inline-block
;
min-width
:
35px
;
}
.TicketManager
.TK_raduis
ul
{
.TicketManager
.TK_raduis
ul
{
display
:
inline-block
;
}
.FinaceDanList
{
...
...
@@ -1284,136 +1284,300 @@
text-align
:
center
;
line-height
:
20px
;
}
.MyTicketManager
.TM_line
{
width
:
100%
;
height
:
1px
;
border-bottom
:
1px
dashed
#d1d1d1
;
margin
:
5px
0
;
.MyTicketManager
.TM_line
{
width
:
100%
;
height
:
1px
;
border-bottom
:
1px
dashed
#d1d1d1
;
margin
:
5px
0
;
}
</
style
>
<
template
>
<div
class=
"wrapper"
>
<el-form
:model=
"editForm"
label-width=
"100px"
>
<el-form
:model=
"editForm"
:rules=
"rules"
ref=
"form"
label-width=
"100px"
>
<div
class=
"edit_form_box"
>
<div>
<el-form-item
label=
"业务名称"
>
<el-form-item
label=
"业务名称"
prop=
"GTeamName"
>
<el-input
v-model=
"editForm.GTeamName"
></el-input>
</el-form-item>
<!--添加修改航班-->
<ul
class=
"_add_hangban clearfix"
>
<li
v-if=
"addMsg.TicketType"
:class=
"addMsg.TicketType==1?'_allWidth':''"
>
<span
class=
"_add_go_label"
>
{{
$t
(
'Airticket.Air_go'
)
}}
</span>
<div
class=
"_add_go"
v-for=
"(item,index) in addMsg.flightList"
:key=
"index"
>
<template
v-if=
"addMsg.flightList&&item.FlightSubType==1"
>
<li
v-if=
"addMsg.TicketType"
:class=
"addMsg.TicketType == 1 ? '_allWidth' : ''"
>
<span
class=
"_add_go_label"
>
{{
$t
(
"Airticket.Air_go"
)
}}
</span>
<div
class=
"_add_go"
v-for=
"(item, index) in addMsg.flightList"
:key=
"index"
>
<template
v-if=
"addMsg.flightList && item.TicketType == 1"
>
<div>
<p>
<span
class=
"iconfont icon-hangban"
></span>
<span>
{{
item
.
Flight_number
}}
{{
item
.
Departure_time
}}
</span>
<span
class=
"iconfont icon-xingzhuang"
@
click=
"deletFlightInfo(item.ID,index)"
></span>
</p>
<el-tooltip
class=
"item"
effect=
"dark"
:content=
"item.FlightDate"
placement=
"top-start"
popper-class=
"max-w250"
>
<p
class=
"_add_info"
>
<span>
{{
$t
(
'Airticket.Air_StartTime'
)
}}
:
{{
item
.
FlightDate
}}
</span>
<span>
{{
item
.
Flight_number
}}
</span>
<span
class=
"iconfont icon-xingzhuang"
@
click=
"deletFlightInfo(item.ID, index)"
></span>
</p>
<el-tooltip
class=
"item"
effect=
"dark"
:content=
"item.FlightDate"
placement=
"top-start"
popper-class=
"max-w250"
>
<!--
<p
class=
"_add_info"
>
<span
>
{{
$t
(
"Airticket.Air_StartTime"
)
}}
:
{{
item
.
FlightDate
}}
</span
>
</p>
-->
</el-tooltip>
<el-tooltip
class=
"item"
effect=
"dark"
:content=
"item.dName"
placement=
"top-start"
popper-class=
"max-w250"
>
<span
class=
"transform"
>
是否中转:
{{
item
.
IsTransfer
===
1
?
"是"
:
"否"
}}
</span
>
<el-tooltip
class=
"item"
effect=
"dark"
:content=
"item.dName"
placement=
"top-start"
popper-class=
"max-w250"
>
<p
class=
"_add_info"
>
<span>
{{
$t
(
'system.query_flightAir'
)
}}
:
{{
item
.
dName
}}
</span>
<span
>
{{
$t
(
"system.query_flightAir"
)
}}
:
{{
item
.
dName
}}
</span
>
</p>
</el-tooltip>
<el-tooltip
class=
"item"
effect=
"dark"
:content=
"item.aName"
placement=
"top-start"
popper-class=
"max-w250"
>
<el-tooltip
class=
"item"
effect=
"dark"
:content=
"item.aName"
placement=
"top-start"
popper-class=
"max-w250"
>
<p
class=
"_add_info"
>
<span>
{{
$t
(
'system.query_arrivalAir'
)
}}
:
{{
item
.
aName
}}
</span>
<span
>
{{
$t
(
"system.query_arrivalAir"
)
}}
:
{{
item
.
aName
}}
</span
>
</p>
</el-tooltip>
<div
style=
"margin:10px 0 0 12px;"
>
<el-input
type=
"text"
class=
"w80"
v-model=
"item.TicketDepartureTime"
@
keyup
.
native=
"checkTime(item,'TicketDepartureTime')"
maxlength=
"5"
:placeholder=
"$t('system.ph_time')"
></el-input>
-
<el-input
type=
"text"
class=
"w80"
v-model=
"item.TicketArrivalTime"
@
keyup
.
native=
"checkTime(item,'TicketArrivalTime')"
maxlength=
"5"
:placeholder=
"$t('system.ph_time')"
>
<!--
<div
style=
"margin: 10px 0 0 12px"
>
<el-input
type=
"text"
class=
"w80"
v-model=
"item.TicketDepartureTime"
@
keyup
.
native=
"checkTime(item, 'TicketDepartureTime')"
maxlength=
"5"
:placeholder=
"$t('system.ph_time')"
></el-input>
-
<el-input
type=
"text"
class=
"w80"
v-model=
"item.TicketArrivalTime"
@
keyup
.
native=
"checkTime(item, 'TicketArrivalTime')"
maxlength=
"5"
:placeholder=
"$t('system.ph_time')"
>
</el-input>
</div>
</div></
template
>
</div>
-->
</div
></
template
>
</div>
<div
class=
"_add_go _new_go"
>
<div>
<p>
<span>
{{$t('pub.addBtn')}}
</span>
<span
class=
"_add_btn"
@
click=
"addFlight()"
>
{{$t('pub.sureBtn')}}
</span>
<span>
{{ $t("pub.addBtn") }}
</span>
<span
class=
"_add_btn"
@
click=
"addFlight()"
>
{{
$t("pub.sureBtn")
}}
</span>
</p>
<span
class=
"_add_hbh"
>
<em
class
>
航空公司
</em>
<el-select
v-model=
"addGoFlight.AirLineID"
filterable
:placeholder=
"$t('pub.pleaseSel')"
@
change=
"getAirportNameList(addGoFlight.AirLineID,1)"
class=
"w150"
>
<el-option
v-for=
"item in airlineList"
:label=
"item.AlName"
:value=
"item.AirLineId"
:key=
"item.AirLineId"
></el-option>
<el-select
v-model=
"addGoFlight.AirLineID"
filterable
:placeholder=
"$t('pub.pleaseSel')"
@
change=
"getAirportNameList(addGoFlight.AirLineID, 1)"
class=
"w150"
>
<el-option
v-for=
"item in airlineList"
:label=
"item.AlName"
:value=
"item.AirLineId"
:key=
"item.AirLineId"
></el-option>
</el-select>
</span>
<span
class=
"_add_hbh"
>
<em
class
>
{{$t('system.query_flightNum')}}
</em>
<el-select
v-model=
"addGoFlight.FlightID"
filterable
:placeholder=
"$t('system.ph_choice')"
class=
"w150"
>
<el-option
v-for=
"item in AirportNameList"
:key=
"item.ID"
:label=
"item.Flight_number"
:value=
"item.ID"
></el-option>
<em
class
>
{{ $t("system.query_flightNum") }}
</em>
<el-select
v-model=
"addGoFlight.FlightId"
filterable
:placeholder=
"$t('system.ph_choice')"
class=
"w150"
>
<el-option
v-for=
"item in AirportNameList"
:key=
"item.ID"
:label=
"item.Flight_number"
:value=
"item.ID"
></el-option>
</el-select>
</span>
<span
class=
"_add_hbh"
>
<em
class
>
是否中转
</em>
<el-radio-group
v-model=
"addGoFlight.IsTransfer"
>
<el-radio
:label=
"1"
>
是
</el-radio>
<el-radio
:label=
"0"
>
否
</el-radio>
</el-radio-group>
</span>
</div>
</div>
</li>
<li
v-if=
"addMsg.TicketType==2"
>
<span
class=
"_add_go_label"
>
{{$t('Airticket.Air_returnTrip')}}
</span>
<div
class=
"_add_go"
v-for=
"(item,index) in addMsg.flightList"
:key=
"index"
>
<
template
v-if=
"addMsg.flightList&&item.FlightSubType==3"
>
<li
v-if=
"addMsg.TicketType == 2"
>
<span
class=
"_add_go_label"
>
{{
$t("Airticket.Air_returnTrip")
}}
</span>
<div
class=
"_add_go"
v-for=
"(item, index) in addMsg.flightList"
:key=
"index"
>
<
template
v-if=
"addMsg.flightList && item.TicketType == 2"
>
<div>
<p>
<span
class=
"iconfont icon-hangban"
></span>
<span>
{{
item
.
Flight_number
}}
{{
item
.
Departure_time
}}
</span>
<span
class=
"iconfont icon-xingzhuang"
@
click=
"deletFlightInfo(item.ID,index)"
></span>
</p>
<el-tooltip
class=
"item"
effect=
"dark"
:content=
"item.FlightDate"
placement=
"top-start"
popper-class=
"max-w250"
>
<p
class=
"_add_info"
>
<span>
{{
$t
(
'Airticket.Air_StartTime'
)
}}
:
{{
item
.
FlightDate
}}
</span>
<span
>
{{
item
.
Flight_number
}}
{{
item
.
Departure_time
}}
</span
>
<span
class=
"iconfont icon-xingzhuang"
@
click=
"deletFlightInfo(item.ID, index)"
></span>
</p>
</el-tooltip>
<el-tooltip
class=
"item"
effect=
"dark"
:content=
"item.dName"
placement=
"top-start"
popper-class=
"max-w250"
>
<span
class=
"transform"
>
是否中转:
{{
item
.
IsTransfer
===
1
?
"是"
:
"否"
}}
</span
>
<el-tooltip
class=
"item"
effect=
"dark"
:content=
"item.dName"
placement=
"top-start"
popper-class=
"max-w250"
>
<p
class=
"_add_info"
>
<span>
{{
$t
(
'system.query_flightAir'
)
}}
:
{{
item
.
dName
}}
</span>
<span
>
{{
$t
(
"system.query_flightAir"
)
}}
:
{{
item
.
dName
}}
</span
>
</p>
</el-tooltip>
<el-tooltip
class=
"item"
effect=
"dark"
:content=
"item.aName"
placement=
"top-start"
popper-class=
"max-w250"
>
<el-tooltip
class=
"item"
effect=
"dark"
:content=
"item.aName"
placement=
"top-start"
popper-class=
"max-w250"
>
<p
class=
"_add_info"
>
<span>
{{
$t
(
'system.query_arrivalAir'
)
}}
:
{{
item
.
aName
}}
</span>
<span
>
{{
$t
(
"system.query_arrivalAir"
)
}}
:
{{
item
.
aName
}}
</span
>
</p>
</el-tooltip>
<div
style=
"margin:10px 0 0 12px;"
>
<el-input
type=
"text"
class=
"w80"
v-model=
"item.TicketDepartureTime"
@
keyup
.
native=
"checkTime(item,'TicketDepartureTime')"
maxlength=
"5"
:placeholder=
"$t('system.ph_time')"
></el-input>
-
<el-input
type=
"text"
class=
"w80"
v-model=
"item.TicketArrivalTime"
@
keyup
.
native=
"checkTime(item,'TicketArrivalTime')"
maxlength=
"5"
:placeholder=
"$t('system.ph_time')"
>
<!--
<div
style=
"margin: 10px 0 0 12px"
>
<el-input
type=
"text"
class=
"w80"
v-model=
"item.TicketDepartureTime"
@
keyup
.
native=
"checkTime(item, 'TicketDepartureTime')"
maxlength=
"5"
:placeholder=
"$t('system.ph_time')"
></el-input>
-
<el-input
type=
"text"
class=
"w80"
v-model=
"item.TicketArrivalTime"
@
keyup
.
native=
"checkTime(item, 'TicketArrivalTime')"
maxlength=
"5"
:placeholder=
"$t('system.ph_time')"
>
</el-input>
</div
>
</div>
--
>
</div>
</
template
>
</div>
<div
class=
"_add_go _new_go"
>
<div>
<p>
<span>
{{$t('pub.addBtn')}}
</span>
<span
class=
"_add_btn"
@
click=
"addFlightReturn()"
>
{{$t('pub.sureBtn')}}
</span>
<span>
{{ $t("pub.addBtn") }}
</span>
<span
class=
"_add_btn"
@
click=
"addFlightReturn()"
>
{{
$t("pub.sureBtn")
}}
</span>
</p>
<span
class=
"_add_hbh"
>
<em
class
>
航空公司
</em>
<el-select
v-model=
"returnTripData.AirLineID"
filterable
:placeholder=
"$t('pub.pleaseSel')"
@
change=
"getAirportNameList(returnTripData.AirLineID,2)"
class=
"w150"
>
<el-option
v-for=
"item in airlineList"
:label=
"item.AlName"
:value=
"item.AirLineId"
:key=
"item.AirLineId"
></el-option>
<el-select
v-model=
"returnTripData.AirLineID"
filterable
:placeholder=
"$t('pub.pleaseSel')"
@
change=
"getAirportNameList(returnTripData.AirLineID, 2)"
class=
"w150"
>
<el-option
v-for=
"item in airlineList"
:label=
"item.AlName"
:value=
"item.AirLineId"
:key=
"item.AirLineId"
></el-option>
</el-select>
</span>
<span
class=
"_add_hbh"
>
<em
class
>
{{$t('system.query_flightNum')}}
</em>
<el-select
v-model=
"returnTripData.FlightID"
filterable
:placeholder=
"$t('system.ph_choice')"
class=
"w150"
>
<el-option
v-for=
"item in BackAirportNameList"
:key=
"item.ID"
:label=
"item.Flight_number"
:value=
"item.ID"
></el-option>
<em
class
>
{{ $t("system.query_flightNum") }}
</em>
<el-select
v-model=
"returnTripData.FlightId"
filterable
:placeholder=
"$t('system.ph_choice')"
class=
"w150"
>
<el-option
v-for=
"item in BackAirportNameList"
:key=
"item.ID"
:label=
"item.Flight_number"
:value=
"item.ID"
></el-option>
</el-select>
</span>
<span
class=
"_add_hbh"
>
<em
class
>
是否中转
</em>
<el-radio-group
v-model=
"returnTripData.IsTransfer"
>
<el-radio
:label=
"1"
>
是
</el-radio>
<el-radio
:label=
"0"
>
否
</el-radio>
</el-radio-group>
</span>
</div>
</div>
</li>
</ul>
</div>
<div>
<el-form-item
label=
"出发时间"
>
<el-form-item
label=
"出发时间"
prop=
"StartDate"
>
<el-date-picker
value-format=
"yyyy-MM-dd"
v-model=
"editForm.StartDate"
...
...
@@ -1422,29 +1586,60 @@
>
</el-date-picker>
</el-form-item>
<el-form-item
label=
"经济舱"
>
<el-form-item
label=
"经济舱"
prop=
"YSeat"
>
<el-input
v-model=
"editForm.YSeat"
></el-input>
</el-form-item>
<el-form-item
label=
"商务舱"
>
<el-form-item
label=
"商务舱"
prop=
"CSeat"
>
<el-input
v-model=
"editForm.CSeat"
></el-input>
</el-form-item>
<el-form-item
label=
"头等舱"
>
<el-form-item
label=
"头等舱"
prop=
"FSeat"
>
<el-input
v-model=
"editForm.FSeat"
></el-input>
</el-form-item>
<el-form-item
label=
"中心价格"
prop=
"MiddlePrice"
>
<el-input
v-model=
"editForm.MiddlePrice"
></el-input>
</el-form-item>
<el-form-item
label=
"合作伙伴"
>
<el-select
v-model=
"returnTripData.FlightID"
filterable
:placeholder=
"$t('system.ph_choice')"
class=
"w150"
>
<el-option
v-for=
"item in BackAirportNameList"
:key=
"item.ID"
:label=
"item.Flight_number"
:value=
"item.ID"
></el-option>
<el-select
multiple
v-model=
"friendValue"
filterable
:placeholder=
"$t('system.ph_choice')"
class=
"w150"
>
<el-option
v-for=
"item in friendList"
:key=
"item.ID"
:label=
"item.CustomerName"
:value=
"item.ID"
></el-option>
</el-select>
</el-form-item>
<el-form-item
label=
"备注"
>
<el-input
v-model=
"editForm.Remark"
></el-input>
</el-form-item>
<el-form-item
label=
"附件"
>
<td
colspan=
"13"
>
<el-upload
v-show=
"!ContractArray.length"
class=
"upload-demo"
style=
"display:inline-block;position:relative;top:-1px;left:3px;"
:http-request=
"uploadFileBtn"
:show-file-list=
"false"
action=
""
>
<el-button
size=
"small"
type=
"primary"
>
添加附件
</el-button>
</el-upload>
<
template
v-if=
"ContractArray&& ContractArray.length>0"
>
<template
v-for=
"(subItem,subIndex) in ContractArray"
>
<a
style=
"margin-left:20px;color:blue;cursor:pointer;"
target=
"_blank"
:key=
"subIndex"
@
click=
"downloadFile(subItem.Url,subItem.Name)"
>
{{
subItem
.
Name
}}
</a>
<a
:key=
"subIndex+1000"
style=
"margin-left:20px;color:blue;cursor:pointer;"
@
click=
"DeleteFile(subIndex)"
>
删除
</a>
</
template
>
</template>
</td>
</el-form-item>
</div>
</div>
<div
class=
"TravelFlightList"
>
<
div
class=
"TFAddFlight"
@
click=
"submit"
>
<
el-button
class=
"TFAddFlight"
@
click=
"submit"
>
<i
class=
"iconfont icon-img_haha"
></i>
添加
</
div
>
</
el-button
>
</div>
</el-form>
</div>
...
...
@@ -1458,13 +1653,176 @@ const baseInfo = {
export
default
{
data
()
{
return
{
ContractArray
:
[],
rules
:
{
GTeamName
:
[{
required
:
true
,
message
:
"请输入业务名称"
,
trigger
:
"blur"
}],
StartDate
:
[{
required
:
true
,
message
:
"请选择出发时间"
,
trigger
:
"blur"
}],
FSeat
:
[{
required
:
true
,
message
:
"请输入头等舱价格"
,
trigger
:
"blur"
}],
CSeat
:
[{
required
:
true
,
message
:
"请输入商务舱价格"
,
trigger
:
"blur"
}],
YSeat
:
[{
required
:
true
,
message
:
"请输入经济舱价格"
,
trigger
:
"blur"
}],
MiddlePrice
:
[{
required
:
true
,
message
:
"请输入中心价格"
,
trigger
:
"blur"
}],
Remark
:
[{
required
:
true
,
message
:
"请输入备注"
,
trigger
:
"blur"
}],
C_StartAddress
:
[{
required
:
true
,
message
:
"请输入出发地点"
,
trigger
:
"change"
}],
C_ReturnAddress
:
[{
required
:
true
,
message
:
"请输入返回地点"
,
trigger
:
"change"
}],
C_AdultNum
:
[{
required
:
true
,
message
:
"请输入成人数"
,
trigger
:
"change"
}],
C_PayDate
:
[{
required
:
true
,
message
:
"请选择支付日期"
,
trigger
:
"change"
}]
},
detailInfo
:
{},
friendValue
:
[],
friendList
:
[
{
RealNameAuthentication
:
null
,
ID
:
21007
,
EmployeeId
:
2734
,
EmName
:
"梁蕙蕙"
,
CreateDate
:
"2023-02-02T10:46:07"
,
RB_Department_Id
:
367
,
CustomerId
:
23611
,
CustomerName
:
"上億旅行社股份有限公司"
,
Contact
:
"杜董"
,
ContactNumber
:
"037-728510"
,
CouponNum
:
0
,
CustomerAccountId
:
15801
,
Address
:
"台湾苗栗,後龍鎮北龍里中山路8鄰73號"
,
Remark
:
""
,
CustomerStatus
:
2
,
CL_Balance
:
0.0
,
DepName
:
"操作部(台湾)"
,
TotalPrice
:
6081192.79
,
AllianceName
:
null
,
ClientNum
:
1
,
TotalGuestNum
:
4
,
ExceptionCount
:
0
,
IsSys
:
0
,
},
{
RealNameAuthentication
:
null
,
ID
:
20964
,
EmployeeId
:
2732
,
EmName
:
"蘇琬真"
,
CreateDate
:
"2023-01-05T19:39:40"
,
RB_Department_Id
:
1
,
CustomerId
:
23565
,
CustomerName
:
"金龍永盛旅行社"
,
Contact
:
"黃昊龍(副理)"
,
ContactNumber
:
"0927901267"
,
CouponNum
:
0
,
CustomerAccountId
:
15755
,
Address
:
"台湾高雄苓雅区,四維三路9樓之2"
,
Remark
:
""
,
CustomerStatus
:
2
,
CL_Balance
:
0.0
,
DepName
:
"財務部(台湾)"
,
TotalPrice
:
3058810.0
,
AllianceName
:
null
,
ClientNum
:
1
,
TotalGuestNum
:
3
,
ExceptionCount
:
0
,
IsSys
:
0
,
},
{
RealNameAuthentication
:
null
,
ID
:
18336
,
EmployeeId
:
2027
,
EmName
:
"王敏(长沙)"
,
CreateDate
:
"2019-06-09T13:41:53"
,
RB_Department_Id
:
308
,
CustomerId
:
7989
,
CustomerName
:
"北京凯撒"
,
Contact
:
"白静"
,
ContactNumber
:
"13671116017"
,
CouponNum
:
0
,
CustomerAccountId
:
7798
,
Address
:
"中国北京北京,1"
,
Remark
:
""
,
CustomerStatus
:
2
,
CL_Balance
:
0.0
,
DepName
:
"销售部二组(长沙)"
,
TotalPrice
:
1676928.0
,
AllianceName
:
null
,
ClientNum
:
2
,
TotalGuestNum
:
162
,
ExceptionCount
:
0
,
IsSys
:
0
,
},
{
RealNameAuthentication
:
null
,
ID
:
14853
,
EmployeeId
:
46
,
EmName
:
"唐雪梅"
,
CreateDate
:
"2019-10-24T13:16:02"
,
RB_Department_Id
:
240
,
CustomerId
:
11788
,
CustomerName
:
"成都海外门市 "
,
Contact
:
"小唐"
,
ContactNumber
:
"18980768620"
,
CouponNum
:
0
,
CustomerAccountId
:
11706
,
Address
:
",,四川省成都市罗马假日广场"
,
Remark
:
""
,
CustomerStatus
:
2
,
CL_Balance
:
0.0
,
DepName
:
"日本线地接部"
,
TotalPrice
:
1389307.26
,
AllianceName
:
null
,
ClientNum
:
1
,
TotalGuestNum
:
265
,
ExceptionCount
:
0
,
IsSys
:
0
,
},
],
addMsg
:
{
TicketType
:
2
,
flightList
:
[]
flightList
:
[],
},
addGoFlight
:
{},
list
:
[],
AirportNameList
:
[],
BackAirportNameList
:
[],
AirportNameList
:
[],
BackAirportNameList
:
[],
airlineList
:
[],
editForm
:
{
GTeamName
:
""
,
// 业务名称
...
...
@@ -1474,63 +1832,86 @@ export default {
YSeat
:
""
,
// 经济舱
MiddlePrice
:
""
,
// 中心价格
Remark
:
""
,
// 备注
TCID
:
""
,
// 关联团编号
TicketId
:
""
,
// 绑定真实机票Id
TCID
:
0
,
// 关联团编号
TicketId
:
0
,
// 绑定真实机票Id
WordUrl
:
""
,
// Word行程
TravelTeamFlightList
:
""
,
// 航班信息列表
TravelTeamFlightList
:
""
,
// 航班id
TravelTeamFlightList
:
""
,
// 机票类型 1:去程,2回程
TravelTeamFlightList
:
""
,
// 是否中转 0:否,1:是
TravelTeamFlightList
:
""
,
// 包机航班主键Id
TravelTeamPartnerList
:
""
,
// 合作伙伴列表
TravelTeamPartnerList
:
""
,
// 客户id
TravelTeamPartnerList
:
""
,
// 包机合作伙伴主键编号
GTeamId
:
""
,
// 包机id(新增默认0)
TravelTeamFlightList
:
[],
// 航班信息列表
TravelTeamPartnerList
:
[],
// 合作伙伴列表
GTeamId
:
0
,
// 包机id(新增默认0)
},
baseList
:
[
this
.
createBaseInfo
()],
//去程
addGoFlight
:
{
AirLineTicketId
:
0
,
FlightType
:
""
,
FlightID
:
""
,
FlightId
:
""
,
IsTransfer
:
0
,
FlightDate
:
""
,
aName
:
""
,
dName
:
""
,
FlightSub
Type
:
1
,
Ticket
Type
:
1
,
ID
:
0
,
AirLineID
:
0
AirLineID
:
0
,
},
//回程
returnTripData
:
{
AirLineTicketId
:
0
,
FlightType
:
""
,
FlightID
:
""
,
FlightId
:
""
,
IsTransfer
:
0
,
FlightDate
:
""
,
aName
:
""
,
dName
:
""
,
FlightSubType
:
3
,
TicketType
:
2
,
ID
:
0
,
AirLineID
:
0
AirLineID
:
0
,
},
};
},
mounted
()
{
this
.
initAirlines
()
this
.
getList
()
this
.
initAirlines
();
this
.
getList
();
const
{
id
}
=
this
.
$route
.
query
if
(
id
)
{
this
.
getDetail
(
id
);
}
},
methods
:
{
// 获取包机详情
getDetail
(
id
)
{
this
.
apipost
(
"post_GetTravelTeamInfo"
,
{
GTeamId
:
id
},
(
res
)
=>
{
if
(
res
.
data
.
resultCode
==
1
)
{
this
.
detailInfo
=
res
.
data
.
data
this
.
editForm
=
res
.
data
.
data
const
{
TravelTeamFlightList
,
TravelTeamPartnerList
}
=
res
.
data
.
data
TravelTeamFlightList
.
forEach
(
item
=>
{
item
.
IsTransfer
=
item
.
IsTransfer
||
0
;
item
.
TicketType
=
Math
.
random
()
>
0.5
?
1
:
2
;
})
this
.
addMsg
.
flightList
=
TravelTeamFlightList
this
.
friendValue
=
TravelTeamPartnerList
// this.
console
.
log
(
'this.addMsg.flightList'
,
this
.
addMsg
.
flightList
)
}
else
{
this
.
$message
.
error
(
res
.
data
.
message
);
}
},
(
err
)
=>
{}
);
},
// 获取合作伙伴列表
getList
()
{
if
(
this
.
departState
)
{
this
.
msg
.
allDepartment
=
1
if
(
this
.
departState
)
{
this
.
msg
.
allDepartment
=
1
;
}
this
.
apipost
(
"app_customer_GetCustomerListForCareOf"
,
this
.
msg
,
res
=>
{
(
res
)
=>
{
if
(
res
.
data
.
resultCode
==
1
)
{
this
.
customerListAll
=
[];
res
.
data
.
data
.
pages
.
pageData
.
forEach
(
item
=>
{
res
.
data
.
data
.
pages
.
pageData
.
forEach
(
(
item
)
=>
{
this
.
customerListAll
.
push
(
item
.
CustomerId
);
item
.
CustomerIdS
=
item
.
CustomerId
;
item
.
CustomerId
=
...
...
@@ -1542,14 +1923,14 @@ export default {
item
[
"disabled"
]
=
false
;
item
.
Address
=
item
.
Address
.
split
(
","
).
join
(
""
);
});
this
.
datainfo
=
res
.
data
.
data
;
this
.
datainfo
=
res
.
data
.
data
;
this
.
list
=
res
.
data
.
data
.
pages
.
pageData
;
this
.
total
=
res
.
data
.
data
.
pages
.
count
;
}
else
{
this
.
$message
.
error
(
res
.
data
.
message
);
}
},
err
=>
{}
(
err
)
=>
{}
);
},
//初始化航空公司下拉
...
...
@@ -1557,29 +1938,29 @@ export default {
this
.
apipost
(
"airline_post_GetList"
,
{},
res
=>
{
(
res
)
=>
{
if
(
res
.
data
.
resultCode
==
1
)
{
this
.
airlineList
=
res
.
data
.
data
;
}
},
err
=>
{}
(
err
)
=>
{}
);
},
//根据航空公司ID 获取机场列表
},
//根据航空公司ID 获取机场列表
getAirportNameList
(
AirLineID
,
type
)
{
if
(
type
==
1
)
{
this
.
addGoFlight
.
FlightID
=
""
;
this
.
addGoFlight
.
FlightId
=
""
;
this
.
addGoFlight
.
FlightDate
=
""
;
}
else
{
this
.
returnTripData
.
FlightID
=
""
;
this
.
returnTripData
.
FlightId
=
""
;
this
.
returnTripData
.
FlightDate
=
""
;
}
let
msg
=
{
airlineID
:
AirLineID
airlineID
:
AirLineID
,
};
this
.
apipost
(
"flight_post_GetAirportNameListExt"
,
msg
,
res
=>
{
(
res
)
=>
{
if
(
res
.
data
.
resultCode
==
1
)
{
if
(
type
==
1
)
{
this
.
AirportNameList
=
res
.
data
.
data
;
...
...
@@ -1588,7 +1969,7 @@ export default {
}
}
},
err
=>
{}
(
err
)
=>
{}
);
},
handleAddOrDelete
(
index
)
{
...
...
@@ -1603,18 +1984,21 @@ export default {
},
//新增去程
addFlight
()
{
console
.
log
(
' this.AirportNameList'
,
this
.
AirportNameList
,
this
.
addGoFlight
)
console
.
log
(
" this.AirportNameList"
,
this
.
AirportNameList
,
this
.
addGoFlight
);
var
newList
=
{};
this
.
AirportNameList
.
forEach
(
x
=>
{
if
(
x
.
ID
==
this
.
addGoFlight
.
FlightID
)
{
newList
.
TicketType
=
0
this
.
AirportNameList
.
forEach
((
x
)
=>
{
if
(
x
.
ID
==
this
.
addGoFlight
.
FlightId
)
{
newList
.
TicketType
=
1
;
newList
.
aName
=
x
.
aName
;
newList
.
dName
=
x
.
dName
;
newList
.
Flight_number
=
x
.
Flight_number
;
newList
.
FlightID
=
this
.
addGoFlight
.
FlightID
;
newList
.
FlightId
=
this
.
addGoFlight
.
FlightId
;
newList
.
AirLineTicketId
=
this
.
addGoFlight
.
AirLineTicketId
;
newList
.
AirLineID
=
this
.
addGoFlight
.
AirLineID
;
newList
.
FlightSubType
=
this
.
addGoFlight
.
FlightSubType
;
newList
.
TicketDepartureTime
=
x
.
DepartureTime
;
newList
.
TicketArrivalTime
=
x
.
ArrivalTime
;
newList
.
ID
=
this
.
addGoFlight
.
ID
;
...
...
@@ -1622,33 +2006,22 @@ export default {
}
});
this
.
addGoFlight
.
FlightDate
=
""
;
this
.
addGoFlight
.
FlightID
=
""
;
this
.
addGoFlight
.
FlightId
=
""
;
this
.
addGoFlight
.
AirLineID
=
0
;
},
//添加回程
addFlightReturn
()
{
var
newList
=
{};
var
newDate
=
this
.
returnTripData
.
FlightDate
;
this
.
BackAirportNameList
.
forEach
(
x
=>
{
if
(
x
.
ID
==
this
.
returnTripData
.
FlightID
)
{
let
returnFlightCount
=
0
;
this
.
addMsg
.
flightList
.
forEach
(
flight
=>
{
if
(
flight
.
FlightSubType
===
3
)
{
returnFlightCount
++
;
}
});
if
(
returnFlightCount
==
0
)
{
newList
.
FlightType
=
3
;
//回程
}
else
{
newList
.
FlightType
=
2
;
//回程中转
}
this
.
BackAirportNameList
.
forEach
((
x
)
=>
{
if
(
x
.
ID
==
this
.
returnTripData
.
FlightId
)
{
newList
.
TicketType
=
2
;
newList
.
aName
=
x
.
aName
;
newList
.
dName
=
x
.
dName
;
newList
.
Flight_number
=
x
.
Flight_number
;
newList
.
FlightDate
=
newDate
;
newList
.
FlightID
=
this
.
returnTripData
.
FlightID
;
newList
.
FlightId
=
this
.
returnTripData
.
FlightId
;
newList
.
AirLineTicketId
=
this
.
returnTripData
.
AirLineTicketId
;
newList
.
FlightSubType
=
this
.
returnTripData
.
FlightSubType
;
newList
.
AirLineID
=
this
.
returnTripData
.
AirLineID
;
newList
.
TicketDepartureTime
=
x
.
DepartureTime
;
newList
.
TicketArrivalTime
=
x
.
ArrivalTime
;
...
...
@@ -1657,18 +2030,48 @@ export default {
}
});
this
.
returnTripData
.
FlightDate
=
""
;
this
.
returnTripData
.
FlightID
=
""
;
this
.
returnTripData
.
FlightId
=
""
;
this
.
returnTripData
.
AirLineID
=
0
;
},
submit
()
{
console
.
log
(
'</template>'
,
this
.
editForm
,
this
.
addMsg
)
//提交创建、修改表单
this
.
$refs
.
form
.
validate
(
valid
=>
{
if
(
valid
)
{
this
.
addAward
();
}
else
{
return
false
;
}
});
},
addAward
()
{
this
.
editForm
.
TravelTeamFlightList
=
this
.
addMsg
.
flightList
;
console
.
log
(
'TravelTeamFlightList'
,
this
.
editForm
.
TravelTeamFlightList
,
this
.
ContractArray
)
this
.
editForm
.
TravelTeamPartnerList
=
this
.
friendValue
.
map
(
item
=>
{
return
{
CustomerId
:
item
}
})
if
(
!
this
.
editForm
.
TravelTeamPartnerList
.
length
)
{
this
.
Warning
(
'请选择合作伙伴'
)
return
}
if
(
this
.
editForm
.
TravelTeamFlightList
.
findIndex
(
item
=>
item
.
TicketType
===
1
)
===
-
1
)
{
this
.
Warning
(
'请选择去程航班'
)
return
}
if
(
this
.
editForm
.
TravelTeamFlightList
.
findIndex
(
item
=>
item
.
TicketType
===
2
)
===
-
1
)
{
this
.
Warning
(
'请选择回程航班'
)
return
}
if
(
this
.
ContractArray
.
length
)
{
this
.
editForm
.
WordUrl
=
this
.
ContractArray
[
0
].
Url
}
console
.
log
(
"</template>"
,
this
.
editForm
,
this
.
addMsg
,
this
.
friendValue
,
this
.
ContractArray
);
this
.
apipost
(
"
app_customer_GetCustomerListForCareOf
"
,
this
.
msg
,
res
=>
{
"
post_SetTeavelTeam
"
,
this
.
editForm
,
(
res
)
=>
{
if
(
res
.
data
.
resultCode
==
1
)
{
this
.
customerListAll
=
[];
res
.
data
.
data
.
pages
.
pageData
.
forEach
(
item
=>
{
res
.
data
.
data
.
pages
.
pageData
.
forEach
(
(
item
)
=>
{
this
.
customerListAll
.
push
(
item
.
CustomerId
);
item
.
CustomerIdS
=
item
.
CustomerId
;
item
.
CustomerId
=
...
...
@@ -1680,17 +2083,57 @@ export default {
item
[
"disabled"
]
=
false
;
item
.
Address
=
item
.
Address
.
split
(
","
).
join
(
""
);
});
this
.
datainfo
=
res
.
data
.
data
;
this
.
datainfo
=
res
.
data
.
data
;
this
.
list
=
res
.
data
.
data
.
pages
.
pageData
;
this
.
total
=
res
.
data
.
data
.
pages
.
count
;
}
else
{
this
.
$message
.
error
(
res
.
data
.
message
);
}
},
err
=>
{}
(
err
)
=>
{}
);
}
},
//删除航班
deletFlightInfo
(
id
,
index
)
{
var
that
=
this
;
that
.
Confirm
(
"是否删除此航班?"
,
function
()
{
that
.
addMsg
.
flightList
.
splice
(
index
,
1
);
that
.
apipost
(
"AirticketFlight_Post_Remove"
,
{
TicketFlightId
:
id
,
},
(
res
)
=>
{},
(
err
)
=>
{}
);
});
},
//删除文件
DeleteFile
(
subIndex
)
{
this
.
ContractArray
.
splice
(
subIndex
,
1
);
},
//下载文件
downloadFile
(
fileUrl
,
fileName
)
{
const
link
=
document
.
createElement
(
'a'
);
link
.
href
=
fileUrl
;
link
.
download
=
fileName
;
document
.
body
.
appendChild
(
link
);
link
.
click
();
},
uploadFileBtn
(
file
)
{
//上传
let
newArr
=
[];
newArr
.
push
(
file
.
file
)
let
path
=
"/Upload/Temporary/"
this
.
$message
.
info
(
this
.
$t
(
'tips.shangchuanzhong'
))
this
.
UploadSelfFileT
(
path
,
newArr
,
x
=>
{
var
newUrl
=
this
.
domainManager
().
ViittoFileUrl
+
x
.
data
.
FilePath
;
this
.
ContractArray
.
push
({
Name
:
x
.
data
.
SourceFileName
,
Url
:
newUrl
});
this
.
Success
(
this
.
$t
(
'tips.scchenggong'
))
});
},
},
};
</
script
>
\ No newline at end of file
src/plug/index.js
View file @
bc6d01c2
...
...
@@ -118,9 +118,9 @@ export default {
let
lxymallUrl
=
''
;
//国内游api
let
crmUrl
=
""
;
//crm API
let
locationName
=
window
.
location
.
hostname
;
//
domainUrl = "http://192.168.10.128";
domainUrl
=
"http://192.168.10.128"
;
// domainUrl = "http://192.168.10.11:8083" // 刘东电脑
domainUrl
=
"http://192.168.10.20
6:8015"
;
// domainUrl = "http://192.168.10.22
6:8015";
// domainUrl = "http://reborn.oytour.com";
let
crmLocalFileStreamDownLoadUrl
=
""
;
crmLocalFileStreamDownLoadUrl
=
locationName
.
indexOf
(
'oytour'
)
!==
-
1
?
"http://crm.oytour.com"
:
"http://testcrm.oytour.com"
;
...
...
src/router/config.js
View file @
bc6d01c2
...
...
@@ -5837,7 +5837,7 @@ export default {
title
:
'团控信息'
},
},
{
path
:
'/airplane/apply'
,
//
团控信息
path
:
'/airplane/apply'
,
//
在线申请
name
:
'airplane/apply'
,
component
:
resolve
=>
require
([
'@/components/airplane/apply'
],
resolve
),
meta
:
{
...
...
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