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

229 lines
8.9 KiB
JavaScript

(function (vc) {
vc.extends({
propTypes: {
callBackListener: vc.propTypes.string, //父组件名称
callBackFunction: vc.propTypes.string //父组件监听方法
},
data: {
addPropertyCompanyInfo: {
name: '',
address: '',
tel: '',
corporation: '',
foundingTime: '',
nearbyLandmarks: '',
menuGroups: [],
groupIds: [],
communitys: [],
communityIds: [],
isAll: true
}
},
watch: {
'addPropertyCompanyInfo.communitys': function () { //'goodList'是我要渲染的对象,也就是我要等到它渲染完才能调用函数
console.log('addPropertyCompanyInfo.communitys')
this.$nextTick(function () {
$('#communityIds').selectpicker({
title: '选填,请选择开通小区',
styleBase: 'form-control',
width: 'auto'
});
$('#communityIds').selectpicker('refresh');
})
}
},
_initMethod: function () {
vc.initDate('foundingTime', function (_value) {
$that.addPropertyCompanyInfo.foundingTime = _value;
});
},
_initEvent: function () {
vc.on('addPropertyCompany', 'openAddPropertyCompanyModal', function () {
$that._listPropertyMenuGroups();
$that._listFreeCommunitys();
$('#addPropertyCompanyModel').modal('show');
});
},
methods: {
addPropertyCompanyValidate() {
return vc.validate.validate({
addPropertyCompanyInfo: $that.addPropertyCompanyInfo
}, {
'addPropertyCompanyInfo.name': [
{
limit: "required",
param: "",
errInfo: "名称不能为空"
},
{
limit: "maxLength",
param: "100",
errInfo: "名称不能超过100"
}
],
'addPropertyCompanyInfo.address': [
{
limit: "required",
param: "",
errInfo: "地址不能为空"
},
{
limit: "maxLength",
param: "200",
errInfo: "地址不能超过200"
}
],
'addPropertyCompanyInfo.tel': [
{
limit: "required",
param: "",
errInfo: "电话不能为空"
},
{
limit: "maxLength",
param: "11",
errInfo: "电话不能超过11"
}
],
'addPropertyCompanyInfo.corporation': [
{
limit: "required",
param: "",
errInfo: "公司法人不能为空"
},
{
limit: "maxLength",
param: "64",
errInfo: "公司法人不能空"
}
],
'addPropertyCompanyInfo.foundingTime': [
{
limit: "required",
param: "",
errInfo: "成立日期不能为空"
},
{
limit: "maxLength",
param: "64",
errInfo: "成立日期不能空"
}
],
'addPropertyCompanyInfo.nearbyLandmarks': [
{
limit: "required",
param: "",
errInfo: "地标不能为空"
},
{
limit: "maxLength",
param: "200",
errInfo: "地标不能超过200"
}
]
});
},
savePropertyCompanyInfo: function () {
if (!$that.addPropertyCompanyValidate()) {
vc.toast(vc.validate.errInfo);
return;
}
vc.http.apiPost(
'/property.saveProperty',
JSON.stringify($that.addPropertyCompanyInfo), {
emulateJSON: true
},
function (json, res) {
//vm.menus = vm.refreshMenuActive(JSON.parse(json),0);
let _json = JSON.parse(json);
if (_json.code == 0) {
//关闭model
$('#addPropertyCompanyModel').modal('hide');
$that.clearAddPropertyCompanyInfo();
vc.emit('propertyCompanyManage', 'listPropertyCompany', {});
vc.toast("添加成功");
return;
} else {
vc.toast(_json.msg);
}
},
function (errInfo, error) {
console.log('请求失败处理');
vc.message(errInfo);
});
},
clearAddPropertyCompanyInfo: function () {
$that.addPropertyCompanyInfo = {
name: '',
address: '',
tel: '',
corporation: '',
foundingTime: '',
nearbyLandmarks: '',
menuGroups: [],
groupIds: [],
communitys: [],
communityIds: [],
isAll: true,
};
},
changeAll: function () {
$that.addPropertyCompanyInfo.groupIds = [];
if (!$that.addPropertyCompanyInfo.isAll) {
return;
}
$that.addPropertyCompanyInfo.menuGroups.forEach(item => {
$that.addPropertyCompanyInfo.groupIds.push(item.groupId);
});
},
changeItem: function () {
if ($that.addPropertyCompanyInfo.groupIds.length < $that.addPropertyCompanyInfo.menuGroups.length) {
$that.addPropertyCompanyInfo.isAll = false;
return;
}
$that.addPropertyCompanyInfo.isAll = true;
},
_listPropertyMenuGroups: function () {
let param = {
params: {
page: 1,
row: 100,
storeType: '800900000003'
}
};
//发送get请求
vc.http.apiGet('/menuGroup.listMenuGroup',
param,
function (json, res) {
let _propertyCompanyManageInfo = JSON.parse(json);
$that.addPropertyCompanyInfo.menuGroups = _propertyCompanyManageInfo.data;
_propertyCompanyManageInfo.data.forEach(item => {
$that.addPropertyCompanyInfo.groupIds.push(item.gId)
})
},
function (errInfo, error) {
console.log('请求失败处理');
}
);
},
_listFreeCommunitys: function () {
let param = {
params: {
communityName: ''
}
}
//发送get请求
vc.http.get('storeEnterCommunity',
'listNoEnterCommunity',
param,
function (json, res) {
$that.addPropertyCompanyInfo.communitys = JSON.parse(json);
},
function (errInfo, error) {
console.log('请求失败处理');
}
);
},
}
});
})(window.vc);