345 lines
15 KiB
JavaScript
345 lines
15 KiB
JavaScript
(function (vc) {
|
|
vc.extends({
|
|
propTypes: {
|
|
callBackListener: vc.propTypes.string, //父组件名称
|
|
callBackFunction: vc.propTypes.string //父组件监听方法
|
|
},
|
|
data: {
|
|
addRoomRenovationInfo: {
|
|
rId: '',
|
|
roomId: '',
|
|
roomName: '',
|
|
personName: '',
|
|
personTel: '',
|
|
startTime: '',
|
|
endTime: '',
|
|
remark: '',
|
|
userId: '',
|
|
isPostpone: 'N',
|
|
// postponeTime: '',
|
|
renovationCompany: '',
|
|
personMain: '',
|
|
personMainTel: ''
|
|
}
|
|
},
|
|
_initMethod: function () {
|
|
vc.component._initAddRoomRenovationInfo();
|
|
},
|
|
_initEvent: function () {
|
|
vc.on('addRoomRenovation', 'openAddRoomRenovationModal', function (_param) {
|
|
// vc.component.addRoomRenovationInfo.userId = _param[0].userId
|
|
$('#addRoomRenovationModel').modal('show');
|
|
});
|
|
/* vc.initDate('addStartTime', function (_startTime) {
|
|
$that.addRoomRenovationInfo.startTime = _startTime;
|
|
});
|
|
vc.initDate('addEndTime', function (_endTime) {
|
|
$that.addRoomRenovationInfo.endTime = _endTime;
|
|
let start = Date.parse(new Date($that.addRoomRenovationInfo.startTime))
|
|
let end = Date.parse(new Date($that.addRoomRenovationInfo.endTime))
|
|
if (start - end >= 0) {
|
|
vc.toast("结束时间必须大于开始时间")
|
|
$that.addRoomRenovationInfo.endTime = '';
|
|
}
|
|
});*/
|
|
},
|
|
methods: {
|
|
_initAddRoomRenovationInfo: function () {
|
|
$('.addStartTime').datetimepicker({
|
|
minView: "month",
|
|
language: 'zh-CN',
|
|
fontAwesome: 'fa',
|
|
format: 'yyyy-mm-dd',
|
|
initTime: true,
|
|
initialDate: new Date(),
|
|
autoClose: 1,
|
|
todayBtn: true
|
|
});
|
|
$('.addStartTime').datetimepicker()
|
|
.on('changeDate', function (ev) {
|
|
var value = $(".addStartTime").val();
|
|
vc.component.addRoomRenovationInfo.startTime = value;
|
|
});
|
|
$('.addEndTime').datetimepicker({
|
|
minView: "month",
|
|
language: 'zh-CN',
|
|
fontAwesome: 'fa',
|
|
format: 'yyyy-mm-dd',
|
|
initTime: true,
|
|
initialDate: new Date(),
|
|
autoClose: 1,
|
|
todayBtn: true
|
|
});
|
|
$('.addEndTime').datetimepicker()
|
|
.on('changeDate', function (ev) {
|
|
var value = $(".addEndTime").val();
|
|
var start = Date.parse(new Date(vc.component.addRoomRenovationInfo.startTime))
|
|
var end = Date.parse(new Date(value))
|
|
if (start - end >= 0) {
|
|
vc.toast("计费终止时间必须大于计费起始时间")
|
|
$(".addEndTime").val('')
|
|
} else {
|
|
vc.component.addRoomRenovationInfo.endTime = value;
|
|
}
|
|
});
|
|
// $('.addPostponeTime').datetimepicker({
|
|
// minView: "month",
|
|
// language: 'zh-CN',
|
|
// fontAwesome: 'fa',
|
|
// format: 'yyyy-mm-dd',
|
|
// initTime: true,
|
|
// initialDate: new Date(),
|
|
// autoClose: 1,
|
|
// todayBtn: true
|
|
// });
|
|
// $('.addPostponeTime').datetimepicker()
|
|
// .on('changeDate', function (ev) {
|
|
// var value = $(".addPostponeTime").val();
|
|
// vc.component.addRoomRenovationInfo.postponeTime = value;
|
|
// });
|
|
//防止多次点击时间插件失去焦点
|
|
document.getElementsByClassName("form-control addStartTime")[0].addEventListener('click', myfunc)
|
|
|
|
function myfunc(e) {
|
|
e.currentTarget.blur();
|
|
}
|
|
|
|
document.getElementsByClassName("form-control addEndTime")[0].addEventListener('click', myfunc)
|
|
|
|
function myfunc(e) {
|
|
e.currentTarget.blur();
|
|
}
|
|
|
|
// document.getElementsByClassName("form-control addPostponeTime")[0].addEventListener('click', myfunc)
|
|
// function myfunc(e) {
|
|
// e.currentTarget.blur();
|
|
// }
|
|
},
|
|
addRoomRenovationValidate() {
|
|
return vc.validate.validate({
|
|
addRoomRenovationInfo: vc.component.addRoomRenovationInfo
|
|
}, {
|
|
'addRoomRenovationInfo.roomName': [
|
|
{
|
|
limit: "required",
|
|
param: "",
|
|
errInfo: "房屋不能为空"
|
|
},
|
|
{
|
|
limit: "maxLength",
|
|
param: "64",
|
|
errInfo: "房屋格式错误"
|
|
}
|
|
],
|
|
'addRoomRenovationInfo.personName': [
|
|
{
|
|
limit: "required",
|
|
param: "",
|
|
errInfo: "联系人不能为空"
|
|
},
|
|
{
|
|
limit: "maxLength",
|
|
param: "64",
|
|
errInfo: "联系人格式错误"
|
|
}
|
|
],
|
|
'addRoomRenovationInfo.personTel': [
|
|
{
|
|
limit: "required",
|
|
param: "",
|
|
errInfo: "联系电话不能为空"
|
|
},
|
|
{
|
|
limit: "phone",
|
|
param: "",
|
|
errInfo: "联系电话错误"
|
|
}
|
|
],
|
|
'addRoomRenovationInfo.startTime': [
|
|
{
|
|
limit: "required",
|
|
param: "",
|
|
errInfo: "装修开始时间不能为空"
|
|
},
|
|
{
|
|
limit: "date",
|
|
param: "",
|
|
errInfo: "装修开始时间错误"
|
|
}
|
|
],
|
|
'addRoomRenovationInfo.endTime': [
|
|
{
|
|
limit: "required",
|
|
param: "",
|
|
errInfo: "装修结束时间不能为空"
|
|
},
|
|
{
|
|
limit: "date",
|
|
param: "",
|
|
errInfo: "装修结束时间错误"
|
|
}
|
|
],
|
|
// 'addRoomRenovationInfo.isPostpone': [
|
|
// {
|
|
// limit: "required",
|
|
// param: "",
|
|
// errInfo: "是否延期不能为空"
|
|
// }
|
|
// ],
|
|
'addRoomRenovationInfo.renovationCompany': [
|
|
{
|
|
limit: "required",
|
|
param: "",
|
|
errInfo: "装修单位不能为空"
|
|
},
|
|
{
|
|
limit: "maxLength",
|
|
param: "64",
|
|
errInfo: "装修单位格式错误"
|
|
}
|
|
],
|
|
'addRoomRenovationInfo.personMain': [
|
|
{
|
|
limit: "required",
|
|
param: "",
|
|
errInfo: "装修负责人不能为空"
|
|
},
|
|
{
|
|
limit: "maxLength",
|
|
param: "64",
|
|
errInfo: "装修负责人格式错误"
|
|
}
|
|
],
|
|
'addRoomRenovationInfo.personMainTel': [
|
|
{
|
|
limit: "required",
|
|
param: "",
|
|
errInfo: "装修负责人电话不能为空"
|
|
},
|
|
{
|
|
limit: "phone",
|
|
param: "",
|
|
errInfo: "装修负责人电话错误"
|
|
}
|
|
],
|
|
'addRoomRenovationInfo.remark': [
|
|
{
|
|
limit: "maxLength",
|
|
param: "512",
|
|
errInfo: "备注太长"
|
|
}
|
|
]
|
|
});
|
|
},
|
|
saveRoomRenovationInfo: function () {
|
|
if (!vc.component.addRoomRenovationValidate()) {
|
|
vc.toast(vc.validate.errInfo);
|
|
return;
|
|
}
|
|
vc.component.addRoomRenovationInfo.communityId = vc.getCurrentCommunity().communityId;
|
|
//不提交数据将数据 回调给侦听处理
|
|
if (vc.notNull($props.callBackListener)) {
|
|
vc.emit($props.callBackListener, $props.callBackFunction, vc.component.addRoomRenovationInfo);
|
|
$('#addRoomRenovationModel').modal('hide');
|
|
return;
|
|
}
|
|
vc.component.addRoomRenovationInfo.roomName = vc.component.addRoomRenovationInfo.roomName.trim();
|
|
vc.component.addRoomRenovationInfo.remark = vc.component.addRoomRenovationInfo.remark.trim();
|
|
vc.http.apiPost(
|
|
'/roomRenovation/saveRoomRenovation',
|
|
JSON.stringify(vc.component.addRoomRenovationInfo), {
|
|
emulateJSON: true
|
|
},
|
|
function (json, res) {
|
|
//vm.menus = vm.refreshMenuActive(JSON.parse(json),0);
|
|
let _json = JSON.parse(json);
|
|
if (_json.code == 0) {
|
|
//关闭model
|
|
$('#addRoomRenovationModel').modal('hide');
|
|
vc.component.clearAddRoomRenovationInfo();
|
|
vc.emit('roomRenovationManage', 'listRoomRenovation', {});
|
|
vc.toast("添加成功");
|
|
return;
|
|
} else {
|
|
vc.toast(_json.msg);
|
|
}
|
|
},
|
|
function (errInfo, error) {
|
|
console.log('请求失败处理');
|
|
vc.message(errInfo);
|
|
});
|
|
},
|
|
clearAddRoomRenovationInfo: function () {
|
|
vc.component.addRoomRenovationInfo = {
|
|
roomId: '',
|
|
roomName: '',
|
|
personName: '',
|
|
personTel: '',
|
|
startTime: '',
|
|
endTime: '',
|
|
remark: '',
|
|
isPostpone: 'N',
|
|
// postponeTime: '',
|
|
renovationCompany: '',
|
|
personMain: '',
|
|
personMainTel: ''
|
|
};
|
|
},
|
|
_queryRoom: function () {
|
|
let _allNum = $that.addRoomRenovationInfo.roomName;
|
|
if (_allNum == '') {
|
|
return;
|
|
}
|
|
let param = {
|
|
params: {
|
|
page: 1,
|
|
row: 1,
|
|
communityId: vc.getCurrentCommunity().communityId
|
|
}
|
|
};
|
|
if (_allNum.split('-').length == 3) {
|
|
let _allNums = _allNum.split('-')
|
|
param.params.floorNum = _allNums[0].trim();
|
|
param.params.unitNum = _allNums[1].trim();
|
|
param.params.roomNum = _allNums[2].trim();
|
|
} else {
|
|
vc.toast('房屋填写格式错误,请填写 楼栋-单元-房屋格式')
|
|
return;
|
|
}
|
|
//发送get请求
|
|
vc.http.apiGet('/fee.listRoomsWhereFeeSet',
|
|
param,
|
|
function (json, res) {
|
|
let listRoomData = JSON.parse(json);
|
|
if (listRoomData.code == 404) {
|
|
vc.toast(listRoomData.msg);
|
|
$that.addRoomRenovationInfo.roomId = "";
|
|
$that.addRoomRenovationInfo.personName = "";
|
|
$that.addRoomRenovationInfo.personTel = "";
|
|
return;
|
|
}
|
|
let _rooms = listRoomData.rooms;
|
|
if (_rooms.length < 1) {
|
|
vc.toast('未找到房屋');
|
|
$that.addRoomRenovationInfo.allNum = '';
|
|
return;
|
|
}
|
|
if (!_rooms[0].ownerId) {
|
|
vc.toast('该房屋没有绑定业主,请先绑定业主');
|
|
return;
|
|
}
|
|
$that.addRoomRenovationInfo.roomId = _rooms[0].roomId;
|
|
$that.addRoomRenovationInfo.personName = _rooms[0].ownerName;
|
|
$that.addRoomRenovationInfo.personTel = _rooms[0].link;
|
|
},
|
|
function (errInfo, error) {
|
|
vc.toast(errInfo)
|
|
$that.addRoomRenovationInfo.roomId = "";
|
|
$that.addRoomRenovationInfo.personName = "";
|
|
$that.addRoomRenovationInfo.personTel = "";
|
|
}
|
|
);
|
|
}
|
|
}
|
|
});
|
|
})(window.vc); |