MicroCommunityWeb/public/components/common/chooseResourceStore4/chooseResourceStore4.js

189 lines
8.5 KiB
JavaScript

(function (vc) {
var DEFAULT_PAGE = 1;
var DEFAULT_ROWS = 10;
vc.extends({
propTypes: {
emitChooseResourceStore: vc.propTypes.string,
emitLoadData: vc.propTypes.string
},
data: {
chooseResourceStoreInfo4: {
resourceStores: [],
selectResourceStores: [],
_currentResourceStoreName: '',
rstId: '',
shId: '',
storehouses: [],
resourceStoreTypes: [],
resOrderType: ''
}
},
watch: { // 监视双向绑定的数据数组
chooseResourceStoreInfo4: {
handler() { // 数据数组有变化将触发此函数
if (vc.component.chooseResourceStoreInfo4.selectResourceStores.length == vc.component.chooseResourceStoreInfo4.resourceStores.length) {
document.querySelector('#quan').checked = true;
} else {
document.querySelector('#quan').checked = false;
}
},
deep: true // 深度监视
}
},
_initMethod: function () {
$that._listStorehouses();
$that._listResourceStoreTypes();
},
_initEvent: function () {
vc.on('chooseResourceStore4', 'setResourcesOut', function (_resOrderType) {
vc.component.chooseResourceStoreInfo4.resOrderType = _resOrderType;
});
vc.on('chooseResourceStore4', 'openChooseResourceStoreModel4', function (_param) {
$('#chooseResourceStoreModel4').modal('show');
vc.component.chooseResourceStoreInfo4._currentResourceStoreName = "";
vc.component._loadAllResourceStoreInfo(DEFAULT_PAGE, DEFAULT_ROWS);
});
vc.on('pagination', 'page_event', function (_currentPage) {
vc.component._loadAllResourceStoreInfo(_currentPage, DEFAULT_ROWS);
});
// 监听移除选中项
vc.on('chooseResourceStore4', 'removeSelectResourceStoreItem', function (_resId) {
vc.component.chooseResourceStoreInfo4.selectResourceStores.forEach((item, index) => {
if(item == _resId){
vc.component.chooseResourceStoreInfo4.selectResourceStores.splice(index, 1);
}
})
});
},
methods: {
_loadAllResourceStoreInfo: function (_page, _row) {
let _resOrderType = vc.component.chooseResourceStoreInfo4.resOrderType;
let _shType = '2806';
if (_resOrderType == '20000') {
_shType = '2807';
}
var param = {
params: {
page: _page,
row: _row,
communityId: vc.getCurrentCommunity().communityId,
resOrderType: _resOrderType,
shType: _shType,
resName: vc.component.chooseResourceStoreInfo4._currentResourceStoreName,
rstId: vc.component.chooseResourceStoreInfo4.rstId,
shId: vc.component.chooseResourceStoreInfo4.shId
}
};
//发送get请求
vc.http.get('chooseResourceStore',
'list',
param,
function (json) {
var _resourceStoreInfo = JSON.parse(json);
vc.component.chooseResourceStoreInfo4.resourceStores = _resourceStoreInfo.resourceStores;
vc.component.chooseResourceStoreInfo4.total = _resourceStoreInfo.total;
vc.component.chooseResourceStoreInfo4.records = _resourceStoreInfo.records;
vc.emit('pagination', 'init', {
total: vc.component.chooseResourceStoreInfo4.records,
dataCount: vc.component.chooseResourceStoreInfo4.total,
currentPage: _page
});
}, function () {
console.log('请求失败处理');
}
);
},
chooseResourceStore: function (_resourceStore) {
if (_resourceStore.hasOwnProperty('name')) {
_resourceStore.resourceStoreName = _resourceStore.name;
}
vc.emit($props.emitChooseResourceStore, 'chooseResourceStore', _resourceStore);
vc.emit($props.emitLoadData, 'listResourceStoreData', {
resourceStoreId: _resourceStore.resourceStoreId
});
$('#chooseResourceStoreModel').modal('hide');
},
queryResourceStores: function () {
vc.component._loadAllResourceStoreInfo(1, 10, vc.component.chooseResourceStoreInfo4._currentResourceStoreName);
},
getSelectResourceStores: function () {
var selectResourceStores = vc.component.chooseResourceStoreInfo4.selectResourceStores;
var resourceStores = vc.component.chooseResourceStoreInfo4.resourceStores;
if (selectResourceStores.length < 1) {
vc.toast("请选择需要采购的物品");
return;
}
var _resourceStores = [];
for (var i = 0; i < selectResourceStores.length; i++) {
for (j = 0; j < resourceStores.length; j++) {
if (selectResourceStores[i] == resourceStores[j].resId) {
resourceStores[j].remark = '';
_resourceStores.push(resourceStores[j])
}
}
}
//传参
vc.emit("viewResourceStoreInfo4", "setSelectResourceStores", _resourceStores);
$('#chooseResourceStoreModel4').modal('hide');
},
_listStorehouses: function (_page, _rows) {
var param = {
params: {
page: 1,
row: 100,
communityId: vc.getCurrentCommunity().communityId,
shType: '2806'
}
};
//发送get请求
vc.http.apiGet('resourceStore.listStorehouses',
param,
function (json, res) {
var _storehouseManageInfo = JSON.parse(json);
vc.component.chooseResourceStoreInfo4.storehouses = _storehouseManageInfo.data;
}, function (errInfo, error) {
console.log('请求失败处理');
}
);
},
_listResourceStoreTypes: function () {
var param = {
params: {
page: 1,
row: 100,
communityId: vc.getCurrentCommunity().communityId
}
};
//发送get请求
vc.http.get('resourceStoreTypeManage',
'list',
param,
function (json, res) {
var _resourceStoreTypeManageInfo = JSON.parse(json);
vc.component.chooseResourceStoreInfo4.resourceStoreTypes = _resourceStoreTypeManageInfo.data;
}, function (errInfo, error) {
console.log('请求失败处理');
}
);
},
checkAll: function (e) {
var checkObj = document.querySelectorAll('.checkItem'); // 获取所有checkbox项
if (e.target.checked) { // 判定全选checkbox的勾选状态
for (var i = 0; i < checkObj.length; i++) {
if (!checkObj[i].checked) { // 将未勾选的checkbox选项push到绑定数组中
vc.component.chooseResourceStoreInfo4.selectResourceStores.push(checkObj[i].value);
}
}
} else { // 如果是去掉全选则清空checkbox选项绑定数组
vc.component.chooseResourceStoreInfo4.selectResourceStores = [];
}
}
}
});
})(window.vc);