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
95b6ebeb
Commit
95b6ebeb
authored
Jan 07, 2026
by
liudong1993
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
1 酒店制单控制
parent
407fccc7
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
245 additions
and
31 deletions
+245
-31
addFinancialDocuments.vue
src/components/FinancialModule/addFinancialDocuments.vue
+16
-24
roomReservationsDetails.vue
src/components/Hotel/roomReservationsDetails.vue
+221
-3
roomStatic.vue
src/components/Hotel/roomStatic.vue
+2
-2
dmcTotalTable.vue
src/components/dmc/manager/dmcTotalTable.vue
+1
-0
teamRevenueExpenditure.vue
src/components/dmc/manager/teamRevenueExpenditure.vue
+5
-2
No files found.
src/components/FinancialModule/addFinancialDocuments.vue
View file @
95b6ebeb
...
...
@@ -2197,18 +2197,18 @@ import SpecialList from '../SalesModule/SpecialList.vue';
confirmMsg
.
push
(
this
.
$t
(
'objFill.chongqizdssfblts'
));
}
if
(
this
.
msg
.
HelpBranchId
>
-
1
)
{
let
that
=
this
let
brandName
=
this
.
$t
(
'objFill.querenypu'
);
this
.
companyList
.
forEach
(
item
=>
{
if
(
item
.
Id
==
this
.
msg
.
HelpBranchId
)
{
brandName
+=
item
.
BName
;
}
}
);
brandName
+=
(
this
.
$route
.
query
.
Type
==
1
?
this
.
$t
(
'objFill.daishou'
)
:
this
.
$t
(
'objFill.daifu'
))
+
this
.
$t
(
'objFill.cibikuanxianbmbh'
);
confirmMsg
.
push
(
brandName
);
}
//
if (this.msg.HelpBranchId > -1)
{
//
let that = this
//
let brandName = this.$t('objFill.querenypu');
//
this.companyList.forEach(item =>
{
//
if (item.Id == this.msg.HelpBranchId)
{
//
brandName += item.BName;
//
}
//
}
);
//
brandName += (this.$route.query.Type == 1 ? this.$t('objFill.daishou') : this.$t('objFill.daifu')) + this.$t(
//
'objFill.cibikuanxianbmbh');
//
confirmMsg.push(brandName);
//
}
if
(
confirmMsg
&&
confirmMsg
.
length
>
0
)
{
let
title
=
z
?
this
.
$t
(
'fnc.zancun'
)
:
this
.
$t
(
'fnc.tijiao'
)
const
h
=
this
.
$createElement
...
...
@@ -2256,16 +2256,6 @@ import SpecialList from '../SalesModule/SpecialList.vue';
}
}
)
}
).
catch
(()
=>
{
if
(
this
.
orderObj
&&
(
this
.
orderObj
.
EduCommissionEmp
||
this
.
orderObj
.
queryObj
))
{
location
.
reload
()
this
.
$router
.
push
({
name
:
'leaderReimbursement'
,
query
:
{
...
this
.
orderObj
.
queryObj
,
'blank'
:
'y'
,
}
}
);
}
else
{
this
.
$router
.
push
({
name
:
'FinancialDocuments'
,
query
:
{
...
...
@@ -2273,7 +2263,6 @@ import SpecialList from '../SalesModule/SpecialList.vue';
'InPay'
:
this
.
$route
.
query
.
InPay
}
}
);
}
}
);
}
else
{
this
.
resultCode
=
res
.
data
.
resultCode
;
...
...
@@ -2740,7 +2729,10 @@ import SpecialList from '../SalesModule/SpecialList.vue';
this
.
apipost
(
'Financial_post_Get'
,
{
ID
:
id
,
TempId
:
tempId
,
TCIDList
:
(
this
.
orderObj
&&
this
.
orderObj
.
TCIDList
)
?
this
.
orderObj
.
TCIDList
:
[]
TCIDList
:
(
this
.
orderObj
&&
this
.
orderObj
.
TCIDList
)
?
this
.
orderObj
.
TCIDList
:
[],
DMCOrderId
:
this
.
orderObj
&&
this
.
orderObj
.
EduCommissionEmp
?
this
.
orderObj
.
EduCommissionEmp
:
""
,
OrderSource
:
this
.
orderObj
&&
this
.
orderObj
.
OrderSource
?
this
.
orderObj
.
OrderSource
:
0
,
BranchId
:
this
.
$route
.
query
.
companyID
}
,
res
=>
{
if
(
res
.
data
.
resultCode
==
1
)
{
let
data
=
res
.
data
.
data
;
...
...
src/components/Hotel/roomReservationsDetails.vue
View file @
95b6ebeb
...
...
@@ -56,6 +56,19 @@
{{
$t
(
'ground.jisuan2'
)
}}
<br
/>
{{
$t
(
'ground.sidaobsuan'
)
}}
<br
/>
{{
$t
(
'objFill.fksxianfsps'
)
}}
<div
style=
"float: right; margin-top:-20px"
>
<span>
*房间数量,预定人数,单价需要仔细录入,点击制单将带此数据进入单据;
</span>
<el-select
class=
'w120 sel'
v-model=
'selectFlowId'
filterable
:placeholder=
"$t('ground.qingxuanzegys')"
>
<el-option
label=
"请选择流程"
:value=
'0'
></el-option>
<el-option
v-for=
"(fitem,findex) in FlowList"
:key=
"findex"
:label=
"fitem.Name"
:value=
"fitem.Id"
>
</el-option>
</el-select>
<input
type=
"button"
class=
"fr normalBtn"
:value=
"$t('objFill.precharge')"
@
click=
"CreateFinance(2)"
/>
<el-button
type=
"primary"
class=
"fr normalBtn"
@
click=
"CreateFinance(1)"
>
制单
</el-button>
</div>
</div>
<div
style=
"width: 100%; overflow-x: auto;padding-bottom: 10px; "
:style=
"
{height: boxHeight + 'px'}"
class="ownScrollbarStyle" ref="ownScrollbarStyle">
...
...
@@ -139,6 +152,15 @@
</el-popover>
</el-tooltip>
</th>
<th
class=
"fz14"
style=
"border:none; width:50px"
></th>
<th
class=
"fz14"
style=
"border:none; min-width:300px"
>
未绑定酒店单据:
<span
v-for=
"(fitem,findex) in OtherFinaceList"
:key=
"findex"
>
<span
:style=
"(fitem.Status==3?'color:red':fitem.Status==1?'color:#3fc4ff':fitem.Status==2?'color:#ff980':'color:black')+';cursor: pointer;'"
@
click=
"GoFinance(fitem)"
>
{{fitem.FrID}} [{{fitem.WBMoney}}] {{(findex
<
(
OtherFinaceList
.
length-1
)?'、'
:
'')}}</
span
>
</span>
</th>
</tr>
</thead>
</table>
...
...
@@ -222,6 +244,16 @@
</el-tooltip>
</template>
/{{$t('hotel.hotel_people')}})
</font>
</span>
<br/>
<span>
<el-checkbox
v-model=
"subItem.check"
style=
"font-weight:bold;font-size:14px;margin-top:10px;margin-bottom:10px"
>
制单
</el-checkbox>
</span>
<span
v-for=
"(fitem,findex) in subItem.FinanceList"
:key=
"findex"
>
<br/>
<span
:style=
"(fitem.Status==3?'color:red':fitem.Status==1?'color:#3fc4ff':fitem.Status==2?'color:#ff980':'color:black')+';cursor: pointer;'"
@
click=
"GoFinance(fitem)"
>
{{fitem.FrID}} [{{fitem.WBMoney}}]
</span>
</span>
</td>
<!-- 机位总数/(Y/E/F) -->
<td
v-if=
"childIndex==0"
:rowspan=
"subItem.OrderDetailsList.length"
>
...
...
@@ -317,7 +349,7 @@
</td>
<!-- 房间数 -->
<td>
<el-input
class=
'w40 tcenter'
maxlength=
"
2
"
@
keyup
.
native=
"checkPrice(childItem,'HouseTypeCount')"
<el-input
class=
'w40 tcenter'
maxlength=
"
4
"
@
keyup
.
native=
"checkPrice(childItem,'HouseTypeCount')"
v-model=
'childItem.HouseTypeCount'
:disabled=
"IsEditHotelPeople==0?true:false"
></el-input>
</td>
<td>
...
...
@@ -668,6 +700,7 @@
<p>
{{$t('active.ld_noData')}}
</p>
</div>
</div>
<offset
:isShow=
"cdState"
:obj=
"queryObj"
@
close=
"cdState=false"
></offset>
</div>
</template>
<
script
>
...
...
@@ -675,6 +708,7 @@
import
comCheckHotel
from
"../commonPage/comCheckHotel.vue"
;
import
commonHotelLog
from
"../commonPage/commonHotelLog.vue"
;
import
setHotelStock
from
"../commonPage/setHotelStock.vue"
;
import
offset
from
'../public/offset.vue'
;
export
default
{
data
()
{
return
{
...
...
@@ -682,6 +716,9 @@
LineId
:
0
,
EditBtn
:
false
,
//房餐景点修改权限
defaultSelectValue
:
0
,
selectFlowId
:
0
,
HOrderIds
:[],
FlowList
:[],
dataList
:
[],
roomList
:
[],
TCNUM
:
''
,
...
...
@@ -764,12 +801,27 @@
currentUserInfo
:
{},
saveLoading
:
false
,
//保存,防止重复提交
allTotalPrice
:
0
,
IsPrerealContrast
:
false
,
PrerealContrastMsg
:
''
,
PrerealContrastOfferId
:
0
,
roomZeroNum
:
0
,
queryObj
:
null
,
cdState
:
false
,
Handmsg
:
{
OtherType
:
7
,
ReFinanceId
:
0
,
Rate
:
0
,
TCNUM
:
''
,
czState
:
true
,
},
OtherFinaceList
:[]
}
},
components
:
{
comCheckHotel
,
commonHotelLog
,
setHotelStock
,
offset
},
methods
:
{
getHouseTypeName
(
subItem
,
childItem
)
{
...
...
@@ -1084,6 +1136,7 @@
this
.
CreateBy
=
res
.
data
.
data
.
CreateBy
;
this
.
CreateByPhoto
=
res
.
data
.
data
.
CreateByPhoto
;
this
.
CreateByAccount
=
res
.
data
.
data
.
CreateByAccount
;
this
.
OtherFinaceList
=
res
.
data
.
data
.
FinanceList
;
if
(
list
!=
null
&&
list
.
length
>
0
)
{
list
.
forEach
((
item
,
sIndex
)
=>
{
item
.
HotelOrderList
.
forEach
(
subItem
=>
{
...
...
@@ -1165,7 +1218,7 @@
});
})
}
if
(
type
==
1
)
{
if
(
type
==
1
||
type
==
2
||
type
==
3
)
{
this
.
dataList
.
forEach
(
item
=>
{
item
.
HotelOrderList
.
forEach
(
subItem
=>
{
subItem
.
HotelOrderState
=
1
;
...
...
@@ -1215,7 +1268,14 @@
this
.
loading
=
false
;
this
.
saveLoading
=
false
;
if
(
res
.
data
.
resultCode
==
1
)
{
this
.
getList
();
if
(
type
==
2
){
this
.
GoAddFinance
();
}
else
if
(
type
==
3
){
this
.
isOffset
(
1
,
2
);
}
else
{
this
.
getList
();
}
this
.
Success
(
res
.
data
.
message
);
}
else
{
this
.
Error
(
res
.
data
.
message
);
...
...
@@ -1263,6 +1323,162 @@
}
});
},
Financial_post_GetList
(){
//获取
this
.
apipost
(
'Financial_post_GetList'
,{
PortType
:
4
,
TempLateClass
:
2
},
res
=>
{
if
(
res
.
data
.
resultCode
==
1
){
this
.
FlowList
=
res
.
data
.
data
;
}
else
{
this
.
$message
.
error
(
res
.
data
.
message
)
}
},
err
=>
{})
},
//跳至单据
CreateFinance
(
type
){
if
(
this
.
selectFlowId
<=
0
&&
type
==
1
){
this
.
$message
.
info
(
"请选择流程"
);
return
;}
this
.
HOrderIds
=
[];
this
.
dataList
.
forEach
(
item
=>
{
item
.
HotelOrderList
.
forEach
(
subItem
=>
{
if
(
subItem
.
check
){
this
.
HOrderIds
.
push
(
subItem
.
OrderID
);
subItem
.
check
=
false
;}
});
})
if
(
this
.
HOrderIds
.
length
==
0
){
this
.
$message
.
info
(
"请勾选酒店"
);
return
;}
if
(
type
==
1
){
this
.
saveList
(
2
);
}
else
{
this
.
saveList
(
3
);
}
},
GoAddFinance
(){
let
FlowName
=
this
.
FlowList
.
find
(
item
=>
item
.
Id
===
this
.
selectFlowId
).
Name
;
let
orderObj
=
{
"OrderID"
:
0
,
"OrderSource"
:
1
,
"Obj"
:
{},
"SourceID"
:
this
.
$route
.
query
.
id
,
"TCIDList"
:
[
this
.
$route
.
query
.
id
],
"LineId"
:
this
.
LineId
,
"EduCommissionEmp"
:
this
.
HOrderIds
.
join
(
','
)
};
//跳转制单界面
this
.
$router
.
push
({
name
:
'addFinancialDocuments'
,
query
:{
"id"
:
this
.
selectFlowId
,
"Name"
:
FlowName
,
"Type"
:
2
,
"orderObj"
:
JSON
.
stringify
(
orderObj
),
'path'
:
'roomReservationsDetails'
,
'IsUploadPic'
:
1
,
'companyID'
:
this
.
$route
.
query
.
OutBranchId
,
blank
:
'y'
,
tab
:
'新增付款单'
}
})
},
GoFinance
(
item
){
if
(
item
.
Status
==
3
&&
item
.
CreateBy
==
this
.
currentUserInfo
.
EmployeeId
){
//跳过去修改
this
.
$router
.
push
({
name
:
'addFinancialDocuments'
,
query
:{
type
:
2
,
FrID
:
item
.
FrID
,
edit
:
true
,
blank
:
'y'
,
tab
:
'修改财务单据'
}
})
}
else
{
//跳详情
this
.
$router
.
push
({
name
:
'FinancialDocumentsDetail'
,
query
:{
"id"
:
item
.
FrID
,
blank
:
'y'
,
tab
:
'单据详情'
}
})
}
},
isOffset
(
_orderSource
,
_type
)
{
if
(
this
.
IsPrerealContrast
){
if
(
_orderSource
==
1
&&
this
.
roomZeroNum
>
0
){
this
.
$confirm
(
'存在用款计划酒店数据未维护价格,请维护单价后再试'
,
this
.
$t
(
'tips.tips'
),
{
confirmButtonText
:
this
.
$t
(
'objFill.ckbjd'
),
cancelButtonText
:
this
.
$t
(
'pub.cancelBtn'
),
type
:
'warning'
}).
then
(()
=>
{
this
.
$router
.
push
({
name
:
'OfferChange'
,
query
:
{
'offerid'
:
this
.
PrerealContrastOfferId
,
'Qtype'
:
3
,
'blank'
:
'y'
,
}
});
}).
catch
(()
=>
{
});
return
;
}
else
if
(
this
.
PrerealContrastMsg
!=
''
){
this
.
$confirm
(
this
.
PrerealContrastMsg
,
this
.
$t
(
'tips.tips'
),
{
confirmButtonText
:
this
.
$t
(
'objFill.ckbjd'
),
cancelButtonText
:
this
.
$t
(
'pub.cancelBtn'
),
type
:
'warning'
}).
then
(()
=>
{
this
.
$router
.
push
({
name
:
'OfferChange'
,
query
:
{
'offerid'
:
this
.
PrerealContrastOfferId
,
'Qtype'
:
3
,
'blank'
:
'y'
,
}
});
}).
catch
(()
=>
{
});
return
;
}
}
let
TCIDARR
=
[
this
.
$route
.
query
.
id
];
let
orderObj
=
{
OrderID
:
0
,
OrderSource
:
_orderSource
,
Obj
:
{},
SourceID
:
this
.
$route
.
query
.
id
,
TCIDList
:
TCIDARR
,
LineId
:
this
.
LineId
,
EduCommissionEmp
:
this
.
HOrderIds
.
join
(
','
)
}
// 冲抵
let
query
=
{
'czmsg'
:
this
.
Handmsg
,
'Type'
:
_type
,
'path'
:
'roomReservationsDetails'
,
'companyID'
:
this
.
$route
.
query
.
OutBranchId
,
'blank'
:
'y'
,
'orderObj'
:
JSON
.
stringify
(
orderObj
),
'OrderSource'
:
_orderSource
,
'searchTitle'
:
'分摊'
};
this
.
queryObj
=
query
this
.
cdState
=
true
},
getTravelPrerealContrast
(){
this
.
apipost
(
'financestatistics_post_GetTravelPrerealContrast'
,
{
TCID
:
this
.
$route
.
query
.
id
},
res
=>
{
if
(
res
.
data
.
resultCode
==
1
)
{
if
(
res
.
data
.
data
.
State
==
1
){
this
.
IsPrerealContrast
=
true
;
this
.
PrerealContrastMsg
=
res
.
data
.
data
.
Msg
;
this
.
PrerealContrastOfferId
=
res
.
data
.
data
.
OfferId
;
this
.
roomZeroNum
=
res
.
data
.
data
.
roomZeroNum
;
}
}
else
{}
},
err
=>
{})
}
},
mounted
()
{
this
.
currentUserInfo
=
this
.
getLocalStorage
();
...
...
@@ -1290,6 +1506,8 @@
this
.
offsetwidth
=
width
;
this
.
initSupplier
();
this
.
getList
();
this
.
Financial_post_GetList
();
this
.
getTravelPrerealContrast
();
}
}
...
...
src/components/Hotel/roomStatic.vue
View file @
95b6ebeb
...
...
@@ -291,8 +291,8 @@
@
click=
"goUrl('roomSure',subItem,dayItem.DayStr,'订房管理')"
style=
"cursor:pointer;text-decoration:underline;"
:class=
"subItem.InventoryType==4 ? 'stock1' : 'stock2'"
>
{{$t('hotel.hotel_roomUsed')}}:
{{subItem.UseInventory}}
</a>
<span
v-else
>
{{$t('hotel.hotel_roomUsed')}}: {{subItem.UseInventory}}
</span>
{{subItem.UseInventory}}
{{(subItem.UseAmount>0?'['+$t('objFill.shanke')+']':'')}}
</a>
<span
v-else
>
{{$t('hotel.hotel_roomUsed')}}: {{subItem.UseInventory}}
{{(subItem.UseAmount>0?'['+$t('objFill.shanke')+']':'')}}
</span>
)
</p>
</div>
...
...
src/components/dmc/manager/dmcTotalTable.vue
View file @
95b6ebeb
...
...
@@ -1405,6 +1405,7 @@
query
:
{
"id"
:
obj
.
TCIDS
,
'TCNUM'
:
obj
.
TCNUMS
,
'OutBranchId'
:
obj
.
OutBranchId
,
'flightTotal'
:
obj
.
TotalSeat
,
'GuestNum'
:
obj
.
OrderGuestNum
,
'NewCombinationNum'
:
outItem
.
NewCombinationNum
,
...
...
src/components/dmc/manager/teamRevenueExpenditure.vue
View file @
95b6ebeb
...
...
@@ -38,11 +38,12 @@
</table>
<p
class=
"teamRevenueExpenditureTitle"
>
{{
$t
(
'hotel.hotel'
)
}}
<span
class=
"fr"
style=
"margin-top: -8px;"
>
<span
class=
"fr"
style=
"margin-top: -8px;"
v-if=
"IsJapanLine==false"
>
<input
type=
"button"
class=
"normalBtn"
:value=
"$t('objFill.xingzengfk')"
@
click=
"goUrl(1,2)"
/><input
type=
"button"
class=
"normalBtn"
:value=
"$t('objFill.xingzengshouk')"
@
click=
"goUrl(1,1)"
/>
<input
type=
"button"
class=
"normalBtn"
:value=
"$t('objFill.precharge')"
@
click=
"isOffset(1,2)"
/>
</span>
<span
class=
"fr"
style=
"margin-top: -8px;"
v-else
>
*酒店请至地接总表订房管理制单
</span>
</p>
<table
border=
"0"
cellspacing=
"1"
cellpadding=
"0"
class=
"teamRevenueExpenditureTable"
>
<tr>
...
...
@@ -395,7 +396,8 @@
IsPrerealContrast
:
false
,
PrerealContrastMsg
:
''
,
PrerealContrastOfferId
:
0
,
roomZeroNum
:
0
roomZeroNum
:
0
,
IsJapanLine
:
false
}
},
methods
:
{
...
...
@@ -728,6 +730,7 @@
this
.
getTuanMsg
()
let
userInfo
=
this
.
getLocalStorage
();
if
(
userInfo
.
RB_Group_id
==
2
&&
this
.
LineId
==
14
){
this
.
IsJapanLine
=
true
;
//日本线 酒店制单特殊处理
this
.
getTravelPrerealContrast
();
}
}
...
...
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