Files
PropertyDeployment/resources/Web/MicroCommunityWeb/html/components/property/editOwnerRepair/editOwnerRepair.js
2025-12-09 20:22:03 +08:00

230 lines
9.7 KiB
JavaScript

(function (vc, vm) {
vc.extends({
data: {
editOwnerRepairInfo: {
repairId: '',
repairType: '',
repairName: '',
tel: '',
roomId: '',
roomName: '',
appointmentTime: '',
context: '',
repairSettings: [],
repairObjType: '',
repairObjId: '',
repairObjName: ''
}
},
_initMethod: function () {
vc.component._initEditOwnerRepairInfo();
},
_initEvent: function () {
vc.on('editOwnerRepair', 'notify', function (_param) {
let _repairObjType = $that.editOwnerRepairInfo.repairObjType;
if (_param.hasOwnProperty("floorId") && _repairObjType == '002') {
vc.component.editOwnerRepairInfo.repairObjId = _param.floorId;
vc.component.editOwnerRepairInfo.repairObjName = _param.floorName;
}
if (_param.hasOwnProperty("unitId") && _repairObjType == '003') {
vc.component.editOwnerRepairInfo.repairObjId = _param.unitId;
vc.component.editOwnerRepairInfo.repairObjName = _param.unitName;
}
if (_param.hasOwnProperty("roomId") && _repairObjType == '004') {
vc.component.editOwnerRepairInfo.repairObjId = _param.roomId;
vc.component.editOwnerRepairInfo.repairObjName = _param.name;
}
});
vc.on('editOwnerRepair', 'openEditOwnerRepairModal', function (_params) {
vc.component.refreshEditOwnerRepairInfo();
vc.copyObject(_params, vc.component.editOwnerRepairInfo);
$that._changeEditRepairObjType();
$('#editOwnerRepairModel').modal('show');
vc.component.editOwnerRepairInfo.communityId = vc.getCurrentCommunity().communityId;
});
},
methods: {
editOwnerRepairValidate: function () {
return vc.validate.validate({
editOwnerRepairInfo: vc.component.editOwnerRepairInfo
}, {
'editOwnerRepairInfo.repairType': [
{
limit: "required",
param: "",
errInfo: "报修类型不能为空"
},
{
limit: "maxin",
param: "2,50",
errInfo: "报修类型错误"
}
],
'editOwnerRepairInfo.repairName': [
{
limit: "required",
param: "",
errInfo: "报修人不能为空"
},
{
limit: "maxin",
param: "2,20",
errInfo: "报修人名称必须在2至20字符之间"
}
],
'editOwnerRepairInfo.tel': [
{
limit: "required",
param: "",
errInfo: "联系方式不能为空"
},
{
limit: "phone",
param: "0,20",
errInfo: "联系方式格式不正确"
}
],
'editOwnerRepairInfo.repairObjId': [
{
limit: "required",
param: "",
errInfo: "报修对象不能为空"
}
],
'editOwnerRepairInfo.appointmentTime': [
{
limit: "required",
param: "",
errInfo: "预约时间不能为空"
},
{
limit: "dateTime",
param: "",
errInfo: "预约时间格式错误"
}
],
'editOwnerRepairInfo.context': [
{
limit: "required",
param: "",
errInfo: "报修内容不能为空"
},
{
limit: "maxLength",
param: "2000",
errInfo: "报修内容不能超过2000"
}
],
'editOwnerRepairInfo.repairId': [
{
limit: "required",
param: "",
errInfo: "报修ID不能为空"
}
]
});
},
editOwnerRepair: function () {
let _repairObjType = $that.editOwnerRepairInfo.repairObjType;
if (_repairObjType == '001') {
vc.component.editOwnerRepairInfo.repairObjId = vc.getCurrentCommunity().communityId;
vc.component.editOwnerRepairInfo.repairObjName = vc.getCurrentCommunity().name;
}
if (!vc.component.editOwnerRepairValidate()) {
vc.toast(vc.validate.errInfo);
return;
}
vc.component.editOwnerRepairInfo.communityId = vc.getCurrentCommunity().communityId;
vc.http.apiPost(
'/ownerRepair.updateOwnerRepair',
JSON.stringify(vc.component.editOwnerRepairInfo),
{
emulateJSON: true
},
function (json, res) {
let _json = JSON.parse(json);
if (_json.code == 0) {
//关闭model
$('#editOwnerRepairModel').modal('hide');
vc.emit('ownerRepairManage', 'listOwnerRepair', {});
vc.emit('repairPoolManage', 'listRepairPool', {});
vc.toast("修改成功");
} else {
vc.toast(_json.msg);
}
},
function (errInfo, error) {
console.log('请求失败处理');
vc.toast(errInfo);
});
},
refreshEditOwnerRepairInfo: function () {
vc.component.editOwnerRepairInfo = {
repairId: '',
repairType: '',
repairName: '',
tel: '',
roomId: '',
roomName: '',
appointmentTime: '',
context: '',
repairSettings: [],
repairObjType: '',
repairObjId: '',
repairObjName: ''
}
vc.emit('addOwnerRepair', 'roomSelect2', 'clearRoom', {});
vc.emit('addOwnerRepair', 'unitSelect2', 'clearUnit', {});
vc.emit('addOwnerRepair', 'floorSelect2', 'clearFloor', {});
},
_initEditOwnerRepairInfo: function () {
$('.editAppointmentTime').datetimepicker({
language: 'zh-CN',
fontAwesome: 'fa',
format: 'yyyy-mm-dd hh:ii:ss',
initTime: true,
initialDate: new Date(),
autoClose: 1,
todayBtn: true
});
$('.editAppointmentTime').datetimepicker()
.on('changeDate', function (ev) {
var value = $(".editAppointmentTime").val();
vc.component.editOwnerRepairInfo.appointmentTime = value;
});
//加载报修类型
$that._listEditRepairSettings(1, 50);
},
_listEditRepairSettings: function (_page, _rows, _publicArea) {
var param = {
params: {
page: _page,
row: _rows,
communityId: vc.getCurrentCommunity().communityId,
publicArea: _publicArea
}
};
//发送get请求
vc.http.apiGet('repair.listRepairSettings',
param,
function (json, res) {
var _repairSettingManageInfo = JSON.parse(json);
vc.component.editOwnerRepairInfo.repairSettings = _repairSettingManageInfo.data;
}, function (errInfo, error) {
console.log('请求失败处理');
}
);
},
_changeEditRepairObjType: function () {
let _publicArea = "T";
let _repairObjType = $that.editOwnerRepairInfo.repairObjType;
if (_repairObjType == '004') {
_publicArea = "F";
}
//加载报修类型
$that._listEditRepairSettings(1, 50, _publicArea);
}
}
});
})(window.vc, window.vc.component);