Commit 95b6ebeb authored by liudong1993's avatar liudong1993

1 酒店制单控制

parent 407fccc7
...@@ -2197,18 +2197,18 @@ import SpecialList from '../SalesModule/SpecialList.vue'; ...@@ -2197,18 +2197,18 @@ import SpecialList from '../SalesModule/SpecialList.vue';
confirmMsg.push(this.$t('objFill.chongqizdssfblts')); confirmMsg.push(this.$t('objFill.chongqizdssfblts'));
} }
if (this.msg.HelpBranchId > -1) { // if (this.msg.HelpBranchId > -1) {
let that = this // let that = this
let brandName = this.$t('objFill.querenypu'); // let brandName = this.$t('objFill.querenypu');
this.companyList.forEach(item => { // this.companyList.forEach(item => {
if (item.Id == this.msg.HelpBranchId) { // if (item.Id == this.msg.HelpBranchId) {
brandName += item.BName; // brandName += item.BName;
} // }
}); // });
brandName += (this.$route.query.Type == 1 ? this.$t('objFill.daishou') : this.$t('objFill.daifu')) + this.$t( // brandName += (this.$route.query.Type == 1 ? this.$t('objFill.daishou') : this.$t('objFill.daifu')) + this.$t(
'objFill.cibikuanxianbmbh'); // 'objFill.cibikuanxianbmbh');
confirmMsg.push(brandName); // confirmMsg.push(brandName);
} // }
if (confirmMsg && confirmMsg.length > 0) { if (confirmMsg && confirmMsg.length > 0) {
let title = z ? this.$t('fnc.zancun') : this.$t('fnc.tijiao') let title = z ? this.$t('fnc.zancun') : this.$t('fnc.tijiao')
const h = this.$createElement const h = this.$createElement
...@@ -2256,16 +2256,6 @@ import SpecialList from '../SalesModule/SpecialList.vue'; ...@@ -2256,16 +2256,6 @@ import SpecialList from '../SalesModule/SpecialList.vue';
} }
}) })
}).catch(() => { }).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({ this.$router.push({
name: 'FinancialDocuments', name: 'FinancialDocuments',
query: { query: {
...@@ -2273,7 +2263,6 @@ import SpecialList from '../SalesModule/SpecialList.vue'; ...@@ -2273,7 +2263,6 @@ import SpecialList from '../SalesModule/SpecialList.vue';
'InPay': this.$route.query.InPay 'InPay': this.$route.query.InPay
} }
}); });
}
}); });
} else { } else {
this.resultCode = res.data.resultCode; this.resultCode = res.data.resultCode;
...@@ -2740,7 +2729,10 @@ import SpecialList from '../SalesModule/SpecialList.vue'; ...@@ -2740,7 +2729,10 @@ import SpecialList from '../SalesModule/SpecialList.vue';
this.apipost('Financial_post_Get', { this.apipost('Financial_post_Get', {
ID: id, ID: id,
TempId: tempId, 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 => { }, res => {
if (res.data.resultCode == 1) { if (res.data.resultCode == 1) {
let data = res.data.data; let data = res.data.data;
......
...@@ -56,6 +56,19 @@ ...@@ -56,6 +56,19 @@
{{$t('ground.jisuan2')}} <br /> {{$t('ground.jisuan2')}} <br />
{{$t('ground.sidaobsuan')}}<br /> {{$t('ground.sidaobsuan')}}<br />
{{$t('objFill.fksxianfsps')}} {{$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>
<div style="width: 100%; overflow-x: auto;padding-bottom: 10px; " :style="{height: boxHeight + 'px'}" <div style="width: 100%; overflow-x: auto;padding-bottom: 10px; " :style="{height: boxHeight + 'px'}"
class="ownScrollbarStyle" ref="ownScrollbarStyle"> class="ownScrollbarStyle" ref="ownScrollbarStyle">
...@@ -139,6 +152,15 @@ ...@@ -139,6 +152,15 @@
</el-popover> </el-popover>
</el-tooltip> </el-tooltip>
</th> </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> </tr>
</thead> </thead>
</table> </table>
...@@ -222,6 +244,16 @@ ...@@ -222,6 +244,16 @@
</el-tooltip> </el-tooltip>
</template>/{{$t('hotel.hotel_people')}})</font> </template>/{{$t('hotel.hotel_people')}})</font>
</span> </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> </td>
<!-- 机位总数/(Y/E/F) --> <!-- 机位总数/(Y/E/F) -->
<td v-if="childIndex==0" :rowspan="subItem.OrderDetailsList.length"> <td v-if="childIndex==0" :rowspan="subItem.OrderDetailsList.length">
...@@ -317,7 +349,7 @@ ...@@ -317,7 +349,7 @@
</td> </td>
<!-- 房间数 --> <!-- 房间数 -->
<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> v-model='childItem.HouseTypeCount' :disabled="IsEditHotelPeople==0?true:false"></el-input>
</td> </td>
<td> <td>
...@@ -668,6 +700,7 @@ ...@@ -668,6 +700,7 @@
<p>{{$t('active.ld_noData')}}</p> <p>{{$t('active.ld_noData')}}</p>
</div> </div>
</div> </div>
<offset :isShow="cdState" :obj="queryObj" @close="cdState=false"></offset>
</div> </div>
</template> </template>
<script> <script>
...@@ -675,6 +708,7 @@ ...@@ -675,6 +708,7 @@
import comCheckHotel from "../commonPage/comCheckHotel.vue"; import comCheckHotel from "../commonPage/comCheckHotel.vue";
import commonHotelLog from "../commonPage/commonHotelLog.vue"; import commonHotelLog from "../commonPage/commonHotelLog.vue";
import setHotelStock from "../commonPage/setHotelStock.vue"; import setHotelStock from "../commonPage/setHotelStock.vue";
import offset from '../public/offset.vue';
export default { export default {
data() { data() {
return { return {
...@@ -682,6 +716,9 @@ ...@@ -682,6 +716,9 @@
LineId: 0, LineId: 0,
EditBtn: false, //房餐景点修改权限 EditBtn: false, //房餐景点修改权限
defaultSelectValue: 0, defaultSelectValue: 0,
selectFlowId: 0,
HOrderIds:[],
FlowList:[],
dataList: [], dataList: [],
roomList: [], roomList: [],
TCNUM: '', TCNUM: '',
...@@ -764,12 +801,27 @@ ...@@ -764,12 +801,27 @@
currentUserInfo: {}, currentUserInfo: {},
saveLoading: false, //保存,防止重复提交 saveLoading: false, //保存,防止重复提交
allTotalPrice: 0, 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: { components: {
comCheckHotel, comCheckHotel,
commonHotelLog, commonHotelLog,
setHotelStock, setHotelStock,
offset
}, },
methods: { methods: {
getHouseTypeName(subItem, childItem) { getHouseTypeName(subItem, childItem) {
...@@ -1084,6 +1136,7 @@ ...@@ -1084,6 +1136,7 @@
this.CreateBy = res.data.data.CreateBy; this.CreateBy = res.data.data.CreateBy;
this.CreateByPhoto = res.data.data.CreateByPhoto; this.CreateByPhoto = res.data.data.CreateByPhoto;
this.CreateByAccount = res.data.data.CreateByAccount; this.CreateByAccount = res.data.data.CreateByAccount;
this.OtherFinaceList= res.data.data.FinanceList;
if (list != null && list.length > 0) { if (list != null && list.length > 0) {
list.forEach((item, sIndex) => { list.forEach((item, sIndex) => {
item.HotelOrderList.forEach(subItem => { item.HotelOrderList.forEach(subItem => {
...@@ -1165,7 +1218,7 @@ ...@@ -1165,7 +1218,7 @@
}); });
}) })
} }
if (type == 1) { if (type == 1 || type == 2 || type == 3) {
this.dataList.forEach(item => { this.dataList.forEach(item => {
item.HotelOrderList.forEach(subItem => { item.HotelOrderList.forEach(subItem => {
subItem.HotelOrderState = 1; subItem.HotelOrderState = 1;
...@@ -1215,7 +1268,14 @@ ...@@ -1215,7 +1268,14 @@
this.loading = false; this.loading = false;
this.saveLoading = false; this.saveLoading = false;
if (res.data.resultCode == 1) { 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); this.Success(res.data.message);
} else { } else {
this.Error(res.data.message); this.Error(res.data.message);
...@@ -1263,6 +1323,162 @@ ...@@ -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() { mounted() {
this.currentUserInfo = this.getLocalStorage(); this.currentUserInfo = this.getLocalStorage();
...@@ -1290,6 +1506,8 @@ ...@@ -1290,6 +1506,8 @@
this.offsetwidth = width; this.offsetwidth = width;
this.initSupplier(); this.initSupplier();
this.getList(); this.getList();
this.Financial_post_GetList();
this.getTravelPrerealContrast();
} }
} }
......
...@@ -291,8 +291,8 @@ ...@@ -291,8 +291,8 @@
@click="goUrl('roomSure',subItem,dayItem.DayStr,'订房管理')" @click="goUrl('roomSure',subItem,dayItem.DayStr,'订房管理')"
style="cursor:pointer;text-decoration:underline;" style="cursor:pointer;text-decoration:underline;"
:class="subItem.InventoryType==4 ? 'stock1' : 'stock2'">{{$t('hotel.hotel_roomUsed')}}: :class="subItem.InventoryType==4 ? 'stock1' : 'stock2'">{{$t('hotel.hotel_roomUsed')}}:
{{subItem.UseInventory}}</a> {{subItem.UseInventory}} {{(subItem.UseAmount>0?'['+$t('objFill.shanke')+']':'')}}</a>
<span v-else>{{$t('hotel.hotel_roomUsed')}}: {{subItem.UseInventory}}</span> <span v-else>{{$t('hotel.hotel_roomUsed')}}: {{subItem.UseInventory}} {{(subItem.UseAmount>0?'['+$t('objFill.shanke')+']':'')}}</span>
) )
</p> </p>
</div> </div>
......
...@@ -1405,6 +1405,7 @@ ...@@ -1405,6 +1405,7 @@
query: { query: {
"id": obj.TCIDS, "id": obj.TCIDS,
'TCNUM': obj.TCNUMS, 'TCNUM': obj.TCNUMS,
'OutBranchId': obj.OutBranchId,
'flightTotal': obj.TotalSeat, 'flightTotal': obj.TotalSeat,
'GuestNum': obj.OrderGuestNum, 'GuestNum': obj.OrderGuestNum,
'NewCombinationNum': outItem.NewCombinationNum, 'NewCombinationNum': outItem.NewCombinationNum,
......
...@@ -38,11 +38,12 @@ ...@@ -38,11 +38,12 @@
</table> </table>
<p class="teamRevenueExpenditureTitle"> <p class="teamRevenueExpenditureTitle">
{{$t('hotel.hotel')}} {{$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" <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)" /> :value="$t('objFill.xingzengshouk')" @click="goUrl(1,1)" />
<input type="button" class="normalBtn" :value="$t('objFill.precharge')" @click="isOffset(1,2)" /> <input type="button" class="normalBtn" :value="$t('objFill.precharge')" @click="isOffset(1,2)" />
</span> </span>
<span class="fr" style="margin-top: -8px;" v-else> *酒店请至地接总表订房管理制单</span>
</p> </p>
<table border="0" cellspacing="1" cellpadding="0" class="teamRevenueExpenditureTable"> <table border="0" cellspacing="1" cellpadding="0" class="teamRevenueExpenditureTable">
<tr> <tr>
...@@ -395,7 +396,8 @@ ...@@ -395,7 +396,8 @@
IsPrerealContrast: false, IsPrerealContrast: false,
PrerealContrastMsg:'', PrerealContrastMsg:'',
PrerealContrastOfferId:0, PrerealContrastOfferId:0,
roomZeroNum: 0 roomZeroNum: 0,
IsJapanLine: false
} }
}, },
methods: { methods: {
...@@ -728,6 +730,7 @@ ...@@ -728,6 +730,7 @@
this.getTuanMsg() this.getTuanMsg()
let userInfo = this.getLocalStorage(); let userInfo = this.getLocalStorage();
if(userInfo.RB_Group_id==2 && this.LineId==14){ if(userInfo.RB_Group_id==2 && this.LineId==14){
this.IsJapanLine=true;//日本线 酒店制单特殊处理
this.getTravelPrerealContrast(); this.getTravelPrerealContrast();
} }
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment