MicroCommunityWeb/public/components/common/chooseResourceStaff/chooseResourceStaff.js

218 lines
10 KiB
JavaScript

(function (vc) {
var DEFAULT_PAGE = 1;
var DEFAULT_ROWS = 10;
vc.extends({
propTypes: {
emitChooseResourceStore: vc.propTypes.string,
emitLoadData: vc.propTypes.string
},
data: {
chooseResourceStaffInfo: {
resourceStores: [],
selectResourceStores: [],
_currentResourceStoreName: '',
parentRstId: '',
rstId: '',
// shId: '',
storehouses: [],
resourceStoreTypes: [],
resourceStoreSonTypes: [],
}
},
watch: { // 监视双向绑定的数据数组
chooseResourceStaffInfo: {
handler() { // 数据数组有变化将触发此函数
if (vc.component.chooseResourceStaffInfo.selectResourceStores.length == vc.component.chooseResourceStaffInfo.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('chooseResourceStaff', 'openChooseResourceStaffModel', function (_param) {
$('#chooseResourceStaffModel').modal('show');
vc.component.chooseResourceStaffInfo._currentResourceStoreName = "";
vc.component._loadAllResourceStaffInfo(DEFAULT_PAGE, DEFAULT_ROWS);
});
vc.on('pagination', 'page_event', function (_currentPage) {
vc.component._loadAllResourceStaffInfo(_currentPage, DEFAULT_ROWS);
});
// 监听移除选中项
vc.on('chooseResourceStaff', 'removeSelectResourceStaffItem', function (_resId) {
vc.component.chooseResourceStaffInfo.selectResourceStores.forEach((item, index) => {
if (item == _resId) {
vc.component.chooseResourceStaffInfo.selectResourceStores.splice(index, 1);
}
})
});
},
methods: {
_loadAllResourceStaffInfo: function (_page, _row) {
var param = {
params: {
page: _page,
row: _row,
communityId: vc.getCurrentCommunity().communityId,
resName: vc.component.chooseResourceStaffInfo._currentResourceStoreName,
parentRstId: vc.component.chooseResourceStaffInfo.parentRstId,
rstId: vc.component.chooseResourceStaffInfo.rstId,
giveType: 1
// shId: vc.component.chooseResourceStaffInfo.shId
}
};
//发送get请求
vc.http.apiGet('resourceStore.listUserStorehouses',
param,
function (json) {
var _resourceStaffInfo = JSON.parse(json);
vc.component.chooseResourceStaffInfo.resourceStores = _resourceStaffInfo.data;
vc.component.chooseResourceStaffInfo.total = _resourceStaffInfo.total;
vc.component.chooseResourceStaffInfo.records = _resourceStaffInfo.records;
vc.emit('pagination', 'init', {
total: vc.component.chooseResourceStaffInfo.records,
dataCount: vc.component.chooseResourceStaffInfo.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._loadAllResourceStaffInfo(1, 10, vc.component.chooseResourceStaffInfo._currentResourceStoreName);
},
getSelectResourceStores: function () {
var selectResourceStores = vc.component.chooseResourceStaffInfo.selectResourceStores;
console.log(selectResourceStores);
var resourceStores = vc.component.chooseResourceStaffInfo.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.push({
resId: resourceStores[j].resId,
resName: resourceStores[j].resName,
resCode: resourceStores[j].resCode,
price: resourceStores[j].price,
stock: resourceStores[j].stock,
parentRstName: resourceStores[j].parentRstName,
rstName: resourceStores[j].rstName,
parentRstId: resourceStores[j].parentRstId,
rstId: resourceStores[j].rstId,
isFixed: resourceStores[j].isFixed,
isFixedName: resourceStores[j].isFixedName,
description: resourceStores[j].description,
unitCodeName: resourceStores[j].unitCodeName,
miniStock: resourceStores[j].miniStock,
miniUnitCodeName: resourceStores[j].miniUnitCodeName,
miniUnitStock: resourceStores[j].miniUnitStock
})
}
}
}
//传参
vc.emit($props.emitChooseResourceStore, "setSelectResourceStores", _resourceStores);
$('#chooseResourceStaffModel').modal('hide');
},
_listStorehouses: function (_page, _rows) {
var param = {
params: {
page: 1,
row: 100,
communityId: vc.getCurrentCommunity().communityId
}
};
//发送get请求
vc.http.apiGet('resourceStore.listStorehouses',
param,
function (json, res) {
var _storehouseManageInfo = JSON.parse(json);
vc.component.chooseResourceStaffInfo.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.chooseResourceStaffInfo.resourceStoreTypes = _resourceStoreTypeManageInfo.data;
}, function (errInfo, error) {
console.log('请求失败处理');
}
);
},
_listResourceStoreSonTypes: function () {
vc.component.chooseResourceStaffInfo.rstId = '';
vc.component.chooseResourceStaffInfo.resourceStoreSonTypes = [];
if (vc.component.chooseResourceStaffInfo.parentRstId == '') {
return;
}
var param = {
params: {
page: 1,
row: 100,
communityId: vc.getCurrentCommunity().communityId,
parentId: vc.component.chooseResourceStaffInfo.parentRstId
}
};
//发送get请求
vc.http.get('resourceStoreTypeManage',
'list',
param,
function (json, res) {
var _resourceStoreTypeManageInfo = JSON.parse(json);
vc.component.chooseResourceStaffInfo.resourceStoreSonTypes = _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.chooseResourceStaffInfo.selectResourceStores.push(checkObj[i].value);
}
}
} else { // 如果是去掉全选则清空checkbox选项绑定数组
vc.component.chooseResourceStaffInfo.selectResourceStores = [];
}
}
}
});
})(window.vc);