优化道闸页面

This commit is contained in:
wuxw 2022-09-23 02:14:17 +08:00
parent 23b4ce1175
commit c6bc9fc2f2
6 changed files with 141 additions and 74 deletions

View File

@ -3,61 +3,73 @@
<div class="vc-line-y"></div>
</div>
<div class="col-md-11">
<div>
<div >
<div>
<h3><span><vc:i18n name="开门信息" namespace="parkingAreaControlFee"></vc:i18n></span></h3>
</div>
<div class="form-group margin-top margin-bottom-xs">
<label class="col-form-label"><span><vc:i18n name="车辆" namespace="parkingAreaControlFee"></vc:i18n></span></label>
<div class="">
<input v-model="parkingAreaControlFeeInfo.carNum" disabled="disabled" type="text" :placeholder="vc.i18n('车牌号','parkingAreaControlFee')" class="form-control">
</div>
</div>
<div class="form-group margin-bottom-xs">
<label class=" col-form-label"><span><vc:i18n name="开门时间" namespace="parkingAreaControlFee"></vc:i18n></span></label>
<div class="">
<input v-model="parkingAreaControlFeeInfo.inOutTime" disabled="disabled" type="text" :placeholder="vc.i18n('开门时间','parkingAreaControlFee')" class="form-control">
</div>
</div>
<div class="form-group margin-bottom-xs">
<label class=" col-form-label"><span><vc:i18n name="开门" namespace="parkingAreaControlFee"></vc:i18n></span></label>
<div class="">
<input v-model="parkingAreaControlFeeInfo.open" disabled="disabled" type="text" :placeholder="vc.i18n('开门状态','parkingAreaControlFee')" class="form-control">
</div>
</div>
<div class="form-group margin-bottom-xs">
<label class="col-form-label"><span><vc:i18n name="开门说明" namespace="parkingAreaControlFee"></vc:i18n></span></label>
<div class="">
<textarea v-model="parkingAreaControlFeeInfo.openMsg" disabled="disabled" :placeholder="vc.i18n('开门说明','parkingAreaControlFee')" class="form-control"></textarea>
</div>
</div>
</div>
<div style="margin-top: 30px;">
<div>
<h3><span><vc:i18n name="收费信息" namespace="parkingAreaControlFee"></vc:i18n></span></h3>
<h3><span>
<vc:i18n name="收费信息" namespace="parkingAreaControlFee"></vc:i18n>
</span></h3>
</div>
<div class="form-group margin-top-xs margin-bottom-xs">
<label class="col-form-label"><span><vc:i18n name="收费车辆" namespace="parkingAreaControlFee"></vc:i18n></span></label>
<label class="col-form-label"><span>
<vc:i18n name="收费车辆" namespace="parkingAreaControlFee"></vc:i18n>
</span></label>
<div class="">
<input v-model="parkingAreaControlFeeInfo.feeCarNum" disabled="disabled" type="text" :placeholder="vc.i18n('车牌号','parkingAreaControlFee')" class="form-control">
<input v-model="parkingAreaControlFeeInfo.feeCarNum" disabled="disabled" type="text"
:placeholder="vc.i18n('车牌号','parkingAreaControlFee')" class="form-control">
</div>
</div>
<div class="form-group margin-bottom-xs">
<label class=" col-form-label"><span><vc:i18n name="停车时间" namespace="parkingAreaControlFee"></vc:i18n></span></label>
<label class=" col-form-label"><span>
<vc:i18n name="停车时间" namespace="parkingAreaControlFee"></vc:i18n>
</span></label>
<div class="">
<input v-model="parkingAreaControlFeeInfo.costMin" disabled="disabled" type="text" :placeholder="vc.i18n('停车时间','parkingAreaControlFee')" class="form-control">
<input v-model="parkingAreaControlFeeInfo.costMin" disabled="disabled" type="text"
:placeholder="vc.i18n('停车时间','parkingAreaControlFee')" class="form-control">
</div>
</div>
<div class="form-group margin-bottom-xs">
<label class=" col-form-label"><span><vc:i18n name="应收" namespace="parkingAreaControlFee"></vc:i18n></span></label>
<label class=" col-form-label"><span>
<vc:i18n name="应收" namespace="parkingAreaControlFee"></vc:i18n>
</span></label>
<div class="">
<input v-model="parkingAreaControlFeeInfo.payCharge" type="text" disabled="disabled" :placeholder="vc.i18n('应收','parkingAreaControlFee')" class="form-control">
<input v-model="parkingAreaControlFeeInfo.payCharge" type="text" disabled="disabled"
:placeholder="vc.i18n('应收','parkingAreaControlFee')" class="form-control">
</div>
</div>
</div>
<div class="form-group text-center margin-top">
<button class="btn btn-white" type="button" v-on:click="_showInParkingAreaQrCode()"><span><vc:i18n name="场内二维码" namespace="parkingAreaControlFee"></vc:i18n></span></button>
<button class="btn btn-primary" type="button" :disabled="parkingAreaControlFeeInfo.pay==0" v-on:click="saveTempFeeInfo()"><span><vc:i18n name="临时车收费" namespace="parkingAreaControlFee"></vc:i18n></span></button>
<button class="btn btn-white" type="button" v-on:click="_showInParkingAreaQrCode()"><span>
<vc:i18n name="场内二维码" namespace="parkingAreaControlFee"></vc:i18n>
</span></button>
<button class="btn btn-primary" type="button" :disabled="parkingAreaControlFeeInfo.pay==0"
v-on:click="saveTempFeeInfo()"><span>
<vc:i18n name="临时车收费" namespace="parkingAreaControlFee"></vc:i18n>
</span></button>
</div>
<div style="margin-top: 30px;">
<div>
<h3><span>
<vc:i18n name="开门信息" namespace="parkingAreaControlFee"></vc:i18n>
</span></h3>
</div>
<div class="form-group margin-top " style="font-size: 14px;" v-if="parkingAreaControlFeeInfo.carInoutInfos.length>0">
<div v-for="(item,index) in parkingAreaControlFeeInfo.carInoutInfos" class="margin-bottom-xs">
<span>{{item.inOutTime}}</span>
<span>{{item.carNum}}</span>
<span v-if="item.inoutType == '1001'">进场</span>
<span v-else>出场</span>
<span>{{item.open}};</span>
<span>{{item.openMsg}}</span>
</div>
</div>
<div class="form-group margin-top margin-bottom-xs" style="font-size: 14px;" v-else>
<div>
<span>没有进出场车辆</span>
</div>
</div>
</div>
</div>
<vc:create path="property/barrierGateQrCode"></vc:create>

View File

@ -16,7 +16,8 @@
showRefresh: '',
boxId: '',
feeCarNum: '',
costMin: ''
costMin: '',
carInoutInfos:[]
}
},
_initMethod: function() {
@ -35,16 +36,33 @@
$that.parkingAreaControlFeeInfo.openMsg = _data.remark;
//出场摄像头
let _inoutType = "2002";
if (_machineId == _data.extMachineId) {
vc.emit('parkingAreaControlVideo', 'carOut',$that.parkingAreaControlFeeInfo);
$that.parkingAreaControlFeeInfo.feeCarNum = _data.carNum;
$that.parkingAreaControlFeeInfo.costMin = _data.hours + "小时" + _data.min + "分钟"
$that.parkingAreaControlFeeInfo.pay = _data.payCharge;
$that.parkingAreaControlFeeInfo.payCharge = _data.payCharge;
$that.parkingAreaControlFeeInfo.remark = '';
} else {
vc.emit('parkingAreaControlVideo', 'carIn',$that.parkingAreaControlFeeInfo);
$that.parkingAreaControlFeeInfo.payCharge = _oldPayCharge;
_inoutType = "1001";
}
$that.parkingAreaControlFeeInfo.carInoutInfos.unshift({
carNum:_data.carNum,
inOutTime:_data.inOutTime,
open:_data.open,
openMsg:_data.remark,
inoutType:_inoutType
});
if($that.parkingAreaControlFeeInfo.carInoutInfos.length > 10){
$that.parkingAreaControlFeeInfo.carInoutInfos.pop();
}
});
vc.on('parkingAreaControlFee', 'changeMachine', function(_data) {

View File

@ -2,21 +2,15 @@
<div class="row">
<div class="col-md-6">
<div class="row">
<div class="col-md-6">
<div class="form-group row">
<label class="col-sm-4 col-form-label text-right"><span><vc:i18n name="入场" namespace="parkingAreaControlVideo"></vc:i18n></span></label>
<div class="col-sm-8 padding-0">
<select class="custom-select" v-model="parkingAreaControlVideoInfo.inMachineId" @change="_swatchVedio()">
<option selected value="">{{vc.i18n('请选择入场摄像头','parkingAreaControlVideo')}}</option>
<option :value="item.machineId"
v-for="(item,index) in parkingAreaControlVideoInfo.inMachines">{{item.machineName}}
</option>
</select>
</div>
</div>
<div class="col-md-4">
<select class="custom-select custom-select-sm" v-model="parkingAreaControlVideoInfo.inMachineId" @change="_swatchVedio()">
<option selected value="">{{vc.i18n('选择入场摄像头','parkingAreaControlVideo')}}</option>
<option :value="item.machineId"
v-for="(item,index) in parkingAreaControlVideoInfo.inMachines">{{item.machineName}}
</option>
</select>
</div>
<div class="col-md-6">
<div class="col-md-8">
<div class="form-group row">
<div class="col-sm-12 text-right">
<button type="button" class="btn btn-white btn-sm" v-on:click="unlicensedCarIn()">
@ -38,20 +32,15 @@
</div>
<div class="col-md-6">
<div class="row">
<div class="col-md-6">
<div class="form-group row">
<label class="col-sm-4 col-form-label text-right"><span><vc:i18n name="出场" namespace="parkingAreaControlVideo"></vc:i18n></span></label>
<div class="col-sm-8 padding-0">
<select class="custom-select" v-model="parkingAreaControlVideoInfo.outMachineId" @change="_swatchOutVedio()">
<option selected value="">{{vc.i18n('请选择出场摄像头','parkingAreaControlVideo')}}</option>
<option :value="item.machineId"
v-for="(item,index) in parkingAreaControlVideoInfo.outMachines">{{item.machineName}}
</option>
</select>
</div>
</div>
<div class="col-md-4">
<select class="custom-select custom-select-sm" v-model="parkingAreaControlVideoInfo.outMachineId" @change="_swatchOutVedio()">
<option selected value="">{{vc.i18n('选择出场摄像头','parkingAreaControlVideo')}}</option>
<option :value="item.machineId"
v-for="(item,index) in parkingAreaControlVideoInfo.outMachines">{{item.machineName}}
</option>
</select>
</div>
<div class="col-md-6">
<div class="col-md-8">
<div class="form-group row">
<div class="col-sm-12 text-right">
<button type="button" class="btn btn-white btn-sm" v-on:click="_outPayFeeQrCode()">
@ -75,12 +64,34 @@
<div class="row">
<div class="col-md-6">
<div id="receiver1Div" style="border: 1px solid #dee2e6;">
<img width="100%" src="../../../img/init.jpg" height="350px" id="receiver1" style="border: 1;" />
<img width="100%" src="../../../img/init.jpg" height="300px" id="receiver1" style="border: 1;" />
</div>
<div class="margin-top-sm margin-left-sm" style="font-size: 14px;" v-if="parkingAreaControlVideoInfo.inMachineInfo.carNum">
<span class="fa fa-bell" style="color: #007bff;"></span>
<span>{{parkingAreaControlVideoInfo.inMachineInfo.inOutTime}}</span>
<span>{{parkingAreaControlVideoInfo.inMachineInfo.carNum}}</span>
<span>{{parkingAreaControlVideoInfo.inMachineInfo.open}};</span>
<span>{{parkingAreaControlVideoInfo.inMachineInfo.openMsg}}</span>
</div>
<div class="margin-top-sm margin-left-sm" style="font-size: 14px;" v-else>
<span class="fa fa-bell" style="color: #007bff;"></span>
<span>没有进场车辆</span>
</div>
</div>
<div class="col-md-6">
<div id="receiver2Div" style="border: 1px solid #dee2e6;">
<img width="100%" src="../../../img/init.jpg" height="350px" id="receiver2" />
<img width="100%" src="../../../img/init.jpg" height="300px" id="receiver2" />
</div>
<div class="margin-top-sm margin-left-sm" style="font-size: 14px;" v-if="parkingAreaControlVideoInfo.outMachineInfo.carNum">
<span class="fa fa-bell" style="color: #007bff;"></span>
<span>{{parkingAreaControlVideoInfo.outMachineInfo.inOutTime}}</span>
<span>{{parkingAreaControlVideoInfo.outMachineInfo.carNum}}</span>
<span>{{parkingAreaControlVideoInfo.outMachineInfo.open}};</span>
<span>{{parkingAreaControlVideoInfo.outMachineInfo.openMsg}}</span>
</div>
<div class="margin-top-sm margin-left-sm" style="font-size: 14px;" v-else>
<span class="fa fa-bell" style="color: #007bff;"></span>
<span>没有出场车辆</span>
</div>
</div>
</div>

View File

@ -9,8 +9,19 @@
inMachineId: '',
outMachineId: '',
inMachines: [],
outMachines: []
outMachines: [],
inMachineInfo:{
carNum:'',
inOutTime:'',
open:'',
openMsg:''
},
outMachineInfo:{
carNum:'',
inOutTime:'',
open:'',
openMsg:''
}
}
},
_initMethod: function() {
@ -22,7 +33,15 @@
$that.parkingAreaControlVideoInfo.boxId = param.boxId;
$that._listMachines();
}
})
});
vc.on('parkingAreaControlVideo', 'carIn', function(param) {
vc.copyObject(param,$that.parkingAreaControlVideoInfo.inMachineInfo);
});
vc.on('parkingAreaControlVideo', 'carOut', function(param) {
vc.copyObject(param,$that.parkingAreaControlVideoInfo.outMachineInfo);
});
},
methods: {
_listMachines: function() {

View File

@ -2161,6 +2161,12 @@ table.table-mail tr td {
background: -webkit-linear-gradient(top, #fff -4%, #1ab394 50%, #fff 100%);
}
.vc-line-primary {
width: 100%;
height: 2px;
background: -webkit-linear-gradient(left, #fff -4%, #007bff 50%, #fff 100%);
}
.vc-table-border {
border: 1px solid #000000;
}

View File

@ -2,11 +2,12 @@
<div class="row">
<div class="col-md-9">
<vc:create path="property/parkingAreaControlVideo"></vc:create>
<div class="margin-top">
<div class="vc-line-primary margin-top"></div>
<div class="margin-top-sm">
<ul class="nav nav-tabs">
<li class="nav-item">
<a class="nav-link" v-bind:class="{active:parkingAreaControlInfo._currentTab == 'parkingAreaControlCarInout'}" v-on:click="changeTab('parkingAreaControlCarInout')">
<span><vc:i18n name="出入场信息" namespace="parkingAreaControl"></vc:i18n></span>
<span><vc:i18n name="出入场" namespace="parkingAreaControl"></vc:i18n></span>
</a>
</li>
<li class="nav-item">