380 lines
16 KiB
JavaScript
380 lines
16 KiB
JavaScript
(function (vc) {
|
|
vc.extends({
|
|
propTypes: {
|
|
callBackListener: vc.propTypes.string, //父组件名称
|
|
callBackFunction: vc.propTypes.string //父组件监听方法
|
|
},
|
|
data: {
|
|
addMeterWaterInfo: {
|
|
waterId: '',
|
|
meterType: '',
|
|
preDegrees: '',
|
|
curDegrees: '',
|
|
preReadingTime: '',
|
|
curReadingTime: '',
|
|
remark: '',
|
|
roomId: '',
|
|
objId: '',
|
|
objName: '',
|
|
feeTypeCd: '',
|
|
feeConfigs: [],
|
|
configId: '',
|
|
objType: '3333',
|
|
hasRoom: false,
|
|
ownerName: '',
|
|
meterTypes: [],
|
|
computingFormula: '',
|
|
price: 0
|
|
}
|
|
},
|
|
_initMethod: function () {
|
|
$that._initAddMeterWaterDateInfo();
|
|
},
|
|
_initEvent: function () {
|
|
vc.on('addMeterWater', 'openAddMeterWaterModal', function (_param) {
|
|
$that.clearAddMeterWaterInfo();
|
|
if (_param.hasOwnProperty("objType")) {
|
|
$that.addMeterWaterInfo.objType = _param.objType;
|
|
}
|
|
if (_param.hasOwnProperty('roomId')) {
|
|
$that.addMeterWaterInfo.hasRoom = true;
|
|
$that.addMeterWaterInfo.roomId = _param.roomId;
|
|
$that.addMeterWaterInfo.objId = _param.roomId;
|
|
// $that.addMeterWaterInfo.objName = _param.roomName.replace('0单元', ''); //处理商铺
|
|
$that.addMeterWaterInfo.objName = $that.transRoomName(_param.roomName);
|
|
let _ownerName = _param.roomName;
|
|
if(_param.ownerName){
|
|
_ownerName += ('(' + _param.ownerName + ')') ;
|
|
}
|
|
$that.addMeterWaterInfo.ownerName = _ownerName;
|
|
$that._queryPreMeterWater(_param.roomId);
|
|
}
|
|
$that.addMeterWaterInfo.preReadingTime = vcFramework.dateTimeFormat(new Date().getTime());
|
|
$that.addMeterWaterInfo.preDegrees = 0;
|
|
$('#addMeterWaterModel').modal('show');
|
|
$that._listAddMeterTypes();
|
|
});
|
|
vc.on("addMeterWater", "notify", function (_param) {
|
|
if (_param.hasOwnProperty("roomId") && _param.roomId != "") {
|
|
$that.addMeterWaterInfo.roomId = _param.roomId;
|
|
$that.addMeterWaterInfo.objId = _param.roomId;
|
|
// $that.addMeterWaterInfo.objName = _param.name.replace('0单元', ''); //处理商铺;
|
|
$that.addMeterWaterInfo.objName = $that.transRoomName(_param.name);
|
|
$that._queryPreMeterWater(_param.roomId);
|
|
}
|
|
});
|
|
},
|
|
methods: {
|
|
// 将1-1-1 转化为 1栋1单元1室
|
|
transRoomName: function (roomName) {
|
|
// 没有-则返回
|
|
if (roomName.indexOf('-') < 0) {
|
|
return roomName;
|
|
}
|
|
roomName = roomName.split('-');
|
|
return roomName[0] + '栋' + roomName[1] + '单元' + roomName[2] + '室';
|
|
},
|
|
_initAddMeterWaterDateInfo: function () {
|
|
$('.addPreReadingTime').datetimepicker({
|
|
language: 'zh-CN',
|
|
fontAwesome: 'fa',
|
|
format: 'yyyy-mm-dd hh:ii:ss',
|
|
initTime: true,
|
|
initialDate: new Date(),
|
|
autoClose: 1,
|
|
todayBtn: true
|
|
});
|
|
$('.addPreReadingTime').datetimepicker()
|
|
.on('changeDate', function (ev) {
|
|
var value = $(".addPreReadingTime").val();
|
|
var start = Date.parse(new Date(value));
|
|
var end = Date.parse(new Date($that.addMeterWaterInfo.curReadingTime));
|
|
if (start - end >= 0) {
|
|
vc.toast("上期读表时间必须小于本期读表时间");
|
|
$(".addPreReadingTime").val('');
|
|
$that.addMeterWaterInfo.preReadingTime = "";
|
|
} else {
|
|
$that.addMeterWaterInfo.preReadingTime = value;
|
|
}
|
|
});
|
|
$('.addCurReadingTime').datetimepicker({
|
|
language: 'zh-CN',
|
|
fontAwesome: 'fa',
|
|
format: 'yyyy-mm-dd hh:ii:ss',
|
|
initTime: true,
|
|
initialDate: new Date(),
|
|
autoClose: 1,
|
|
todayBtn: true
|
|
});
|
|
$('.addCurReadingTime').datetimepicker()
|
|
.on('changeDate', function (ev) {
|
|
var value = $(".addCurReadingTime").val();
|
|
var start = Date.parse(new Date($that.addMeterWaterInfo.preReadingTime))
|
|
var end = Date.parse(new Date(value))
|
|
if (start - end >= 0) {
|
|
vc.toast("本期读表时间必须大于上期读表时间");
|
|
$(".addCurReadingTime").val('');
|
|
$that.addMeterWaterInfo.curReadingTime = "";
|
|
} else {
|
|
$that.addMeterWaterInfo.curReadingTime = value;
|
|
}
|
|
});
|
|
//防止多次点击时间插件失去焦点
|
|
document.getElementsByClassName('form-control addPreReadingTime')[0].addEventListener('click', myfunc)
|
|
|
|
function myfunc(e) {
|
|
e.currentTarget.blur();
|
|
}
|
|
|
|
document.getElementsByClassName("form-control addCurReadingTime")[0].addEventListener('click', myfunc)
|
|
|
|
function myfunc(e) {
|
|
e.currentTarget.blur();
|
|
}
|
|
},
|
|
addMeterWaterValidate() {
|
|
return vc.validate.validate({
|
|
addMeterWaterInfo: $that.addMeterWaterInfo
|
|
}, {
|
|
'addMeterWaterInfo.preDegrees': [
|
|
{
|
|
limit: "required",
|
|
param: "",
|
|
errInfo: "上期度数不能为空"
|
|
},
|
|
{
|
|
limit: "money",
|
|
param: "",
|
|
errInfo: "上期度数格式错误"
|
|
}
|
|
],
|
|
'addMeterWaterInfo.curDegrees': [
|
|
{
|
|
limit: "required",
|
|
param: "",
|
|
errInfo: "本期度数不能为空"
|
|
},
|
|
{
|
|
limit: "money",
|
|
param: "",
|
|
errInfo: "本期度数格式错误"
|
|
}
|
|
],
|
|
'addMeterWaterInfo.preReadingTime': [
|
|
{
|
|
limit: "required",
|
|
param: "",
|
|
errInfo: "上期读表时间不能为空"
|
|
},
|
|
{
|
|
limit: "dateTime",
|
|
param: "",
|
|
errInfo: "上期读表时间格式错误"
|
|
}
|
|
],
|
|
'addMeterWaterInfo.curReadingTime': [
|
|
{
|
|
limit: "required",
|
|
param: "",
|
|
errInfo: "本期读表时间不能为空"
|
|
},
|
|
{
|
|
limit: "dateTime",
|
|
param: "",
|
|
errInfo: "本期读表时间格式错误"
|
|
}
|
|
],
|
|
'addMeterWaterInfo.roomId': [
|
|
{
|
|
limit: "required",
|
|
param: "",
|
|
errInfo: "房屋必填"
|
|
}
|
|
],
|
|
'addMeterWaterInfo.meterType': [
|
|
{
|
|
limit: "required",
|
|
param: "",
|
|
errInfo: "抄表类型必填"
|
|
}
|
|
],
|
|
'addMeterWaterInfo.configId': [
|
|
{
|
|
limit: "required",
|
|
param: "",
|
|
errInfo: "费用必填"
|
|
}
|
|
],
|
|
'addMeterWaterInfo.remark': [
|
|
{
|
|
limit: "maxLength",
|
|
param: "500",
|
|
errInfo: "备注格式错误"
|
|
}
|
|
]
|
|
});
|
|
},
|
|
saveMeterWaterInfo: function () {
|
|
if (!$that.addMeterWaterValidate()) {
|
|
vc.toast(vc.validate.errInfo);
|
|
return;
|
|
}
|
|
if ($that.addMeterWaterInfo.computingFormula != '9009') {
|
|
$that.addMeterWaterInfo.price = 0;
|
|
}
|
|
$that.addMeterWaterInfo.communityId = vc.getCurrentCommunity().communityId;
|
|
//不提交数据将数据 回调给侦听处理
|
|
if (vc.notNull($props.callBackListener)) {
|
|
vc.emit($props.callBackListener, $props.callBackFunction, $that.addMeterWaterInfo);
|
|
$('#addMeterWaterModel').modal('hide');
|
|
return;
|
|
}
|
|
vc.http.apiPost(
|
|
'/meterWater.saveMeterWater',
|
|
JSON.stringify($that.addMeterWaterInfo), {
|
|
emulateJSON: true
|
|
},
|
|
function (json, res) {
|
|
//vm.menus = vm.refreshMenuActive(JSON.parse(json),0);
|
|
var _json = JSON.parse(json);
|
|
if (_json.code == 0) {
|
|
//关闭model
|
|
$('#addMeterWaterModel').modal('hide');
|
|
$that.clearAddMeterWaterInfo();
|
|
vc.emit('meterWaterManage', 'listMeterWater', {});
|
|
vc.emit('roomCreateFee', 'notify', {});
|
|
vc.emit('listParkingSpaceFee', 'notify', {});
|
|
vc.emit('simplifyRoomFee', 'notify', {});
|
|
vc.emit('simplifyCarFee', 'notify', {});
|
|
vc.emit('addMeterWater', 'floorSelect2', 'clearFloor', {});
|
|
vc.toast("添加成功");
|
|
return;
|
|
} else {
|
|
vc.toast(_json.msg);
|
|
}
|
|
},
|
|
function (errInfo, error) {
|
|
console.log('请求失败处理');
|
|
vc.message(errInfo);
|
|
});
|
|
},
|
|
_changeAddMeterWaterFeeTypeCd: function (_feeTypeCd) {
|
|
var param = {
|
|
params: {
|
|
page: 1,
|
|
row: 20,
|
|
communityId: vc.getCurrentCommunity().communityId,
|
|
feeTypeCd: _feeTypeCd,
|
|
isDefault: 'F',
|
|
valid: '1'
|
|
}
|
|
};
|
|
//发送get请求
|
|
vc.http.apiGet('/feeConfig.listFeeConfigs', param,
|
|
function (json, res) {
|
|
var _feeConfigManageInfo = JSON.parse(json);
|
|
$that.addMeterWaterInfo.feeConfigs = _feeConfigManageInfo.feeConfigs;
|
|
},
|
|
function (errInfo, error) {
|
|
console.log('请求失败处理');
|
|
});
|
|
},
|
|
_changeAddMeterType: function () {
|
|
$that._queryPreMeterWater($that.addMeterWaterInfo.roomId);
|
|
},
|
|
_queryPreMeterWater: function (_roomId) {
|
|
if (!_roomId) {
|
|
return;
|
|
}
|
|
let param = {
|
|
params: {
|
|
communityId: vc.getCurrentCommunity().communityId,
|
|
objId: _roomId,
|
|
objType: $that.addMeterWaterInfo.objType,
|
|
meterType: $that.addMeterWaterInfo.meterType
|
|
}
|
|
};
|
|
//发送get请求
|
|
vc.http.apiGet('/meterWater/queryPreMeterWater', param,
|
|
function (json, res) {
|
|
let _meterWaterInfo = JSON.parse(json);
|
|
let _total = _meterWaterInfo.total;
|
|
if (_total < 1) {
|
|
$that.addMeterWaterInfo.preDegrees = '0';
|
|
$that.addMeterWaterInfo.preReadingTime = vcFramework.dateTimeFormat(new Date().getTime());
|
|
return;
|
|
}
|
|
$that.addMeterWaterInfo.preDegrees = _meterWaterInfo.data[0].curDegrees;
|
|
$that.addMeterWaterInfo.preReadingTime = _meterWaterInfo.data[0].curReadingTime;
|
|
if ($that.addMeterWaterInfo.computingFormula == '9009') {
|
|
$that.addMeterWaterInfo.price = _meterWaterInfo.data[0].price;
|
|
}
|
|
},
|
|
function (errInfo, error) {
|
|
console.log('请求失败处理');
|
|
});
|
|
},
|
|
_getChange: function () {
|
|
//上期度数
|
|
var preDegrees = parseFloat($that.addMeterWaterInfo.preDegrees);
|
|
//本期度数
|
|
var curDegrees = parseFloat($that.addMeterWaterInfo.curDegrees);
|
|
if (preDegrees > curDegrees) {
|
|
vc.toast("本期度数不能小于上期度数!");
|
|
$that.addMeterWaterInfo.curDegrees = "";
|
|
}
|
|
},
|
|
_listAddMeterTypes: function (_page, _rows) {
|
|
var param = {
|
|
params: {
|
|
page: 1,
|
|
row: 50,
|
|
communityId: vc.getCurrentCommunity().communityId
|
|
}
|
|
};
|
|
//发送get请求
|
|
vc.http.apiGet('meterType.listMeterType',
|
|
param,
|
|
function (json, res) {
|
|
var _meterTypeManageInfo = JSON.parse(json);
|
|
$that.addMeterWaterInfo.meterTypes = _meterTypeManageInfo.data;
|
|
},
|
|
function (errInfo, error) {
|
|
console.log('请求失败处理');
|
|
}
|
|
);
|
|
},
|
|
clearAddMeterWaterInfo: function () {
|
|
$that.addMeterWaterInfo = {
|
|
waterId: '',
|
|
meterType: '',
|
|
preDegrees: '',
|
|
curDegrees: '',
|
|
preReadingTime: '',
|
|
curReadingTime: '',
|
|
remark: '',
|
|
roomId: '',
|
|
objId: '',
|
|
objName: '',
|
|
feeTypeCd: '',
|
|
feeConfigs: [],
|
|
configId: '',
|
|
objType: '3333',
|
|
hasRoom: false,
|
|
ownerName: '',
|
|
meterTypes: [],
|
|
computingFormula: '',
|
|
price: 0
|
|
};
|
|
},
|
|
changeFeeConfig: function () {
|
|
let _configId = $that.addMeterWaterInfo.configId;
|
|
$that.addMeterWaterInfo.feeConfigs.forEach(item => {
|
|
if (_configId == item.configId) {
|
|
$that.addMeterWaterInfo.computingFormula = item.computingFormula;
|
|
}
|
|
});
|
|
}
|
|
}
|
|
});
|
|
})(window.vc); |