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
0ebe813b
Commit
0ebe813b
authored
Apr 18, 2019
by
liudong1993
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'master' of
http://gitlab.oytour.com/luochao/superman
parents
37bf61d4
3c4be862
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
28 changed files
with
1595 additions
and
424 deletions
+1595
-424
package.json
package.json
+1
-1
commonUtils.js
src/assets/utils/commonUtils.js
+2
-2
AddComplaints.vue
src/components/Complaints/AddComplaints.vue
+6
-6
ComplaintsManage.vue
src/components/Complaints/ComplaintsManage.vue
+24
-0
BasicDocuments.vue
src/components/FinancialModule/BasicDocuments.vue
+7
-0
FinancialDocuments.vue
src/components/FinancialModule/FinancialDocuments.vue
+1
-1
FinancialDocumentsDetail.vue
src/components/FinancialModule/FinancialDocumentsDetail.vue
+2
-2
PoolAccDetail.vue
src/components/FinancialModule/accDetail/PoolAccDetail.vue
+4
-4
addFinancialDocuments.vue
src/components/FinancialModule/addFinancialDocuments.vue
+1
-1
invoicesManager.vue
src/components/FinancialModule/invoicesManager.vue
+2
-2
invoicesManagerAdd.vue
src/components/FinancialModule/invoicesManagerAdd.vue
+268
-63
invoicesManagerDetail.vue
src/components/FinancialModule/invoicesManagerDetail.vue
+346
-21
HotelProductManage2.vue
src/components/Hotel/HotelProductManage2.vue
+21
-9
HotelQueryList.vue
src/components/Hotel/HotelQueryList.vue
+66
-54
HotelSalesBoard.vue
src/components/Hotel/HotelSalesBoard.vue
+7
-1
roomReservations.vue
src/components/Hotel/roomReservations.vue
+3
-2
roomReservationsDetails.vue
src/components/Hotel/roomReservationsDetails.vue
+38
-3
leaderReimbursement.vue
src/components/LeaderManagement/leaderReimbursement.vue
+42
-22
enrollTotal.vue
src/components/SalesModule/enrollTotal.vue
+7
-7
groupTourOrder.vue
src/components/SalesModule/groupTourOrder.vue
+4
-4
groupTourOrderByTuan.vue
src/components/SalesModule/groupTourOrderByTuan.vue
+8
-8
ModifyVisaProduct.vue
src/components/SalesVisa/ModifyVisaProduct.vue
+1
-0
VisaProductCountryManager.vue
src/components/SalesVisa/VisaProductCountryManager.vue
+90
-25
TravelControlList.vue
...components/TravelManager/TravelList/TravelControlList.vue
+26
-6
VisaManagement.vue
src/components/VisaCenter/VisaManagement.vue
+435
-162
BusInfo.vue
src/components/busManagement/BusInfo.vue
+172
-14
busStatistics.vue
src/components/busManagement/busStatistics.vue
+8
-1
index.js
src/plug/index.js
+3
-3
No files found.
package.json
View file @
0ebe813b
...
...
@@ -5,7 +5,7 @@
"author"
:
"VIITTO"
,
"private"
:
true
,
"scripts"
:
{
"dev"
:
"
webpack-dev-server
--inline --progress --config build/webpack.dev.conf.js"
,
"dev"
:
"
node --max-old-space-size=4096 node_modules/webpack-dev-server/bin/webpack-dev-server.js
--inline --progress --config build/webpack.dev.conf.js"
,
"start"
:
"npm run dev"
,
"lint"
:
"eslint --ext .js,.vue src"
,
"serve"
:
"node --max_old_space_size=4096 node_modules/.bin/vue-cli-service serve --open"
,
...
...
src/assets/utils/commonUtils.js
View file @
0ebe813b
...
...
@@ -139,7 +139,7 @@ var commonUtils = {
// 小数点前进行转化
for
(
var
i
=
part
[
0
].
length
-
1
;
i
>=
0
;
i
--
)
{
if
(
part
[
0
].
length
>
10
)
{
alertWarning
(
"位数过大,无法计算"
);
//
alertWarning("位数过大,无法计算");
return
""
;
}
// 若数量超过拾亿单位,提示
let
tmpnewchar
=
""
;
...
...
@@ -219,7 +219,7 @@ var commonUtils = {
// 小数点之后进行转化
if
(
Num
.
indexOf
(
"."
)
!=
-
1
)
{
if
(
part
[
1
].
length
>
2
)
{
alertWarning
(
"小数点之后只能保留两位,系统将自动截段"
);
//
alertWarning("小数点之后只能保留两位,系统将自动截段");
part
[
1
]
=
part
[
1
].
substr
(
0
,
2
);
}
for
(
var
i
=
0
;
i
<
part
[
1
].
length
;
i
++
)
{
...
...
src/components/Complaints/AddComplaints.vue
View file @
0ebe813b
...
...
@@ -126,7 +126,7 @@
<p>
投诉情况
</p>
<div
class=
"AC_complaintList"
>
<div
class=
"t"
>
主题内容:
</div>
<ul>
<ul
style=
"width:90%;"
>
<li
v-for=
"subItem in themeList"
@
click=
"getTheme(subItem)"
:class=
"
{'checked':subItem.isCheck}">
{{
subItem
.
Name
}}
</li>
...
...
@@ -134,7 +134,7 @@
</div>
<div
class=
"AC_complaintList"
>
<div
class=
"t"
>
严重程度:
</div>
<ul>
<ul
style=
"width:90%;"
>
<li
v-for=
"subItem in severityList"
@
click=
"getServerity(subItem)"
:class=
"
{'checked':subItem.isCheck}">
{{
subItem
.
Name
}}
</li>
...
...
@@ -234,10 +234,10 @@
this
.
EditMsg
.
LineID
=
this
.
PriceInfo
.
LineID
;
this
.
EditMsg
.
LineteamId
=
this
.
PriceInfo
.
LineteamId
;
}
this
.
ExitCount
=
res
.
data
.
data
.
ExitCount
;
if
(
this
.
ExitCount
>
0
){
this
.
Error
(
"该订单已存在投诉"
);
}
//
this.ExitCount = res.data.data.ExitCount;
//
if(this.ExitCount>0){
//
this.Error("该订单已存在投诉");
//
}
}
else
{
this
.
Error
(
res
.
data
.
message
)
}
...
...
src/components/Complaints/ComplaintsManage.vue
View file @
0ebe813b
...
...
@@ -203,6 +203,7 @@
<td>
{{
getTimeConsuming
(
item
,
2
)
}}
</td>
<td>
<span
class=
"CM_detail"
@
click=
"goUrl('ComplaintsDetail',item.ID,item.OrderID,'投诉详情')"
>
详情
</span>
<span
class=
"CM_detail"
@
click=
"delComplaints(item.ID,item.CreateBy)"
>
删除
</span>
</td>
</tr>
</table>
...
...
@@ -438,6 +439,29 @@
var
fileName
=
"投诉报表.xls"
;
this
.
GetLocalFile
(
"get_complain_GetExport"
,
msg
,
fileName
);
},
//删除
delComplaints
(
ID
,
UserID
){
let
userInfo
=
this
.
getLocalStorage
();
if
(
userInfo
.
EmployeeId
==
UserID
){
var
that
=
this
;
that
.
Confirm
(
"是否删除?"
,
function
()
{
var
msg
=
{
ID
:
ID
};
that
.
apipost
(
"conplain_post_Remove"
,
msg
,
res
=>
{
if
(
res
.
data
.
resultCode
==
1
)
{
that
.
Success
(
res
.
data
.
message
);
that
.
getList
();
}
},
null
);
});
}
else
{
this
.
Error
(
'只能删除自己创建的单据'
);
}
}
},
mounted
()
{
this
.
getLineList
()
...
...
src/components/FinancialModule/BasicDocuments.vue
View file @
0ebe813b
...
...
@@ -282,6 +282,7 @@
<td
v-if=
"OrderSource==9&&GetDetail.SourceID>0"
@
click=
"jumpPage('SettlementOrder',GetDetail.SourceID,2)"
>
<span
class=
"_jump_page _font_bold"
>
国内票务
</span>
</td>
<td
v-else-if=
"OrderSource==10&&GetDetail.SourceID>0"
@
click=
"jumpPage('FinancialOrder',GetDetail.SourceID,3)"
>
<span
class=
"_jump_page _font_bold"
>
签证收支
</span>
</td>
<td
v-else-if=
"OrderSource==4&&GetDetail.SourceID>0"
@
click=
"jumpPage('FinancialOrder',GetDetail,4)"
>
<span
class=
"_jump_page _font_bold"
>
机票收支
</span>
</td>
<td
v-if=
"GetDetail.TemplateId === 43"
@
click=
"jumpPlanPage('leaderReimbursement',o.TCID)"
>
<span
class=
"_jump_page _font_bold"
>
用款计划
</span>
</td>
</tr>
</table>
<table
border=
"1"
bordercolor=
"#D2D2D2"
style=
"border-collapse:collapse;margin-top:15px;"
width=
"100%"
v-else-if=
"OrderSource==10"
>
...
...
@@ -1336,6 +1337,12 @@ export default {
this
.
loading
=
false
;
},
null
)
},
jumpPlanPage
(
path
,
id
){
this
.
$router
.
push
({
name
:
path
,
query
:
{
id
:
id
,
isUpdate
:
false
,
blank
:
'y'
}
})
},
jumpPage
(
path
,
id
,
type
){
if
(
type
==
1
){
// let routeData = this.$router.resolve({
...
...
src/components/FinancialModule/FinancialDocuments.vue
View file @
0ebe813b
...
...
@@ -383,7 +383,7 @@
<button
class=
"normalBtn"
v-if=
"checkboxShow"
@
click=
"Financial_post_SetBatch"
>
{{$t('fnc.piltijiao')}}
</button>
<button
class=
"normalBtn"
@
click=
"method5()"
>
{{$t('visa.v_daochu')}}
</button>
<button
class=
"hollowFixedBtn"
@
click=
"goUrl('WorkEntrustmentMy')"
>
{{$t('fnc.gzweituo')}}
</button>
<button
class=
"hollowFixedBtn"
@
click=
"BOSSBtn = !BOSSBtn, checkList = [], getPageList(1)"
v-if=
"msg.Conditon === 3 &&
!
userMenuCode"
>
{{BOSSBtn ? '关闭一键审批' : '一键审批'}}
</button>
<button
class=
"hollowFixedBtn"
@
click=
"BOSSBtn = !BOSSBtn, checkList = [], getPageList(1)"
v-if=
"msg.Conditon === 3 && userMenuCode"
>
{{BOSSBtn ? '关闭一键审批' : '一键审批'}}
</button>
<button
class=
"hollowFixedBtn"
v-if=
"msg.Conditon === 3 && BOSSBtn"
@
click=
"BOSSBtnClick"
>
{{$t('ios.shenpi')}}
</button>
</li>
</ul>
...
...
src/components/FinancialModule/FinancialDocumentsDetail.vue
View file @
0ebe813b
...
...
@@ -351,7 +351,7 @@
<td
v-if=
"OrderSource==9&&GetDetail.SourceID>0"
@
click=
"jumpPage('FinancialOrder',GetDetail,2)"
>
<span
class=
"_jump_page _font_bold"
>
国内票务
</span>
</td>
<td
v-else-if=
"OrderSource==10&&GetDetail.SourceID>0"
@
click=
"jumpPage('FinancialOrder',GetDetail,3)"
>
<span
class=
"_jump_page _font_bold"
>
签证收支
</span>
</td>
<td
v-else-if=
"OrderSource==4&&GetDetail.SourceID>0"
@
click=
"jumpPage('FinancialOrder',GetDetail,4)"
>
<span
class=
"_jump_page _font_bold"
>
机票收支
</span>
</td>
<td
v-if=
"GetDetail.TemplateId === 4
2
"
@
click=
"jumpPlanPage('leaderReimbursement',o.TCID)"
>
<span
class=
"_jump_page _font_bold"
>
用款计划
</span>
</td>
<td
v-if=
"GetDetail.TemplateId === 4
3
"
@
click=
"jumpPlanPage('leaderReimbursement',o.TCID)"
>
<span
class=
"_jump_page _font_bold"
>
用款计划
</span>
</td>
</tr>
</table>
<table
border=
"1"
bordercolor=
"#D2D2D2"
style=
"border-collapse:collapse;margin-top:15px;"
width=
"100%"
v-else-if=
"OrderSource==10"
>
...
...
@@ -855,7 +855,7 @@ export default {
},
err
=>
{})
},
upLoadFuJian
:
function
()
{
if
(
this
.
saveMsg
.
length
===
0
)
return
this
.
$message
.
error
(
'请上传
图片
!'
);
if
(
this
.
saveMsg
.
length
===
0
)
return
this
.
$message
.
error
(
'请上传
文件
!'
);
let
msg
=
{
FrID
:
this
.
ID
,
vorcherInos
:
this
.
saveMsg
...
...
src/components/FinancialModule/accDetail/PoolAccDetail.vue
View file @
0ebe813b
...
...
@@ -112,7 +112,7 @@
<th
rowspan=
"2"
>
{{
$t
(
'fnc.a_zhaiyao'
)
}}
</th>
<th
rowspan=
"2"
>
{{
$t
(
'fnc.a_hkrfkduixiang'
)
}}
</th>
<th
rowspan=
"2"
>
{{
$t
(
'fnc.a_hkfkshijian'
)
}}
</th>
<
th>
{{
$t
(
'fnc.jylshuihao'
)
}}
</th
>
<
!--
<th>
{{
$t
(
'fnc.jylshuihao'
)
}}
</th>
--
>
<th
colspan=
"3"
>
{{
$t
(
'fnc.waibi'
)
}}
(
{{
TypeName
}}
)
</th>
<th
rowspan=
"2"
>
{{
$t
(
'fnc.a_dhuanlv'
)
}}
</th>
<th
colspan=
"3"
>
{{
$t
(
'fnc.a_rminbi'
)
}}
</th>
...
...
@@ -135,7 +135,7 @@
<td></td>
<td>
{{
moneyFormat
(
StartMoney
)
}}
</td>
</tr>
<tr
v-for=
" ( item , index ) in DataList "
>
<tr
v-for=
" ( item , index ) in DataList "
v-if=
" item.Type !== 4"
>
<td>
{{
item
.
BName
}}
</td>
<td>
<span
class=
"cursorpointer"
:class=
" item.Type == 1 ? '_bg_green' : '_bg_red'"
@
click=
"goUrl('FinancialDocumentsDetail',item.FinanceId)"
>
{{
item
.
FinanceId
}}
</span>
...
...
@@ -526,12 +526,12 @@ export default {
endRStartMoney
=
endStartMoney
+
x
.
OriginalMoney
;
endStartMoney
=
endStartMoney
+
x
.
Money
;
x
.
enRSMoney
=
endRStartMoney
;
x
.
enSMoney
=
end
R
StartMoney
;
x
.
enSMoney
=
endStartMoney
;
}
else
if
(
x
.
Type
==
2
){
endRStartMoney
=
endStartMoney
-
x
.
OriginalMoney
;
endStartMoney
=
endStartMoney
-
x
.
Money
;
x
.
enRSMoney
=
endRStartMoney
;
x
.
enSMoney
=
end
R
StartMoney
;
x
.
enSMoney
=
endStartMoney
;
}
});
this
.
endStartMoney
=
endStartMoney
;
...
...
src/components/FinancialModule/addFinancialDocuments.vue
View file @
0ebe813b
...
...
@@ -185,7 +185,7 @@
<el-radio
:label=
"1"
v-if=
'msg.TemplateId!==36 && msg.TemplateId!==37 && msg.TemplateId!==43'
>
{{
$t
(
'fnc.gongzhang'
)
}}
</el-radio>
<el-radio
:label=
"0"
v-if=
'msg.TemplateId!==36 && msg.TemplateId!==37 && msg.TemplateId!==43'
>
{{
$t
(
'fnc.sizhang'
)
}}
</el-radio>
<el-radio
:label=
"2"
v-if=
'msg.TemplateId!==36 && msg.TemplateId!==37 && msg.TemplateId!==43'
>
{{
$t
(
'fnc.rmbxianjin'
)
}}
</el-radio>
<el-radio
:label=
"3"
v-if=
'msg.TemplateId!==36 && msg.TemplateId!==37
&& msg.TemplateId!==43
'
>
{{
$t
(
'fnc.wbxianjin'
)
}}
</el-radio>
<el-radio
:label=
"3"
v-if=
'msg.TemplateId!==36 && msg.TemplateId!==37'
>
{{
$t
(
'fnc.wbxianjin'
)
}}
</el-radio>
<el-radio
:label=
"4"
v-if=
'msg.TemplateId===36 || msg.TemplateId===37 || msg.TemplateId===43'
>
{{
$t
(
'fnc.zjinchi'
)
}}
</el-radio>
<el-radio
:label=
"5"
v-if=
'msg.TemplateId!==36 && msg.TemplateId!==37 && msg.TemplateId!==43'
>
{{
$t
(
'fnc.ptxnzhanghu'
)
}}
</el-radio>
<el-radio
:label=
"6"
v-if=
'msg.TemplateId!==36 && msg.TemplateId!==37 && msg.TemplateId!==43'
>
{{
$t
(
'fnc.djxnzhanghu'
)
}}
</el-radio>
...
...
src/components/FinancialModule/invoicesManager.vue
View file @
0ebe813b
...
...
@@ -173,7 +173,7 @@
<span>
{{
item
.
DpreadPrice
-
item
.
ApplyTotalPrice
}}
</span>
<span
v-if=
"(item.DpreadPrice - item.ApplyTotalPrice)
<
0
"
class=
"_zhuihui"
@
click=
"zhuihui(item.OrderId)"
>
追
</span>
</td>
<td>
{{
item
.
InvoiceApplyList
[
0
].
CreateDate
}}
</td>
<td>
{{
item
.
InvoiceApplyList
[
0
].
CreateDate
.
replace
(
'T'
,
' '
)
}}
</td>
<td>
<span
v-if=
"item.InvoiceApplyList[0].InvoiceApplyState === 1"
class=
"status_Application"
>
申请中
</span>
<span
v-else-if=
"item.InvoiceApplyList[0].InvoiceApplyState === 2"
class=
"status_Cancle"
>
已取消
</span>
...
...
@@ -192,7 +192,7 @@
</td>
</tr>
<tr
v-for=
"(item2, index2) in item.InvoiceApplyList"
:key=
"index2"
v-if=
"index2!==0"
>
<td>
{{
item2
.
CreateDate
}}
</td>
<td>
{{
item2
.
CreateDate
.
replace
(
'T'
,
' '
)
}}
</td>
<td>
<span
v-if=
"item2.InvoiceApplyState === 1"
class=
"status_Application"
>
申请中
</span>
<span
v-else-if=
"item2.InvoiceApplyState === 2"
class=
"status_Cancle"
>
已取消
</span>
...
...
src/components/FinancialModule/invoicesManagerAdd.vue
View file @
0ebe813b
This diff is collapsed.
Click to expand it.
src/components/FinancialModule/invoicesManagerDetail.vue
View file @
0ebe813b
This diff is collapsed.
Click to expand it.
src/components/Hotel/HotelProductManage2.vue
View file @
0ebe813b
...
...
@@ -63,19 +63,31 @@
<div
class=
"triangle_border_up"
></div>
<div
class=
"popContent"
>
<template
v-if=
"subItem.data&&subItem.data.SubList && subItem.data.SubList[0]"
>
<template
v-for=
"(childItem,childIndex) in subItem.data.SubList"
>
<div
class=
"popList"
>
<label>
批次:
{{
childItem
.
BatchNumber
}}
</label>
<label>
价格:
{{
childItem
.
CostPrice
}}
</label>
<table
style=
"margin-left:3px;padding-top:2px;"
>
<tr>
<th
width=
"50"
>
批次
</th>
<th
width=
"50"
>
价格
</th>
<th
width=
"50"
>
库存
</th>
</tr>
<tr
v-for=
"(childItem,childIndex) in subItem.data.SubList"
>
<td>
{{
childItem
.
BatchNumber
}}
</td>
<td>
{{
childItem
.
CostPrice
}}
</td>
<td>
{{
childItem
.
Inventory
}}
</td>
</tr>
</table>
</div>
</
template
>
</
template
>
</div>
</div>
<
template
v-if=
"subItem.data&&subItem.data.SubList && subItem.data.SubList[0]"
>
<template
v-for=
"(childItem,childIndex) in subItem.data.SubList"
>
<span
v-if=
"childItem.BatchNumber>1"
>
{{
childItem
.
BatchNumber
}}
</span>
</
template
>
<span
v-if=
"subItem.data.SubList.length>1"
>
{{
subItem
.
data
.
SubList
.
length
}}
</span>
</
template
>
</div>
</div>
...
...
@@ -127,7 +139,7 @@
<el-select
v-model=
"msg2.BatchNumber"
placeholder=
"请选择"
>
<el-option
label=
"第一批"
:value=
"1"
></el-option>
<el-option
label=
"第二批"
:value=
"2"
></el-option>
<
el-option
label=
"第三批"
:value=
"3"
></el-option
>
<
!-- <el-option label="第三批" :value="3"></el-option> --
>
</el-select>
</el-form-item>
</el-col>
...
...
@@ -333,7 +345,7 @@
<el-select
v-model=
"msg.BatchNumber"
placeholder=
"请选择"
>
<el-option
label=
"第一批"
:value=
"1"
></el-option>
<el-option
label=
"第二批"
:value=
"2"
></el-option>
<
el-option
label=
"第三批"
:value=
"3"
></el-option
>
<
!-- <el-option label="第三批" :value="3"></el-option> --
>
</el-select>
</el-form-item>
</el-col>
...
...
src/components/Hotel/HotelQueryList.vue
View file @
0ebe813b
...
...
@@ -74,57 +74,53 @@
<div
style=
"width: 100%;min-height:200px; overflow-x: auto;padding-bottom: 10px; "
class=
"HotelQueryList"
v-loading=
"loading"
>
<div
class=
"hotelProductManage2_tableBox"
>
<div
class=
"hotelProductManage2_tableBox"
style=
"margin-bottom:20px;"
>
<span
style=
"color:#000000;background-color: #ff3737;padding:2px 4px;border-radius:5px"
>
红日
</span>
<span
style=
"color:#000000;background-color: #ff99cc;padding:2px 4px;border-radius:5px"
>
旺季
</span>
<span
style=
"color:#000000;background-color: #bcd6ee;padding:2px 4px;border-radius:5px"
>
平季
</span>
<span
style=
"color:#000000;background-color: #DDDDDD;padding:2px 4px;border-radius:5px"
>
淡季
</span>
<span
style=
"color:#000000;background-color: #02F78E;padding:2px 4px;border-radius:5px"
>
特别价
</span>
</div>
<table
border=
"0"
cellspacing=
"1"
cellpadding=
"0"
class=
"HouseTypeList"
v-if=
"isShow"
>
<tr>
<th
width=
"300"
>
酒店名称
</th>
<th
width=
"80"
>
价格
&
库存
</th>
<template
v-if=
"dataList.length>0"
>
<th
v-for=
"item in dataList[0].subList"
>
{{
getDateList
(
item
.
DateStr
)
}}
<br/>
{{
getWeek
(
item
.
DateStr
)
}}
</th>
</
template
>
</tr>
<tr
v-for=
"item in dataList"
>
<td>
<div
style=
"min-width:140px; text-align:left;padding-left:5px;cursor:pointer;"
>
<span
title=
"点击跳转到酒店查询页面"
@
click=
"GotoHotel(item.HotelId)"
style=
"text-decoration: underline;min-width:140px; "
>
{{item.HotelName}}
</span>
<br/>
(总库存:{{item.TotalInventory}})
</div>
</td>
<td>
<div
class=
"Hotel_kong"
>
价格
</div>
<div
class=
"Hotel_kong"
style=
"min-width:60px;"
>
总/用/剩
</div>
<div
class=
"Hotel_kong"
>
超定
</div>
</td>
<td
v-for=
"(subItem,subIndex) in item.subList"
>
<div
class=
"Hotel_kong Com_hoteldiv"
>
<
template
v-if=
"subItem.PriceList&&subItem.PriceList.length>0"
>
<template
v-for=
"childItem in subItem.PriceList"
>
<div
:class=
"getClass(1,childItem.InventoryType)"
style=
"height:100%;float:left;"
:style=
"
{width:(98/subItem.PriceList.length)+'%'}">
{{
childItem
.
CostPrice
}}
</div>
</
template
>
<template
v-if=
"isShow"
>
<el-table
:data=
"dataList"
style=
"width:100%"
border
v-loading=
'loading'
height=
"500"
>
<el-table-column
fixed
label=
"酒店名称"
min-width=
"180"
>
<template
slot-scope=
"scope"
>
<div
style=
"text-decoration: underline;cursor:pointer"
@
click=
"GotoHotel(scope.row.HotelId)"
>
{{
scope
.
row
.
HotelName
}}
</div>
<div>
{{
scope
.
row
.
TotalInventory
}}
</div>
</
template
>
<
template
v-else
>
<div
:class=
"getClass(0,0)"
style=
"width:100%;height:100%"
>
</div>
</el-table-column>
<el-table-column
label=
"价格&库存"
fixed
min-width=
"120"
>
<
template
slot-scope=
"scope"
>
<div
class=
"Hotel_kong"
>
价格
</div>
<div
class=
"Hotel_kong"
style=
"min-width:60px;"
>
总/用/剩
</div>
<div
class=
"Hotel_kong"
>
超定
</div>
</
template
>
</div>
<div
class=
"Hotel_kong Com_hoteldiv Hq_duoge"
@
click=
"GotoUrl(item,subIndex,subItem.UseInventory)"
>
{{subItem.Inventory}}/{{subItem.UseInventory}}/{{subItem.RemainingInventory}}
</div>
<div
class=
"Hotel_kong Com_hoteldiv"
>
<span
v-if=
"subItem.UseInventory-subItem.Inventory>0"
style=
"color:red;"
>
{{subItem.UseInventory-subItem.Inventory}}
</span>
</div>
</td>
</tr>
</table>
</el-table-column>
<el-table-column
v-for=
'(item,index) in dataList[0].subList'
:label=
"getDateList(item.DateStr)"
:key=
'index'
min-width=
"120"
>
<
template
slot-scope=
"scope"
>
<div
class=
"Hotel_kong Com_hoteldiv"
>
<template
v-if=
"scope.row.subList[index].PriceList.length>0"
>
<template
v-for=
"childItem in scope.row.subList[index].PriceList"
>
<div
:class=
"getClass(1,childItem.InventoryType)"
style=
"height:100%;float:left;width:100%"
:style=
"
{width:(100/scope.row.subList[index].PriceList.length)+'%'}">
{{
childItem
.
CostPrice
}}
</div>
</
template
>
</template>
<
template
v-else
>
<div
:class=
"getClass(0,0)"
style=
"width:100%;height:100%"
>
</div>
</
template
>
</div>
<div
class=
"Hotel_kong Com_hoteldiv Hq_duoge"
@
click=
"GotoUrl(scope.row,index,scope.row.subList[index].UseInventory)"
>
{{scope.row.subList[index].Inventory}}/{{scope.row.subList[index].UseInventory}}/{{scope.row.subList[index].RemainingInventory}}
</div>
<div
class=
"Hotel_kong Com_hoteldiv"
>
<span
v-if=
"scope.row.subList[index].UseInventory-scope.row.subList[index].Inventory>0"
style=
"color:red;"
>
{{scope.row.subList[index].UseInventory-scope.row.subList[index].Inventory}}
</span>
</div>
</template>
</el-table-column>
</el-table>
</template>
</div>
<div
class=
"combottomDiv HqCom_bottom"
v-if=
"showNotice"
>
...
...
@@ -159,11 +155,11 @@
<div>
<table
border=
"0"
cellspacing=
"1"
cellpadding=
"0"
class=
"HouseTypeList Hq_addTable"
style=
"width:97%;"
>
<tr>
<th>
编号
</th>
<th
width=
"50"
>
编号
</th>
<th>
内容
</th>
<th>
操作人
</th>
<th>
操作时间
</th>
<th>
操作
</th>
<th
width=
"70"
>
操作人
</th>
<th
width=
"150"
>
操作时间
</th>
<th
width=
"80"
>
操作
</th>
</tr>
<
template
v-if=
"queryMsg.total>0"
>
<tr
v-for=
"(item,index) in HotelTipList"
>
...
...
@@ -194,15 +190,15 @@
<el-form>
<table
border=
"0"
cellspacing=
"1"
cellpadding=
"0"
class=
"HouseTypeList Hq_addTable"
style=
"width:100%;"
>
<tr>
<th>
编号
</th>
<th
width=
"50"
>
编号
</th>
<th>
内容
</th>
<th>
操作人
</th>
<th>
操作时间
</th>
<th
width=
"70"
>
操作人
</th>
<th
width=
"140"
>
操作时间
</th>
</tr>
<
template
v-if=
"queryMsg.total>0"
>
<tr
v-for=
"(item,index) in HotelTipList"
>
<td>
{{
item
.
Id
}}
</td>
<td><p
style=
"text-align:left;padding
-left:
5px;"
v-html=
"item.TipContent"
></p></td>
<td><p
style=
"text-align:left;padding
:0
5px;"
v-html=
"item.TipContent"
></p></td>
<td>
{{
item
.
CreateByName
}}
</td>
<td>
{{
item
.
CreateTimeStr
}}
</td>
</tr>
...
...
@@ -289,7 +285,7 @@
[
'blockquote'
,
'code-block'
,
'align'
]
]
}
},
},
};
},
methods
:
{
...
...
@@ -365,7 +361,10 @@
//格式化返回显示日期
getDateList
(
dateStr
)
{
var
str
=
dateStr
.
split
(
'-'
);
return
str
[
1
]
+
'/'
+
str
[
2
];
var
weekDay
=
[
"天"
,
"一"
,
"二"
,
"三"
,
"四"
,
"五"
,
"六"
];
var
myDate
=
new
Date
(
Date
.
parse
(
dateStr
));
return
str
[
1
]
+
'/'
+
str
[
2
]
+
"("
+
weekDay
[
myDate
.
getDay
()]
+
")"
;
},
//获取星期几
getWeek
(
dateStr
)
{
...
...
@@ -514,7 +513,7 @@
this
.
GetHotelList
();
this
.
getList
();
this
.
GetHotelTipList
();
}
}
,
};
</
script
>
...
...
@@ -567,6 +566,7 @@
.Hotel_kong
{
width
:
100%
;
height
:
35px
;
text-align
:
center
;
line-height
:
35px
;
border-bottom
:
1px
solid
#d1d1d1
;
}
...
...
@@ -623,4 +623,16 @@
.HQ_miaoshu
:first-child
{
margin-top
:
10px
;
}
.HotelQueryList
.has-gutter
tr
th
,
.el-table
th
.is-leaf
{
background
:
#EAEAEA
!important
;
}
.HotelQueryList
.el-table
td
,
.el-table
th
.is-leaf
{
border-bottom
:
1px
solid
#ebeef5
;
}
.HotelQueryList
.el-table
.cell
{
padding
:
0
;
}
.HotelQueryList
.el-table
td
{
padding
:
0
;
}
</
style
>
src/components/Hotel/HotelSalesBoard.vue
View file @
0ebe813b
...
...
@@ -199,6 +199,12 @@
background-color
:
#02F78E
;
}
.hotelSalesBoard
.stock1
{
color
:
red
;
}
.hotelSalesBoard
.stock2
{
color
:
white
;
}
/* 日期样式结束*/
</
style
>
...
...
@@ -291,7 +297,7 @@
(总:
{{
subItem
.
Inventory
}}
<a
title=
"点击跳转到订房管理"
v-if=
"subItem.UseInventory>0"
@
click=
"goUrl('roomReservations',subItem,dayItem.DayStr,'订房管理')"
style=
"cursor:pointer;text-decoration:underline;
color:red;
"
>
已用:
{{
subItem
.
UseInventory
}}
</a>
style=
"cursor:pointer;text-decoration:underline;
"
:class=
"subItem.InventoryType==4 ? 'stock1' : 'stock2'
"
>
已用:
{{
subItem
.
UseInventory
}}
</a>
<span
v-else
>
已用:
{{
subItem
.
UseInventory
}}
</span>
)
</p>
...
...
src/components/Hotel/roomReservations.vue
View file @
0ebe813b
...
...
@@ -201,7 +201,9 @@
//酒店编号
HotelId
:
0
,
//日期
DateStr
:
""
DateStr
:
""
,
//出团公司不限
OutBranchId
:
-
1
,
},
LineList
:
[],
LineTeamList
:
[],
...
...
@@ -337,7 +339,6 @@
}
let
width
=
window
.
innerWidth
-
50
let
height
=
window
.
innerHeight
-
65
-
164
console
.
log
(
height
)
this
.
boxHeight
=
height
;
this
.
offsetwidth
=
width
this
.
getList
()
...
...
src/components/Hotel/roomReservationsDetails.vue
View file @
0ebe813b
...
...
@@ -40,15 +40,18 @@
</tr>
<template
v-for=
"(item,index) in list"
>
<tr
v-for=
"(subItem,subIndex) in item.HotelOrderList"
v-loading=
"loading"
>
<!-- 入住时间 -->
<td
:rowspan=
"item.HotelOrderList.length"
v-if=
"subIndex==0"
>
<div
class=
"w100"
>
{{
item
.
UseTimeStr
}}
</div>
</td>
<!-- 酒店名称 -->
<td>
<div
class=
"w200 padding10"
>
<p
class=
"link"
style=
"word-break: normal;"
:class=
"
{'Hotel_red':subItem.HotelChangeState==3}"
@click="goUrlR('HotelManagement',subItem.HotelId,'酒店管理')">
{{
subItem
.
HotelName
}}
</p>
</div>
</td>
<!-- 机位总数/(Y/E/F) -->
<td>
<div
class=
"w120"
>
<p
class=
"link"
@
click=
"goUrlT('RegistrationList',item.TCID,'报名清单')"
>
...
...
@@ -56,15 +59,18 @@
</p>
</div>
</td>
<!-- 占床/不占床 -->
<td>
<div
class=
"w120"
>
<p
class=
"link"
@
click=
"goUrlT('passengerHouse',item.TCIDS,'房间分配')"
>
{{
subItem
.
HouseStatistics
.
NeedBed
}}
/
{{
subItem
.
HouseStatistics
.
NoNeedBed
}}
</p>
</div>
</td>
<!-- 实际用房数 -->
<td>
<div
class=
"w80"
>
{{
subItem
.
HouseStatistics
.
RealityRoomNum
}}
</div>
</td>
<!-- 房间类型 -->
<td>
<div
class=
"w150"
>
<p
class=
"pHouseStyle"
v-for=
"o in subItem.HouseStatistics.HouseTypeList"
>
...
...
@@ -72,6 +78,7 @@
</p>
</div>
</td>
<!-- 房间数 -->
<td>
<div
class=
"w80"
>
<p
class=
"pHouseStyle"
v-for=
"o in subItem.HouseStatistics.HouseTypeList"
>
...
...
@@ -79,6 +86,7 @@
</p>
</div>
</td>
<!-- 房间人数 -->
<td>
<div
class=
"w80"
>
<p
class=
"pHouseStyle"
v-for=
"o in subItem.HouseStatistics.HouseTypeList"
>
...
...
@@ -86,6 +94,7 @@
</p>
</div>
</td>
<!-- 修改酒店 -->
<td>
<div
class=
"w150"
>
<el-select
class=
'w120 sel'
v-model=
'subItem.NewHotelId'
filterable
:placeholder=
"$t('pub.pleaseSel')"
...
...
@@ -104,6 +113,7 @@
</el-upload>
</div>
</td>
<!-- 房间预定数 -->
<td>
<div
class=
"w80"
>
<p
class=
"pHouseStyle"
v-for=
"o in subItem.OrderDetailsList"
>
...
...
@@ -112,6 +122,7 @@
</p>
</div>
</td>
<!-- 预定人数 -->
<td>
<div
class=
"w80"
>
<p
class=
"pHouseStyle"
v-for=
"o in subItem.OrderDetailsList"
>
...
...
@@ -120,6 +131,7 @@
</p>
</div>
</td>
<!-- 尚差房间数 -->
<td>
<div
class=
"w80"
>
<p
class=
"pHouseStyle"
...
...
@@ -129,6 +141,7 @@
</p>
</div>
</td>
<!-- 单价/每人 -->
<td>
<div
class=
"w120"
>
<p
class=
"pHouseStyle"
v-for=
"(o,index) in subItem.OrderDetailsList"
@
input=
"calculationPrice(subItem)"
>
...
...
@@ -137,6 +150,7 @@
</p>
</div>
</td>
<!-- 免减人数 -->
<td>
<div
class=
"w80"
>
<p
class=
"pHouseStyle"
v-for=
"(o,index) in subItem.OrderDetailsList"
@
input=
"calculationPrice(subItem)"
>
...
...
@@ -145,6 +159,7 @@
</p>
</div>
</td>
<!-- 金额小计 -->
<td>
<div
class=
"w80"
>
<p
class=
"pHouseStyle"
v-for=
"(o,index) in subItem.OrderDetailsList"
>
...
...
@@ -153,8 +168,8 @@
</div>
</td>
<
td
>
<!--返佣-->
<
!--返佣--
>
<td>
<div
class=
"w80"
>
<p
class=
"pHouseStyle link"
v-for=
"(o,index) in subItem.OrderDetailsList"
@
input=
"calculationPrice(subItem)"
>
...
...
@@ -163,11 +178,13 @@
</p>
</div>
</td>
<!-- 金额总计 -->
<td>
<div
class=
"w120"
>
{{
subItem
.
TotalPrice
}}
</div>
</td>
<!-- 付款方式 -->
<td>
<div
class=
"w120"
>
<el-select
class=
'w100 sel'
v-model=
'subItem.PayStyle'
:placeholder=
"$t('pub.pleaseSel')"
>
...
...
@@ -179,22 +196,27 @@
</el-select>
</div>
</td>
<!-- 联系电话 -->
<td>
<div
class=
"w120"
>
{{
subItem
.
Tel
}}
</div>
</td>
<!-- 地址 -->
<td>
<div
class=
"w200 padding10"
>
{{
subItem
.
Address
}}
</div>
</td>
<!-- 备注 -->
<td>
<div
class=
"w150"
>
<el-input
class=
'w120'
v-model=
'subItem.ReserveNo'
></el-input>
</div>
</td>
<!-- 订团号 -->
<td>
<div
class=
"w150"
>
<el-input
type=
'textarea'
class=
'w120'
v-model=
'subItem.Remarks'
></el-input>
</div>
</td>
<!-- 操作 -->
<td>
<div
class=
"w200"
>
<el-button-group>
...
...
@@ -468,7 +490,20 @@
//单条保存
SaveSingle
(
item
)
{
item
.
HotelOrderState
=
1
;
this
.
apipost
(
'dmcstatistics_post_SetNewHotelOrder'
,
item
,
res
=>
{
this
.
list
.
forEach
(
item
=>
{
item
.
HotelOrderList
.
forEach
(
subItem
=>
{
subItem
.
OrderDetailsList
.
forEach
(
y
=>
{
y
.
HouseTypeCount
=
parseInt
(
y
.
HouseTypeCount
);
y
.
UnitPrice
=
parseInt
(
y
.
UnitPrice
);
y
.
HotelDiscount
=
parseInt
(
y
.
HotelDiscount
);
if
(
y
.
BookNum
==
""
)
{
y
.
BookNum
=
0
;
}
})
});
})
let
mag
=
{
TotalList
:
this
.
list
,
SingleItem
:
item
};
this
.
apipost
(
'dmcstatistics_get_SetHotelOrder'
,
this
.
list
,
res
=>
{
if
(
res
.
data
.
resultCode
==
1
)
{
this
.
Success
(
res
.
data
.
message
);
this
.
getList
();
...
...
src/components/LeaderManagement/leaderReimbursement.vue
View file @
0ebe813b
...
...
@@ -43,12 +43,14 @@
<td
width=
"100"
>
车辆号
</td>
<td
width=
"60"
>
用车方式
</td>
<td
width=
"60"
>
车费
</td>
<td
width=
"120"
>
车费付款方式
</td>
<td
width=
"80"
>
高速公路费
</td>
<td
width=
"120"
>
高速费用付款方式
</td>
<td
width=
"60"
>
停车费
</td>
<td
width=
"60"
>
金额小计
</td>
<td
width=
"60"
>
总金额
</td>
<td
width=
"100"
>
备注
</td>
<td
width=
"60"
>
凭证
</td>
</tr>
<tr
v-for=
'(item,index) in list.BusList'
>
<td>
{{
item
.
PlanDateStr
}}
</td>
...
...
@@ -65,18 +67,25 @@
{{
moneyFormat
(
item
.
CostPrice
)
}}
</td>
<td>
<span
v-if=
"item.HighSpeedPayType === 1"
>
现付
</span>
<span
v-if=
"item.HighSpeedPayType === 2"
>
公司结算
</span>
<span
v-if=
"item.HighSpeedPayType === 3"
>
预付
</span>
<span
v-if=
"item.PayType === 1"
>
现付
</span>
<span
v-else-if=
"item.PayType === 2"
>
公司结算
</span>
<span
v-else-if=
"item.PayType === 3"
>
预付
</span>
<span
v-else
>
暂无
</span>
</td>
<td>
{{
moneyFormat
(
item
.
HighSpeedPrice
)
}}
</td>
<td>
<span
v-if=
"item.HighSpeedPayType === 1"
>
现付
</span>
<span
v-else-if=
"item.HighSpeedPayType === 2"
>
公司结算
</span>
<span
v-else-if=
"item.HighSpeedPayType === 3"
>
预付
</span>
<span
v-else
>
暂无
</span>
</td>
<td>
{{
moneyFormat
(
item
.
StopPrice
)
}}
</td>
<td>
{{
moneyFormat
(
Number
(
item
.
CostPrice
)
+
Number
(
item
.
HighSpeedPrice
)
+
Number
(
item
.
StopPrice
))
}}
{{
moneyFormat
(
Number
(
item
.
CostPrice
)
+
Number
(
item
.
StopPrice
))
}}
</td>
<td
v-if=
'index==0'
:rowspan=
'list.BusList.length'
>
{{
busTotalPrice
(
list
.
BusList
)
}}
...
...
@@ -94,11 +103,11 @@
</tr>
<tr>
<td>
总金额
</td>
<td
colspan=
"
6
"
>
<td
colspan=
"
7
"
>
{{
moneyFormat
(
TotalNav
.
reimburseTotalPrice
.
SelfPayingExpendTotalPrice
)
}}
</td>
<td>
签单/预付/抵扣总金额
</td>
<td
colspan=
"
6
"
>
<td
colspan=
"
7
"
>
{{
moneyFormat
(
TotalNav
.
reimburseTotalPrice
.
SelfPayingIncomeTotalPrice
)
}}
</td>
</tr>
...
...
@@ -123,7 +132,7 @@
<td
width=
"100"
>
备注
</td>
</tr>
<tr
class=
"HotelTr
"
v-for=
'(outItem,outIndex) in list.HotelOrderListReport'
>
<tr
class=
"HotelTr"
v-for=
'(outItem,outIndex) in list.HotelOrderListReport'
>
<td>
{{
outItem
.
UseTimeStr
}}
</td>
<td>
<div
v-for=
"subItem in outItem.HotelOrderList"
style=
"line-height: inherit;"
>
...
...
@@ -185,7 +194,7 @@
<div
class=
"alcenter"
>
<div
v-for=
"subItem in outItem.HotelOrderList"
>
<p
v-for=
"childItem in subItem.OrderDetailsList"
>
{{
moneyFormat
(
childItem
.
UnitPrice
*
(
childItem
.
HouseGuest
Num
-
childItem
.
HotelDiscount
))
}}
{{
moneyFormat
(
childItem
.
UnitPrice
*
(
childItem
.
Book
Num
-
childItem
.
HotelDiscount
))
}}
</p>
</div>
</div>
...
...
@@ -207,10 +216,11 @@
</div>
</td>
<td>
<div
v-for=
"subItem in outItem.HotelOrderList"
>
<span
v-if=
"subItem.HighSpeedPayType === 1"
>
现付
</span>
<span
v-if=
"subItem.HighSpeedPayType === 2"
>
公司结算
</span>
<span
v-if=
"subItem.HighSpeedPayType === 3"
>
预付
</span>
<div
v-for=
"subItem in outItem.HotelOrderList"
>
<span
v-if=
"subItem.PayStyle === 1"
>
现付
</span>
<span
v-else-if=
"subItem.PayStyle === 2"
>
公司结算
</span>
<span
v-else-if=
"subItem.PayStyle === 3"
>
预付
</span>
<span
v-else
>
暂无
</span>
</div>
</td>
<td>
...
...
@@ -306,9 +316,10 @@
</td>
<td>
<div
v-for=
"subItem in item.DiningSummaryList"
>
<span
v-if=
"subItem.HighSpeedPayType === 1"
>
现付
</span>
<span
v-if=
"subItem.HighSpeedPayType === 2"
>
公司结算
</span>
<span
v-if=
"subItem.HighSpeedPayType === 3"
>
预付
</span>
<span
v-if=
"subItem.PayStyle === 1"
>
现付
</span>
<span
v-else-if=
"subItem.PayStyle === 2"
>
公司结算
</span>
<span
v-else-if=
"subItem.PayStyle === 3"
>
预付
</span>
<span
v-else
>
暂无
</span>
</div>
</td>
<td>
...
...
@@ -397,9 +408,10 @@
</td>
<td>
<div
v-for=
"subItem in item.ScenicStatisticsList"
>
<span
v-if=
"subItem.HighSpeedPayType === 1"
>
现付
</span>
<span
v-if=
"subItem.HighSpeedPayType === 2"
>
公司结算
</span>
<span
v-if=
"subItem.HighSpeedPayType === 3"
>
预付
</span>
<span
v-if=
"subItem.PayStyle === 1"
>
现付
</span>
<span
v-else-if=
"subItem.PayStyle === 2"
>
公司结算
</span>
<span
v-else-if=
"subItem.PayStyle === 3"
>
预付
</span>
<span
v-else
>
暂无
</span>
</div>
</td>
<td>
...
...
@@ -425,14 +437,18 @@
<th>
预付合计
</th>
<th>
团号
</th>
<th>
实际领款
</th>
<th>
财务单号
</th>
<th>
操作
</th>
</tr>
<tr
v-for=
'(item, index) in nav'
>
<td
rowspan=
"2"
width=
"180"
v-if=
"index===0"
>
总金额:
{{
moneyFormat
(
TotalNav
.
reimburseTotalPrice
.
PlanPrice
*
0.9
8
)
}}
</td>
<td
rowspan=
"2"
width=
"180"
v-if=
"index===0"
>
总金额:
{{
moneyFormat
(
TotalNav
.
reimburseTotalPrice
.
PlanPrice
*
0.9
5
)
}}
</td>
<td>
{{
item
.
TCNUMS
}}
</td>
<td>
<p
v-if=
"item.LeaderGetPrice>0"
>
已领款:
{{
moneyFormat
(
item
.
LeaderGetPrice
)
}}
</p>
<el-input
v-if=
"item.LeaderGetPrice>0 || item.LeaderGetPrice
<
(
TotalNav
.
reimburseTotalPrice
.
PlanPrice
*
0
.
98
)"
class=
"w300"
type=
"number"
v-model=
"item.LeaderGetPriceT"
></el-input>
<el-input
v-if=
"item.LeaderGetPrice>0 || item.LeaderGetPrice
<
(
TotalNav
.
reimburseTotalPrice
.
PlanPrice
*
0
.
95
)"
class=
"w300"
type=
"number"
v-model=
"item.LeaderGetPriceT"
></el-input>
</td>
<td>
<span
v-for=
"(subItem, subIndex) in item.FinanceIds"
class=
"cursorpointer text-decoration"
@
click=
"goFncUrl('FinancialDocumentsDetail', subItem)"
>
{{
subItem
}}
</span>
</td>
<td
width=
"80"
class=
"_zhidan"
>
<input
type=
"button"
v-if=
"isUpdate=='true'"
value=
"制单"
class=
"normalBtn"
@
click=
"goZhiDan(item)"
/>
...
...
@@ -478,6 +494,9 @@
}
},
methods
:
{
goFncUrl
:
function
(
path
,
id
)
{
this
.
$router
.
push
({
name
:
path
,
query
:{
"id"
:
id
,
blank
:
'y'
}
})
},
goHotelDetail
:
function
(
id
,
num
,
TCNUM
,
path
)
{
this
.
$router
.
push
({
name
:
path
,
...
...
@@ -495,6 +514,7 @@
let
totailMoney
=
0
this
.
nav
.
forEach
(
x
=>
{
totailMoney
+=
parseFloat
(
x
.
LeaderGetPriceT
)
totailMoney
+=
x
.
LeaderGetPrice
})
console
.
log
(
allMoney
,
totailMoney
)
if
((
allMoney
-
totailMoney
)
<
0
)
return
this
.
$message
.
error
(
'总制单金额已大于等于总金额,无法制单!'
)
...
...
@@ -510,7 +530,7 @@
Money
:
obj
.
LeaderGetPriceT
,
TCNUMS
:
obj
.
TCNUMS
}
let
id
=
[
4
2
]
let
id
=
[
4
3
]
this
.
$router
.
push
({
name
:
'ChoiceAddFinancialDocuments'
,
query
:{
...
...
@@ -593,7 +613,7 @@
hotelTotalPrice
(
obj
){
let
totalPrice
=
0
obj
.
forEach
(
x
=>
{
totalPrice
+=
x
.
UnitPrice
*
(
x
.
HouseGuest
Num
-
x
.
HotelDiscount
)
*
(
1
-
x
.
RebateRatio
/
100
)
totalPrice
+=
x
.
UnitPrice
*
(
x
.
Book
Num
-
x
.
HotelDiscount
)
*
(
1
-
x
.
RebateRatio
/
100
)
})
return
this
.
moneyFormat
(
totalPrice
)
},
...
...
src/components/SalesModule/enrollTotal.vue
View file @
0ebe813b
...
...
@@ -301,8 +301,8 @@
</div>
</div>
</td>
<td
colspan=
"8"
class=
"groupTourOrder_tickets"
style=
"height: 40px;cursor: pointer;"
@
click=
"goUrlSFD('SalesFinancialDetail', '销售财务单据', item)"
>
<div>
<td
colspan=
"8"
class=
"groupTourOrder_tickets"
style=
"height: 40px;cursor: pointer;"
>
<div
@
click=
"goUrlSFD('SalesFinancialDetail', '销售财务单据', item)"
>
<div>
收款单据:
</div>
<div>
<span
v-for=
"(item2,index2) in item.financeList"
:key=
"index2"
>
...
...
@@ -314,7 +314,7 @@
<span
v-if=
"item.financeList.length===0"
style=
"cursor: default;"
>
暂无数据
</span>
</div>
</div>
<div>
<div
@
click=
"goUrlSFD('SalesFinancialDetail', '销售财务单据', item)"
>
<div>
付款单据:
</div>
<div>
<span
v-for=
"(item2,index2) in item.refundFinanceList"
:key=
"index2"
>
...
...
@@ -330,10 +330,10 @@
<div>
发票单据:
</div>
<div>
<span
v-for=
"(item2,index2) in item.invoiceApplyList"
:key=
"index2"
>
<span
v-if=
"item2.invoiceApplyState
===
6"
class=
"groupTourOrder_tickets_blue"
@
click=
"goIisDetail(item2.id)"
>
{{
item2
.
id
}}
</span>
<span
v-else-if=
"item2.invoiceApplyState
===1
"
class=
"groupTourOrder_tickets_green"
@
click=
"goIisDetail(item2.id)"
>
{{
item2
.
id
}}
</span>
<span
v-else-if=
"item2.invoiceApplyState
===5
"
class=
"groupTourOrder_tickets_red"
@
click=
"goIisDetail(item2.id)"
>
{{
item2
.
id
}}
</span>
<span
v-else-if=
"item2.invoiceApplyState
===3
"
class=
"groupTourOrder_tickets_black"
@
click=
"goIisDetail(item2.id)"
>
{{
item2
.
id
}}
</span>
<span
v-if=
"item2.invoiceApplyState
===
6"
class=
"groupTourOrder_tickets_blue"
@
click=
"goIisDetail(item2.id)"
>
{{
item2
.
id
}}
</span>
<span
v-else-if=
"item2.invoiceApplyState
=== 1 || item2.invoiceApplyState === 3 || item2.invoiceApplyState === 6
"
class=
"groupTourOrder_tickets_green"
@
click=
"goIisDetail(item2.id)"
>
{{
item2
.
id
}}
</span>
<span
v-else-if=
"item2.invoiceApplyState
=== 5 || item2.invoiceApplyState === 4
"
class=
"groupTourOrder_tickets_red"
@
click=
"goIisDetail(item2.id)"
>
{{
item2
.
id
}}
</span>
<span
v-else-if=
"item2.invoiceApplyState
=== 2
"
class=
"groupTourOrder_tickets_black"
@
click=
"goIisDetail(item2.id)"
>
{{
item2
.
id
}}
</span>
</span>
<span
v-if=
"item.invoiceApplyList.length===0"
style=
"cursor: default;"
>
暂无数据
</span>
</div>
...
...
src/components/SalesModule/groupTourOrder.vue
View file @
0ebe813b
...
...
@@ -1845,10 +1845,10 @@
<div>
发票单据:
</div>
<div>
<span
v-for=
"(item2,index2) in item.invoiceApplyList"
:key=
"index2"
>
<span
v-if=
"item2.invoiceApplyState
===
6"
class=
"groupTourOrder_tickets_blue"
@
click=
"goIisDetail(item2.id)"
>
{{
item2
.
id
}}
</span>
<span
v-else-if=
"item2.invoiceApplyState
===1
"
class=
"groupTourOrder_tickets_green"
@
click=
"goIisDetail(item2.id)"
>
{{
item2
.
id
}}
</span>
<span
v-else-if=
"item2.invoiceApplyState
===5
"
class=
"groupTourOrder_tickets_red"
@
click=
"goIisDetail(item2.id)"
>
{{
item2
.
id
}}
</span>
<span
v-else-if=
"item2.invoiceApplyState
===3
"
class=
"groupTourOrder_tickets_black"
@
click=
"goIisDetail(item2.id)"
>
{{
item2
.
id
}}
</span>
<span
v-if=
"item2.invoiceApplyState
===
6"
class=
"groupTourOrder_tickets_blue"
@
click=
"goIisDetail(item2.id)"
>
{{
item2
.
id
}}
</span>
<span
v-else-if=
"item2.invoiceApplyState
=== 1 || item2.invoiceApplyState === 3 || item2.invoiceApplyState === 6
"
class=
"groupTourOrder_tickets_green"
@
click=
"goIisDetail(item2.id)"
>
{{
item2
.
id
}}
</span>
<span
v-else-if=
"item2.invoiceApplyState
=== 5 || item2.invoiceApplyState === 4
"
class=
"groupTourOrder_tickets_red"
@
click=
"goIisDetail(item2.id)"
>
{{
item2
.
id
}}
</span>
<span
v-else-if=
"item2.invoiceApplyState
=== 2
"
class=
"groupTourOrder_tickets_black"
@
click=
"goIisDetail(item2.id)"
>
{{
item2
.
id
}}
</span>
</span>
<span
v-if=
"item.invoiceApplyList.length===0"
style=
"cursor: default;"
>
暂无数据
</span>
</div>
...
...
src/components/SalesModule/groupTourOrderByTuan.vue
View file @
0ebe813b
...
...
@@ -1828,10 +1828,10 @@
<div>
发票单据:
</div>
<div>
<span
v-for=
"(item2,index2) in item.invoiceApplyList"
:key=
"index2"
>
<span
v-if=
"item2.invoiceApplyState
===
6"
class=
"groupTourOrder_tickets_blue"
@
click=
"goIisDetail(item2.id)"
>
{{
item2
.
id
}}
</span>
<span
v-else-if=
"item2.invoiceApplyState
===1
"
class=
"groupTourOrder_tickets_green"
@
click=
"goIisDetail(item2.id)"
>
{{
item2
.
id
}}
</span>
<span
v-else-if=
"item2.invoiceApplyState
===5
"
class=
"groupTourOrder_tickets_red"
@
click=
"goIisDetail(item2.id)"
>
{{
item2
.
id
}}
</span>
<span
v-else-if=
"item2.invoiceApplyState
===3
"
class=
"groupTourOrder_tickets_black"
@
click=
"goIisDetail(item2.id)"
>
{{
item2
.
id
}}
</span>
<span
v-if=
"item2.invoiceApplyState
===
6"
class=
"groupTourOrder_tickets_blue"
@
click=
"goIisDetail(item2.id)"
>
{{
item2
.
id
}}
</span>
<span
v-else-if=
"item2.invoiceApplyState
=== 1 || item2.invoiceApplyState === 3 || item2.invoiceApplyState === 6
"
class=
"groupTourOrder_tickets_green"
@
click=
"goIisDetail(item2.id)"
>
{{
item2
.
id
}}
</span>
<span
v-else-if=
"item2.invoiceApplyState
=== 5 || item2.invoiceApplyState === 4
"
class=
"groupTourOrder_tickets_red"
@
click=
"goIisDetail(item2.id)"
>
{{
item2
.
id
}}
</span>
<span
v-else-if=
"item2.invoiceApplyState
=== 2
"
class=
"groupTourOrder_tickets_black"
@
click=
"goIisDetail(item2.id)"
>
{{
item2
.
id
}}
</span>
</span>
<span
v-if=
"item.invoiceApplyList.length===0"
style=
"cursor: default;"
>
暂无数据
</span>
</div>
...
...
@@ -2073,10 +2073,10 @@
<div>
发票单据:
</div>
<div>
<span
v-for=
"(item2,index2) in item.invoiceApplyList"
:key=
"index2"
>
<span
v-if=
"item2.invoiceApplyState
===
6"
class=
"groupTourOrder_tickets_blue"
@
click=
"goIisDetail(item2.id)"
>
{{item2.id}}
</span>
<span
v-else-if=
"item2.invoiceApplyState
===1
"
class=
"groupTourOrder_tickets_green"
@
click=
"goIisDetail(item2.id)"
>
{{item2.id}}
</span>
<span
v-else-if=
"item2.invoiceApplyState
===5
"
class=
"groupTourOrder_tickets_red"
@
click=
"goIisDetail(item2.id)"
>
{{item2.id}}
</span>
<span
v-else-if=
"item2.invoiceApplyState
===3
"
class=
"groupTourOrder_tickets_black"
@
click=
"goIisDetail(item2.id)"
>
{{item2.id}}
</span>
<span
v-if=
"item2.invoiceApplyState
===
6"
class=
"groupTourOrder_tickets_blue"
@
click=
"goIisDetail(item2.id)"
>
{{item2.id}}
</span>
<span
v-else-if=
"item2.invoiceApplyState
=== 1 || item2.invoiceApplyState === 3 || item2.invoiceApplyState === 6
"
class=
"groupTourOrder_tickets_green"
@
click=
"goIisDetail(item2.id)"
>
{{item2.id}}
</span>
<span
v-else-if=
"item2.invoiceApplyState
=== 5 || item2.invoiceApplyState === 4
"
class=
"groupTourOrder_tickets_red"
@
click=
"goIisDetail(item2.id)"
>
{{item2.id}}
</span>
<span
v-else-if=
"item2.invoiceApplyState
=== 2
"
class=
"groupTourOrder_tickets_black"
@
click=
"goIisDetail(item2.id)"
>
{{item2.id}}
</span>
</span>
<span
v-if=
"item.invoiceApplyList.length===0"
style=
"cursor: default;"
>
暂无数据
</span>
</div>
...
...
src/components/SalesVisa/ModifyVisaProduct.vue
View file @
0ebe813b
...
...
@@ -881,6 +881,7 @@ export default {
let
path
=
"/Upload/DMC/Icon/"
;
this
.
UploadSelfFileT
(
path
,
newArr
,
x
=>
{
let
url
=
this
.
domainManager
().
ViittoFileUrl
+
x
.
data
.
FilePath
;
console
.
log
(
'url'
,
url
)
let
Name
=
x
.
data
.
SourceFileName
;
this
.
addMsg
.
VisaProductInfo
.
DownloadMaterialsFileList
.
push
({
Url
:
url
,
Name
:
Name
,
name
:
Name
})
...
...
src/components/SalesVisa/VisaProductCountryManager.vue
View file @
0ebe813b
...
...
@@ -204,6 +204,7 @@
margin-left
:
10px
;
}
._top
img
{
display
:
inline-block
;
width
:
71px
;
height
:
46px
;
}
...
...
@@ -237,7 +238,46 @@
top
:
2px
;
right
:
0px
;
}
.visa_pro_country
.TFimgList
{
float
:
left
;
width
:
170px
;
height
:
120px
;
border-radius
:
4px
;
position
:
relative
;
margin
:
0
10px
10px
0
;
overflow
:
hidden
;
}
.visa_pro_country
.TFIMGzhe
{
width
:
100%
;
height
:
100%
;
background
:
rgba
(
0
,
0
,
0
,
0.4
);
position
:
absolute
;
top
:
0
;
text-align
:
center
;
line-height
:
115px
;
border-radius
:
4px
;
display
:
none
;
}
.visa_pro_country
.TFreupload
{
width
:
32px
;
height
:
32px
;
border-radius
:
50%
;
line-height
:
32px
;
top
:
50px
;
left
:
53px
;
display
:
inline-block
;
text-align
:
center
;
background-color
:
gray
;
color
:
#fff
;
}
.visa_pro_country
.TFimgList
:hover
.TFIMGzhe
{
display
:
block
;
}
.visa_pro_country
.TFimgList
img
{
width
:
100%
;
height
:
100%
;
}
</
style
>
<
template
>
<div
class=
"page_visaMG visa_pro_country"
>
...
...
@@ -313,31 +353,56 @@
<el-input
v-model=
"country.Sort"
placeholder=
"排序"
/>
</el-form-item>
<el-form-item
label=
"国家图标"
>
<el-upload
:file-list=
"fileList"
:http-request=
"uploadTest"
:multiple=
"true"
:limit=
"2"
:on-change=
"handleChange1"
action=
""
>
<!--
<el-upload
:file-list=
"fileList"
:http-request=
"uploadTest"
:multiple=
"true"
:limit=
"2"
:on-change=
"handleChange1"
action=
""
>
<el-button
size=
"small"
type=
"primary"
>
点击上传
</el-button>
</el-upload>
</el-upload>
-->
<div
class=
"TFimgList"
>
<img
v-if=
"!country.Icon"
src=
"../../assets/img/bg_c3@3x.png"
>
<img
v-else
:src=
'country.Icon'
>
<div
class=
"TFIMGzhe"
>
<div
class=
"TFreupload"
>
<el-upload
:file-list=
"fileList"
:http-request=
"uploadTest"
:multiple=
"true"
:limit=
"2"
:on-change=
"handleChange1"
accept=
"image/jpeg, image/gif, image/png, image/bmp"
:show-file-list=
"false"
action=
""
>
<i
class=
"iconfont icon-Edit"
></i>
</el-upload>
</div>
</div>
</div>
</el-form-item>
<el-form-item
label=
"背景图片"
>
<el-upload
:file-list=
"fileList2"
:http-request=
"uploadTest2"
:multiple=
"true"
:limit=
"2"
:on-change=
"handleChange2"
<
!--
<
el-upload
:file-list=
"fileList2"
:http-request=
"uploadTest2"
:multiple=
"true"
:limit=
"2"
:on-change=
"handleChange2"
action=
""
>
<el-button
size=
"small"
type=
"primary"
>
点击上传
</el-button>
</el-upload>
<el-button
size=
"small"
type=
"primary"
>
点击上传
</el-button></el-upload>
-->
<div
class=
"TFimgList"
>
<img
v-if=
"!country.ImageFileList[0]"
src=
"../../assets/img/bg_c3@3x.png"
>
<img
v-else
:src=
'country.ImageFileList[0]'
>
<div
class=
"TFIMGzhe"
>
<div
class=
"TFreupload"
>
<el-upload
:file-list=
"fileList2"
:http-request=
"uploadTest2"
:multiple=
"true"
:limit=
"2"
:on-change=
"handleChange2"
accept=
"image/jpeg, image/gif, image/png, image/bmp"
:show-file-list=
"false"
action=
""
>
<i
class=
"iconfont icon-Edit"
></i>
</el-upload>
</div>
</div>
</div>
</el-form-item>
<!--
<el-form-item>
<button
class=
"hollowFixedBtn"
type=
"button"
@
click=
"cancelEdit()"
>
取消
</button>
<button
type=
"button"
class=
"normalBtn"
@
click=
"saveVisa"
>
保存
</button>
</el-form-item>
-->
</el-form>
</div>
<!-- 国家产品标签 -->
...
...
@@ -488,7 +553,7 @@ export default {
},
// 编辑标签
EditTag
(
tag
,
num
){
console
.
log
(
tag
);
this
.
showInput
(
num
);
this
.
inputValue
=
tag
.
TagTame
;
this
.
productlabel
.
Id
=
tag
.
Id
;
...
...
@@ -587,11 +652,9 @@ export default {
"dmc_post_visa_GetVisaProductCountryTagList"
,
{
VisaCountryId
:
item
},
res
=>
{
console
.
log
(
res
);
this
.
tagloading
=
false
;
if
(
res
.
data
.
resultCode
==
1
)
{
this
.
CountryTagList
=
res
.
data
.
data
;
console
.
log
(
this
.
CountryTagList
,
'countrylist'
);
}
else
{
this
.
Error
(
res
.
data
.
message
);
}
...
...
@@ -648,8 +711,10 @@ export default {
this
.
fileList2
=
fileList
.
slice
(
-
1
);
},
handleChange1
(
file
,
fileList
)
{
this
.
fileList
=
fileList
.
slice
(
-
1
);
this
.
fileList
=
fileList
.
slice
(
-
1
);
},
// 修改国家图标
uploadTest
(
file
)
{
let
newArr
=
[];
newArr
.
push
(
file
.
file
);
...
...
@@ -700,7 +765,7 @@ export default {
},
saveVisa
()
{
//修改保存
// console.log("this.country",this.country);
if
(
this
.
country
.
CountryId
==
""
)
{
this
.
$message
.
error
(
"请选择国家!"
);
return
;
...
...
src/components/TravelManager/TravelList/TravelControlList.vue
View file @
0ebe813b
...
...
@@ -275,10 +275,10 @@
<div
class=
"comSearchDiv"
>
<span>
{{
$t
(
'Operation.Op_TransportState'
)
}}
</span>
<span>
<el-
select
class=
"w180 multiple_input"
v-model=
"queryMsg.IsShowUnion
"
>
<el-
option
:key=
"1"
:label=
"$t('system.table_isShows')"
:value=
"1"
></el-option>
<el-option
:key=
"0"
:label=
"$t('Operation.Op_hide')"
:value=
"0"
></el-option
>
</el-
select
>
<el-
checkbox-group
v-model=
"queryCommonData.IsUnionCked"
style=
"margin-left:0;
"
>
<el-
checkbox
v-for=
"state in unionStatus"
:label=
"state.Id"
:checked=
"state.Checked"
@
change=
"checkedUnion(state)"
:key=
"state.Name"
>
{{
state
.
Name
}}
</el-checkbox
>
</el-
checkbox-group
>
</span>
</div>
<button
class=
"normalBtn TC_SearchBtn"
...
...
@@ -874,6 +874,7 @@
singleTCID
:
0
,
outerVisible
:
false
,
flightCKed
:
[],
IsUnionCked
:[],
loading
:
false
,
checkCompanyAll
:
true
,
//本团卖点
...
...
@@ -956,12 +957,26 @@
Checked
:
false
}
],
//联运状态
unionStatus
:[{
Id
:
1
,
Name
:
'主团'
,
Checked
:
true
},{
Id
:
0
,
Name
:
'分销团'
,
Checked
:
false
}],
//当前登录用户信息
CurrentUserInfo
:
{},
pickerBeginDateBefore
:
{
disabledDate
:
time
=>
{
let
endTime
=
new
Date
(
this
.
queryMsg
.
EndGroupDate
)
return
endTime
.
getTime
()
<
time
.
getTime
()
if
(
this
.
queryMsg
.
EndGroupDate
==
null
){
return
false
;
}
else
{
let
endTime
=
new
Date
(
this
.
queryMsg
.
EndGroupDate
)
return
endTime
.
getTime
()
<
time
.
getTime
()
}
}
},
pickerBeginDateAfter
:
{
...
...
@@ -1495,6 +1510,11 @@
this
.
queryCommonData
.
flightCKed
=
[]
this
.
queryCommonData
.
flightCKed
.
push
(
item
.
Id
)
},
checkedUnion
(
item
){
this
.
queryMsg
.
IsShowUnion
=
item
.
Id
this
.
queryCommonData
.
IsUnionCked
=
[]
this
.
queryCommonData
.
IsUnionCked
.
push
(
item
.
Id
)
},
//点击选取出团公司
getCompanyCheck
(
item
)
{
item
.
isShow
=
!
item
.
isShow
...
...
src/components/VisaCenter/VisaManagement.vue
View file @
0ebe813b
This diff is collapsed.
Click to expand it.
src/components/busManagement/BusInfo.vue
View file @
0ebe813b
This diff is collapsed.
Click to expand it.
src/components/busManagement/busStatistics.vue
View file @
0ebe813b
...
...
@@ -38,7 +38,7 @@
车辆状态
已确定:
<span
style=
"color:#4BCA81 ;"
>
√
</span>
未确定:
<span
style=
"color: #ff6600;"
>
O
</span>
未分配:
<span
style=
"color:#E95252 ;"
>
X
</span>
</div>
<div
style=
"width: 100%; overflow-x: auto;padding-bottom: 10px; margin-top: 10px; "
class=
"ownScrollbarStyle"
>
<div
style=
"width: 100%; overflow-x: auto;padding-bottom: 10px; margin-top: 10px; "
class=
"ownScrollbarStyle"
:style=
"
{height: boxHeight + 'px'}"
>
<table
border=
"0"
cellspacing=
"1"
cellpadding=
"0"
class=
"busStatisticsTalbe"
v-loading=
'loading'
>
<tr>
<th
class=
"w100"
>
序号
</th>
...
...
@@ -218,6 +218,7 @@
list
:
[],
colspanTotal
:
0
,
isCha
:
0
,
boxHeight
:
0
,
}
},
...
...
@@ -398,6 +399,7 @@
}
})
})
this
.
$forceUpdate
()
}
else
{
this
.
$message
.
error
(
res
.
data
.
message
);
}
...
...
@@ -413,6 +415,11 @@
"-"
+
myDate
.
getDate
();
this
.
msg
.
StartDate
=
nowDate
;
let
width
=
window
.
innerWidth
-
50
let
height
=
window
.
innerHeight
-
65
-
210
console
.
log
(
height
)
this
.
boxHeight
=
height
;
this
.
offsetwidth
=
width
this
.
getList
();
this
.
getLineTeamList
();
},
...
...
src/plug/index.js
View file @
0ebe813b
...
...
@@ -117,10 +117,10 @@ export default {
Vue
.
prototype
.
domainManager
=
function
()
{
let
domainUrl
=
''
;
let
locationName
=
window
.
location
.
hostname
;
//
domainUrl = "http://192.168.2.65:8025"; //214主域名
domainUrl
=
"http://192.168.2.65:8025"
;
//214主域名
// domainUrl = "http://192.168.2.214:8082"; //214主域名
// domainUrl = "http://192.168.0.119:8082";
domainUrl
=
"http://192.168.2.106:8082"
;
//
domainUrl = "http://192.168.2.106:8082";
if
(
locationName
.
indexOf
(
'oytour'
)
!==
-
1
)
{
domainUrl
=
"http://reborn.oytour.com"
;
}
else
if
(
locationName
.
indexOf
(
'viitto'
)
!==
-
1
)
{
...
...
@@ -148,7 +148,7 @@ export default {
//google地图图片地址
GoogleMapImageUrl
:
"http://super.oytour.com"
,
//上传站点
UploadUrl
:
locationName
.
indexOf
(
'oytour'
)
!==
-
1
||
locationName
.
indexOf
(
'viitto'
)
!==
-
1
?
"http://upload.oytour.com"
:
"http://192.168.2.
106
:8120"
,
UploadUrl
:
locationName
.
indexOf
(
'oytour'
)
!==
-
1
||
locationName
.
indexOf
(
'viitto'
)
!==
-
1
?
"http://upload.oytour.com"
:
"http://192.168.2.
214
:8120"
,
//文件站点
ViittoFileUrl
:
locationName
.
indexOf
(
'oytour'
)
!==
-
1
||
locationName
.
indexOf
(
'viitto'
)
!==
-
1
?
"http://imgfile.oytour.com"
:
'http://192.168.2.214:8130'
,
javaUrl
:
locationName
.
indexOf
(
'oytour'
)
!==
-
1
||
locationName
.
indexOf
(
'viitto'
)
!==
-
1
?
(
locationName
.
indexOf
(
'oytour'
)
!==
-
1
?
"http://efficient.oytour.com"
:
"http://47.96.12.235:9001"
)
:
"http://192.168.2.215:9000"
,
...
...
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