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
1cea4433
Commit
1cea4433
authored
Apr 11, 2023
by
youjie
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
no message
parent
5a2f963b
Show whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
925 additions
and
2026 deletions
+925
-2026
VisaProductEditOrder.vue
src/components/SalesVisa/VisaProductEditOrder.vue
+5
-836
VisaProductEditOrderOP.vue
src/components/SalesVisa/VisaProductEditOrderOP.vue
+5
-886
VisaProductEditOrderQZ.vue
src/components/SalesVisa/VisaProductEditOrderQZ.vue
+3
-303
VisaProductOrder.vue
src/components/SalesVisa/components/VisaProductOrder.vue
+911
-0
visaOrderList.vue
src/components/SalesVisa/components/visaOrderList.vue
+1
-1
No files found.
src/components/SalesVisa/VisaProductEditOrder.vue
View file @
1cea4433
<
style
>
.page_MyCustomer
._mc_addbox
{
height
:
52px
;
width
:
100%
;
margin-top
:
20px
;
}
.page_MyCustomer
._mc_addbox
>
li
{
float
:
left
;
width
:
116px
;
font-size
:
14px
;
height
:
52px
;
color
:
#666
;
text-align
:
center
;
line-height
:
52px
;
background
:
#E9E9E9
;
cursor
:
pointer
;
}
.page_MyCustomer
._mc_addbox
>
li
.active
{
background
:
#fff
;
color
:
#333
;
}
.page_MyCustomer
._mc_addbox
.divActive
{
margin
:
-3px
auto
;
width
:
26px
;
height
:
3px
;
background
:
#E95252
;
}
.page_MyCustomer
._mc_edit
{
overflow
:
auto
;
display
:
none
;
position
:
fixed
;
z-index
:
50
;
bottom
:
0
;
left
:
0
;
border-top
:
3px
solid
#38425d
;
background-color
:
#f9f9f9
;
padding
:
10px
;
width
:
100%
;
min-width
:
1146px
;
}
.page_MyCustomer
.edHeight
{
display
:
block
;
height
:
291px
;
}
.page_MyCustomer
._mc_list
{
overflow-x
:
auto
;
background
:
#fff
;
padding-top
:
20px
;
padding-left
:
15px
;
}
.page_MyCustomer
._scrollbar
::-webkit-scrollbar
{
width
:
4px
;
height
:
8px
;
}
.page_MyCustomer
._scrollbar
::-webkit-scrollbar-thumb
{
border-radius
:
4px
;
-webkit-box-shadow
:
inset
0
0
2px
rgba
(
0
,
0
,
0
,
0.2
);
background
:
#c9c9c9
;
}
.page_MyCustomer
._scrollbar
::-webkit-scrollbar-track
{
-webkit-box-shadow
:
inset
0
0
2px
rgba
(
0
,
0
,
0
,
0.2
);
border-radius
:
4px
;
background
:
#EDEDED
;
}
.page_MyCustomer
._mc_edit
._tit
{
padding-left
:
10px
;
border-left
:
3px
solid
#E95252
;
font-size
:
16px
;
font-family
:
'PingFangSc-Fine'
;
color
:
#000000
}
.page_MyCustomer
._mc_edit
._info_box
ul
._form
li
{
float
:
left
;
}
.page_MyCustomer
._check_list
{
padding-left
:
120px
;
margin-bottom
:
20px
;
}
.page_MyCustomer
._check_box
.el-form-item
{
margin-bottom
:
0
}
.page_MyCustomer
._info_box
.el-form-item__label
{
font-size
:
12px
;
color
:
#666
;
}
._remark
textarea
{
resize
:
none
;
width
:
646px
;
height
:
100px
}
.page_MyCustomer
.avatar
{
width
:
148px
;
height
:
148px
;
display
:
block
;
}
.page_MyCustomerSearch
{
width
:
100%
;
min-height
:
auto
;
overflow
:
hidden
;
padding
:
0
0
20px
0
;
}
.page_MyCustomerSearch
li
{
float
:
left
;
font-size
:
12px
;
color
:
#666
;
margin
:
20px
0
0px
0
;
}
.page_MyCustomerSearch
li
>
span
{
display
:
inline-block
;
}
.page_MyCustomerSearch
li
span
>
em
{
display
:
inline-block
;
min-width
:
60px
;
text-align
:
right
;
font-style
:
normal
;
margin
:
0
12px
0
0
;
}
.page_MyCustomerSearch
li
:last-child
{
float
:
right
;
}
.VisaProductTable
{
width
:
100%
;
font-size
:
14px
;
color
:
#333
;
border-collapse
:
collapse
;
}
.VisaProductTable
tr
th
{
background
:
#E6E6E6
;
height
:
30px
;
font-size
:
12px
;
text-align
:
left
;
text-indent
:
25px
;
}
.VisaProductTable
tr
{
background
:
#fff
;
text-align
:
left
;
}
.VisaProductTable
tr
td
{
height
:
60px
;
padding-left
:
25px
;
border
:
1px
solid
#cccccc
;
font-size
:
14px
;
color
:
#333
;
}
.VisaProductTable
tr
td
>
img
{
width
:
24px
;
height
:
24px
;
border-radius
:
50%
;
float
:
left
;
margin-right
:
5px
;
}
.VisaProductTable
tr
td
.tuanqian
{
vertical-align
:
middle
;
font-weight
:
400
;
display
:
table-cell
;
text-align
:
center
;
width
:
44px
;
font-size
:
12px
;
height
:
19px
;
color
:
#FFFFFF
;
background
:
#2AAEF2
;
}
.VisaProductTable
tr
td
.geqian
{
vertical-align
:
middle
;
font-weight
:
400
;
display
:
table-cell
;
text-align
:
center
;
width
:
44px
;
font-size
:
12px
;
height
:
19px
;
color
:
#FFFFFF
;
background
:
#FF9000
;
}
.VisaProductTable
tr
td
.totalPrice
{
color
:
#FF9000
;
font-weight
:
400
;
font-size
:
16px
;
}
.VisaProductTable
tr
td
.sendVisaDate
{
font-weight
:
bold
;
}
.page_MyCustomer
._edHeight
{
height
:
340px
;
}
.dateClass
{
width
:
171px
!important
;
}
.surplusNum
{
color
:
#E95252
!important
;
}
.peopleNum
{
height
:
15px
;
font-size
:
16px
;
font-weight
:
400
;
color
:
rgba
(
51
,
51
,
51
,
1
);
line-height
:
24px
;
}
.Visa_income
{
width
:
18px
;
height
:
16px
;
font-size
:
16px
;
font-weight
:
400
;
line-height
:
24px
;
color
:
RGBA
(
71
,
191
,
140
,
1
);
}
.VisaProductTable
tr
td
.createName
{
vertical-align
:
middle
;
display
:
table-cell
;
text-align
:
center
;
width
:
50px
;
height
:
21px
;
}
.groupTourOrderIcon
button
{
width
:
28px
;
height
:
28px
;
border-radius
:
4px
;
}
.groupTourOrderIcon
.el-button--primary
{
padding
:
5px
;
margin
:
0
;
font-size
:
14px
!important
;
}
.groupTourOrder_tickets_red
{
color
:
#ff0000
;
text-decoration
:
underline
;
}
.groupTourOrder_tickets_blue
{
color
:
#0000ff
;
text-decoration
:
underline
;
}
.groupTourOrder_tickets_green
{
color
:
#008000
;
text-decoration
:
underline
;
}
.groupTourOrder_tickets_black
{
color
:
#000000
;
text-decoration
:
underline
;
}
.VD-remarkTitle
{
display
:
inline-block
;
float
:
left
;
width
:
36px
;
white-space
:
nowrap
;
font-size
:
14px
;
}
.VD-remarkCon
{
float
:
left
;
display
:
inline-block
;
width
:
94%
;
font-size
:
14px
;
}
.VD-redType
{
color
:
red
;
}
</
style
>
<
template
>
<
template
>
<div
class=
"page_MyCustomer"
>
<VisaProductOrder
:pagesTitle=
"pagesTitle"
></VisaProductOrder>
<div
class=
"query-box"
style=
"border:none"
>
<ul>
<li>
<span>
<em>
{{
$t
(
'fnc.danhao'
)
}}
</em>
<el-input
class=
'w220'
v-model=
'msg.VisaTCNUM'
:placeholder=
"$t('pub.pleaseImport')"
></el-input>
</span>
</li>
<li>
<span>
<em>
订单ID
</em>
<el-input
class=
'w220'
v-model=
'msg.OrderId'
placeholder=
"请输入订单ID"
></el-input>
</span>
</li>
<li>
<span>
<em>
{{
$t
(
'hotel.product_name'
)
}}
</em>
<el-input
class=
'w220'
v-model=
'msg.Name'
:placeholder=
"$t('pub.pleaseImport')"
></el-input>
</span>
</li>
<!--
<li>
<span>
<em>
送签日期
</em><el-date-picker
v-model=
'msg.SendStartDate'
class=
'w135'
value-format=
"yyyy-MM-dd"
type=
"date"
></el-date-picker>
-
<el-date-picker
v-model=
'msg.SendEndDate'
class=
'w135'
value-format=
"yyyy-MM-dd"
type=
"date"
></el-date-picker>
</span>
</li>
-->
<li>
<span>
<em>
订单状态
</em>
<el-select
v-model=
'msg.VisaOrderStatus'
>
<el-option
label=
"不限"
value=
"0"
key=
'0'
></el-option>
<el-option
label=
"正常"
value=
"1"
key=
'1'
></el-option>
<el-option
label=
"取消"
value=
"2"
key=
'2'
></el-option>
<el-option
label=
"待付款"
value=
"3"
key=
'3'
></el-option>
</el-select>
</span></li>
<li>
<span>
<em>
{{
$t
(
'fnc.bmriqi'
)
}}
</em>
<el-date-picker
v-model=
'msg.StartDate'
class=
'w135'
value-format=
"yyyy-MM-dd"
type=
"date"
></el-date-picker>
-
<el-date-picker
v-model=
'msg.EndDate'
class=
'w135'
value-format=
"yyyy-MM-dd"
type=
"date"
></el-date-picker>
</span>
</li>
<li>
<button
class=
"hollowFixedBtn"
@
click=
"getList()"
>
{{
$t
(
'pub.searchBtn'
)
}}
</button>
<!--
<button
class=
"normalBtn"
@
click=
"addShow=true"
>
添加
</button>
-->
</li>
</ul>
</div>
<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:#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>
<visaOrderList
:pagesTitle=
"pagesTitle"
:OrderList=
"dataList"
v-loading=
"loading"
@
success=
"getList"
>
</visaOrderList>
<el-pagination
background
@
current-change=
"handleCurrentChange"
:current-page
.
sync=
"currentPage"
layout=
"total,prev, pager, next, jumper"
:page-size=
"this.msg.pageSize"
:total=
"total"
>
</el-pagination>
<div
class=
"_mc_edit _scrollbar"
:class=
"addShow==true?'edHeight':''"
>
<p
class=
"_tit"
>
{{
$t
(
'salesModule.UpOrder'
)
}}
<span
class=
"fr"
>
<button
class=
"hollowFixedBtn"
type=
"button"
@
click=
"cancelEdit()"
>
{{
$t
(
'pub.cancelBtn'
)
}}
</button>
<button
type=
"button"
class=
"normalBtn"
@
click=
"saveVisa()"
>
{{
$t
(
'pub.saveBtn'
)
}}
</button>
</span>
</p>
<el-form
class=
"_info_box clearfix"
:model=
"addMsg"
:rules=
"rules"
ref=
"addMsg"
label-width=
"120px"
>
<el-row
:gutter=
"20"
>
<el-col
:span=
"4"
>
<el-form-item
:label=
"$t('hotel.product_name')"
prop=
"Name"
>
<el-input
v-model=
"addMsg.Name"
:placeholder=
"$t('pub.pleaseImport')"
:disabled=
"true"
></el-input>
</el-form-item>
</el-col>
<el-col
:span=
"4"
>
<el-form-item
:label=
"$t('Airticket.Air_Number')"
prop=
"PeopleNum"
>
<el-input
@
keyup
.
native=
"checkInteger(addMsg,'PeopleNum')"
min=
"1"
v-model=
"addMsg.PeopleNum"
:placeholder=
"$t('pub.pleaseImport')"
maxlength=
"20"
:disabled=
"updateRemarksStatus"
></el-input>
</el-form-item>
</el-col>
<el-col
:span=
"4"
>
<el-form-item
:label=
"$t('salesModule.CustomerType')"
>
<el-select
v-model=
"addMsg.ClientType"
:disabled=
"updateRemarksStatus"
size=
mini
>
<el-option
:label=
"$t('salesModule.Trade')"
value=
"1"
></el-option>
<el-option
:label=
"$t('Operation.Op_direct')"
value=
"2"
></el-option>
</el-select>
</el-form-item>
</el-col>
<el-col
:span=
"8"
>
<el-form-item
:label=
"$t('pub.pubRemark')"
>
<el-input
v-model=
"addMsg.Remark"
type=
"textarea"
maxlength=
"500"
:placeholder=
"$t('pub.pleaseImport')"
>
</el-input>
</el-form-item>
</el-col>
<el-col
:span=
"4"
>
</el-col>
</el-row>
<el-row
:gutter=
"20"
v-if=
'visaManagementId>0'
>
<el-col
:span=
"4"
>
<el-form-item
:label=
"$t('visaT.rujingtime')"
prop=
"EnterCountryTime"
>
<el-date-picker
value-format=
"yyyy-MM-dd"
class=
'w170'
v-model=
'addMsg.EnterCountryTime'
type=
"date"
:disabled=
"updateRemarksStatus"
></el-date-picker>
</el-form-item>
</el-col>
<el-col
:span=
"4"
>
<el-form-item
:label=
"$t('visaT.chujingtime')"
prop=
"LeaveCountryTime"
>
<el-date-picker
value-format=
"yyyy-MM-dd"
class=
'w170'
v-model=
'addMsg.LeaveCountryTime'
type=
"date"
:disabled=
"updateRemarksStatus"
></el-date-picker>
</el-form-item>
</el-col>
<el-col
:span=
"4"
>
<el-form-item
:label=
"$t('visaT.cfAirport')"
prop=
"DepartAirport"
>
<el-select
v-model=
"addMsg.DepartAirport"
filterable
size=
mini
@
change=
"getFilghtForAir(1)"
:disabled=
"updateRemarksStatus"
>
<el-option
v-for=
"item in ChinaAirportList"
:key=
"item.ID"
:label=
"item.Name"
:value=
"item.ID"
>
</el-option>
</el-select>
</el-form-item>
</el-col>
<el-col
:span=
"4"
>
<el-form-item
:label=
"$t('visaT.Portofentry')"
prop=
"EnterCountryPort"
>
<el-select
v-model=
"addMsg.EnterCountryPort"
filterable
size=
mini
@
change=
"getFilghtForAir(1)"
:disabled=
"updateRemarksStatus"
>
<el-option
v-for=
"item in JapanAirportList"
:key=
"item.ID"
:label=
"item.Name"
:value=
"item.ID"
>
</el-option>
</el-select>
</el-form-item>
</el-col>
<el-col
:span=
"4"
>
<el-form-item
:label=
"$t('visaT.Inboundflights')"
prop=
"EnterCountryFlight"
>
<el-select
v-model=
"addMsg.EnterCountryFlight"
filterable
size=
mini
:disabled=
"updateRemarksStatus"
>
<el-option
v-for=
"item in FilghtForAirIn"
:key=
"item.ID"
:label=
"item.Flight_number"
:value=
"item.ID"
>
</el-option>
</el-select>
</el-form-item>
</el-col>
<el-col
:span=
"4"
>
</el-col>
</el-row>
<el-row
:gutter=
"20"
v-if=
'visaManagementId>0'
>
<el-col
:span=
"4"
>
<el-form-item
:label=
"$t('visaT.fhjichang')"
prop=
"GetBackAirport"
>
<el-select
v-model=
"addMsg.GetBackAirport"
filterable
size=
mini
@
change=
"getFilghtForAir(2)"
:disabled=
"updateRemarksStatus"
>
<el-option
v-for=
"item in ChinaAirportList"
:key=
"item.ID"
:label=
"item.Name"
:value=
"item.ID"
>
</el-option>
</el-select>
</el-form-item>
</el-col>
<el-col
:span=
"4"
>
<el-form-item
:label=
"$t('visaT.Exitport')"
prop=
"LeaveCountryPort"
>
<el-select
v-model=
"addMsg.LeaveCountryPort"
filterable
size=
mini
@
change=
"getFilghtForAir(2)"
:disabled=
"updateRemarksStatus"
>
<el-option
v-for=
"item in JapanAirportList"
:key=
"item.ID"
:label=
"item.Name"
:value=
"item.ID"
>
</el-option>
</el-select>
</el-form-item>
</el-col>
<el-col
:span=
"4"
>
<el-form-item
:label=
"$t('visaT.Outboundflight')"
prop=
"LeaveCountryFlight"
>
<el-select
v-model=
"addMsg.LeaveCountryFlight"
filterable
size=
mini
:disabled=
"updateRemarksStatus"
>
<el-option
v-for=
"item in FilghtForAirOut"
:key=
"item.ID"
:label=
"item.Flight_number"
:value=
"item.ID"
>
</el-option>
</el-select>
</el-form-item>
</el-col>
</el-row>
</el-form>
</div>
</div>
</
template
>
</
template
>
<
script
>
<
script
>
import
visaOrderList
from
'./components/visaOrderList
.vue'
;
import
VisaProductOrder
from
'./components/VisaProductOrder
.vue'
;
export
default
{
export
default
{
components
:
{
visaOrderList
},
components
:
{
VisaProductOrder
},
data
()
{
data
()
{
return
{
return
{
pagesTitle
:
'销售'
,
pagesTitle
:
'销售'
,
userInfo
:
{},
qjGroupId
:
-
1
,
F_InvoiceManagement
:
false
,
F_Finance_Create
:
false
,
// pickerOptions: {
// disabledDate: (time) => {
// let endTime=new Date(this.SendStartDate)
// return time.getTime()
<
endTime
.
getTime
()
// //return time.getTime()
<
starTime
.
getTime
()
||
time
.
getTime
()
>
starTime
.
getTime
()
+
2.592e9
||
time
.
getTime
()
>
Date
.
now
();
//禁止选择的日期:(开始日期之前,开始日期一个月以后的日期,今天之后的日期)
// }
// },
msg
:
{
pageIndex
:
1
,
pageSize
:
12
,
StartDate
:
''
,
EndDate
:
''
,
SendStartDate
:
''
,
SendEndDate
:
''
,
Name
:
''
,
VisaTCNUM
:
''
,
VisaOrderStatus
:
'0'
,
OrderId
:
0
},
addMsg
:
{
Id
:
0
,
Remark
:
''
,
VisaId
:
''
,
Name
:
""
,
PeopleNum
:
''
,
EnterCountryTime
:
''
,
LeaveCountryTime
:
''
,
DepartAirport
:
''
,
GetBackAirport
:
''
,
EnterCountryPort
:
''
,
LeaveCountryPort
:
''
,
EnterCountryFlight
:
''
,
LeaveCountryFlight
:
''
,
VisaPlanId
:
0
,
DepartDate
:
''
,
ClientType
:
''
},
rules
:
{
PeopleNum
:
[{
required
:
true
,
message
:
"请输入人数"
,
trigger
:
"blur"
}],
//DepartDate:[{required: true, message: "请输入出发日期", trigger: "blur"}],
EnterCountryTime
:
[{
required
:
true
,
message
:
"请输入入境日期"
,
trigger
:
"blur"
}],
LeaveCountryTime
:
[{
required
:
true
,
message
:
"请输入出境日期"
,
trigger
:
"blur"
}]
},
updateRemarksStatus
:
false
,
SendStartDate
:
''
,
visaManagementId
:
0
,
VisaApplyForTypeEnum
:
[],
JapanAirportList
:
[],
ChinaAirportList
:
[],
countryList
:
[],
MarriageType
:
[],
VisaDeparturesType
:
[],
VisaDutyTypeEnum
:
[],
VisaIdentityTypeEnum
:
[],
FilghtForAirIn
:
[],
FilghtForAirOut
:
[],
dataList
:
[],
EmployeeList
:
[],
loading
:
false
,
total
:
0
,
addShow
:
false
,
currentPage
:
1
,
}
}
},
},
methods
:
{
methods
:
{
GetSupperOrderEditAuth
()
{
var
actionCode
=
this
.
$AuthCode
.
F_InvoiceManagement
;
this
.
CheckUserAuth
(
actionCode
,
res
=>
{
if
(
res
.
data
.
resultCode
==
1
&&
res
.
data
.
data
==
1
)
{
this
.
F_InvoiceManagement
=
true
;
}
});
var
actionCodeNew
=
this
.
$AuthCode
.
F_Finance_Create
;
this
.
CheckUserAuth
(
actionCodeNew
,
res
=>
{
if
(
res
.
data
.
resultCode
==
1
&&
res
.
data
.
data
==
1
)
{
this
.
F_Finance_Create
=
true
;
}
});
},
goUrlFinance
(
name
,
path
,
id
,
tcmun
)
{
this
.
$router
.
push
({
name
:
path
,
query
:
{
id
:
id
,
tcmun
:
tcmun
,
blank
:
'y'
,
tab
:
name
}
});
},
goIisDetail
:
function
(
id
)
{
// 跳转发票详情页面
this
.
$router
.
push
({
name
:
'invoicesManagerDetail'
,
query
:
{
id
:
id
,
noDetail
:
1
,
InvoiceApplyType
:
2
,
blank
:
"y"
,
}
});
},
// 申请发票
goUrlAdd
:
function
(
path
,
OrderId
,
TCID
,
customerId
,
InvoiceApplyType
)
{
this
.
$router
.
push
({
name
:
path
,
query
:
{
OrderId
:
OrderId
,
TCID
:
TCID
,
customerId
:
customerId
?
customerId
:
0
,
InvoiceApplyType
:
InvoiceApplyType
,
blank
:
"y"
,
}
});
},
goUrl2
(
path
,
id
,
name
)
{
this
.
$router
.
push
({
name
:
path
,
query
:
{
id
:
id
,
blank
:
'y'
,
tab
:
name
}
});
},
getChinaAirportList
()
{
// 获取国内机场
let
msg
=
{
City_id
:
0
,
Country_id
:
2
,
TrafficType
:
1
,
}
this
.
apipost
(
'airport_post_GetList'
,
msg
,
res
=>
{
if
(
res
.
data
.
resultCode
==
1
)
{
this
.
ChinaAirportList
=
res
.
data
.
data
}
else
{
this
.
$message
.
error
(
res
.
data
.
message
)
}
},
err
=>
{})
},
getJapanAirportList
()
{
// 获取日本机场
let
msg
=
{
City_id
:
0
,
Country_id
:
651
,
TrafficType
:
1
,
}
this
.
apipost
(
'airport_post_GetList'
,
msg
,
res
=>
{
if
(
res
.
data
.
resultCode
==
1
)
{
this
.
JapanAirportList
=
res
.
data
.
data
}
else
{
this
.
$message
.
error
(
res
.
data
.
message
)
}
},
err
=>
{})
},
FilghtForAir
(
data
,
type
)
{
this
.
apipost
(
'dmc_get_visa_GetFilghtForAir'
,
data
,
res
=>
{
if
(
res
.
data
.
resultCode
==
1
)
{
if
(
type
==
1
)
{
this
.
FilghtForAirIn
=
res
.
data
.
data
}
else
{
this
.
FilghtForAirOut
=
res
.
data
.
data
}
}
else
{
this
.
$message
.
error
(
res
.
data
.
message
)
}
},
err
=>
{})
},
getFilghtForAir
(
type
)
{
// 根据机场获取航班号
let
msg
=
{
StartAirId
:
0
,
EndAirId
:
0
,
}
if
(
type
==
1
)
{
if
(
this
.
addMsg
.
DepartAirport
&&
this
.
addMsg
.
EnterCountryPort
)
{
msg
.
StartAirId
=
this
.
addMsg
.
DepartAirport
msg
.
EndAirId
=
this
.
addMsg
.
EnterCountryPort
this
.
FilghtForAir
(
msg
,
type
)
}
}
else
{
if
(
this
.
addMsg
.
GetBackAirport
&&
this
.
addMsg
.
LeaveCountryPort
)
{
msg
.
StartAirId
=
this
.
addMsg
.
LeaveCountryPort
msg
.
EndAirId
=
this
.
addMsg
.
GetBackAirport
this
.
FilghtForAir
(
msg
,
type
)
}
}
},
goUrl
(
obj
)
{
let
TCIDARR
=
[];
if
(
obj
.
tcid
)
{
TCIDARR
.
push
(
obj
.
tcid
)
}
let
orderObj
=
{
OrderID
:
obj
.
id
,
OrderSource
:
10
,
Obj
:
{},
SourceID
:
obj
.
visaId
,
TCIDList
:
TCIDARR
}
this
.
$router
.
push
({
name
:
'ChoiceAddFinancialDocuments'
,
query
:
{
'path'
:
'SaleOrderModule'
,
'companyID'
:
obj
.
rB_Branch_Id
,
'visaType'
:
true
,
'blank'
:
'y'
,
'orderObj'
:
JSON
.
stringify
(
orderObj
)
}
});
},
goUrlT
(
obj
)
{
this
.
$router
.
push
({
name
:
'VisaGuestList'
,
query
:
{
'id'
:
obj
.
id
,
}
});
},
cancelOrder
(
obj
)
{
this
.
$confirm
(
'是否取消?'
,
'提示'
,
{
confirmButtonText
:
'确定'
,
cancelButtonText
:
'取消'
,
type
:
'warning'
}).
then
(()
=>
{
this
.
apipost
(
'dmc_post_visa_SetOrderCancel'
,
{
OrderId
:
obj
.
id
},
res
=>
{
if
(
res
.
data
.
resultCode
==
1
)
{
this
.
$message
.
success
(
'取消成功!'
);
this
.
getList
()
}
else
{
this
.
$message
.
error
(
res
.
data
.
message
);
}
},
err
=>
{})
}).
catch
(()
=>
{
this
.
$message
.
info
(
'已取消!'
);
});
},
getList
()
{
// 获取列表数据
this
.
loading
=
true
;
this
.
apipost
(
'dmc_get_visa_GetOrderVisaOrderList'
,
this
.
msg
,
res
=>
{
if
(
res
.
data
.
resultCode
==
0
)
{
this
.
loading
=
false
;
this
.
dataList
=
[]
}
else
{
this
.
dataList
=
res
.
data
.
data
.
pageData
;
this
.
total
=
res
.
data
.
data
.
count
;
this
.
loading
=
false
;
}
},
err
=>
{})
},
getDetail
(
obj
,
updateRStatus
)
{
this
.
SendStartDate
=
obj
.
sendStartDate
this
.
updateRemarksStatus
=
updateRStatus
;
this
.
visaManagementId
=
obj
.
visaManagementId
this
.
addMsg
.
VisaId
=
obj
.
visaId
this
.
addMsg
.
Id
=
obj
.
id
this
.
addShow
=
true
this
.
apipost
(
'dmc_get_visa_GetOrderByVisaId'
,
{
visaId
:
obj
.
visaId
,
visaOrderId
:
obj
.
id
},
res
=>
{
if
(
res
.
data
.
resultCode
==
1
)
{
let
x
=
res
.
data
.
data
this
.
addMsg
.
Name
=
x
[
0
].
Name
this
.
addMsg
.
PeopleNum
=
x
[
0
].
PeopleNum
this
.
addMsg
.
Remark
=
x
[
0
].
Remark
this
.
addMsg
.
EnterCountryTime
=
x
[
0
].
EnterCountryTime
this
.
addMsg
.
LeaveCountryTime
=
x
[
0
].
LeaveCountryTime
this
.
addMsg
.
DepartAirport
=
x
[
0
].
DepartAirport
this
.
addMsg
.
GetBackAirport
=
x
[
0
].
GetBackAirport
this
.
addMsg
.
EnterCountryPort
=
x
[
0
].
EnterCountryPort
this
.
addMsg
.
LeaveCountryPort
=
x
[
0
].
LeaveCountryPort
this
.
getFilghtForAir
(
1
)
this
.
getFilghtForAir
(
2
)
this
.
addMsg
.
EnterCountryFlight
=
x
[
0
].
EnterCountryFlight
this
.
addMsg
.
LeaveCountryFlight
=
x
[
0
].
LeaveCountryFlight
this
.
addMsg
.
VisaPlanId
=
x
[
0
].
VisaPlanId
//this.addMsg.DepartDate=x[0].DepartDate
this
.
addMsg
.
ClientType
=
x
[
0
].
ClientType
.
toString
()
}
},
err
=>
{})
},
saveVisa
()
{
// 保存
this
.
$refs
[
'addMsg'
].
validate
((
valid
)
=>
{
if
(
valid
)
{
this
.
apipost
(
'dmc_get_visa_SetVisaOrder'
,
this
.
addMsg
,
res
=>
{
if
(
res
.
data
.
resultCode
==
1
)
{
this
.
addMsg
=
{
Remark
:
''
,
VisaId
:
''
,
Name
:
""
,
PeopleNum
:
''
,
EnterCountryTime
:
''
,
LeaveCountryTime
:
''
,
DepartAirport
:
''
,
GetBackAirport
:
''
,
EnterCountryPort
:
''
,
LeaveCountryPort
:
''
,
EnterCountryFlight
:
''
,
LeaveCountryFlight
:
''
,
VisaPlanId
:
0
,
DepartDate
:
''
}
this
.
$message
.
success
(
res
.
data
.
message
)
this
.
addShow
=
false
this
.
getList
()
}
else
{
this
.
$message
.
error
(
res
.
data
.
message
)
}
},
err
=>
{})
}
else
{
return
false
;
}
});
},
cancelEdit
()
{
// 取消新增
this
.
addShow
=
false
this
.
addMsg
=
{
Name
:
''
,
Remark
:
''
,
VisaId
:
''
,
Name
:
""
,
PeopleNum
:
''
,
}
this
.
resetForm
(
'addMsg'
)
},
resetForm
(
formName
)
{
// 重置表单
this
.
$refs
[
formName
].
resetFields
();
},
handleCurrentChange
(
val
)
{
this
.
msg
.
pageIndex
=
val
;
this
.
getList
();
},
},
},
mounted
()
{
mounted
()
{
// crm自动登陆传过来的参数
if
(
this
.
$route
.
query
.
crmOrderObj
){
let
crmOrderObj
=
JSON
.
parse
(
this
.
$route
.
query
.
crmOrderObj
)
this
.
msg
.
OrderId
=
crmOrderObj
.
OrderId
}
else
if
(
this
.
$route
.
query
.
OrderId
){
this
.
msg
.
OrderId
=
this
.
$route
.
query
.
OrderId
}
this
.
qjGroupId
=
this
.
QjGroupId
();
this
.
userInfo
=
this
.
getLocalStorage
();
this
.
getList
()
this
.
getChinaAirportList
()
this
.
getJapanAirportList
()
this
.
GetSupperOrderEditAuth
();
}
}
}
}
...
...
src/components/SalesVisa/VisaProductEditOrderOP.vue
View file @
1cea4433
<
style
>
.page_MyCustomer
._mc_addbox
{
height
:
52px
;
width
:
100%
;
margin-top
:
20px
;
}
.page_MyCustomer
._mc_addbox
>
li
{
float
:
left
;
width
:
116px
;
font-size
:
14px
;
height
:
52px
;
color
:
#666
;
text-align
:
center
;
line-height
:
52px
;
background
:
#E9E9E9
;
cursor
:
pointer
;
}
.page_MyCustomer
._mc_addbox
>
li
.active
{
background
:
#fff
;
color
:
#333
;
}
.page_MyCustomer
._mc_addbox
.divActive
{
margin
:
-3px
auto
;
width
:
26px
;
height
:
3px
;
background
:
#E95252
;
}
.page_MyCustomer
._mc_edit
{
overflow
:
auto
;
display
:
none
;
position
:
fixed
;
z-index
:
50
;
bottom
:
0
;
left
:
0
;
border-top
:
3px
solid
#38425d
;
background-color
:
#f9f9f9
;
padding
:
10px
;
width
:
100%
;
min-width
:
1146px
;
}
.page_MyCustomer
.edHeight
{
display
:
block
;
height
:
291px
;
}
.page_MyCustomer
._mc_list
{
overflow-x
:
auto
;
background
:
#fff
;
padding-top
:
20px
;
padding-left
:
15px
;
}
.page_MyCustomer
._scrollbar
::-webkit-scrollbar
{
width
:
4px
;
height
:
8px
;
}
.page_MyCustomer
._scrollbar
::-webkit-scrollbar-thumb
{
border-radius
:
4px
;
-webkit-box-shadow
:
inset
0
0
2px
rgba
(
0
,
0
,
0
,
0.2
);
background
:
#c9c9c9
;
}
.page_MyCustomer
._scrollbar
::-webkit-scrollbar-track
{
-webkit-box-shadow
:
inset
0
0
2px
rgba
(
0
,
0
,
0
,
0.2
);
border-radius
:
4px
;
background
:
#EDEDED
;
}
.page_MyCustomer
._mc_edit
._tit
{
padding-left
:
10px
;
border-left
:
3px
solid
#E95252
;
font-size
:
16px
;
font-family
:
'PingFangSc-Fine'
;
color
:
#000000
}
.page_MyCustomer
._mc_edit
._info_box
ul
._form
li
{
float
:
left
;
}
.page_MyCustomer
._check_list
{
padding-left
:
120px
;
margin-bottom
:
20px
;
}
.page_MyCustomer
._check_box
.el-form-item
{
margin-bottom
:
0
}
.page_MyCustomer
._info_box
.el-form-item__label
{
font-size
:
12px
;
color
:
#666
;
}
._remark
textarea
{
resize
:
none
;
width
:
646px
;
height
:
100px
}
.page_MyCustomer
.avatar
{
width
:
148px
;
height
:
148px
;
display
:
block
;
}
.page_MyCustomerSearch
{
width
:
100%
;
min-height
:
auto
;
overflow
:
hidden
;
padding
:
0
0
20px
0
;
}
.page_MyCustomerSearch
li
{
float
:
left
;
font-size
:
12px
;
color
:
#666
;
margin
:
20px
0
0px
0
;
}
.page_MyCustomerSearch
li
>
span
{
display
:
inline-block
;
}
.page_MyCustomerSearch
li
span
>
em
{
display
:
inline-block
;
min-width
:
60px
;
text-align
:
right
;
font-style
:
normal
;
margin
:
0
12px
0
0
;
}
.page_MyCustomerSearch
li
:last-child
{
float
:
right
;
}
.VisaProductTable
{
width
:
100%
;
font-size
:
14px
;
color
:
#333
;
border-collapse
:
collapse
;
}
.VisaProductTable
tr
th
{
background
:
#E6E6E6
;
height
:
30px
;
font-size
:
12px
;
text-align
:
left
;
text-indent
:
25px
;
}
.VisaProductTable
tr
{
background
:
#fff
;
text-align
:
left
;
}
.VisaProductTable
tr
td
{
height
:
60px
;
padding-left
:
25px
;
border
:
1px
solid
#cccccc
;
font-size
:
14px
;
color
:
#333
;
}
.VisaProductTable
tr
td
>
img
{
width
:
24px
;
height
:
24px
;
border-radius
:
50%
;
float
:
left
;
margin-right
:
5px
;
}
.VisaProductTable
tr
td
.tuanqian
{
vertical-align
:
middle
;
font-weight
:
400
;
display
:
table-cell
;
text-align
:
center
;
width
:
44px
;
font-size
:
12px
;
height
:
19px
;
color
:
#FFFFFF
;
background
:
#2AAEF2
;
}
.VisaProductTable
tr
td
.geqian
{
vertical-align
:
middle
;
font-weight
:
400
;
display
:
table-cell
;
text-align
:
center
;
width
:
44px
;
font-size
:
12px
;
height
:
19px
;
color
:
#FFFFFF
;
background
:
#FF9000
;
}
.VisaProductTable
tr
td
.totalPrice
{
color
:
#FF9000
;
font-weight
:
400
;
font-size
:
16px
;
}
.VisaProductTable
tr
td
.sendVisaDate
{
font-weight
:
bold
;
}
.page_MyCustomer
._edHeight
{
height
:
340px
;
}
.dateClass
{
width
:
171px
!important
;
}
.surplusNum
{
color
:
#E95252
!important
;
}
.peopleNum
{
height
:
15px
;
font-size
:
16px
;
font-weight
:
400
;
color
:
rgba
(
51
,
51
,
51
,
1
);
line-height
:
24px
;
}
.Visa_income
{
width
:
18px
;
height
:
16px
;
font-size
:
16px
;
font-weight
:
400
;
line-height
:
24px
;
color
:
RGBA
(
71
,
191
,
140
,
1
);
}
.VisaProductTable
tr
td
.createName
{
vertical-align
:
middle
;
display
:
table-cell
;
text-align
:
center
;
width
:
50px
;
height
:
21px
;
}
.groupTourOrderIcon
button
{
width
:
28px
;
height
:
28px
;
border-radius
:
4px
;
}
.groupTourOrderIcon
.el-button--primary
{
padding
:
5px
;
margin
:
0
;
font-size
:
14px
!important
;
}
.groupTourOrder_tickets_red
{
color
:
#ff0000
;
text-decoration
:
underline
;
}
.groupTourOrder_tickets_blue
{
color
:
#0000ff
;
text-decoration
:
underline
;
}
.groupTourOrder_tickets_green
{
color
:
#008000
;
text-decoration
:
underline
;
}
.groupTourOrder_tickets_black
{
color
:
#000000
;
text-decoration
:
underline
;
}
.VD-remarkTitle
{
display
:
inline-block
;
float
:
left
;
width
:
36px
;
white-space
:
nowrap
;
font-size
:
14px
;
}
.VD-remarkCon
{
float
:
left
;
display
:
inline-block
;
width
:
94%
;
font-size
:
14px
;
}
.VD-redType
{
color
:
red
;
}
</
style
>
<
template
>
<
template
>
<div
class=
"page_MyCustomer"
>
<VisaProductOrder
:pagesTitle=
"pagesTitle"
></VisaProductOrder>
<div
class=
"query-box"
style=
"border:none"
>
<ul>
<li>
<span>
<em>
{{
$t
(
'fnc.danhao'
)
}}
</em>
<el-input
class=
'w220'
v-model=
'msg.VisaTCNUM'
:placeholder=
"$t('pub.pleaseImport')"
></el-input>
</span>
</li>
<li>
<span>
<em>
订单ID
</em>
<el-input
class=
'w220'
v-model=
'msg.OrderId'
placeholder=
"请输入订单ID"
></el-input>
</span>
</li>
<li>
<span>
<em>
{{
$t
(
'hotel.product_name'
)
}}
</em>
<el-input
class=
'w220'
v-model=
'msg.Name'
:placeholder=
"$t('pub.pleaseImport')"
></el-input>
</span>
</li>
<!--
<li>
<span>
<em>
送签日期
</em><el-date-picker
v-model=
'msg.SendStartDate'
class=
'w135'
value-format=
"yyyy-MM-dd"
type=
"date"
></el-date-picker>
-
<el-date-picker
v-model=
'msg.SendEndDate'
class=
'w135'
value-format=
"yyyy-MM-dd"
type=
"date"
></el-date-picker>
</span>
</li>
-->
<li>
<span>
<em>
订单状态
</em>
<el-select
v-model=
'msg.VisaOrderStatus'
>
<el-option
label=
"不限"
value=
"0"
key=
'0'
></el-option>
<el-option
label=
"正常"
value=
"1"
key=
'1'
></el-option>
<el-option
label=
"取消"
value=
"2"
key=
'2'
></el-option>
<el-option
label=
"待付款"
value=
"3"
key=
'3'
></el-option>
</el-select>
</span></li>
<li>
<span>
<em>
业务员
</em>
<el-select
filterable
v-model=
'msg.CreateBy'
>
<el-option
:value=
"0"
label=
"不限"
></el-option>
<el-option
v-for=
'item in EmployeeList'
:label=
'item.EmName'
:value=
'item.EmployeeId'
:key=
'item.EmployeeId'
>
</el-option>
</el-select>
</span>
</li>
<li>
<span>
<em>
公司
</em>
<el-select
filterable
class=
"w217"
v-model=
"msg.RB_Branch_Id"
:placeholder=
"$t('pub.pleaseSel')"
>
<el-option
:value=
"-1"
label=
"不限"
></el-option>
<el-option
v-for=
"item in layerCompanyList"
:label=
"item.BName"
:value=
"item.Id"
:key=
"item.Id"
>
</el-option>
</el-select>
</span>
</li>
<li>
<span>
<em>
{{
$t
(
'fnc.bmriqi'
)
}}
</em>
<el-date-picker
v-model=
'msg.StartDate'
class=
'w135'
value-format=
"yyyy-MM-dd"
type=
"date"
></el-date-picker>
-
<el-date-picker
v-model=
'msg.EndDate'
class=
'w135'
value-format=
"yyyy-MM-dd"
type=
"date"
></el-date-picker>
</span>
</li>
<li>
<button
class=
"hollowFixedBtn"
@
click=
"getList()"
>
{{
$t
(
'pub.searchBtn'
)
}}
</button>
<!--
<button
class=
"normalBtn"
@
click=
"addShow=true"
>
添加
</button>
-->
</li>
</ul>
</div>
<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:#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>
<visaOrderList
:pagesTitle=
"pagesTitle"
:OrderList=
"dataList"
v-loading=
"loading"
@
success=
"getList"
>
</visaOrderList>
<el-pagination
background
@
current-change=
"handleCurrentChange"
:current-page
.
sync=
"currentPage"
layout=
"total,prev, pager, next, jumper"
:page-size=
"this.msg.pageSize"
:total=
"total"
>
</el-pagination>
<div
class=
"_mc_edit _scrollbar"
:class=
"addShow==true?'edHeight':''"
>
<p
class=
"_tit"
>
{{
$t
(
'salesModule.UpOrder'
)
}}
<span
class=
"fr"
>
<button
class=
"hollowFixedBtn"
type=
"button"
@
click=
"cancelEdit()"
>
{{
$t
(
'pub.cancelBtn'
)
}}
</button>
<button
type=
"button"
class=
"normalBtn"
@
click=
"saveVisa()"
>
{{
$t
(
'pub.saveBtn'
)
}}
</button>
</span>
</p>
<el-form
class=
"_info_box clearfix"
:model=
"addMsg"
:rules=
"rules"
ref=
"addMsg"
label-width=
"120px"
>
<el-row
:gutter=
"20"
>
<el-col
:span=
"4"
>
<el-form-item
:label=
"$t('hotel.product_name')"
prop=
"Name"
>
<el-input
v-model=
"addMsg.Name"
:placeholder=
"$t('pub.pleaseImport')"
:disabled=
"true"
></el-input>
</el-form-item>
</el-col>
<el-col
:span=
"4"
>
<el-form-item
:label=
"$t('Airticket.Air_Number')"
prop=
"PeopleNum"
>
<el-input
@
keyup
.
native=
"checkInteger(addMsg,'PeopleNum')"
min=
"1"
v-model=
"addMsg.PeopleNum"
:placeholder=
"$t('pub.pleaseImport')"
maxlength=
"20"
:disabled=
"updateRemarksStatus"
></el-input>
</el-form-item>
</el-col>
<el-col
:span=
"4"
>
<el-form-item
:label=
"$t('salesModule.CustomerType')"
>
<el-select
v-model=
"addMsg.ClientType"
:disabled=
"updateRemarksStatus"
size=
mini
>
<el-option
:label=
"$t('salesModule.Trade')"
value=
"1"
></el-option>
<el-option
:label=
"$t('Operation.Op_direct')"
value=
"2"
></el-option>
</el-select>
</el-form-item>
</el-col>
<el-col
:span=
"8"
>
<el-form-item
:label=
"$t('pub.pubRemark')"
>
<el-input
v-model=
"addMsg.Remark"
type=
"textarea"
maxlength=
"500"
:placeholder=
"$t('pub.pleaseImport')"
>
</el-input>
</el-form-item>
</el-col>
<el-col
:span=
"4"
>
</el-col>
</el-row>
<el-row
:gutter=
"20"
v-if=
'visaManagementId>0'
>
<el-col
:span=
"4"
>
<el-form-item
:label=
"$t('visaT.rujingtime')"
prop=
"EnterCountryTime"
>
<el-date-picker
value-format=
"yyyy-MM-dd"
class=
'w170'
v-model=
'addMsg.EnterCountryTime'
type=
"date"
:disabled=
"updateRemarksStatus"
></el-date-picker>
</el-form-item>
</el-col>
<el-col
:span=
"4"
>
<el-form-item
:label=
"$t('visaT.chujingtime')"
prop=
"LeaveCountryTime"
>
<el-date-picker
value-format=
"yyyy-MM-dd"
class=
'w170'
v-model=
'addMsg.LeaveCountryTime'
type=
"date"
:disabled=
"updateRemarksStatus"
></el-date-picker>
</el-form-item>
</el-col>
<el-col
:span=
"4"
>
<el-form-item
:label=
"$t('visaT.cfAirport')"
prop=
"DepartAirport"
>
<el-select
v-model=
"addMsg.DepartAirport"
filterable
size=
mini
@
change=
"getFilghtForAir(1)"
:disabled=
"updateRemarksStatus"
>
<el-option
v-for=
"item in ChinaAirportList"
:key=
"item.ID"
:label=
"item.Name"
:value=
"item.ID"
>
</el-option>
</el-select>
</el-form-item>
</el-col>
<el-col
:span=
"4"
>
<el-form-item
:label=
"$t('visaT.Portofentry')"
prop=
"EnterCountryPort"
>
<el-select
v-model=
"addMsg.EnterCountryPort"
filterable
size=
mini
@
change=
"getFilghtForAir(1)"
:disabled=
"updateRemarksStatus"
>
<el-option
v-for=
"item in JapanAirportList"
:key=
"item.ID"
:label=
"item.Name"
:value=
"item.ID"
>
</el-option>
</el-select>
</el-form-item>
</el-col>
<el-col
:span=
"4"
>
<el-form-item
:label=
"$t('visaT.Inboundflights')"
prop=
"EnterCountryFlight"
>
<el-select
v-model=
"addMsg.EnterCountryFlight"
filterable
size=
mini
:disabled=
"updateRemarksStatus"
>
<el-option
v-for=
"item in FilghtForAirIn"
:key=
"item.ID"
:label=
"item.Flight_number"
:value=
"item.ID"
>
</el-option>
</el-select>
</el-form-item>
</el-col>
<el-col
:span=
"4"
>
</el-col>
</el-row>
<el-row
:gutter=
"20"
v-if=
'visaManagementId>0'
>
<el-col
:span=
"4"
>
<el-form-item
:label=
"$t('visaT.fhjichang')"
prop=
"GetBackAirport"
>
<el-select
v-model=
"addMsg.GetBackAirport"
filterable
size=
mini
@
change=
"getFilghtForAir(2)"
:disabled=
"updateRemarksStatus"
>
<el-option
v-for=
"item in ChinaAirportList"
:key=
"item.ID"
:label=
"item.Name"
:value=
"item.ID"
>
</el-option>
</el-select>
</el-form-item>
</el-col>
<el-col
:span=
"4"
>
<el-form-item
:label=
"$t('visaT.Exitport')"
prop=
"LeaveCountryPort"
>
<el-select
v-model=
"addMsg.LeaveCountryPort"
filterable
size=
mini
@
change=
"getFilghtForAir(2)"
:disabled=
"updateRemarksStatus"
>
<el-option
v-for=
"item in JapanAirportList"
:key=
"item.ID"
:label=
"item.Name"
:value=
"item.ID"
>
</el-option>
</el-select>
</el-form-item>
</el-col>
<el-col
:span=
"4"
>
<el-form-item
:label=
"$t('visaT.Outboundflight')"
prop=
"LeaveCountryFlight"
>
<el-select
v-model=
"addMsg.LeaveCountryFlight"
filterable
size=
mini
:disabled=
"updateRemarksStatus"
>
<el-option
v-for=
"item in FilghtForAirOut"
:key=
"item.ID"
:label=
"item.Flight_number"
:value=
"item.ID"
>
</el-option>
</el-select>
</el-form-item>
</el-col>
</el-row>
</el-form>
</div>
</div>
</
template
>
</
template
>
<
script
>
<
script
>
import
visaOrderList
from
'./components/visaOrderList
.vue'
;
import
VisaProductOrder
from
'./components/VisaProductOrder
.vue'
;
export
default
{
export
default
{
components
:
{
visaOrderList
},
components
:
{
VisaProductOrder
},
data
()
{
data
()
{
return
{
return
{
pagesTitle
:
'OP'
,
pagesTitle
:
'OP'
,
userInfo
:
{},
qjGroupId
:
-
1
,
F_InvoiceManagement
:
false
,
F_Finance_Create
:
false
,
msg
:
{
pageIndex
:
1
,
pageSize
:
12
,
StartDate
:
''
,
EndDate
:
''
,
SendStartDate
:
''
,
SendEndDate
:
''
,
Name
:
''
,
VisaTCNUM
:
''
,
VisaOrderStatus
:
'0'
,
CreateBy
:
0
,
RB_Branch_Id
:
-
1
,
OrderId
:
0
},
addMsg
:
{
Id
:
0
,
Remark
:
''
,
VisaId
:
''
,
Name
:
""
,
PeopleNum
:
''
,
EnterCountryTime
:
''
,
LeaveCountryTime
:
''
,
DepartAirport
:
''
,
GetBackAirport
:
''
,
EnterCountryPort
:
''
,
LeaveCountryPort
:
''
,
EnterCountryFlight
:
''
,
LeaveCountryFlight
:
''
,
VisaPlanId
:
0
,
DepartDate
:
''
,
ClientType
:
''
},
rules
:
{
PeopleNum
:
[{
required
:
true
,
message
:
"请输入人数"
,
trigger
:
"blur"
}],
//DepartDate:[{required: true, message: "请输入出发日期", trigger: "blur"}],
EnterCountryTime
:
[{
required
:
true
,
message
:
"请输入入境日期"
,
trigger
:
"blur"
}],
LeaveCountryTime
:
[{
required
:
true
,
message
:
"请输入出境日期"
,
trigger
:
"blur"
}]
},
updateRemarksStatus
:
false
,
SendStartDate
:
''
,
visaManagementId
:
0
,
VisaApplyForTypeEnum
:
[],
JapanAirportList
:
[],
ChinaAirportList
:
[],
countryList
:
[],
MarriageType
:
[],
VisaDeparturesType
:
[],
VisaDutyTypeEnum
:
[],
VisaIdentityTypeEnum
:
[],
FilghtForAirIn
:
[],
FilghtForAirOut
:
[],
dataList
:
[],
EmployeeList
:
[],
loading
:
false
,
total
:
0
,
addShow
:
false
,
currentPage
:
1
,
EmployeeList
:[],
employeeMsg
:{
// 员工
GroupId
:
''
,
BranchId
:
-
1
,
DepartmentId
:
0
,
PostId
:
0
,
IsLeave
:
0
,
},
layerCompanyList
:[]
}
}
},
},
methods
:
{
methods
:
{
getCompany
()
{
this
.
apipost
(
"admin_get_BranchGetList"
,
this
.
getCompanyMsg
,
res
=>
{
if
(
res
.
data
.
resultCode
==
1
)
{
this
.
layerCompanyList
=
res
.
data
.
data
;
}
else
{}
},
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
=>
{})
},
GetSupperOrderEditAuth
()
{
var
actionCode
=
this
.
$AuthCode
.
F_InvoiceManagement
;
this
.
CheckUserAuth
(
actionCode
,
res
=>
{
if
(
res
.
data
.
resultCode
==
1
&&
res
.
data
.
data
==
1
)
{
this
.
F_InvoiceManagement
=
true
;
}
});
var
actionCodeNew
=
this
.
$AuthCode
.
F_Finance_Create
;
this
.
CheckUserAuth
(
actionCodeNew
,
res
=>
{
if
(
res
.
data
.
resultCode
==
1
&&
res
.
data
.
data
==
1
)
{
this
.
F_Finance_Create
=
true
;
}
});
},
goUrlFinance
(
name
,
path
,
id
,
tcmun
)
{
this
.
$router
.
push
({
name
:
path
,
query
:
{
id
:
id
,
tcmun
:
tcmun
,
blank
:
'y'
,
tab
:
name
}
});
},
goIisDetail
:
function
(
id
)
{
// 跳转发票详情页面
this
.
$router
.
push
({
name
:
'invoicesManagerDetail'
,
query
:
{
id
:
id
,
noDetail
:
1
,
InvoiceApplyType
:
2
,
blank
:
"y"
,
}
});
},
// 申请发票
goUrlAdd
:
function
(
path
,
OrderId
,
TCID
,
customerId
,
InvoiceApplyType
)
{
this
.
$router
.
push
({
name
:
path
,
query
:
{
OrderId
:
OrderId
,
TCID
:
TCID
,
customerId
:
customerId
?
customerId
:
0
,
InvoiceApplyType
:
InvoiceApplyType
,
blank
:
"y"
,
}
});
},
goUrl2
(
path
,
id
,
name
)
{
this
.
$router
.
push
({
name
:
path
,
query
:
{
id
:
id
,
blank
:
'y'
,
tab
:
name
}
});
},
getChinaAirportList
()
{
// 获取国内机场
let
msg
=
{
City_id
:
0
,
Country_id
:
2
,
TrafficType
:
1
,
}
this
.
apipost
(
'airport_post_GetList'
,
msg
,
res
=>
{
if
(
res
.
data
.
resultCode
==
1
)
{
this
.
ChinaAirportList
=
res
.
data
.
data
}
else
{
this
.
$message
.
error
(
res
.
data
.
message
)
}
},
err
=>
{})
},
getJapanAirportList
()
{
// 获取日本机场
let
msg
=
{
City_id
:
0
,
Country_id
:
651
,
TrafficType
:
1
,
}
this
.
apipost
(
'airport_post_GetList'
,
msg
,
res
=>
{
if
(
res
.
data
.
resultCode
==
1
)
{
this
.
JapanAirportList
=
res
.
data
.
data
}
else
{
this
.
$message
.
error
(
res
.
data
.
message
)
}
},
err
=>
{})
},
FilghtForAir
(
data
,
type
)
{
this
.
apipost
(
'dmc_get_visa_GetFilghtForAir'
,
data
,
res
=>
{
if
(
res
.
data
.
resultCode
==
1
)
{
if
(
type
==
1
)
{
this
.
FilghtForAirIn
=
res
.
data
.
data
}
else
{
this
.
FilghtForAirOut
=
res
.
data
.
data
}
}
else
{
this
.
$message
.
error
(
res
.
data
.
message
)
}
},
err
=>
{})
},
getFilghtForAir
(
type
)
{
// 根据机场获取航班号
let
msg
=
{
StartAirId
:
0
,
EndAirId
:
0
,
}
if
(
type
==
1
)
{
if
(
this
.
addMsg
.
DepartAirport
&&
this
.
addMsg
.
EnterCountryPort
)
{
msg
.
StartAirId
=
this
.
addMsg
.
DepartAirport
msg
.
EndAirId
=
this
.
addMsg
.
EnterCountryPort
this
.
FilghtForAir
(
msg
,
type
)
}
}
else
{
if
(
this
.
addMsg
.
GetBackAirport
&&
this
.
addMsg
.
LeaveCountryPort
)
{
msg
.
StartAirId
=
this
.
addMsg
.
LeaveCountryPort
msg
.
EndAirId
=
this
.
addMsg
.
GetBackAirport
this
.
FilghtForAir
(
msg
,
type
)
}
}
},
goUrl
(
obj
)
{
let
TCIDARR
=
[];
if
(
obj
.
tcid
)
{
TCIDARR
.
push
(
obj
.
tcid
)
}
let
orderObj
=
{
OrderID
:
obj
.
id
,
OrderSource
:
10
,
Obj
:
{},
SourceID
:
obj
.
visaId
,
TCIDList
:
TCIDARR
}
this
.
$router
.
push
({
name
:
'ChoiceAddFinancialDocuments'
,
query
:
{
'path'
:
'SaleOrderModule'
,
'companyID'
:
obj
.
rB_Branch_Id
,
'visaType'
:
true
,
'blank'
:
'y'
,
'orderObj'
:
JSON
.
stringify
(
orderObj
)
}
});
},
goUrlT
(
obj
)
{
this
.
$router
.
push
({
name
:
'VisaGuestList'
,
query
:
{
'id'
:
obj
.
id
,
}
});
},
cancelOrder
(
obj
)
{
this
.
$confirm
(
'是否取消?'
,
'提示'
,
{
confirmButtonText
:
'确定'
,
cancelButtonText
:
'取消'
,
type
:
'warning'
}).
then
(()
=>
{
this
.
apipost
(
'dmc_post_visa_SetOrderCancel'
,
{
OrderId
:
obj
.
id
},
res
=>
{
if
(
res
.
data
.
resultCode
==
1
)
{
this
.
$message
.
success
(
'取消成功!'
);
this
.
getList
()
}
else
{
this
.
$message
.
error
(
res
.
data
.
message
);
}
},
err
=>
{})
}).
catch
(()
=>
{
this
.
$message
.
info
(
'已取消!'
);
});
},
getList
()
{
// 获取列表数据
this
.
loading
=
true
;
this
.
apipost
(
'dmc_get_visa_GetAdminVisaOrderList'
,
this
.
msg
,
res
=>
{
if
(
res
.
data
.
resultCode
==
0
)
{
this
.
loading
=
false
;
this
.
dataList
=
[]
}
else
{
this
.
dataList
=
res
.
data
.
data
.
pageData
;
this
.
total
=
res
.
data
.
data
.
count
;
this
.
loading
=
false
;
}
},
err
=>
{})
},
getDetail
(
obj
,
updateRStatus
)
{
this
.
SendStartDate
=
obj
.
sendStartDate
this
.
updateRemarksStatus
=
updateRStatus
;
this
.
visaManagementId
=
obj
.
visaManagementId
this
.
addMsg
.
VisaId
=
obj
.
visaId
this
.
addMsg
.
Id
=
obj
.
id
this
.
addShow
=
true
this
.
apipost
(
'dmc_get_visa_GetOrderByVisaId'
,
{
visaId
:
obj
.
visaId
,
visaOrderId
:
obj
.
id
},
res
=>
{
if
(
res
.
data
.
resultCode
==
1
)
{
let
x
=
res
.
data
.
data
this
.
addMsg
.
Name
=
x
[
0
].
Name
this
.
addMsg
.
PeopleNum
=
x
[
0
].
PeopleNum
this
.
addMsg
.
Remark
=
x
[
0
].
Remark
this
.
addMsg
.
EnterCountryTime
=
x
[
0
].
EnterCountryTime
this
.
addMsg
.
LeaveCountryTime
=
x
[
0
].
LeaveCountryTime
this
.
addMsg
.
DepartAirport
=
x
[
0
].
DepartAirport
this
.
addMsg
.
GetBackAirport
=
x
[
0
].
GetBackAirport
this
.
addMsg
.
EnterCountryPort
=
x
[
0
].
EnterCountryPort
this
.
addMsg
.
LeaveCountryPort
=
x
[
0
].
LeaveCountryPort
this
.
getFilghtForAir
(
1
)
this
.
getFilghtForAir
(
2
)
this
.
addMsg
.
EnterCountryFlight
=
x
[
0
].
EnterCountryFlight
this
.
addMsg
.
LeaveCountryFlight
=
x
[
0
].
LeaveCountryFlight
this
.
addMsg
.
VisaPlanId
=
x
[
0
].
VisaPlanId
//this.addMsg.DepartDate=x[0].DepartDate
this
.
addMsg
.
ClientType
=
x
[
0
].
ClientType
.
toString
()
}
},
err
=>
{})
},
saveVisa
()
{
// 保存
this
.
$refs
[
'addMsg'
].
validate
((
valid
)
=>
{
if
(
valid
)
{
this
.
apipost
(
'dmc_get_visa_SetVisaOrder'
,
this
.
addMsg
,
res
=>
{
if
(
res
.
data
.
resultCode
==
1
)
{
this
.
addMsg
=
{
Remark
:
''
,
VisaId
:
''
,
Name
:
""
,
PeopleNum
:
''
,
EnterCountryTime
:
''
,
LeaveCountryTime
:
''
,
DepartAirport
:
''
,
GetBackAirport
:
''
,
EnterCountryPort
:
''
,
LeaveCountryPort
:
''
,
EnterCountryFlight
:
''
,
LeaveCountryFlight
:
''
,
VisaPlanId
:
0
,
DepartDate
:
''
}
this
.
$message
.
success
(
res
.
data
.
message
)
this
.
addShow
=
false
this
.
getList
()
}
else
{
this
.
$message
.
error
(
res
.
data
.
message
)
}
},
err
=>
{})
}
else
{
return
false
;
}
});
},
cancelEdit
()
{
// 取消新增
this
.
addShow
=
false
this
.
addMsg
=
{
Name
:
''
,
Remark
:
''
,
VisaId
:
''
,
Name
:
""
,
PeopleNum
:
''
,
}
this
.
resetForm
(
'addMsg'
)
},
resetForm
(
formName
)
{
// 重置表单
this
.
$refs
[
formName
].
resetFields
();
},
handleCurrentChange
(
val
)
{
this
.
msg
.
pageIndex
=
val
;
this
.
getList
();
},
},
},
mounted
()
{
mounted
()
{
// crm自动登陆传过来的参数
if
(
this
.
$route
.
query
.
crmOrderObj
){
let
crmOrderObj
=
JSON
.
parse
(
this
.
$route
.
query
.
crmOrderObj
)
this
.
msg
.
OrderId
=
crmOrderObj
.
OrderId
}
else
if
(
this
.
$route
.
query
.
OrderId
){
this
.
msg
.
OrderId
=
this
.
$route
.
query
.
OrderId
}
this
.
qjGroupId
=
this
.
QjGroupId
();
this
.
userInfo
=
this
.
getLocalStorage
();
this
.
getEmployee
()
this
.
getList
()
this
.
getCompany
()
this
.
getChinaAirportList
()
this
.
getJapanAirportList
()
this
.
GetSupperOrderEditAuth
();
}
}
}
}
...
...
src/components/SalesVisa/VisaProductEditOrderQZ.vue
View file @
1cea4433
<
style
>
.page_MyCustomer
._mc_addbox
{
height
:
52px
;
width
:
100%
;
margin-top
:
20px
;
}
.page_MyCustomer
._mc_addbox
>
li
{
float
:
left
;
width
:
116px
;
font-size
:
14px
;
height
:
52px
;
color
:
#666
;
text-align
:
center
;
line-height
:
52px
;
background
:
#E9E9E9
;
cursor
:
pointer
;
}
.page_MyCustomer
._mc_addbox
>
li
.active
{
background
:
#fff
;
color
:
#333
;
}
.page_MyCustomer
._mc_addbox
.divActive
{
margin
:
-3px
auto
;
width
:
26px
;
height
:
3px
;
background
:
#E95252
;
}
.page_MyCustomer
._mc_edit
{
overflow
:
auto
;
display
:
none
;
position
:
fixed
;
z-index
:
50
;
bottom
:
0
;
left
:
0
;
border-top
:
3px
solid
#38425d
;
background-color
:
#f9f9f9
;
padding
:
10px
;
width
:
100%
;
min-width
:
1146px
;
}
.page_MyCustomer
.edHeight
{
display
:
block
;
height
:
291px
;
}
.page_MyCustomer
._mc_list
{
overflow-x
:
auto
;
background
:
#fff
;
padding-top
:
20px
;
padding-left
:
15px
;
}
.page_MyCustomer
._scrollbar
::-webkit-scrollbar
{
width
:
4px
;
height
:
8px
;
}
.page_MyCustomer
._scrollbar
::-webkit-scrollbar-thumb
{
border-radius
:
4px
;
-webkit-box-shadow
:
inset
0
0
2px
rgba
(
0
,
0
,
0
,
0.2
);
background
:
#c9c9c9
;
}
.page_MyCustomer
._scrollbar
::-webkit-scrollbar-track
{
-webkit-box-shadow
:
inset
0
0
2px
rgba
(
0
,
0
,
0
,
0.2
);
border-radius
:
4px
;
background
:
#EDEDED
;
}
.page_MyCustomer
._mc_edit
._tit
{
padding-left
:
10px
;
border-left
:
3px
solid
#E95252
;
font-size
:
16px
;
font-family
:
'PingFangSc-Fine'
;
color
:
#000000
}
.page_MyCustomer
._mc_edit
._info_box
ul
._form
li
{
float
:
left
;
}
.page_MyCustomer
._check_list
{
padding-left
:
120px
;
margin-bottom
:
20px
;
}
.page_MyCustomer
._check_box
.el-form-item
{
margin-bottom
:
0
}
.page_MyCustomer
._info_box
.el-form-item__label
{
font-size
:
12px
;
color
:
#666
;
}
._remark
textarea
{
resize
:
none
;
width
:
646px
;
height
:
100px
}
.page_MyCustomer
.avatar
{
width
:
148px
;
height
:
148px
;
display
:
block
;
}
.page_MyCustomerSearch
{
width
:
100%
;
min-height
:
auto
;
overflow
:
hidden
;
padding
:
0
0
20px
0
;
}
.page_MyCustomerSearch
li
{
float
:
left
;
font-size
:
12px
;
color
:
#666
;
margin
:
20px
0
0px
0
;
}
.page_MyCustomerSearch
li
>
span
{
display
:
inline-block
;
}
.page_MyCustomerSearch
li
span
>
em
{
display
:
inline-block
;
min-width
:
60px
;
text-align
:
right
;
font-style
:
normal
;
margin
:
0
12px
0
0
;
}
.page_MyCustomerSearch
li
:last-child
{
float
:
right
;
}
.VisaProductTable
{
width
:
100%
;
font-size
:
14px
;
color
:
#333
;
border-collapse
:
collapse
;
}
.VisaProductTable
tr
th
{
background
:
#E6E6E6
;
height
:
30px
;
font-size
:
12px
;
text-align
:
left
;
text-indent
:
25px
;
}
.VisaProductTable
tr
{
background
:
#fff
;
text-align
:
left
;
}
.VisaProductTable
tr
td
{
height
:
60px
;
padding-left
:
25px
;
border
:
1px
solid
#cccccc
;
font-size
:
14px
;
color
:
#333
;
}
.VisaProductTable
tr
td
>
img
{
width
:
24px
;
height
:
24px
;
border-radius
:
50%
;
float
:
left
;
margin-right
:
5px
;
}
.VisaProductTable
tr
td
.tuanqian
{
vertical-align
:
middle
;
font-weight
:
400
;
display
:
table-cell
;
text-align
:
center
;
width
:
44px
;
font-size
:
12px
;
height
:
19px
;
color
:
#FFFFFF
;
background
:
#2AAEF2
;
}
.VisaProductTable
tr
td
.geqian
{
vertical-align
:
middle
;
font-weight
:
400
;
display
:
table-cell
;
text-align
:
center
;
width
:
44px
;
font-size
:
12px
;
height
:
19px
;
color
:
#FFFFFF
;
background
:
#FF9000
;
}
.VisaProductTable
tr
td
.totalPrice
{
color
:
#FF9000
;
font-weight
:
400
;
font-size
:
16px
;
}
.VisaProductTable
tr
td
.sendVisaDate
{
font-weight
:
bold
;
}
.page_MyCustomer
._edHeight
{
height
:
340px
;
}
.dateClass
{
width
:
171px
!important
;
}
.surplusNum
{
color
:
#E95252
!important
;
}
.peopleNum
{
height
:
15px
;
font-size
:
16px
;
font-weight
:
400
;
color
:
rgba
(
51
,
51
,
51
,
1
);
line-height
:
24px
;
}
.Visa_income
{
width
:
18px
;
height
:
16px
;
font-size
:
16px
;
font-weight
:
400
;
line-height
:
24px
;
color
:
RGBA
(
71
,
191
,
140
,
1
);
}
.VisaProductTable
tr
td
.createName
{
vertical-align
:
middle
;
display
:
table-cell
;
text-align
:
center
;
width
:
50px
;
height
:
21px
;
}
.groupTourOrderIcon
button
{
width
:
28px
;
height
:
28px
;
border-radius
:
4px
;
}
.groupTourOrderIcon
.el-button--primary
{
padding
:
5px
;
margin
:
0
;
font-size
:
14px
!important
;
}
.groupTourOrder_tickets_red
{
color
:
#ff0000
;
text-decoration
:
underline
;
}
.groupTourOrder_tickets_blue
{
color
:
#0000ff
;
text-decoration
:
underline
;
}
.groupTourOrder_tickets_green
{
color
:
#008000
;
text-decoration
:
underline
;
}
.groupTourOrder_tickets_black
{
color
:
#000000
;
text-decoration
:
underline
;
}
.VD-remarkTitle
{
display
:
inline-block
;
float
:
left
;
width
:
36px
;
white-space
:
nowrap
;
font-size
:
14px
;
}
.VD-remarkCon
{
float
:
left
;
display
:
inline-block
;
width
:
94%
;
font-size
:
14px
;
}
.VD-redType
{
color
:
red
;
}
</
style
>
<
template
>
<
template
>
<VisaProduct
EditOrderOP></VisaProductEditOrderOP
>
<VisaProduct
Order
:pagesTitle=
"pagesTitle"
></VisaProductOrder
>
</
template
>
</
template
>
<
script
>
<
script
>
import
VisaProduct
EditOrderOP
from
'./VisaProductEditOrderOP
.vue'
;
import
VisaProduct
Order
from
'./components/VisaProductOrder
.vue'
;
export
default
{
export
default
{
components
:
{
VisaProduct
EditOrderOP
},
components
:
{
VisaProduct
Order
},
data
()
{
data
()
{
return
{
return
{
pagesTitle
:
'OP'
,
pagesTitle
:
'OP'
,
...
...
src/components/SalesVisa/components/VisaProductOrder.vue
0 → 100644
View file @
1cea4433
<
style
>
.page_MyCustomer
._mc_addbox
{
height
:
52px
;
width
:
100%
;
margin-top
:
20px
;
}
.page_MyCustomer
._mc_addbox
>
li
{
float
:
left
;
width
:
116px
;
font-size
:
14px
;
height
:
52px
;
color
:
#666
;
text-align
:
center
;
line-height
:
52px
;
background
:
#E9E9E9
;
cursor
:
pointer
;
}
.page_MyCustomer
._mc_addbox
>
li
.active
{
background
:
#fff
;
color
:
#333
;
}
.page_MyCustomer
._mc_addbox
.divActive
{
margin
:
-3px
auto
;
width
:
26px
;
height
:
3px
;
background
:
#E95252
;
}
.page_MyCustomer
._mc_edit
{
overflow
:
auto
;
display
:
none
;
position
:
fixed
;
z-index
:
50
;
bottom
:
0
;
left
:
0
;
border-top
:
3px
solid
#38425d
;
background-color
:
#f9f9f9
;
padding
:
10px
;
width
:
100%
;
min-width
:
1146px
;
}
.page_MyCustomer
.edHeight
{
display
:
block
;
height
:
291px
;
}
.page_MyCustomer
._mc_list
{
overflow-x
:
auto
;
background
:
#fff
;
padding-top
:
20px
;
padding-left
:
15px
;
}
.page_MyCustomer
._scrollbar
::-webkit-scrollbar
{
width
:
4px
;
height
:
8px
;
}
.page_MyCustomer
._scrollbar
::-webkit-scrollbar-thumb
{
border-radius
:
4px
;
-webkit-box-shadow
:
inset
0
0
2px
rgba
(
0
,
0
,
0
,
0.2
);
background
:
#c9c9c9
;
}
.page_MyCustomer
._scrollbar
::-webkit-scrollbar-track
{
-webkit-box-shadow
:
inset
0
0
2px
rgba
(
0
,
0
,
0
,
0.2
);
border-radius
:
4px
;
background
:
#EDEDED
;
}
.page_MyCustomer
._mc_edit
._tit
{
padding-left
:
10px
;
border-left
:
3px
solid
#E95252
;
font-size
:
16px
;
font-family
:
'PingFangSc-Fine'
;
color
:
#000000
}
.page_MyCustomer
._mc_edit
._info_box
ul
._form
li
{
float
:
left
;
}
.page_MyCustomer
._check_list
{
padding-left
:
120px
;
margin-bottom
:
20px
;
}
.page_MyCustomer
._check_box
.el-form-item
{
margin-bottom
:
0
}
.page_MyCustomer
._info_box
.el-form-item__label
{
font-size
:
12px
;
color
:
#666
;
}
._remark
textarea
{
resize
:
none
;
width
:
646px
;
height
:
100px
}
.page_MyCustomer
.avatar
{
width
:
148px
;
height
:
148px
;
display
:
block
;
}
.page_MyCustomerSearch
{
width
:
100%
;
min-height
:
auto
;
overflow
:
hidden
;
padding
:
0
0
20px
0
;
}
.page_MyCustomerSearch
li
{
float
:
left
;
font-size
:
12px
;
color
:
#666
;
margin
:
20px
0
0px
0
;
}
.page_MyCustomerSearch
li
>
span
{
display
:
inline-block
;
}
.page_MyCustomerSearch
li
span
>
em
{
display
:
inline-block
;
min-width
:
60px
;
text-align
:
right
;
font-style
:
normal
;
margin
:
0
12px
0
0
;
}
.page_MyCustomerSearch
li
:last-child
{
float
:
right
;
}
.VisaProductTable
{
width
:
100%
;
font-size
:
14px
;
color
:
#333
;
border-collapse
:
collapse
;
}
.VisaProductTable
tr
th
{
background
:
#E6E6E6
;
height
:
30px
;
font-size
:
12px
;
text-align
:
left
;
text-indent
:
25px
;
}
.VisaProductTable
tr
{
background
:
#fff
;
text-align
:
left
;
}
.VisaProductTable
tr
td
{
height
:
60px
;
padding-left
:
25px
;
border
:
1px
solid
#cccccc
;
font-size
:
14px
;
color
:
#333
;
}
.VisaProductTable
tr
td
>
img
{
width
:
24px
;
height
:
24px
;
border-radius
:
50%
;
float
:
left
;
margin-right
:
5px
;
}
.VisaProductTable
tr
td
.tuanqian
{
vertical-align
:
middle
;
font-weight
:
400
;
display
:
table-cell
;
text-align
:
center
;
width
:
44px
;
font-size
:
12px
;
height
:
19px
;
color
:
#FFFFFF
;
background
:
#2AAEF2
;
}
.VisaProductTable
tr
td
.geqian
{
vertical-align
:
middle
;
font-weight
:
400
;
display
:
table-cell
;
text-align
:
center
;
width
:
44px
;
font-size
:
12px
;
height
:
19px
;
color
:
#FFFFFF
;
background
:
#FF9000
;
}
.VisaProductTable
tr
td
.totalPrice
{
color
:
#FF9000
;
font-weight
:
400
;
font-size
:
16px
;
}
.VisaProductTable
tr
td
.sendVisaDate
{
font-weight
:
bold
;
}
.page_MyCustomer
._edHeight
{
height
:
340px
;
}
.dateClass
{
width
:
171px
!important
;
}
.surplusNum
{
color
:
#E95252
!important
;
}
.peopleNum
{
height
:
15px
;
font-size
:
16px
;
font-weight
:
400
;
color
:
rgba
(
51
,
51
,
51
,
1
);
line-height
:
24px
;
}
.Visa_income
{
width
:
18px
;
height
:
16px
;
font-size
:
16px
;
font-weight
:
400
;
line-height
:
24px
;
color
:
RGBA
(
71
,
191
,
140
,
1
);
}
.VisaProductTable
tr
td
.createName
{
vertical-align
:
middle
;
display
:
table-cell
;
text-align
:
center
;
width
:
50px
;
height
:
21px
;
}
.groupTourOrderIcon
button
{
width
:
28px
;
height
:
28px
;
border-radius
:
4px
;
}
.groupTourOrderIcon
.el-button--primary
{
padding
:
5px
;
margin
:
0
;
font-size
:
14px
!important
;
}
.groupTourOrder_tickets_red
{
color
:
#ff0000
;
text-decoration
:
underline
;
}
.groupTourOrder_tickets_blue
{
color
:
#0000ff
;
text-decoration
:
underline
;
}
.groupTourOrder_tickets_green
{
color
:
#008000
;
text-decoration
:
underline
;
}
.groupTourOrder_tickets_black
{
color
:
#000000
;
text-decoration
:
underline
;
}
.VD-remarkTitle
{
display
:
inline-block
;
float
:
left
;
width
:
36px
;
white-space
:
nowrap
;
font-size
:
14px
;
}
.VD-remarkCon
{
float
:
left
;
display
:
inline-block
;
width
:
94%
;
font-size
:
14px
;
}
.VD-redType
{
color
:
red
;
}
</
style
>
<
template
>
<div
class=
"page_MyCustomer"
>
<div
class=
"query-box"
style=
"border:none"
>
<ul>
<li>
<span>
<em>
{{
$t
(
'fnc.danhao'
)
}}
</em>
<el-input
class=
'w220'
v-model=
'msg.VisaTCNUM'
:placeholder=
"$t('pub.pleaseImport')"
></el-input>
</span>
</li>
<li>
<span>
<em>
订单ID
</em>
<el-input
class=
'w220'
v-model=
'msg.OrderId'
placeholder=
"请输入订单ID"
></el-input>
</span>
</li>
<li>
<span>
<em>
{{
$t
(
'hotel.product_name'
)
}}
</em>
<el-input
class=
'w220'
v-model=
'msg.Name'
:placeholder=
"$t('pub.pleaseImport')"
></el-input>
</span>
</li>
<!--
<li>
<span>
<em>
送签日期
</em><el-date-picker
v-model=
'msg.SendStartDate'
class=
'w135'
value-format=
"yyyy-MM-dd"
type=
"date"
></el-date-picker>
-
<el-date-picker
v-model=
'msg.SendEndDate'
class=
'w135'
value-format=
"yyyy-MM-dd"
type=
"date"
></el-date-picker>
</span>
</li>
-->
<li>
<span>
<em>
订单状态
</em>
<el-select
v-model=
'msg.VisaOrderStatus'
>
<el-option
label=
"不限"
value=
"0"
key=
'0'
></el-option>
<el-option
label=
"正常"
value=
"1"
key=
'1'
></el-option>
<el-option
label=
"取消"
value=
"2"
key=
'2'
></el-option>
<el-option
label=
"待付款"
value=
"3"
key=
'3'
></el-option>
</el-select>
</span></li>
<li
v-if=
"pagesTitle!='销售'"
>
<span>
<em>
业务员
</em>
<el-select
filterable
v-model=
'msg.CreateBy'
>
<el-option
:value=
"0"
label=
"不限"
></el-option>
<el-option
v-for=
'item in EmployeeList'
:label=
'item.EmName'
:value=
'item.EmployeeId'
:key=
'item.EmployeeId'
>
</el-option>
</el-select>
</span>
</li>
<li
v-if=
"pagesTitle!='销售'"
>
<span>
<em>
公司
</em>
<el-select
filterable
class=
"w217"
v-model=
"msg.RB_Branch_Id"
:placeholder=
"$t('pub.pleaseSel')"
>
<el-option
:value=
"-1"
label=
"不限"
></el-option>
<el-option
v-for=
"item in layerCompanyList"
:label=
"item.BName"
:value=
"item.Id"
:key=
"item.Id"
>
</el-option>
</el-select>
</span>
</li>
<li>
<span>
<em>
{{
$t
(
'fnc.bmriqi'
)
}}
</em>
<el-date-picker
v-model=
'msg.StartDate'
class=
'w135'
value-format=
"yyyy-MM-dd"
type=
"date"
></el-date-picker>
-
<el-date-picker
v-model=
'msg.EndDate'
class=
'w135'
value-format=
"yyyy-MM-dd"
type=
"date"
></el-date-picker>
</span>
</li>
<li>
<button
class=
"hollowFixedBtn"
@
click=
"getList()"
>
{{
$t
(
'pub.searchBtn'
)
}}
</button>
<!--
<button
class=
"normalBtn"
@
click=
"addShow=true"
>
添加
</button>
-->
</li>
</ul>
</div>
<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:#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>
<visaOrderList
:pagesTitle=
"pagesTitle"
:OrderList=
"dataList"
v-loading=
"loading"
@
success=
"getList"
>
</visaOrderList>
<el-pagination
background
@
current-change=
"handleCurrentChange"
:current-page
.
sync=
"currentPage"
layout=
"total,prev, pager, next, jumper"
:page-size=
"this.msg.pageSize"
:total=
"total"
>
</el-pagination>
<div
class=
"_mc_edit _scrollbar"
:class=
"addShow==true?'edHeight':''"
>
<p
class=
"_tit"
>
{{
$t
(
'salesModule.UpOrder'
)
}}
<span
class=
"fr"
>
<button
class=
"hollowFixedBtn"
type=
"button"
@
click=
"cancelEdit()"
>
{{
$t
(
'pub.cancelBtn'
)
}}
</button>
<button
type=
"button"
class=
"normalBtn"
@
click=
"saveVisa()"
>
{{
$t
(
'pub.saveBtn'
)
}}
</button>
</span>
</p>
<el-form
class=
"_info_box clearfix"
:model=
"addMsg"
:rules=
"rules"
ref=
"addMsg"
label-width=
"120px"
>
<el-row
:gutter=
"20"
>
<el-col
:span=
"4"
>
<el-form-item
:label=
"$t('hotel.product_name')"
prop=
"Name"
>
<el-input
v-model=
"addMsg.Name"
:placeholder=
"$t('pub.pleaseImport')"
:disabled=
"true"
></el-input>
</el-form-item>
</el-col>
<el-col
:span=
"4"
>
<el-form-item
:label=
"$t('Airticket.Air_Number')"
prop=
"PeopleNum"
>
<el-input
@
keyup
.
native=
"checkInteger(addMsg,'PeopleNum')"
min=
"1"
v-model=
"addMsg.PeopleNum"
:placeholder=
"$t('pub.pleaseImport')"
maxlength=
"20"
:disabled=
"updateRemarksStatus"
></el-input>
</el-form-item>
</el-col>
<el-col
:span=
"4"
>
<el-form-item
:label=
"$t('salesModule.CustomerType')"
>
<el-select
v-model=
"addMsg.ClientType"
:disabled=
"updateRemarksStatus"
size=
mini
>
<el-option
:label=
"$t('salesModule.Trade')"
value=
"1"
></el-option>
<el-option
:label=
"$t('Operation.Op_direct')"
value=
"2"
></el-option>
</el-select>
</el-form-item>
</el-col>
<el-col
:span=
"8"
>
<el-form-item
:label=
"$t('pub.pubRemark')"
>
<el-input
v-model=
"addMsg.Remark"
type=
"textarea"
maxlength=
"500"
:placeholder=
"$t('pub.pleaseImport')"
>
</el-input>
</el-form-item>
</el-col>
<el-col
:span=
"4"
>
</el-col>
</el-row>
<el-row
:gutter=
"20"
v-if=
'visaManagementId>0'
>
<el-col
:span=
"4"
>
<el-form-item
:label=
"$t('visaT.rujingtime')"
prop=
"EnterCountryTime"
>
<el-date-picker
value-format=
"yyyy-MM-dd"
class=
'w170'
v-model=
'addMsg.EnterCountryTime'
type=
"date"
:disabled=
"updateRemarksStatus"
></el-date-picker>
</el-form-item>
</el-col>
<el-col
:span=
"4"
>
<el-form-item
:label=
"$t('visaT.chujingtime')"
prop=
"LeaveCountryTime"
>
<el-date-picker
value-format=
"yyyy-MM-dd"
class=
'w170'
v-model=
'addMsg.LeaveCountryTime'
type=
"date"
:disabled=
"updateRemarksStatus"
></el-date-picker>
</el-form-item>
</el-col>
<el-col
:span=
"4"
>
<el-form-item
:label=
"$t('visaT.cfAirport')"
prop=
"DepartAirport"
>
<el-select
v-model=
"addMsg.DepartAirport"
filterable
size=
mini
@
change=
"getFilghtForAir(1)"
:disabled=
"updateRemarksStatus"
>
<el-option
v-for=
"item in ChinaAirportList"
:key=
"item.ID"
:label=
"item.Name"
:value=
"item.ID"
>
</el-option>
</el-select>
</el-form-item>
</el-col>
<el-col
:span=
"4"
>
<el-form-item
:label=
"$t('visaT.Portofentry')"
prop=
"EnterCountryPort"
>
<el-select
v-model=
"addMsg.EnterCountryPort"
filterable
size=
mini
@
change=
"getFilghtForAir(1)"
:disabled=
"updateRemarksStatus"
>
<el-option
v-for=
"item in JapanAirportList"
:key=
"item.ID"
:label=
"item.Name"
:value=
"item.ID"
>
</el-option>
</el-select>
</el-form-item>
</el-col>
<el-col
:span=
"4"
>
<el-form-item
:label=
"$t('visaT.Inboundflights')"
prop=
"EnterCountryFlight"
>
<el-select
v-model=
"addMsg.EnterCountryFlight"
filterable
size=
mini
:disabled=
"updateRemarksStatus"
>
<el-option
v-for=
"item in FilghtForAirIn"
:key=
"item.ID"
:label=
"item.Flight_number"
:value=
"item.ID"
>
</el-option>
</el-select>
</el-form-item>
</el-col>
<el-col
:span=
"4"
>
</el-col>
</el-row>
<el-row
:gutter=
"20"
v-if=
'visaManagementId>0'
>
<el-col
:span=
"4"
>
<el-form-item
:label=
"$t('visaT.fhjichang')"
prop=
"GetBackAirport"
>
<el-select
v-model=
"addMsg.GetBackAirport"
filterable
size=
mini
@
change=
"getFilghtForAir(2)"
:disabled=
"updateRemarksStatus"
>
<el-option
v-for=
"item in ChinaAirportList"
:key=
"item.ID"
:label=
"item.Name"
:value=
"item.ID"
>
</el-option>
</el-select>
</el-form-item>
</el-col>
<el-col
:span=
"4"
>
<el-form-item
:label=
"$t('visaT.Exitport')"
prop=
"LeaveCountryPort"
>
<el-select
v-model=
"addMsg.LeaveCountryPort"
filterable
size=
mini
@
change=
"getFilghtForAir(2)"
:disabled=
"updateRemarksStatus"
>
<el-option
v-for=
"item in JapanAirportList"
:key=
"item.ID"
:label=
"item.Name"
:value=
"item.ID"
>
</el-option>
</el-select>
</el-form-item>
</el-col>
<el-col
:span=
"4"
>
<el-form-item
:label=
"$t('visaT.Outboundflight')"
prop=
"LeaveCountryFlight"
>
<el-select
v-model=
"addMsg.LeaveCountryFlight"
filterable
size=
mini
:disabled=
"updateRemarksStatus"
>
<el-option
v-for=
"item in FilghtForAirOut"
:key=
"item.ID"
:label=
"item.Flight_number"
:value=
"item.ID"
>
</el-option>
</el-select>
</el-form-item>
</el-col>
</el-row>
</el-form>
</div>
</div>
</
template
>
<
script
>
import
visaOrderList
from
'./visaOrderList.vue'
;
export
default
{
props
:[
'pagesTitle'
],
components
:
{
visaOrderList
},
data
()
{
return
{
// pagesTitle: 'OP',
userInfo
:
{},
qjGroupId
:
-
1
,
F_InvoiceManagement
:
false
,
F_Finance_Create
:
false
,
msg
:
{
pageIndex
:
1
,
pageSize
:
12
,
StartDate
:
''
,
EndDate
:
''
,
SendStartDate
:
''
,
SendEndDate
:
''
,
Name
:
''
,
VisaTCNUM
:
''
,
VisaOrderStatus
:
'0'
,
CreateBy
:
0
,
RB_Branch_Id
:
-
1
,
OrderId
:
0
},
addMsg
:
{
Id
:
0
,
Remark
:
''
,
VisaId
:
''
,
Name
:
""
,
PeopleNum
:
''
,
EnterCountryTime
:
''
,
LeaveCountryTime
:
''
,
DepartAirport
:
''
,
GetBackAirport
:
''
,
EnterCountryPort
:
''
,
LeaveCountryPort
:
''
,
EnterCountryFlight
:
''
,
LeaveCountryFlight
:
''
,
VisaPlanId
:
0
,
DepartDate
:
''
,
ClientType
:
''
},
rules
:
{
PeopleNum
:
[{
required
:
true
,
message
:
"请输入人数"
,
trigger
:
"blur"
}],
//DepartDate:[{required: true, message: "请输入出发日期", trigger: "blur"}],
EnterCountryTime
:
[{
required
:
true
,
message
:
"请输入入境日期"
,
trigger
:
"blur"
}],
LeaveCountryTime
:
[{
required
:
true
,
message
:
"请输入出境日期"
,
trigger
:
"blur"
}]
},
updateRemarksStatus
:
false
,
SendStartDate
:
''
,
visaManagementId
:
0
,
VisaApplyForTypeEnum
:
[],
JapanAirportList
:
[],
ChinaAirportList
:
[],
countryList
:
[],
MarriageType
:
[],
VisaDeparturesType
:
[],
VisaDutyTypeEnum
:
[],
VisaIdentityTypeEnum
:
[],
FilghtForAirIn
:
[],
FilghtForAirOut
:
[],
dataList
:
[],
EmployeeList
:
[],
loading
:
false
,
total
:
0
,
addShow
:
false
,
currentPage
:
1
,
EmployeeList
:[],
employeeMsg
:{
// 员工
GroupId
:
''
,
BranchId
:
-
1
,
DepartmentId
:
0
,
PostId
:
0
,
IsLeave
:
0
,
},
layerCompanyList
:[]
}
},
methods
:
{
getCompany
()
{
this
.
apipost
(
"admin_get_BranchGetList"
,
this
.
getCompanyMsg
,
res
=>
{
if
(
res
.
data
.
resultCode
==
1
)
{
this
.
layerCompanyList
=
res
.
data
.
data
;
}
else
{}
},
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
=>
{})
},
GetSupperOrderEditAuth
()
{
var
actionCode
=
this
.
$AuthCode
.
F_InvoiceManagement
;
this
.
CheckUserAuth
(
actionCode
,
res
=>
{
if
(
res
.
data
.
resultCode
==
1
&&
res
.
data
.
data
==
1
)
{
this
.
F_InvoiceManagement
=
true
;
}
});
var
actionCodeNew
=
this
.
$AuthCode
.
F_Finance_Create
;
this
.
CheckUserAuth
(
actionCodeNew
,
res
=>
{
if
(
res
.
data
.
resultCode
==
1
&&
res
.
data
.
data
==
1
)
{
this
.
F_Finance_Create
=
true
;
}
});
},
goUrlFinance
(
name
,
path
,
id
,
tcmun
)
{
this
.
$router
.
push
({
name
:
path
,
query
:
{
id
:
id
,
tcmun
:
tcmun
,
blank
:
'y'
,
tab
:
name
}
});
},
goIisDetail
:
function
(
id
)
{
// 跳转发票详情页面
this
.
$router
.
push
({
name
:
'invoicesManagerDetail'
,
query
:
{
id
:
id
,
noDetail
:
1
,
InvoiceApplyType
:
2
,
blank
:
"y"
,
}
});
},
// 申请发票
goUrlAdd
:
function
(
path
,
OrderId
,
TCID
,
customerId
,
InvoiceApplyType
)
{
this
.
$router
.
push
({
name
:
path
,
query
:
{
OrderId
:
OrderId
,
TCID
:
TCID
,
customerId
:
customerId
?
customerId
:
0
,
InvoiceApplyType
:
InvoiceApplyType
,
blank
:
"y"
,
}
});
},
goUrl2
(
path
,
id
,
name
)
{
this
.
$router
.
push
({
name
:
path
,
query
:
{
id
:
id
,
blank
:
'y'
,
tab
:
name
}
});
},
getChinaAirportList
()
{
// 获取国内机场
let
msg
=
{
City_id
:
0
,
Country_id
:
2
,
TrafficType
:
1
,
}
this
.
apipost
(
'airport_post_GetList'
,
msg
,
res
=>
{
if
(
res
.
data
.
resultCode
==
1
)
{
this
.
ChinaAirportList
=
res
.
data
.
data
}
else
{
this
.
$message
.
error
(
res
.
data
.
message
)
}
},
err
=>
{})
},
getJapanAirportList
()
{
// 获取日本机场
let
msg
=
{
City_id
:
0
,
Country_id
:
651
,
TrafficType
:
1
,
}
this
.
apipost
(
'airport_post_GetList'
,
msg
,
res
=>
{
if
(
res
.
data
.
resultCode
==
1
)
{
this
.
JapanAirportList
=
res
.
data
.
data
}
else
{
this
.
$message
.
error
(
res
.
data
.
message
)
}
},
err
=>
{})
},
FilghtForAir
(
data
,
type
)
{
this
.
apipost
(
'dmc_get_visa_GetFilghtForAir'
,
data
,
res
=>
{
if
(
res
.
data
.
resultCode
==
1
)
{
if
(
type
==
1
)
{
this
.
FilghtForAirIn
=
res
.
data
.
data
}
else
{
this
.
FilghtForAirOut
=
res
.
data
.
data
}
}
else
{
this
.
$message
.
error
(
res
.
data
.
message
)
}
},
err
=>
{})
},
getFilghtForAir
(
type
)
{
// 根据机场获取航班号
let
msg
=
{
StartAirId
:
0
,
EndAirId
:
0
,
}
if
(
type
==
1
)
{
if
(
this
.
addMsg
.
DepartAirport
&&
this
.
addMsg
.
EnterCountryPort
)
{
msg
.
StartAirId
=
this
.
addMsg
.
DepartAirport
msg
.
EndAirId
=
this
.
addMsg
.
EnterCountryPort
this
.
FilghtForAir
(
msg
,
type
)
}
}
else
{
if
(
this
.
addMsg
.
GetBackAirport
&&
this
.
addMsg
.
LeaveCountryPort
)
{
msg
.
StartAirId
=
this
.
addMsg
.
LeaveCountryPort
msg
.
EndAirId
=
this
.
addMsg
.
GetBackAirport
this
.
FilghtForAir
(
msg
,
type
)
}
}
},
goUrl
(
obj
)
{
let
TCIDARR
=
[];
if
(
obj
.
tcid
)
{
TCIDARR
.
push
(
obj
.
tcid
)
}
let
orderObj
=
{
OrderID
:
obj
.
id
,
OrderSource
:
10
,
Obj
:
{},
SourceID
:
obj
.
visaId
,
TCIDList
:
TCIDARR
}
this
.
$router
.
push
({
name
:
'ChoiceAddFinancialDocuments'
,
query
:
{
'path'
:
'SaleOrderModule'
,
'companyID'
:
obj
.
rB_Branch_Id
,
'visaType'
:
true
,
'blank'
:
'y'
,
'orderObj'
:
JSON
.
stringify
(
orderObj
)
}
});
},
goUrlT
(
obj
)
{
this
.
$router
.
push
({
name
:
'VisaGuestList'
,
query
:
{
'id'
:
obj
.
id
,
}
});
},
cancelOrder
(
obj
)
{
this
.
$confirm
(
'是否取消?'
,
'提示'
,
{
confirmButtonText
:
'确定'
,
cancelButtonText
:
'取消'
,
type
:
'warning'
}).
then
(()
=>
{
this
.
apipost
(
'dmc_post_visa_SetOrderCancel'
,
{
OrderId
:
obj
.
id
},
res
=>
{
if
(
res
.
data
.
resultCode
==
1
)
{
this
.
$message
.
success
(
'取消成功!'
);
this
.
getList
()
}
else
{
this
.
$message
.
error
(
res
.
data
.
message
);
}
},
err
=>
{})
}).
catch
(()
=>
{
this
.
$message
.
info
(
'已取消!'
);
});
},
getList
()
{
// 获取列表数据
this
.
loading
=
true
;
let
url
if
(
this
.
pagesTitle
==
'销售'
){
url
=
'dmc_get_visa_GetOrderVisaOrderList'
}
else
{
url
=
'dmc_get_visa_GetAdminVisaOrderList'
}
this
.
apipost
(
url
,
this
.
msg
,
res
=>
{
if
(
res
.
data
.
resultCode
==
0
)
{
this
.
loading
=
false
;
this
.
dataList
=
[]
}
else
{
this
.
dataList
=
res
.
data
.
data
.
pageData
;
this
.
total
=
res
.
data
.
data
.
count
;
this
.
loading
=
false
;
}
},
err
=>
{})
},
getDetail
(
obj
,
updateRStatus
)
{
this
.
SendStartDate
=
obj
.
sendStartDate
this
.
updateRemarksStatus
=
updateRStatus
;
this
.
visaManagementId
=
obj
.
visaManagementId
this
.
addMsg
.
VisaId
=
obj
.
visaId
this
.
addMsg
.
Id
=
obj
.
id
this
.
addShow
=
true
this
.
apipost
(
'dmc_get_visa_GetOrderByVisaId'
,
{
visaId
:
obj
.
visaId
,
visaOrderId
:
obj
.
id
},
res
=>
{
if
(
res
.
data
.
resultCode
==
1
)
{
let
x
=
res
.
data
.
data
this
.
addMsg
.
Name
=
x
[
0
].
Name
this
.
addMsg
.
PeopleNum
=
x
[
0
].
PeopleNum
this
.
addMsg
.
Remark
=
x
[
0
].
Remark
this
.
addMsg
.
EnterCountryTime
=
x
[
0
].
EnterCountryTime
this
.
addMsg
.
LeaveCountryTime
=
x
[
0
].
LeaveCountryTime
this
.
addMsg
.
DepartAirport
=
x
[
0
].
DepartAirport
this
.
addMsg
.
GetBackAirport
=
x
[
0
].
GetBackAirport
this
.
addMsg
.
EnterCountryPort
=
x
[
0
].
EnterCountryPort
this
.
addMsg
.
LeaveCountryPort
=
x
[
0
].
LeaveCountryPort
this
.
getFilghtForAir
(
1
)
this
.
getFilghtForAir
(
2
)
this
.
addMsg
.
EnterCountryFlight
=
x
[
0
].
EnterCountryFlight
this
.
addMsg
.
LeaveCountryFlight
=
x
[
0
].
LeaveCountryFlight
this
.
addMsg
.
VisaPlanId
=
x
[
0
].
VisaPlanId
//this.addMsg.DepartDate=x[0].DepartDate
this
.
addMsg
.
ClientType
=
x
[
0
].
ClientType
.
toString
()
}
},
err
=>
{})
},
saveVisa
()
{
// 保存
this
.
$refs
[
'addMsg'
].
validate
((
valid
)
=>
{
if
(
valid
)
{
this
.
apipost
(
'dmc_get_visa_SetVisaOrder'
,
this
.
addMsg
,
res
=>
{
if
(
res
.
data
.
resultCode
==
1
)
{
this
.
addMsg
=
{
Remark
:
''
,
VisaId
:
''
,
Name
:
""
,
PeopleNum
:
''
,
EnterCountryTime
:
''
,
LeaveCountryTime
:
''
,
DepartAirport
:
''
,
GetBackAirport
:
''
,
EnterCountryPort
:
''
,
LeaveCountryPort
:
''
,
EnterCountryFlight
:
''
,
LeaveCountryFlight
:
''
,
VisaPlanId
:
0
,
DepartDate
:
''
}
this
.
$message
.
success
(
res
.
data
.
message
)
this
.
addShow
=
false
this
.
getList
()
}
else
{
this
.
$message
.
error
(
res
.
data
.
message
)
}
},
err
=>
{})
}
else
{
return
false
;
}
});
},
cancelEdit
()
{
// 取消新增
this
.
addShow
=
false
this
.
addMsg
=
{
Name
:
''
,
Remark
:
''
,
VisaId
:
''
,
Name
:
""
,
PeopleNum
:
''
,
}
this
.
resetForm
(
'addMsg'
)
},
resetForm
(
formName
)
{
// 重置表单
this
.
$refs
[
formName
].
resetFields
();
},
handleCurrentChange
(
val
)
{
this
.
msg
.
pageIndex
=
val
;
this
.
getList
();
},
},
mounted
()
{
// crm自动登陆传过来的参数
if
(
this
.
$route
.
query
.
crmOrderObj
){
let
crmOrderObj
=
JSON
.
parse
(
this
.
$route
.
query
.
crmOrderObj
)
this
.
msg
.
OrderId
=
crmOrderObj
.
OrderId
}
else
if
(
this
.
$route
.
query
.
OrderId
){
this
.
msg
.
OrderId
=
this
.
$route
.
query
.
OrderId
}
this
.
qjGroupId
=
this
.
QjGroupId
();
this
.
userInfo
=
this
.
getLocalStorage
();
this
.
getEmployee
()
this
.
getList
()
this
.
getCompany
()
this
.
getChinaAirportList
()
this
.
getJapanAirportList
()
this
.
GetSupperOrderEditAuth
();
}
}
</
script
>
\ No newline at end of file
src/components/SalesVisa/components/visaOrderList.vue
View file @
1cea4433
...
@@ -694,7 +694,7 @@
...
@@ -694,7 +694,7 @@
<div
<div
class=
"row wrap px15 bgE8F5E9 radius5 ml fz12 orderop"
style=
"min-width: 150px;"
>
class=
"row wrap px15 bgE8F5E9 radius5 ml fz12 orderop"
style=
"min-width: 150px;"
>
<div
class=
"row-c cursor-pointer radius5 change py5"
@
click=
"goUrlVisaList(item)"
<div
class=
"row-c cursor-pointer radius5 change py5"
@
click=
"goUrlVisaList(item)"
v-if=
"item.VisaPlanIdStr
!=''&&pagesTitle!='销售'"
>
v-if=
"item.VisaPlanIdStr!=''&&pagesTitle!='销售'"
>
<span
class=
"c059FF6"
>
签证详情
</span>
<span
class=
"c059FF6"
>
签证详情
</span>
</div>
</div>
<div
class=
"row-c cursor-pointer radius5 change py5"
@
click=
"getDetail(item,false)"
<div
class=
"row-c cursor-pointer radius5 change py5"
@
click=
"getDetail(item,false)"
...
...
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