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
ba451ef1
Commit
ba451ef1
authored
Jan 31, 2024
by
youjie
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
车订单列表
parent
63e363e7
Hide whitespace changes
Inline
Side-by-side
Showing
13 changed files
with
2288 additions
and
35 deletions
+2288
-35
CarDealerOrderList.vue
src/components/CarDealerOrder/CarDealerOrderList.vue
+34
-0
CarDealerOrderListOP.vue
src/components/CarDealerOrder/CarDealerOrderListOP.vue
+34
-0
OrderList.vue
src/components/CarDealerOrder/components/OrderList.vue
+1682
-0
ReservationOrder.vue
...components/CarDealerOrder/components/ReservationOrder.vue
+451
-0
Details.vue
src/components/Details.vue
+1
-1
BasicDocuments.vue
src/components/FinancialModule/BasicDocuments.vue
+5
-6
FinancialDocuments.vue
src/components/FinancialModule/FinancialDocuments.vue
+1
-1
FinancialDocumentsDetail.vue
src/components/FinancialModule/FinancialDocumentsDetail.vue
+2
-3
index.vue
...components/FinancialModule/MonthlyCostStatement/index.vue
+1
-1
TeamRevenueReport.vue
...mponents/FinancialModule/ReportForm/TeamRevenueReport.vue
+58
-4
OrderList.vue
src/components/Hotel/reservation/OrderList.vue
+2
-18
index.vue
src/components/index.vue
+1
-1
config.js
src/router/config.js
+16
-0
No files found.
src/components/CarDealerOrder/CarDealerOrderList.vue
0 → 100644
View file @
ba451ef1
<
style
>
</
style
>
<
template
>
<div>
<ReservationOrder
:pagesTitle=
"pagesTitle"
></ReservationOrder>
</div>
</
template
>
<
script
>
import
ReservationOrder
from
'./components/ReservationOrder.vue'
;
export
default
{
components
:
{
ReservationOrder
},
data
()
{
return
{
pagesTitle
:
'销售'
,
};
},
methods
:
{
},
mounted
()
{
},
};
</
script
>
<
style
>
</
style
>
src/components/CarDealerOrder/CarDealerOrderListOP.vue
0 → 100644
View file @
ba451ef1
<
style
>
</
style
>
<
template
>
<div>
<ReservationOrder
:pagesTitle=
"pagesTitle"
></ReservationOrder>
</div>
</
template
>
<
script
>
import
ReservationOrder
from
'./components/ReservationOrder.vue'
;
export
default
{
components
:
{
ReservationOrder
},
data
()
{
return
{
pagesTitle
:
'OP'
,
};
},
methods
:
{
},
mounted
()
{
},
};
</
script
>
<
style
>
</
style
>
src/components/CarDealerOrder/components/OrderList.vue
0 → 100644
View file @
ba451ef1
<
style
scoped
>
.row
{
display
:
flex
;
}
.row-c
{
display
:
flex
;
align-items
:
center
;
}
.column
{
display
:
flex
;
flex-direction
:
column
;
}
.column-jac
{
display
:
flex
;
flex-direction
:
column
;
align-items
:
center
;
justify-content
:
center
;
}
.column-ac
{
display
:
flex
;
flex-direction
:
column
;
align-items
:
center
;
}
.wrap
{
flex-wrap
:
wrap
;
}
.justify-sb
{
justify-content
:
space-between
;
}
.justify-c
{
justify-content
:
center
;
}
.justify-e
{
justify-content
:
flex-end
;
align-items
:
flex-end
;
}
.flex-g
{
flex-grow
:
1
;
}
.flex-s
{
flex-shrink
:
0
;
}
.align-c
{
align-items
:
center
;
}
.cblack
{
color
:
black
;
}
.cf
{
color
:
#ffffff
;
}
.c9e
{
color
:
#9e9e9e
;
}
.c20C997
{
color
:
#20c997
}
.c02C854
{
color
:
#02c854
;
}
.cff9800
{
color
:
#ff9800
;
}
.cF1416C
{
color
:
#f1416c
;
}
.cF57A98
{
color
:
#f57a98
;
}
.c04C8C8
{
color
:
#04c8c8
;
}
.c059FF6
{
color
:
#059ff6
;
}
.c3FC4FF
{
color
:
#3fc4ff
;
}
.c20c997
{
color
:
#20c997
;
}
.fz10
{
font-size
:
10px
;
}
.fz11
{
font-size
:
11px
;
}
.fz12
{
font-size
:
12px
;
}
.fz13
{
font-size
:
13px
;
}
.fz14
{
font-size
:
14px
;
}
.fz15
{
font-size
:
15px
;
}
.fz16
{
font-size
:
16px
;
}
.fz17
{
font-size
:
17px
;
}
.fz18
{
font-size
:
18px
;
}
.fbold
{
font-weight
:
bold
;
}
.ml
{
margin-left
:
10px
;
}
.mr
{
margin-right
:
10px
;
}
.mt
{
margin-top
:
10px
;
}
.mt20
{
margin-top
:
20px
;
}
.mb
{
margin-bottom
:
10px
;
}
.mb20
{
margin-bottom
:
20px
;
}
.mx
{
margin-left
:
10px
;
margin-right
:
10px
;
}
.mx5
{
margin-left
:
5px
;
margin-right
:
5px
;
}
.mb5
{
margin-bottom
:
5px
;
}
.py
{
padding
:
15px
0
;
}
.py5
{
padding
:
5px
0
;
}
.px5
{
padding
:
0
5px
;
}
.px15
{
padding
:
0
15px
;
}
.pa15
{
padding
:
15px
;
}
.py20
{
padding
:
20px
0
;
}
.pb5
{
padding
:
0
0
5px
0
;
}
.pa
{
padding
:
10px
20px
;
}
.pa20
{
padding
:
20px
;
}
.pt20
{
padding
:
20px
0
;
}
.borderD
{
border-bottom
:
1px
dashed
#dddddd
;
}
.bgf
{
background
:
#ffffff
;
}
.bgf5
{
background
:
#f5f5f5
;
}
.bgE8F5E9
{
background
:
#e8f5e9
;
}
.bgD9F3FF
{
background
:
#d9f3ff
;
}
.bg20c997
{
background
:
rgba
(
238
,
238
,
238
,
.5
);
}
.bgFAEAED
{
background
:
#faeaed
;
}
.bj
{
background
:
#ffffff
;
}
.bjFFF3E0
{
background
:
#FFF3E0
;
}
.radius5
{
border-radius
:
5px
;
}
.cursor-pointer
{
cursor
:
pointer
;
}
.relative
{
position
:
relative
;
}
.absolute
{
position
:
absolute
;
}
.left0
{
left
:
0
;
}
.right0
{
right
:
0
;
}
.top0
{
top
:
0
;
}
.bottom0
{
bottom
:
0
;
}
.left20
{
left
:
020px
;
}
.right20
{
right
:
20px
;
}
.top20
{
top
:
20px
;
}
.bottom20
{
bottom
:
20px
;
}
.text-center
{
text-align
:
center
;
}
.orderType
{
padding
:
3px
15px
;
border-radius
:
3px
;
background
:
#f57a98
;
margin-right
:
15px
;
}
.orderType.active
{
background
:
#4dd0e1
;
}
.orderType.activeNo
{
background
:
#E95252
;
}
.copy
{
display
:
inline-block
;
padding
:
3px
15px
;
border-radius
:
3px
;
margin-left
:
20px
;
}
.copy
:hover
{
background
:
#f5f5f5
;
}
.see-rec
div
{
padding
:
1px
5px
;
border-radius
:
3px
;
}
.see
{
border
:
1px
solid
#04c8c8
;
}
.seeLK
{
border
:
1px
solid
#059ff6
;
}
.see
:hover
{
background-color
:
rgba
(
4
,
200
,
200
,
0.1
);
}
.rec
{
border
:
1px
solid
#04c8c8
;
background-color
:
rgba
(
4
,
200
,
200
,
1
);
}
.rec
:hover
{
border
:
1px
solid
rgba
(
4
,
200
,
200
,
0.9
);
background-color
:
rgba
(
4
,
200
,
200
,
0.9
);
}
.cancel
:hover
{
background-color
:
#f3dce2
;
}
.confirm
:hover
{
background-color
:
#dcedc8
;
}
.change
:hover
{
background-color
:
#d7e9f3
;
}
.change1
:hover
{
background-color
:
#dcedc8
;
}
.orderop
{
text-align
:
center
;
}
.orderop
div
{
width
:
auto
;
height
:
30px
;
display
:
flex
;
padding
:
0
5px
;
justify-content
:
center
;
}
.RoomList
div
{
border-bottom
:
1px
solid
#e7e7e7
;
}
.RoomList
div
:last-child
{
border
:
0
;
}
.el-table
{
font-size
:
13px
;
}
.shezhifrom
{
position
:
relative
;
}
.shebox
{
position
:
absolute
;
top
:
0
;
left
:
-100px
;
display
:
none
;
}
.shezhifrom
:hover
.shebox
{
display
:
block
;
}
.flexOne-form-bj
h3
{
font-size
:
18px
;
color
:
black
;
padding
:
0
0
20px
0
;
font-weight
:
400
;
}
.flexOne-type
{
display
:
flex
;
align-items
:
center
;
padding
:
0
0
20px
0
;
}
.flexOne-type
b
{
font-size
:
13px
;
width
:
100px
;
flex-shrink
:
0
;
}
.flexOne-type
div
{
display
:
flex
;
}
.flexOne-description
{
padding
:
15px
15px
;
border-radius
:
5px
;
background
:
#E1F5FE
;
margin-bottom
:
20px
;
}
.flexOne-description
b
{
font-size
:
14px
;
}
.flexOne-description
p
{
font-size
:
12px
;
color
:
#4C5759
;
padding
:
10px
0
0
0
;
}
.flexOne-infor-box
b
{
font-size
:
13px
;
}
.infor-list
{
display
:
flex
;
flex-direction
:
column
;
}
.list-title
{
padding
:
20px
0
;
border-bottom
:
1px
dashed
#eeeeee
;
color
:
#7E8299
;
font-size
:
13px
;
}
.list-title
,
.list-centent
{
display
:
flex
;
flex-wrap
:
wrap
;
margin-top
:
20px
;
}
.infor-list
li
{
width
:
25%
;
}
.list-centent
li
{
width
:
33.33%
;
}
.list-centent.active
li
{
width
:
25%
;
}
/
deep
/
.el-table
tr
td
:first-child
{
border-bottom
:
0
;
}
/
deep
/
.el-table
tr
:last-child
td
{
border-bottom
:
1px
solid
#EBEEF5
;
}
/
deep
/
.el-table
tr
td
{
border-bottom
:
1px
solid
#EBEEF5
;
}
</
style
>
<
template
>
<div>
<div
style=
"text-align: right;position: fixed;top: 62px; right: 89px;"
>
<el-button
class=
"hollowFixedBtn"
v-if=
"pagesTitle=='OP'"
@
click=
"setCompleted"
:loading=
"CompletedLoading"
>
一键完结
</el-button>
</div>
<el-table
ref=
"multipleTable"
:data=
"OrderList"
tooltip-effect=
"dark"
style=
"width: 100%"
row-key=
"OrderId"
@
selection-change=
"handleSelectionChange"
>
<!--
<el-table-column
type=
"selection"
:selectable=
"selectable"
:reserve-selection=
"true"
v-if=
"pagesTitle=='OP'"
>
</el-table-column>
-->
<el-table-column
:label=
"pagesTitle=='OP'?'':''"
>
<template
slot-scope=
"scope"
>
<div
class=
"row-c justify-sb align-c py"
>
<div
class=
"row-c"
>
<div
v-if=
"false"
>
<!-- active activeNo -->
<div
class=
"orderType cf fz12"
:class=
"[scope.row.IsFinish==1?'active':'']"
>
{{
scope
.
row
.
IsFinish
==
1
?
'已完结'
:
'未完结'
}}
</div>
</div>
<div
class=
"cblack fz14 mr"
v-if=
"scope.row.IsFinish == 1"
>
<span
class=
""
>
<span>
{{
scope
.
row
.
FinishEmpName
}}
/
</span>
<span
class=
"text-grey-6"
>
{{
scope
.
row
.
FinishTimeStr
}}
</span>
</span>
</div>
<div
class=
"c9e fz12"
>
<span>
{{
$t
(
'OrderList.search.orderId'
)
}}
:
</span>
<span>
(
{{
scope
.
row
.
OrderId
}}
)
</span>
<span
class=
"copy cblack cursor-pointer"
v-if=
"copyId != scope.row.OrderId"
@
click=
"CopyHandler(scope.row)"
>
复制
</span>
<span
v-else
class=
"copy c059FF6 bgD9F3FF cursor-pointer"
><i
class=
"el-icon-check mr"
></i>
已复制
</span>
</div>
</div>
<div
class=
"c9e fz12"
>
<span>
客人信息:
{{
scope
.
row
.
CustomerName
}}
<span
v-if=
"scope.row.CustomerTel"
>
/ Tel:
{{
scope
.
row
.
CustomerTel
}}
</span>
<span
v-if=
"scope.row.CustomerMail"
>
/ Email:
{{
scope
.
row
.
CustomerMail
}}
</span>
</span>
</div>
<div
class=
"row c9e fz12"
>
<span
class=
"mr"
>
下单人:
{{
scope
.
row
.
CreateByName
}}
/
{{
scope
.
row
.
CreateDateStr
}}
</span>
<div
class=
""
>
<i
class=
"mx5"
:class=
"
{
'el-icon-alarm-clock c20C997': scope.row.OrderState == 1,
'el-icon-refresh cff9800': scope.row.OrderState == 2,
}">
</i>
<span
class=
"fz12 cblack"
:class=
"
{
c20C997: scope.row.OrderState == 1,
cF1416C: scope.row.OrderState == 2,
}">
{{
scope
.
row
.
typeInfo
.
Name
}}
</span>
</div>
</div>
</div>
<div
class=
"mb"
>
<el-table
:data=
"[scope.row]"
style=
"width:100%"
border
>
<el-table-column
label=
"车/使用时间/天数)"
min-width=
"100"
style=
"background:#EAEAEA"
>
<template
slot-scope=
"scopes"
>
<div>
{{
scope
.
row
.
CarModel
.
CarName
+
'/'
+
scope
.
row
.
CarModel
.
CarNo
}}
</div>
<span
style=
"color: #999999;"
>
{{
scope
.
row
.
UseDate
}}
</span>
<span
style=
"color: #999999;"
>
{{
scope
.
row
.
UseDay
}}
</span>
</
template
>
</el-table-column>
<el-table-column
label=
"用车详情"
min-width=
"200"
style=
"background:#EAEAEA"
>
<
template
slot-scope=
"scope"
>
<div
class=
"RoomList"
>
<div
class=
"fz12 c9e"
v-for=
"(x, i) in scope.row.NewOrderDetailList"
>
<span
class=
"mr"
>
第
{{
x
.
Day
}}
天
</span
>
<span
class=
"ml mr"
>
司机:
{{
x
.
DriverModel
.
DriverName
}}
/
{{
x
.
DriverModel
.
DriverTel
}}
</span>
<span
class=
"ml mr"
v-if=
"x.CopilotDriverModel"
>
副司机:
{{
x
.
CopilotDriverModel
.
DriverName
}}
/
{{
x
.
CopilotDriverModel
.
DriverTel
}}
</span>
<span
class=
"ml"
>
{{
x
.
useTypeInfo
.
StatusName
}}
</span
>
</div>
</div>
</
template
>
</el-table-column>
<el-table-column
label=
"总金额"
style=
"background:#EAEAEA"
>
<
template
slot-scope=
"scope"
>
{{
scope
.
row
.
Money
}}
</
template
>
</el-table-column>
<el-table-column
label=
"代收金额"
min-width=
"70"
style=
"background:#EAEAEA"
>
<
template
slot-scope=
"scope"
>
<span
class=
"fz15 fbold"
>
{{
scope
.
row
.
DueInMoney
}}
</span>
</
template
>
</el-table-column>
<el-table-column
label=
"实收"
min-width=
"70"
style=
"background:#EAEAEA"
>
<
template
slot-scope=
"scope"
>
<span
class=
"fz15 fbold"
>
{{
scope
.
row
.
Income
}}
</span>
</
template
>
</el-table-column>
<el-table-column
label=
"退款"
min-width=
"70"
style=
"background:#EAEAEA"
>
<
template
slot-scope=
"scope"
>
<span
class=
"fz15 fbold"
>
{{
scope
.
row
.
Refund
}}
</span>
</
template
>
</el-table-column>
<el-table-column
label=
"平台在途金额"
min-width=
"70"
style=
"background:#EAEAEA"
>
<
template
slot-scope=
"scope"
>
<span
class=
"fz15 fbold"
>
{{
scope
.
row
.
PlatformMoney
}}
</span>
</
template
>
</el-table-column>
<el-table-column
label=
"平台税金"
min-width=
"70"
style=
"background:#EAEAEA"
>
<
template
slot-scope=
"scope"
>
<span
class=
"fz15 fbold"
>
{{
scope
.
row
.
PlatformTax
}}
</span>
</
template
>
</el-table-column>
<el-table-column
label=
"成本金额"
min-width=
"70"
style=
"background:#EAEAEA"
>
<
template
slot-scope=
"scope"
>
<span
class=
"fz15 fbold"
>
{{
scope
.
row
.
CostMoney
}}
</span>
</
template
>
</el-table-column>
<
template
slot=
"append"
v-if=
"scope.row.Remark||scope.row.isMore"
>
<div
style=
"padding:10px;color:#f1416c"
>
备注:
{{
scope
.
row
.
Remark
}}
</div>
<div
:style=
"
{'height': scope.row.isMore?'20px':''}">
</div>
<more
v-if=
"scope.row.isMore"
@
change=
"ViewMore(scope.row,index)"
:upIcon=
"scope.row.upIcon"
></more>
</
template
>
</el-table>
</div>
<div
class=
"row justify-sb mt mb20"
v-if=
"scope.row.IncomeList.length>0||scope.row.RefundList.length>0||scope.row.CostList.length>0"
>
<div
class=
"column px15 bgf5 radius5 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 mb px5"
:class=
"{'bgD9F3FF':x.ColorState==1,'bg20c997':x.ColorState==2,'bgFAEAED':x.ColorState==3,'bjFFF3E0':x.ColorState==4,
'c3FC4FF':x.ColorState==1,'c20c997':x.ColorState==2,'cF1416C':x.ColorState==3,'cff9800':x.ColorState==4}"
v-for=
"(x, i) in scope.row.IncomeList"
@
click=
"openDetails(x)"
>
{{ x.FrID }}
</span>
<span
v-if=
"scope.row.IncomeList.length == 0"
class=
"c9e fz12"
>
暂无收款单据
</span>
</div>
<!-- <el-tooltip v-if="scope.row.OrderState == 2" class="item" effect="dark" content="制单" placement="top">
<i class="absolute right20 bottom20 el-icon-circle-plus cursor-pointer c059FF6"
@click="makeAdocument(scope.row, index, 1)"></i>
</el-tooltip> -->
</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 mb px5"
:class=
"{'bgD9F3FF':x.ColorState==1,'bg20c997':x.ColorState==2,'bgFAEAED':x.ColorState==3,'bjFFF3E0':x.ColorState==4,
'c3FC4FF':x.ColorState==1,'c20c997':x.ColorState==2,'cF1416C':x.ColorState==3,'cff9800':x.ColorState==4}"
v-for=
"(x, i) in scope.row.RefundList"
@
click=
"openDetails(x)"
>
{{ x.FrID }}
</span>
<span
v-if=
"scope.row.RefundList.length == 0"
class=
"c9e fz12"
>
暂无退款单据
</span>
</div>
<!-- <el-tooltip v-if="scope.row.OrderState == 2" class="item" effect="dark" content="制单" placement="top">
<i class="absolute right20 bottom20 el-icon-circle-plus cursor-pointer c059FF6"
@click="makeAdocument(scope.row, index, 2)"></i>
</el-tooltip> -->
</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 mb px5"
:class=
"{'bgD9F3FF':x.ColorState==1,'bg20c997':x.ColorState==2,'bgFAEAED':x.ColorState==3,'bjFFF3E0':x.ColorState==4,
'c3FC4FF':x.ColorState==1,'c20c997':x.ColorState==2,'cF1416C':x.ColorState==3,'cff9800':x.ColorState==4}"
v-for=
"(x, i) in scope.row.CostList"
@
click=
"openDetails(x)"
>
{{ x.FrID }}
</span>
<span
v-if=
"scope.row.CostList.length == 0"
class=
"c9e fz12"
>
暂无成本单据
</span>
</div>
<!-- <div class="item absolute right20 bottom20" v-if="scope.row.OrderState == 2 && pagesTitle != '销售'">
<el-tooltip class="" effect="dark" content="制单" placement="top">
<i class="el-icon-circle-plus cursor-pointer c059FF6" @click="makeAdocument(scope.row, index, 3)"></i>
</el-tooltip>
<el-tooltip v-if="scope.row.OrderState == 2" class="" effect="dark" content="冲抵" placement="top">
<i class="el-icon-circle-plus cursor-pointer c3FC4FF" @click="isOffset(scope.row, index, 3)"></i>
</el-tooltip>
</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.InvoiceApplyState===6,'bgFAEAED':x.InvoiceApplyState===1||x.InvoiceApplyState===3,
'bjFFF3E0':x.InvoiceApplyState===2||x.InvoiceApplyState===4||x.InvoiceApplyState===5,
'c3FC4FF':x.InvoiceApplyState===6,'cF1416C':x.InvoiceApplyState===1||x.InvoiceApplyState===3,
'cff9800':x.InvoiceApplyState===2||x.InvoiceApplyState===4||x.InvoiceApplyState===5}"
v-for=
"(x, i) in scope.row.InvoiceApplyList"
@
click=
"openDetails(x,scope.row)"
>
{{ x.ID }}
</span>
<span
v-if=
"scope.row.InvoiceApplyList&&scope.row.InvoiceApplyList.length == 0"
class=
"c9e fz12"
>
暂无发票单据
</span>
</div>
</div>
<div
v-if=
"false"
class=
"row-c wrap justify-c px15 bgE8F5E9 radius5 ml fz12 orderop flex-s"
>
<div
v-if=
"
scope.row.OrderState == 1 &&
scope.row.IncomeList.length == 0 &&
scope.row.RefundList.length == 0 &&
scope.row.CostList.length == 0 && scope.row.OrderSource!=1
"
class=
"row-c cursor-pointer radius5 cancel py5"
@
click=
"clickRightButtom(scope.row, 0)"
>
<i
v-loading=
"msg.OrderId == scope.row.OrderId && loading0"
></i>
<span
class=
"cF1416C"
>
取消订单
</span>
</div>
<div
v-if=
"scope.row.OrderState == 1 && pagesTitle != '销售' && scope.row.OrderSource!=1"
class=
"row-c cursor-pointer radius5 confirm py5"
@
click=
"clickRightButtom(scope.row, 1)"
>
<i
v-loading=
"msg.OrderId == scope.row.OrderId && loading1"
></i>
<span
class=
"c20C997"
>
确认订单
</span>
</div>
<div
v-if=
"scope.row.OrderState == 2 && scope.row.MailingState == 2 && pagesTitle != '销售'"
class=
"row-c cursor-pointer radius5 cancel py5"
@
click=
"clickRightButtom(scope.row, 2)"
>
<i
v-loading=
"msg.OrderId == scope.row.OrderId && loading1"
></i>
<span
class=
"cF1416C"
>
邮寄
</span>
</div>
<div
v-if=
"(scope.row.OrderState == 1 && pagesTitle == '销售')||(scope.row.OrderState >1 && scope.row.OrderState != 3
&&pagesTitle=='OP'&&is_correlationOP)"
class=
"row-c cursor-pointer radius5 change py5"
@
click=
"goRoomDetails(scope.row, pagesTitle=='销售'?'门票预定变更':'编辑取票方式')"
>
<span
class=
"c059FF6"
>
{{pagesTitle=='销售'?'订单变更':'编辑取票方式'}}
</span>
</div>
<div
v-if=
"scope.row.OrderState > 1"
class=
"row-c cursor-pointer radius5 change1 py5"
@
click=
"clickRightButtom(scope.row, 4)"
>
<i
v-loading=
"msg.OrderId == scope.row.OrderId && loading2"
></i>
<span
class=
"c20C997"
>
收损
</span>
</div>
<div
v-if=
"scope.row.OrderState >1 && scope.row.OrderState != 3
&& scope.row.OrderState != 4
&&pagesTitle=='OP'&&is_correlationOP"
class=
"row-c cursor-pointer radius5 change py5"
@
click=
"clickCorrelation(scope.row,1)"
>
<span
class=
"c059FF6"
>
编辑关联OP
</span>
</div>
<div
v-if=
"scope.row.OrderState != 3
&&pagesTitle=='OP'"
class=
"row-c cursor-pointer radius5 change py5"
@
click=
"clickCorrelation(scope.row,2)"
>
<span
class=
"c059FF6"
>
编辑总金额
</span>
</div>
<ApplyFoInvoice
v-if=
"userInfo.EmployeeId==scope.row.EnterID"
:obj=
"scope.row"
:type=
"7"
></ApplyFoInvoice>
</div>
</div>
<div
class=
"mt mb20 bgf5 pa15 row-c"
v-if=
"scope.row.CancelRemark"
>
<div
style=
"font-size:16px;font-weight:bold;font-family: pingfangR;"
>
取消理由:
</div>
<div
style=
"margin-left:12px;font-size:12px;color: grey; font-family: microsoft yahei;"
>
{{ scope.row.CancelRemark }}
</div>
<div
style=
"margin-left:12px;font-size:12px;font-family: microsoft yahei;"
>
{{ scope.row.CancelEmpName }} {{ scope.row.CancelTime }}
</div>
</div>
</template>
</el-table-column>
</el-table>
<el-dialog
custom-class=
"w400"
:title=
"typeState == 3 ? '设置自提地址' : '设置收损金额'"
:visible
.
sync=
"outerVisible"
>
<div>
<el-form
label-width=
"80px"
:model=
"msg"
:rules=
"rules"
ref=
"msg"
>
<el-row
:gutter=
"20"
>
<!-- <el-col :span="20">
<el-form-item label="订单状态" prop="State">
<el-select v-model="msg.State" class="w110 HworkInput">
<el-option v-for="item in OrderStatusType" :key="item.ID" :label="item.Name" :value="item.ID"></el-option>
</el-select>
</el-form-item>
</el-col> -->
<el-col
:span=
"20"
v-if=
"typeState == 3"
>
<el-form-item
label=
"自提地址"
prop=
"SelffetchAddress"
>
<el-input
type=
"textarea"
:autosize=
"{ minRows: 2, maxRows: 4 }"
v-model=
"msg.SelffetchAddress"
>
</el-input>
</el-form-item>
</el-col>
<el-col
:span=
"20"
v-if=
"typeState == 4"
>
<el-form-item
label=
"收损金额"
prop=
"LossMoney"
>
<el-input-number
class=
"w200"
v-model=
"msg.LossMoney"
:min=
"0"
:max=
"10000000"
></el-input-number>
</el-form-item>
</el-col>
</el-row>
<el-row
:gutter=
"20"
style=
"margin-top: 20px;margin-bottom: 20px;"
>
<el-col
:span=
"24"
style=
"text-align: right;"
>
<input
type=
"button"
class=
"normalBtn"
value=
"保存"
@
click=
"submitForm('msg')"
/>
<input
type=
"button"
class=
"hollowFixedBtn"
value=
"取消"
@
click=
"(outerVisible = false), $refs['msg'].resetFields()"
/>
</el-col>
</el-row>
</el-form>
</div>
</el-dialog>
<el-dialog
custom-class=
"w600"
title=
"取消订单"
:visible
.
sync=
"cancelOrderDialog"
>
<div
style=
"padding-bottom:20px"
>
<el-input
type=
"textarea"
autofocus
rows=
"5"
placeholder=
"请填写取消订单的缘由"
clear=
"w300"
v-model=
"cancelRemark"
>
</el-input>
<el-row
:gutter=
"20"
style=
"margin-top: 20px;"
>
<el-col
:span=
"24"
style=
"text-align: right;"
>
<input
type=
"button"
class=
"normalBtn"
value=
"取消订单"
@
click=
"cancelOrderHandler"
/>
<input
type=
"button"
class=
"hollowFixedBtn"
value=
"关闭"
@
click=
"cancelOrderDialog = false"
/>
</el-col>
</el-row>
</div>
</el-dialog>
<!-- 变更订单 -->
<el-dialog
custom-class=
"w800"
:title=
"pagesTitle=='销售'?'变更订单':'编辑取票方式'"
:visible
.
sync=
"ChangeOrderDialog"
>
<div
style=
"padding-bottom:20px"
>
<div
class=
"flexOne-form-bj"
>
<h3>
取票方式
</h3>
<div
class=
"flexOne-type"
>
<b>
取票方式:
</b>
<div>
<el-radio
v-model=
"msgParameter.MailingState"
label=
"1"
>
自行取票
</el-radio>
<el-radio
v-model=
"msgParameter.MailingState"
label=
"2"
>
邮寄票券
</el-radio>
<el-radio
v-model=
"msgParameter.MailingState"
label=
"4"
>
电子券
</el-radio>
</div>
</div>
<div
class=
"flexOne-description"
v-if=
"msgParameter.MailingState==1"
>
<b>
自行取票说明
</b>
<p>
自取地址:{{msgParameter.SelffetchAddress?msgParameter.SelffetchAddress:'-'}}
</p>
</div>
<div
class=
"flexOne-infor-box"
>
<b>
{{msgParameter.MailingState==1?'客人讯息':msgParameter.MailingState==2?'邮寄讯息':''}}
</b>
<el-form
v-if=
"msgParameter.MailingState!=4"
label-width=
"80px"
:model=
"msgParameter"
:rules=
"rules2"
ref=
"msgParameter"
>
<div
class=
"infor-list"
>
</span>
<div
class=
"list-centent"
:class=
"{ 'active': msgParameter.MailingState == 1 }"
>
<li>
<el-form-item
label=
"中文名"
prop=
"Name"
>
<el-input
v-model=
"msgParameter.Name"
placeholder=
"请输入名称"
/>
</el-form-item>
</li>
<li>
<el-form-item
label=
"英文名"
prop=
"EName"
>
<el-input
v-model=
"msgParameter.EName"
placeholder=
"请输入英文名"
/>
</el-form-item>
</li>
<li>
<el-form-item
label=
"电话"
prop=
"Mobile"
>
<el-input
type=
"Number"
v-model=
"msgParameter.Mobile"
placeholder=
"请输入电话"
/>
</el-form-item>
</li>
<li
v-if=
"msgParameter.MailingState == 2"
>
<el-form-item
label=
"地址"
prop=
"MailingAddress"
>
<el-input
style=
"border-radius: 3px;"
v-model=
"msgParameter.MailingAddress"
placeholder=
"请输入邮寄地址"
/>
</el-form-item>
</li>
<li
v-if=
"msgParameter.MailingState == 2"
>
<el-form-item
label=
"邮寄费"
prop=
"MailingMoney"
>
<el-input
type=
"Number"
style=
"border-radius: 3px;"
v-model=
"msgParameter.MailingMoney"
placeholder=
"请输入邮寄费"
/>
</el-form-item>
</li>
<li
class=
"bottom"
>
<el-form-item
label=
"性别"
prop=
"Sex"
>
<el-radio
v-model=
"msgParameter.Sex"
label=
"1"
>
男
</el-radio>
<el-radio
v-model=
"msgParameter.Sex"
label=
"2"
>
女
</el-radio>
</el-form-item>
</li>
</div>
</div>
</el-form>
<div
v-if=
"pagesTitle=='销售'"
style=
"margin-top: 20px;"
>
<el-input
style=
"width: 100%;"
type=
"textarea"
:autosize=
"{ minRows: 2, maxRows: 4 }"
v-model=
"msgParameter.Remark"
placeholder=
"订单备注"
/>
</div>
</div>
</div>
<el-row
:gutter=
"20"
style=
"margin-top: 20px;"
>
<el-col
:span=
"24"
style=
"text-align: right;"
>
<input
type=
"button"
class=
"hollowFixedBtn"
value=
"取消"
@
click=
"ChangeOrderDialog = false"
/>
<input
type=
"button"
class=
"normalBtn"
value=
"确定"
@
click=
"submit2"
/>
</el-col>
</el-row>
</div>
</el-dialog>
<!-- op备注 -->
<el-dialog
custom-class=
'addCompany'
:title=
"pagesTitle=='销售'?'编辑客户备注':'编辑OP备注'"
:visible
.
sync=
"isShowRemark"
center
width=
"400px"
>
<el-row
class=
"flex"
style=
"margin-top: 10px;"
>
<el-col>
<span
style=
"display: block;margin-bottom: 10px;"
>
备注:
</span>
<span>
<el-input
type=
"textarea"
:rows=
"4"
v-model=
"postMsg.Remark"
>
</el-input>
</span>
</el-col>
</el-row>
<div
slot=
"footer"
class=
"dialog-footer"
>
<button
class=
"hollowFixedBtn"
@
click=
"isShowRemark = false"
>
取消
</button>
<button
class=
"normalBtn"
type=
"primary"
@
click=
"submitEditRemark"
>
{{$t('pub.sureBtn')}}
</button>
</div>
</el-dialog>
<offset
:isShow=
"cdState"
:obj=
"queryObj"
@
close=
"cdState=false"
></offset>
<correlationOP
:isShowCorrelation=
"isShowCorrelation"
:CorrelationObj=
"CorrelationObj"
@
close=
"close"
@
success=
"success"
></correlationOP>
</div>
</template>
<
script
>
import
offset
from
'../../public/offset.vue'
;
import
correlationOP
from
'../../Hotel/reservation/correlationOP.vue'
;
import
commissionDialog
from
"../../FinancialModule/TradeCommission/commissionDialog"
import
ApplyFoInvoice
from
'../../public/ApplyFoInvoice'
;
import
more
from
'../../public/more.vue'
;
export
default
{
components
:
{
offset
,
correlationOP
,
commissionDialog
,
ApplyFoInvoice
,
more
},
props
:
[
"OrderList"
,
"pagesTitle"
],
data
()
{
return
{
postMsg
:
{
OrderId
:
0
,
Type
:
1
,
Remark
:
''
},
isShowRemark
:
false
,
queryObj
:
null
,
cdState
:
false
,
copyId
:
0
,
CompletedLoading
:
false
,
multipleSelection
:
[],
loading0
:
false
,
loading1
:
false
,
loading2
:
false
,
loading3
:
false
,
BillMakingMsg
:
{
// PeroidsId: null,
// Type: null,
// EmpIds:'',
OtherType
:
61
,
ReFinanceId
:
""
,
ReFinanceId2
:
""
},
userInfo
:
{},
msg
:
{
OrderId
:
""
,
LossMoney
:
0
,
State
:
''
,
//状态 1确认 2已邮寄 3设置自提 4收损
SelffetchAddress
:
''
},
msgParameter
:
{
IsUpdateMailing
:
1
,
OrderId
:
0
,
Money
:
0.0
,
Remark
:
''
,
MailingState
:
'1'
,
//邮寄状态 1自取 2邮寄
MailingAddress
:
''
,
//MailingState =2 填写邮寄
UseDate
:
''
,
//门票日期
Name
:
''
,
EName
:
''
,
Sex
:
'1'
,
//1男2女
Birthday
:
''
,
Mobile
:
''
,
CouponsId
:
''
,
//景点id
DetailList
:
[],
},
rules2
:
{
Name
:
[{
required
:
true
,
message
:
'请输入中文名'
,
trigger
:
'blur'
}],
EName
:
[{
required
:
true
,
message
:
'请输入英文名'
,
trigger
:
'blur'
}],
Mobile
:
[{
required
:
true
,
message
:
"请输入联系电话"
,
trigger
:
"blur"
},
{
pattern
:
this
.
$commonUtils
.
Regex
.
el_ISphone
,
message
:
"请输入正确的电话"
}
],
MailingAddress
:
[{
required
:
true
,
message
:
'请输入邮寄地址'
,
trigger
:
'blur'
}],
MailingMoney
:
[{
required
:
true
,
message
:
"请输入邮寄费用"
,
trigger
:
"blur"
},
],
},
outerVisible
:
false
,
rules
:
{
State
:
[{
required
:
true
,
message
:
"请选择订单状态"
,
trigger
:
"change"
}],
SelffetchAddress
:
[{
required
:
true
,
message
:
"请输入自提地址"
,
trigger
:
"blur"
}],
LossMoney
:
[{
required
:
true
,
message
:
"请输入收损金额"
,
trigger
:
"blur"
}]
},
cancelOrderDialog
:
false
,
cancelRemark
:
""
,
cancelOrderId
:
0
,
uploadOrderId
:
0
,
loading
:
false
,
fileList
:
[],
GuestFile
:
''
,
ChangeOrderDialog
:
false
,
PaymentMethods
:
[],
OrderStatusType
:
[{
Name
:
this
.
$t
(
'OrderList.orderStatus.apply'
),
ID
:
'1'
},
{
Name
:
this
.
$t
(
'OrderList.orderStatus.check'
),
ID
:
'2'
},
{
Name
:
this
.
$t
(
'OrderList.orderStatus.cancel'
),
ID
:
'3'
},
{
Name
:
this
.
$t
(
'OrderList.orderStatus.sun'
),
ID
:
'4'
},
],
items
:
null
,
typeState
:
''
,
loadingDZP
:
false
,
uploadOrderId
:
0
,
GuestFile
:
''
,
isShowCorrelation
:
false
,
CorrelationObj
:
{},
is_correlationOP
:
false
,
typeSystem
:
0
};
},
watch
:
{
pagesTitle
(
val
,
oldval
)
{
this
.
pagesTitle
=
val
},
OrderList
:
{
handler
(
val
,
oldVal
)
{
}
}
},
methods
:
{
ViewMore
(
x
,
index
){
x
.
upIcon
=
!
x
.
upIcon
if
(
x
.
upIcon
){
x
.
NewOrderDetailList
=
JSON
.
parse
(
JSON
.
stringify
(
x
.
OrderDetailList
))
}
else
{
x
.
NewOrderDetailList
=
[]
x
.
OrderDetailList
.
forEach
((
y
,
index
)
=>
{
if
(
index
<
2
){
x
.
NewOrderDetailList
.
push
(
y
)
}
})
}
},
close
()
{
this
.
isShowCorrelation
=
false
this
.
CorrelationObj
.
TypeNum
=
null
this
.
CorrelationObj
.
Money
=
null
},
success
()
{
this
.
close
()
this
.
$emit
(
'success'
)
},
clickCorrelation
(
item
,
type
)
{
this
.
CorrelationObj
=
JSON
.
parse
(
JSON
.
stringify
(
item
))
if
(
type
==
2
)
{
this
.
CorrelationObj
.
TypeNum
=
4
//编辑总价
}
else
{
this
.
CorrelationObj
.
TypeNum
=
2
}
this
.
isShowCorrelation
=
true
},
// 车行订单 制成本冲抵单
addBalanceout
()
{
let
datas
=
this
.
$route
.
query
let
tradeObj
=
datas
.
tradeObj
console
.
log
(
datas
,
tradeObj
,
'-----crmuserInfo'
)
let
query
=
{
blank
:
"y"
,
tab
:
`新增付款单据`
,
Type
:
2
,
tradeObj
:
tradeObj
,
companyID
:
1248
};
this
.
queryObj
=
query
this
.
cdState
=
true
},
isOffset
(
row
,
index
,
num
)
{
this
.
makeAdocument
(
row
,
index
,
num
,
'Offset'
)
},
editRemark
(
item
)
{
this
.
postMsg
.
OrderId
=
item
.
OrderId
this
.
postMsg
.
Remark
=
this
.
pagesTitle
==
'销售'
?
item
.
Remark
:
item
.
OPRemark
this
.
isShowRemark
=
true
},
selectable
(
row
,
index
)
{
if
(((
this
.
OrderList
[
index
].
IsFinish
!=
1
&&
this
.
OrderList
[
index
].
Income
>
0
&&
this
.
OrderList
[
index
]
.
DueInMoney
==
0
)
||
(
this
.
OrderList
[
index
].
Money
==
0
&&
this
.
OrderList
[
index
].
Income
==
0
&&
this
.
OrderList
[
index
].
CostMoney
==
0
&&
this
.
OrderList
[
index
].
Refund
==
0
&&
this
.
OrderList
[
index
].
PlatformTax
==
0
&&
this
.
OrderList
[
index
].
IncomeList
&&
this
.
OrderList
[
index
].
IncomeList
.
length
>
0
)))
{
return
true
;
}
else
{
return
false
;
}
},
handleSelectionChange
(
val
)
{
this
.
multipleSelection
=
val
.
map
(
x
=>
{
return
x
.
OrderId
});
},
setCompleted
(
id
,
row
)
{
let
ids
=
''
if
(
id
>
0
)
{
ids
=
id
}
else
{
if
(
this
.
multipleSelection
.
length
==
0
)
return
this
.
$message
.
error
(
'请勾选需要完结的数据'
)
ids
=
this
.
multipleSelection
.
join
(
','
)
}
if
(
ids
==
''
)
{
this
.
$message
.
error
(
'请勾选需要完结的数据'
)
}
this
.
$confirm
(
'是否确认完结?'
,
this
.
$t
(
'tips.tips'
),
{
confirmButtonText
:
this
.
$t
(
'pub.sureBtn'
),
cancelButtonText
:
this
.
$t
(
'pub.cancelBtn'
),
type
:
'warning'
}).
then
(()
=>
{
if
(
id
>
0
)
{
row
.
loading
=
true
}
else
{
this
.
CompletedLoading
=
true
}
this
.
apipost
(
'ticket_post_SetTicketOrderFinish'
,
{
TticketOrderIds
:
ids
},
res
=>
{
if
(
res
.
data
.
resultCode
==
1
)
{
if
(
id
>
0
)
{
row
.
loading
=
false
}
else
{
this
.
CompletedLoading
=
false
}
for
(
let
i
=
0
;
i
<
this
.
OrderList
.
length
;
i
++
)
{
this
.
$refs
.
multipleTable
.
toggleRowSelection
(
this
.
OrderList
[
i
],
false
);
}
this
.
multipleSelection
=
[]
this
.
$message
.
success
(
'操作成功!'
);
this
.
$emit
(
'success'
)
}
else
{
if
(
id
>
0
)
{
row
.
loading
=
false
}
else
{
this
.
CompletedLoading
=
false
}
this
.
$message
.
error
(
res
.
data
.
message
);
}
},
err
=>
{})
}).
catch
(()
=>
{
this
.
$message
.
info
(
'已取消!'
);
});
},
submitEditRemark
()
{
if
(
!
this
.
postMsg
.
Remark
)
{
this
.
$message
.
error
(
'OP备注不能为空'
);
return
}
this
.
apipost
(
'ticket_post_SetTicketOrderRemark'
,
{
OrderId
:
this
.
postMsg
.
OrderId
,
Type
:
this
.
pagesTitle
==
'销售'
?
1
:
2
,
Remark
:
this
.
postMsg
.
Remark
},
res
=>
{
if
(
res
.
data
.
resultCode
==
1
)
{
this
.
isShowRemark
=
false
this
.
$emit
(
'success'
)
this
.
$forceUpdate
();
}
else
{
this
.
Error
(
res
.
data
.
message
);
}
})
},
submit2
()
{
if
(
this
.
loading3
)
return
this
.
$refs
[
'msgParameter'
].
validate
((
valid
)
=>
{
if
(
valid
)
{
this
.
setFormMsg2
()
}
else
{
return
false
;
}
});
},
setFormMsg2
()
{
if
(
this
.
msgParameter
.
MailingState
==
'1'
)
{
this
.
msgParameter
.
MailingAddress
=
''
}
let
m
let
url
if
(
this
.
pagesTitle
==
'OP'
)
{
m
=
{
OrderId
:
this
.
msgParameter
.
OrderId
,
MailingMoney
:
this
.
msgParameter
.
MailingMoney
,
MailingState
:
this
.
msgParameter
.
MailingState
,
//邮寄状态 1自取 2邮寄
MailingAddress
:
this
.
msgParameter
.
MailingAddress
,
//MailingState =2 填写邮寄
SelffetchAddress
:
this
.
msgParameter
.
SelffetchAddress
,
//自取地址
Name
:
this
.
msgParameter
.
Name
,
EName
:
this
.
msgParameter
.
EName
,
Sex
:
this
.
msgParameter
.
Sex
,
//1男2女
Mobile
:
this
.
msgParameter
.
Mobile
,
}
url
=
'dict_post_SetTicketOrderMailingState'
}
if
(
this
.
pagesTitle
==
'销售'
)
{
m
=
{
IsUpdateMailing
:
1
,
OrderId
:
this
.
msgParameter
.
OrderId
,
CouponsId
:
this
.
msgParameter
.
CouponsId
,
Money
:
this
.
msgParameter
.
Money
,
UseDate
:
this
.
msgParameter
.
UseDate
,
Birthday
:
this
.
msgParameter
.
Birthday
,
DetailList
:
this
.
msgParameter
.
DetailList
,
MailingState
:
this
.
msgParameter
.
MailingState
,
//邮寄状态 1自取 2邮寄
MailingAddress
:
this
.
msgParameter
.
MailingAddress
,
//MailingState =2 填写邮寄
Name
:
this
.
msgParameter
.
Name
,
EName
:
this
.
msgParameter
.
EName
,
Sex
:
this
.
msgParameter
.
Sex
,
//1男2女
Mobile
:
this
.
msgParameter
.
Mobile
,
Remark
:
this
.
msgParameter
.
Remark
,
}
url
=
'ticket_post_SetSaleTicketOrder'
}
this
.
loading3
=
true
this
.
apipost
(
url
,
m
,
res
=>
{
this
.
loading3
=
false
if
(
res
.
data
.
resultCode
==
1
)
{
this
.
Success
(
`
${
this
.
pagesTitle
==
'销售'
?
'变更订单'
:
'编辑取票方式'
}
成功`
);
this
.
$emit
(
'success'
)
this
.
ChangeOrderDialog
=
false
}
else
{
this
.
Error
(
`
${
this
.
pagesTitle
==
'销售'
?
'变更订单'
:
'编辑取票方式'
}
失败`
)
}
},
err
=>
{
this
.
loading3
=
false
this
.
Error
(
err
.
message
)
});
},
uploadFileBtn
(
file
)
{
let
ft
=
file
.
file
.
name
.
substring
(
file
.
file
.
name
.
lastIndexOf
(
'.'
)
+
1
,
file
.
file
.
name
.
length
).
toUpperCase
();
let
typeOk
=
false
;
let
FileName
=
file
.
file
.
name
.
substring
(
0
,
file
.
file
.
name
.
lastIndexOf
(
"."
))
let
newArr
=
[];
newArr
.
push
(
file
.
file
)
let
path
=
"/Upload/Temporary/"
this
.
$message
.
info
(
this
.
$t
(
'tips.shangchuanzhong'
))
this
.
UploadSelfFileT
(
path
,
newArr
,
x
=>
{
this
.
GuestFile
=
this
.
domainManager
().
ViittoFileUrl
+
x
.
data
.
FilePath
this
.
uploadHandleChange
()
},
1
);
},
// 上传电子券
uploadHandleChange
()
{
if
(
this
.
loading
)
return
let
msg
=
{
OrderId
:
this
.
uploadOrderId
,
TicketCodeFile
:
this
.
GuestFile
}
this
.
loading
=
true
this
.
apipost
(
"ticket_post_SetTicketCodeFile"
,
msg
,
res
=>
{
this
.
loading
=
false
;
if
(
res
.
data
.
resultCode
==
1
)
{
this
.
Success
(
res
.
data
.
message
);
this
.
uploadOrderId
=
0
this
.
GuestFile
=
''
this
.
$emit
(
"success"
);
}
else
{
this
.
Error
(
res
.
data
.
message
);
}
},
err
=>
{
this
.
loading
=
false
;
}
);
},
// 单据详情
openDetails
(
item
,
x
)
{
let
query
=
{
id
:
item
.
FrID
?
item
.
FrID
:
item
.
ID
,
blank
:
"y"
,
};
// 跳转发票详情页面
if
(
x
){
this
.
$router
.
push
({
name
:
"invoicesManagerDetail"
,
query
:
{
id
:
item
.
FrID
?
item
.
FrID
:
item
.
ID
,
InvoiceApplyType
:
7
,
blank
:
"y"
,
},
});
}
else
{
this
.
$router
.
push
({
path
:
"/FinancialDocumentsDetail"
,
query
});
}
},
// 制作单据
makeAdocument
(
row
,
index
,
num
,
Offset
)
{
if
((
num
==
2
||
num
==
3
)
&&
(
row
.
Income
+
row
.
PlatformMoney
)
<=
0
)
{
this
.
Info
(
'请先制收款单据,再制成本或退款单据!'
)
return
}
if
(
Offset
)
{
this
.
cdState
=
true
}
let
type
=
0
if
(
num
==
3
)
{
type
=
2
}
else
{
type
=
num
}
this
.
BillMakingMsg
.
ReFinanceId
=
row
.
OrderId
;
this
.
BillMakingMsg
.
ReFinanceId2
=
num
;
this
.
BillMakingMsg
.
OtherType
=
66
;
let
text
=
""
;
let
query
=
{};
if
(
num
==
1
)
{
text
=
"收款"
;
}
else
if
(
num
==
2
)
{
text
=
"付款"
;
}
else
if
(
num
==
3
)
{
text
=
"成本"
;
}
query
=
{
blank
:
"y"
,
tab
:
`新增
${
text
}
单据`
,
Type
:
type
,
tradeObj
:
JSON
.
stringify
(
this
.
BillMakingMsg
),
// companyID:row.OutBranchId
};
if
(
num
==
2
)
{
query
.
searchTitle
=
'溢收团费退款'
;
}
else
if
(
num
==
3
&&
this
.
cdState
==
false
)
{
query
.
portTypeId
=
6
;
}
this
.
queryObj
=
query
if
(
!
Offset
)
{
this
.
$store
.
commit
(
"ChoiceAddFinancialDocuments"
);
this
.
$router
.
push
({
path
:
"/ChoiceAddFinancialDocuments"
,
query
});
}
},
// 订单明细
goRoomDetails
(
obj
,
title
)
{
var
path
if
(
title
===
'订房详情'
)
{
path
=
"roomReservationsDetails"
;
if
(
this
.
userInfo
.
RB_Group_id
==
91
)
{
path
=
"roomReservationsDetails_swt"
;
}
this
.
$router
.
push
({
name
:
path
,
query
:
{
id
:
obj
.
OrderId
,
OrderType
:
1
,
blank
:
"y"
,
tab
:
title
}
});
}
else
{
//变更门票预定
this
.
msgParameter
=
JSON
.
parse
(
JSON
.
stringify
(
obj
))
this
.
msgParameter
.
MailingState
=
JSON
.
stringify
(
this
.
msgParameter
.
MailingState
)
this
.
msgParameter
.
Sex
=
JSON
.
stringify
(
this
.
msgParameter
.
Sex
)
this
.
ChangeOrderDialog
=
true
// 获取自取地址
this
.
GetTicketCouponsInfo
()
}
},
GetTicketCouponsInfo
()
{
this
.
apipost
(
'ticket_post_GetTicketCouponsInfo'
,
{
CouponsId
:
this
.
msgParameter
.
CouponsId
,
OpenTime
:
this
.
msgParameter
.
UseDate
,
},
res
=>
{
this
.
loading3
=
false
if
(
res
.
data
.
resultCode
==
1
)
{
this
.
msgParameter
.
SelffetchAddress
=
res
.
data
.
data
.
SelffetchAddress
let
arr
=
res
.
data
.
data
.
TicketPriceList
.
sort
((
a
,
b
)
=>
{
return
a
.
MailingMoney
-
b
.
MailingMoney
})
this
.
msgParameter
.
MailingMoney
=
this
.
msgParameter
.
MailingMoney
?
this
.
msgParameter
.
MailingMoney
:
arr
[
0
].
MailingMoney
}
},
err
=>
{
this
.
Error
(
err
.
message
)
})
},
clickRightButtom
(
item
,
type
)
{
// 0取消订单 1确认订单 2已邮寄 3设置自提地址 4收损
this
.
msg
.
OrderId
=
item
.
OrderId
;
this
.
msg
.
SelffetchAddress
=
item
.
SelffetchAddress
this
.
items
=
item
this
.
typeState
=
type
if
(
type
==
0
)
{
if
(
!
this
.
loading0
)
{
this
.
cancelOrderId
=
item
.
OrderId
// 销售 OP
if
(
this
.
pagesTitle
!=
'销售'
)
{
this
.
cancelOrderDialog
=
true
;
}
else
{
this
.
cancelOrderHandler
()
}
}
}
else
if
(
type
==
1
)
{
if
(
!
this
.
loading1
)
{
this
.
confirmFun
(
item
,
type
);
}
}
else
if
(
type
==
2
)
{
if
(
!
this
.
loading1
)
{
this
.
confirmFun
(
item
,
type
);
}
}
else
if
(
type
==
3
)
{
if
(
!
this
.
loading1
)
{
this
.
outerVisible
=
true
;
}
}
else
if
(
type
==
4
)
{
if
(
!
this
.
loading2
)
{
this
.
outerVisible
=
true
;
this
.
msg
.
LossMoney
=
item
.
LossMoney
?
item
.
LossMoney
:
0
;
}
}
},
// 销售取消订单
cancelOrder
()
{
let
that
=
this
if
(
this
.
loading0
)
return
;
that
.
$confirm
(
`是否确定取消订单?`
,
this
.
$t
(
'tips.tips'
),
{
confirmButtonText
:
this
.
$t
(
'pub.sureBtn'
),
cancelButtonText
:
this
.
$t
(
'pub.cancelBtn'
),
type
:
'warning'
}).
then
(()
=>
{
this
.
loading0
=
true
this
.
apipost
(
"ticket_post_CancelSaleTicketOrder"
,
{
OrderId
:
this
.
cancelOrderId
,
IsOPCancel
:
this
.
pagesTitle
!=
'销售'
?
1
:
0
,
Remark
:
this
.
cancelRemark
},
res
=>
{
this
.
loading0
=
false
if
(
res
.
data
.
resultCode
==
1
)
{
this
.
Success
(
res
.
data
.
message
);
this
.
$emit
(
"success"
);
}
else
{
this
.
Error
(
res
.
data
.
message
);
}
}).
catch
(
err
=>
{
this
.
Error
(
err
.
message
)
this
.
loading0
=
false
})
}).
catch
(()
=>
{
this
.
loading0
=
false
})
},
//提交
submitForm
(
msg
)
{
//提交创建、修改表单
this
.
$refs
[
msg
].
validate
(
valid
=>
{
if
(
valid
)
{
if
(
!
this
.
loading2
)
{
this
.
saveUpdate
();
}
}
else
{
// this.Error("请完成必填项");
return
false
;
}
});
},
cancelOrderHandler
()
{
if
(
this
.
cancelRemark
==
""
&&
this
.
pagesTitle
!=
'销售'
)
{
this
.
Error
(
"请填写取消订单的缘由"
);
return
;
}
if
(
this
.
loading0
)
return
;
this
.
loading0
=
true
this
.
apipost
(
"ticket_post_CancelSaleTicketOrder"
,
{
OrderId
:
this
.
cancelOrderId
,
IsOPCancel
:
this
.
pagesTitle
!=
'销售'
?
1
:
0
,
Remark
:
this
.
pagesTitle
!=
'销售'
?
this
.
cancelRemark
:
''
},
res
=>
{
if
(
res
.
data
.
resultCode
==
1
)
{
this
.
Success
(
res
.
data
.
message
);
this
.
cancelOrderDialog
=
false
this
.
cancelOrderId
=
0
this
.
cancelRemark
=
''
this
.
$emit
(
"success"
);
}
else
{
this
.
Error
(
res
.
data
.
message
);
}
this
.
loading0
=
false
;
},
err
=>
{
this
.
loading0
=
false
;
}
);
},
saveUpdate
()
{
let
text
if
(
this
.
typeState
==
3
)
{
text
=
'是否确认设置自取地址?'
}
if
(
this
.
typeState
==
4
)
{
text
=
'是否确认设置收损?'
}
this
.
$confirm
(
text
,
`
${
this
.
$t
(
'tips.tips'
)}
`
,
{
confirmButtonText
:
`
${
this
.
$t
(
'pub.sureBtn'
)}
`
,
cancelButtonText
:
`
${
this
.
$t
(
'pub.cancelBtn'
)}
`
,
type
:
"warning"
})
.
then
(()
=>
{
this
.
loading2
=
true
;
this
.
apipost
(
"ticket_post_SetSaleTicketOrderState"
,
{
OrderId
:
this
.
msg
.
OrderId
,
State
:
this
.
typeState
,
SelffetchAddress
:
this
.
typeState
==
3
?
this
.
msg
.
SelffetchAddress
:
''
,
LossMoney
:
this
.
typeState
==
4
?
this
.
msg
.
LossMoney
:
''
,
},
res
=>
{
if
(
res
.
data
.
resultCode
==
1
)
{
this
.
Success
(
res
.
data
.
message
);
this
.
$emit
(
"success"
);
}
else
{
this
.
Error
(
res
.
data
.
message
);
}
this
.
loading2
=
false
;
this
.
outerVisible
=
false
;
},
err
=>
{
(
this
.
loading2
=
false
),
(
this
.
outerVisible
=
false
);
}
);
})
.
catch
(()
=>
{});
},
confirmFun
(
item
,
type
)
{
let
text
if
(
type
==
1
)
{
text
=
'是否确认订单?'
}
if
(
type
==
2
)
{
text
=
'是否确认邮寄?'
}
this
.
$confirm
(
text
,
`
${
this
.
$t
(
'tips.tips'
)}
`
,
{
confirmButtonText
:
`
${
this
.
$t
(
'pub.sureBtn'
)}
`
,
cancelButtonText
:
`
${
this
.
$t
(
'pub.cancelBtn'
)}
`
,
type
:
"warning"
})
.
then
(()
=>
{
this
.
loading1
=
true
;
this
.
apipost
(
"ticket_post_SetSaleTicketOrderState"
,
{
OrderId
:
item
.
OrderId
,
State
:
type
,
SelffetchAddress
:
type
==
3
?
this
.
msg
.
SelffetchAddress
:
''
,
LossMoney
:
type
==
4
?
this
.
msg
.
LossMoney
:
''
,
},
res
=>
{
if
(
res
.
data
.
resultCode
==
1
)
{
this
.
Success
(
res
.
data
.
message
);
this
.
$emit
(
"success"
);
}
else
{
this
.
Error
(
res
.
data
.
message
);
}
this
.
loading1
=
false
;
},
err
=>
{
this
.
loading1
=
false
;
}
);
})
.
catch
(()
=>
{
this
.
$message
.
info
(
"已取消!"
);
});
},
//复制信息
CopyHandler
(
item
)
{
this
.
copyId
=
item
.
OrderId
;
let
copyText
=
item
.
OrderId
;
const
save
=
function
(
e
)
{
e
.
clipboardData
.
setData
(
'text/plain'
,
copyText
)
e
.
preventDefault
()
// 阻止默认行为
}
document
.
addEventListener
(
'copy'
,
save
)
// 添加一个copy事件
let
x
=
document
.
execCommand
(
'copy'
)
// 执行copy方法
setTimeout
(()
=>
{
this
.
copyId
=
0
;
},
2000
);
},
setEdate
()
{
return
this
.
addMoth
(
new
Date
().
Format
(
"yyyy-MM-dd"
),
1
);
},
addMoth
(
d
,
m
)
{
let
ds
=
d
.
split
(
"-"
),
_d
=
ds
[
2
]
-
0
;
let
nextM
=
new
Date
(
ds
[
0
],
ds
[
1
]
-
1
+
m
+
1
,
0
);
let
max
=
nextM
.
getDate
();
d
=
new
Date
(
ds
[
0
],
ds
[
1
]
-
1
+
m
,
_d
>
max
?
max
:
_d
);
return
d
.
toLocaleDateString
()
.
match
(
/
\d
+/g
)
.
join
(
"-"
);
},
com_onresize
()
{
//clientHeight的值由DIV内容的实际高度和CSS中的padding值决定,
var
contentsHeight
=
document
.
body
.
clientHeight
;
var
h
=
contentsHeight
-
50
-
180
-
40
;
if
(
h
<
110
)
{
return
;
}
//设置table的行高
// this.tableHeight = h;
}
},
mounted
()
{
if
(
localStorage
.
typeSystem
)
this
.
typeSystem
=
localStorage
.
typeSystem
this
.
userInfo
=
this
.
getLocalStorage
();
let
ActionMenuCode
=
this
.
userInfo
.
ActionMenuCode
;
if
(
ActionMenuCode
.
indexOf
(
'is_correlationOP'
)
!=
-
1
)
{
this
.
is_correlationOP
=
true
}
//自适应高度调节
this
.
com_onresize
();
window
.
onresize
=
()
=>
{
this
.
com_onresize
();
};
}
};
</
script
>
<
style
>
</
style
>
src/components/CarDealerOrder/components/ReservationOrder.vue
0 → 100644
View file @
ba451ef1
<
style
scoped
>
.listone-box
{
display
:
flex
;
flex-direction
:
column
;
}
.listone-box
,
.listtwo-card
{
margin-top
:
15px
;
}
.listone-form
{
padding
:
10px
;
border-radius
:
5px
;
background
:
#ffffff
;
display
:
flex
;
flex-direction
:
row
;
justify-content
:
space-between
;
margin-bottom
:
10px
;
overflow
:
hidden
;
}
.listone-img
{
width
:
130px
;
flex-shrink
:
0
;
margin-right
:
15px
;
border-radius
:
5px
;
display
:
block
;
}
.listone-list
{
flex-grow
:
1
;
display
:
flex
;
justify-content
:
space-between
;
}
.card-centent
h6
{
white-space
:
nowrap
;
text-overflow
:
ellipsis
;
overflow
:
hidden
;
}
.list-left
h6
,
.card-centent
h6
{
font-size
:
16px
;
margin-bottom
:
5px
;
cursor
:
pointer
;
}
.list-left
div
{
color
:
#7E8299
;
font-size
:
13px
;
margin-top
:
7px
;
}
.list-left
div
a
{
color
:
#009EF7
;
font-size
:
12px
;
margin-left
:
15px
;
cursor
:
pointer
;
}
.list-right
{
flex-shrink
:
1
;
margin-left
:
15px
;
}
.list-right
p
{
margin-bottom
:
10px
;
}
.list-right
p
b
{
font-size
:
18px
;
color
:
#F1416C
;
}
.list-right
p
span
{
color
:
#8A8C9F
;
font-size
:
12px
;
margin-left
:
10px
;
}
.listtwo-form
{
height
:
100%
;
display
:
flex
;
flex-direction
:
column
;
padding
:
10px
;
background
:
#ffffff
;
border-radius
:
5px
;
}
.card-centent
{
padding
:
10px
;
}
.card-centent
p
{
color
:
#7E8299
;
white-space
:
nowrap
;
overflow
:
hidden
;
text-overflow
:
ellipsis
;
font-size
:
13px
;
}
.card-text
{
margin-top
:
20px
;
display
:
flex
;
justify-content
:
space-between
;
align-items
:
inherit
;
}
.card-text
b
{
font-size
:
14px
;
}
.card-form
{
display
:
flex
;
align-items
:
inherit
;
flex-wrap
:
wrap
;
}
.listtwo-col
{
margin-bottom
:
15px
;
}
.listtwo-img
{
height
:
200px
;
border-radius
:
5px
;
display
:
block
;
}
.iconfont
{
cursor
:
pointer
;
background-color
:
#E95252
;
color
:
white
;
width
:
30px
;
height
:
30px
;
display
:
inline-block
;
text-align
:
center
;
line-height
:
30px
;
border-radius
:
50%
;
margin-left
:
10px
;
}
.image-slot
{
height
:
100%
;
display
:
flex
;
justify-content
:
center
;
align-items
:
center
;
}
</
style
>
<
template
>
<div
class=
"flexOne domesticScenic"
>
<div
class=
"query-box"
style=
"border-bottom: none;"
>
<ul>
<li>
<span>
<em>
{{
$t
(
'OrderList.search.status'
)
}}
</em>
<el-select
v-model=
"msg.OrderState"
>
<el-option
:key=
"0"
:value=
"0"
:label=
"$t('OrderList.orderStatus.normal')"
></el-option>
<el-option
v-for=
"item in OrderStatusType"
:key=
"item.ID"
:label=
"item.Name"
:value=
"item.ID"
></el-option>
</el-select>
</span>
</li>
<li>
<span><em>
{{
$t
(
'OrderList.search.orderId'
)
}}
</em>
<el-input
clearable
type=
"Number"
v-model=
"msg.OrderId"
placeholder=
"订单ID"
/>
</span>
</li>
<li>
<span><em>
{{
$t
(
'fnc.khmingcheng'
)
}}
</em>
<el-select
v-model=
"msg.CustomerId"
filterable
>
<el-option
:key=
"0"
:value=
"0"
:label=
"$t('pub.unlimitedSel')"
></el-option>
<el-option
v-for=
"item in CustomerList"
:key=
"item.Id"
:label=
"item.CustomerName"
:value=
"item.Id"
></el-option>
</el-select>
</span>
</li>
<li>
<span>
<em>
{{
$t
(
'pub.date'
)
}}
</em>
<el-date-picker
style=
"height: 34px;"
value-format=
"yyyy-MM-dd"
v-model=
"DatelistUse"
type=
"daterange"
:range-separator=
"$t('OrderList.zhi')"
:start-placeholder=
"$t('OrderList.star')"
:end-placeholder=
"$t('OrderList.end')"
@
change=
"getDatesUse"
>
</el-date-picker>
</span>
</li>
<li>
<input
type=
"button"
class=
"normalBtn"
:value=
"$t('pub.searchBtn')"
@
click=
"msg.pageIndex = 1, currentPage = 1, GetList()"
/>
</li>
</ul>
</div>
<template>
<div
style=
"display: flex;justify-content: end;margin-bottom: 10px;"
>
<p><span
class=
"groupTourOrderByTuan_ico"
><i
style=
"background-color:#3FC4FF"
></i><span>
{{
$t
(
'fnc.yidadan'
)
}}
</span></span>
<span
class=
"groupTourOrderByTuan_ico"
><i
style=
"background-color:#20c997"
></i><span>
{{
$t
(
'fnc.ptcnyshenhe'
)
}}
</span></span>
<span
class=
"groupTourOrderByTuan_ico"
><i
style=
"background-color:#F1416C"
></i><span>
{{
$t
(
'fnc.yhcnyshenhe'
)
}}
</span></span>
<span
class=
"groupTourOrderByTuan_ico"
><i
style=
"background-color:#ff9800"
></i><span>
{{
$t
(
'fnc.ytongguo'
)
}}
</span></span></p>
</div>
<OrderList
:pagesTitle=
"pagesTitle"
:OrderList=
"OrderList"
v-loading=
"loading"
@
success=
"GetList"
>
</OrderList>
<el-pagination
background
@
current-change=
"handleCurrentChange"
:current-page
.
sync=
"currentPage"
layout=
"total,prev, pager, next, jumper"
:page-size=
msg.pageSize
:total=
total
>
</el-pagination>
</
template
>
</div>
</template>
<
script
>
import
OrderList
from
'./OrderList.vue'
;
export
default
{
props
:
[
'pagesTitle'
],
components
:
{
OrderList
},
data
()
{
return
{
useTypes
:
[
{
StatusName
:
'接機'
,
StatusId
:
1
},
{
StatusName
:
'送機'
,
StatusId
:
2
},
{
StatusName
:
'半天'
,
StatusId
:
3
},
{
StatusName
:
'全天'
,
StatusId
:
4
}
],
userInfo
:
{},
HotelList
:
[],
loading
:
false
,
isShow
:
false
,
outerVisible
:
false
,
//订单列表
OrderList
:
[],
//默认高度
tableHeight
:
0
,
CustomerList
:
[],
msg
:
{
pageIndex
:
1
,
pageSize
:
5
,
OrderId
:
0
,
CustomerId
:
0
,
UseSTime
:
""
,
UseETime
:
""
,
OrderState
:
0
,
IsFinish
:
-
1
,
},
total
:
0
,
currentPage
:
1
,
OrderStatusType
:
[
{
Name
:
this
.
$t
(
'pub.normalSel'
),
ID
:
'1'
},
{
Name
:
this
.
$t
(
'OrderList.orderStatus.cancel'
),
ID
:
'2'
},
],
MailingStateType
:
[
{
Name
:
'自行取票'
,
ID
:
'1'
},
{
Name
:
'邮寄票券'
,
ID
:
'2'
},
// {Name: '已邮寄票券',ID:'3'},
{
Name
:
'电子券'
,
ID
:
'4'
},
],
orderType
:
[
{
Name
:
this
.
$t
(
'OrderList.orderType.tour'
),
ID
:
'1'
},
{
Name
:
this
.
$t
(
'OrderList.orderType.guest'
),
ID
:
'2'
},
],
Datelist
:
''
,
DatelistUse
:
''
,
EmployeeList
:[],
employeeMsg
:{
// 员工
GroupId
:
''
,
BranchId
:
-
1
,
DepartmentId
:
0
,
PostId
:
0
,
IsLeave
:
0
,
},
};
},
watch
:
{
pagesTitle
(
val
,
oldval
)
{
}
},
methods
:
{
// 获取客户
GetCarCustomerList
()
{
this
.
apipost
(
'JapanCar_get_GetJapanCarCustomerList'
,
{
keyWord
:
''
},
res
=>
{
if
(
res
.
data
.
resultCode
==
1
)
{
this
.
CustomerList
=
res
.
data
.
data
;
}
},
err
=>
{})
},
getEmployee
()
{
//员工
let
userInfo
=
this
.
getLocalStorage
();
this
.
employeeMsg
.
GroupId
=
userInfo
.
RB_Group_id
;
this
.
apipost
(
'admin_get_EmployeeGetList'
,
this
.
employeeMsg
,
res
=>
{
if
(
res
.
data
.
resultCode
==
1
)
{
this
.
EmployeeList
=
res
.
data
.
data
;
}
},
err
=>
{})
},
getDatesUse
()
{
if
(
this
.
DatelistUse
){
if
(
this
.
DatelistUse
[
0
])
{
this
.
msg
.
UseSTime
=
this
.
DatelistUse
[
0
]
}
if
(
this
.
DatelistUse
[
1
])
{
this
.
msg
.
UseETime
=
this
.
DatelistUse
[
1
]
}
}
else
{
this
.
msg
.
UseSTime
=
''
this
.
msg
.
UseETime
=
''
}
},
setEdate
()
{
return
this
.
addMoth
(
new
Date
().
Format
(
"yyyy-MM-dd"
),
1
)
},
addMoth
(
d
,
m
)
{
let
ds
=
d
.
split
(
'-'
),
_d
=
ds
[
2
]
-
0
;
let
nextM
=
new
Date
(
ds
[
0
],
ds
[
1
]
-
1
+
m
+
1
,
0
);
let
max
=
nextM
.
getDate
();
d
=
new
Date
(
ds
[
0
],
ds
[
1
]
-
1
+
m
,
_d
>
max
?
max
:
_d
);
return
d
.
toLocaleDateString
().
match
(
/
\d
+/g
).
join
(
'-'
)
},
// 获取酒店下拉
initHotels
()
{
this
.
apipost
(
"hotel_post_GetHasStockHotelList"
,
{},
res
=>
{
if
(
res
.
data
.
resultCode
==
1
)
{
this
.
HotelList
=
res
.
data
.
data
;
}
else
{
this
.
Error
(
res
.
data
.
message
)
}
},
err
=>
{
}
);
},
getyMDOne
()
{
let
myDate
=
new
Date
()
let
myYear
=
myDate
.
getFullYear
();
//获取完整的年份(4位,1970-????)
let
myMonth
=
myDate
.
getMonth
()
+
1
;
//获取当前月份(0-11,8代表1月)
let
myToday
=
myDate
.
getDate
();
//获取当前日(1-31)
myMonth
=
myMonth
>
9
?
myMonth
:
'0'
+
myMonth
myToday
=
myToday
>
9
?
myToday
:
'0'
+
myToday
let
nowDate
=
myYear
+
'-'
+
myMonth
+
'-01'
return
nowDate
},
getyMDTwo
()
{
let
myDate
=
new
Date
()
let
myYear
=
myDate
.
getFullYear
();
//获取完整的年份(4位,1970-????)
let
myMonth
=
myDate
.
getMonth
()
+
1
;
//获取当前月份(0-11,8代表1月)
let
myToday
=
myDate
.
getDate
();
//获取当前日(1-31)
myMonth
=
myMonth
>
9
?
myMonth
:
'0'
+
myMonth
myToday
=
myToday
>
9
?
myToday
:
'0'
+
myToday
let
nowDate
=
myYear
+
'-'
+
myMonth
+
'-'
+
myToday
return
nowDate
},
//获取酒店订单列表
GetList
()
{
this
.
loading
=
true
let
url
// 销售 OP
if
(
this
.
pagesTitle
==
'销售'
)
{
url
=
"JapanCar_get_GetJapanOrderPageList"
}
else
{
url
=
"JapanCar_get_GetJapanOrderPageList"
}
this
.
apipost
(
url
,
this
.
msg
,
res
=>
{
this
.
loading
=
false
if
(
res
.
data
.
resultCode
==
1
)
{
let
data
=
res
.
data
.
data
.
pageData
let
addList
=
function
(
arr
){
arr
.
forEach
(
x
=>
{
x
.
list
=
[]
x
.
isMore
=
false
x
.
upIcon
=
false
x
.
NewOrderDetailList
=
[]
})
}
addList
(
data
)
data
.
forEach
(
item
=>
{
item
.
typeInfo
=
this
.
OrderStatusType
.
find
(
y
=>
y
.
ID
==
item
.
OrderState
)
??
this
.
OrderStatusType
[
1
]
if
(
item
.
OrderDetailList
.
length
>
2
){
item
.
isMore
=
true
}
let
dataLists
=
[]
item
.
OrderDetailList
.
forEach
((
x
,
index
)
=>
{
x
.
useTypeInfo
=
this
.
useTypes
.
find
(
z
=>
z
.
StatusId
==
x
.
UseType
)
??
this
.
useTypes
[
1
]
if
(
index
<
2
){
dataLists
.
push
(
x
)
}
})
item
.
NewOrderDetailList
=
JSON
.
parse
(
JSON
.
stringify
(
dataLists
))
})
this
.
OrderList
=
data
;
this
.
total
=
res
.
data
.
data
.
count
;
}
else
{
this
.
Error
(
res
.
data
.
message
);
}
},
err
=>
{
this
.
loading
=
false
}
);
},
handleCurrentChange
(
val
)
{
this
.
msg
.
pageIndex
=
val
;
this
.
GetList
();
},
com_onresize
()
{
//clientHeight的值由DIV内容的实际高度和CSS中的padding值决定,
var
contentsHeight
=
document
.
body
.
clientHeight
;
var
h
=
contentsHeight
-
50
-
180
-
40
;
if
(
h
<
110
)
{
return
;
}
//设置table的行高
this
.
tableHeight
=
h
;
},
},
created
()
{
if
(
this
.
$route
.
query
.
OrderId
)
{
this
.
msg
.
OrderId
=
this
.
$route
.
query
.
OrderId
}
// crm自动登陆传过来的参数
if
(
this
.
$route
.
query
.
crmOrderObj
){
let
crmOrderObj
=
JSON
.
parse
(
this
.
$route
.
query
.
crmOrderObj
)
this
.
msg
.
OrderId
=
crmOrderObj
.
OrderId
}
},
mounted
()
{
this
.
GetCarCustomerList
()
this
.
Datelist
=
this
.
getyMDOne
()
this
.
userInfo
=
this
.
getLocalStorage
();
this
.
getEmployee
()
this
.
GetList
();
this
.
initHotels
();
//酒店名称下拉
//自适应高度调节
this
.
com_onresize
();
window
.
onresize
=
()
=>
{
this
.
com_onresize
();
}
},
};
</
script
>
<
style
>
</
style
>
src/components/Details.vue
View file @
ba451ef1
...
...
@@ -993,7 +993,7 @@
window
.
localStorage
.
navTabs
=
JSON
.
stringify
(
this
.
tabs
)
},
created
()
{
this
.
typeSystem
=
localStorage
.
typeSystem
if
(
localStorage
.
typeSystem
)
this
.
typeSystem
=
localStorage
.
typeSystem
}
};
...
...
src/components/FinancialModule/BasicDocuments.vue
View file @
ba451ef1
...
...
@@ -903,7 +903,7 @@
<div
v-if=
"GetDetail.OtherType==67||GetDetail.OtherType==68"
class=
"illustrate-right fygsbumen-box-right"
@
click=
"ImpressionSingleDetails(isOrderOP?'CharterOrderListOP':'CharterOrderList')"
>
{{'单项车订单:'+GetDetail.ReFinanceId}}
</div>
<div
v-if=
"GetDetail.OtherType==80"
class=
"illustrate-right fygsbumen-box-right"
@
click=
"ImpressionSingleDetails(isOrderOP?'CarDealerOrder
ListOP':'CarDealerOrderList
')"
>
@
click=
"ImpressionSingleDetails(isOrderOP?'CarDealerOrder
OP':'CarDealerOrder
')"
>
{{'车行订单:'+GetDetail.ReFinanceId}}
</div>
<!-- <div v-if="GetDetail.OtherType==63" class="illustrate-right fygsbumen-box-right"
...
...
@@ -2387,7 +2387,7 @@ class="w135 _border_b_1">
NewFinanceId
:
FrID
,
blank
:
"y"
,
};
this
.
$router
.
push
({
path
:
"/HelpBranch"
,
query
...
...
@@ -2398,13 +2398,13 @@ else if (Type==2) {
id
:
FrID
,
blank
:
"y"
,
};
this
.
$router
.
push
({
path
:
"/CapitalAllocationDetail"
,
query
});
}
},
// 发票审核
...
...
@@ -2600,7 +2600,6 @@ else if (Type==2) {
OrderId
:
this
.
GetDetail
.
ReFinanceId
,
}},
`
${
href
}
`
)
}
else
{
return
this
.
$router
.
push
({
path
:
path
,
query
:
{
...
...
@@ -2620,7 +2619,7 @@ else if (Type==2) {
}
});
}
}
},
...
...
src/components/FinancialModule/FinancialDocuments.vue
View file @
ba451ef1
...
...
@@ -1805,7 +1805,7 @@
}
;
}
,
created
()
{
this
.
typeSystem
=
localStorage
.
typeSystem
if
(
localStorage
.
typeSystem
)
this
.
typeSystem
=
localStorage
.
typeSystem
this
.
isTerminate
=
-
1
let
userinfo
=
this
.
getLocalStorage
();
let
ActionMenuCode
=
userinfo
.
ActionMenuCode
;
...
...
src/components/FinancialModule/FinancialDocumentsDetail.vue
View file @
ba451ef1
...
...
@@ -929,7 +929,7 @@
@
click=
"ImpressionSingleDetails(isOrderOP?'CharterOrderListOP':'CharterOrderList')"
>
{{
'单项车订单:'
+
GetDetail
.
ReFinanceId
}}
</div>
<div
v-if=
"GetDetail.OtherType==80"
class=
"illustrate-right fygsbumen-box-right"
@
click=
"ImpressionSingleDetails(isOrderOP?'CarDealerOrder
ListOP':'CarDealerOrderList
')"
>
@
click=
"ImpressionSingleDetails(isOrderOP?'CarDealerOrder
OP':'CarDealerOrder
')"
>
{{
'车行订单:'
+
GetDetail
.
ReFinanceId
}}
</div>
<!--
<div
v-if=
"GetDetail.OtherType==63"
class=
"illustrate-right fygsbumen-box-right"
@
click=
"ImpressionSingleCommissionDetails('ServiceCommissiondetails',1)"
>
{{
'单项销售提成详情'
}}
</div>
...
...
@@ -1848,7 +1848,6 @@
OrderId
:
this
.
GetDetail
.
ReFinanceId
,
}},
`
${
href
}
`
)
}
else
{
return
this
.
$router
.
push
({
path
:
path
,
query
:
{
...
...
@@ -2861,7 +2860,7 @@
}
},
mounted
()
{
this
.
typeSystem
=
localStorage
.
typeSystem
if
(
localStorage
.
typeSystem
)
this
.
typeSystem
=
localStorage
.
typeSystem
// document.onkeydown = this.KeyDown
// document.onkeyup = this.KeyUp
...
...
src/components/FinancialModule/MonthlyCostStatement/index.vue
View file @
ba451ef1
...
...
@@ -657,7 +657,7 @@ export default {
}
}
,
mounted
(){
this
.
typeSystem
=
localStorage
.
typeSystem
if
(
localStorage
.
typeSystem
)
this
.
typeSystem
=
localStorage
.
typeSystem
if
(
this
.
typeSystem
==
1
)
this
.
msg
.
OtherType
=
'80'
let
userInfo
=
this
.
getLocalStorage
();
this
.
getCompanyMsg
.
RB_Group_Id
=
this
.
employeeMsg
.
GroupId
=
this
.
getDepartmentMsg
.
RB_Group_Id
=
userInfo
.
RB_Group_id
;
//集团ID
...
...
src/components/FinancialModule/ReportForm/TeamRevenueReport.vue
View file @
ba451ef1
...
...
@@ -596,7 +596,7 @@ tr._item_list td:last-child {
</el-select>
</el-form-item>
</el-col>
<el-col
:span=
"4"
>
<el-form-item
label=
"是否联运:"
>
<el-select
v-model=
"msg.Is_Transport"
filterable
class=
"w150"
>
...
...
@@ -611,7 +611,7 @@ tr._item_list td:last-child {
<el-input
v-model=
"msg.DMCNUM"
class
></el-input>
</el-form-item>
</el-col>
<el-col
:span=
"4"
>
<el-form-item
label=
"领队类型:"
>
<el-select
v-model=
"msg.LeaderType"
filterable
class=
"w150"
@
change=
"GetLeaderList()"
>
...
...
@@ -762,7 +762,7 @@ Vue.component("TCIDJump", {
<span style="cursor: pointer" v-if="rowData.DataType===14" @click="goSAirRec('TicketManager',rowData)">{{rowData.TCID}}</span>
<span style="cursor: pointer" v-if="rowData.DataType===15">{{rowData.TCID}}</span>
<span style="cursor: pointer" v-if="rowData.DataType===16">{{rowData.TCID}}</span>
<span style="cursor: pointer" v-if="rowData.DataType===22">{{rowData.TCID}}</span>
<span style="cursor: pointer" v-if="rowData.DataType===22"
@click="goCarUrl('CarDealerOrderOP',rowData.TCID,rowData)"
>{{rowData.TCID}}</span>
<span style="cursor: pointer" v-if="rowData.DataType===23" @click="goUrl('TeamBalancePayment',rowData.TCID,rowData)">{{rowData.TCID}}</span>
</div>
...
...
@@ -778,7 +778,33 @@ Vue.component("TCIDJump", {
type
:
Number
}
},
data
()
{
return
{
typeSystem
:
0
}
},
mounted
()
{
if
(
localStorage
.
typeSystem
)
this
.
typeSystem
=
localStorage
.
typeSystem
},
methods
:
{
goCarUrl
(
path
,
id
,
row
){
if
(
this
.
typeSystem
==
1
){
let
href
=
this
.
domainManager
().
CarUrl
window
.
parent
.
postMessage
({
event_id
:
'CarDealerOrder'
,
data
:
{
OrderId
:
id
,
}},
`
${
href
}
`
)
}
else
{
this
.
$router
.
push
({
path
:
path
,
query
:
{
OrderId
:
id
,
blank
:
'y'
}
});
}
},
goUrl
(
path
,
id
,
row
)
{
if
(
row
.
TeamType
==
2
){
//为一日游的时候跳转到一日游团控列表
this
.
$router
.
push
({
...
...
@@ -884,7 +910,7 @@ Vue.component("TCNUMJump", {
<span style="cursor: pointer;text-decoration:underline" v-if="rowData.DataType===19" @click="goUrl('SingleticketOrderListOP',rowData.TCID,rowData)">{{rowData.TCNUM}}</span>
<span v-if="rowData.DataType===20">{{rowData.TCNUM}}</span>
<span style="cursor: pointer;text-decoration:underline" v-if="rowData.DataType===21" @click="goUrl('FinancialDocumentsDetail',rowData.TCID,rowData)">{{rowData.TCNUM}}</span>
<span style="cursor: pointer;text-decoration:underline" v-if="rowData.DataType===22" @click="go
Url('FinancialDocumentsDetail
',rowData.TCID,rowData)">{{rowData.TCNUM}}</span>
<span style="cursor: pointer;text-decoration:underline" v-if="rowData.DataType===22" @click="go
CarUrl('CarDealerOrderOP
',rowData.TCID,rowData)">{{rowData.TCNUM}}</span>
<span style="cursor: pointer;text-decoration:underline" v-if="rowData.DataType===23" @click="goUrl('TravelControlList',rowData.TCNUM,rowData)">{{rowData.TCNUM}}</span>
</div>`
,
props
:
{
...
...
@@ -898,7 +924,33 @@ Vue.component("TCNUMJump", {
type
:
Number
}
},
data
()
{
return
{
typeSystem
:
0
}
},
mounted
()
{
if
(
localStorage
.
typeSystem
)
this
.
typeSystem
=
localStorage
.
typeSystem
},
methods
:
{
goCarUrl
(
path
,
id
,
row
){
if
(
this
.
typeSystem
==
1
){
let
href
=
this
.
domainManager
().
CarUrl
window
.
parent
.
postMessage
({
event_id
:
'CarDealerOrder'
,
data
:
{
OrderId
:
id
,
}},
`
${
href
}
`
)
}
else
{
this
.
$router
.
push
({
path
:
path
,
query
:
{
OrderId
:
id
,
blank
:
'y'
}
});
}
},
goHand
(
path
,
rowData
,
type
){
if
(
type
==
15
){
let
TCID
=
rowData
.
TCID
;
...
...
@@ -2185,9 +2237,11 @@ export default {
F_GeneralManager
:
false
,
coinGetList
:
[],
coinGetShow
:
false
,
typeSystem
:
0
,
};
},
created
()
{
if
(
localStorage
.
typeSystem
)
this
.
typeSystem
=
localStorage
.
typeSystem
this
.
msg
.
startDate
=
this
.
$route
.
query
.
StartTime
!=
undefined
?
this
.
$route
.
query
.
StartTime
:
''
;
this
.
msg
.
endDate
=
this
.
$route
.
query
.
EndTime
!=
undefined
?
this
.
$route
.
query
.
EndTime
:
''
;
this
.
msg
.
LineId
=
this
.
$route
.
query
.
LineId
!=
undefined
?
Number
(
this
.
$route
.
query
.
LineId
):
''
;
...
...
src/components/Hotel/reservation/OrderList.vue
View file @
ba451ef1
...
...
@@ -1026,7 +1026,6 @@ export default {
isShowCorrelation
:
false
,
CorrelationObj
:{},
is_correlationOP
:
false
,
typeSystem
:
0
};
},
watch
:
{
...
...
@@ -1059,22 +1058,7 @@ export default {
}
this
.
isShowCorrelation
=
true
;
},
// 车行订单 制成本冲抵单
addBalanceout
()
{
let
datas
=
this
.
$route
.
query
let
tradeObj
=
datas
.
tradeObj
console
.
log
(
datas
,
tradeObj
,
'-----crmuserInfo'
)
let
query
=
{
blank
:
"y"
,
tab
:
`新增付款单据`
,
Type
:
2
,
tradeObj
:
tradeObj
,
companyID
:
1248
};
this
.
queryObj
=
query
this
.
cdState
=
true
// this.makeAdocument(row, 0, 3, null, 'Offset')
},
isOffset
(
row
,
index
,
num
,
name
){
this
.
makeAdocument
(
row
,
index
,
num
,
name
,
'Offset'
)
},
...
...
@@ -1526,7 +1510,7 @@ export default {
}
},
mounted
()
{
this
.
typeSystem
=
localStorage
.
typeSystem
this
.
userInfo
=
this
.
getLocalStorage
();
let
ActionMenuCode
=
this
.
userInfo
.
ActionMenuCode
;
if
(
ActionMenuCode
.
indexOf
(
'is_correlationOP'
)
!=
-
1
){
...
...
src/components/index.vue
View file @
ba451ef1
...
...
@@ -1753,7 +1753,7 @@
},
},
mounted
()
{
this
.
typeSystem
=
localStorage
.
typeSystem
if
(
localStorage
.
typeSystem
)
this
.
typeSystem
=
localStorage
.
typeSystem
let
that
=
this
;
this
.
qjGroupId
=
this
.
QjGroupId
();
this
.
apipost
(
'user_post_GetNowVote'
,
{},
r
=>
{
...
...
src/router/config.js
View file @
ba451ef1
...
...
@@ -1006,6 +1006,22 @@ export default {
title
:
'酒店预定订单'
},
},
{
path
:
'/CarDealerOrder'
,
//车订单
name
:
'CarDealerOrder'
,
component
:
resolve
=>
require
([
'@/components/CarDealerOrder/CarDealerOrderList'
],
resolve
),
meta
:
{
title
:
'车行订单'
},
},
{
path
:
'/CarDealerOrderOP'
,
//车订单OP
name
:
'CarDealerOrderOP'
,
component
:
resolve
=>
require
([
'@/components/CarDealerOrder/CarDealerOrderListOP'
],
resolve
),
meta
:
{
title
:
'车行订单'
},
},
{
path
:
'/singleProductModifyHotelOrder'
,
//酒店预定订单变更
name
:
'singleProductModifyHotelOrder'
,
...
...
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