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
4c209a7b
Commit
4c209a7b
authored
Jul 28, 2023
by
黄奎
Browse files
Options
Browse Files
Download
Plain Diff
页面修改
parents
653e956a
945d4ec9
Show whitespace changes
Inline
Side-by-side
Showing
19 changed files
with
1717 additions
and
1612 deletions
+1717
-1612
FProcessManagement.vue
src/components/FinancialModule/FProcessManagement.vue
+33
-21
CombinedRevenueReport.vue
...ents/FinancialModule/ReportForm/CombinedRevenueReport.vue
+19
-3
EasyReport.vue
src/components/FinancialModule/ReportForm/EasyReport.vue
+4
-3
TeamRevenueReport.vue
...mponents/FinancialModule/ReportForm/TeamRevenueReport.vue
+16
-0
invoicesManagerAdd.vue
src/components/FinancialModule/invoicesManagerAdd.vue
+21
-10
OrderList.vue
src/components/Hotel/reservation/OrderList.vue
+21
-2
correlationOP.vue
src/components/Hotel/reservation/correlationOP.vue
+13
-14
ListCar.vue
src/components/Hotel/singleProduct/components/ListCar.vue
+483
-529
VisaFinancialDocuments.vue
src/components/SalesModule/VisaFinancialDocuments.vue
+12
-4
ModifyVisaProduct.vue
src/components/SalesVisa/ModifyVisaProduct.vue
+4
-4
VisaProductOrder.vue
src/components/SalesVisa/components/VisaProductOrder.vue
+14
-0
visaOrderList.vue
src/components/SalesVisa/components/visaOrderList.vue
+12
-0
CharterPreview.vue
src/components/busManagement/BookAcar/CharterPreview.vue
+948
-996
orderList.vue
...omponents/busManagement/BookAcar/components/orderList.vue
+24
-5
tripBusOrderList.vue
...ts/busManagement/BookAcar/components/tripBusOrderList.vue
+1
-1
list.vue
src/components/busManagement/BookAcar/list.vue
+10
-9
ApplyFoInvoice.vue
src/components/public/ApplyFoInvoice.vue
+48
-0
OrderPreview.vue
src/components/scenicSpot/Singleticket/OrderPreview.vue
+10
-7
OrderList.vue
src/components/scenicSpot/reservation/OrderList.vue
+24
-4
No files found.
src/components/FinancialModule/FProcessManagement.vue
View file @
4c209a7b
...
@@ -215,7 +215,8 @@
...
@@ -215,7 +215,8 @@
</ul>
</ul>
</div>
</div>
</div>
</div>
<i
slot=
"reference"
v-show=
"item.Status==1"
class=
"iconfont icon-rizhi1"
@
click=
"FinanceInfoChangeLog = item.FinanceInfoChangeLog"
></i>
<i
slot=
"reference"
v-show=
"item.Status==1"
class=
"iconfont icon-rizhi1"
@
click=
"getFinanceInfoChangeLog(item)"
></i>
</el-popover>
</el-popover>
</el-tooltip>
</el-tooltip>
<el-tooltip
popper-class=
"item _process"
effect=
"dark"
content=
"流程"
placement=
"top"
>
<el-tooltip
popper-class=
"item _process"
effect=
"dark"
content=
"流程"
placement=
"top"
>
...
@@ -294,6 +295,17 @@ export default {
...
@@ -294,6 +295,17 @@ export default {
},
components
:
{
},
components
:
{
"my-FlowChartModule"
:
myFlowChartModule
"my-FlowChartModule"
:
myFlowChartModule
},
methods
:{
},
methods
:{
getFinanceInfoChangeLog
(
item
){
this
.
apipost
(
'FinancialFlowTemplate_post_GetTemplateLogList'
,{
TempleteId
:
item
.
Id
},
res
=>
{
if
(
res
.
data
.
resultCode
==
1
){
this
.
FinanceInfoChangeLog
=
res
.
data
.
data
}
else
{
this
.
$message
.
error
(
res
.
data
.
message
)
}
},
err
=>
{})
},
handleCurrentChange
(
val
)
{
//翻页功能按钮
handleCurrentChange
(
val
)
{
//翻页功能按钮
this
.
msg
.
pageIndex
=
val
;
this
.
msg
.
pageIndex
=
val
;
this
.
getTemplateList
();
this
.
getTemplateList
();
...
...
src/components/FinancialModule/ReportForm/CombinedRevenueReport.vue
View file @
4c209a7b
...
@@ -941,6 +941,22 @@ export default {
...
@@ -941,6 +941,22 @@ export default {
columnAlign
:
"left"
,
columnAlign
:
"left"
,
isResize
:
true
isResize
:
true
},
},
{
field
:
"TransportWL"
,
title
:
"网络"
,
width
:
50
,
titleAlign
:
"left"
,
columnAlign
:
"left"
,
isResize
:
true
},
{
field
:
"TransportPW"
,
title
:
"票务"
,
width
:
50
,
titleAlign
:
"left"
,
columnAlign
:
"left"
,
isResize
:
true
},
{
{
field
:
"TransportCost"
,
field
:
"TransportCost"
,
formatter
:
this
.
moneyFormat
,
formatter
:
this
.
moneyFormat
,
...
...
src/components/FinancialModule/ReportForm/EasyReport.vue
View file @
4c209a7b
...
@@ -911,9 +911,10 @@ export default {
...
@@ -911,9 +911,10 @@ export default {
}
}
if
(
rowIndex
<
15
){
if
(
rowIndex
<
15
){
if
(
BranchId
==
1245
){
// if(BranchId == 1245){
that
.
$router
.
push
({
name
:
"TeamRevenueReport"
,
query
:{
"StartTime"
:
startDate
,
"EndTime"
:
endDate
,
BranchId
:
BranchId
,
OutBranchId
:
BranchId
,
StandardCurrencyId
,
blank
:
'y'
,
tab
:
"营收报表"
}
})
// that.$router.push({ name: "TeamRevenueReport",query:{"StartTime":startDate,"EndTime":endDate,BranchId:BranchId,OutBranchId:BranchId,StandardCurrencyId,blank:'y',tab:"营收报表"} })
}
else
if
(
rowData
.
ZhaiYao
==
"联运收入"
){
// }
if
(
rowData
.
ZhaiYao
==
"联运收入"
){
that
.
goUrl
(
"CombinedRevenueReport"
,
startDate
,
endDate
,
BranchId
,
"联运收入"
)
that
.
goUrl
(
"CombinedRevenueReport"
,
startDate
,
endDate
,
BranchId
,
"联运收入"
)
}
}
// 跳转到应收团款查询
// 跳转到应收团款查询
...
...
src/components/FinancialModule/ReportForm/TeamRevenueReport.vue
View file @
4c209a7b
...
@@ -1911,6 +1911,22 @@ export default {
...
@@ -1911,6 +1911,22 @@ export default {
columnAlign
:
"right"
,
columnAlign
:
"right"
,
isResize
:
true
isResize
:
true
},
},
{
field
:
"TransportWL"
,
title
:
"网络"
,
width
:
50
,
titleAlign
:
"left"
,
columnAlign
:
"right"
,
isResize
:
true
},
{
field
:
"TransportPW"
,
title
:
"票务"
,
width
:
50
,
titleAlign
:
"left"
,
columnAlign
:
"right"
,
isResize
:
true
},
{
{
field
:
"TransportCost"
,
field
:
"TransportCost"
,
formatter
:
this
.
moneyFormat
,
formatter
:
this
.
moneyFormat
,
...
...
src/components/FinancialModule/invoicesManagerAdd.vue
View file @
4c209a7b
...
@@ -146,10 +146,10 @@
...
@@ -146,10 +146,10 @@
</tr>
</tr>
<tr>
<tr>
<td
v-if=
"msg.TCID"
>
团号
</td>
<td
v-if=
"msg.TCID
>0
"
>
团号
</td>
<td
v-if=
"msg.TCID"
>
{{
msg
.
TCID
}}
</td>
<td
v-if=
"msg.TCID
>0
"
>
{{
msg
.
TCID
}}
</td>
<td>
订单号
</td>
<td>
订单号
</td>
<td
:colspan=
"msg.TCID?0:3"
>
{{
msg
.
OrderId
}}
</td>
<td
:colspan=
"msg.TCID
>0
?0:3"
>
{{
msg
.
OrderId
}}
</td>
</tr>
</tr>
<tr>
<tr>
<td
rowspan=
"6"
>
开具内容
</td>
<td
rowspan=
"6"
>
开具内容
</td>
...
@@ -421,7 +421,12 @@
...
@@ -421,7 +421,12 @@
res
=>
{
res
=>
{
if
(
res
.
data
.
resultCode
==
1
)
{
if
(
res
.
data
.
resultCode
==
1
)
{
this
.
$message
.
success
(
res
.
data
.
message
);
this
.
$message
.
success
(
res
.
data
.
message
);
let
path
=
this
.
msg
.
InvoiceApplyType
==
1
?
'groupTourOrder'
:
'VisaProductEditOrder'
let
path
=
''
if
(
this
.
msg
.
InvoiceApplyType
==
1
){
path
=
'groupTourOrder'
}
else
if
(
this
.
msg
.
InvoiceApplyType
==
4
){
path
=
'VisaProductEditOrder'
}
setTimeout
(()
=>
{
setTimeout
(()
=>
{
if
(
!
this
.
crmOrderObj
){
if
(
!
this
.
crmOrderObj
){
this
.
$router
.
push
({
this
.
$router
.
push
({
...
@@ -469,9 +474,17 @@
...
@@ -469,9 +474,17 @@
},
},
getOrderDetail
:
function
()
{
getOrderDetail
:
function
()
{
// 获取订单详情
// 获取订单详情
let
OrderResource
=
8
;
//团队订单
let
OrderResource
=
this
.
msg
.
InvoiceApplyType
;
if
(
this
.
msg
.
InvoiceApplyType
!=
1
)
{
if
(
this
.
msg
.
InvoiceApplyType
==
1
)
{
OrderResource
=
8
;
//团队订单
}
else
if
(
this
.
msg
.
InvoiceApplyType
==
4
){
OrderResource
=
10
;
//签证订单
OrderResource
=
10
;
//签证订单
}
else
if
(
this
.
msg
.
InvoiceApplyType
==
5
){
OrderResource
=
4
;
//车
}
else
if
(
this
.
msg
.
InvoiceApplyType
==
6
){
OrderResource
=
1
;
//酒店
}
else
if
(
this
.
msg
.
InvoiceApplyType
==
7
){
OrderResource
=
3
;
//景点
}
}
this
.
apipost
(
this
.
apipost
(
"InvoiceApply_get_GetOrderFinanceList"
,
{
"InvoiceApply_get_GetOrderFinanceList"
,
{
...
@@ -536,11 +549,9 @@
...
@@ -536,11 +549,9 @@
this
.
DepartName
=
userInfo
.
DepartName
;
this
.
DepartName
=
userInfo
.
DepartName
;
this
.
emName
=
userInfo
.
emName
;
this
.
emName
=
userInfo
.
emName
;
this
.
msg
.
OrderId
=
this
.
$route
.
query
.
OrderId
;
this
.
msg
.
OrderId
=
this
.
$route
.
query
.
OrderId
;
this
.
msg
.
TCID
=
this
.
$route
.
query
.
TCID
;
this
.
msg
.
TCID
=
this
.
$route
.
query
.
TCID
?
this
.
$route
.
query
.
TCID
:
0
;
this
.
msg
.
CustomerId
=
this
.
$route
.
query
.
customerId
;
this
.
msg
.
CustomerId
=
this
.
$route
.
query
.
customerId
;
if
(
this
.
$route
.
query
.
InvoiceApplyType
)
{
this
.
msg
.
InvoiceApplyType
=
this
.
$route
.
query
.
InvoiceApplyType
?
this
.
$route
.
query
.
InvoiceApplyType
:
1
;
this
.
msg
.
InvoiceApplyType
=
this
.
$route
.
query
.
InvoiceApplyType
;
}
if
(
this
.
$route
.
query
.
crmOrderObj
){
if
(
this
.
$route
.
query
.
crmOrderObj
){
let
crmOrderObj
=
JSON
.
parse
(
this
.
$route
.
query
.
crmOrderObj
)
let
crmOrderObj
=
JSON
.
parse
(
this
.
$route
.
query
.
crmOrderObj
)
this
.
crmOrderObj
=
crmOrderObj
this
.
crmOrderObj
=
crmOrderObj
...
...
src/components/Hotel/reservation/OrderList.vue
View file @
4c209a7b
...
@@ -678,6 +678,22 @@
...
@@ -678,6 +678,22 @@
</el-tooltip>
</el-tooltip>
</div>
</div>
</div>
</div>
<div
class=
"column px15 bgf5 radius5 ml flex-g pa relative"
style=
"min-width: 150px;max-width:400px"
>
<div
class=
"fz12"
>
发票单据
</div>
<div
class=
"row wrap orderNo fz12 py"
>
<span
class=
"cursor-pointer radius5 mr px5"
:class=
"{'bgD9F3FF':x.Status==1,'bgFAEAED':x.Status==2,'bjFFF3E0':x.Status==3,
'c3FC4FF':x.Status==1,'cF1416C':x.Status==2,'cff9800':x.Status==3}"
v-for=
"(x, i) in item.InvoiceApplyList"
@
click=
"openDetails(x)"
>
{{ x.FrID }}
</span
>
<span
v-if=
"item.InvoiceApplyList&&item.InvoiceApplyList.length == 0"
class=
"c9e fz12"
>
暂无发票单据
</span>
</div>
</div>
<!--<div class="column px15 bgf5 radius5 ml flex-g pa relative" style="min-width: 150px;max-width:400px">
<!--<div class="column px15 bgf5 radius5 ml flex-g pa relative" style="min-width: 150px;max-width:400px">
<div class="fz12">手配费单据</div>
<div class="fz12">手配费单据</div>
<div class="row wrap orderNo fz12 py">
<div class="row wrap orderNo fz12 py">
...
@@ -738,8 +754,8 @@
...
@@ -738,8 +754,8 @@
</div>
</div>
</div>
</div>
</div>
</div>
<!-- v-if="item.OrderStatus > 3 || item.OrderStatus < 3" -->
<div
<div
v-if=
"item.OrderStatus > 3 || item.OrderStatus < 3"
class=
"row-c wrap justify-c px15 bgE8F5E9 radius5 ml fz12 orderop pa20 flex-s"
class=
"row-c wrap justify-c px15 bgE8F5E9 radius5 ml fz12 orderop pa20 flex-s"
>
>
<div
<div
...
@@ -802,6 +818,8 @@
...
@@ -802,6 +818,8 @@
>
>
<span
class=
"c059FF6"
>
编辑总金额
</span>
<span
class=
"c059FF6"
>
编辑总金额
</span>
</div>
</div>
<!-- 申请发票 -->
<ApplyFoInvoice
v-if=
"userInfo.EmployeeId==item.EnterID"
:obj=
"item"
:type=
"6"
></ApplyFoInvoice>
</div>
</div>
<!-- <div v-if="item.OrderStatus==2" class="column-jac px15 bgE8F5E9 radius5 ml fz12 pa20 flex-s c20C997">
<!-- <div v-if="item.OrderStatus==2" class="column-jac px15 bgE8F5E9 radius5 ml fz12 pa20 flex-s c20C997">
<div class="mb5">已支付</div>
<div class="mb5">已支付</div>
...
@@ -928,8 +946,9 @@
...
@@ -928,8 +946,9 @@
import
more
from
'../../public/more.vue'
;
import
more
from
'../../public/more.vue'
;
import
correlationOP
from
'./correlationOP.vue'
;
import
correlationOP
from
'./correlationOP.vue'
;
import
commissionDialog
from
"../../FinancialModule/TradeCommission/commissionDialog"
import
commissionDialog
from
"../../FinancialModule/TradeCommission/commissionDialog"
import
ApplyFoInvoice
from
'../../public/ApplyFoInvoice'
;
export
default
{
export
default
{
components
:
{
offset
,
more
,
correlationOP
,
commissionDialog
},
components
:
{
offset
,
more
,
correlationOP
,
commissionDialog
,
ApplyFoInvoice
},
props
:
[
"OrderList"
,
"pagesTitle"
],
props
:
[
"OrderList"
,
"pagesTitle"
],
data
()
{
data
()
{
return
{
return
{
...
...
src/components/Hotel/reservation/correlationOP.vue
View file @
4c209a7b
...
@@ -104,14 +104,13 @@
...
@@ -104,14 +104,13 @@
}
}
if
(
this
.
CorrelationObj
.
TypeNum
==
1
){
if
(
this
.
CorrelationObj
.
TypeNum
==
1
){
url
=
'dict_post_SetCustomerOrderOP'
url
=
'dict_post_SetCustomerOrderOP'
}
}
else
if
(
this
.
CorrelationObj
.
TypeNum
===
2
){
if
(
this
.
CorrelationObj
.
TypeNum
===
2
){
url
=
'ticket_post_SetTicketOrderOP'
url
=
'ticket_post_SetTicketOrderOP'
}
}
else
if
(
this
.
CorrelationObj
.
TypeNum
===
3
){
if
(
this
.
CorrelationObj
.
TypeNum
===
3
){
url
=
'CarSingle_post_SetCarOrderOP'
url
=
'CarSingle_post_SetCarOrderOP'
}
}
else
if
(
this
.
CorrelationObj
.
TypeNum
===
7
){
//签证op
if
(
this
.
CorrelationObj
.
TypeNum
===
4
){
url
=
''
}
else
if
(
this
.
CorrelationObj
.
TypeNum
===
4
){
msg
=
{
msg
=
{
OrderId
:
this
.
msg
.
OrderId
,
OrderId
:
this
.
msg
.
OrderId
,
Money
:
this
.
msg
.
Money
Money
:
this
.
msg
.
Money
...
...
src/components/Hotel/singleProduct/components/ListCar.vue
View file @
4c209a7b
...
@@ -23,8 +23,7 @@
...
@@ -23,8 +23,7 @@
<div
class=
"list-operation"
>
<div
class=
"list-operation"
>
<div>
<div>
<button
v-if=
"x.Date>=OptionalTime"
class=
"hollowFixedBtn"
type=
"primary"
<button
v-if=
"x.Date>=OptionalTime"
class=
"hollowFixedBtn"
type=
"primary"
@
click=
"setEditorHandler(y)"
>
@
click=
"setEditorHandler(y)"
>
<i
class=
"el-icon-edit"
></i>
<i
class=
"el-icon-edit"
></i>
</button>
</button>
<button
class=
"normalBtn"
type=
"primary"
@
click=
"removeHotelHandler(xi,i)"
>
<button
class=
"normalBtn"
type=
"primary"
@
click=
"removeHotelHandler(xi,i)"
>
...
@@ -79,8 +78,7 @@
...
@@ -79,8 +78,7 @@
<el-col
:span=
"12"
>
<el-col
:span=
"12"
>
<el-form-item
label=
"类型"
prop=
"OrderType"
>
<el-form-item
label=
"类型"
prop=
"OrderType"
>
<el-select
v-model=
"parameters.OrderType"
>
<el-select
v-model=
"parameters.OrderType"
>
<el-option
v-for=
"item in cacheHotels"
:key=
"item.ID"
:label=
"item.Name"
:value=
"item.ID"
>
<el-option
v-for=
"item in cacheHotels"
:key=
"item.ID"
:label=
"item.Name"
:value=
"item.ID"
></el-option>
</el-option>
</el-select>
</el-select>
</el-form-item>
</el-form-item>
</el-col>
</el-col>
...
@@ -91,7 +89,7 @@
...
@@ -91,7 +89,7 @@
</el-form-item>
</el-form-item>
</el-col>
</el-col>
<el-col
:span=
"12"
>
<el-col
:span=
"12"
>
<el-form-item
label=
"电话"
prop=
"ContactNumber
"
>
<el-form-item
label=
"电话"
prop=
"
"
>
<el-input
v-model=
"parameters.ContactNumber"
></el-input>
<el-input
v-model=
"parameters.ContactNumber"
></el-input>
</el-form-item>
</el-form-item>
</el-col>
</el-col>
...
@@ -103,7 +101,8 @@
...
@@ -103,7 +101,8 @@
</el-col>
</el-col>
<el-col
:span=
"12"
>
<el-col
:span=
"12"
>
<el-form-item
label=
"备注"
prop=
""
>
<el-form-item
label=
"备注"
prop=
""
>
<el-input
type=
"textarea"
:rows=
"1"
placeholder=
"请输入备注"
v-model=
"parameters.Remark"
></el-input>
<el-input
type=
"textarea"
:rows=
"1"
placeholder=
"请输入备注"
v-model=
"parameters.Remark"
></el-input>
</el-form-item>
</el-form-item>
</el-col>
</el-col>
</el-row>
</el-row>
...
@@ -113,8 +112,7 @@
...
@@ -113,8 +112,7 @@
<span
class=
"coloref1416c fz12"
>
订单总金额:
</span>
<span
class=
"coloref1416c fz12"
>
订单总金额:
</span>
<span
class=
"coloref1416c fbold"
>
<span
class=
"coloref1416c fbold"
>
<span
class=
"fz18"
>
{{parameters.Money}}
</span>
<span
class=
"fz18"
>
{{parameters.Money}}
</span>
<span
class=
"fz13"
>
<span
class=
"fz13"
>
<!-- ¥ -->
{{cars[0].CurrencyName}}
</span>
<!-- ¥ -->
{{cars[0].CurrencyName}}
</span>
</span>
</span>
</div>
</div>
<div>
<div>
...
@@ -127,8 +125,8 @@
...
@@ -127,8 +125,8 @@
</div>
</div>
</div>
</div>
</div>
</div>
</template>
</template>
<
script
>
<
script
>
export
default
{
export
default
{
props
:
{
props
:
{
// crmOrderObj: {
// crmOrderObj: {
...
@@ -146,8 +144,8 @@
...
@@ -146,8 +144,8 @@
},
},
data
()
{
data
()
{
return
{
return
{
crmOrderObj
:
null
,
crmOrderObj
:
null
,
OptionalTime
:
this
.
getBeforeDate
(
0
,
new
Date
().
Format
(
'yyyy-MM-dd'
)),
//可编辑时间
OptionalTime
:
this
.
getBeforeDate
(
0
,
new
Date
().
Format
(
'yyyy-MM-dd'
)),
//可编辑时间
cars
:
[],
cars
:
[],
HotelLength
:
0
,
HotelLength
:
0
,
addNum
:
1
,
addNum
:
1
,
...
@@ -168,16 +166,11 @@
...
@@ -168,16 +166,11 @@
currentS
:
0
,
currentS
:
0
,
RemainingInventory
:
0
,
RemainingInventory
:
0
,
loading
:
false
,
loading
:
false
,
cacheHotels
:
[{
cacheHotels
:
[
Name
:
'散客'
,
{
Name
:
'散客'
,
ID
:
1
},
ID
:
1
{
Name
:
'团队'
,
ID
:
2
}
},
{
Name
:
'团队'
,
ID
:
2
}
],
],
rules
:
{
rules
:
{
OrderType
:
[{
OrderType
:
[{
required
:
true
,
required
:
true
,
message
:
'请选择类型'
,
message
:
'请选择类型'
,
...
@@ -188,12 +181,12 @@
...
@@ -188,12 +181,12 @@
message
:
'请输入散客姓名'
,
message
:
'请输入散客姓名'
,
trigger
:
'blur'
trigger
:
'blur'
}],
}],
ContactNumber
:
[{
ContactNumber
:
[
required
:
true
,
{
required
:
true
,
message
:
"请输入联系电话"
,
trigger
:
"blur"
},
message
:
"请输入联系电话"
,
{
trigger
:
"blur"
pattern
:
this
.
$commonUtils
.
Regex
.
el_ISphone
,
message
:
"请输入正确的电话"
}
}
],
],
TCNum
:
[{
TCNum
:
[{
required
:
true
,
required
:
true
,
...
@@ -218,7 +211,7 @@
...
@@ -218,7 +211,7 @@
cars
:
{
cars
:
{
handler
:
function
(
val
,
oldVal
)
{
handler
:
function
(
val
,
oldVal
)
{
this
.
HotelLength
=
this
.
cars
.
length
this
.
HotelLength
=
this
.
cars
.
length
localStorage
.
setItem
(
"HotelLength"
,
this
.
HotelLength
)
localStorage
.
setItem
(
"HotelLength"
,
this
.
HotelLength
)
this
.
getMoney
()
this
.
getMoney
()
},
},
deep
:
true
deep
:
true
...
@@ -232,10 +225,10 @@
...
@@ -232,10 +225,10 @@
},
},
created
()
{
created
()
{
// crm自动登陆传过来的参数
// crm自动登陆传过来的参数
if
(
this
.
$route
.
query
.
crmOrderObj
)
{
if
(
this
.
$route
.
query
.
crmOrderObj
)
{
let
crmOrderObj
=
JSON
.
parse
(
this
.
$route
.
query
.
crmOrderObj
)
let
crmOrderObj
=
JSON
.
parse
(
this
.
$route
.
query
.
crmOrderObj
)
this
.
crmOrderObj
=
crmOrderObj
this
.
crmOrderObj
=
crmOrderObj
this
.
parameters
.
LureEmpId
=
crmOrderObj
.
LureEmpId
//引流id
this
.
parameters
.
LureEmpId
=
crmOrderObj
.
LureEmpId
//引流id
this
.
parameters
.
CRMGuestId
=
crmOrderObj
.
CRMGuestId
//客人ID
this
.
parameters
.
CRMGuestId
=
crmOrderObj
.
CRMGuestId
//客人ID
}
}
this
.
cars
=
JSON
.
parse
(
localStorage
.
getItem
(
"cars"
))
this
.
cars
=
JSON
.
parse
(
localStorage
.
getItem
(
"cars"
))
...
@@ -247,7 +240,7 @@
...
@@ -247,7 +240,7 @@
},
},
methods
:
{
methods
:
{
// 关闭购物车
// 关闭购物车
close
()
{
close
()
{
localStorage
.
removeItem
(
'editor'
)
localStorage
.
removeItem
(
'editor'
)
this
.
$emit
(
'close'
)
this
.
$emit
(
'close'
)
},
},
...
@@ -270,13 +263,13 @@
...
@@ -270,13 +263,13 @@
}
}
});
});
},
},
setFormMsg
()
{
setFormMsg
()
{
let
temp
=
JSON
.
parse
(
JSON
.
stringify
(
this
.
cars
))
let
temp
=
JSON
.
parse
(
JSON
.
stringify
(
this
.
cars
))
if
(
this
.
loading
||
this
.
cars
.
length
==
0
)
return
if
(
this
.
loading
||
this
.
cars
.
length
==
0
)
return
this
.
loading
=
true
this
.
loading
=
true
this
.
parameters
.
DetailList
=
[]
this
.
parameters
.
DetailList
=
[]
temp
.
forEach
((
x
)
=>
{
temp
.
forEach
((
x
)
=>
{
x
.
Hotels
.
forEach
((
y
)
=>
{
x
.
Hotels
.
forEach
((
y
)
=>
{
y
.
RoomList
=
JSON
.
parse
(
JSON
.
stringify
(
y
.
DetailList
))
y
.
RoomList
=
JSON
.
parse
(
JSON
.
stringify
(
y
.
DetailList
))
delete
y
.
DetailList
delete
y
.
DetailList
this
.
parameters
.
DetailList
.
push
(
y
)
this
.
parameters
.
DetailList
.
push
(
y
)
...
@@ -291,7 +284,7 @@
...
@@ -291,7 +284,7 @@
localStorage
.
removeItem
(
'cars'
)
localStorage
.
removeItem
(
'cars'
)
localStorage
.
removeItem
(
'editor'
)
localStorage
.
removeItem
(
'editor'
)
localStorage
.
removeItem
(
'HotelLength'
)
localStorage
.
removeItem
(
'HotelLength'
)
this
.
cars
=
[]
this
.
cars
=
[]
this
.
HotelLength
=
0
this
.
HotelLength
=
0
this
.
$emit
(
'success'
)
this
.
$emit
(
'success'
)
}
else
{
}
else
{
...
@@ -304,112 +297,96 @@
...
@@ -304,112 +297,96 @@
}
}
);
);
},
},
removeHotelHandler
(
x
,
y
)
{
removeHotelHandler
(
x
,
y
)
{
let
that
=
this
let
that
=
this
that
.
$confirm
(
'是否确定删除?'
,
'提示'
,
{
that
.
$confirm
(
'是否确定删除?'
,
'提示'
,
{
confirmButtonText
:
'确定'
,
confirmButtonText
:
'确定'
,
cancelButtonText
:
'取消'
,
cancelButtonText
:
'取消'
,
type
:
'warning'
type
:
'warning'
}).
then
(()
=>
{
}).
then
(()
=>
{
if
(
this
.
cars
[
x
].
Hotels
.
length
==
1
)
{
if
(
this
.
cars
[
x
].
Hotels
.
length
==
1
)
{
this
.
cars
.
splice
(
x
,
1
)
this
.
cars
.
splice
(
x
,
1
)
}
else
{
}
else
{
this
.
cars
[
x
].
Hotels
.
splice
(
y
,
1
)
this
.
cars
[
x
].
Hotels
.
splice
(
y
,
1
)
}
}
this
.
HotelLength
=
this
.
cars
.
length
this
.
HotelLength
=
this
.
cars
.
length
localStorage
.
removeItem
(
'cars'
)
localStorage
.
removeItem
(
'cars'
)
localStorage
.
setItem
(
'cars'
,
JSON
.
stringify
(
this
.
cars
))
localStorage
.
setItem
(
'cars'
,
JSON
.
stringify
(
this
.
cars
))
localStorage
.
removeItem
(
'HotelLength'
)
localStorage
.
removeItem
(
'HotelLength'
)
localStorage
.
setItem
(
'HotelLength'
,
JSON
.
stringify
(
this
.
HotelLength
))
localStorage
.
setItem
(
'HotelLength'
,
JSON
.
stringify
(
this
.
HotelLength
))
}).
catch
(()
=>
{
}).
catch
(()
=>
{
});
});
},
},
// 编辑
// 编辑
setEditorHandler
(
x
)
{
setEditorHandler
(
x
)
{
localStorage
.
setItem
(
'editor'
,
JSON
.
stringify
(
x
))
localStorage
.
setItem
(
'editor'
,
JSON
.
stringify
(
x
))
this
.
$emit
(
'editor'
,
x
)
this
.
$emit
(
'editor'
,
x
)
}
}
}
}
};
};
</
script
>
</
script
>
<
style
scoped
>
<
style
scoped
>
.fz12
{
.fz12
{
font-size
:
12px
;
font-size
:
12px
;
}
}
.fz13
{
.fz13
{
font-size
:
13px
;
font-size
:
13px
;
}
}
.fz14
{
.fz14
{
font-size
:
14px
;
font-size
:
14px
;
}
}
.fz15
{
.fz15
{
font-size
:
15px
;
font-size
:
15px
;
}
}
.fz16
{
.fz16
{
font-size
:
16px
;
font-size
:
16px
;
}
}
.fz18
{
.fz18
{
font-size
:
18px
;
font-size
:
18px
;
}
}
.fbold
{
.fbold
{
font-weight
:
bold
;
font-weight
:
bold
;
}
}
.paddinglr15
{
.paddinglr15
{
padding
:
0
15px
;
padding
:
0
15px
;
}
}
.row-JCSB
{
.row-JCSB
{
display
:
flex
;
display
:
flex
;
justify-content
:
space-between
;
justify-content
:
space-between
;
}
}
.row-JCE
{
.row-JCE
{
display
:
flex
;
display
:
flex
;
justify-content
:
end
;
justify-content
:
end
;
}
}
.colorffffff
{
.colorffffff
{
color
:
#ffffff
;
color
:
#ffffff
;
}
}
.color009ef7
{
.color009ef7
{
color
:
#009ef7
;
color
:
#009ef7
;
}
}
.colore65100
{
.colore65100
{
color
:
#e65100
;
color
:
#e65100
;
}
}
.coloref44336
{
.coloref44336
{
color
:
#f44336
;
color
:
#f44336
;
}
}
.coloref1416c
{
.coloref1416c
{
color
:
#f1416c
;
color
:
#f1416c
;
}
}
.ListCar-form
{
.ListCar-form
{
position
:
fixed
;
position
:
fixed
;
top
:
0
;
top
:
0
;
left
:
0
;
left
:
0
;
right
:
0
;
right
:
0
;
bottom
:
0
;
bottom
:
0
;
background
:
rgba
(
23
,
23
,
23
,
.5
);
background
:
rgba
(
23
,
23
,
23
,
.5
);
z-index
:
3
;
z-index
:
3
;
}
}
.ListCar-form-box
{
.ListCar-form-box
{
position
:
fixed
;
position
:
fixed
;
top
:
0
;
top
:
0
;
right
:
0
;
right
:
0
;
...
@@ -418,135 +395,112 @@
...
@@ -418,135 +395,112 @@
background
:
#ffffff
;
background
:
#ffffff
;
z-index
:
100
;
z-index
:
100
;
}
}
.ListCar-box
{
.ListCar-box
{
width
:
100%
;
width
:
100%
;
height
:
100%
;
height
:
100%
;
position
:
relative
;
position
:
relative
;
}
}
.ListCar-close
{
.ListCar-close
{
position
:
absolute
;
position
:
absolute
;
left
:
-47px
;
left
:
-47px
;
top
:
20%
;
top
:
20%
;
line-height
:
26px
;
line-height
:
26px
;
}
}
.ListCar-close
i
{
.ListCar-close
i
{
margin-left
:
3px
;
margin-left
:
3px
;
}
}
.normalBtn.ListCar-close
{
.normalBtn.ListCar-close
{
border-top-right-radius
:
0
;
border-top-right-radius
:
0
;
border-bottom-right-radius
:
0
;
border-bottom-right-radius
:
0
;
padding
:
0
8px
!important
;
padding
:
0
8px
!important
;
}
}
.ListCar-box
{
.ListCar-box
{
padding
:
15px
0
;
padding
:
15px
0
;
}
}
.ListCar-header
{
.ListCar-header
{
border-bottom
:
-
;
border-bottom
:
-
;
}
}
.ListCar-header-right
{
.ListCar-header-right
{
border-radius
:
3px
;
border-radius
:
3px
;
padding
:
5px
8px
;
padding
:
5px
8px
;
background
:
#fff3e0
;
background
:
#fff3e0
;
}
}
.ListCar-content
{
.ListCar-content
{
padding
:
20px
15px
;
padding
:
20px
15px
;
height
:
calc
(
100%
-
230px
);
height
:
calc
(
100%
-
230px
);
overflow
:
auto
;
overflow
:
auto
;
}
}
.ListCar-list
{
.ListCar-list
{
border-radius
:
3px
;
border-radius
:
3px
;
background
:
black
;
background
:
black
;
padding
:
0
10px
10px
10px
;
padding
:
0
10px
10px
10px
;
margin
:
0
0
10px
0
;
margin
:
0
0
10px
0
;
}
}
.list-time
{
.list-time
{
padding
:
10px
0
5px
0
;
padding
:
10px
0
5px
0
;
}
}
.list-content-box
{
.list-content-box
{
background
:
#e1f5fe
;
background
:
#e1f5fe
;
position
:
relative
;
position
:
relative
;
border-radius
:
3px
;
border-radius
:
3px
;
cursor
:
pointer
;
cursor
:
pointer
;
margin-bottom
:
5px
;
margin-bottom
:
5px
;
}
}
.list-content-box
:last-child
{
.list-content-box
:last-child
{
margin-bottom
:
0
;
margin-bottom
:
0
;
}
}
.list-content
{
.list-content
{
padding
:
8px
10px
;
padding
:
8px
10px
;
}
}
.list-content-title
{
.list-content-title
{
border-bottom
:
1px
dashed
#009ef7
;
border-bottom
:
1px
dashed
#009ef7
;
padding
:
0
0
8px
0
;
padding
:
0
0
8px
0
;
}
}
.content-title
{
.content-title
{
width
:
300px
;
width
:
300px
;
overflow
:
hidden
;
overflow
:
hidden
;
white-space
:
nowrap
;
white-space
:
nowrap
;
text-overflow
:
ellipsis
;
text-overflow
:
ellipsis
;
}
}
.list-content-rooms
{
.list-content-rooms
{
border-bottom
:
1px
dashed
#009ef7
;
border-bottom
:
1px
dashed
#009ef7
;
padding
:
6px
0
;
padding
:
6px
0
;
}
}
.list-content-rooms
>
div
{
.list-content-rooms
>
div
{
margin-bottom
:
5px
;
margin-bottom
:
5px
;
}
}
.list-content-rooms
>
div
:last-child
{
.list-content-rooms
>
div
:last-child
{
margin-bottom
:
0
;
margin-bottom
:
0
;
}
}
.list-content-num
{
.list-content-num
{
padding
:
6px
0
0
0
;
padding
:
6px
0
0
0
;
}
}
.list-operation
{
.list-operation
{
position
:
absolute
;
position
:
absolute
;
top
:
0
;
top
:
0
;
left
:
0
;
left
:
0
;
bottom
:
0
;
bottom
:
0
;
right
:
0
;
right
:
0
;
background
:
rgba
(
23
,
23
,
23
,
.5
);
background
:
rgba
(
23
,
23
,
23
,
.5
);
border-radius
:
3px
;
border-radius
:
3px
;
display
:
none
;
display
:
none
;
z-index
:
1
;
z-index
:
1
;
}
}
.list-operation
div
{
.list-operation
div
{
height
:
100%
;
height
:
100%
;
display
:
flex
;
display
:
flex
;
justify-content
:
center
;
justify-content
:
center
;
align-items
:
center
;
align-items
:
center
;
}
}
.list-content-box
:hover
.list-operation
{
.list-content-box
:hover
.list-operation
{
display
:
block
;
display
:
block
;
}
}
.ListCar-bottom
{
.ListCar-bottom
{
padding
:
15px
15px
0
15px
;
padding
:
15px
15px
0
15px
;
}
}
.bottom-num
{
.bottom-num
{
align-items
:
center
;
align-items
:
center
;
}
}
</
style
>
</
style
>
src/components/SalesModule/VisaFinancialDocuments.vue
View file @
4c209a7b
...
@@ -111,7 +111,7 @@
...
@@ -111,7 +111,7 @@
.checklist_ul
li
{
.checklist_ul
li
{
display
:
inline-block
;
display
:
inline-block
;
margin
:
10px
0
;
margin
:
10px
0
;
width
:
8
5px
;
width
:
11
5px
;
cursor
:
pointer
;
cursor
:
pointer
;
}
}
.tickets_red
{
.tickets_red
{
...
@@ -541,6 +541,9 @@
...
@@ -541,6 +541,9 @@
<span
v-if=
"item.VisaStatus===1"
class=
"tickets_red"
><span
v-if=
"item.Status==0"
>
{{item.guestName}}
</span><span
v-else
style=
"text-decoration:line-through;"
>
{{item.guestName}}
</span></span>
<span
v-if=
"item.VisaStatus===1"
class=
"tickets_red"
><span
v-if=
"item.Status==0"
>
{{item.guestName}}
</span><span
v-else
style=
"text-decoration:line-through;"
>
{{item.guestName}}
</span></span>
<span
v-if=
"item.VisaStatus===2"
class=
"tickets_blue"
><span
v-if=
"item.Status==0"
>
{{item.guestName}}
</span><span
v-else
style=
"text-decoration:line-through;"
>
{{item.guestName}}
</span></span>
<span
v-if=
"item.VisaStatus===2"
class=
"tickets_blue"
><span
v-if=
"item.Status==0"
>
{{item.guestName}}
</span><span
v-else
style=
"text-decoration:line-through;"
>
{{item.guestName}}
</span></span>
<span
v-if=
"item.VisaStatus===3"
class=
"tickets_black"
><span
v-if=
"item.Status==0"
>
{{item.guestName}}
</span><span
v-else
style=
"text-decoration:line-through;"
>
{{item.guestName}}
</span></span>
<span
v-if=
"item.VisaStatus===3"
class=
"tickets_black"
><span
v-if=
"item.Status==0"
>
{{item.guestName}}
</span><span
v-else
style=
"text-decoration:line-through;"
>
{{item.guestName}}
</span></span>
<
template
v-if=
"item.CostRelationList.length+item.InsureRelationList.length+item.ServiceRelationList.length>0"
>
(
{{
item
.
CostRelationList
.
length
+
item
.
InsureRelationList
.
length
+
item
.
ServiceRelationList
.
length
}}
)
</
template
>
</label>
</label>
</li>
</li>
...
@@ -633,6 +636,7 @@ export default {
...
@@ -633,6 +636,7 @@ export default {
checkListAll
:[],
checkListAll
:[],
checkd
:
false
,
checkd
:
false
,
type2
:
null
,
type2
:
null
,
isSignMonth
:
[
44
,
64
,
164
,
255
,
267
],
//签证、月结相关流程
}
}
},
},
methods
:
{
methods
:
{
...
@@ -769,7 +773,8 @@ export default {
...
@@ -769,7 +773,8 @@ export default {
"companyID"
:
this
.
OutBranchId
,
"companyID"
:
this
.
OutBranchId
,
"path"
:
""
,
"path"
:
""
,
'blank'
:
'y'
,
'blank'
:
'y'
,
'orderObj'
:
JSON
.
stringify
(
orderObj
)
'orderObj'
:
JSON
.
stringify
(
orderObj
),
'templateID'
:
JSON
.
stringify
(
this
.
isSignMonth
),
}
}
});
});
return
return
...
@@ -871,7 +876,8 @@ export default {
...
@@ -871,7 +876,8 @@ export default {
"companyID"
:
this
.
OutBranchId
,
"companyID"
:
this
.
OutBranchId
,
"path"
:
""
,
"path"
:
""
,
'blank'
:
'y'
,
'blank'
:
'y'
,
'orderObj'
:
JSON
.
stringify
(
orderObj
)
'orderObj'
:
JSON
.
stringify
(
orderObj
),
'templateID'
:
JSON
.
stringify
(
this
.
isSignMonth
),
}
}
});
});
}
else
if
(
this
.
Offset
==
'Offset'
){
}
else
if
(
this
.
Offset
==
'Offset'
){
...
@@ -883,6 +889,7 @@ export default {
...
@@ -883,6 +889,7 @@ export default {
blank
:
'y'
,
blank
:
'y'
,
orderObj
:
JSON
.
stringify
(
orderObj
),
orderObj
:
JSON
.
stringify
(
orderObj
),
Type
:
this
.
type
,
Type
:
this
.
type
,
templateID
:
JSON
.
stringify
(
this
.
isSignMonth
),
}
}
this
.
queryObj
=
query
this
.
queryObj
=
query
this
.
cdState
=
true
this
.
cdState
=
true
...
@@ -902,7 +909,8 @@ export default {
...
@@ -902,7 +909,8 @@ export default {
"companyID"
:
this
.
OutBranchId
,
"companyID"
:
this
.
OutBranchId
,
"path"
:
""
,
"path"
:
""
,
'blank'
:
'y'
,
'blank'
:
'y'
,
'orderObj'
:
JSON
.
stringify
(
orderObj
)
'orderObj'
:
JSON
.
stringify
(
orderObj
),
'templateID'
:
JSON
.
stringify
(
this
.
isSignMonth
),
}
}
});
});
}
}
...
...
src/components/SalesVisa/ModifyVisaProduct.vue
View file @
4c209a7b
...
@@ -426,9 +426,9 @@
...
@@ -426,9 +426,9 @@
<el-input
v-model=
"addMsg.VisaB2CPrice"
@
keyup
.
native=
"checkPrice(addMsg,'VisaB2CPrice')"
placeholder=
"请输入"
maxlength=
"20"
></el-input>
<el-input
v-model=
"addMsg.VisaB2CPrice"
@
keyup
.
native=
"checkPrice(addMsg,'VisaB2CPrice')"
placeholder=
"请输入"
maxlength=
"20"
></el-input>
</el-form-item>
</el-form-item>
<el-form-item
label=
"提成金额"
prop=
"CommissionPrice"
>
<
!--
<
el-form-item
label=
"提成金额"
prop=
"CommissionPrice"
>
<el-input
v-model=
"addMsg.CommissionPrice"
placeholder=
"请输入"
@
keyup
.
native=
"checkPrice(addMsg,'CommissionPrice')"
></el-input>
<el-input
v-model=
"addMsg.CommissionPrice"
placeholder=
"请输入"
@
keyup
.
native=
"checkPrice(addMsg,'CommissionPrice')"
></el-input>
</el-form-item>
</el-form-item>
-->
<el-form-item
label=
"交通过路费"
prop=
"TrafficToll"
>
<el-form-item
label=
"交通过路费"
prop=
"TrafficToll"
>
<el-input
v-model=
"addMsg.TrafficToll"
placeholder=
"请输入"
@
keyup
.
native=
"checkPrice(addMsg,'TrafficToll')"
></el-input>
<el-input
v-model=
"addMsg.TrafficToll"
placeholder=
"请输入"
@
keyup
.
native=
"checkPrice(addMsg,'TrafficToll')"
></el-input>
</el-form-item>
</el-form-item>
...
@@ -787,7 +787,7 @@ export default {
...
@@ -787,7 +787,7 @@ export default {
PeopleNum
:
"0"
,
PeopleNum
:
"0"
,
CostPrice
:
""
,
CostPrice
:
""
,
EntryType
:
1
,
EntryType
:
1
,
CommissionPrice
:
""
,
CommissionPrice
:
"
0
"
,
VisaManagementId
:
""
,
VisaManagementId
:
""
,
VisaB2CPrice
:
""
,
VisaB2CPrice
:
""
,
TrafficToll
:
"0"
,
TrafficToll
:
"0"
,
...
@@ -986,7 +986,7 @@ getCompanyList() {
...
@@ -986,7 +986,7 @@ getCompanyList() {
VisaPrice
:
""
,
VisaPrice
:
""
,
PeopleNum
:
0
,
PeopleNum
:
0
,
CostPrice
:
""
,
CostPrice
:
""
,
CommissionPrice
:
""
,
CommissionPrice
:
"
0
"
,
VisaManagementId
:
""
,
VisaManagementId
:
""
,
VisaB2CPrice
:
""
,
VisaB2CPrice
:
""
,
VisaProductInfo
:
{},
VisaProductInfo
:
{},
...
...
src/components/SalesVisa/components/VisaProductOrder.vue
View file @
4c209a7b
...
@@ -358,6 +358,19 @@
...
@@ -358,6 +358,19 @@
</el-select>
</el-select>
</span>
</span>
</li>
</li>
<li>
<span>
<em>
OP
</em>
<el-select
filterable
v-model=
'msg.OpEmpId'
>
<el-option
:value=
"0"
label=
"不限"
></el-option>
<el-option
v-for=
'item in EmployeeList'
:label=
'item.EmName'
:value=
'item.EmployeeId'
:key=
'item.EmployeeId'
>
</el-option>
</el-select>
</span>
</li>
<li
v-if=
"pagesTitle!='销售'"
>
<li
v-if=
"pagesTitle!='销售'"
>
<span>
<span>
<em>
公司
</em>
<em>
公司
</em>
...
@@ -529,6 +542,7 @@
...
@@ -529,6 +542,7 @@
RB_Branch_Id
:
-
1
,
RB_Branch_Id
:
-
1
,
OrderId
:
0
,
OrderId
:
0
,
IsFinish
:
'0'
,
IsFinish
:
'0'
,
OpEmpId
:
0
,
},
},
addMsg
:
{
addMsg
:
{
Id
:
0
,
Id
:
0
,
...
...
src/components/SalesVisa/components/visaOrderList.vue
View file @
4c209a7b
...
@@ -582,6 +582,7 @@
...
@@ -582,6 +582,7 @@
</
template
>
</
template
>
</template>
</template>
</el-table-column>
</el-table-column>
<el-table-column
label=
"OP"
prop=
"opEmName"
min-width=
"100"
style=
"background:#EAEAEA"
></el-table-column>
<el-table-column
label=
"出发日期"
min-width=
"100"
style=
"background:#EAEAEA"
>
<el-table-column
label=
"出发日期"
min-width=
"100"
style=
"background:#EAEAEA"
>
<
template
slot-scope=
"scope"
>
<
template
slot-scope=
"scope"
>
<template>
<template>
...
@@ -767,6 +768,13 @@
...
@@ -767,6 +768,13 @@
v-if=
"scope.row.VisaPlanIdStr!=''&&pagesTitle!='销售'"
>
v-if=
"scope.row.VisaPlanIdStr!=''&&pagesTitle!='销售'"
>
<span
class=
"c059FF6"
>
签证详情
</span>
<span
class=
"c059FF6"
>
签证详情
</span>
</div>
</div>
<!--
<div
v-if=
"pagesTitle=='OP'"
class=
"row-c cursor-pointer radius5 change py5"
@
click=
"clickCorrelation(item, 1)"
>
<span
class=
"c059FF6"
>
编辑关联OP
</span>
</div>
-->
<div
class=
"row-c cursor-pointer radius5 change py5"
@
click=
"getDetail(scope.row,false)"
<div
class=
"row-c cursor-pointer radius5 change py5"
@
click=
"getDetail(scope.row,false)"
v-if=
"scope.row.income
<
=
0
&&(
scope
.
row
.
visaOrderStatus=
=1||scope.row.visaOrderStatus==3)&&scope.row.visaStatus==1&&pagesTitle=='销售'"
>
v-if=
"scope.row.income
<
=
0
&&(
scope
.
row
.
visaOrderStatus=
=1||scope.row.visaOrderStatus==3)&&scope.row.visaStatus==1&&pagesTitle=='销售'"
>
<span
class=
"c059FF6"
>
{{
$t
(
'system.table_edit'
)
}}
订单
</span>
<span
class=
"c059FF6"
>
{{
$t
(
'system.table_edit'
)
}}
订单
</span>
...
@@ -1056,6 +1064,10 @@ export default {
...
@@ -1056,6 +1064,10 @@ export default {
}
}
},
},
methods
:
{
methods
:
{
clickCorrelation
(
item
,){
this
.
CorrelationObj
=
JSON
.
parse
(
JSON
.
stringify
(
item
));
this
.
CorrelationObj
.
TypeNum
=
7
;
},
DetailsOfRoyalty
(){
DetailsOfRoyalty
(){
},
},
...
...
src/components/busManagement/BookAcar/CharterPreview.vue
View file @
4c209a7b
<
style
scoped
>
<
style
scoped
>
.image-slot
{
.image-slot
{
height
:
100%
;
height
:
100%
;
display
:
flex
;
display
:
flex
;
justify-content
:
center
;
justify-content
:
center
;
align-items
:
center
;
align-items
:
center
;
}
}
.time-box.time-box2
.time-box-width
span
{
.time-box.time-box2
.time-box-width
span
{
width
:
auto
;
width
:
auto
;
}
}
.flexOne
{
.flexOne
{
margin
:
auto
;
margin
:
auto
;
width
:
70%
;
width
:
70%
;
min-width
:
1300px
;
min-width
:
1300px
;
...
@@ -19,26 +17,22 @@
...
@@ -19,26 +17,22 @@
margin-top
:
15px
;
margin-top
:
15px
;
align-items
:
flex-start
;
align-items
:
flex-start
;
}
}
.flexOne-left
{
.flexOne-left
{
flex-grow
:
1
;
flex-grow
:
1
;
}
}
.flexOne-form-bj
{
.flexOne-form-bj
{
border-radius
:
5px
;
border-radius
:
5px
;
background
:
#ffffff
;
background
:
#ffffff
;
padding
:
15px
;
padding
:
15px
;
margin-bottom
:
20px
;
margin-bottom
:
20px
;
}
}
.flexOne-form-bj
h3
{
.flexOne-form-bj
h3
{
font-size
:
18px
;
font-size
:
18px
;
color
:
black
;
color
:
black
;
padding
:
0
0
20px
0
;
padding
:
0
0
20px
0
;
font-weight
:
400
;
font-weight
:
400
;
}
}
.listone-form
{
.listone-form
{
padding
:
5px
0
15px
0
;
padding
:
5px
0
15px
0
;
border-radius
:
5px
;
border-radius
:
5px
;
background
:
#ffffff
;
background
:
#ffffff
;
...
@@ -49,165 +43,135 @@
...
@@ -49,165 +43,135 @@
overflow
:
hidden
;
overflow
:
hidden
;
border-bottom
:
1px
solid
#eeeeee
;
border-bottom
:
1px
solid
#eeeeee
;
}
}
.listone-img
{
.listone-img
{
width
:
130px
;
width
:
130px
;
flex-shrink
:
0
;
flex-shrink
:
0
;
margin-right
:
15px
;
margin-right
:
15px
;
border-radius
:
5px
;
border-radius
:
5px
;
display
:
block
;
display
:
block
;
}
}
.listone-list
{
.listone-list
{
flex-grow
:
1
;
flex-grow
:
1
;
display
:
flex
;
display
:
flex
;
justify-content
:
space-between
;
justify-content
:
space-between
;
}
}
.list-left
h6
,
.card-centent
h6
{
.list-left
h6
,
.card-centent
h6
{
font-size
:
16px
;
font-size
:
16px
;
margin-bottom
:
5px
;
margin-bottom
:
5px
;
cursor
:
pointer
;
cursor
:
pointer
;
}
}
.list-left
div
{
.list-left
div
{
color
:
#7E8299
;
color
:
#7E8299
;
font-size
:
13px
;
font-size
:
13px
;
margin-top
:
7px
;
margin-top
:
7px
;
}
}
.list-left
div
a
{
.list-left
div
a
{
color
:
#009EF7
;
color
:
#009EF7
;
font-size
:
12px
;
font-size
:
12px
;
margin-left
:
15px
;
margin-left
:
15px
;
cursor
:
pointer
;
cursor
:
pointer
;
}
}
.flexOne-time
{
.flexOne-time
{
padding
:
20px
;
padding
:
20px
;
}
}
.time-box
{
.time-box
{
display
:
flex
;
display
:
flex
;
flex-direction
:
row
;
flex-direction
:
row
;
margin-bottom
:
15px
;
margin-bottom
:
15px
;
border
:
0
;
border
:
0
;
}
}
.time-box.center
{
.time-box.center
{
align-items
:
center
;
align-items
:
center
;
}
}
.time-box
>
span
{
.time-box
>
span
{
/* width: 100px; */
/* width: 100px; */
flex-shrink
:
0
;
flex-shrink
:
0
;
font-size
:
13px
;
font-size
:
13px
;
color
:
#181C32
;
color
:
#181C32
;
margin-right
:
40px
;
margin-right
:
40px
;
}
}
.flexOne-type
{
.flexOne-type
{
display
:
flex
;
display
:
flex
;
align-items
:
center
;
align-items
:
center
;
padding
:
0
0
20px
0
;
padding
:
0
0
20px
0
;
}
}
.flexOne-type
b
{
.flexOne-type
b
{
font-size
:
13px
;
font-size
:
13px
;
width
:
100px
;
width
:
100px
;
flex-shrink
:
0
;
flex-shrink
:
0
;
}
}
.flexOne-type
div
{
.flexOne-type
div
{
display
:
flex
;
display
:
flex
;
}
}
.flexOne-description
{
.flexOne-description
{
padding
:
15px
15px
;
padding
:
15px
15px
;
border-radius
:
5px
;
border-radius
:
5px
;
background
:
#E1F5FE
;
background
:
#E1F5FE
;
margin-bottom
:
20px
;
margin-bottom
:
20px
;
}
}
.flexOne-description
b
{
.flexOne-description
b
{
font-size
:
14px
;
font-size
:
14px
;
}
}
.flexOne-description
p
{
.flexOne-description
p
{
font-size
:
12px
;
font-size
:
12px
;
color
:
#4C5759
;
color
:
#4C5759
;
padding
:
10px
0
0
0
;
padding
:
10px
0
0
0
;
}
}
.flexOne-infor-box
b
{
.flexOne-infor-box
b
{
font-size
:
13px
;
font-size
:
13px
;
}
}
.infor-list
{
.infor-list
{
display
:
flex
;
display
:
flex
;
flex-direction
:
column
;
flex-direction
:
column
;
}
}
.list-title
{
.list-title
{
padding
:
20px
0
;
padding
:
20px
0
;
border-bottom
:
1px
dashed
#eeeeee
;
border-bottom
:
1px
dashed
#eeeeee
;
color
:
#7E8299
;
color
:
#7E8299
;
font-size
:
13px
;
font-size
:
13px
;
}
}
.list-title
,
.list-centent
{
.list-title
,
.list-centent
{
display
:
flex
;
display
:
flex
;
flex-wrap
:
wrap
;
flex-wrap
:
wrap
;
margin-top
:
20px
;
margin-top
:
20px
;
}
}
.infor-list
li
{
.infor-list
li
{
position
:
relative
;
position
:
relative
;
width
:
25%
;
width
:
25%
;
}
}
.list-centent
li
{
.list-centent
li
{
display
:
flex
;
display
:
flex
;
width
:
33.33%
;
width
:
33.33%
;
}
}
.list-centent.active
li
{
.list-centent.active
li
{
width
:
25%
;
width
:
25%
;
}
}
.list-centent.activeB
li
{
.list-centent.activeB
li
{
width
:
20%
;
width
:
20%
;
}
}
.list-centent.activeC
li
{
.list-centent.activeC
li
{
width
:
50%
;
width
:
50%
;
}
}
.bottom
.el-form-item
{
.bottom
.el-form-item
{
margin-bottom
:
0
;
margin-bottom
:
0
;
}
}
.notice
{
.notice
{
border-radius
:
5px
;
border-radius
:
5px
;
border
:
1px
dashed
#FFA500
;
border
:
1px
dashed
#FFA500
;
background
:
#FFF3E0
;
background
:
#FFF3E0
;
margin-bottom
:
15px
;
margin-bottom
:
15px
;
padding
:
15px
;
padding
:
15px
;
}
}
.notice
b
{
.notice
b
{
font-size
:
13px
;
font-size
:
13px
;
}
}
.notice
p
{
.notice
p
{
color
:
#5E6278
;
color
:
#5E6278
;
font-size
:
12px
;
font-size
:
12px
;
padding
:
10px
0
0
0
;
padding
:
10px
0
0
0
;
}
}
.flexOne-right
{
.flexOne-right
{
width
:
300px
;
width
:
300px
;
flex-shrink
:
0
;
flex-shrink
:
0
;
margin-left
:
20px
;
margin-left
:
20px
;
...
@@ -215,13 +179,11 @@
...
@@ -215,13 +179,11 @@
background
:
#ffffff
;
background
:
#ffffff
;
padding
:
15px
;
padding
:
15px
;
}
}
.flexOne-right
h4
{
.flexOne-right
h4
{
padding
:
10px
0
20px
0
;
padding
:
10px
0
20px
0
;
color
:
#181C32
;
color
:
#181C32
;
}
}
.right-text
{
.right-text
{
border
:
1px
dashed
#F1416C
;
border
:
1px
dashed
#F1416C
;
padding
:
15px
10px
;
padding
:
15px
10px
;
background
:
#FFEBEE
;
background
:
#FFEBEE
;
...
@@ -230,111 +192,93 @@
...
@@ -230,111 +192,93 @@
margin-bottom
:
20px
;
margin-bottom
:
20px
;
border-radius
:
5px
;
border-radius
:
5px
;
}
}
.right-text
p
{
.right-text
p
{
color
:
#6D6E83
;
color
:
#6D6E83
;
font-size
:
12px
;
font-size
:
12px
;
padding
:
10px
0
0
0
;
padding
:
10px
0
0
0
;
}
}
.right-form
{
.right-form
{
border-top
:
1px
dashed
#EEEEEE
;
border-top
:
1px
dashed
#EEEEEE
;
border-bottom
:
1px
dashed
#EEEEEE
;
border-bottom
:
1px
dashed
#EEEEEE
;
padding
:
20px
0
;
padding
:
20px
0
;
}
}
.right-form
h6
{
.right-form
h6
{
font-size
:
14px
;
font-size
:
14px
;
color
:
black
;
color
:
black
;
}
}
.noData
{
.noData
{
text-align
:
center
;
text-align
:
center
;
color
:
#7E8299
;
color
:
#7E8299
;
font-size
:
14px
;
font-size
:
14px
;
}
}
.right-form-list
{
.right-form-list
{
display
:
flex
;
display
:
flex
;
flex-direction
:
column
;
flex-direction
:
column
;
padding
:
20px
0
;
padding
:
20px
0
;
}
}
.right-list
{
.right-list
{
display
:
flex
;
display
:
flex
;
flex-direction
:
row
;
flex-direction
:
row
;
justify-content
:
space-between
;
justify-content
:
space-between
;
align-items
:
center
;
align-items
:
center
;
margin-bottom
:
6px
;
margin-bottom
:
6px
;
}
}
.right-list-left
{
.right-list-left
{
flex
:
1
;
flex
:
1
;
display
:
flex
;
display
:
flex
;
flex-wrap
:
wrap
;
flex-wrap
:
wrap
;
}
}
.leftText
{
.leftText
{
width
:
150px
;
width
:
150px
;
text-overflow
:
ellipsis
;
text-overflow
:
ellipsis
;
overflow
:
hidden
;
overflow
:
hidden
;
}
}
.right-list-right
{
.right-list-right
{
flex-shrink
:
0
;
flex-shrink
:
0
;
font-size
:
13px
;
font-size
:
13px
;
color
:
#181C32
;
color
:
#181C32
;
}
}
.right-Money
{
.right-Money
{
padding
:
20px
0
;
padding
:
20px
0
;
font-size
:
14px
;
font-size
:
14px
;
color
:
#181C32
;
color
:
#181C32
;
}
}
.right-Money
b
{
.right-Money
b
{
font-size
:
18px
;
font-size
:
18px
;
color
:
#F1416C
;
color
:
#F1416C
;
margin-left
:
5px
;
margin-left
:
5px
;
}
}
.right-Money
,
.right-Submit
{
.right-Money
,
.right-Submit
{
display
:
flex
;
display
:
flex
;
flex-direction
:
row-reverse
;
flex-direction
:
row-reverse
;
}
}
/
deep
/
.el-input-number
{
/
deep
/
.el-input-number
{
width
:
200px
;
width
:
200px
;
height
:
32px
;
height
:
32px
;
line-height
:
32px
;
line-height
:
32px
;
}
}
/
deep
/
.el-input-number
.el-input__inner
{
/
deep
/
.el-input-number
.el-input__inner
{
text-align
:
center
;
text-align
:
center
;
height
:
34px
;
height
:
34px
;
}
}
/
deep
/
.line-heigh
.el-input-number
{
/
deep
/
.line-heigh
.el-input-number
{
line-height
:
32px
;
line-height
:
32px
;
}
}
/
deep
/
.el-date-editor.el-input
,
.el-date-editor.el-input__inner
{
/
deep
/
.el-date-editor.el-input
,
.el-date-editor.el-input__inner
{
width
:
auto
;
width
:
auto
;
}
}
</
style
>
</
style
>
<
template
>
<
template
>
<div
class=
"flexOne"
>
<div
class=
"flexOne"
>
<div
class=
"flexOne-left"
>
<div
class=
"flexOne-left"
>
<div
class=
"flexOne-form-bj"
>
<div
class=
"flexOne-form-bj"
>
<h3>
<h3>
<template
v-if=
"detailsObj.CarType==1"
>
接机
</
template
><
template
<template
v-if=
"detailsObj.CarType==1"
>
接机
</
template
><
template
v-if=
"detailsObj.CarType==2"
>
送机
</
template
><
template
v-if=
"detailsObj.CarType==3"
>
包车
</
template
>
信息
v-if=
"detailsObj.CarType==2"
>
送机
</
template
><
template
v-if=
"detailsObj.CarType==3"
>
包车
</
template
>
信息
</h3>
</h3>
<div
class=
"listone-form"
>
<div
class=
"listone-form"
>
<el-image
v-if=
"detailsObj.ImageList"
class=
"listone-img"
:src=
"detailsObj.ImageList[0]"
fit=
"contain"
>
<el-image
v-if=
"detailsObj.ImageList"
class=
"listone-img"
:src=
"detailsObj.ImageList[0]"
fit=
"cover"
style=
"max-height: 50px;"
>
<div
slot=
"placeholder"
class=
"image-slot"
>
<div
slot=
"placeholder"
class=
"image-slot"
>
<span>
<span>
加载中
<span
class=
"dot"
>
...
</span>
加载中
<span
class=
"dot"
>
...
</span>
...
@@ -363,8 +307,8 @@
...
@@ -363,8 +307,8 @@
<div
class=
"time-box center"
>
<div
class=
"time-box center"
>
<span>
包车日期:
</span>
<span>
包车日期:
</span>
<div>
<div>
<el-date-picker
class=
"w150"
v-model=
'SetOutTime'
format=
"yyyy-MM-dd"
value-format=
"yyyy-MM-dd
"
<el-date-picker
class=
"w150"
v-model=
'SetOutTime'
format=
"yyyy-MM-dd"
value-format=
"yyyy-MM-dd"
type=
"date
"
type=
"date"
:picker-options=
"beforeCheck"
laceholder=
"包车日期"
@
change=
"getQuotation"
>
:picker-options=
"beforeCheck"
laceholder=
"包车日期"
@
change=
"getQuotation"
>
</el-date-picker>
</el-date-picker>
</div>
</div>
</div>
</div>
...
@@ -434,8 +378,8 @@
...
@@ -434,8 +378,8 @@
<b>
訂單類型:
</b>
<b>
訂單類型:
</b>
<div>
<div>
<el-radio
v-if=
"msg.OrderType==1"
v-model=
"msg.OrderType"
label=
"1"
>
接机
</el-radio>
<el-radio
v-if=
"msg.OrderType==1"
v-model=
"msg.OrderType"
label=
"1"
>
接机
</el-radio>
<el-radio
v-if=
"msg.OrderType==2"
v-model=
"msg.OrderType"
label=
"2"
>
送机
</el-radio>
<el-radio
v-if=
"msg.OrderType==2"
v-model=
"msg.OrderType"
label=
"2"
>
送机
</el-radio>
<el-radio
v-if=
"msg.OrderType==3"
v-model=
"msg.OrderType"
label=
"3"
>
包车
</el-radio>
<el-radio
v-if=
"msg.OrderType==3"
v-model=
"msg.OrderType"
label=
"3"
>
包车
</el-radio>
</div>
</div>
</div>
</div>
<div
class=
"flexOne-description"
>
<div
class=
"flexOne-description"
>
...
@@ -449,24 +393,26 @@
...
@@ -449,24 +393,26 @@
<div
class=
"list-centent active"
>
<div
class=
"list-centent active"
>
<li>
<li>
<el-form-item
label=
"航厦"
prop=
"AirportTerminal"
>
<el-form-item
label=
"航厦"
prop=
"AirportTerminal"
>
<el-input
v-model=
"msg.AirportTerminal"
placeholder=
"输入航厦"
/>
<el-input
v-model=
"msg.AirportTerminal"
placeholder=
"输入航厦"
/>
</el-form-item>
</el-form-item>
</li>
</li>
<li>
<li>
<el-form-item
label=
"航空公司"
prop=
"AirLine"
>
<el-form-item
label=
"航空公司"
prop=
"AirLine"
>
<el-input
v-model=
"msg.AirLine"
placeholder=
"输入航空公司"
/>
<el-input
v-model=
"msg.AirLine"
placeholder=
"输入航空公司"
/>
</el-form-item>
</el-form-item>
</li>
</li>
<li>
<li>
<el-form-item
label=
"航班号"
prop=
"FlightNumber"
>
<el-form-item
label=
"航班号"
prop=
"FlightNumber"
>
<el-input
v-model=
"msg.FlightNumber"
placeholder=
"输入航班号"
/>
<el-input
v-model=
"msg.FlightNumber"
placeholder=
"输入航班号"
/>
</el-form-item>
</el-form-item>
</li>
</li>
<li
class=
"bottom"
>
<li
class=
"bottom"
>
<el-form-item
:label=
"msg.OrderType==1?'抵达时间':'出发时间'"
prop=
"FlightTime"
>
<el-form-item
:label=
"msg.OrderType==1?'抵达时间':'出发时间'"
prop=
"FlightTime"
>
<el-date-picker
v-model=
"msg.FlightTime"
type=
"datetime"
format=
"yyyy-MM-dd HH:mm"
<el-date-picker
value-format=
"yyyy-MM-dd HH:mm"
:placeholder=
"msg.OrderType==1?'选择抵达时间':'选择送机时间'"
v-model=
"msg.FlightTime"
:picker-options=
"beforeCheck"
>
type=
"datetime"
format=
"yyyy-MM-dd HH:mm"
value-format=
"yyyy-MM-dd HH:mm"
:placeholder=
"msg.OrderType==1?'选择抵达时间':'选择送机时间'"
:picker-options=
"beforeCheck"
>
</el-date-picker>
</el-date-picker>
</el-form-item>
</el-form-item>
</li>
</li>
...
@@ -474,8 +420,7 @@
...
@@ -474,8 +420,7 @@
</div>
</div>
</div>
</div>
<div
class=
"flexOne-infor-box"
>
<div
class=
"flexOne-infor-box"
>
<b><
template
v-if=
"msg.OrderType==1"
>
接机
</
template
><
template
v-if=
"msg.OrderType==2"
>
送机
</
template
><
template
<b><
template
v-if=
"msg.OrderType==1"
>
接机
</
template
><
template
v-if=
"msg.OrderType==2"
>
送机
</
template
><
template
v-if=
"msg.OrderType==3"
>
包机
</
template
>
信息
</b>
v-if=
"msg.OrderType==3"
>
包机
</
template
>
信息
</b>
<div
class=
"infor-list"
>
<div
class=
"infor-list"
>
<div
class=
"list-centent active"
>
<div
class=
"list-centent active"
>
<li
v-if=
"msg.OrderType!=1"
>
<li
v-if=
"msg.OrderType!=1"
>
...
@@ -489,7 +434,7 @@
...
@@ -489,7 +434,7 @@
</el-form-item>
</el-form-item>
</li>
</li>
<li
v-if=
"msg.OrderType!=2"
>
<li
v-if=
"msg.OrderType!=2"
>
<el-form-item
label=
"下车地点"
prop=
"GetoffAddress"
>
<el-form-item
label=
"下车地点"
prop=
"GetoffAddress"
>
<el-input
type=
"textarea"
:autosize=
"{ minRows: 1, maxRows: 4}"
v-model=
"msg.GetoffAddress"
<el-input
type=
"textarea"
:autosize=
"{ minRows: 1, maxRows: 4}"
v-model=
"msg.GetoffAddress"
placeholder=
"请输入下车地点"
>
placeholder=
"请输入下车地点"
>
</el-input>
</el-input>
...
@@ -499,9 +444,11 @@
...
@@ -499,9 +444,11 @@
</li>
</li>
<li
class=
"bottom"
>
<li
class=
"bottom"
>
<el-form-item
label=
"预定时间"
prop=
"OrderDate"
>
<el-form-item
label=
"预定时间"
prop=
"OrderDate"
>
<el-date-picker
v-model=
"msg.OrderDate"
type=
"datetime"
format=
"yyyy-MM-dd HH:mm"
<el-date-picker
value-format=
"yyyy-MM-dd HH:mm"
placeholder=
"选择预定时间"
:picker-options=
"beforeCheck"
v-model=
"msg.OrderDate"
@
change=
"getTime"
>
type=
"datetime"
format=
"yyyy-MM-dd HH:mm"
value-format=
"yyyy-MM-dd HH:mm"
placeholder=
"选择预定时间"
:picker-options=
"beforeCheck"
@
change=
"getTime"
>
</el-date-picker>
</el-date-picker>
</el-form-item>
</el-form-item>
</li>
</li>
...
@@ -515,28 +462,28 @@
...
@@ -515,28 +462,28 @@
<div
class=
"list-centent active"
>
<div
class=
"list-centent active"
>
<li>
<li>
<el-form-item
label=
"成人数"
prop=
"ManNum"
>
<el-form-item
label=
"成人数"
prop=
"ManNum"
>
<el-input
type=
"Number"
v-model=
"msg.ManNum"
placeholder=
"输入成人数"
/>
<el-input
type=
"Number"
v-model=
"msg.ManNum"
placeholder=
"输入成人数"
/>
</el-form-item>
</el-form-item>
</li>
</li>
<li>
<li>
<el-form-item
label=
"儿童数"
prop=
""
>
<el-form-item
label=
"儿童数"
prop=
""
>
<el-input
type=
"Number"
v-model=
"msg.ChildNum"
placeholder=
"输入儿童数"
/>
<el-input
type=
"Number"
v-model=
"msg.ChildNum"
placeholder=
"输入儿童数"
/>
</el-form-item>
</el-form-item>
</li>
</li>
<li>
<li>
<el-form-item
label=
"婴儿数"
prop=
""
>
<el-form-item
label=
"婴儿数"
prop=
""
>
<el-input
type=
"Number"
v-model=
"msg.BabyNum"
placeholder=
"输入婴儿数"
/>
<el-input
type=
"Number"
v-model=
"msg.BabyNum"
placeholder=
"输入婴儿数"
/>
</el-form-item>
</el-form-item>
</li>
</li>
<
template
v-if=
"msg.OrderType!=3"
>
<
template
v-if=
"msg.OrderType!=3"
>
<li>
<li>
<el-form-item
label=
"手提行李"
prop=
""
>
<el-form-item
label=
"手提行李"
prop=
""
>
<el-input
type=
"Number"
v-model=
"msg.HandLuggageNum"
placeholder=
"手提行李数"
/>
<el-input
type=
"Number"
v-model=
"msg.HandLuggageNum"
placeholder=
"手提行李数"
/>
</el-form-item>
</el-form-item>
</li>
</li>
<li>
<li>
<el-form-item
label=
"托运行李"
prop=
""
>
<el-form-item
label=
"托运行李"
prop=
""
>
<el-input
type=
"Number"
v-model=
"msg.RegisteredLuggageNum"
placeholder=
"托运行李数"
/>
<el-input
type=
"Number"
v-model=
"msg.RegisteredLuggageNum"
placeholder=
"托运行李数"
/>
</el-form-item>
</el-form-item>
</li>
</li>
</
template
>
</
template
>
...
@@ -549,30 +496,30 @@
...
@@ -549,30 +496,30 @@
<div
class=
"list-centent active"
>
<div
class=
"list-centent active"
>
<li>
<li>
<el-form-item
label=
"姓"
prop=
"SurName"
>
<el-form-item
label=
"姓"
prop=
"SurName"
>
<el-input
v-model=
"msg.SurName"
placeholder=
"请输入姓"
/>
<el-input
v-model=
"msg.SurName"
placeholder=
"请输入姓"
/>
</el-form-item>
</el-form-item>
</li>
</li>
<li>
<li>
<el-form-item
label=
"名"
prop=
"Name"
>
<el-form-item
label=
"名"
prop=
"Name"
>
<el-input
v-model=
"msg.Name"
placeholder=
"请输入名"
/>
<el-input
v-model=
"msg.Name"
placeholder=
"请输入名"
/>
</el-form-item>
</el-form-item>
</li>
</li>
<li>
<li>
<el-form-item
label=
"电话"
prop=
"Mobile
"
>
<el-form-item
label=
"电话"
prop=
"
"
>
<el-input
type=
"Number"
v-model=
"msg.Mobile"
placeholder=
"请输入电话"
/>
<el-input
type=
"Number"
v-model=
"msg.Mobile"
placeholder=
"请输入电话"
/>
</el-form-item>
</el-form-item>
</li>
</li>
<li
class=
"bottom"
>
<li
class=
"bottom"
>
<el-form-item
label=
"性别"
prop=
"Sex"
>
<el-form-item
label=
"性别"
prop=
"Sex"
>
<el-radio
v-model=
"msg.Sex"
label=
"1"
>
男
</el-radio>
<el-radio
v-model=
"msg.Sex"
label=
"1"
>
男
</el-radio>
<el-radio
v-model=
"msg.Sex"
label=
"2"
>
女
</el-radio>
<el-radio
v-model=
"msg.Sex"
label=
"2"
>
女
</el-radio>
</el-form-item>
</el-form-item>
</li>
</li>
</div>
</div>
</div>
</div>
<div
style=
"margin-top: 20px;"
>
<div
style=
"margin-top: 20px;"
>
<el-input
style=
"width: 100%;"
type=
"textarea"
:autosize=
"{ minRows: 2, maxRows: 4}"
v-model=
"msg.Remark
"
<el-input
style=
"width: 100%;"
type=
"textarea"
:autosize=
"{ minRows: 2, maxRows: 4}
"
placeholder=
"订单备注"
/>
v-model=
"msg.Remark"
placeholder=
"订单备注"
/>
</div>
</div>
</div>
</div>
</el-form>
</el-form>
...
@@ -618,15 +565,17 @@
...
@@ -618,15 +565,17 @@
<!-- <el-button v-if="!isCheck" class="hollowFixedBtn" type="primary">
<!-- <el-button v-if="!isCheck" class="hollowFixedBtn" type="primary">
提交订单
提交订单
</el-button> -->
</el-button> -->
<el-button
:disabled=
"!isCheck"
:loading=
"loading"
class=
"normalBtn"
type=
"primary"
@
click=
"submit"
>
<el-button
:disabled=
"!isCheck"
:loading=
"loading"
class=
"normalBtn"
type=
"primary"
@
click=
"submit"
>
提交订单
提交订单
</el-button>
</el-button>
</div>
</div>
</div>
</div>
<!-- 选择地址 -->
<!-- 选择地址 -->
<el-dialog
custom-class=
"mapList"
title=
"地图选址"
center
:visible
.
sync=
"selectAddress"
>
<el-dialog
custom-class=
"mapList"
title=
"地图选址"
center
:visible
.
sync=
"selectAddress"
>
<Map
@
refList=
"selectAddress = false"
v-on:headCallBack=
"headCall"
v-bind:Address=
"Address"
:type=
"MapType
"
<Map
@
refList=
"selectAddress = false"
v-on:headCallBack=
"headCall"
v-bind:Address=
"Address
"
:index=
"index"
:GetOff=
"MapType==1?GetOnTheBusObj:GetOffTheBusIdObj"
></Map>
:type=
"MapType"
:index=
"index"
:GetOff=
"MapType==1?GetOnTheBusObj:GetOffTheBusIdObj"
></Map>
</el-dialog>
</el-dialog>
<!-- 包车产品详情信息 -->
<!-- 包车产品详情信息 -->
<el-dialog
custom-class=
"w1000"
title=
"包车产品详情"
:visible
.
sync=
"showDetails"
center
@
close=
"showDetails=false"
>
<el-dialog
custom-class=
"w1000"
title=
"包车产品详情"
:visible
.
sync=
"showDetails"
center
@
close=
"showDetails=false"
>
...
@@ -634,15 +583,12 @@
...
@@ -634,15 +583,12 @@
</el-dialog>
</el-dialog>
</div>
</div>
</template>
</template>
<
script
>
<
script
>
import
Map
from
"../../public/Map.vue"
;
import
Map
from
"../../public/Map.vue"
;
import
Details
from
'./components/Details.vue'
import
Details
from
'./components/Details.vue'
export
default
{
export
default
{
components
:
{
components
:
{
Details
,
Map
},
Details
,
Map
},
data
()
{
data
()
{
return
{
return
{
index
:
1
,
index
:
1
,
...
@@ -651,39 +597,39 @@
...
@@ -651,39 +597,39 @@
MapType
:
1
,
MapType
:
1
,
GetOnTheBusObj
:
''
,
GetOnTheBusObj
:
''
,
GetOffTheBusIdObj
:
''
,
GetOffTheBusIdObj
:
''
,
PlaceTypes2
:
[],
PlaceTypes2
:
[],
PlaceTypes
:
[],
PlaceTypes
:
[],
AirportTypes
:
[],
AirportTypes
:
[],
isCheck
:
true
,
isCheck
:
true
,
showDetails
:
false
,
showDetails
:
false
,
loading
:
false
,
loading
:
false
,
msg
:
{
msg
:
{
OrderId
:
0
,
OrderId
:
0
,
OrderType
:
0
,
OrderType
:
0
,
OrderDate
:
''
,
//预定日期
OrderDate
:
''
,
//预定日期
Unit_Price
:
''
,
//单价
Unit_Price
:
''
,
//单价
Num
:
''
,
//数量
Num
:
''
,
//数量
Money
:
0.0
,
Money
:
0.0
,
Sex
:
'1'
,
//1男2女
Sex
:
'1'
,
//1男2女
SurName
:
''
,
//姓
SurName
:
''
,
//姓
Name
:
''
,
//名
Name
:
''
,
//名
Remark
:
''
,
Remark
:
''
,
AirportId
:
''
,
AirportId
:
''
,
AirportTerminal
:
''
,
//航厦
AirportTerminal
:
''
,
//航厦
AirLine
:
''
,
//航空公司名称
AirLine
:
''
,
//航空公司名称
FlightNumber
:
''
,
//航班号
FlightNumber
:
''
,
//航班号
FlightTime
:
''
,
//航班时间
FlightTime
:
''
,
//航班时间
GetonAddress
:
''
,
//上车点
GetonAddress
:
''
,
//上车点
GetoffAddress
:
''
,
//下车点
GetoffAddress
:
''
,
//下车点
ManNum
:
null
,
//成人数
ManNum
:
null
,
//成人数
ChildNum
:
null
,
//儿童数
ChildNum
:
null
,
//儿童数
BabyNum
:
null
,
//婴儿数
BabyNum
:
null
,
//婴儿数
HandLuggageNum
:
null
,
//手提行李数量
HandLuggageNum
:
null
,
//手提行李数量
RegisteredLuggageNum
:
null
,
//托运行李数量
RegisteredLuggageNum
:
null
,
//托运行李数量
ContactWay
:
''
,
//联络方式 WeChat
ContactWay
:
''
,
//联络方式 WeChat
Mobile
:
''
,
//电话
Mobile
:
''
,
//电话
ProductId
:
''
,
ProductId
:
''
,
CarId
:
''
,
//产品类型ID
CarId
:
''
,
//产品类型ID
LureEmpId
:
0
,
LureEmpId
:
0
,
CRMGuestId
:
0
,
CRMGuestId
:
0
,
},
},
...
@@ -693,11 +639,11 @@
...
@@ -693,11 +639,11 @@
detailsObj
:
{},
detailsObj
:
{},
beforeCheck
:
{
beforeCheck
:
{
disabledDate
:
time
=>
{
disabledDate
:
time
=>
{
let
endTime
=
new
Date
(
this
.
getBeforeDate
(
1
,
new
Date
().
Format
(
"yyyy-MM-dd"
)));
let
endTime
=
new
Date
(
this
.
getBeforeDate
(
1
,
new
Date
().
Format
(
"yyyy-MM-dd"
)));
return
time
&&
endTime
.
getTime
()
>=
time
.
getTime
();
return
time
&&
endTime
.
getTime
()
>=
time
.
getTime
();
}
}
},
},
rules
:
{
rules
:
{
AirportTerminal
:
[{
AirportTerminal
:
[{
required
:
true
,
required
:
true
,
message
:
'请输入航厦'
,
message
:
'请输入航厦'
,
...
@@ -733,7 +679,7 @@
...
@@ -733,7 +679,7 @@
message
:
'请选择预定时间'
,
message
:
'请选择预定时间'
,
trigger
:
'blur'
trigger
:
'blur'
}],
}],
ManNum
:
[{
ManNum
:
[{
required
:
true
,
required
:
true
,
message
:
'输入成人数'
,
message
:
'输入成人数'
,
trigger
:
'blur'
trigger
:
'blur'
...
@@ -753,12 +699,12 @@
...
@@ -753,12 +699,12 @@
message
:
'请输入英文名'
,
message
:
'请输入英文名'
,
trigger
:
'blur'
trigger
:
'blur'
}],
}],
Mobile
:
[{
Mobile
:
[
required
:
true
,
{
required
:
true
,
message
:
"请输入联系电话"
,
trigger
:
"blur"
}
,
message
:
"请输入联系电话"
,
{
trigger
:
"blur"
pattern
:
this
.
$commonUtils
.
Regex
.
el_ISphone
,
},
message
:
"请输入正确的电话"
}
],
],
},
},
detailsRow
:
null
,
detailsRow
:
null
,
...
@@ -773,16 +719,16 @@
...
@@ -773,16 +719,16 @@
this
.
selectAddress
=
true
this
.
selectAddress
=
true
},
},
headCall
(
msg
,
type
,
index
,
address_detail
)
{
headCall
(
msg
,
type
,
index
,
address_detail
)
{
if
(
type
==
1
)
{
if
(
type
==
1
)
{
this
.
msg
.
GetonAddress
=
address_detail
this
.
msg
.
GetonAddress
=
address_detail
}
else
{
}
else
{
this
.
msg
.
GetoffAddress
=
address_detail
this
.
msg
.
GetoffAddress
=
address_detail
}
}
},
},
getTime
()
{
getTime
()
{
this
.
SetOutTime
=
this
.
msg
.
OrderDate
this
.
SetOutTime
=
this
.
msg
.
OrderDate
},
},
submit
()
{
submit
()
{
this
.
$refs
[
'msg'
].
validate
((
valid
)
=>
{
this
.
$refs
[
'msg'
].
validate
((
valid
)
=>
{
if
(
valid
)
{
if
(
valid
)
{
this
.
setFormMsg
()
this
.
setFormMsg
()
...
@@ -791,9 +737,9 @@
...
@@ -791,9 +737,9 @@
}
}
});
});
},
},
setFormMsg
()
{
setFormMsg
()
{
this
.
types
.
forEach
(
x
=>
{
this
.
types
.
forEach
(
x
=>
{
if
(
x
.
checked
)
{
if
(
x
.
checked
)
{
this
.
msg
.
Unit_Price
=
x
.
B2BPrice
this
.
msg
.
Unit_Price
=
x
.
B2BPrice
this
.
msg
.
Num
=
x
.
num
this
.
msg
.
Num
=
x
.
num
}
}
...
@@ -818,65 +764,65 @@
...
@@ -818,65 +764,65 @@
changePeople
(
val
)
{
changePeople
(
val
)
{
this
.
getNum
()
this
.
getNum
()
},
},
getNum
()
{
getNum
()
{
this
.
types
.
forEach
(
x
=>
{
this
.
types
.
forEach
(
x
=>
{
if
(
x
.
num
>
x
.
RemainingInventory
)
{
if
(
x
.
num
>
x
.
RemainingInventory
)
{
x
.
num
=
x
.
RemainingInventory
x
.
num
=
x
.
RemainingInventory
}
}
})
})
setTimeout
(()
=>
{
setTimeout
(()
=>
{
this
.
calcMoneyHandler
()
this
.
calcMoneyHandler
()
},
50
)
},
50
)
},
},
calcMoneyHandler
()
{
calcMoneyHandler
()
{
this
.
msg
.
Money
=
0.0
this
.
msg
.
Money
=
0.0
this
.
types
.
forEach
(
x
=>
{
this
.
types
.
forEach
(
x
=>
{
if
(
x
.
checked
)
{
if
(
x
.
checked
)
{
this
.
msg
.
Money
+=
x
.
B2BPrice
*
x
.
num
this
.
msg
.
Money
+=
x
.
B2BPrice
*
x
.
num
}
}
})
})
},
},
changeDetailListHandler
(
e
,
i
,
OrderId
)
{
changeDetailListHandler
(
e
,
i
,
OrderId
)
{
if
(
i
==
1
)
{
if
(
i
==
1
)
{
if
(
!
OrderId
)
{
if
(
!
OrderId
)
{
this
.
AirportTypes
.
forEach
(
x
=>
{
this
.
AirportTypes
.
forEach
(
x
=>
{
x
.
checked
=
false
x
.
checked
=
false
})
})
e
.
checked
=
!
e
.
checked
e
.
checked
=
!
e
.
checked
let
AirportTypes
=
this
.
AirportTypes
.
filter
(
x
=>
x
.
checked
)
let
AirportTypes
=
this
.
AirportTypes
.
filter
(
x
=>
x
.
checked
)
if
(
AirportTypes
&&
AirportTypes
[
0
])
{
if
(
AirportTypes
&&
AirportTypes
[
0
])
{
this
.
msg
.
AirportId
=
AirportTypes
[
0
].
AirportId
this
.
msg
.
AirportId
=
AirportTypes
[
0
].
AirportId
}
}
if
(
this
.
AirportTypes
.
findIndex
(
x
=>
x
.
checked
)
>
-
1
)
this
.
getQuotation
()
if
(
this
.
AirportTypes
.
findIndex
(
x
=>
x
.
checked
)
>
-
1
)
this
.
getQuotation
()
}
}
}
}
if
(
i
==
2
)
{
if
(
i
==
2
)
{
// if(!OrderId){
// if(!OrderId){
this
.
PlaceTypes
.
forEach
(
x
=>
{
this
.
PlaceTypes
.
forEach
(
x
=>
{
x
.
checked
=
false
x
.
checked
=
false
})
})
e
.
checked
=
!
e
.
checked
e
.
checked
=
!
e
.
checked
let
PlaceTypes
=
this
.
PlaceTypes
.
filter
(
x
=>
x
.
checked
)
let
PlaceTypes
=
this
.
PlaceTypes
.
filter
(
x
=>
x
.
checked
)
if
(
PlaceTypes
&&
PlaceTypes
[
0
])
{
if
(
PlaceTypes
&&
PlaceTypes
[
0
])
{
this
.
GetOnTheBusObj
=
PlaceTypes
[
0
]
this
.
GetOnTheBusObj
=
PlaceTypes
[
0
]
}
}
// }
// }
}
}
if
(
i
==
4
)
{
if
(
i
==
4
)
{
// if(!OrderId){
// if(!OrderId){
this
.
PlaceTypes2
.
forEach
(
x
=>
{
this
.
PlaceTypes2
.
forEach
(
x
=>
{
x
.
checked
=
false
x
.
checked
=
false
})
})
e
.
checked
=
!
e
.
checked
e
.
checked
=
!
e
.
checked
let
PlaceTypes2
=
this
.
PlaceTypes2
.
filter
(
x
=>
x
.
checked
)
let
PlaceTypes2
=
this
.
PlaceTypes2
.
filter
(
x
=>
x
.
checked
)
if
(
PlaceTypes2
&&
PlaceTypes2
[
0
])
{
if
(
PlaceTypes2
&&
PlaceTypes2
[
0
])
{
this
.
GetOffTheBusIdObj
=
PlaceTypes2
[
0
]
this
.
GetOffTheBusIdObj
=
PlaceTypes2
[
0
]
}
}
// }
// }
}
}
if
(
i
==
3
)
{
if
(
i
==
3
)
{
this
.
types
.
forEach
(
x
=>
{
this
.
types
.
forEach
(
x
=>
{
if
(
x
.
Id
!=
e
.
Id
)
{
if
(
x
.
Id
!=
e
.
Id
)
{
x
.
checked
=
false
x
.
checked
=
false
}
}
})
})
...
@@ -885,7 +831,7 @@
...
@@ -885,7 +831,7 @@
}
}
e
.
checked
=
!
e
.
checked
e
.
checked
=
!
e
.
checked
let
types
=
this
.
types
.
filter
(
x
=>
x
.
checked
)
let
types
=
this
.
types
.
filter
(
x
=>
x
.
checked
)
if
(
types
&&
types
[
0
])
{
if
(
types
&&
types
[
0
])
{
this
.
msg
.
CarId
=
types
[
0
].
Id
this
.
msg
.
CarId
=
types
[
0
].
Id
this
.
getQuotation
()
this
.
getQuotation
()
}
}
...
@@ -896,9 +842,10 @@
...
@@ -896,9 +842,10 @@
this
.
$forceUpdate
()
this
.
$forceUpdate
()
},
},
// 获取报价
// 获取报价
getQuotation
()
{
getQuotation
()
{
this
.
apipost
(
this
.
apipost
(
"CarSingle_post_GetSaleCarSingleProductMonthPrice"
,
{
"CarSingle_post_GetSaleCarSingleProductMonthPrice"
,
{
AirportId
:
this
.
msg
.
AirportId
,
AirportId
:
this
.
msg
.
AirportId
,
CarTypeId
:
this
.
msg
.
CarId
,
CarTypeId
:
this
.
msg
.
CarId
,
Month
:
this
.
SetOutTime
,
Month
:
this
.
SetOutTime
,
...
@@ -906,14 +853,14 @@
...
@@ -906,14 +853,14 @@
},
},
res
=>
{
res
=>
{
if
(
res
.
data
.
resultCode
==
1
)
{
if
(
res
.
data
.
resultCode
==
1
)
{
let
SetOutTime
=
this
.
SetOutTime
.
length
>
10
?
this
.
SetOutTime
.
slice
(
0
,
10
)
:
this
.
SetOutTime
let
SetOutTime
=
this
.
SetOutTime
.
length
>
10
?
this
.
SetOutTime
.
slice
(
0
,
10
):
this
.
SetOutTime
let
newData
=
res
.
data
.
data
.
filter
(
x
=>
x
.
Date
==
SetOutTime
)
let
newData
=
res
.
data
.
data
.
filter
(
x
=>
x
.
Date
==
SetOutTime
)
let
types
=
this
.
types
.
filter
(
x
=>
x
.
checked
)
let
types
=
this
.
types
.
filter
(
x
=>
x
.
checked
)
newData
.
length
>
0
&&
this
.
types
.
forEach
((
item
,
index
)
=>
{
newData
.
length
>
0
&&
this
.
types
.
forEach
((
item
,
index
)
=>
{
if
(
this
.
msg
.
CarId
==
item
.
Id
&&
newData
[
0
].
Price
)
{
if
(
this
.
msg
.
CarId
==
item
.
Id
&&
newData
[
0
].
Price
)
{
item
.
B2BPrice
=
newData
[
0
].
Price
item
.
B2BPrice
=
newData
[
0
].
Price
this
.
msg
.
Unit_Price
=
newData
[
0
].
Price
this
.
msg
.
Unit_Price
=
newData
[
0
].
Price
}
else
{
}
else
{
item
.
B2BPrice
=
0.0
item
.
B2BPrice
=
0.0
}
}
});
});
...
@@ -922,9 +869,10 @@
...
@@ -922,9 +869,10 @@
})
})
},
},
getInfo
()
{
getInfo
()
{
this
.
apipost
(
this
.
apipost
(
"CarSingle_post_GetSaleCarSingleProductInfo"
,
{
"CarSingle_post_GetSaleCarSingleProductInfo"
,
{
ProductId
:
this
.
msg
.
ProductId
,
ProductId
:
this
.
msg
.
ProductId
,
},
},
res
=>
{
res
=>
{
...
@@ -942,23 +890,26 @@
...
@@ -942,23 +890,26 @@
addList
(
res
.
data
.
data
.
PlaceList
);
addList
(
res
.
data
.
data
.
PlaceList
);
addList
(
res
.
data
.
data
.
CarTypeList
);
addList
(
res
.
data
.
data
.
CarTypeList
);
this
.
AirportTypes
=
res
.
data
.
data
.
AirportList
this
.
AirportTypes
=
res
.
data
.
data
.
AirportList
if
(
this
.
AirportTypes
.
length
>
0
)
{
if
(
this
.
AirportTypes
.
length
>
0
)
{
this
.
changeDetailListHandler
(
this
.
AirportTypes
[
0
],
1
,
this
.
msg
.
OrderId
)
this
.
changeDetailListHandler
(
this
.
AirportTypes
[
0
],
1
,
this
.
msg
.
OrderId
)
}
}
this
.
PlaceTypes
=
JSON
.
parse
(
JSON
.
stringify
(
res
.
data
.
data
.
PlaceList
))
this
.
PlaceTypes
=
JSON
.
parse
(
JSON
.
stringify
(
res
.
data
.
data
.
PlaceList
))
if
(
this
.
PlaceTypes
.
length
>
0
)
{
if
(
this
.
PlaceTypes
.
length
>
0
)
{
this
.
changeDetailListHandler
(
this
.
PlaceTypes
[
0
],
2
,
this
.
msg
.
OrderId
)
this
.
changeDetailListHandler
(
this
.
PlaceTypes
[
0
],
2
,
this
.
msg
.
OrderId
)
}
}
this
.
PlaceTypes2
=
JSON
.
parse
(
JSON
.
stringify
(
res
.
data
.
data
.
PlaceList
))
this
.
PlaceTypes2
=
JSON
.
parse
(
JSON
.
stringify
(
res
.
data
.
data
.
PlaceList
))
if
(
this
.
PlaceTypes2
.
length
>
0
)
{
if
(
this
.
PlaceTypes2
.
length
>
0
)
{
this
.
changeDetailListHandler
(
this
.
PlaceTypes2
[
0
],
4
,
this
.
msg
.
OrderId
)
this
.
changeDetailListHandler
(
this
.
PlaceTypes2
[
0
],
4
,
this
.
msg
.
OrderId
)
}
}
this
.
types
=
res
.
data
.
data
.
CarTypeList
this
.
types
=
res
.
data
.
data
.
CarTypeList
if
(
this
.
types
&&
this
.
types
.
length
==
0
)
{
if
(
this
.
types
&&
this
.
types
.
length
>
0
){
message
.
errorMsg
(
`
${
t
(
'v102.ticket.nobj'
)}
`
)
this
.
changeDetailListHandler
(
this
.
types
[
0
],
3
)
}
if
(
this
.
types
&&
this
.
types
.
length
==
0
){
this
.
Error
(
'暂无报价,无法下单'
)
}
}
}
else
{
}
else
{
this
.
Error
(
res
.
data
.
message
)
this
.
Error
(
res
.
data
.
message
)
}
}
},
},
...
@@ -966,53 +917,54 @@
...
@@ -966,53 +917,54 @@
);
);
},
},
// 获取订单详情
// 获取订单详情
getOrderInfo
()
{
getOrderInfo
()
{
this
.
apipost
(
this
.
apipost
(
"CarSingle_post_GetSaleMyCarOrderInfo"
,
{
"CarSingle_post_GetSaleMyCarOrderInfo"
,
{
OrderId
:
this
.
msg
.
OrderId
,
OrderId
:
this
.
msg
.
OrderId
,
},
},
res
=>
{
res
=>
{
if
(
res
.
data
.
resultCode
==
1
)
{
if
(
res
.
data
.
resultCode
==
1
)
{
this
.
SetOutTime
=
res
.
data
.
data
.
OrderDate
.
substr
(
0
,
10
)
this
.
SetOutTime
=
res
.
data
.
data
.
OrderDate
.
substr
(
0
,
10
)
this
.
msg
=
{
this
.
msg
=
{
OrderId
:
res
.
data
.
data
.
OrderId
,
OrderId
:
res
.
data
.
data
.
OrderId
,
OrderType
:
String
(
res
.
data
.
data
.
OrderType
),
OrderType
:
String
(
res
.
data
.
data
.
OrderType
),
OrderDate
:
res
.
data
.
data
.
OrderDate
,
//预定日期
OrderDate
:
res
.
data
.
data
.
OrderDate
,
//预定日期
Unit_Price
:
res
.
data
.
data
.
Unit_Price
,
//单价
Unit_Price
:
res
.
data
.
data
.
Unit_Price
,
//单价
Num
:
res
.
data
.
data
.
Num
,
//数量
Num
:
res
.
data
.
data
.
Num
,
//数量
Money
:
res
.
data
.
data
.
Money
,
Money
:
res
.
data
.
data
.
Money
,
Sex
:
String
(
res
.
data
.
data
.
Sex
),
//1男2女
Sex
:
String
(
res
.
data
.
data
.
Sex
),
//1男2女
SurName
:
res
.
data
.
data
.
SurName
,
//姓
SurName
:
res
.
data
.
data
.
SurName
,
//姓
Name
:
res
.
data
.
data
.
Name
,
//名
Name
:
res
.
data
.
data
.
Name
,
//名
Remark
:
res
.
data
.
data
.
Remark
,
Remark
:
res
.
data
.
data
.
Remark
,
AirportId
:
res
.
data
.
data
.
AirportId
,
AirportId
:
res
.
data
.
data
.
AirportId
,
AirportTerminal
:
res
.
data
.
data
.
AirportTerminal
,
//航厦
AirportTerminal
:
res
.
data
.
data
.
AirportTerminal
,
//航厦
AirLine
:
res
.
data
.
data
.
AirLine
,
//航空公司名称
AirLine
:
res
.
data
.
data
.
AirLine
,
//航空公司名称
FlightNumber
:
res
.
data
.
data
.
FlightNumber
,
//航班号
FlightNumber
:
res
.
data
.
data
.
FlightNumber
,
//航班号
FlightTime
:
res
.
data
.
data
.
FlightTime
,
//航班时间
FlightTime
:
res
.
data
.
data
.
FlightTime
,
//航班时间
GetonAddress
:
res
.
data
.
data
.
GetonAddress
,
//上车点
GetonAddress
:
res
.
data
.
data
.
GetonAddress
,
//上车点
GetoffAddress
:
res
.
data
.
data
.
GetoffAddress
,
//下车点
GetoffAddress
:
res
.
data
.
data
.
GetoffAddress
,
//下车点
ManNum
:
String
(
res
.
data
.
data
.
ManNum
),
//成人数
ManNum
:
String
(
res
.
data
.
data
.
ManNum
),
//成人数
ChildNum
:
String
(
res
.
data
.
data
.
ChildNum
),
//儿童数
ChildNum
:
String
(
res
.
data
.
data
.
ChildNum
),
//儿童数
BabyNum
:
String
(
res
.
data
.
data
.
BabyNum
),
//婴儿数
BabyNum
:
String
(
res
.
data
.
data
.
BabyNum
),
//婴儿数
HandLuggageNum
:
String
(
res
.
data
.
data
.
HandLuggageNum
),
//手提行李数量
HandLuggageNum
:
String
(
res
.
data
.
data
.
HandLuggageNum
),
//手提行李数量
RegisteredLuggageNum
:
String
(
res
.
data
.
data
.
RegisteredLuggageNum
),
//托运行李数量
RegisteredLuggageNum
:
String
(
res
.
data
.
data
.
RegisteredLuggageNum
),
//托运行李数量
ContactWay
:
res
.
data
.
data
.
ContactWay
,
//联络方式 WeChat
ContactWay
:
res
.
data
.
data
.
ContactWay
,
//联络方式 WeChat
Mobile
:
res
.
data
.
data
.
Mobile
,
//电话
Mobile
:
res
.
data
.
data
.
Mobile
,
//电话
ProductId
:
res
.
data
.
data
.
ProductId
,
ProductId
:
res
.
data
.
data
.
ProductId
,
CarId
:
res
.
data
.
data
.
CarId
,
//产品类型ID
CarId
:
res
.
data
.
data
.
CarId
,
//产品类型ID
}
}
this
.
getQuotation
()
this
.
getQuotation
()
this
.
AirportTypes
.
forEach
(
x
=>
{
this
.
AirportTypes
.
forEach
(
x
=>
{
if
(
x
.
AirportId
==
res
.
data
.
data
.
AirportId
)
{
if
(
x
.
AirportId
==
res
.
data
.
data
.
AirportId
)
{
this
.
changeDetailListHandler
(
x
,
1
)
this
.
changeDetailListHandler
(
x
,
1
)
}
}
})
})
this
.
types
.
forEach
(
x
=>
{
this
.
types
.
forEach
(
x
=>
{
if
(
x
.
Id
==
res
.
data
.
data
.
CarId
)
{
if
(
x
.
Id
==
res
.
data
.
data
.
CarId
)
{
x
.
num
=
res
.
data
.
data
.
Num
x
.
num
=
res
.
data
.
data
.
Num
x
.
B2BPrice
=
res
.
data
.
data
.
Unit_Price
x
.
B2BPrice
=
res
.
data
.
data
.
Unit_Price
this
.
changeDetailListHandler
(
x
,
3
)
this
.
changeDetailListHandler
(
x
,
3
)
}
}
})
})
...
@@ -1028,9 +980,9 @@
...
@@ -1028,9 +980,9 @@
},
},
mounted
()
{
mounted
()
{
// crm自动登陆传过来的参数
// crm自动登陆传过来的参数
if
(
this
.
$route
.
query
.
crmOrderObj
)
{
if
(
this
.
$route
.
query
.
crmOrderObj
)
{
this
.
crmOrderObj
=
JSON
.
parse
(
this
.
$route
.
query
.
crmOrderObj
)
this
.
crmOrderObj
=
JSON
.
parse
(
this
.
$route
.
query
.
crmOrderObj
)
this
.
msg
.
LureEmpId
=
this
.
crmOrderObj
.
LureEmpId
//引流id
this
.
msg
.
LureEmpId
=
this
.
crmOrderObj
.
LureEmpId
//引流id
this
.
msg
.
CRMGuestId
=
this
.
crmOrderObj
.
CRMGuestId
//客人ID
this
.
msg
.
CRMGuestId
=
this
.
crmOrderObj
.
CRMGuestId
//客人ID
}
}
},
},
...
@@ -1040,10 +992,10 @@
...
@@ -1040,10 +992,10 @@
this
.
SetOutTime
=
this
.
$route
.
query
.
OrderDate
this
.
SetOutTime
=
this
.
$route
.
query
.
OrderDate
// this.msg.OrderDate = this.$route.query.OrderDate+ ' 00:00'
// this.msg.OrderDate = this.$route.query.OrderDate+ ' 00:00'
this
.
getInfo
()
this
.
getInfo
()
if
(
this
.
msg
.
OrderId
)
{
if
(
this
.
msg
.
OrderId
)
{
this
.
getOrderInfo
()
this
.
getOrderInfo
()
}
}
}
}
};
};
</
script
>
</
script
>
src/components/busManagement/BookAcar/components/orderList.vue
View file @
4c209a7b
...
@@ -785,6 +785,22 @@
...
@@ -785,6 +785,22 @@
</el-tooltip>
</el-tooltip>
</div>
</div>
</div>
</div>
<div
class=
"column px15 bgf5 radius5 ml flex-g pa relative"
style=
"min-width: 150px;max-width:400px"
>
<div
class=
"fz12"
>
发票单据
</div>
<div
class=
"row wrap orderNo fz12 py"
>
<span
class=
"cursor-pointer radius5 mr px5"
:class=
"{'bgD9F3FF':x.Status==1,'bgFAEAED':x.Status==2,'bjFFF3E0':x.Status==3,
'c3FC4FF':x.Status==1,'cF1416C':x.Status==2,'cff9800':x.Status==3}"
v-for=
"(x, i) in item.InvoiceApplyList"
@
click=
"openDetails(x)"
>
{{ x.FrID }}
</span
>
<span
v-if=
"item.InvoiceApplyList&&item.InvoiceApplyList.length == 0"
class=
"c9e fz12"
>
暂无发票单据
</span>
</div>
</div>
<div
<div
class=
"column justify-c px15 bgf5 radius5 ml flex-g pa20"
class=
"column justify-c px15 bgf5 radius5 ml flex-g pa20"
style=
"min-width: 230px"
style=
"min-width: 230px"
...
@@ -809,13 +825,13 @@
...
@@ -809,13 +825,13 @@
</div>
</div>
</div>
</div>
</div>
</div>
<div
<!-- v-if="
v-if=
"
item.OrderStatus > 0 &&
item.OrderStatus > 0 &&
item.OrderStatus < 4 &&
item.OrderStatus < 4 &&
item.OrderStatus != 3
item.OrderStatus != 3
"
" -->
class=
"column justify-c px15 bgE8F5E9 radius5 ml fz12 orderop pa20 flex-s"
<div
class=
"row-c wrap justify-c px15 bgE8F5E9 radius5 ml fz12 orderop pa20 flex-s"
>
>
<div
<div
v-if=
"
v-if=
"
...
@@ -877,6 +893,8 @@
...
@@ -877,6 +893,8 @@
>
>
<span
class=
"c059FF6"
>
编辑总金额
</span>
<span
class=
"c059FF6"
>
编辑总金额
</span>
</div>
</div>
<!-- 申请发票 -->
<ApplyFoInvoice
v-if=
"userInfo.EmployeeId==item.EnterID"
:obj=
"item"
:type=
"5"
></ApplyFoInvoice>
</div>
</div>
</div>
</div>
<div
class=
"mt mb20 bgf5 pa15 row-c"
v-if=
"item.CancelRemark"
>
<div
class=
"mt mb20 bgf5 pa15 row-c"
v-if=
"item.CancelRemark"
>
...
@@ -1015,8 +1033,9 @@
...
@@ -1015,8 +1033,9 @@
import
offset
from
"../../../public/offset.vue"
;
import
offset
from
"../../../public/offset.vue"
;
import
correlationOP
from
"../../../Hotel/reservation/correlationOP.vue"
;
import
correlationOP
from
"../../../Hotel/reservation/correlationOP.vue"
;
import
commissionDialog
from
"../../../FinancialModule/TradeCommission/commissionDialog"
;
import
commissionDialog
from
"../../../FinancialModule/TradeCommission/commissionDialog"
;
import
ApplyFoInvoice
from
'../../../public/ApplyFoInvoice'
;
export
default
{
export
default
{
components
:
{
offset
,
correlationOP
,
commissionDialog
},
components
:
{
offset
,
correlationOP
,
commissionDialog
,
ApplyFoInvoice
},
props
:
[
"OrderList"
,
"pagesTitle"
],
props
:
[
"OrderList"
,
"pagesTitle"
],
data
()
{
data
()
{
return
{
return
{
...
...
src/components/busManagement/BookAcar/components/tripBusOrderList.vue
View file @
4c209a7b
...
@@ -650,7 +650,7 @@
...
@@ -650,7 +650,7 @@
</div>
</div>
<div
<div
v-if=
"item.OfferState!=3"
v-if=
"item.OfferState!=3"
class=
"
column
justify-c px15 bgE8F5E9 radius5 ml fz12 orderop pa20 flex-s"
class=
"
row-c wrap
justify-c px15 bgE8F5E9 radius5 ml fz12 orderop pa20 flex-s"
>
>
<div
<div
v-if=
"
v-if=
"
...
...
src/components/busManagement/BookAcar/list.vue
View file @
4c209a7b
...
@@ -22,6 +22,7 @@
...
@@ -22,6 +22,7 @@
margin-right
:
15px
;
margin-right
:
15px
;
border-radius
:
5px
;
border-radius
:
5px
;
display
:
block
;
display
:
block
;
border
:
1px
solid
#eee
;
}
}
.listone-list
{
.listone-list
{
flex-grow
:
1
;
flex-grow
:
1
;
...
@@ -219,7 +220,8 @@
...
@@ -219,7 +220,8 @@
<div
:style=
"
{'height':tableHeight+'px'}" style="overflow: auto;" v-loading="loading">
<div
:style=
"
{'height':tableHeight+'px'}" style="overflow: auto;" v-loading="loading">
<div
v-if=
"ViewType==1"
class=
"listone-box"
>
<div
v-if=
"ViewType==1"
class=
"listone-box"
>
<div
class=
"listone-form"
v-for=
"(x,index) in tableData"
:key=
"index"
>
<div
class=
"listone-form"
v-for=
"(x,index) in tableData"
:key=
"index"
>
<el-image
v-if=
"x.ImageList"
class=
"listone-img"
:src=
"x.ImageList[0]"
fit=
"contain"
>
<el-image
v-if=
"x.ImageList"
class=
"listone-img"
:src=
"x.ImageList[0]"
fit=
"cover"
style=
"max-height: 110px;"
>
<div
slot=
"placeholder"
class=
"image-slot"
>
<div
slot=
"placeholder"
class=
"image-slot"
>
<span>
<span>
加载中
<span
class=
"dot"
>
...
</span>
加载中
<span
class=
"dot"
>
...
</span>
...
@@ -469,4 +471,3 @@
...
@@ -469,4 +471,3 @@
};
};
</
script
>
</
script
>
\ No newline at end of file
src/components/public/ApplyFoInvoice.vue
0 → 100644
View file @
4c209a7b
<
template
>
<div
class=
"row-c cursor-pointer radius5 change py5"
@
click=
"goUrlAdd"
>
<span
class=
"c059FF6"
>
申请发票
</span>
</div>
</
template
>
<
script
>
export
default
{
props
:
[
"obj"
,
"type"
],
components
:
{},
data
()
{
return
{
}
},
watch
:
{
obj
:
{
handler
(
newValue
,
onldValue
)
{
},
deep
:
true
,
immediate
:
true
},
},
mounted
()
{
},
methods
:
{
// 申请发票 tyep 4机票 5车 6酒店 7景点
goUrlAdd
()
{
this
.
$router
.
push
({
name
:
'invoicesManagerAdd'
,
query
:
{
OrderId
:
this
.
obj
.
OrderId
,
TCID
:
0
,
customerId
:
this
.
obj
.
CustomerId
,
InvoiceApplyType
:
this
.
type
,
blank
:
"y"
,
}
});
},
}
}
</
script
>
<
style
scoped
>
</
style
>
src/components/scenicSpot/Singleticket/OrderPreview.vue
View file @
4c209a7b
...
@@ -368,7 +368,7 @@
...
@@ -368,7 +368,7 @@
</li>
</li>
<li>
<li>
<el-form-item
label=
"电话"
prop=
"
Mobile
"
>
<el-form-item
label=
"电话"
prop=
""
>
<el-input
type=
"Number"
v-model=
"msg.Mobile"
placeholder=
"请输入电话"
/>
<el-input
type=
"Number"
v-model=
"msg.Mobile"
placeholder=
"请输入电话"
/>
</el-form-item>
</el-form-item>
</li>
</li>
...
@@ -454,14 +454,14 @@
...
@@ -454,14 +454,14 @@
</div>
</div>
</div>
</div>
<div
class=
"right-Submit"
>
<div
class=
"right-Submit"
>
<button
class=
"hollowFixedBtn"
v-loading=
"loading"
type=
"primary"
:disabled=
"!isCheck"
@
click=
"submit"
>
提交订单
</button>
<!-- <button v-else class="normalBtn" type="primary" @click="submit">
<!-- <button v-else class="normalBtn" type="primary" @click="submit">
提交订单
提交订单
</button> -->
</button> -->
<el-button
:disabled=
"!isCheck"
:loading=
"loading"
class=
"normalBtn"
type=
"primary"
@
click=
"submit"
>
提交订单
</el-button>
</div>
</div>
</div>
</div>
<!-- 门票详情信息 -->
<!-- 门票详情信息 -->
...
@@ -656,8 +656,11 @@
...
@@ -656,8 +656,11 @@
});
});
};
};
addList
(
res
.
data
.
data
.
TicketPriceList
);
addList
(
res
.
data
.
data
.
TicketPriceList
);
this
.
types
=
res
.
data
.
data
.
TicketPriceList
.
filter
(
x
=>
{
return
x
.
B2BPrice
>
0
})
this
.
msg
.
Money
=
0.00
this
.
msg
.
Money
=
0.00
this
.
types
=
res
.
data
.
data
.
TicketPriceList
.
filter
(
x
=>
{
return
x
.
B2BPrice
>
0
})
if
(
this
.
types
&&
this
.
types
.
length
>
0
){
this
.
changeDetailListHandler
(
this
.
types
[
0
])
}
if
(
this
.
types
&&
this
.
types
.
length
==
0
){
if
(
this
.
types
&&
this
.
types
.
length
==
0
){
this
.
Error
(
'暂无报价,无法下单'
)
this
.
Error
(
'暂无报价,无法下单'
)
}
}
...
...
src/components/scenicSpot/reservation/OrderList.vue
View file @
4c209a7b
...
@@ -757,7 +757,22 @@
...
@@ -757,7 +757,22 @@
@
click=
"isOffset(item, index, 3)"
></i>
@
click=
"isOffset(item, index, 3)"
></i>
</el-tooltip>
</el-tooltip>
</div>
</div>
</div>
<div
class=
"column px15 bgf5 radius5 ml flex-g pa relative"
style=
"min-width: 150px;max-width:400px"
>
<div
class=
"fz12"
>
发票单据
</div>
<div
class=
"row wrap orderNo fz12 py"
>
<span
class=
"cursor-pointer radius5 mr px5"
:class=
"{'bgD9F3FF':x.Status==1,'bgFAEAED':x.Status==2,'bjFFF3E0':x.Status==3,
'c3FC4FF':x.Status==1,'cF1416C':x.Status==2,'cff9800':x.Status==3}"
v-for=
"(x, i) in item.InvoiceApplyList"
@
click=
"openDetails(x)"
>
{{ x.FrID }}
</span
>
<span
v-if=
"item.InvoiceApplyList&&item.InvoiceApplyList.length == 0"
class=
"c9e fz12"
>
暂无发票单据
</span>
</div>
</div>
</div>
<div
class=
"column justify-c px15 bgf5 radius5 ml flex-g pa20"
style=
"min-width: 230px;"
>
<div
class=
"column justify-c px15 bgf5 radius5 ml flex-g pa20"
style=
"min-width: 230px;"
>
<div
class=
"row-c justify-sb pb5"
:class=
"{'borderD':item.MailingMoney>0||item.DiscountsMoney>0}"
>
<div
class=
"row-c justify-sb pb5"
:class=
"{'borderD':item.MailingMoney>0||item.DiscountsMoney>0}"
>
...
@@ -789,7 +804,8 @@
...
@@ -789,7 +804,8 @@
</div>
</div>
</div>
</div>
</div>
</div>
<div
v-if=
"item.OrderStatus > 0 && item.OrderStatus < 4 && item.OrderStatus != 3"
<!-- v-if="item.OrderStatus > 0 && item.OrderStatus < 4 && item.OrderStatus != 3" -->
<div
class=
"row-c wrap justify-c px15 bgE8F5E9 radius5 ml fz12 orderop flex-s"
>
class=
"row-c wrap justify-c px15 bgE8F5E9 radius5 ml fz12 orderop flex-s"
>
<div
v-if=
"
<div
v-if=
"
item.OrderStatus == 1 &&
item.OrderStatus == 1 &&
...
@@ -849,6 +865,8 @@
...
@@ -849,6 +865,8 @@
>
>
<span
class=
"c059FF6"
>
编辑总金额
</span>
<span
class=
"c059FF6"
>
编辑总金额
</span>
</div>
</div>
<!-- 申请发票 -->
<ApplyFoInvoice
v-if=
"userInfo.EmployeeId==item.EnterID"
:obj=
"item"
:type=
"7"
></ApplyFoInvoice>
<!-- <template v-if="item.OrderStatus==2">
<!-- <template v-if="item.OrderStatus==2">
<div class="column-jac fz12 flex-s c20C997">
<div class="column-jac fz12 flex-s c20C997">
<div class="mb5">已支付</div>
<div class="mb5">已支付</div>
...
@@ -1015,9 +1033,11 @@
...
@@ -1015,9 +1033,11 @@
import
offset
from
'../../public/offset.vue'
;
import
offset
from
'../../public/offset.vue'
;
import
correlationOP
from
'../../Hotel/reservation/correlationOP.vue'
;
import
correlationOP
from
'../../Hotel/reservation/correlationOP.vue'
;
import
commissionDialog
from
"../../FinancialModule/TradeCommission/commissionDialog"
import
commissionDialog
from
"../../FinancialModule/TradeCommission/commissionDialog"
export
default
{
import
ApplyFoInvoice
from
'../../public/ApplyFoInvoice'
;
export
default
{
components
:
{
components
:
{
offset
,
correlationOP
,
commissionDialog
offset
,
correlationOP
,
commissionDialog
,
ApplyFoInvoice
},
},
props
:
[
"OrderList"
,
"pagesTitle"
],
props
:
[
"OrderList"
,
"pagesTitle"
],
data
()
{
data
()
{
...
...
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