|
(function (vc) {
|
vc.extends({
|
data: {
|
formData: {
|
communityId: '',
|
statusCd: '1',
|
newBId: '',
|
feePrice: '',
|
projectAddressProvince: '',
|
projectAddressCity: '',
|
projectAddressDistrict: '',
|
address: '',
|
projectAddressTown: '',
|
projectAddressRoad: '',
|
houseCompletionDate: '',
|
projectNature: '',
|
projectType: '',
|
projectLandArea: '',
|
totalConstructionArea: '',
|
chargeableTotalArea: '',
|
chargeableAreaMultilayer: '',
|
chargeableAreaHighRise1: '',
|
chargeableAreaHighRiseUp: '',
|
chargeableAreaShop: '',
|
chargeableAreaVilla: '',
|
chargeableAreaOffice: '',
|
chargeableAreaCommercialHouse: '',
|
greenArea: '',
|
areaDetails: '',
|
propertyManagementAddress: '',
|
propertyManagerName: '',
|
propertyManagerPhone: '',
|
propertyRoomArea: '',
|
publicArea: '',
|
dayRepairPhone: '',
|
nightRepairPhone: '',
|
projectManager: '',
|
hasManagerCertificate: '',
|
certificateName: '',
|
managerCertificateNo: '',
|
managerPhone: '',
|
neighborhoodCommitteeName: '',
|
neighborhoodCommitteeAddress: '',
|
neighborhoodSecretary: '',
|
neighborhoodOfficePhone: '',
|
secretaryPhone: '',
|
ownersCommitteeAddress: '',
|
ownersCommitteeChairman: '',
|
chairmanPhone: '',
|
fireHydrantCount: '',
|
fireChannelCount: '',
|
waterTankCount: '',
|
reservoirCount: '',
|
totalMotorVehicleSpaces: '',
|
groundMotorVehicleSpaces: '',
|
undergroundMotorVehicleSpaces: '',
|
newEnergyChargingPiles: '',
|
nonMotorVehicleChargingPoints: '',
|
groundNonMotorVehicleArea: '',
|
undergroundNonMotorVehicleArea: '',
|
clubhouseArea: '',
|
hasDecorationRubbishPoint: '',
|
securityEntranceCount: '',
|
elevatorCount: '',
|
elevatorType: '',
|
elevatorInstallDate: '',
|
elevatorServiceLife: '',
|
elevatorBrand1: '',
|
elevatorBrand2: '',
|
monitorCount: '',
|
monitorMaintenanceCompany: '',
|
barrierGateCount: '',
|
barrierGateBrand: '',
|
barrierSupplierContact: '',
|
barrierSupplierPhone: '',
|
waterPumpCount: '',
|
groundParkingSpaces: '',
|
undergroundParkingSpaces: '',
|
groundNonMechanicalFee: '',
|
garageNonMechanicalFee: '',
|
temporaryHourlyFee: '',
|
temporaryDailyFee: '',
|
temporaryPerTimeFee: '',
|
totalBuildingCount: '',
|
buildingUnitCount: '',
|
highRiseBuildingCount: '',
|
multilayerVillaBuildingCount: '',
|
residentialHouseholdCount: '',
|
shopHouseholdCount: '',
|
entryDate: '',
|
exitDate: '',
|
name: '',
|
communityCode: '',
|
cityCode: '',
|
areaAddress: '',
|
tel: '',
|
tmpAddress: '',
|
nearbyLandmarks: '',
|
mapX: '',
|
mapY: '',
|
payFeeMonth: 12,
|
takeTime: '',
|
outTime: '',
|
state: '1100',
|
communityArea: '',
|
attrs: []
|
},
|
provs: [],
|
citys: [],
|
areas: [],
|
selectProv: '',
|
selectCity: '',
|
selectArea: '',
|
selectProvName: '',
|
selectCityName: '',
|
selectAreaName: ''
|
},
|
_initMethod: function () {
|
// 初始化省份列表
|
vc.component._initArea('101', '0');
|
// 确保 vc.component 已完全初始化后再调用
|
let retryCount = 0;
|
const maxRetries = 20; // 最多重试20次(约1秒)
|
const loadData = function () {
|
if (vc.component && typeof vc.component._loadCommunityDetail === 'function') {
|
vc.component._loadCommunityDetail();
|
} else {
|
retryCount++;
|
if (retryCount >= maxRetries) {
|
console.error('无法找到 _loadCommunityDetail 方法,已重试', maxRetries, '次');
|
return;
|
}
|
// 如果还未初始化,等待一下再试
|
setTimeout(loadData, 50);
|
}
|
};
|
loadData();
|
},
|
_initEvent: function () {
|
// 初始化时添加输入事件监听,自动移除错误样式
|
const $that = this;
|
setTimeout(function () {
|
// 为所有输入框和选择框添加输入事件监听
|
const inputs = document.querySelectorAll('.community-add input, .community-add select');
|
inputs.forEach(function (input) {
|
input.addEventListener('input', function () {
|
$that.removeError(input.id);
|
});
|
input.addEventListener('change', function () {
|
$that.removeError(input.id);
|
});
|
});
|
}, 100);
|
},
|
methods: {
|
// 添加错误样式
|
addError: function (elementId) {
|
const element = document.getElementById(elementId);
|
if (element) {
|
element.classList.add('error');
|
}
|
},
|
// 移除错误样式
|
removeError: function (elementId) {
|
const element = document.getElementById(elementId);
|
if (element) {
|
element.classList.remove('error');
|
}
|
},
|
// 清除所有错误样式
|
clearAllErrors: function () {
|
const elements = document.querySelectorAll('.community-add input.error, .community-add select.error');
|
elements.forEach(function (element) {
|
element.classList.remove('error');
|
});
|
},
|
toBoolString: function (value, defaultValue) {
|
if (value === undefined || value === null) {
|
return defaultValue;
|
}
|
return value ? 'true' : 'false';
|
},
|
chooseProvince: function (event) {
|
const provCode = event.target.value;
|
vc.component.selectProv = provCode;
|
vc.component.selectCity = '';
|
vc.component.selectArea = '';
|
vc.component.citys = [];
|
vc.component.areas = [];
|
// 更新 formData 中的省份名称
|
if (vc.component.provs && vc.component.provs.length > 0) {
|
vc.component.provs.forEach(function (_param) {
|
if (_param.areaCode == provCode) {
|
vc.component.selectProvName = _param.areaName;
|
vc.component.formData.projectAddressProvince = _param.areaName;
|
}
|
});
|
}
|
// 清空城市和区县
|
vc.component.formData.projectAddressCity = '';
|
vc.component.formData.projectAddressDistrict = '';
|
if (provCode) {
|
vc.component._initArea('202', provCode);
|
}
|
},
|
chooseCity: function (event) {
|
const cityCode = event.target.value;
|
vc.component.selectCity = cityCode;
|
vc.component.selectArea = '';
|
vc.component.areas = [];
|
// 更新 formData 中的城市名称
|
if (vc.component.citys && vc.component.citys.length > 0) {
|
vc.component.citys.forEach(function (_param) {
|
if (_param.areaCode == cityCode) {
|
vc.component.selectCityName = _param.areaName;
|
vc.component.formData.projectAddressCity = _param.areaName;
|
}
|
});
|
}
|
// 清空区县
|
vc.component.formData.projectAddressDistrict = '';
|
if (cityCode) {
|
vc.component._initArea('303', cityCode);
|
}
|
},
|
chooseArea: function (event) {
|
const areaCode = event.target.value;
|
vc.component.selectArea = areaCode;
|
vc.component.formData.cityCode = areaCode;
|
vc.component.formData.areaAddress = '';
|
|
// 更新 formData 中的区县名称
|
if (vc.component.areas && vc.component.areas.length > 0) {
|
vc.component.areas.forEach(function (_param) {
|
if (_param.areaCode == areaCode) {
|
vc.component.selectAreaName = _param.areaName;
|
vc.component.formData.projectAddressDistrict = _param.areaName;
|
}
|
});
|
}
|
|
// 构建区域地址
|
if (vc.component.provs && vc.component.provs.length > 0) {
|
vc.component.provs.forEach(function (_param) {
|
if (_param.areaCode == vc.component.selectProv) {
|
vc.component.selectProvName = _param.areaName;
|
vc.component.formData.areaAddress = _param.areaName;
|
}
|
});
|
}
|
if (vc.component.citys && vc.component.citys.length > 0) {
|
vc.component.citys.forEach(function (_param) {
|
if (_param.areaCode == vc.component.selectCity) {
|
vc.component.selectCityName = _param.areaName;
|
if (vc.component.formData.areaAddress) {
|
vc.component.formData.areaAddress += _param.areaName;
|
} else {
|
vc.component.formData.areaAddress = _param.areaName;
|
}
|
}
|
});
|
}
|
if (vc.component.areas && vc.component.areas.length > 0) {
|
vc.component.areas.forEach(function (_param) {
|
if (_param.areaCode == vc.component.selectArea) {
|
vc.component.selectAreaName = _param.areaName;
|
if (vc.component.formData.areaAddress) {
|
vc.component.formData.areaAddress += _param.areaName;
|
} else {
|
vc.component.formData.areaAddress = _param.areaName;
|
}
|
}
|
});
|
}
|
},
|
_initArea: function (_areaLevel, _parentAreaCode) {
|
var _param = {
|
params: {
|
areaLevel: _areaLevel,
|
parentAreaCode: _parentAreaCode
|
}
|
};
|
vc.http.apiGet('/area.listAreas',
|
_param,
|
function (json, res) {
|
if (res.status == 200) {
|
var _tmpAreas = JSON.parse(json).areas;
|
if (_areaLevel == '101') {
|
vc.component.provs = _tmpAreas;
|
// 填充省份下拉框
|
const provinceSelect = document.getElementById('province');
|
if (provinceSelect) {
|
_tmpAreas.forEach(function (item) {
|
const option = document.createElement('option');
|
option.value = item.areaCode;
|
option.textContent = item.areaName;
|
provinceSelect.appendChild(option);
|
});
|
}
|
} else if (_areaLevel == '202') {
|
vc.component.citys = _tmpAreas;
|
// 填充城市下拉框
|
const citySelect = document.getElementById('city');
|
if (citySelect) {
|
citySelect.innerHTML = '<option value="">请选择市</option>';
|
_tmpAreas.forEach(function (item) {
|
const option = document.createElement('option');
|
option.value = item.areaCode;
|
option.textContent = item.areaName;
|
citySelect.appendChild(option);
|
});
|
}
|
} else {
|
vc.component.areas = _tmpAreas;
|
// 填充区县下拉框
|
const areaSelect = document.getElementById('area');
|
if (areaSelect) {
|
areaSelect.innerHTML = '<option value="">请选择区</option>';
|
_tmpAreas.forEach(function (item) {
|
const option = document.createElement('option');
|
option.value = item.areaCode;
|
option.textContent = item.areaName;
|
areaSelect.appendChild(option);
|
});
|
}
|
}
|
return;
|
}
|
},
|
function (errInfo, error) {
|
console.log('请求失败处理', errInfo);
|
vc.toast("查询地区失败");
|
});
|
},
|
_formatCommunityData: function (info) {
|
if (!info) {
|
return {};
|
}
|
return {
|
communityId: info.communityId || '',
|
newBId: info.newBId || '',
|
feePrice: info.feePrice || '',
|
projectAddressProvince: info.projectAddressProvince || info.provinceName || '',
|
projectAddressCity: info.projectAddressCity || info.cityName || '',
|
projectAddressDistrict: info.projectAddressDistrict || info.areaName || '',
|
projectAddressTown: info.projectAddressTown || '',
|
projectAddressRoad: info.projectAddressRoad || '',
|
address: [info.projectAddressTown, info.projectAddressRoad].filter(Boolean).join(' ') || info.communityAddress || '',
|
nearbyLandmarks: '1',
|
houseCompletionDate: info.houseCompletionDate || info.completionDate || '',
|
projectNature: info.projectNature || info.propertyType || '',
|
projectType: info.projectType || info.communityType || '',
|
projectLandArea: info.projectLandArea || info.area || '',
|
totalConstructionArea: info.totalConstructionArea || info.totalArea || '',
|
chargeableTotalArea: info.chargeableTotalArea || info.chargeableArea || '',
|
chargeableAreaMultilayer: info.chargeableAreaMultilayer || info.multiStoreyArea || '',
|
chargeableAreaHighRise1: info.chargeableAreaHighRise1 || info.highStoreyArea1 || '',
|
chargeableAreaHighRiseUp: info.chargeableAreaHighRiseUp || info.highStoreyArea2 || '',
|
chargeableAreaShop: info.chargeableAreaShop || info.commercialArea || '',
|
chargeableAreaVilla: info.chargeableAreaVilla || info.villaArea || '',
|
chargeableAreaOffice: info.chargeableAreaOffice || info.officeArea || '',
|
chargeableAreaCommercialHouse: info.chargeableAreaCommercialHouse || '',
|
greenArea: info.greenArea || '',
|
areaDetails: info.areaDetails || '',
|
propertyManagementAddress: info.propertyManagementAddress || info.managementAddress || '',
|
propertyManagerName: info.propertyManagerName || info.managementContactName || '',
|
propertyManagerPhone: info.propertyManagerPhone || info.managementContactTel || '',
|
dayRepairPhone: info.dayRepairPhone || info.managementContactDayTel || '',
|
nightRepairPhone: info.nightRepairPhone || info.managementContactNightTel || '',
|
projectManager: info.projectManager || info.managerName || '',
|
hasManagerCertificate: toBoolString(info.hasManagerCertificate, info.managerCert ? 'true' : 'false'),
|
certificateName: info.certificateName || info.managerCertName || '',
|
managerCertificateNo: info.managerCertificateNo || info.managerCertNo || '',
|
managerPhone: info.managerPhone || info.managerTel || '',
|
neighborhoodCommitteeName: info.neighborhoodCommitteeName || info.committeeName || '',
|
neighborhoodCommitteeAddress: info.neighborhoodCommitteeAddress || info.committeeAddress || '',
|
neighborhoodSecretary: info.neighborhoodSecretary || info.committeeSecretaryName || '',
|
neighborhoodOfficePhone: info.neighborhoodOfficePhone || info.committeeOfficeTel || '',
|
secretaryPhone: info.secretaryPhone || info.committeeSecretaryTel || '',
|
ownersCommitteeAddress: info.ownersCommitteeAddress || '',
|
ownersCommitteeChairman: info.ownersCommitteeChairman || info.committeeChairmanName || '',
|
chairmanPhone: info.chairmanPhone || info.committeeChairmanTel || '',
|
fireHydrantCount: info.fireHydrantCount || info.fireSprinklerTotal || '',
|
fireChannelCount: info.fireChannelCount || info.fireChannelTotal || '',
|
waterTankCount: info.waterTankCount || info.waterTankTotal || '',
|
reservoirCount: info.reservoirCount || info.waterPoolTotal || '',
|
totalMotorVehicleSpaces: info.totalMotorVehicleSpaces || info.carTotal || '',
|
groundMotorVehicleSpaces: info.groundMotorVehicleSpaces || info.groundParkingSpaces || info.carGroundTotal || '',
|
undergroundMotorVehicleSpaces: info.undergroundMotorVehicleSpaces || info.undergroundParkingSpaces || info.carUndergroundTotal || '',
|
newEnergyChargingPiles: info.newEnergyChargingPiles || info.electricCarTotal || '',
|
nonMotorVehicleChargingPoints: info.nonMotorVehicleChargingPoints || info.nonElectricCarTotal || '',
|
groundNonMotorVehicleArea: info.groundNonMotorVehicleArea || info.nonElectricCarGroundArea || '',
|
undergroundNonMotorVehicleArea: info.undergroundNonMotorVehicleArea || info.nonElectricCarUndergroundArea || '',
|
clubhouseArea: info.clubhouseArea || info.clubArea || '',
|
hasDecorationRubbishPoint: info.hasDecorationRubbishPoint === '是' || info.garbageFixed == 1 ? '是' : '否',
|
securityEntranceCount: info.securityEntranceCount || info.gateGuardTotal || '',
|
elevatorCount: info.elevatorCount || info.elevatorTotal || '',
|
elevatorType: info.elevatorType || '',
|
elevatorInstallDate: info.elevatorInstallDate || '',
|
elevatorServiceLife: info.elevatorServiceLife || info.elevatorUseYears || '',
|
elevatorBrand1: info.elevatorBrand1 || '',
|
elevatorBrand2: info.elevatorBrand2 || '',
|
monitorCount: info.monitorCount || info.monitorTotal || '',
|
monitorMaintenanceCompany: info.monitorMaintenanceCompany || info.monitorMaintenanceUnit || '',
|
barrierGateCount: info.barrierGateCount || info.gateTotal || '',
|
barrierGateBrand: info.barrierGateBrand || info.gateBrand || '',
|
barrierSupplierContact: info.barrierSupplierContact || info.gateSupplierContactName || '',
|
barrierSupplierPhone: info.barrierSupplierPhone || info.gateSupplierContactTel || '',
|
waterPumpCount: info.waterPumpCount || info.pumpTotal || '',
|
groundParkingSpaces: info.groundParkingSpaces || '',
|
undergroundParkingSpaces: info.undergroundParkingSpaces || '',
|
groundNonMechanicalFee: info.groundNonMechanicalFee || '',
|
garageNonMechanicalFee: info.garageNonMechanicalFee || '',
|
temporaryHourlyFee: info.temporaryHourlyFee || info.hourlyFee || '',
|
temporaryDailyFee: info.temporaryDailyFee || info.dailyFee || '',
|
temporaryPerTimeFee: info.temporaryPerTimeFee || info.onceFee || '',
|
totalBuildingCount: info.totalBuildingCount || info.naturalBuildingTotal || '',
|
buildingUnitCount: info.buildingUnitCount || info.doorBuildingTotal || '',
|
highRiseBuildingCount: info.highRiseBuildingCount || info.highBuildingTotal || '',
|
multilayerVillaBuildingCount: info.multilayerVillaBuildingCount || info.lowBuildingTotal || '',
|
residentialHouseholdCount: info.residentialHouseholdCount || info.residentialHousehold || '',
|
shopHouseholdCount: info.shopHouseholdCount || info.commercialHousehold || '',
|
entryDate: info.entryDate || '',
|
exitDate: info.exitDate || '',
|
name: info.communityName || info.name || '',
|
communityCode: info.communityCode || info.code || '',
|
};
|
},
|
submit: function (event) {
|
// 阻止表单默认提交行为
|
if (event) {
|
event.preventDefault();
|
event.stopPropagation();
|
}
|
const $that = this;
|
const formData = vc.component.formData;
|
|
// 清除之前的错误样式
|
vc.component.clearAllErrors();
|
|
// 验证必填字段
|
if (!formData.name || formData.name.trim() === '') {
|
vc.toast('请输入小区名称');
|
vc.component.addError('input-name');
|
return;
|
}
|
|
// 构建详细地址
|
const addressParts = [];
|
if (formData.projectAddressTown) {
|
addressParts.push(formData.projectAddressTown);
|
}
|
if (formData.projectAddressRoad) {
|
addressParts.push(formData.projectAddressRoad);
|
}
|
const address = addressParts.join(' ') || '';
|
|
if (!address || address.trim() === '') {
|
vc.toast('请输入详细地址');
|
if (!formData.projectAddressTown || formData.projectAddressTown.trim() === '') {
|
vc.component.addError('input-town');
|
}
|
if (!formData.projectAddressRoad || formData.projectAddressRoad.trim() === '') {
|
vc.component.addError('input-road');
|
}
|
return;
|
}
|
|
// 构建区域地址
|
let areaAddress = formData.areaAddress || '';
|
// 如果 areaAddress 为空,尝试从省市区名称构建
|
if (!areaAddress || areaAddress.trim() === '') {
|
const areaParts = [];
|
if (vc.component.selectProvName) {
|
areaParts.push(vc.component.selectProvName);
|
} else if (formData.projectAddressProvince) {
|
areaParts.push(formData.projectAddressProvince);
|
}
|
if (vc.component.selectCityName) {
|
areaParts.push(vc.component.selectCityName);
|
} else if (formData.projectAddressCity) {
|
areaParts.push(formData.projectAddressCity);
|
}
|
if (vc.component.selectAreaName) {
|
areaParts.push(vc.component.selectAreaName);
|
} else if (formData.projectAddressDistrict) {
|
areaParts.push(formData.projectAddressDistrict);
|
}
|
areaAddress = areaParts.join('');
|
}
|
|
if (!areaAddress || areaAddress.trim() === '') {
|
vc.toast('请选择所在城市');
|
if (!vc.component.selectProv) {
|
vc.component.addError('province');
|
}
|
if (!vc.component.selectCity) {
|
vc.component.addError('city');
|
}
|
if (!vc.component.selectArea) {
|
vc.component.addError('area');
|
}
|
return;
|
}
|
|
// 验证区域编码(必须选择到区县级别)
|
const cityCode = formData.cityCode || vc.component.selectArea || '';
|
if (!cityCode || cityCode.trim() === '') {
|
vc.toast('请选择所在区域(需选择到区县)');
|
if (!vc.component.selectProv) {
|
vc.component.addError('province');
|
}
|
if (!vc.component.selectCity) {
|
vc.component.addError('city');
|
}
|
if (!vc.component.selectArea) {
|
vc.component.addError('area');
|
}
|
return;
|
}
|
|
// 验证联系电话(使用物业联系人电话或报修电话)
|
const tel = formData.propertyManagerPhone || formData.dayRepairPhone || '';
|
if (!tel || tel.trim() === '') {
|
vc.toast('请输入联系电话');
|
// 优先标记物业联系人电话,如果为空则标记日间电话
|
if (!formData.propertyManagerPhone || formData.propertyManagerPhone.trim() === '') {
|
vc.component.addError('input-phone');
|
}
|
// 如果物业联系人电话为空,且日间电话也为空,则也标记日间电话
|
if ((!formData.propertyManagerPhone || formData.propertyManagerPhone.trim() === '') &&
|
(!formData.dayRepairPhone || formData.dayRepairPhone.trim() === '')) {
|
vc.component.addError('input-day-phone');
|
}
|
return;
|
}
|
|
// 状态映射:statusCd (1=正常, 2=暂停, 3=注销) -> state (状态编码)
|
let state = '1100'; // 默认正常状态
|
if (formData.statusCd === '1') {
|
state = '1100'; // 正常
|
} else if (formData.statusCd === '2') {
|
state = '1200'; // 暂停(假设编码)
|
} else if (formData.statusCd === '3') {
|
state = '1300'; // 注销(假设编码)
|
}
|
|
// 构建提交数据
|
const submitData = {
|
// 基础参数 - 必填
|
name: formData.name,
|
address: address,
|
areaAddress: areaAddress,
|
tel: tel,
|
cityCode: cityCode,
|
state: state,
|
|
// 基础参数 - 可选
|
tmpAddress: formData.tmpAddress || '',
|
nearbyLandmarks: formData.nearbyLandmarks || '',
|
mapX: formData.mapX || '',
|
mapY: formData.mapY || '',
|
payFeeMonth: formData.payFeeMonth || 12,
|
feePrice: formData.feePrice || 0,
|
takeTime: formData.entryDate || formData.takeTime || '',
|
outTime: formData.exitDate || formData.outTime || '2099-12-31',
|
communityId: formData.communityId || '',
|
communityCode: formData.communityCode || '',
|
communityArea: formData.communityArea || '',
|
|
// 项目扩展参数
|
projectAddressProvince: formData.projectAddressProvince || '',
|
projectAddressCity: formData.projectAddressCity || '',
|
projectAddressDistrict: formData.projectAddressDistrict || '',
|
projectAddressTown: formData.projectAddressTown || '',
|
projectAddressRoad: formData.projectAddressRoad || '',
|
houseCompletionDate: formData.houseCompletionDate || '',
|
projectNature: formData.projectNature || '',
|
projectType: formData.projectType || '',
|
projectLandArea: formData.projectLandArea || '',
|
propertyRoomArea: info.propertyRoomArea || '',
|
publicArea: info.publicArea || '',
|
totalConstructionArea: formData.totalConstructionArea || '',
|
chargeableTotalArea: formData.chargeableTotalArea || '',
|
chargeableAreaMultilayer: formData.chargeableAreaMultilayer || '',
|
chargeableAreaHighRise1: formData.chargeableAreaHighRise1 || '',
|
chargeableAreaHighRiseUp: formData.chargeableAreaHighRiseUp || '',
|
chargeableAreaShop: formData.chargeableAreaShop || '',
|
chargeableAreaVilla: formData.chargeableAreaVilla || '',
|
chargeableAreaOffice: formData.chargeableAreaOffice || '',
|
chargeableAreaCommercialHouse: formData.chargeableAreaCommercialHouse || '',
|
greenArea: formData.greenArea || '',
|
areaDetails: formData.areaDetails || '',
|
propertyManagementAddress: formData.propertyManagementAddress || '',
|
propertyManagerName: formData.propertyManagerName || '',
|
propertyManagerPhone: formData.propertyManagerPhone || '',
|
dayRepairPhone: formData.dayRepairPhone || '',
|
nightRepairPhone: formData.nightRepairPhone || '',
|
projectManager: formData.projectManager || '',
|
hasManagerCertificate: formData.hasManagerCertificate || 0,
|
certificateName: formData.certificateName || '',
|
managerCertificateNo: formData.managerCertificateNo || '',
|
managerPhone: formData.managerPhone || '',
|
neighborhoodCommitteeName: formData.neighborhoodCommitteeName || '',
|
neighborhoodCommitteeAddress: formData.neighborhoodCommitteeAddress || '',
|
neighborhoodSecretary: formData.neighborhoodSecretary || '',
|
neighborhoodOfficePhone: formData.neighborhoodOfficePhone || '',
|
secretaryPhone: formData.secretaryPhone || '',
|
ownersCommitteeAddress: formData.ownersCommitteeAddress || '',
|
ownersCommitteeChairman: formData.ownersCommitteeChairman || '',
|
chairmanPhone: formData.chairmanPhone || '',
|
fireHydrantCount: formData.fireHydrantCount || '',
|
fireChannelCount: formData.fireChannelCount || '',
|
waterTankCount: formData.waterTankCount || '',
|
reservoirCount: formData.reservoirCount || '',
|
totalMotorVehicleSpaces: formData.totalMotorVehicleSpaces || '',
|
groundMotorVehicleSpaces: formData.groundMotorVehicleSpaces || '',
|
undergroundMotorVehicleSpaces: formData.undergroundMotorVehicleSpaces || '',
|
newEnergyChargingPiles: formData.newEnergyChargingPiles || '',
|
nonMotorVehicleChargingPoints: formData.nonMotorVehicleChargingPoints || '',
|
groundNonMotorVehicleArea: formData.groundNonMotorVehicleArea || '',
|
undergroundNonMotorVehicleArea: formData.undergroundNonMotorVehicleArea || '',
|
clubhouseArea: formData.clubhouseArea || '',
|
securityEntranceCount: formData.securityEntranceCount || '',
|
elevatorCount: formData.elevatorCount || '',
|
elevatorType: formData.elevatorType || '',
|
elevatorInstallDate: formData.elevatorInstallDate || '',
|
elevatorServiceLife: formData.elevatorServiceLife || '',
|
elevatorBrand1: formData.elevatorBrand1 || '',
|
elevatorBrand2: formData.elevatorBrand2 || '',
|
monitorCount: formData.monitorCount || '',
|
monitorMaintenanceCompany: formData.monitorMaintenanceCompany || '',
|
barrierGateCount: formData.barrierGateCount || '',
|
barrierGateBrand: formData.barrierGateBrand || '',
|
barrierSupplierContact: formData.barrierSupplierContact || '',
|
barrierSupplierPhone: formData.barrierSupplierPhone || '',
|
waterPumpCount: formData.waterPumpCount || '',
|
groundParkingSpaces: formData.groundParkingSpaces || '',
|
undergroundParkingSpaces: formData.undergroundParkingSpaces || '',
|
groundNonMechanicalFee: formData.groundNonMechanicalFee || '',
|
garageNonMechanicalFee: formData.garageNonMechanicalFee || '',
|
temporaryHourlyFee: formData.temporaryHourlyFee || '',
|
temporaryDailyFee: formData.temporaryDailyFee || '',
|
temporaryPerTimeFee: formData.temporaryPerTimeFee || '',
|
totalBuildingCount: formData.totalBuildingCount || '',
|
buildingUnitCount: formData.buildingUnitCount || '',
|
highRiseBuildingCount: formData.highRiseBuildingCount || '',
|
multilayerVillaBuildingCount: formData.multilayerVillaBuildingCount || '',
|
residentialHouseholdCount: formData.residentialHouseholdCount || '',
|
shopHouseholdCount: formData.shopHouseholdCount || '',
|
|
// 扩展属性
|
attrs: formData.attrs || []
|
};
|
|
// 转换数字字段
|
const numberFields = [
|
'fireHydrantCount', 'fireChannelCount', 'waterTankCount', 'reservoirCount',
|
'totalMotorVehicleSpaces', 'groundMotorVehicleSpaces', 'undergroundMotorVehicleSpaces',
|
'newEnergyChargingPiles', 'nonMotorVehicleChargingPoints',
|
'groundNonMotorVehicleArea', 'undergroundNonMotorVehicleArea', 'clubhouseArea',
|
'securityEntranceCount', 'elevatorCount', 'elevatorServiceLife', 'monitorCount',
|
'barrierGateCount', 'waterPumpCount', 'groundParkingSpaces', 'undergroundParkingSpaces',
|
'totalBuildingCount', 'buildingUnitCount', 'highRiseBuildingCount',
|
'multilayerVillaBuildingCount', 'residentialHouseholdCount', 'shopHouseholdCount',
|
'payFeeMonth', 'hasManagerCertificate'
|
];
|
numberFields.forEach(field => {
|
if (submitData[field] !== '' && submitData[field] !== null && submitData[field] !== undefined) {
|
submitData[field] = Number(submitData[field]);
|
} else if (field === 'hasManagerCertificate') {
|
submitData[field] = 0;
|
}
|
});
|
// 转换Decimal字段
|
const decimalFields = [
|
'feePrice', 'projectLandArea', 'totalConstructionArea', 'chargeableTotalArea',
|
'chargeableAreaMultilayer', 'chargeableAreaHighRise1', 'chargeableAreaHighRiseUp',
|
'chargeableAreaShop', 'chargeableAreaVilla', 'chargeableAreaOffice',
|
'chargeableAreaCommercialHouse', 'greenArea', 'groundNonMechanicalFee',
|
'garageNonMechanicalFee', 'temporaryHourlyFee', 'temporaryDailyFee',
|
'temporaryPerTimeFee', 'communityArea'
|
];
|
decimalFields.forEach(field => {
|
if (submitData[field] !== '' && submitData[field] !== null && submitData[field] !== undefined) {
|
submitData[field] = Number(submitData[field]);
|
} else {
|
submitData[field] = 0;
|
}
|
});
|
|
// 清理空字符串字段,转换为null或删除
|
Object.keys(submitData).forEach(key => {
|
if (submitData[key] === '') {
|
delete submitData[key];
|
}
|
});
|
submitData.mapX = 101.33;
|
submitData.mapY = 101.33;
|
// 提交数据到接口
|
vc.http.apiPost(
|
'/community.saveCommunity',
|
JSON.stringify(submitData),
|
{
|
emulateJSON: true
|
},
|
function (json, res) {
|
const data = JSON.parse(json);
|
console.log('data', data);
|
if (data.code == 0) {
|
|
vc.toast('保存成功');
|
setTimeout(function () {
|
$that.goBack();
|
}, 1500);
|
} else {
|
vc.toast(data.msg || errInfo || '保存失败');
|
}
|
},
|
function (errInfo, error) {
|
console.log('请求失败处理', errInfo);
|
vc.toast(errInfo || '保存失败,请稍后重试');
|
}
|
);
|
},
|
goBack: function () {
|
// 跳转回小区管理列表页
|
window.location.href = '/#/pages/common/communityManage';
|
},
|
reset: function () {
|
// 重新加载数据
|
vc.component._loadCommunityDetail();
|
}
|
}
|
});
|
})(window.vc);
|