Files
PropertyDeployment/resources/Web/MicroCommunityIotWeb/html/components/car/parkingAreaControlInCar/parkingAreaControlInCar.js
2025-12-09 20:22:03 +08:00

264 lines
12 KiB
JavaScript

/**
入驻小区
**/
(function(vc) {
var DEFAULT_PAGE = 1;
var DEFAULT_ROWS = 10;
vc.extends({
data: {
parkingAreaControlInCarInfo: {
carIns: [],
boxId: '',
paId: '',
state: '',
carNum: '',
startTime: '',
endTime: '',
updateCarNum: '',
ciId: '',
carType: '',
machineId: '',
curCarIn:{},
}
},
_initMethod: function() {
$that._initParkingAreaControlInCarDateInfo();
},
_initEvent: function() {
vc.on('parkingAreaControlInCar', 'switch', function(_data) {
$that.parkingAreaControlInCarInfo.boxId = _data.boxId;
$that.parkingAreaControlInCarInfo.paId = _data.paId;
$that._loadParkingAreaControlInCarData(DEFAULT_PAGE, DEFAULT_ROWS);
});
vc.on('parkingAreaControlInCar', 'paginationPlus', 'page_event',
function(_currentPage) {
$that._loadParkingAreaControlInCarData(_currentPage, DEFAULT_ROWS);
});
vc.on('parkingAreaControlInCar', 'changeMachine', function(_data) {
$that.parkingAreaControlInCarInfo.machineId = _data.machineId;
})
},
methods: {
_initParkingAreaControlInCarDateInfo: function() {
$('.inCarStartTime').datetimepicker({
language: 'zh-CN',
fontAwesome: 'fa',
format: 'yyyy-mm-dd',
minView: "month",
initialDate: new Date(),
autoClose: 1,
todayBtn: true
});
$('.inCarStartTime').datetimepicker()
.on('changeDate', function(ev) {
var value = $(".inCarStartTime").val();
var start = Date.parse(new Date(value));
var end = Date.parse(new Date($that.parkingAreaControlInCarInfo.endTime));
if (start - end >= 0) {
vc.toast("开始时间必须小于结束时间");
$(".inCarStartTime").val('');
$that.parkingAreaControlInCarInfo.startTime = "";
} else {
$that.parkingAreaControlInCarInfo.startTime = value;
}
});
$('.inCarEndTime').datetimepicker({
language: 'zh-CN',
fontAwesome: 'fa',
format: 'yyyy-mm-dd',
minView: "month",
initialDate: new Date(),
autoClose: 1,
todayBtn: true
});
$('.inCarEndTime').datetimepicker()
.on('changeDate', function(ev) {
var value = $(".inCarEndTime").val();
var start = Date.parse(new Date($that.parkingAreaControlInCarInfo.startTime));
var end = Date.parse(new Date(value));
if (start - end >= 0) {
vc.toast("计费终止时间必须大于计费起始时间");
$(".inCarEndTime").val('');
$that.parkingAreaControlInCarInfo.endTime = "";
} else {
$that.parkingAreaControlInCarInfo.endTime = value;
}
});
//防止多次点击时间插件失去焦点
document.getElementsByClassName('form-control inCarStartTime')[0].addEventListener('click', myfunc)
function myfunc(e) {
e.currentTarget.blur();
}
document.getElementsByClassName("form-control inCarEndTime")[0].addEventListener('click', myfunc)
function myfunc(e) {
e.currentTarget.blur();
}
},
_loadParkingAreaControlInCarData: function(_page, _row) {
let param = {
params: {
page: _page,
row: _row,
communityId: vc.getCurrentCommunity().communityId,
boxId: $that.parkingAreaControlInCarInfo.boxId,
carNum: $that.parkingAreaControlInCarInfo.carNum,
state: $that.parkingAreaControlInCarInfo.state,
startTime: $that.parkingAreaControlInCarInfo.startTime,
endTime: $that.parkingAreaControlInCarInfo.endTime,
carType: $that.parkingAreaControlInCarInfo.carType,
paId: $that.parkingAreaControlInCarInfo.paId,
}
};
param.params.carNum = param.params.carNum.trim();
//发送get请求
vc.http.apiGet('/carInout.listCarInParkingArea',
param,
function(json) {
let _feeConfigInfo = JSON.parse(json);
$that.parkingAreaControlInCarInfo.total = _feeConfigInfo.total;
$that.parkingAreaControlInCarInfo.records = _feeConfigInfo.records;
$that.parkingAreaControlInCarInfo.carIns = _feeConfigInfo.data;
vc.emit('parkingAreaControlInCar', 'paginationPlus', 'init', {
total: _feeConfigInfo.records,
currentPage: _page
});
},
function() {
console.log('请求失败处理');
}
);
},
//查询
_qureyParkingAreaControlInCar: function() {
$that._loadParkingAreaControlInCarData(DEFAULT_PAGE, DEFAULT_ROWS);
},
//重置
_resetParkingAreaControlInCar: function() {
$that.parkingAreaControlInCarInfo.carNum = "";
$that.parkingAreaControlInCarInfo.state = "";
$that.parkingAreaControlInCarInfo.carType = "";
$that.parkingAreaControlInCarInfo.startTime = "";
$that.parkingAreaControlInCarInfo.endTime = "";
$that._loadParkingAreaControlInCarData(DEFAULT_PAGE, DEFAULT_ROWS);
},
_viewTempFeeConfigInCar: function(_feeConfigId) {
let param = {
params: {
page: 1,
row: 1,
communityId: vc.getCurrentCommunity().communityId,
configId: _feeConfigId
}
};
//发送get请求
vc.http.apiGet('/fee.listTempCarFeeConfigs', param,
function(json, res) {
let _feeConfigManageInfo = JSON.parse(json);
let _feeConfig = _feeConfigManageInfo.data[0];
let _data = {
"收费规则": _feeConfig.ruleName,
"车辆类型": _feeConfig.carTypeName,
"开始时间": _feeConfig.startTime,
"结束时间": _feeConfig.endTime,
};
_feeConfig.tempCarFeeConfigAttrs.forEach(_item => {
_data[_item.specName] = _item.value
})
vc.emit('viewData', 'openViewDataModal', {
title: _feeConfig.feeName + " 费用项",
data: _data
})
},
function(errInfo, error) {
console.log('请求失败处理');
}
);
},
editCarInfoCarNum: function(_inout) {
$that.parkingAreaControlInCarInfo.updateCarNum = _inout.carNum;
$that.parkingAreaControlInCarInfo.ciId = _inout.ciId;
$('#editCarInfoCarNumModel').modal('show');
},
_doUpdateCarInfoCarNum: function() {
if (!$that.parkingAreaControlInCarInfo.updateCarNum) {
vc.toast('未包含车牌号');
return;
}
let _data = {
carNum: $that.parkingAreaControlInCarInfo.updateCarNum,
ciId: $that.parkingAreaControlInCarInfo.ciId,
communityId: vc.getCurrentCommunity().communityId
}
vc.http.apiPost(
'/carInout.updateCarInoutNum',
JSON.stringify(_data), {
emulateJSON: true
},
function(json, res) {
//vm.menus = vm.refreshMenuActive(JSON.parse(json),0);
let _data = JSON.parse(json);
if (_data.code != 0) {
vc.toast(_data.msg);
} else {
$('#editCarInfoCarNumModel').modal('hide');
vc.toast(_data.msg);
$that._loadParkingAreaControlInCarData(DEFAULT_PAGE, DEFAULT_ROWS);
}
},
function(errInfo, error) {
console.log('请求失败处理');
vc.toast(errInfo);
});
},
_carInTempCarPayFee: function(carIn) {
vc.emit('parkingAreaControlCustomCarInout', 'open', {
type: "1102", //1101 手动入场 1102 手动出场
carNum: carIn.carNum,
amount: carIn.payCharge,
payCharge: carIn.payCharge,
machineId: $that.parkingAreaControlInCarInfo.machineId,
boxId: $that.parkingAreaControlInCarInfo.boxId,
paId: $that.parkingAreaControlInCarInfo.paId,
})
},
_exceptionCarOut:function(_carIn){
$that.parkingAreaControlInCarInfo.curCarIn = _carIn;
$('#exceptionModel').modal('show');
},
_doExceptionCarOut:function(){
if (!$that.parkingAreaControlInCarInfo.curCarIn) {
vc.toast('未包含车牌号');
return;
}
let _data = {
ciId: $that.parkingAreaControlInCarInfo.curCarIn.ciId,
communityId: vc.getCurrentCommunity().communityId
}
vc.http.apiPost(
'/carInout.exceptionCarOut',
JSON.stringify(_data), {
emulateJSON: true
},
function(json, res) {
//vm.menus = vm.refreshMenuActive(JSON.parse(json),0);
let _data = JSON.parse(json);
if (_data.code != 0) {
vc.toast(_data.msg);
} else {
$('#exceptionModel').modal('hide');
vc.toast(_data.msg);
$that._loadParkingAreaControlInCarData(DEFAULT_PAGE, DEFAULT_ROWS);
}
},
function(errInfo, error) {
console.log('请求失败处理');
vc.toast(errInfo);
});
}
}
});
})(window.vc);