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
fab22a50
Commit
fab22a50
authored
Mar 31, 2023
by
沈良进
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
save'
parent
45dc5140
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
259 additions
and
754 deletions
+259
-754
priceGroup.vue
src/components/TravelManager/TravelTeam/priceGroup.vue
+251
-616
buyGroup.vue
src/pubComponents/buyGroup.vue
+8
-138
No files found.
src/components/TravelManager/TravelTeam/priceGroup.vue
View file @
fab22a50
...
...
@@ -513,7 +513,28 @@
right
:
0
;
background
:
#fff
;
}
.w_20
{
width
:
20%
;
}
.w_10
{
width
:
10%
;
}
.mb
{
margin-bottom
:
10px
;
}
.title
{
font-weight
:
600
;
}
.p20
{
padding
:
20px
;
}
</
style
>
<
template
>
<div
class=
"flexOne"
>
<div
@
click=
"showBuy = true"
><el-button>
下单
</el-button></div>
...
...
@@ -725,506 +746,93 @@
</el-pagination>
<!-- 列表 -->
<div
class=
"productQueryList"
v-loading=
"loading"
>
<ul
v-if=
"list.length != 0"
>
<li
v-for=
"(item, index) in list"
:key=
"index"
>
<div
class=
"dline"
>
<div
class=
"d1"
>
<div
v-if=
"item.IsB2B === 0"
class=
"product_union1"
></div>
<div
v-if=
"item.IsUnionTravel === 1"
class=
"product_union"
></div>
<div
v-if=
"item.IsWarning === 1"
class=
"product_warning"
></div>
<div
class=
"d12"
style=
"float: none; margin: auto"
>
<p><i
class=
"iconfont icon-biaoti1"
></i>
{{
item
.
LineName
}}
</p>
<p
class=
"d12TC"
>
{{
item
.
TCNUM
}}
(
{{
item
.
TCID
}}
)
</p>
<p>
{{
item
.
LtName
}}
</p>
<el-tooltip
class=
"item"
effect=
"dark"
:content=
"item.Title"
placement=
"top-start"
popper-class=
"max-w250"
>
<p
class=
"d12p"
@
click=
"getJourney(item.ConfigID, item.TCID, item.LineName)"
:title=
"item.Title"
>
{{
item
.
Title
}}
</p>
</el-tooltip>
<p
v-if=
"item.CustomerName&&item.CustomerName!=''"
style=
"font-size: 11px;font-weight:bold;color:red"
>
<span
v-if=
"item.CustomerName"
>
客户名称:
{{
item
.
CustomerName
}}
</span>
</p>
<p
v-if=
"item.PriceOfferUrl&&item.PriceOfferUrl!=''"
>
<a
style=
"color:blue;"
:href=
"item.PriceOfferUrl"
v-if=
"item.PriceOfferUrl"
target=
"_blank"
>
下载报价单
</a>
</p>
<ul
v-if=
"list.length"
>
<li
v-for=
"(item,index) in list"
:key=
"index"
:class=
"
{'TC_hasContent':item.OPInnerRemark==''
&&
item.OPRemark==''}">
<div
class=
"TC_remarkContent"
>
<div
class=
"el-col w_20"
>
<div
class=
"p20"
>
<div
class=
"mb title"
><i
class=
"iconfont icon-biaoti1"
></i><span>
包机信息
</span></div>
<div
class=
"mb"
><span>
{{
item
.
GTeamName
}}
</span></div>
<div>
出发日期:
<span>
{{
item
.
StartDate
}}
</span></div>
<div>
团队信息:
<span>
{{
item
.
TCNUM
}}
(
{{
item
.
TCID
}}
)
</span></div>
</div>
</div>
</div>
<div
class=
"d2"
>
<p
style=
"text-align: left; text-indent: 50px"
>
<i
class=
"iconfont icon-hangban1"
></i>
{{
$t
(
"salesModule.GoFlight"
)
}}
</p>
<p
class=
"flightNo"
>
<em
class=
"fl flem"
:title=
"item.flightList[0] && item.flightList[0].AlName"
>
{{
item
.
flightList
[
0
]
&&
item
.
flightList
[
0
].
AlName
}}
</em>
<em
class=
"fr"
>
{{
item
.
flightList
[
0
]
&&
item
.
flightList
[
0
].
Flight_number
}}
</em>
</p>
<div>
<div>
<p>
{{
item
.
flightList
[
0
]
&&
item
.
flightList
[
0
].
DepartureName
}}
---------
{{
item
.
flightList
[
0
]
&&
item
.
flightList
[
0
].
ArrivalCityName
}}
</p>
<p>
<span
style=
"background-color: transparent; color: #000000"
>
{{
item
.
flightList
[
0
]
&&
item
.
flightList
[
0
].
Departure_time
}}
</span>
<el-popover
width=
"900"
trigger=
"click"
popper-class=
"pro_tripDetails"
>
<table
width=
"100%"
border=
"0"
cellspacing=
"0"
cellpadding=
"0"
>
<tr
class=
"_color_666"
style=
"text-align: center"
>
<th
width=
"60"
>
{{
$t
(
"Airticket.Air_segment"
)
}}
</th>
<th
width=
"80"
>
{{
$t
(
"system.query_flightNum"
)
}}
</th>
<th
width=
"150"
>
{{
$t
(
"system.ph_flightTime"
)
}}
</th>
<th
width=
"80"
>
{{
$t
(
"system.query_arrivalTime"
)
}}
</th>
<th
width=
"100"
>
{{
$t
(
"system.query_stopCity"
)
}}
</th>
<th
width=
"60"
>
{{
$t
(
"admin.admin_status"
)
}}
</th>
</tr>
<tr
v-for=
"(ds, din) in tripDetails"
:key=
"din"
style=
"text-align: center"
>
<td
class=
"_d_name _color_666"
>
<span
v-if=
"din == 0"
>
{{
$t
(
"Airticket.Air_go"
)
}}
</span>
<span
v-else-if=
"din == tripDetails.length - 1"
>
{{
$t
(
"Airticket.Air_returnTrip"
)
}}
</span>
<span
v-else-if=
"
din > 0 && din != tripDetails.length - 1
"
>
{{
$t
(
"Airticket.Air_transit"
)
}}
</span>
</td>
<td>
<div>
{{
ds
.
Flight_number
}}
</div>
<div
style=
"margin-top: 5px"
>
{{
ds
.
AlName
}}
</div>
</td>
<td>
<div>
{{
ds
.
FlightDate
}}
{{
ds
.
Departure_time
}}
</div>
<div
style=
"margin-top: 5px"
>
{{
ds
.
dName
}}
</div>
</td>
<td>
<div>
{{
ds
.
FlightArrivalTime
}}
{{
ds
.
Arrival_time
}}
</div>
<div
style=
"margin-top: 5px"
>
{{
ds
.
aName
}}
</div>
</td>
<td>
{{
ds
.
StopoverName
}}
</td>
<td>
<span
v-if=
"ds.FlightState == 1"
style=
"color: rgb(71, 191, 140) !important"
>
OK
</span>
<span
v-else
style=
"color: red !important"
>
{{
$t
(
"visa.v_zanding"
)
}}
</span>
</td>
</tr>
</table>
<span
slot=
"reference"
@
click=
"getDetails(index)"
>
{{
$t
(
"Airticket.Air_backAndforth"
)
}}
</span>
</el-popover>
<span
style=
"background-color: transparent; color: #000000"
>
{{
item
.
flightList
[
0
]
&&
item
.
flightList
[
0
].
Arrival_time
}}
</span>
</p>
<div
class=
"el-col w_20"
>
<div
class=
"p20"
>
<div
class=
"mb title"
><i
class=
"iconfont icon-hangban1"
></i><span>
航班信息
</span></div>
<div
class=
"mb"
v-for=
"(subItem,subIndex) in item.TravelTeamFlightList"
:key=
"subIndex+1000"
>
<div>
{{
subItem
.
Flight_number
}}
{{
subItem
.
DepartureAirPortName
}}
{{
subItem
.
Departure_time
}}
{{
subItem
.
ArrivalAirPortName
}}
{{
subItem
.
Arrival_time
}}
</div>
</div>
</div>
<div>
<p>
{{
item
.
ACityName
}}
</p>
<p>
{{
item
.
Arrival_time
}}
</p>
</div>
<div
class=
"el-col w_10"
>
<div
class=
"p20"
>
<div
class=
"mb title"
><i
class=
"iconfont icon-jiage"
></i><span>
仓位信息
</span></div>
<div
class=
"mb"
><span>
经济舱:
{{
item
.
YSeat
}}
</span></div>
<div
class=
"mb"
><span>
商务舱:
{{
item
.
CSeat
}}
</span></div>
<div
class=
"mb"
><span>
头等舱:
{{
item
.
FSeat
}}
</span></div>
</div>
</div>
</div>
<div
class=
"d3"
>
<p>
<i
class=
"iconfont icon-tuandui"
></i>
{{
$t
(
"visa.v_teaminfo"
)
}}
<em>
{{
item
.
DayNum
}}{{
$t
(
"hotel.hotel_day"
)
}}{{
item
.
NightNum
}}{{
$t
(
"Operation.Op_night"
)
}}
</em>
</p>
<p>
<span>
{{
$t
(
"Airticket.Air_StartTime"
)
}}
</span>
{{
item
.
StartDate
}}
</p>
<p>
<span>
{{
$t
(
"system.table_goCity"
)
}}
</span>
{{
item
.
StartCityName
}}
</p>
<p>
<span>
{{
$t
(
"salesModule.BackCity"
)
}}
</span>
{{
item
.
ReturnArriveCityName
}}
</p>
<p>
<span>
{{
$t
(
"scen.sc_cp"
)
}}
</span>
{{
item
.
OutBranchName
}}
<span
class=
"TC_neibu"
style=
"float: inherit;color: #ffffff;margin-left: 5px;"
v-if=
"item.StandardCurrencyName"
:class=
"
{'TCneibu':item.StandardCurrencyName=='人民币','TCb2b':item.StandardCurrencyName=='日元',
'TCb2c':item.StandardCurrencyName=='新台币','AppPlat':item.StandardCurrencyName=='',
'otherPlat':item.StandardCurrencyName=='',}">
{{
item
.
StandardCurrencyName
}}
结算
</span>
</p>
<p
v-show=
"item.ClearOrderHour > 0"
>
<span>
{{
$t
(
"salesModule.THQW"
)
}}
</span>
<span
class=
"TCL-greenType"
>
{{
item
.
ClearOrderHour
}}{{
$t
(
"salesModule.Hour"
)
}}
</span>
</p>
<p
v-show=
"item.SaleClearOrderHour && item.SaleClearOrderHour > 0"
>
<span>
{{
$t
(
"salesModule.XSQW"
)
}}
</span>
<span
class=
"TCL-greenType"
>
{{
item
.
SaleClearOrderHour
}}{{
$t
(
"salesModule.Hour"
)
}}
</span>
</p>
<p
v-if=
"
item.LineID == 14 &&
item.HotelOrderListReports &&
item.HotelOrderListReports.length > 0
"
>
<el-popover
width=
"600"
trigger=
"click"
popper-class=
"PQ_HotelPop"
>
<commonHotelInfo
:HotelObj=
"item.HotelOrderListReports"
:showHotelObj=
"showHotelObj"
>
</commonHotelInfo>
<span
slot=
"reference"
class=
"price"
style=
"cursor: pointer; text-decoration: underline"
@
click=
"clickHotel(item.TCID, item.LineID, item.ltID)"
>
{{
$t
(
"salesModule.HotelOrder"
)
}}
</span>
</el-popover>
</p>
</div>
<div
class=
"d4"
>
<p>
<i
class=
"iconfont icon-jiage"
></i>
{{
$t
(
"Operation.Op_PriceInfo"
)
}}
</p>
<p
style=
"
color: #47bf8c;
font-size: 16px;
font-weight: bold;
margin: 5px 0;
"
>
{{
$t
(
"Operation.Op_tradePrice"
)
}}
:¥
{{
item
.
B2BMemberPrice
|
priceFormat
(
item
.
B2BMemberPrice
)
}}
<br
/>
{{
$t
(
"Operation.Op_directPrice"
)
}}
:¥
{{
item
.
B2CMemberPrice
|
priceFormat
(
item
.
B2CMemberPrice
)
}}
</p>
<p>
<el-popover
width=
"630"
trigger=
"click"
>
<table
class=
"PQ_detail"
>
<tr>
<td
colspan=
"5"
style=
"text-align: left; padding-left: 10px"
>
{{
$t
(
"salesModule.BasePrice"
)
}}
</td>
</tr>
<tr>
<th>
{{
$t
(
"advmanager.v_type"
)
}}
</th>
<th>
{{
$t
(
"salesModule.HYTHJ"
)
}}
</th>
<th>
{{
$t
(
"salesModule.PTTHJ"
)
}}
</th>
<th>
{{
$t
(
"salesModule.ZKHYJ"
)
}}
</th>
<th>
{{
$t
(
"salesModule.PTZKJ"
)
}}
</th>
</tr>
<tr>
<td>
{{
$t
(
"salesModule.Adult"
)
}}
</td>
<td>
{{
item
.
B2BMemberPrice
|
priceFormat
(
item
.
B2BMemberPrice
)
}}
</td>
<td>
{{
item
.
B2BPrice
|
priceFormat
(
item
.
B2BPrice
)
}}
</td>
<td>
{{
item
.
B2CMemberPrice
|
priceFormat
(
item
.
B2CMemberPrice
)
}}
</td>
<td>
{{
item
.
B2CPrice
|
priceFormat
(
item
.
B2CPrice
)
}}
</td>
</tr>
<tr>
<td>
{{
$t
(
"salesModule.ChildBed"
)
}}
</td>
<td>
{{
(
item
.
B2BMemberPrice
+
item
.
ChildNeedPrice
)
|
priceFormat
(
item
.
B2BMemberPrice
+
item
.
ChildNeedPrice
)
}}
</td>
<td>
{{
(
item
.
B2BPrice
+
item
.
ChildNeedPrice
)
|
priceFormat
(
item
.
B2BPrice
+
item
.
ChildNeedPrice
)
}}
</td>
<td>
{{
(
item
.
B2CMemberPrice
+
item
.
ChildNeedPrice
)
|
priceFormat
(
item
.
B2CMemberPrice
+
item
.
ChildNeedPrice
)
}}
</td>
<td>
{{
(
item
.
B2CPrice
+
item
.
ChildNeedPrice
)
|
priceFormat
(
item
.
B2CPrice
+
item
.
ChildNeedPrice
)
}}
</td>
</tr>
<tr>
<td>
{{
$t
(
"salesModule.ChildNoBed"
)
}}
</td>
<td>
{{
(
item
.
B2BMemberPrice
-
item
.
ChildNoNeedPrice
)
|
priceFormat
(
item
.
B2BMemberPrice
-
item
.
ChildNoNeedPrice
)
}}
</td>
<td>
{{
(
item
.
B2BPrice
-
item
.
ChildNoNeedPrice
)
|
priceFormat
(
item
.
B2BPrice
-
item
.
ChildNoNeedPrice
)
}}
</td>
<td>
{{
(
item
.
B2CMemberPrice
-
item
.
ChildNoNeedPrice
)
|
priceFormat
(
item
.
B2CMemberPrice
-
item
.
ChildNoNeedPrice
)
}}
</td>
<td>
{{
(
item
.
B2CPrice
-
item
.
ChildNoNeedPrice
)
|
priceFormat
(
item
.
B2CPrice
-
item
.
ChildNoNeedPrice
)
}}
</td>
</tr>
<tr>
<td>
{{
$t
(
"salesModule.SingleJ"
)
}}
</td>
<td
colspan=
"4"
>
{{
item
.
SingleDMCPrice
|
priceFormat
(
item
.
SingleDMCPrice
)
}}
</td>
</tr>
<tr>
<td>
{{
$t
(
"Operation.Op_baby"
)
}}
</td>
<td
colspan=
"4"
>
{{
item
.
BabyPrice
|
priceFormat
(
item
.
BabyPrice
)
}}
</td>
</tr>
<tr>
<td
colspan=
"5"
style=
"text-align: left; padding-left: 10px"
>
{{
$t
(
"salesModule.OtherPrice"
)
}}
</td>
</tr>
<tr>
<th>
{{
$t
(
"Operation.Op_oldmanSurcharge"
)
}}
</th>
<th>
{{
$t
(
"Operation.Op_childSurcharge"
)
}}
</th>
<th>
{{
$t
(
"salesModule.VisaBack"
)
}}
</th>
<th>
{{
$t
(
"Operation.Op_singleRoomcha"
)
}}
</th>
<th>
{{
$t
(
"Operation.Op_zafei"
)
}}
</th>
</tr>
<tr>
<td>
{{
item
.
OldManChargePrice
|
priceFormat
(
item
.
OldManChargePrice
)
}}
</td>
<td>
{{
item
.
BabyChargePrice
|
priceFormat
(
item
.
BabyChargePrice
)
}}
</td>
<td>
{{
item
.
VisaPrice
|
priceFormat2
(
item
.
VisaPrice
)
}}
(-
{{
item
.
BackVisaPrice
|
priceFormat
(
item
.
BackVisaPrice
)
}}
)
</td>
<td>
{{
item
.
SingleRoomPrice
|
priceFormat
(
item
.
SingleRoomPrice
)
}}
</td>
<td>
{{
item
.
OtherPrice
|
priceFormat
(
item
.
OtherPrice
)
}}
</td>
</tr>
</table>
<span
slot=
"reference"
class=
"price"
>
{{
$t
(
"Operation.Op_priceDetail"
)
}}
</span>
</el-popover>
</p>
</div>
<div
class=
"d5"
>
<p>
<i
class=
"iconfont icon-tuanwei"
></i>
{{
$t
(
"visa.v_tuanweiinfo"
)
}}
</p>
<p>
<span>
{{
$t
(
"visa.v_currentseat"
)
}}
</span><i
:style=
"item.SurplusSeat
<
0
?
'
color:
red
'
:
''"
>
{{
item
.
SurplusSeat
}}
</i>
</p>
<p>
<span>
{{
$t
(
"visa.v_yibaoru"
)
}}
</span><i>
{{
item
.
Seat
==
""
?
"0"
:
item
.
Seat
}}{{
$t
(
"salesModule.PeoPle"
)
}}
</i>
(
{{
$t
(
"Operation.Op_takeSeat"
)
}}
:
{{
item
.
Occupied
}}{{
$t
(
"salesModule.PeoPle"
)
}}
)
</p>
<p>
<span>
{{
$t
(
"visa.v_houbu"
)
}}
</span>
<em
v-if=
"item.IsSubstitution == 1"
>
{{
$t
(
"salesModule.KYHB"
)
}}
(
{{
$t
(
"visa.v_houbu"
)
}}{{
item
.
SubstitutionCount
}}{{
$t
(
"salesModule.PeoPle"
)
}}
)
</em>
<em
v-if=
"item.IsSubstitution != 1"
style=
"color: #e95252"
>
{{
$t
(
"salesModule.RefuseHB"
)
}}
</em>
</p>
<p>
<span>
操作OP
</span><i
style=
"font-weight: normal"
>
{{
item
.
OPName
}}
</i>
</p>
</div>
<div
class=
"d8"
>
<p>
<i
class=
"iconfont icon-hangban1"
></i>
{{
$t
(
"Operation.Op_Warmprompt"
)
}}
</p>
<p>
<span>
{{
$t
(
"visa.v_sqtime"
)
}}
</span><i>
{{
item
.
SendVisaTime
===
""
?
"未设置"
:
item
.
SendVisaTime
}}
</i>
</p>
<p>
<span>
{{
$t
(
"visa.v_cqtime"
)
}}
</span><i>
{{
item
.
OutVisaTime
===
""
?
"未设置"
:
item
.
OutVisaTime
}}
</i>
</p>
<p>
<span>
{{
$t
(
"visa.v_kptime"
)
}}
</span><i>
{{
item
.
TicketDeadline
===
""
?
"未设置"
:
item
.
TicketDeadline
}}
</i>
</p>
<p
v-if=
"item.VisaFileList.length !== 0"
>
<span>
{{
$t
(
"visa.v_visaInformation"
)
}}
</span>
</p>
<p
v-if=
"item.VisaFileList.length !== 0"
v-for=
"(item2, index2) in item.VisaFileList"
:key=
"index2"
>
<span
style=
"cursor: pointer; text-decoration: underline"
@
click=
"downloadFile(item2)"
>
{{
item2
.
Name
}}
</span>
</p>
<p>
<span>
{{
$t
(
"salesModule.TicketStatus"
)
}}
:
</span>
<span
class=
"fz16 fbold"
>
<el-tooltip
class=
"item"
effect=
"dark"
:content=
"$t('salesModule.AllTk')"
placement=
"top"
>
<span
style=
"color: #4bca81"
v-if=
"item.MakeInvoice == 1"
>
√
</span>
</el-tooltip>
<el-tooltip
class=
"item"
effect=
"dark"
:content=
"$t('salesModule.NotDeal')"
placement=
"top"
>
<span
style=
"color: #e95252"
v-if=
"item.MakeInvoice == '-1'"
>
x
</span>
</el-tooltip>
<el-tooltip
class=
"item"
effect=
"dark"
:content=
"$t('salesModule.YCZD')"
placement=
"top"
>
<span
style=
"color: #e95252"
v-if=
"item.MakeInvoice == '0'"
>
O
</span>
</el-tooltip>
</span>
</p>
</div>
<div
class=
"d7"
>
<el-button-group
style=
"display: block"
>
<el-tooltip
class=
"item"
effect=
"dark"
:content=
"$t('salesModule.LookBM')"
placement=
"top-start"
>
<el-button
@
click=
"
goUrl('groupTourOrderByTuan', item.TCID, item.TCNUM)
"
type=
"primary"
style=
"background: #00c6ff; border-color: #00c6ff"
icon=
"iconfont icon-sousuo"
>
<div
class=
"el-col w_10"
>
<div
class=
"p20"
>
<div
class=
"mb title"
><i
class=
"iconfont icon-jiage"
></i><span>
价格信息
</span></div>
<div
class=
"mb"
><span>
中心价:
{{
item
.
MiddlePrice
}}
</span></div>
<div
class=
"mb"
><span>
小孩占床:
{{
item
.
ChildNeedPrice
}}
不占床:
{{
item
.
ChildNoNeedPrice
}}
</span></div>
<div
class=
"mb"
><span>
婴儿:
{{
item
.
BabyPrice
}}
婴儿附加费:
{{
item
.
BabyChargePrice
}}
</span></div>
<div
class=
"mb"
><span>
老人附加费:
{{
item
.
OldManChargePrice
}}
签证:
{{
item
.
VisaPrice
}}
</span></div>
</div>
</div>
<div
class=
"el-col w_20"
>
<div
class=
"p20"
>
<div
class=
"mb title"
><i
class=
"iconfont icon-tuandui"
></i><span>
合作伙伴
</span></div>
<template
v-for=
"(subItem,subIndex) in item.TravelTeamPartnerList"
>
<el-tag
:key=
"subIndex+1000"
style=
"margin: 0 10px 10px 0;"
>
{{
subItem
.
CustomerName
}}
</el-tag>
</
template
>
</div>
</div>
<div
class=
"el-col w_10"
>
<div
class=
"p20"
>
<div
class=
"mb title"
><i
class=
"iconfont icon-yuangong"
></i><span>
发起信息
</span></div>
<div
class=
"mb"
>
发起人:{{item.CreateByName}}
</div>
<div>
{{item.CreateTime}}
</div>
</div>
</div>
<div
class=
"el-col w_10"
>
<div
class=
"p20"
>
<el-button
class=
"mb"
@
click
.
native=
'goBuy(item)'
type=
"primary"
size=
"mini"
style=
"background:#00C6FF; border-color:#00C6FF"
>
下单
</el-button>
</el-tooltip>
<!--关内团后不能在报名 hk 2022-07-13去掉 && item.IsB2B === 1 修改为可报名 -->
<el-tooltip
class=
"item"
effect=
"dark"
:content=
"$t('salesModule.LJXD')"
placement=
"top-start"
v-if=
"item.IsPayOrder !== 1 "
>
<el-button
type=
"primary"
style=
"background: #f16c3c; border-color: #f16c3c"
v-if=
"!TCIDList"
icon=
"iconfont icon-fukuan1"
@
click=
"goBuy(item)"
></el-button>
</el-tooltip>
<el-tooltip
class=
"item"
effect=
"dark"
:content=
"$t('Operation.Op_tripDownLoad')"
placement=
"top-start"
>
<el-button
@
click=
"toTrip(item)"
type=
"primary"
style=
"background: #47bf8c; border-color: #47bf8c"
icon=
"iconfont icon-xiazai"
></el-button>
</el-tooltip>
<el-tooltip
v-if=
"
CurrentUserInfo.IsOpenB2C == 1 &&
CurrentUserInfo.B2BDomain != '' &&
item.LineID != 2 &&
item.LineID != 8
"
class=
"item"
effect=
"dark"
content=
"直客版预览"
placement=
"top-start"
>
<el-button
@
click
.
native=
"goB2B(item)"
type=
"primary"
style=
"background: #f16c3c; border-color: #f16c3c"
icon=
"iconfont icon-view"
></el-button>
</el-tooltip>
</el-button-group>
<el-button-group
v-show=
"qjGroupId == userInfo.RB_Group_id || S_Travel_Share"
style=
"display: block"
>
<el-tooltip
class=
"item"
effect=
"dark"
:content=
"$t('salesModule.ShareTrip')"
placement=
"top-start"
style=
"float: left"
>
<el-popover
width=
"180"
trigger=
"click"
>
<div
class=
"w150"
v-loading=
"wxLoading"
>
<img
style=
"
float: left;
width: 108px;
height: 108px;
margin: 10px 21px 3px;
"
:src=
"
item.wxImage === ''
? ''
: 'data:image/png;base64,' + item.wxImage
"
/>
<p
style=
"text-align: center; font-size: 12px; color: #666"
>
{{
$t
(
"salesModule.XCX"
)
}}
</p>
</div>
<el-button
slot=
"reference"
type=
"primary"
style=
"
background: #b552e9;
border-color: #b552e9;
border-radius: 0;
border-top-left-radius: 4px;
border-bottom-left-radius: 4px;
"
icon=
"iconfont icon-fenxiang"
@
click=
"getWxCode(index)"
></el-button>
</el-popover>
</el-tooltip>
<el-tooltip
class=
"item"
effect=
"dark"
:content=
"$t('salesModule.ShareApp')"
placement=
"top-start"
style=
"float: left"
>
<el-popover
width=
"180"
trigger=
"click"
>
<div
class=
"w150"
>
<img
style=
"
float: left;
width: 108px;
height: 108px;
margin: 10px 21px 3px;
"
:src=
"'data:image/png;base64,' + item.AppImage"
/>
<p
style=
"text-align: center; font-size: 12px; color: #666"
>
{{
$t
(
"salesModule.Helper"
)
}}
</p>
</div>
<el-button
slot=
"reference"
type=
"primary"
style=
"
background: #e6a014;
border-color: #e6a014;
border-radius: 0;
"
icon=
"iconfont icon-erweima"
></el-button>
</el-popover>
</el-tooltip>
<el-tooltip
class=
"item"
effect=
"dark"
:content=
"'广告数量' + item.AdvertCount"
placement=
"top-start"
>
<el-button
type=
"primary"
style=
"background: #e95252; border-color: #e95252"
v-if=
"!TCIDList"
icon=
"iconfont icon-guanggao"
@
click=
"goUrlX(item)"
></el-button>
</el-tooltip>
</el-button-group>
<el-dropdown
trigger=
"click"
>
<span
class=
"el-dropdown-link"
>
更多
<i
class=
"el-icon-arrow-down el-icon--right"
></i>
</span>
<el-dropdown-menu
slot=
"dropdown"
class=
"travelControlDropDown"
>
<el-dropdown-item>
财务入账
</el-dropdown-item>
<el-dropdown-item>
财务审核
</el-dropdown-item>
<el-dropdown-item>
包机结算
</el-dropdown-item>
<el-dropdown-item>
删除
</el-dropdown-item>
</el-dropdown-menu>
</el-dropdown>
</div>
</div>
</div>
</div>
<div
class=
"d6"
>
<el-popover
placement=
"right"
width=
"500"
trigger=
"click"
:content=
"item.ProductRecommend"
>
<span
style=
"
cursor: pointer;
padding: 2px 5px;
display: inline-block;
margin-bottom: 5px;
border-radius: 4px;
border: 1px solid #ccc;
font-size: 12px;
"
slot=
"reference"
>
{{
$t
(
"Operation.Op_bentuanMaidian"
)
}}
</span>
</el-popover>
<p>
{{
$t
(
"Operation.Op_remark"
)
}}
:
</p>
<p
:title=
"item.OpRemark"
>
{{
item
.
OpRemark
}}
</p>
</div>
</li>
</ul>
<div
class=
"TC_remarkContent"
>
<div
class=
"p20"
>
备注: {{item.Remark}}
</div>
</div>
</li>
</ul>
<div
class=
"noData"
v-else
>
{{ $t("system.content_noData") }}
</div>
...
...
@@ -1241,7 +849,7 @@
</tripDownLoadCommon>
</el-dialog>
<div
class=
"buy-box"
v-show=
"showBuy"
>
<buyGroup
@
change=
"changeBuy"
></buyGroup>
<buyGroup
@
change=
"changeBuy"
:info=
"buyInfo"
></buyGroup>
</div>
</div>
</template>
...
...
@@ -1256,6 +864,7 @@
export
default
{
data
()
{
return
{
buyInfo
:
null
,
showBuy
:
false
,
pickerOptions0
:
{
disabledDate
:
(
time
)
=>
{
...
...
@@ -1467,9 +1076,151 @@
},
},
methods
:
{
saveOrder
(
addMsg
)
{
// 判断单团类型
if
(
addMsg
.
GroupType
==
2
)
{
if
(
addMsg
.
IndustryCategory
==
""
)
{
this
.
Error
(
"请填写行业类别!"
);
return
;
}
if
(
addMsg
.
QuotationUrl
==
""
)
{
this
.
Error
(
"请上传附件!"
);
return
;
}
}
//验证人数和机位数 20190807 修改 如果是不是单地接才判断
if
(
addMsg
.
GroupType
!==
"4"
&&
addMsg
.
GroupType
!==
"3"
)
{
if
(
addMsg
.
ChirdNoNeedBedNum
==
""
)
{
addMsg
.
ChirdNoNeedBedNum
=
0
;
// this.$message.warning("请输入儿童不占床数!如果没有请输入0!");
// return;
}
if
(
addMsg
.
ChirdNeedBedNum
==
""
)
{
addMsg
.
ChirdNeedBedNum
=
0
;
// this.$message.warning("请输入儿童占床数!如果没有请输入0!");
// return;
}
if
(
Number
(
addMsg
.
ManNum
)
+
Number
(
addMsg
.
ChirdNum
)
+
Number
(
addMsg
.
OldPeopleNum
)
!=
Number
(
addMsg
.
YSeatNum
)
+
Number
(
addMsg
.
ESeatNum
)
+
Number
(
addMsg
.
FSeatNum
)
)
{
this
.
$message
.
warning
(
"人数和机位数不相等!"
);
return
;
}
if
(
Number
(
addMsg
.
AirticketNum
)
+
Number
(
addMsg
.
ManNum
)
+
Number
(
addMsg
.
ChirdNum
)
+
Number
(
addMsg
.
OldPeopleNum
)
+
Number
(
addMsg
.
BabyNum
)
<
Number
(
addMsg
.
VisaNum
)
)
{
this
.
$message
.
warning
(
"签证数量不能大于人数总和!"
);
return
;
}
if
(
Number
(
addMsg
.
AirticketNum
)
+
Number
(
addMsg
.
ManNum
)
+
Number
(
addMsg
.
ChirdNum
)
+
Number
(
addMsg
.
OldPeopleNum
)
+
Number
(
addMsg
.
BabyNum
)
<
Number
(
addMsg
.
SafeNum
)
)
{
this
.
$message
.
warning
(
"保险数量不能大于人数总和!"
);
return
;
}
if
(
Number
(
addMsg
.
ChirdNum
)
-
Number
(
addMsg
.
ChirdNeedBedNum
)
+
Number
(
addMsg
.
BabyNum
)
>
Number
(
addMsg
.
ManNum
)
+
Number
(
addMsg
.
OldPeopleNum
)
+
Number
(
addMsg
.
ChirdNeedBedNum
)
)
{
this
.
$message
.
warning
(
"儿童占床数量不足!"
);
return
;
}
if
(
Number
(
addMsg
.
ChirdNeedBedNum
)
>
Number
(
addMsg
.
ChirdNum
)
)
{
this
.
$message
.
warning
(
"儿童占床不能大于儿童数!"
);
return
;
}
}
// if((Number(addMsg.ManNum)+Number(addMsg.ChirdNoNeedBedNum)+Number(addMsg.ChirdNeedBedNum)+Number(addMsg.OldPeopleNum))
//
<
(
Number
(
addMsg
.
YSeatNum
)
+
Number
(
addMsg
.
ESeatNum
)
+
Number
(
addMsg
.
FSeatNum
)))
// {
// this.$message.warning('机票数量不能大于人数总和!')
// return
// }
if
(
this
.
userId
==
this
.
createByInfo
)
{
if
(
addMsg
.
CommissionSharePeople
==
"-1"
)
{
addMsg
.
CommissionShareMoney
=
"0"
;
}
}
if
(
addMsg
.
GroupType
==
4
)
{
addMsg
.
TC_Price
=
this
.
SingleDMCPricex
;
//地接时 本团单价
addMsg
.
Unit_Price
=
this
.
SingleDMCPrice
;
// 地接时 成交单价
if
(
addMsg
.
ChirdNoNeedBedNum
==
""
)
{
addMsg
.
ChirdNoNeedBedNum
=
0
;
// this.$message.warning("请输入儿童不占床数!如果没有请输入0!");
// return;
}
}
let
ChirdNum
=
Number
(
addMsg
.
ChirdNum
);
if
(
addMsg
.
GroupType
==
4
)
{
ChirdNum
=
0
;
}
// 判断交易方式是外交平台和平台付款
if
(
addMsg
.
TradeWay
==
1
||
addMsg
.
TradeWay
==
3
)
{
if
(
addMsg
.
PlatformAccount
==
""
)
{
this
.
Error
(
"请选择收款账户!"
);
return
;
}
}
addMsg
.
TCID
=
this
.
addObj
.
TCID
;
addMsg
.
GuestNum
=
Number
(
addMsg
.
ManNum
)
+
ChirdNum
+
Number
(
addMsg
.
OldPeopleNum
)
+
Number
(
addMsg
.
BabyNum
)
+
Number
(
addMsg
.
AirticketNum
);
addMsg
.
IsChildrenTour
=
this
.
addObj
.
IsSupportChildren
;
addMsg
.
IsBirdDiscount
=
this
.
addObj
.
IsBirdDiscount
;
this
.
apipost
(
"sellorder_post_SetOrderInfo"
,
addMsg
,
(
res
)
=>
{
if
(
res
.
data
.
resultCode
==
1
)
{
this
.
$message
.
success
(
res
.
data
.
message
);
this
.
$refs
[
"addMsg"
].
resetFields
();
this
.
clearMsg
();
this
.
isShowLayer
=
false
;
}
else
{
this
.
$message
.
error
(
res
.
data
.
message
);
}
},
(
err
)
=>
{}
);
},
changeBuy
(
info
)
{
console
.
log
(
'changeBuy'
,
info
)
if
(
!
info
)
{
this
.
showBuy
=
false
}
else
{
this
.
saveOrder
(
info
)
}
},
GetSupperOrderEditAuth
()
{
...
...
@@ -1563,127 +1314,9 @@
(
err
)
=>
{}
);
},
resetSelect
()
{
if
(
this
.
addMsg
.
CustomerType
==
1
)
{
this
.
addMsg
.
CustomerId
=
""
;
}
if
(
this
.
addMsg
.
CustomerType
==
2
)
{
this
.
addMsg
.
CustomerId
=
""
;
}
},
//q清空联系人和联系电话
resetMsg
(
type
)
{
if
(
type
==
3
||
type
==
4
)
{
this
.
addMsg
.
ContactName
=
""
;
this
.
addMsg
.
ContactMobile
=
""
;
}
},
getTypePrice
()
{
//this.addMsg.ContactName = ''
//this.addMsg.ContactMobile = ''
if
(
this
.
addMsg
.
CustomerType
==
1
)
{
this
.
addMsg
.
TC_Price
=
this
.
addObj
.
B2BMemberPrice
;
this
.
addMsg
.
Unit_Price
=
this
.
addObj
.
B2BMemberPrice
;
//this.addMsg.CustomerId = ''
}
if
(
this
.
addMsg
.
CustomerType
==
2
)
{
this
.
addMsg
.
TC_Price
=
this
.
addObj
.
B2BPrice
;
this
.
addMsg
.
Unit_Price
=
this
.
addObj
.
B2BPrice
;
//this.addMsg.CustomerId = ''
}
if
(
this
.
addMsg
.
CustomerType
==
3
)
{
this
.
addMsg
.
TC_Price
=
this
.
addObj
.
B2CMemberPrice
;
this
.
addMsg
.
Unit_Price
=
this
.
addObj
.
B2CMemberPrice
;
this
.
addMsg
.
CustomerId
=
"0"
;
this
.
addMsg
.
CommissionShareMoney
=
"0"
;
}
if
(
this
.
addMsg
.
CustomerType
==
4
)
{
this
.
addMsg
.
TC_Price
=
this
.
addObj
.
B2CPrice
;
this
.
addMsg
.
Unit_Price
=
this
.
addObj
.
B2CPrice
;
this
.
addMsg
.
CustomerId
=
"0"
;
this
.
addMsg
.
CommissionShareMoney
=
"0"
;
}
this
.
Unit_PriceList
=
[];
let
maxPeopleNum
=
Number
(
this
.
addMsg
.
ManNum
)
+
Number
(
this
.
addMsg
.
ChirdNoNeedBedNum
)
+
Number
(
this
.
addMsg
.
ChirdNeedBedNum
)
+
Number
(
this
.
addMsg
.
OldPeopleNum
)
+
Number
(
this
.
addMsg
.
AirticketNum
);
if
(
maxPeopleNum
>
0
)
{
this
.
apipost
(
"sellorder_post_GetLessPrice"
,
{
TCID
:
this
.
addObj
.
TCID
,
MaxPeopleNum
:
maxPeopleNum
},
(
res
)
=>
{
this
.
LessMoney
=
res
.
data
.
data
.
lessMoney
;
if
(
parseFloat
(
this
.
LessMoney
)
>
0
)
{
for
(
var
i
=
0
;
i
<=
parseInt
(
this
.
LessMoney
)
/
10
;
i
++
)
{
var
obj
=
{
ID
:
""
,
LessMoney
:
""
,
};
obj
.
ID
=
this
.
addMsg
.
Unit_Price
-
i
*
10
;
obj
.
LessMoney
=
this
.
addMsg
.
Unit_Price
-
i
*
10
;
this
.
Unit_PriceList
.
push
(
obj
);
}
if
(
this
.
Unit_PriceList
.
findIndex
(
(
markers
)
=>
markers
.
ID
==
this
.
addMsg
.
Unit_Price
)
<
0
)
{
var
obj
=
{
ID
:
""
,
LessMoney
:
""
,
};
obj
.
ID
=
this
.
addMsg
.
Unit_Price
;
obj
.
LessMoney
=
this
.
addMsg
.
Unit_Price
;
this
.
Unit_PriceList
.
push
(
obj
);
}
}
else
{
var
obj
=
{
ID
:
""
,
LessMoney
:
""
,
};
obj
.
ID
=
this
.
addMsg
.
Unit_Price
;
obj
.
LessMoney
=
this
.
addMsg
.
Unit_Price
;
this
.
Unit_PriceList
.
push
(
obj
);
}
},
(
err
)
=>
{}
);
}
},
goBuy
(
obj
)
{
},
getKhmdList
()
{
this
.
apipost
(
"app_today_visit_GetOrderMyCustomerList"
,
{
typeId
:
this
.
addMsg
.
CustomerType
,
lineId
:
this
.
addObj
.
LineID
,
},
(
res
)
=>
{
if
(
res
.
data
.
resultCode
==
1
)
{
this
.
khmdList
=
res
.
data
.
data
;
}
},
(
err
)
=>
{}
);
},
getDdlyList
()
{
this
.
addMsg
.
ClientSource
=
""
;
this
.
apipost
(
"sellorder_get_GetSellClientSourceEnumList"
,
{
typeId
:
this
.
addMsg
.
CustomerType
,
},
(
res
)
=>
{
if
(
res
.
data
.
resultCode
==
1
)
{
this
.
ddlyList
=
res
.
data
.
data
;
}
},
(
err
)
=>
{}
);
this
.
showBuy
=
true
;
this
.
buyInfo
=
obj
},
getJourney
(
id
,
TCID
,
title
)
{
...
...
@@ -1697,7 +1330,7 @@
getList
()
{
this
.
loading
=
true
;
this
.
apipost
(
"
TaskManagemnet_get_GetSellProductCenter
"
,
"
travelteam_GetTeavelTeamPage
"
,
this
.
msg
,
(
res
)
=>
{
if
(
res
.
data
.
resultCode
==
1
)
{
...
...
@@ -1707,6 +1340,8 @@
res
.
data
.
data
.
pageData
[
i
][
"wxImage"
]
=
""
;
}
this
.
list
=
res
.
data
.
data
.
pageData
;
// this.queryDataObj.dataList = res.data.data.pageData;
// this.queryMsg.total = res.data.data.count;
}
else
{
this
.
Error
(
res
.
data
.
message
);
}
...
...
src/pubComponents/buyGroup.vue
View file @
fab22a50
...
...
@@ -2,7 +2,7 @@
/* @import "../../assets/css/newTravelManager.css"; */
</
style
>
<
template
>
<div
style=
"padding:
20px
"
>
<div
style=
"padding:
10px 20px 10px 80px;
"
>
<p>
{{
$t
(
"salesModule.SignImdi"
)
}}
<span
class=
"fr"
>
...
...
@@ -445,6 +445,12 @@
<
script
>
export
default
{
props
:
{
info
:
{
default
:
()
=>
({}),
require
:
true
}
},
data
()
{
return
{
pickerOptions0
:
{
...
...
@@ -1660,143 +1666,7 @@
};
},
saveOrder
()
{
// 判断单团类型
if
(
this
.
addMsg
.
GroupType
==
2
)
{
if
(
this
.
addMsg
.
IndustryCategory
==
""
)
{
this
.
Error
(
"请填写行业类别!"
);
return
;
}
if
(
this
.
addMsg
.
QuotationUrl
==
""
)
{
this
.
Error
(
"请上传附件!"
);
return
;
}
}
//验证人数和机位数 20190807 修改 如果是不是单地接才判断
if
(
this
.
addMsg
.
GroupType
!==
"4"
&&
this
.
addMsg
.
GroupType
!==
"3"
)
{
if
(
this
.
addMsg
.
ChirdNoNeedBedNum
==
""
)
{
this
.
addMsg
.
ChirdNoNeedBedNum
=
0
;
// this.$message.warning("请输入儿童不占床数!如果没有请输入0!");
// return;
}
if
(
this
.
addMsg
.
ChirdNeedBedNum
==
""
)
{
this
.
addMsg
.
ChirdNeedBedNum
=
0
;
// this.$message.warning("请输入儿童占床数!如果没有请输入0!");
// return;
}
if
(
Number
(
this
.
addMsg
.
ManNum
)
+
Number
(
this
.
addMsg
.
ChirdNum
)
+
Number
(
this
.
addMsg
.
OldPeopleNum
)
!=
Number
(
this
.
addMsg
.
YSeatNum
)
+
Number
(
this
.
addMsg
.
ESeatNum
)
+
Number
(
this
.
addMsg
.
FSeatNum
)
)
{
this
.
$message
.
warning
(
"人数和机位数不相等!"
);
return
;
}
if
(
Number
(
this
.
addMsg
.
AirticketNum
)
+
Number
(
this
.
addMsg
.
ManNum
)
+
Number
(
this
.
addMsg
.
ChirdNum
)
+
Number
(
this
.
addMsg
.
OldPeopleNum
)
+
Number
(
this
.
addMsg
.
BabyNum
)
<
Number
(
this
.
addMsg
.
VisaNum
)
)
{
this
.
$message
.
warning
(
"签证数量不能大于人数总和!"
);
return
;
}
if
(
Number
(
this
.
addMsg
.
AirticketNum
)
+
Number
(
this
.
addMsg
.
ManNum
)
+
Number
(
this
.
addMsg
.
ChirdNum
)
+
Number
(
this
.
addMsg
.
OldPeopleNum
)
+
Number
(
this
.
addMsg
.
BabyNum
)
<
Number
(
this
.
addMsg
.
SafeNum
)
)
{
this
.
$message
.
warning
(
"保险数量不能大于人数总和!"
);
return
;
}
if
(
Number
(
this
.
addMsg
.
ChirdNum
)
-
Number
(
this
.
addMsg
.
ChirdNeedBedNum
)
+
Number
(
this
.
addMsg
.
BabyNum
)
>
Number
(
this
.
addMsg
.
ManNum
)
+
Number
(
this
.
addMsg
.
OldPeopleNum
)
+
Number
(
this
.
addMsg
.
ChirdNeedBedNum
)
)
{
this
.
$message
.
warning
(
"儿童占床数量不足!"
);
return
;
}
if
(
Number
(
this
.
addMsg
.
ChirdNeedBedNum
)
>
Number
(
this
.
addMsg
.
ChirdNum
)
)
{
this
.
$message
.
warning
(
"儿童占床不能大于儿童数!"
);
return
;
}
}
// if((Number(this.addMsg.ManNum)+Number(this.addMsg.ChirdNoNeedBedNum)+Number(this.addMsg.ChirdNeedBedNum)+Number(this.addMsg.OldPeopleNum))
//
<
(
Number
(
this
.
addMsg
.
YSeatNum
)
+
Number
(
this
.
addMsg
.
ESeatNum
)
+
Number
(
this
.
addMsg
.
FSeatNum
)))
// {
// this.$message.warning('机票数量不能大于人数总和!')
// return
// }
if
(
this
.
userId
==
this
.
createByInfo
)
{
if
(
this
.
addMsg
.
CommissionSharePeople
==
"-1"
)
{
this
.
addMsg
.
CommissionShareMoney
=
"0"
;
}
}
if
(
this
.
addMsg
.
GroupType
==
4
)
{
this
.
addMsg
.
TC_Price
=
this
.
SingleDMCPricex
;
//地接时 本团单价
this
.
addMsg
.
Unit_Price
=
this
.
SingleDMCPrice
;
// 地接时 成交单价
if
(
this
.
addMsg
.
ChirdNoNeedBedNum
==
""
)
{
this
.
addMsg
.
ChirdNoNeedBedNum
=
0
;
// this.$message.warning("请输入儿童不占床数!如果没有请输入0!");
// return;
}
}
let
ChirdNum
=
Number
(
this
.
addMsg
.
ChirdNum
);
if
(
this
.
addMsg
.
GroupType
==
4
)
{
ChirdNum
=
0
;
}
// 判断交易方式是外交平台和平台付款
if
(
this
.
addMsg
.
TradeWay
==
1
||
this
.
addMsg
.
TradeWay
==
3
)
{
if
(
this
.
addMsg
.
PlatformAccount
==
""
)
{
this
.
Error
(
"请选择收款账户!"
);
return
;
}
}
this
.
addMsg
.
TCID
=
this
.
addObj
.
TCID
;
this
.
addMsg
.
GuestNum
=
Number
(
this
.
addMsg
.
ManNum
)
+
ChirdNum
+
Number
(
this
.
addMsg
.
OldPeopleNum
)
+
Number
(
this
.
addMsg
.
BabyNum
)
+
Number
(
this
.
addMsg
.
AirticketNum
);
this
.
addMsg
.
IsChildrenTour
=
this
.
addObj
.
IsSupportChildren
;
this
.
addMsg
.
IsBirdDiscount
=
this
.
addObj
.
IsBirdDiscount
;
this
.
apipost
(
"sellorder_post_SetOrderInfo_02"
,
this
.
addMsg
,
(
res
)
=>
{
if
(
res
.
data
.
resultCode
==
1
)
{
this
.
$message
.
success
(
res
.
data
.
message
);
this
.
$refs
[
"addMsg"
].
resetFields
();
this
.
clearMsg
();
this
.
isShowLayer
=
false
;
}
else
{
this
.
$message
.
error
(
res
.
data
.
message
);
}
},
(
err
)
=>
{}
);
this
.
$emit
(
'change'
,
this
.
addMsg
)
},
// todo 购买的产品信息,需要从外部传入
goBuy
(
obj
)
{
...
...
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