140 lines
5.4 KiB
JavaScript
140 lines
5.4 KiB
JavaScript
/**
|
||
出租车辆费用
|
||
**/
|
||
(function (vc) {
|
||
|
||
vc.extends({
|
||
propTypes: {
|
||
callBackComponent: vc.propTypes.string,
|
||
callBackFunction: vc.propTypes.string
|
||
},
|
||
data: {
|
||
sellParkingSpaceFeeInfo: {
|
||
configId: "",
|
||
cycles: "",
|
||
flowComponent: 'sellParkingSpaceFee',
|
||
receivableAmount: "0.00",
|
||
receivedAmount: "0.00",
|
||
additionalAmount: '0.00',
|
||
sellOrHire: "S",
|
||
typeCd: '',
|
||
feeConfigs: [],
|
||
flowComponentShow: false
|
||
}
|
||
},
|
||
watch: {
|
||
sellParkingSpaceFeeInfo: {
|
||
deep: true,
|
||
handler: function () {
|
||
//console.log("hireParkingSpaceFeeInfo 被调用")
|
||
vc.component.saveSellParkingSpaceFee();
|
||
|
||
}
|
||
},
|
||
"sellParkingSpaceFeeInfo.cycles": {//深度监听,可监听到对象、数组的变化
|
||
handler(val, oldVal) {
|
||
vc.component.computeReceivableAmount(val);
|
||
},
|
||
deep: true
|
||
}
|
||
},
|
||
_initMethod: function () {
|
||
|
||
},
|
||
_initEvent: function () {
|
||
vc.on('sellParkingSpaceFee', 'onIndex', function (_index) {
|
||
vc.component.sellParkingSpaceFeeInfo.index = _index;
|
||
});
|
||
|
||
vc.on('sellParkingSpaceFee', 'flowComponentShow', function (_flowComponentShow) {
|
||
vc.component.sellParkingSpaceFeeInfo.flowComponentShow = _flowComponentShow;
|
||
});
|
||
|
||
vc.on('sellParkingSpaceFee', 'callBackParkingSpaceInfo', function (_info) {
|
||
vc.component.saveSellParkingSpaceFee();
|
||
});
|
||
|
||
vc.on('sellParkingSpaceFee', 'parkingSpaceInfo', function (_parkingSpaceInfo) {
|
||
vc.component.sellParkingSpaceFeeInfo.typeCd = _parkingSpaceInfo.typeCd;
|
||
vc.component._loadFireParkingSpaceFee();
|
||
});
|
||
|
||
},
|
||
methods: {
|
||
sellParkingSpaceFeeValidate: function () {
|
||
return vc.validate.validate({
|
||
sellParkingSpaceFeeInfo: vc.component.sellParkingSpaceFeeInfo
|
||
}, {
|
||
'sellParkingSpaceFeeInfo.receivedAmount': [
|
||
{
|
||
limit: "required",
|
||
param: "",
|
||
errInfo: "实收金额不能为空"
|
||
},
|
||
{
|
||
limit: "money",
|
||
param: "",
|
||
errInfo: "实收金额格式错误,如3.00"
|
||
}
|
||
]
|
||
});
|
||
},
|
||
saveSellParkingSpaceFee: function () {
|
||
if (vc.component.sellParkingSpaceFeeValidate() && vc.component.sellParkingSpaceFeeInfo.flowComponentShow) {
|
||
//侦听回传
|
||
vc.emit($props.callBackComponent, $props.callBackFunction, vc.component.sellParkingSpaceFeeInfo);
|
||
return;
|
||
}
|
||
},
|
||
_loadFireParkingSpaceFee: function () {
|
||
//
|
||
var param = {
|
||
params: {
|
||
communityId: vc.getCurrentCommunity().communityId,
|
||
typeCd: vc.component.sellParkingSpaceFeeInfo.typeCd,
|
||
page: 1,
|
||
row: 50
|
||
}
|
||
};
|
||
vc.http.get(
|
||
'hireParkingSpaceFee',
|
||
'loadSellParkingSpaceConfigData',
|
||
param,
|
||
function (json, res) {
|
||
//vm.menus = vm.refreshMenuActive(JSON.parse(json),0);
|
||
if (res.status == 200) {
|
||
//关闭model
|
||
var configFee = JSON.parse(json);
|
||
$that.sellParkingSpaceFeeInfo.feeConfigs = configFee;
|
||
|
||
return;
|
||
}
|
||
vc.toast(json);
|
||
},
|
||
function (errInfo, error) {
|
||
console.log('请求失败处理');
|
||
|
||
vc.toast(errInfo);
|
||
});
|
||
|
||
},
|
||
computeReceivableAmount: function (_cycles) {
|
||
if (_cycles == null || _cycles == "" || _cycles == undefined) {
|
||
_cycles = "0.00";
|
||
}
|
||
vc.component.sellParkingSpaceFeeInfo.receivableAmount = (parseFloat(vc.component.sellParkingSpaceFeeInfo.additionalAmount) * parseFloat(_cycles)).toFixed(2);
|
||
vc.component.sellParkingSpaceFeeInfo.receivedAmount = vc.component.sellParkingSpaceFeeInfo.receivableAmount;
|
||
},
|
||
_changeFeeConfig: function () {
|
||
$that.sellParkingSpaceFeeInfo.feeConfigs.forEach(function (_item) {
|
||
if (_item.configId == $that.sellParkingSpaceFeeInfo.configId) {
|
||
vc.component.sellParkingSpaceFeeInfo.additionalAmount = _item.additionalAmount;
|
||
}
|
||
})
|
||
//重新算费
|
||
vc.component.computeReceivableAmount(vc.component.sellParkingSpaceFeeInfo.cycles);
|
||
}
|
||
}
|
||
});
|
||
|
||
})(window.vc); |