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
df99e1f0
Commit
df99e1f0
authored
Sep 11, 2019
by
华国豪
🙄
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
no message
parent
20ffa86a
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
2303 additions
and
0 deletions
+2303
-0
freeTravelOrder.vue
src/components/SalesModule/freeTravelOrder.vue
+728
-0
freeTravelOrderDetails.vue
src/components/SalesModule/freeTravelOrderDetails.vue
+386
-0
freeTravelOrderStati.vue
...ponents/TravelManager/TravelList/freeTravelOrderStati.vue
+803
-0
freeTravelOrderStatiDetails.vue
.../TravelManager/TravelList/freeTravelOrderStatiDetails.vue
+386
-0
No files found.
src/components/SalesModule/freeTravelOrder.vue
0 → 100644
View file @
df99e1f0
<
style
>
.SalesHotelOrder
.query-box
{
border-bottom
:
0
;
}
.SalesHotelOrder
.SalesHotelOrderTable
{
width
:
100%
;
min-width
:
1500px
;
font-size
:
14px
;
color
:
#333
;
border-bottom
:
1px
solid
#cccccc
;
border-right
:
1px
solid
#cccccc
;
border-collapse
:
collapse
;
}
.SalesHotelOrder
.SalesHotelOrderTable
th
{
background
:
#e6e6e6
;
height
:
30px
;
font-size
:
12px
;
text-align
:
center
;
border-top
:
1px
solid
#cccccc
;
border-left
:
1px
solid
#cccccc
;
}
.SalesHotelOrder
.SalesHotelOrderTable
tr
td
{
height
:
60px
;
padding
:
10px
;
background-color
:
#fff
;
text-align
:
center
;
border-top
:
1px
solid
#cccccc
;
border-left
:
1px
solid
#cccccc
;
}
.SalesHotelOrder
.SalesHotelOrderTable
tbody
tr
:last-child
{
border-bottom
:
2px
solid
#333
;
}
.SalesHotelOrder
.SH_beizhu
{
float
:
left
;
}
.SalesHotelOrder
.SH_beizhuInner
{
float
:
left
;
width
:
85%
;
}
.SalesHotelOrder
.SH_OrderDan
>
div
{
display
:
inline-block
;
}
.groupTourOrder_count
{
margin
:
0
0
20px
0
;
width
:
100%
;
height
:
auto
;
}
.groupTourOrder_count_col
{
height
:
80px
;
}
.groupTourOrder_count_item
{
font-weight
:
400
;
padding
:
10px
;
height
:
100%
;
border
:
1px
solid
#E6E6E6
;
background-color
:
#FFFFFF
;
color
:
#333333
;
}
.groupTourOrder_count_item
>
div
>
i
{
font-size
:
12px
;
vertical-align
:
bottom
;
}
.groupTourOrder_count_item
>
div
>
span
:nth-child
(
2
)
{
font-size
:
14px
;
vertical-align
:
bottom
;
}
.groupTourOrder_count_item
>
div
>
span
:nth-child
(
3
)
{
font-weight
:
bold
;
font-size
:
16px
;
vertical-align
:
bottom
;
}
.groupTourOrder_count_item
>
p
{
font-size
:
12px
;
line-height
:
18px
;
}
.groupTourOrder_count_item
>
p
>
span
{
margin
:
0
5px
0
0
;
white-space
:
nowrap
;
}
.groupTourOrder_count_green
{
color
:
#1BC594
;
}
.groupTourOrder_count_blue
{
color
:
#4D7AFD
;
}
.groupTourOrder_count_yellow
{
color
:
#FF9C00
;
}
.groupTourOrder_count_gray
{
color
:
#999999
;
}
.HT_total
span
{
display
:
inline-block
;
margin
:
5px
10px
0
0
!important
;
}
.HT_totalFinacel
span
{
display
:
inline-block
;
margin
:
3px
5px
0
0
!important
;
}
.color_red_order
{
color
:
#e95252
!important
;
}
.groupTourOrderByTuan_ico
>
i
{
display
:
inline-block
;
margin
:
0
2px
0
0
;
width
:
8px
;
height
:
8px
;
border-radius
:
2px
;
vertical-align
:
middle
;
}
.groupTourOrder_tickets_red
{
color
:
#FF0000
;
text-decoration
:
underline
;
cursor
:
pointer
;
}
.groupTourOrder_tickets_blue
{
color
:
#0000FF
;
text-decoration
:
underline
;
cursor
:
pointer
;
}
.groupTourOrder_tickets_green
{
color
:
#008000
;
text-decoration
:
underline
;
cursor
:
pointer
;
}
.groupTourOrder_tickets_black
{
color
:
#000000
;
text-decoration
:
underline
;
cursor
:
pointer
;
}
</
style
>
<
template
>
<div
class=
"flexOne SalesHotelOrder"
>
<div
class=
"query-box"
>
<ul>
<li>
<span>
<em>
订单状态
</em>
<el-select
v-model=
'msg.B2BSelectOrderState'
filterable
:placeholder=
"$t('pub.pleaseSel')"
>
<el-option
v-for=
"item in orderStatus"
:label=
'item.Name'
:value=
'item.Id'
:key=
'item.Id'
>
</el-option>
</el-select>
</span>
</li>
<!--
<li>
<span>
<em>
公司
</em>
<el-select
v-model=
"msg.RB_Branch_Id"
placeholder=
"请选择公司"
@
change=
"getDepartmentMsg.RB_Branch_Id = msg.RB_Branch_Id, getDepartment(),msg.RB_Department_Id = 0,msg.CreateBy = 0"
>
<el-option
:value=
"-1"
:label=
"$t('pub.unlimitedSel')"
></el-option>
<el-option
v-for=
'item in CompanyList'
:label=
'item.BName'
:value=
'item.Id'
:key=
'item.Id'
>
</el-option>
</el-select>
</span>
</li>
-->
<!--
<li>
<span>
<em>
部门
</em>
<el-select
v-model=
"msg.RB_Department_Id"
placeholder=
"请选择部门"
@
change=
"employeeMsg.DepartmentId = msg.RB_Department_Id,employeeMsg.BranchId=msg.RB_Branch_Id, getEmployee(), msg.CreateBy=0"
>
<el-option
:value=
"0"
:label=
"$t('pub.unlimitedSel')"
></el-option>
<el-option
v-for=
'item in DepartmentList'
:label=
'item.DepartmentName'
:value=
'item.DepartmentID'
:key=
'item.DepartmentID'
>
</el-option>
</el-select>
</span>
</li>
<li>
<span>
<em>
创建人
</em>
<el-select
filterable
v-model=
'msg.CreateBy'
>
<el-option
:value=
"0"
:label=
"$t('pub.unlimitedSel')"
></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>
<span><em>
订单号
</em>
<el-input
v-model=
'msg.ProductName'
:placeholder=
"$t('pub.pleaseImport')"
></el-input>
</span>
</li>
<li>
<span>
<em>
游玩开始时间
</em>
<el-date-picker
type=
"date"
v-model=
"msg.StartTime"
:picker-options=
"StartTimeBefore"
value-format=
"yyyy-MM-dd"
placeholder
></el-date-picker>
</span>
</li>
<li>
<span>
<em>
游玩结束时间
</em>
<el-date-picker
type=
"date"
v-model=
"msg.EndTime"
:picker-options=
"EndTimeAfter"
value-format=
"yyyy-MM-dd"
placeholder
></el-date-picker>
</span>
</li>
<li>
<span>
<em>
创建开始时间
</em>
<el-date-picker
type=
"date"
v-model=
"msg.CStartTime"
:picker-options=
"CStartTimeBefore"
value-format=
"yyyy-MM-dd"
placeholder
></el-date-picker>
</span>
</li>
<li>
<span>
<em>
创建结束时间
</em>
<el-date-picker
type=
"date"
v-model=
"msg.CEndTime"
:picker-options=
"CEndTimeAfter"
value-format=
"yyyy-MM-dd"
placeholder
></el-date-picker>
</span>
</li>
<li>
<input
type=
"button"
class=
"hollowFixedBtn"
@
click=
"resetPageIndex();getList()"
:value=
"$t('pub.searchBtn')"
/>
</li>
</ul>
</div>
<table
class=
"SalesHotelOrderTable"
border=
"0"
cellspacing=
"0"
cellpadding=
"0"
v-loading=
"loading"
>
<tr>
<th>
订单号
</th>
<th>
第三方订单号
</th>
<th>
人数
</th>
<th>
总额
</th>
<th>
实收
</th>
<th>
大红包
</th>
<th>
优惠金额
</th>
<th>
待收金额
</th>
<th>
订单状态
</th>
<th>
创建时间
</th>
<th>
游玩时间
</th>
<th>
取消费用
</th>
<th>
客户信息
</th>
<th>
创建人
</th>
<th>
结束时间
</th>
<th>
操作
</th>
</tr>
<tbody
v-for=
"(item,index) in dataList"
>
<tr>
<td
style=
"border-bottom:2px solid #333"
rowspan=
"2"
>
{{
item
.
OrderID
}}
</td>
<td>
{{
item
.
ThirdOrderNo
}}
</td>
<td>
{{
item
.
Number
}}
</td>
<td>
{{
item
.
TotalPrice
}}
</td>
<td>
{{
item
.
Income
}}
</td>
<td>
{{
item
.
RedEnvelopeMoney
}}
</td>
<td>
{{
item
.
DiscountMoney
}}
</td>
<td>
{{
item
.
DueinMoney
}}
</td>
<td>
<span
:class=
"item.OrderStatus=='已取消'?'color_red_order':''"
>
{{
item
.
OrderStatus
}}
</span>
</td>
<td>
{{
item
.
CreateDateStr
}}
</td>
<td>
{{
item
.
CheckInStr
}}
</td>
<td>
{{
item
.
CancelFee
}}
</td>
<td>
{{
item
.
CustomerName
}}
/
{{
item
.
CustomerPhone
}}
</td>
<td>
{{
item
.
CreateByStr
}}
</td>
<td>
{{
item
.
EndTime
}}
</td>
<td>
<el-row>
<el-button-group>
<el-tooltip
class=
"item"
effect=
"dark"
content=
"付款"
placement=
"top-start"
v-if=
"item.OrderStatus!=='已取消'"
>
<el-button
type=
"primary"
icon=
"iconfont icon-fukuan2"
@
click=
"getShouKuan(item)"
></el-button>
</el-tooltip>
<el-tooltip
class=
"item"
effect=
"dark"
content=
"取消订单"
placement=
"top-start"
v-if=
"item.OrderStatus!=='已取消'"
>
<el-button
type=
"info"
v-if=
"item.IsCanOrder == 0"
icon=
"iconfont icon-quxiao1"
@
click=
"Exit(item)"
></el-button>
</el-tooltip>
<el-tooltip
class=
"item"
effect=
"dark"
content=
"确定"
placement=
"top-start"
v-if=
"item.OrderStatus!=='已取消'"
>
<el-button
type=
"success"
icon=
"iconfont icon-duigou"
v-if=
"item.IsCanClear == 0"
@
click=
"queren(1, item.OrderID)"
></el-button>
</el-tooltip>
<el-tooltip
class=
"item"
effect=
"dark"
content=
"取消确认"
placement=
"top-start"
v-if=
"item.OrderStatus!=='已取消'"
>
<el-button
type=
"info"
icon=
" iconfont icon-quxiao1"
v-if=
"item.IsCanClear == 1"
@
click=
"queren(0, item.OrderID)"
></el-button>
</el-tooltip>
<!--
<el-tooltip
class=
"item"
effect=
"dark"
content=
"关联团"
placement=
"top-start"
>
<el-button
type=
"warning"
icon=
"iconfont icon-guanlian"
@
click=
"TCID = '',GLOrderID = item.OrderID,dialogFormVisible = true"
></el-button>
</el-tooltip>
-->
<el-tooltip
class=
"item"
effect=
"dark"
content=
"详情"
placement=
"top-start"
>
<el-button
type=
"success"
icon=
"iconfont icon-sousuo"
@
click=
"goOrderDetails(item.OrderID)"
></el-button>
</el-tooltip>
</el-button-group>
</el-row>
</td>
</tr>
<tr>
<td
colspan=
"7"
style=
"text-align:left;width:600px"
>
<div
class=
"clearfix"
>
<div
class=
"SH_beizhu"
style=
""
>
备注:
</div>
<div
class=
"SH_beizhuInner"
>
{{
item
.
Remark
}}
</div>
</div>
</td>
<td
colspan=
"9"
style=
"text-align:left;width:600px"
>
<div
class=
"SH_OrderDan"
>
<div>
收款单据:
</div>
<div>
<span
v-for=
"subItem in item.FinanceList"
>
<span
@
click=
"goUrlFinacel('财务单据','FinancialDocumentsDetail',subItem.FrID)"
v-if=
"subItem.ColorState===1"
class=
"groupTourOrder_tickets_blue"
>
{{
subItem
.
FrID
}}
</span>
<span
@
click=
"goUrlFinacel('财务单据','FinancialDocumentsDetail',subItem.FrID)"
v-else-if=
"subItem.ColorState===2"
class=
"groupTourOrder_tickets_green"
>
{{
subItem
.
FrID
}}
</span>
<span
@
click=
"goUrlFinacel('财务单据','FinancialDocumentsDetail',subItem.FrID)"
v-else-if=
"subItem.ColorState===3"
class=
"groupTourOrder_tickets_red"
>
{{
subItem
.
FrID
}}
</span>
<span
@
click=
"goUrlFinacel('财务单据','FinancialDocumentsDetail',subItem.FrID)"
v-else-if=
"subItem.ColorState===4"
class=
"groupTourOrder_tickets_black"
>
{{
subItem
.
FrID
}}
</span>
</span>
<span
v-if=
"item.FinanceList==0"
>
暂无数据
</span>
</div>
</div>
<div
class=
"SH_OrderDan"
>
<div>
付款单据:
</div>
<div>
<span
v-for=
"subItem in item.RefundFinanceList"
>
<span
@
click=
"goUrlFinacel('财务单据','FinancialDocumentsDetail',subItem.FrID)"
v-if=
"subItem.ColorState===1"
class=
"groupTourOrder_tickets_blue"
>
{{
subItem
.
FrID
}}
</span>
<span
@
click=
"goUrlFinacel('财务单据','FinancialDocumentsDetail',subItem.FrID)"
v-else-if=
"subItem.ColorState===2"
class=
"groupTourOrder_tickets_green"
>
{{
subItem
.
FrID
}}
</span>
<span
@
click=
"goUrlFinacel('财务单据','FinancialDocumentsDetail',subItem.FrID)"
v-else-if=
"subItem.ColorState===3"
class=
"groupTourOrder_tickets_red"
>
{{
subItem
.
FrID
}}
</span>
<span
@
click=
"goUrlFinacel('财务单据','FinancialDocumentsDetail',subItem.FrID)"
v-else-if=
"subItem.ColorState===4"
class=
"groupTourOrder_tickets_black"
>
{{
subItem
.
FrID
}}
</span>
</span>
<span
v-if=
"item.RefundFinanceList==0"
>
暂无数据
</span>
</div>
</div>
</td>
</tr>
</tbody>
</table>
<div
class=
"noDataNotice"
v-if=
"dataList.length
<1
"
>
<i
class=
"iconfont icon-kong"
></i>
<p>
{{
$t
(
"active.ld_noData"
)
}}
</p>
</div>
<el-dialog
title=
"请选择团号"
width=
"400px"
:visible
.
sync=
"dialogFormVisible"
center
:before-close=
"closeChangeMachie"
>
<el-form
label-width=
"110px"
>
<el-form-item
label=
"团号"
>
<el-select
v-model=
"TCID"
filterable
remote
reserve-keyword
:placeholder=
"$t('pub.pleaseImport')"
:remote-method=
"remoteMethodTCNum"
:loading=
"loading2"
>
<el-option
v-for=
"item in searchList"
:key=
"item.TCID"
:label=
"item.TCNUM"
:value=
"item.TCID"
>
<span
style=
"float: left"
>
{{
item
.
TCNUM
}}
</span>
</el-option>
</el-select>
</el-form-item>
</el-form>
<div
slot=
"footer"
class=
"dialog-footer"
>
<button
class=
"hollowFixedBtn"
@
click=
"dialogFormVisible=false,GLOrderID = ''"
>
{{
$t
(
'pub.cancelBtn'
)
}}
</button>
<button
class=
"normalBtn"
type=
"primary"
@
click=
"querenGL"
>
{{
$t
(
'pub.sureBtn'
)
}}
</button>
</div>
</el-dialog>
<el-pagination
background
@
current-change=
"handleCurrentChange"
:current-page
.
sync=
"currentPage"
layout=
"total,prev, pager, next, jumper"
:page-size=
msg.pageSize
:total=
total
>
</el-pagination>
<el-dialog
title=
"取消订单"
width=
"400px"
:visible
.
sync=
"dialogFormVisible"
>
<el-form
:model=
"exitMsg"
label-width=
"80px"
>
<el-form-item
label=
"取消类型"
>
<el-select
size=
"small"
v-model=
"exitMsg.cancel_type"
placeholder=
"请选择取消类型"
>
<el-option
label=
"行程变更或取消"
value=
"MC001"
></el-option>
<el-option
label=
"重复订单"
value=
"MC002"
></el-option>
<el-option
label=
"价格原因"
value=
"MC003"
></el-option>
<el-option
label=
"个人因素"
value=
"MC004"
></el-option>
<el-option
label=
"交通因素"
value=
"MC005"
></el-option>
<el-option
label=
"交通因素"
value=
"MC006"
></el-option>
<el-option
label=
"其他"
value=
"MC999"
></el-option>
</el-select>
</el-form-item>
<el-form-item
label=
"取消原因"
>
<el-input
v-model=
"exitMsg.cancel_desc"
autocomplete=
"off"
type=
"textarea"
:rows=
"2"
></el-input>
</el-form-item>
</el-form>
<div
slot=
"footer"
class=
"dialog-footer"
>
<el-button
size=
"small"
@
click=
"dialogFormVisible = false"
>
取 消
</el-button>
<el-button
size=
"small"
type=
"danger"
@
click=
"ExitOrder"
>
确 定
</el-button>
</div>
</el-dialog>
</div>
</
template
>
<
script
>
export
default
{
data
()
{
return
{
dialogFormVisible
:
false
,
exitMsg
:{
orderId
:
''
,
cancel_type
:
""
,
cancel_desc
:
""
,
CancelBy
:
''
,
},
msg
:
{
pageIndex
:
1
,
pageSize
:
10
,
B2BSelectOrderState
:
0
,
RB_Branch_Id
:
-
1
,
RB_Department_Id
:
0
,
CreateBy
:
0
,
HotelName
:
''
,
StartTime
:
''
,
EndTime
:
''
,
CStartTime
:
''
,
CEndTime
:
''
},
TCID
:
''
,
GLOrderID
:
''
,
total
:
0
,
currentPage
:
1
,
loading
:
false
,
StartTimeBefore
:
{
disabledDate
:
time
=>
{
if
(
this
.
msg
.
EndTime
==
null
)
{
return
false
;
}
else
{
let
endTime
=
new
Date
(
this
.
msg
.
EndTime
)
return
endTime
.
getTime
()
<
time
.
getTime
()
}
}
},
EndTimeAfter
:
{
disabledDate
:
time
=>
{
let
startTime
=
new
Date
(
this
.
msg
.
StartTime
)
return
startTime
.
getTime
()
>=
time
.
getTime
()
}
},
CStartTimeBefore
:
{
disabledDate
:
time
=>
{
if
(
this
.
msg
.
CEndTime
==
null
)
{
return
false
;
}
else
{
let
endTime
=
new
Date
(
this
.
msg
.
CEndTime
)
return
endTime
.
getTime
()
<
time
.
getTime
()
}
}
},
CEndTimeAfter
:
{
disabledDate
:
time
=>
{
let
startTime
=
new
Date
(
this
.
msg
.
CStartTime
)
return
startTime
.
getTime
()
>=
time
.
getTime
()
}
},
orderStatus
:[{
Name
:
'全部'
,
Id
:
0
},{
Name
:
'待支付'
,
Id
:
1
},{
Name
:
'交易完成'
,
Id
:
2
},{
Name
:
'取消'
,
Id
:
3
}],
dataList
:
[],
getCompanyMsg
:{
// 公司
RB_Group_Id
:
'0'
,
Status
:
'0'
,
},
getDepartmentMsg
:{
// 部门
RB_Group_Id
:
''
,
RB_Branch_Id
:
''
,
Status
:
0
,
ParentId
:
-
1
,
Tier
:
0
,
},
employeeMsg
:{
// 员工
GroupId
:
''
,
BranchId
:
-
1
,
DepartmentId
:
0
,
PostId
:
0
,
IsLeave
:
0
,
},
CompanyList
:[],
DepartmentList
:[],
EmployeeList
:[],
searchList
:
[],
loading2
:
false
,
dialogFormVisible
:
false
,
};
},
methods
:
{
Exit
(
item
){
let
userInfo
=
this
.
getLocalStorage
();
this
.
dialogFormVisible
=
true
;
this
.
exitMsg
.
orderId
=
item
.
OrderID
;
this
.
exitMsg
.
CancelBy
=
userInfo
.
EmployeeId
;
},
ExitOrder
(){
if
(
this
.
exitMsg
.
cancel_type
==
""
){
this
.
Error
(
"请选择取消类型!"
);
return
;
}
this
.
apipost
(
"dmc_post_Get_KKDayOrderCancel"
,
this
.
exitMsg
,
res
=>
{
if
(
res
.
data
.
resultCode
==
1
)
{
this
.
Success
(
res
.
data
.
message
);
this
.
$emit
(
'queryDays'
)
this
.
exitMsg
=
{
orderId
:
''
,
cancel_type
:
""
,
cancel_desc
:
""
,
CancelBy
:
''
,
};
}
else
{
this
.
$message
.
error
(
res
.
data
.
message
);
}
this
.
dialogFormVisible
=
false
;
},
null
);
},
GotoUrl
(
TCNUM
)
{
this
.
$router
.
push
({
path
:
"TravelControlList"
,
query
:
{
tcmun
:
TCNUM
,
blank
:
'y'
,
tab
:
"团控查询"
,
}
});
},
querenGL
(){
this
.
apipost
(
"dmc_post_get_RelevanceTCID"
,{
TCID
:
this
.
TCID
,
OrderID
:
this
.
GLOrderID
},
res
=>
{
if
(
res
.
data
.
resultCode
==
1
)
{
this
.
Success
(
res
.
data
.
message
);
this
.
getList
();
this
.
dialogFormVisible
=
false
}
},
err
=>
{});
},
closeChangeMachie
(
done
)
{
// 弹=窗口关闭
done
();
},
remoteMethodTCNum
(
query
)
{
if
(
query
!==
''
||
this
.
addShow
)
{
this
.
loading2
=
true
;
this
.
apipost
(
"InvoiceApply_get_GetPriceList"
,{
TCNUM
:
query
},
res
=>
{
if
(
res
.
data
.
resultCode
==
1
)
{
this
.
searchList
=
res
.
data
.
data
;
this
.
loading2
=
false
;
}
},
err
=>
{});
}
else
{
this
.
searchList
=
[];
this
.
loading2
=
false
;
}
},
queren
(
type
,
OrderID
){
let
text
=
type
==
1
?
'确认后,订单不会自动取消'
:
'取消后,订单会自动取消'
this
.
$confirm
(
text
,
this
.
$t
(
'tips.tips'
),
{
confirmButtonText
:
this
.
$t
(
'pub.sureBtn'
),
cancelButtonText
:
this
.
$t
(
'pub.cancelBtn'
),
type
:
'warning'
}).
then
(()
=>
{
this
.
apipost
(
'KKDayOrder_Post_UpdateOrderCanClear'
,{
OrderID
:
OrderID
,
IsCanClear
:
type
},
res
=>
{
if
(
res
.
data
.
resultCode
==
1
){
this
.
Success
(
res
.
data
.
message
);
this
.
getList
();
}
else
{
this
.
Error
(
res
.
data
.
message
);
}
},
err
=>
{})
}).
catch
(()
=>
{
this
.
$message
({
type
:
'info'
,
message
:
this
.
$t
(
'ios.yi'
)
+
this
.
$t
(
'pub.cancelBtn'
)
});
});
},
goOrderDetails
(
ID
){
this
.
$router
.
push
({
name
:
'freeTravelOrderDetails'
,
query
:
{
ID
:
ID
,
blank
:
'y'
,
}
})
},
getList
()
{
//获取列表
this
.
loading
=
true
;
this
.
apipost
(
"sellorder_post_GetAllKKDayOrderList"
,
this
.
msg
,
res
=>
{
this
.
loading
=
false
;
if
(
res
.
data
.
resultCode
==
1
)
{
this
.
dataList
=
res
.
data
.
data
.
pageData
;
this
.
total
=
res
.
data
.
data
.
count
;
console
.
log
(
this
.
dataList
,
'datalist'
);
let
userInfo
=
this
.
getLocalStorage
();
let
EmployeeId
=
userInfo
.
EmployeeId
;
this
.
dataList
.
forEach
(
x
=>
{
if
((
x
.
CreateBy
==
EmployeeId
||
EmployeeId
==
1
||
EmployeeId
==
5
)
&&
x
.
IsCanOrder
==
0
){
x
.
ShowBtn
=
true
;
}
else
{
x
.
ShowBtn
=
false
;
}
})
}
else
{
this
.
Error
(
res
.
data
.
message
);
}
},
err
=>
{}
);
},
handleCurrentChange
(
val
)
{
this
.
msg
.
pageIndex
=
val
;
this
.
getList
();
},
resetPageIndex
()
{
this
.
msg
.
pageIndex
=
1
;
this
.
currentPage
=
1
},
getCompanyList
:
function
()
{
//获取公司列表
this
.
apipost
(
'admin_get_BranchGetList'
,
this
.
getCompanyMsg
,
res
=>
{
if
(
res
.
data
.
resultCode
==
1
){
this
.
CompanyList
=
res
.
data
.
data
;
}
else
{}
},
err
=>
{})
},
getDepartment
:
function
()
{
//获取部门列表
this
.
apipost
(
'admin_get_DepartmentGetList'
,
this
.
getDepartmentMsg
,
res
=>
{
if
(
res
.
data
.
resultCode
==
1
)
{
this
.
DepartmentList
=
res
.
data
.
data
;
}
},
err
=>
{})
},
getEmployee
()
{
//员工
this
.
apipost
(
'admin_get_EmployeeGetList'
,
this
.
employeeMsg
,
res
=>
{
if
(
res
.
data
.
resultCode
==
1
)
{
this
.
EmployeeList
=
res
.
data
.
data
;
}
},
err
=>
{})
},
//点击取消操作
cancelHTorder
(
ThirdOrderNo
){
let
userInfo
=
this
.
getLocalStorage
();
let
EmployeeId
=
userInfo
.
EmployeeId
;
let
msg
=
{
bookingNumber
:
ThirdOrderNo
,
CancelBy
:
EmployeeId
,
CancelType
:
1
}
this
.
apipost
(
"dmc_post_Get_GetJAPAN_GetJAPAN_ReservationCancallation"
,
msg
,
res
=>
{
if
(
res
.
data
.
resultCode
==
1
)
{
this
.
Success
(
'取消成功'
);
this
.
getList
();
}
else
{
this
.
Error
(
res
.
data
.
message
);
}
},
null
);
},
//点击收款
getShouKuan
(
obj
){
let
TCIDARR
=
obj
.
TCID
?
[
obj
.
TCID
]
:
[];
let
orderObj
=
{
OrderID
:
obj
.
OrderID
,
OrderSource
:
15
,
Obj
:
{},
SourceID
:
null
,
TCIDList
:
TCIDARR
}
this
.
$router
.
push
({
name
:
'ChoiceAddFinancialDocuments'
,
query
:{
"Type"
:
1
,
"companyID"
:
obj
.
RB_Branch_id
,
"path"
:
""
,
'blank'
:
'y'
,
'orderObj'
:
JSON
.
stringify
(
orderObj
),
'tradeWay'
:
1
,
'platformAccount'
:
0
}
});
},
//跳转财务单据
goUrlFinacel
:
function
(
name
,
path
,
id
)
{
this
.
$router
.
push
({
name
:
path
,
query
:
{
id
:
id
,
blank
:
"y"
,
tab
:
name
}
});
}
},
mounted
()
{
let
userInfo
=
this
.
getLocalStorage
();
this
.
getCompanyMsg
.
RB_Group_Id
=
userInfo
.
RB_Group_id
;
//集团
this
.
getDepartmentMsg
.
RB_Branch_Id
=
userInfo
.
RB_Branch_id
;
//公司
this
.
msg
.
CreateBy
=
userInfo
.
EmployeeId
;
// this.getCompanyList()
// this.getDepartment()
// this.getEmployee()
this
.
getList
();
}
};
</
script
>
src/components/SalesModule/freeTravelOrderDetails.vue
0 → 100644
View file @
df99e1f0
<
template
>
<div
id=
"app"
class=
"commonF FreeInfo"
style=
"padding-bottom:20px"
>
<div
class=
"w1200"
>
<el-row>
<el-col
class=
"Left"
:span=
"6"
>
<div
style=
"border:1px solid #E0E0E0;margin-top:20px;"
>
<div
class=
"imgDiv"
><img
style=
"width:100%;height:100%"
:src=
"ImgSrc"
:onerror=
"defaultImg"
alt=
""
></div>
<p
class=
"cee f20"
style=
"padding:16px"
>
{{
oldModel
.
ProductName
}}
</p>
<p
class=
"f14"
style=
"padding:6px 16px"
><span
class=
"c99"
>
日期
</span><span
class=
"c66"
style=
"margin-left:20px"
>
{{
oldModel
.
StartDate
}}
</span></p>
<el-row
class=
"f14"
style=
"padding:6px 16px"
>
<el-col
:span=
"4"
>
<span
class=
"c99"
>
人数
</span>
</el-col>
<el-col
class=
"c66"
:span=
"20"
>
<p
v-if=
"jo.price1_qty>0"
style=
"margin-bottom:6px"
>
成人 x
{{
jo
.
price1_qty
}}
</p>
<p
v-if=
"jo.price2_qty>0"
style=
"margin-bottom:6px"
>
儿童 x
{{
jo
.
price2_qty
}}
</p>
<p
v-if=
"jo.price3_qty>0"
style=
"margin-bottom:6px"
>
婴儿 x
{{
jo
.
price3_qty
}}
</p>
<p
v-if=
"jo.price4_qty>0"
style=
"margin-bottom:6px"
>
老人 x
{{
jo
.
price4_qty
}}
</p>
</el-col>
</el-row>
</div>
<div
class=
"commomStyle"
>
<div
class=
"titleDiv"
>
<!--
<span
class=
"redSpan"
></span>
-->
<el-row>
<el-col
:span=
"12"
><span
class=
"f18 pfR"
>
订单总额
</span></el-col>
<el-col
:span=
"12"
><span
class=
"f18 cee"
>
¥
{{
oldModel
.
TotalPrice
}}
</span></el-col>
</el-row>
</div>
<ul
class=
"fysm f14"
style=
"padding:20px"
>
<div
v-if=
"oldModel.OldContent"
>
<el-row
v-if=
"jo.price1_qty>0"
style=
"margin-bottom:7px"
>
<el-col
:span=
"6"
>
成人 x
{{
jo
.
price1_qty
}}
</el-col>
<el-col
:span=
"12"
><div
class=
"dashDiv"
></div></el-col>
<el-col
style=
"text-align:center"
:span=
"6"
>
{{
oldModel
.
OldContent
.
price1_b2c
}}
</el-col>
</el-row>
<el-row
v-if=
"jo.price2_qty>0"
style=
"margin-bottom:7px"
>
<el-col
:span=
"6"
>
儿童 x
{{
jo
.
price2_qty
}}
</el-col>
<el-col
:span=
"12"
><div
class=
"dashDiv"
></div></el-col>
<el-col
style=
"text-align:center"
:span=
"6"
>
{{
oldModel
.
OldContent
.
price2_b2c
}}
</el-col>
</el-row>
<el-row
v-if=
"jo.price3_qty>0"
style=
"margin-bottom:7px"
>
<el-col
:span=
"6"
>
婴儿 x
{{
jo
.
price3_qty
}}
</el-col>
<el-col
:span=
"12"
><div
class=
"dashDiv"
></div></el-col>
<el-col
style=
"text-align:center"
:span=
"6"
>
{{
oldModel
.
OldContent
.
price2_b2c
}}
</el-col>
</el-row>
<el-row
v-if=
"jo.price4_qty>0"
style=
"margin-bottom:7px"
>
<el-col
:span=
"6"
>
老人 x
{{
jo
.
price4_qty
}}
</el-col>
<el-col
:span=
"12"
><div
class=
"dashDiv"
></div></el-col>
<el-col
style=
"text-align:center"
:span=
"6"
>
{{
oldModel
.
OldContent
.
price2_b2c
}}
</el-col>
</el-row>
</div>
<div
class=
"f14"
>
<el-row
style=
"margin-bottom:7px"
>
<el-col
:span=
"6"
>
优惠金额
</el-col>
<el-col
:span=
"12"
><div
class=
"dashDiv"
></div></el-col>
<el-col
style=
"text-align:center"
:span=
"6"
>
¥
{{
oldModel
.
DiscountMoney
}}
</el-col>
</el-row>
</div>
</ul>
</div>
</el-col>
<el-col
:span=
"1"
>
</el-col>
<el-col
class=
"Right"
:span=
"17"
>
<div
class=
"commomStyle"
>
<div
class=
"titleDiv"
>
<span
class=
"redSpan"
></span>
<span
v-if=
"oldModel.OrderStatus!=2"
class=
"f18 pfR"
>
订单编号:
{{
oldModel
.
OrderID
}}
</span>
<span
class=
"f18 cee pfR"
v-if=
"oldModel.OrderStatus==2"
>
订单已取消
</span>
</div>
<ul
class=
"fysm f14"
style=
"padding:20px;position:relative"
>
<li>
<img
src=
"../../../assets/img/free/cp.png"
alt=
""
>
<span
class=
"c88 marginSpan"
>
产品编号
</span>
<span>
{{
jo
.
prod_no
}}
</span>
</li>
<li>
<img
src=
"../../../assets/img/free/gsmc.png"
alt=
""
>
<span
class=
"c88 marginSpan"
>
产品名称
</span>
<span>
{{
jo
.
prod_name
}}
</span>
</li>
<li>
<img
src=
"../../../assets/img/free/gmr.png"
alt=
""
>
<span
class=
"c88"
style=
"margin:0 29px 0 6px;"
>
购买人
</span>
<span>
{{
jo
.
buyer_last_name
}}{{
jo
.
buyer_first_name
}}
</span>
</li>
<li>
<img
src=
"../../../assets/img/free/yx.png"
alt=
""
>
<span
class=
"c88 marginSpan"
>
电子邮箱
</span>
<span>
{{
jo
.
buyer_Email
}}
</span>
</li>
<li>
<img
src=
"../../../assets/img/free/dh.png"
alt=
""
>
<span
class=
"c88 marginSpan"
>
联系电话
</span>
<span>
{{
jo
.
buyer_tel_number
}}
</span>
</li>
<li>
<img
src=
"../../../assets/img/free/dgrq.png"
alt=
""
>
<span
class=
"c88 marginSpan"
>
订购日期
</span>
<span>
{{
jo
.
order_date
}}
</span>
</li>
</ul>
</div>
<div
class=
"commomStyle"
>
<div
class=
"titleDiv"
>
<span
class=
"redSpan"
></span>
<span
class=
"f18 pfR"
>
行程介绍
</span>
</div>
<div
style=
"padding:20px"
>
<div
class=
"f12"
>
<div
style=
"margin-bottom:20px;line-height:2"
>
{{
dataDetail
.
prod_desc
}}
</div>
<p
class=
"f14 pfR"
style=
"color:#000000;margin-bottom:15px"
v-if=
"dataDetail.tour_list.length>0"
>
行程列表
</p>
<div
v-for=
"(item,index) in dataDetail.tour_list"
:key=
"index+100"
>
<p
style=
"margin-top:10px"
>
第
{{
item
.
tour_day
}}
天
</p>
<p
style=
"padding:8px 0"
>
说明
{{
item
.
tour_desc
}}
</p>
<div
v-if=
"item.photo_url&&item.photo_url!=''"
>
<img
style=
"width:100%;height: auto;display:block"
:src=
"item.photo_url"
alt=
""
>
</div>
</div>
<div
v-if=
"dataDetail.meal_list"
>
<p
class=
"f14 pfR"
style=
"color:#000000;margin-bottom:15px"
v-if=
"dataDetail.meal_list.length>0"
>
餐食列表
</p>
<div
v-for=
"(item,index) in dataDetail.meal_list"
:key=
"index+100"
>
<p>
行程第
{{
item
.
tour_day
}}
天提供餐食
</p>
<p
style=
"padding:8px 0"
>
<span>
早餐:
{{
item
.
is_breakfast
}}
</span>
<span>
午餐:
{{
item
.
is_lunch
}}
</span>
<span>
晚餐:
{{
item
.
is_dinner
}}
</span>
</p>
</div>
</div>
</div>
</div>
</div>
<div
class=
"commomStyle"
>
<div
class=
"titleDiv"
>
<span
class=
"redSpan"
></span>
<span
class=
"f18 pfR"
>
注意事项
</span>
</div>
<div
class=
"f12"
style=
"padding:20px"
>
<p
v-for=
"(item,index) in dataDetail.remind_list"
:key=
"index+50"
><span
class=
"f26 pfR"
>
.
</span>
{{
item
.
remind_desc
}}
</p>
</div>
</div>
<div
v-if=
"dataDetail.prod_tips!=''"
class=
"commomStyle"
>
<div
class=
"titleDiv"
>
<span
class=
"redSpan"
></span>
<span
class=
"f18 pfR"
>
温馨提示
</span>
</div>
<div
class=
"f12"
style=
"padding:20px"
>
<div>
{{
dataDetail
.
prod_tips
}}
</div>
</div>
</div>
</el-col>
</el-row>
</div>
<el-dialog
title=
"取消订单"
width=
"400px"
:visible
.
sync=
"dialogFormVisible"
>
<el-form
:model=
"exitMsg"
label-width=
"80px"
>
<el-form-item
label=
"取消类型"
>
<el-select
size=
"small"
v-model=
"exitMsg.cancel_type"
placeholder=
"请选择取消类型"
>
<el-option
label=
"行程变更或取消"
value=
"MC001"
></el-option>
<el-option
label=
"重复订单"
value=
"MC002"
></el-option>
<el-option
label=
"价格原因"
value=
"MC003"
></el-option>
<el-option
label=
"个人因素"
value=
"MC004"
></el-option>
<el-option
label=
"交通因素"
value=
"MC005"
></el-option>
<el-option
label=
"交通因素"
value=
"MC006"
></el-option>
<el-option
label=
"其他"
value=
"MC999"
></el-option>
</el-select>
</el-form-item>
<el-form-item
label=
"取消原因"
>
<el-input
v-model=
"exitMsg.cancel_desc"
autocomplete=
"off"
type=
"textarea"
:rows=
"2"
></el-input>
</el-form-item>
</el-form>
<div
slot=
"footer"
class=
"dialog-footer"
>
<el-button
size=
"small"
@
click=
"dialogFormVisible = false"
>
取 消
</el-button>
<el-button
size=
"small"
type=
"danger"
@
click=
"ExitOrder"
>
确 定
</el-button>
</div>
</el-dialog>
</div>
</
template
>
<
script
>
export
default
{
data
()
{
return
{
defaultImg
:
'this.src="'
+
require
(
'../../../assets/img/bg_c2@3x.png'
)
+
'"'
,
dialogFormVisible
:
false
,
exitMsg
:{
orderId
:
''
,
cancel_type
:
""
,
cancel_desc
:
""
,
CancelBy
:
''
,
},
msg
:{
orderId
:
''
,
},
payInfoObj
:{},
oldModel
:{},
jo
:{},
DomainUrl
:
""
,
dataDetail
:{
tour_list
:[],
},
IsCanOrder
:
-
1
,
payInfoGo
:{},
ImgSrc
:
''
,
}
},
created
(){
if
(
this
.
$route
.
query
.
ID
){
this
.
msg
.
orderId
=
this
.
$route
.
query
.
ID
;
}
this
.
getPayInfo
();
},
mounted
()
{
},
methods
:
{
Exit
(){
let
userInfo
=
this
.
getLocalStorage
();
this
.
dialogFormVisible
=
true
;
this
.
exitMsg
.
orderId
=
this
.
oldModel
.
OrderID
;
// console.log(item);
this
.
exitMsg
.
CancelBy
=
userInfo
.
customerId
;
},
ExitOrder
(){
if
(
this
.
exitMsg
.
cancel_type
==
""
){
this
.
Error
(
"请选择取消类型!"
);
return
;
}
this
.
dialogFormVisible
=
false
;
this
.
apipost
(
"dmc_post_Get_KKDayOrderCancel"
,
this
.
exitMsg
,
res
=>
{
// console.log("res",res);
if
(
res
.
data
.
resultCode
==
1
)
{
this
.
Success
(
res
.
data
.
message
);
this
.
$emit
(
'queryDays'
)
this
.
exitMsg
=
{
orderId
:
''
,
cancel_type
:
""
,
cancel_desc
:
""
,
CancelBy
:
''
,
};
}
else
{
this
.
$message
.
error
(
res
.
data
.
message
);
}
},
null
);
},
getPayInfo
(){
this
.
apipost
(
"dmc_post_Get_KKDayOrderQueryOrderDtl"
,
this
.
msg
,
res
=>
{
// console.log("sfafg",res);
if
(
res
.
data
.
resultCode
==
1
)
{
this
.
oldModel
=
res
.
data
.
data
.
oldModel
;
this
.
jo
=
res
.
data
.
data
.
jo
;
this
.
IsCanOrder
=
res
.
data
.
data
.
IsCanOrder
;
this
.
payInfoGo
=
res
.
data
.
data
;
if
(
this
.
oldModel
.
OldContent
){
this
.
oldModel
.
OldContent
=
JSON
.
parse
(
this
.
oldModel
.
OldContent
)
this
.
ImgSrc
=
this
.
oldModel
.
OldContent
.
ProductPic
;
}
this
.
getDetails
(
this
.
oldModel
.
ProductNo
);
}
else
{
this
.
$message
.
error
(
res
.
data
.
message
);
}
},
null
);
},
getDetails
(
id
){
this
.
apiJavaPost
(
"/api/kkday/QueryProduct"
,
{
"prod_no"
:
id
?
id
:
"28474"
,
"locale"
:
"zh-cn"
},
res
=>
{
if
(
res
.
data
.
data
.
result
===
"00"
)
{
this
.
DomainUrl
=
res
.
data
.
data
.
KkdayDomain
;
let
data
=
res
.
data
.
data
.
prod
console
.
log
(
"data"
,
data
)
this
.
dataDetail
=
data
;
}
else
{
this
.
Error
(
res
.
data
.
data
.
result_msg
)
}
},
null
);
},
}
}
</
script
>
<
style
>
.FreeInfo
.Right
.btnDiv
span
{
display
:
block
;
width
:
272px
;
height
:
45px
;
line-height
:
45px
;
border
:
1px
solid
rgba
(
238
,
68
,
84
,
1
);
border-radius
:
4px
;
margin-bottom
:
20px
;
text-align
:
center
;
cursor
:
pointer
;
}
.FreeInfo
.Right
.btnDiv
{
position
:
absolute
;
top
:
30px
;
right
:
20px
;
}
.FreeInfo
.Right
.fysm
li
{
display
:
flex
;
align-items
:
center
;
margin-bottom
:
15px
;
}
.FreeInfo
.Right
.marginSpan
{
margin
:
0
15px
0
6px
;
}
.FreeInfo
.Left
.imgDiv
{
width
:
100%
;
height
:
194px
;
border-radius
:
3px
;
overflow
:
hidden
;
}
.FreeInfo
.Left
.imgDiv
img
{
width
:
auto
!important
;
}
.FreeInfo
.commomStyle
{
border
:
1px
solid
rgba
(
224
,
224
,
224
,
1
);
width
:
100%
;
box-sizing
:
border-box
;
margin-top
:
20px
;
}
.FreeInfo
.commomStyle
.titleDiv
.redSpan
{
width
:
4px
;
height
:
20px
;
background
:
rgba
(
238
,
68
,
84
,
1
);
display
:
inline-block
;
position
:
absolute
;
left
:
0
;
top
:
15px
;
}
.FreeInfo
.commomStyle
.titleDiv
{
width
:
100%
;
height
:
50px
;
line-height
:
50px
;
border-bottom
:
1px
solid
rgba
(
224
,
224
,
224
,
1
);
background
:
#EDF4FF
;
position
:
relative
;
padding-left
:
20px
;
box-sizing
:
border-box
;
}
.FreeInfo
.Left
.dashDiv
{
border-bottom
:
1px
dashed
#999999
;
margin-top
:
10px
;
}
</
style
>
src/components/TravelManager/TravelList/freeTravelOrderStati.vue
0 → 100644
View file @
df99e1f0
<
style
>
.SalesHotelOrder
.query-box
{
border-bottom
:
0
;
}
.SalesHotelOrder
.SalesHotelOrderTable
{
width
:
100%
;
min-width
:
1500px
;
font-size
:
14px
;
color
:
#333
;
border-bottom
:
1px
solid
#cccccc
;
border-right
:
1px
solid
#cccccc
;
border-collapse
:
collapse
;
}
.SalesHotelOrder
.SalesHotelOrderTable
th
{
background
:
#e6e6e6
;
height
:
30px
;
font-size
:
12px
;
text-align
:
center
;
border-top
:
1px
solid
#cccccc
;
border-left
:
1px
solid
#cccccc
;
}
.SalesHotelOrder
.SalesHotelOrderTable
tr
td
{
height
:
60px
;
padding
:
10px
;
background-color
:
#fff
;
text-align
:
center
;
border-top
:
1px
solid
#cccccc
;
border-left
:
1px
solid
#cccccc
;
}
.SalesHotelOrder
.SalesHotelOrderTable
tbody
tr
:last-child
{
border-bottom
:
2px
solid
#333
;
}
.SalesHotelOrder
.SH_beizhu
{
float
:
left
;
}
.SalesHotelOrder
.SH_beizhuInner
{
float
:
left
;
width
:
85%
;
}
.SalesHotelOrder
.SH_OrderDan
>
div
{
display
:
inline-block
;
}
.groupTourOrder_count
{
margin
:
0
0
20px
0
;
width
:
100%
;
height
:
auto
;
}
.groupTourOrder_count_col
{
height
:
80px
;
}
.groupTourOrder_count_item
{
font-weight
:
400
;
padding
:
10px
;
height
:
100%
;
border
:
1px
solid
#E6E6E6
;
background-color
:
#FFFFFF
;
color
:
#333333
;
}
.groupTourOrder_count_item
>
div
>
i
{
font-size
:
12px
;
vertical-align
:
bottom
;
}
.groupTourOrder_count_item
>
div
>
span
:nth-child
(
2
)
{
font-size
:
14px
;
vertical-align
:
bottom
;
}
.groupTourOrder_count_item
>
div
>
span
:nth-child
(
3
)
{
font-weight
:
bold
;
font-size
:
16px
;
vertical-align
:
bottom
;
}
.groupTourOrder_count_item
>
p
{
font-size
:
12px
;
line-height
:
18px
;
}
.groupTourOrder_count_item
>
p
>
span
{
margin
:
0
5px
0
0
;
white-space
:
nowrap
;
}
.groupTourOrder_count_green
{
color
:
#1BC594
;
}
.groupTourOrder_count_blue
{
color
:
#4D7AFD
;
}
.groupTourOrder_count_yellow
{
color
:
#FF9C00
;
}
.groupTourOrder_count_gray
{
color
:
#999999
;
}
.HT_total
span
{
display
:
inline-block
;
margin
:
5px
10px
0
0
!important
;
}
.HT_totalFinacel
span
{
display
:
inline-block
;
margin
:
3px
5px
0
0
!important
;
}
.color_red_order
{
color
:
#e95252
!important
;
}
.groupTourOrderByTuan_ico
>
i
{
display
:
inline-block
;
margin
:
0
2px
0
0
;
width
:
8px
;
height
:
8px
;
border-radius
:
2px
;
vertical-align
:
middle
;
}
.groupTourOrder_tickets_red
{
color
:
#FF0000
;
text-decoration
:
underline
;
cursor
:
pointer
;
}
.groupTourOrder_tickets_blue
{
color
:
#0000FF
;
text-decoration
:
underline
;
cursor
:
pointer
;
}
.groupTourOrder_tickets_green
{
color
:
#008000
;
text-decoration
:
underline
;
cursor
:
pointer
;
}
.groupTourOrder_tickets_black
{
color
:
#000000
;
text-decoration
:
underline
;
cursor
:
pointer
;
}
</
style
>
<
template
>
<div
class=
"flexOne SalesHotelOrder"
>
<div
class=
"query-box"
>
<ul>
<li>
<span>
<em>
订单状态
</em>
<el-select
v-model=
'msg.B2BSelectOrderState'
filterable
:placeholder=
"$t('pub.pleaseSel')"
>
<el-option
v-for=
"item in orderStatus"
:label=
'item.Name'
:value=
'item.Id'
:key=
'item.Id'
>
</el-option>
</el-select>
</span>
</li>
<li>
<span>
<em>
公司
</em>
<el-select
v-model=
"msg.RB_Branch_Id"
placeholder=
"请选择公司"
@
change=
"getDepartmentMsg.RB_Branch_Id = msg.RB_Branch_Id, getDepartment(),msg.RB_Department_Id = 0,msg.CreateBy = 0"
>
<el-option
:value=
"-1"
:label=
"$t('pub.unlimitedSel')"
></el-option>
<el-option
v-for=
'item in CompanyList'
:label=
'item.BName'
:value=
'item.Id'
:key=
'item.Id'
>
</el-option>
</el-select>
</span>
</li>
<li>
<span>
<em>
部门
</em>
<el-select
v-model=
"msg.RB_Department_Id"
placeholder=
"请选择部门"
@
change=
"employeeMsg.DepartmentId = msg.RB_Department_Id,employeeMsg.BranchId=msg.RB_Branch_Id, getEmployee(), msg.CreateBy=0"
>
<el-option
:value=
"0"
:label=
"$t('pub.unlimitedSel')"
></el-option>
<el-option
v-for=
'item in DepartmentList'
:label=
'item.DepartmentName'
:value=
'item.DepartmentID'
:key=
'item.DepartmentID'
>
</el-option>
</el-select>
</span>
</li>
<li>
<span>
<em>
创建人
</em>
<el-select
filterable
v-model=
'msg.CreateBy'
>
<el-option
:value=
"0"
:label=
"$t('pub.unlimitedSel')"
></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>
<span><em>
订单号
</em>
<el-input
v-model=
'msg.ProductName'
:placeholder=
"$t('pub.pleaseImport')"
></el-input>
</span>
</li>
<li>
<span>
<em>
游玩开始时间
</em>
<el-date-picker
type=
"date"
v-model=
"msg.StartTime"
:picker-options=
"StartTimeBefore"
value-format=
"yyyy-MM-dd"
placeholder
></el-date-picker>
</span>
</li>
<li>
<span>
<em>
游玩结束时间
</em>
<el-date-picker
type=
"date"
v-model=
"msg.EndTime"
:picker-options=
"EndTimeAfter"
value-format=
"yyyy-MM-dd"
placeholder
></el-date-picker>
</span>
</li>
<li>
<span>
<em>
创建开始时间
</em>
<el-date-picker
type=
"date"
v-model=
"msg.CStartTime"
:picker-options=
"CStartTimeBefore"
value-format=
"yyyy-MM-dd"
placeholder
></el-date-picker>
</span>
</li>
<li>
<span>
<em>
创建结束时间
</em>
<el-date-picker
type=
"date"
v-model=
"msg.CEndTime"
:picker-options=
"CEndTimeAfter"
value-format=
"yyyy-MM-dd"
placeholder
></el-date-picker>
</span>
</li>
<li>
<input
type=
"button"
class=
"hollowFixedBtn"
@
click=
"resetPageIndex();getList(),getTotalCount()"
:value=
"$t('pub.searchBtn')"
/>
</li>
</ul>
</div>
<!-- 统计版块 -->
<div
class=
"groupTourOrder_count"
>
<el-row
:gutter=
"20"
>
<el-col
:span=
"5"
class=
"groupTourOrder_count_col"
>
<div
class=
"groupTourOrder_count_item HT_total"
>
<div>
<i
class=
"iconfont icon-qian groupTourOrder_count_green"
></i>
<span>
总价
</span>
</div>
<p>
<span
class=
"groupTourOrder_count_green"
>
总价:
{{
TotalMsg
.
totalPrice
}}
</span>
<span
class=
"groupTourOrder_count_green"
>
总收入:
{{
TotalMsg
.
totalIncomePrice
}}
</span>
<span
class=
"color_red_order"
>
待收:
{{
TotalMsg
.
totalUnreceivedPrice
}}
</span>
</p>
</div>
</el-col>
<el-col
:span=
"5"
class=
"groupTourOrder_count_col"
>
<div
class=
"groupTourOrder_count_item HT_total"
>
<div>
<i
class=
"iconfont icon-tongji1 groupTourOrder_count_blue"
></i>
<span>
数量
</span>
</div>
<p>
<span
class=
"groupTourOrder_count_green"
>
旅客总数:
{{
TotalMsg
.
totalRoomNum
}}
</span>
<span
class=
"color_red_order"
>
取消数:
{{
TotalMsg
.
totalCancelRoomNum
}}
</span>
</p>
</div>
</el-col>
<el-col
:span=
"5"
class=
"groupTourOrder_count_col"
>
<div
class=
"groupTourOrder_count_item HT_total"
>
<div>
<i
class=
"iconfont icon-tongji1 groupTourOrder_count_gray"
></i>
<span>
其他统计项
</span>
</div>
<p>
<span
class=
"groupTourOrder_count_green"
>
内部报名:
{{
TotalMsg
.
totalERP
}}
</span>
<span
class=
"color_red_order"
>
B2B/WAP网络报名:
{{
TotalMsg
.
totalB2B
}}
</span>
</p>
</div>
</el-col>
<el-col
:span=
"5"
class=
"groupTourOrder_count_col"
>
<div
class=
"groupTourOrder_count_item HT_totalFinacel"
>
<div>
<i
class=
"iconfont icon-tongji1 groupTourOrder_count_gray"
></i>
<span>
财务单据说明
</span>
</div>
<p>
<span
class=
"groupTourOrderByTuan_ico"
><i
style=
"background-color:#0000ff"
></i><span>
已打单
</span></span>
<span
class=
"groupTourOrderByTuan_ico"
><i
style=
"background-color:#00FF00"
></i><span>
平台出纳已审核
</span></span>
<span
class=
"groupTourOrderByTuan_ico"
><i
style=
"background-color:#FF0000"
></i><span>
银行出纳已审核
</span></span>
<span
class=
"groupTourOrderByTuan_ico"
><i
style=
"background-color:#000000"
></i><span>
已通过
</span></span>
</p>
</div>
</el-col>
</el-row>
</div>
<table
class=
"SalesHotelOrderTable"
border=
"0"
cellspacing=
"0"
cellpadding=
"0"
v-loading=
"loading"
>
<tr>
<th>
订单号
</th>
<th>
第三方订单号
</th>
<th>
人数
</th>
<th>
总额
</th>
<th>
实收
</th>
<th>
大红包
</th>
<th>
优惠金额
</th>
<th>
待收金额
</th>
<th>
订单状态
</th>
<th>
创建时间
</th>
<th>
游玩时间
</th>
<th>
取消费用
</th>
<th>
客户信息
</th>
<th>
创建人
</th>
<th>
结束时间
</th>
<th>
操作
</th>
</tr>
<tbody
v-for=
"(item,index) in dataList"
>
<tr>
<td
style=
"border-bottom:2px solid #333"
rowspan=
"2"
>
{{
item
.
OrderID
}}
</td>
<td>
{{
item
.
ThirdOrderNo
}}
</td>
<td>
{{
item
.
Number
}}
</td>
<td>
{{
item
.
TotalPrice
}}
</td>
<td>
{{
item
.
Income
}}
</td>
<td>
{{
item
.
RedEnvelopeMoney
}}
</td>
<td>
{{
item
.
DiscountMoney
}}
</td>
<td>
{{
item
.
DueinMoney
}}
</td>
<td>
<span
:class=
"item.OrderStatus=='已取消'?'color_red_order':''"
>
{{
item
.
OrderStatus
}}
</span>
</td>
<td>
{{
item
.
CreateDateStr
}}
</td>
<td>
{{
item
.
CheckInStr
}}
</td>
<td>
{{
item
.
CancelFee
}}
</td>
<td>
{{
item
.
CustomerName
}}
/
{{
item
.
CustomerPhone
}}
</td>
<td>
{{
item
.
CreateByStr
}}
</td>
<td>
{{
item
.
EndTime
}}
</td>
<td>
<el-row>
<el-button-group>
<el-tooltip
class=
"item"
effect=
"dark"
content=
"付款"
placement=
"top-start"
v-if=
"item.OrderStatus!=='已取消'"
>
<el-button
type=
"primary"
icon=
"iconfont icon-fukuan2"
@
click=
"getShouKuan(item)"
></el-button>
</el-tooltip>
<el-tooltip
class=
"item"
effect=
"dark"
content=
"取消订单"
placement=
"top-start"
v-if=
"item.OrderStatus!=='已取消'"
>
<el-button
type=
"info"
v-if=
"item.IsCanOrder == 0"
icon=
"iconfont icon-quxiao1"
@
click=
"Exit(item)"
></el-button>
</el-tooltip>
<el-tooltip
class=
"item"
effect=
"dark"
content=
"确定"
placement=
"top-start"
v-if=
"item.OrderStatus!=='已取消'"
>
<el-button
type=
"success"
icon=
"iconfont icon-duigou"
v-if=
"item.IsCanClear == 0"
@
click=
"queren(1, item.OrderID)"
></el-button>
</el-tooltip>
<el-tooltip
class=
"item"
effect=
"dark"
content=
"取消确认"
placement=
"top-start"
v-if=
"item.OrderStatus!=='已取消'"
>
<el-button
type=
"info"
icon=
" iconfont icon-quxiao1"
v-if=
"item.IsCanClear == 1"
@
click=
"queren(0, item.OrderID)"
></el-button>
</el-tooltip>
<!--
<el-tooltip
class=
"item"
effect=
"dark"
content=
"关联团"
placement=
"top-start"
>
<el-button
type=
"warning"
icon=
"iconfont icon-guanlian"
@
click=
"TCID = '',GLOrderID = item.OrderID,dialogFormVisible = true"
></el-button>
</el-tooltip>
-->
<el-tooltip
class=
"item"
effect=
"dark"
content=
"详情"
placement=
"top-start"
>
<el-button
type=
"success"
icon=
"iconfont icon-sousuo"
@
click=
"goOrderDetails(item.OrderID)"
></el-button>
</el-tooltip>
</el-button-group>
</el-row>
</td>
</tr>
<tr>
<td
colspan=
"7"
style=
"text-align:left;width:600px"
>
<div
class=
"clearfix"
>
<div
class=
"SH_beizhu"
style=
""
>
备注:
</div>
<div
class=
"SH_beizhuInner"
>
{{
item
.
Remark
}}
</div>
</div>
</td>
<td
colspan=
"9"
style=
"text-align:left;width:600px"
>
<div
class=
"SH_OrderDan"
>
<div>
收款单据:
</div>
<div>
<span
v-for=
"subItem in item.FinanceList"
>
<span
@
click=
"goUrlFinacel('财务单据','FinancialDocumentsDetail',subItem.FrID)"
v-if=
"subItem.ColorState===1"
class=
"groupTourOrder_tickets_blue"
>
{{
subItem
.
FrID
}}
</span>
<span
@
click=
"goUrlFinacel('财务单据','FinancialDocumentsDetail',subItem.FrID)"
v-else-if=
"subItem.ColorState===2"
class=
"groupTourOrder_tickets_green"
>
{{
subItem
.
FrID
}}
</span>
<span
@
click=
"goUrlFinacel('财务单据','FinancialDocumentsDetail',subItem.FrID)"
v-else-if=
"subItem.ColorState===3"
class=
"groupTourOrder_tickets_red"
>
{{
subItem
.
FrID
}}
</span>
<span
@
click=
"goUrlFinacel('财务单据','FinancialDocumentsDetail',subItem.FrID)"
v-else-if=
"subItem.ColorState===4"
class=
"groupTourOrder_tickets_black"
>
{{
subItem
.
FrID
}}
</span>
</span>
<span
v-if=
"item.FinanceList==0"
>
暂无数据
</span>
</div>
</div>
<div
class=
"SH_OrderDan"
>
<div>
付款单据:
</div>
<div>
<span
v-for=
"subItem in item.RefundFinanceList"
>
<span
@
click=
"goUrlFinacel('财务单据','FinancialDocumentsDetail',subItem.FrID)"
v-if=
"subItem.ColorState===1"
class=
"groupTourOrder_tickets_blue"
>
{{
subItem
.
FrID
}}
</span>
<span
@
click=
"goUrlFinacel('财务单据','FinancialDocumentsDetail',subItem.FrID)"
v-else-if=
"subItem.ColorState===2"
class=
"groupTourOrder_tickets_green"
>
{{
subItem
.
FrID
}}
</span>
<span
@
click=
"goUrlFinacel('财务单据','FinancialDocumentsDetail',subItem.FrID)"
v-else-if=
"subItem.ColorState===3"
class=
"groupTourOrder_tickets_red"
>
{{
subItem
.
FrID
}}
</span>
<span
@
click=
"goUrlFinacel('财务单据','FinancialDocumentsDetail',subItem.FrID)"
v-else-if=
"subItem.ColorState===4"
class=
"groupTourOrder_tickets_black"
>
{{
subItem
.
FrID
}}
</span>
</span>
<span
v-if=
"item.RefundFinanceList==0"
>
暂无数据
</span>
</div>
</div>
</td>
</tr>
</tbody>
</table>
<div
class=
"noDataNotice"
v-if=
"dataList.length
<1
"
>
<i
class=
"iconfont icon-kong"
></i>
<p>
{{
$t
(
"active.ld_noData"
)
}}
</p>
</div>
<el-dialog
title=
"请选择团号"
width=
"400px"
:visible
.
sync=
"dialogFormVisible"
center
:before-close=
"closeChangeMachie"
>
<el-form
label-width=
"110px"
>
<el-form-item
label=
"团号"
>
<el-select
v-model=
"TCID"
filterable
remote
reserve-keyword
:placeholder=
"$t('pub.pleaseImport')"
:remote-method=
"remoteMethodTCNum"
:loading=
"loading2"
>
<el-option
v-for=
"item in searchList"
:key=
"item.TCID"
:label=
"item.TCNUM"
:value=
"item.TCID"
>
<span
style=
"float: left"
>
{{
item
.
TCNUM
}}
</span>
</el-option>
</el-select>
</el-form-item>
</el-form>
<div
slot=
"footer"
class=
"dialog-footer"
>
<button
class=
"hollowFixedBtn"
@
click=
"dialogFormVisible=false,GLOrderID = ''"
>
{{
$t
(
'pub.cancelBtn'
)
}}
</button>
<button
class=
"normalBtn"
type=
"primary"
@
click=
"querenGL"
>
{{
$t
(
'pub.sureBtn'
)
}}
</button>
</div>
</el-dialog>
<el-pagination
background
@
current-change=
"handleCurrentChange"
:current-page
.
sync=
"currentPage"
layout=
"total,prev, pager, next, jumper"
:page-size=
msg.pageSize
:total=
total
>
</el-pagination>
<el-dialog
title=
"取消订单"
width=
"400px"
:visible
.
sync=
"dialogFormVisible"
>
<el-form
:model=
"exitMsg"
label-width=
"80px"
>
<el-form-item
label=
"取消类型"
>
<el-select
size=
"small"
v-model=
"exitMsg.cancel_type"
placeholder=
"请选择取消类型"
>
<el-option
label=
"行程变更或取消"
value=
"MC001"
></el-option>
<el-option
label=
"重复订单"
value=
"MC002"
></el-option>
<el-option
label=
"价格原因"
value=
"MC003"
></el-option>
<el-option
label=
"个人因素"
value=
"MC004"
></el-option>
<el-option
label=
"交通因素"
value=
"MC005"
></el-option>
<el-option
label=
"交通因素"
value=
"MC006"
></el-option>
<el-option
label=
"其他"
value=
"MC999"
></el-option>
</el-select>
</el-form-item>
<el-form-item
label=
"取消原因"
>
<el-input
v-model=
"exitMsg.cancel_desc"
autocomplete=
"off"
type=
"textarea"
:rows=
"2"
></el-input>
</el-form-item>
</el-form>
<div
slot=
"footer"
class=
"dialog-footer"
>
<el-button
size=
"small"
@
click=
"dialogFormVisible = false"
>
取 消
</el-button>
<el-button
size=
"small"
type=
"danger"
@
click=
"ExitOrder"
>
确 定
</el-button>
</div>
</el-dialog>
</div>
</
template
>
<
script
>
export
default
{
data
()
{
return
{
dialogFormVisible
:
false
,
exitMsg
:{
orderId
:
''
,
cancel_type
:
""
,
cancel_desc
:
""
,
CancelBy
:
''
,
},
msg
:
{
pageIndex
:
1
,
pageSize
:
10
,
B2BSelectOrderState
:
0
,
RB_Branch_Id
:
-
1
,
RB_Department_Id
:
0
,
CreateBy
:
0
,
HotelName
:
''
,
StartTime
:
''
,
EndTime
:
''
,
CStartTime
:
''
,
CEndTime
:
''
},
TCID
:
''
,
GLOrderID
:
''
,
total
:
0
,
currentPage
:
1
,
loading
:
false
,
StartTimeBefore
:
{
disabledDate
:
time
=>
{
if
(
this
.
msg
.
EndTime
==
null
)
{
return
false
;
}
else
{
let
endTime
=
new
Date
(
this
.
msg
.
EndTime
)
return
endTime
.
getTime
()
<
time
.
getTime
()
}
}
},
EndTimeAfter
:
{
disabledDate
:
time
=>
{
let
startTime
=
new
Date
(
this
.
msg
.
StartTime
)
return
startTime
.
getTime
()
>=
time
.
getTime
()
}
},
CStartTimeBefore
:
{
disabledDate
:
time
=>
{
if
(
this
.
msg
.
CEndTime
==
null
)
{
return
false
;
}
else
{
let
endTime
=
new
Date
(
this
.
msg
.
CEndTime
)
return
endTime
.
getTime
()
<
time
.
getTime
()
}
}
},
CEndTimeAfter
:
{
disabledDate
:
time
=>
{
let
startTime
=
new
Date
(
this
.
msg
.
CStartTime
)
return
startTime
.
getTime
()
>=
time
.
getTime
()
}
},
orderStatus
:[{
Name
:
'全部'
,
Id
:
0
},{
Name
:
'待支付'
,
Id
:
1
},{
Name
:
'交易完成'
,
Id
:
2
},{
Name
:
'取消'
,
Id
:
3
}],
dataList
:
[],
getCompanyMsg
:{
// 公司
RB_Group_Id
:
'0'
,
Status
:
'0'
,
},
getDepartmentMsg
:{
// 部门
RB_Group_Id
:
''
,
RB_Branch_Id
:
''
,
Status
:
0
,
ParentId
:
-
1
,
Tier
:
0
,
},
employeeMsg
:{
// 员工
GroupId
:
''
,
BranchId
:
-
1
,
DepartmentId
:
0
,
PostId
:
0
,
IsLeave
:
0
,
},
CompanyList
:[],
DepartmentList
:[],
EmployeeList
:[],
//统计快
TotalMsg
:[],
searchList
:
[],
loading2
:
false
,
dialogFormVisible
:
false
,
};
},
methods
:
{
Exit
(
item
){
let
userInfo
=
this
.
getLocalStorage
();
this
.
dialogFormVisible
=
true
;
this
.
exitMsg
.
orderId
=
item
.
OrderID
;
this
.
exitMsg
.
CancelBy
=
userInfo
.
EmployeeId
;
},
ExitOrder
(){
if
(
this
.
exitMsg
.
cancel_type
==
""
){
this
.
Error
(
"请选择取消类型!"
);
return
;
}
this
.
apipost
(
"dmc_post_Get_KKDayOrderCancel"
,
this
.
exitMsg
,
res
=>
{
if
(
res
.
data
.
resultCode
==
1
)
{
this
.
Success
(
res
.
data
.
message
);
this
.
$emit
(
'queryDays'
)
this
.
exitMsg
=
{
orderId
:
''
,
cancel_type
:
""
,
cancel_desc
:
""
,
CancelBy
:
''
,
};
}
else
{
this
.
$message
.
error
(
res
.
data
.
message
);
}
this
.
dialogFormVisible
=
false
;
},
null
);
},
GotoUrl
(
TCNUM
)
{
this
.
$router
.
push
({
path
:
"TravelControlList"
,
query
:
{
tcmun
:
TCNUM
,
blank
:
'y'
,
tab
:
"团控查询"
,
}
});
},
querenGL
(){
this
.
apipost
(
"dmc_post_get_RelevanceTCID"
,{
TCID
:
this
.
TCID
,
OrderID
:
this
.
GLOrderID
},
res
=>
{
if
(
res
.
data
.
resultCode
==
1
)
{
this
.
Success
(
res
.
data
.
message
);
this
.
getList
();
this
.
dialogFormVisible
=
false
}
},
err
=>
{});
},
closeChangeMachie
(
done
)
{
// 弹=窗口关闭
done
();
},
remoteMethodTCNum
(
query
)
{
if
(
query
!==
''
||
this
.
addShow
)
{
this
.
loading2
=
true
;
this
.
apipost
(
"InvoiceApply_get_GetPriceList"
,{
TCNUM
:
query
},
res
=>
{
if
(
res
.
data
.
resultCode
==
1
)
{
this
.
searchList
=
res
.
data
.
data
;
this
.
loading2
=
false
;
}
},
err
=>
{});
}
else
{
this
.
searchList
=
[];
this
.
loading2
=
false
;
}
},
queren
(
type
,
OrderID
){
let
text
=
type
==
1
?
'确认后,订单不会自动取消'
:
'取消后,订单会自动取消'
this
.
$confirm
(
text
,
this
.
$t
(
'tips.tips'
),
{
confirmButtonText
:
this
.
$t
(
'pub.sureBtn'
),
cancelButtonText
:
this
.
$t
(
'pub.cancelBtn'
),
type
:
'warning'
}).
then
(()
=>
{
this
.
apipost
(
'KKDayOrder_Post_UpdateOrderCanClear'
,{
OrderID
:
OrderID
,
IsCanClear
:
type
},
res
=>
{
if
(
res
.
data
.
resultCode
==
1
){
this
.
Success
(
res
.
data
.
message
);
this
.
getList
();
}
else
{
this
.
Error
(
res
.
data
.
message
);
}
},
err
=>
{})
}).
catch
(()
=>
{
this
.
$message
({
type
:
'info'
,
message
:
this
.
$t
(
'ios.yi'
)
+
this
.
$t
(
'pub.cancelBtn'
)
});
});
},
goOrderDetails
(
ID
){
this
.
$router
.
push
({
name
:
'freeTravelOrderDetails'
,
query
:
{
ID
:
ID
,
blank
:
'y'
,
}
})
},
getList
()
{
//获取列表
this
.
loading
=
true
;
this
.
apipost
(
"sellorder_post_GetAllKKDayOrderList"
,
this
.
msg
,
res
=>
{
this
.
loading
=
false
;
if
(
res
.
data
.
resultCode
==
1
)
{
this
.
dataList
=
res
.
data
.
data
.
pageData
;
this
.
total
=
res
.
data
.
data
.
count
;
console
.
log
(
this
.
dataList
,
'datalist'
);
let
userInfo
=
this
.
getLocalStorage
();
let
EmployeeId
=
userInfo
.
EmployeeId
;
this
.
dataList
.
forEach
(
x
=>
{
if
((
x
.
CreateBy
==
EmployeeId
||
EmployeeId
==
1
||
EmployeeId
==
5
)
&&
x
.
IsCanOrder
==
0
){
x
.
ShowBtn
=
true
;
}
else
{
x
.
ShowBtn
=
false
;
}
})
}
else
{
this
.
Error
(
res
.
data
.
message
);
}
},
err
=>
{}
);
},
//获取统计数据
getTotalCount
(){
this
.
apipost
(
"sellorder_post_GetAllKKDayStatisticsList"
,
this
.
msg
,
res
=>
{
if
(
res
.
data
.
resultCode
==
1
)
{
this
.
TotalMsg
=
res
.
data
.
data
;
}
else
{
this
.
Error
(
res
.
data
.
message
);
}
},
err
=>
{}
);
},
handleCurrentChange
(
val
)
{
this
.
msg
.
pageIndex
=
val
;
this
.
getList
();
},
resetPageIndex
()
{
this
.
msg
.
pageIndex
=
1
;
this
.
currentPage
=
1
},
getCompanyList
:
function
()
{
//获取公司列表
this
.
apipost
(
'admin_get_BranchGetList'
,
this
.
getCompanyMsg
,
res
=>
{
if
(
res
.
data
.
resultCode
==
1
){
this
.
CompanyList
=
res
.
data
.
data
;
}
else
{}
},
err
=>
{})
},
getDepartment
:
function
()
{
//获取部门列表
this
.
apipost
(
'admin_get_DepartmentGetList'
,
this
.
getDepartmentMsg
,
res
=>
{
if
(
res
.
data
.
resultCode
==
1
)
{
this
.
DepartmentList
=
res
.
data
.
data
;
}
},
err
=>
{})
},
getEmployee
()
{
//员工
this
.
apipost
(
'admin_get_EmployeeGetList'
,
this
.
employeeMsg
,
res
=>
{
if
(
res
.
data
.
resultCode
==
1
)
{
this
.
EmployeeList
=
res
.
data
.
data
;
}
},
err
=>
{})
},
//点击取消操作
cancelHTorder
(
ThirdOrderNo
){
let
userInfo
=
this
.
getLocalStorage
();
let
EmployeeId
=
userInfo
.
EmployeeId
;
let
msg
=
{
bookingNumber
:
ThirdOrderNo
,
CancelBy
:
EmployeeId
,
CancelType
:
1
}
this
.
apipost
(
"dmc_post_Get_GetJAPAN_GetJAPAN_ReservationCancallation"
,
msg
,
res
=>
{
if
(
res
.
data
.
resultCode
==
1
)
{
this
.
Success
(
'取消成功'
);
this
.
getList
();
}
else
{
this
.
Error
(
res
.
data
.
message
);
}
},
null
);
},
//点击收款
getShouKuan
(
obj
){
let
TCIDARR
=
obj
.
TCID
?
[
obj
.
TCID
]
:
[];
let
orderObj
=
{
OrderID
:
obj
.
OrderID
,
OrderSource
:
15
,
Obj
:
{},
SourceID
:
null
,
TCIDList
:
TCIDARR
}
this
.
$router
.
push
({
name
:
'ChoiceAddFinancialDocuments'
,
query
:{
"Type"
:
1
,
"companyID"
:
obj
.
RB_Branch_id
,
"path"
:
""
,
'blank'
:
'y'
,
'orderObj'
:
JSON
.
stringify
(
orderObj
),
'tradeWay'
:
1
,
'platformAccount'
:
0
}
});
},
//跳转财务单据
goUrlFinacel
:
function
(
name
,
path
,
id
)
{
this
.
$router
.
push
({
name
:
path
,
query
:
{
id
:
id
,
blank
:
"y"
,
tab
:
name
}
});
}
},
mounted
()
{
let
userInfo
=
this
.
getLocalStorage
();
this
.
getCompanyMsg
.
RB_Group_Id
=
userInfo
.
RB_Group_id
;
//集团
this
.
getDepartmentMsg
.
RB_Branch_Id
=
userInfo
.
RB_Branch_id
;
//公司
this
.
getCompanyList
()
this
.
getDepartment
()
this
.
getEmployee
()
this
.
getList
();
this
.
getTotalCount
();
}
};
</
script
>
src/components/TravelManager/TravelList/freeTravelOrderStatiDetails.vue
0 → 100644
View file @
df99e1f0
<
template
>
<div
id=
"app"
class=
"commonF FreeInfo"
style=
"padding-bottom:20px"
>
<div
class=
"w1200"
>
<el-row>
<el-col
class=
"Left"
:span=
"6"
>
<div
style=
"border:1px solid #E0E0E0;margin-top:20px;"
>
<div
class=
"imgDiv"
><img
style=
"width:100%;height:100%"
:src=
"ImgSrc"
:onerror=
"defaultImg"
alt=
""
></div>
<p
class=
"cee f20"
style=
"padding:16px"
>
{{
oldModel
.
ProductName
}}
</p>
<p
class=
"f14"
style=
"padding:6px 16px"
><span
class=
"c99"
>
日期
</span><span
class=
"c66"
style=
"margin-left:20px"
>
{{
oldModel
.
StartDate
}}
</span></p>
<el-row
class=
"f14"
style=
"padding:6px 16px"
>
<el-col
:span=
"4"
>
<span
class=
"c99"
>
人数
</span>
</el-col>
<el-col
class=
"c66"
:span=
"20"
>
<p
v-if=
"jo.price1_qty>0"
style=
"margin-bottom:6px"
>
成人 x
{{
jo
.
price1_qty
}}
</p>
<p
v-if=
"jo.price2_qty>0"
style=
"margin-bottom:6px"
>
儿童 x
{{
jo
.
price2_qty
}}
</p>
<p
v-if=
"jo.price3_qty>0"
style=
"margin-bottom:6px"
>
婴儿 x
{{
jo
.
price3_qty
}}
</p>
<p
v-if=
"jo.price4_qty>0"
style=
"margin-bottom:6px"
>
老人 x
{{
jo
.
price4_qty
}}
</p>
</el-col>
</el-row>
</div>
<div
class=
"commomStyle"
>
<div
class=
"titleDiv"
>
<!--
<span
class=
"redSpan"
></span>
-->
<el-row>
<el-col
:span=
"12"
><span
class=
"f18 pfR"
>
订单总额
</span></el-col>
<el-col
:span=
"12"
><span
class=
"f18 cee"
>
¥
{{
oldModel
.
TotalPrice
}}
</span></el-col>
</el-row>
</div>
<ul
class=
"fysm f14"
style=
"padding:20px"
>
<div
v-if=
"oldModel.OldContent"
>
<el-row
v-if=
"jo.price1_qty>0"
style=
"margin-bottom:7px"
>
<el-col
:span=
"6"
>
成人 x
{{
jo
.
price1_qty
}}
</el-col>
<el-col
:span=
"12"
><div
class=
"dashDiv"
></div></el-col>
<el-col
style=
"text-align:center"
:span=
"6"
>
{{
oldModel
.
OldContent
.
price1_b2c
}}
</el-col>
</el-row>
<el-row
v-if=
"jo.price2_qty>0"
style=
"margin-bottom:7px"
>
<el-col
:span=
"6"
>
儿童 x
{{
jo
.
price2_qty
}}
</el-col>
<el-col
:span=
"12"
><div
class=
"dashDiv"
></div></el-col>
<el-col
style=
"text-align:center"
:span=
"6"
>
{{
oldModel
.
OldContent
.
price2_b2c
}}
</el-col>
</el-row>
<el-row
v-if=
"jo.price3_qty>0"
style=
"margin-bottom:7px"
>
<el-col
:span=
"6"
>
婴儿 x
{{
jo
.
price3_qty
}}
</el-col>
<el-col
:span=
"12"
><div
class=
"dashDiv"
></div></el-col>
<el-col
style=
"text-align:center"
:span=
"6"
>
{{
oldModel
.
OldContent
.
price2_b2c
}}
</el-col>
</el-row>
<el-row
v-if=
"jo.price4_qty>0"
style=
"margin-bottom:7px"
>
<el-col
:span=
"6"
>
老人 x
{{
jo
.
price4_qty
}}
</el-col>
<el-col
:span=
"12"
><div
class=
"dashDiv"
></div></el-col>
<el-col
style=
"text-align:center"
:span=
"6"
>
{{
oldModel
.
OldContent
.
price2_b2c
}}
</el-col>
</el-row>
</div>
<div
class=
"f14"
>
<el-row
style=
"margin-bottom:7px"
>
<el-col
:span=
"6"
>
优惠金额
</el-col>
<el-col
:span=
"12"
><div
class=
"dashDiv"
></div></el-col>
<el-col
style=
"text-align:center"
:span=
"6"
>
¥
{{
oldModel
.
DiscountMoney
}}
</el-col>
</el-row>
</div>
</ul>
</div>
</el-col>
<el-col
:span=
"1"
>
</el-col>
<el-col
class=
"Right"
:span=
"17"
>
<div
class=
"commomStyle"
>
<div
class=
"titleDiv"
>
<span
class=
"redSpan"
></span>
<span
v-if=
"oldModel.OrderStatus!=2"
class=
"f18 pfR"
>
订单编号:
{{
oldModel
.
OrderID
}}
</span>
<span
class=
"f18 cee pfR"
v-if=
"oldModel.OrderStatus==2"
>
订单已取消
</span>
</div>
<ul
class=
"fysm f14"
style=
"padding:20px;position:relative"
>
<li>
<img
src=
"../../../assets/img/free/cp.png"
alt=
""
>
<span
class=
"c88 marginSpan"
>
产品编号
</span>
<span>
{{
jo
.
prod_no
}}
</span>
</li>
<li>
<img
src=
"../../../assets/img/free/gsmc.png"
alt=
""
>
<span
class=
"c88 marginSpan"
>
产品名称
</span>
<span>
{{
jo
.
prod_name
}}
</span>
</li>
<li>
<img
src=
"../../../assets/img/free/gmr.png"
alt=
""
>
<span
class=
"c88"
style=
"margin:0 29px 0 6px;"
>
购买人
</span>
<span>
{{
jo
.
buyer_last_name
}}{{
jo
.
buyer_first_name
}}
</span>
</li>
<li>
<img
src=
"../../../assets/img/free/yx.png"
alt=
""
>
<span
class=
"c88 marginSpan"
>
电子邮箱
</span>
<span>
{{
jo
.
buyer_Email
}}
</span>
</li>
<li>
<img
src=
"../../../assets/img/free/dh.png"
alt=
""
>
<span
class=
"c88 marginSpan"
>
联系电话
</span>
<span>
{{
jo
.
buyer_tel_number
}}
</span>
</li>
<li>
<img
src=
"../../../assets/img/free/dgrq.png"
alt=
""
>
<span
class=
"c88 marginSpan"
>
订购日期
</span>
<span>
{{
jo
.
order_date
}}
</span>
</li>
</ul>
</div>
<div
class=
"commomStyle"
>
<div
class=
"titleDiv"
>
<span
class=
"redSpan"
></span>
<span
class=
"f18 pfR"
>
行程介绍
</span>
</div>
<div
style=
"padding:20px"
>
<div
class=
"f12"
>
<div
style=
"margin-bottom:20px;line-height:2"
>
{{
dataDetail
.
prod_desc
}}
</div>
<p
class=
"f14 pfR"
style=
"color:#000000;margin-bottom:15px"
v-if=
"dataDetail.tour_list.length>0"
>
行程列表
</p>
<div
v-for=
"(item,index) in dataDetail.tour_list"
:key=
"index+100"
>
<p
style=
"margin-top:10px"
>
第
{{
item
.
tour_day
}}
天
</p>
<p
style=
"padding:8px 0"
>
说明
{{
item
.
tour_desc
}}
</p>
<div
v-if=
"item.photo_url&&item.photo_url!=''"
>
<img
style=
"width:100%;height: auto;display:block"
:src=
"item.photo_url"
alt=
""
>
</div>
</div>
<div
v-if=
"dataDetail.meal_list"
>
<p
class=
"f14 pfR"
style=
"color:#000000;margin-bottom:15px"
v-if=
"dataDetail.meal_list.length>0"
>
餐食列表
</p>
<div
v-for=
"(item,index) in dataDetail.meal_list"
:key=
"index+100"
>
<p>
行程第
{{
item
.
tour_day
}}
天提供餐食
</p>
<p
style=
"padding:8px 0"
>
<span>
早餐:
{{
item
.
is_breakfast
}}
</span>
<span>
午餐:
{{
item
.
is_lunch
}}
</span>
<span>
晚餐:
{{
item
.
is_dinner
}}
</span>
</p>
</div>
</div>
</div>
</div>
</div>
<div
class=
"commomStyle"
>
<div
class=
"titleDiv"
>
<span
class=
"redSpan"
></span>
<span
class=
"f18 pfR"
>
注意事项
</span>
</div>
<div
class=
"f12"
style=
"padding:20px"
>
<p
v-for=
"(item,index) in dataDetail.remind_list"
:key=
"index+50"
><span
class=
"f26 pfR"
>
.
</span>
{{
item
.
remind_desc
}}
</p>
</div>
</div>
<div
v-if=
"dataDetail.prod_tips!=''"
class=
"commomStyle"
>
<div
class=
"titleDiv"
>
<span
class=
"redSpan"
></span>
<span
class=
"f18 pfR"
>
温馨提示
</span>
</div>
<div
class=
"f12"
style=
"padding:20px"
>
<div>
{{
dataDetail
.
prod_tips
}}
</div>
</div>
</div>
</el-col>
</el-row>
</div>
<el-dialog
title=
"取消订单"
width=
"400px"
:visible
.
sync=
"dialogFormVisible"
>
<el-form
:model=
"exitMsg"
label-width=
"80px"
>
<el-form-item
label=
"取消类型"
>
<el-select
size=
"small"
v-model=
"exitMsg.cancel_type"
placeholder=
"请选择取消类型"
>
<el-option
label=
"行程变更或取消"
value=
"MC001"
></el-option>
<el-option
label=
"重复订单"
value=
"MC002"
></el-option>
<el-option
label=
"价格原因"
value=
"MC003"
></el-option>
<el-option
label=
"个人因素"
value=
"MC004"
></el-option>
<el-option
label=
"交通因素"
value=
"MC005"
></el-option>
<el-option
label=
"交通因素"
value=
"MC006"
></el-option>
<el-option
label=
"其他"
value=
"MC999"
></el-option>
</el-select>
</el-form-item>
<el-form-item
label=
"取消原因"
>
<el-input
v-model=
"exitMsg.cancel_desc"
autocomplete=
"off"
type=
"textarea"
:rows=
"2"
></el-input>
</el-form-item>
</el-form>
<div
slot=
"footer"
class=
"dialog-footer"
>
<el-button
size=
"small"
@
click=
"dialogFormVisible = false"
>
取 消
</el-button>
<el-button
size=
"small"
type=
"danger"
@
click=
"ExitOrder"
>
确 定
</el-button>
</div>
</el-dialog>
</div>
</
template
>
<
script
>
export
default
{
data
()
{
return
{
defaultImg
:
'this.src="'
+
require
(
'../../../assets/img/bg_c2@3x.png'
)
+
'"'
,
dialogFormVisible
:
false
,
exitMsg
:{
orderId
:
''
,
cancel_type
:
""
,
cancel_desc
:
""
,
CancelBy
:
''
,
},
msg
:{
orderId
:
''
,
},
payInfoObj
:{},
oldModel
:{},
jo
:{},
DomainUrl
:
""
,
dataDetail
:{
tour_list
:[],
},
IsCanOrder
:
-
1
,
payInfoGo
:{},
ImgSrc
:
''
,
}
},
created
(){
if
(
this
.
$route
.
query
.
ID
){
this
.
msg
.
orderId
=
this
.
$route
.
query
.
ID
;
}
this
.
getPayInfo
();
},
mounted
()
{
},
methods
:
{
Exit
(){
let
userInfo
=
this
.
getLocalStorage
();
this
.
dialogFormVisible
=
true
;
this
.
exitMsg
.
orderId
=
this
.
oldModel
.
OrderID
;
// console.log(item);
this
.
exitMsg
.
CancelBy
=
userInfo
.
customerId
;
},
ExitOrder
(){
if
(
this
.
exitMsg
.
cancel_type
==
""
){
this
.
Error
(
"请选择取消类型!"
);
return
;
}
this
.
dialogFormVisible
=
false
;
this
.
apipost
(
"dmc_post_Get_KKDayOrderCancel"
,
this
.
exitMsg
,
res
=>
{
// console.log("res",res);
if
(
res
.
data
.
resultCode
==
1
)
{
this
.
Success
(
res
.
data
.
message
);
this
.
$emit
(
'queryDays'
)
this
.
exitMsg
=
{
orderId
:
''
,
cancel_type
:
""
,
cancel_desc
:
""
,
CancelBy
:
''
,
};
}
else
{
this
.
$message
.
error
(
res
.
data
.
message
);
}
},
null
);
},
getPayInfo
(){
this
.
apipost
(
"dmc_post_Get_KKDayOrderQueryOrderDtl"
,
this
.
msg
,
res
=>
{
// console.log("sfafg",res);
if
(
res
.
data
.
resultCode
==
1
)
{
this
.
oldModel
=
res
.
data
.
data
.
oldModel
;
this
.
jo
=
res
.
data
.
data
.
jo
;
this
.
IsCanOrder
=
res
.
data
.
data
.
IsCanOrder
;
this
.
payInfoGo
=
res
.
data
.
data
;
if
(
this
.
oldModel
.
OldContent
){
this
.
oldModel
.
OldContent
=
JSON
.
parse
(
this
.
oldModel
.
OldContent
)
this
.
ImgSrc
=
this
.
oldModel
.
OldContent
.
ProductPic
;
}
this
.
getDetails
(
this
.
oldModel
.
ProductNo
);
}
else
{
this
.
$message
.
error
(
res
.
data
.
message
);
}
},
null
);
},
getDetails
(
id
){
this
.
apiJavaPost
(
"/api/kkday/QueryProduct"
,
{
"prod_no"
:
id
?
id
:
"28474"
,
"locale"
:
"zh-cn"
},
res
=>
{
if
(
res
.
data
.
data
.
result
===
"00"
)
{
this
.
DomainUrl
=
res
.
data
.
data
.
KkdayDomain
;
let
data
=
res
.
data
.
data
.
prod
console
.
log
(
"data"
,
data
)
this
.
dataDetail
=
data
;
}
else
{
this
.
Error
(
res
.
data
.
data
.
result_msg
)
}
},
null
);
},
}
}
</
script
>
<
style
>
.FreeInfo
.Right
.btnDiv
span
{
display
:
block
;
width
:
272px
;
height
:
45px
;
line-height
:
45px
;
border
:
1px
solid
rgba
(
238
,
68
,
84
,
1
);
border-radius
:
4px
;
margin-bottom
:
20px
;
text-align
:
center
;
cursor
:
pointer
;
}
.FreeInfo
.Right
.btnDiv
{
position
:
absolute
;
top
:
30px
;
right
:
20px
;
}
.FreeInfo
.Right
.fysm
li
{
display
:
flex
;
align-items
:
center
;
margin-bottom
:
15px
;
}
.FreeInfo
.Right
.marginSpan
{
margin
:
0
15px
0
6px
;
}
.FreeInfo
.Left
.imgDiv
{
width
:
100%
;
height
:
194px
;
border-radius
:
3px
;
overflow
:
hidden
;
}
.FreeInfo
.Left
.imgDiv
img
{
width
:
auto
!important
;
}
.FreeInfo
.commomStyle
{
border
:
1px
solid
rgba
(
224
,
224
,
224
,
1
);
width
:
100%
;
box-sizing
:
border-box
;
margin-top
:
20px
;
}
.FreeInfo
.commomStyle
.titleDiv
.redSpan
{
width
:
4px
;
height
:
20px
;
background
:
rgba
(
238
,
68
,
84
,
1
);
display
:
inline-block
;
position
:
absolute
;
left
:
0
;
top
:
15px
;
}
.FreeInfo
.commomStyle
.titleDiv
{
width
:
100%
;
height
:
50px
;
line-height
:
50px
;
border-bottom
:
1px
solid
rgba
(
224
,
224
,
224
,
1
);
background
:
#EDF4FF
;
position
:
relative
;
padding-left
:
20px
;
box-sizing
:
border-box
;
}
.FreeInfo
.Left
.dashDiv
{
border-bottom
:
1px
dashed
#999999
;
margin-top
:
10px
;
}
</
style
>
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