//작업자 popup list
let view_wperidpage = new wijmo.collections.CollectionView(getData_wperid());
setGroups(true);
var wperidGrid = new wijmo.grid.FlexGrid('#wperidGrid_div', {
deferResizing: true,
showMarquee: true,
alternatingRowStep: 0,
autoGenerateColumns: false,
columns: [
{ binding: 'linenm',width: '*', header: '라인', width: '*', align:"center", format: '*' },
{ binding: 'wflagnm', width: '1*', header: '공정', width: '*', align:"center", format: '*' },
{ binding: 'wperid', width: '1*', header: '코드', width: '*', align:"center", format: '*' },
{
binding: 'wpernm',
width: '1*',
header: '작업자',
align:"center",
cellTemplate: wijmo.grid.cellmaker.CellMaker.makeLink({
text: '<b>${item.wpernm}</b>',
click: (e, ctx) => {
wperidChk(ctx.item.wperid, ctx.item.wpernm );
}
})
}
],
itemsSource: view_wperidpage
});
// 선택기 생성
let selector = new wijmo.grid.selector.Selector(wperidGrid, {
itemChecked: () => {
showCheckedCount();
}
});
// 그룹 전환
document.getElementById('groups').addEventListener('click', e => {
setGroups(e.target.checked);
});
function setGroups(groupsOn) {
let groups = view_wperidpage.groupDescriptions;
groups.clear();
if (groupsOn) {
groups.push(new wijmo.collections.PropertyGroupDescription('linenm'), new wijmo.collections.PropertyGroupDescription('wflagnm'));
}
}
// 헤더 열 전환
document.getElementById('header').addEventListener('click', e => {
setHeaderColumn(e.target.checked);
});
function setHeaderColumn(headerOn) {
wperidGrid.headersVisibility = headerOn
? wijmo.grid.HeadersVisibility.All
: wijmo.grid.HeadersVisibility.Column;
selector.column = headerOn
? wperidGrid.rowHeaders.columns[0]
: wperidGrid.columns[0];
}
// 체크된 항목 표시
showCheckedCount();
function showCheckedCount() {
let cnt = document.getElementById('checked-count'), sel = wperidGrid.rows.filter(r => r.isSelected);
console.log("sel", sel)
cnt.textContent = sel.length.toString();
}
// 작업자 데이터 수집
function getData_wperid(){
var WperidDto = [[${wperidDto}]];
var data03 = [];
var cnt = 1;
for (var i = 0; i < WperidDto.length; i++) {
data03.push({
id: i,
index: cnt,
linenm:WperidDto[i]["linenm"],
linecd:WperidDto[i]["linecd"],
wflagcd:WperidDto[i]["wflagcd"],
wflagnm:WperidDto[i]["wflagnm"],
wperid:WperidDto[i]["wperid"],
wpernm: WperidDto[i]["wpernm"]
});
cnt++;
}
return data03
}
function pickOne(items) {
return items[randBetween(0, items.length - 1)];
}
function randBetween(min, max) {
return Math.floor(Math.random() * (max - min + 1) + min);
}