'use strict';
/**
*
*
* @author Mai
* @date
* @version
*/
const rptCustomObj = (function () {
// 审批人选择
const sAuditSelect = 'audit_select';
let stageFlow = [];
// 汇总表
const sGatherSelect = 'gather_select';
let gsObj = {
setting: null,
gsSheet: null,
grSheet: null,
tenderSourceTree: null,
grArray: [],
orgSelect: null,
};
// 期选择
const sStageSelect = 'stage_select';
const grSpreadSetting = {
baseCols: [
{title: '名称', colSpan: '1', rowSpan: '1', field: 'name', hAlign: 0, width: 180, formatter: '@', readOnly: true},
],
extraCols: [
{title: '%s', colSpan: '1', rowSpan: '1', field: '%s', hAlign: 1, vAlign: '1', width: 60, cellType: 'checkbox', readOnly: true},
],
emptyRows: 0,
headRows: 1,
headRowHeight: [32],
defaultRowHeight: 21,
headerFont: '12px 微软雅黑',
font: '12px 微软雅黑',
headColWidth: []
};
const gatherSelectSpreadObj = {
_getStageSelectHtml: function (valid) {
const html = [];
for (let i = 1; i <= valid; i++) {
html.push(``);
}
return html.join('');
},
_rebuildStageSelect: function () {
if (gsObj.setting.type === 'stage') {
const validStage = _.min(_.map(gsObj.grArray, 'stageCount'));
$('#gather-stage').html(this._getStageSelectHtml(validStage));
} else if (gsObj.setting.type === 'stage-zone') {
const validStage = _.max(_.map(gsObj.grArray, 'stageCount'));
$('#gather-stage-begin').html(this._getStageSelectHtml(validStage));
$('#gather-stage-end').html(this._getStageSelectHtml(validStage));
}
},
_addTender: function (tender) {
const gr = gsObj.grArray.find(function (x) {
return x.tid === tender.tid;
});
const t = {tid: tender.tid, name: tender.name, stageCount: tender.stageCount};
if (!gr) gsObj.grArray.push(t);
return t;
},
_removeTender: function (tender) {
const gri = gsObj.grArray.findIndex(function (x, i, arr) {
return x.tid === tender.tid;
});
if (gri >= 0) gsObj.grArray.splice(gri, 1);
},
reloadResultData: function () {
SpreadJsObj.reLoadSheetData(gsObj.grSheet);
this._rebuildStageSelect();
},
gsButtonClicked: function (e, info) {
if (!info.sheet.zh_setting) return;
const col = info.sheet.zh_setting.cols[info.col];
if (col.field !== 'selected') return;
const node = SpreadJsObj.getSelectObject(info.sheet);
node.selected = !node.selected;
if (node.children && node.children.length > 0) {
const posterity = gsObj.tenderSourceTree.getPosterity(node);
for (const p of posterity) {
p.selected = node.selected;
if (!p.children || p.children.length === 0){
if (p.selected) {
gatherSelectSpreadObj._addTender(p);
} else {
gatherSelectSpreadObj._removeTender(p);
}
}
}
SpreadJsObj.reLoadRowData(info.sheet, info.row, posterity.length + 1);
} else {
if (node.selected) {
gatherSelectSpreadObj._addTender(node);
} else {
gatherSelectSpreadObj._removeTender(node);
}
SpreadJsObj.reLoadRowData(info.sheet, info.row, 1);
}
gatherSelectSpreadObj.reloadResultData();
},
grButtonClicked: function (e, info) {
if (!info.sheet.zh_setting) return;
const col = info.sheet.zh_setting.cols[info.col];
if (col.field === 'name') return;
const node = SpreadJsObj.getSelectObject(info.sheet);
const refreshRows = [info.row];
node[col.field] = !node[col.field];
for (const rCol of info.sheet.zh_setting.cols) {
if (rCol.field !== 'name' && rCol.field !== col.field) {
node[rCol.field] = false;
}
}
if (node[col.field]) {
for (const [i, gra] of gsObj.grArray.entries()) {
if (gra[col.field] && gra.tid !== node.tid) {
gra[col.field] = false;
refreshRows.push(i);
}
}
}
SpreadJsObj.reLoadRowsData(info.sheet, refreshRows);
},
initSelectTenders: function (tenders) {
if (!tenders) return;
const specCol = gsObj.setting.special ? gsObj.setting.special : [];
const select = [];
for (const node of gsObj.tenderSourceTree.nodes) {
node.selected = false;
}
for (const t of tenders) {
const tender = gsObj.tenderSourceTree.nodes.find(function (x) { return x.tid === t.tid});
if (!tender) continue;
tender.selected = true;
select.push(tender);
const st = this._addTender(tender);
for (const sc of specCol) {
st[sc.key] = t[sc.key];
}
}
SpreadJsObj.reLoadColsData(gsObj.gsSheet, [0]);
if (select.length > 0) SpreadJsObj.locateTreeNode(gsObj.gsSheet, select[0].tmt_id);
this.reloadResultData();
},
};
const getStageFlowSelectHtml = function (select, id) {
const html = [];
html.push('');
return html.join('');
};
const checkAsSelectValid = function (validFlow, asSelect) {
for (const s of asSelect) {
const f = validFlow.find(function (x) {
return x.aid === s.aid && x.order === s.order;
});
if (!f) {
$('#audit-select-hint').html('本期审批流程发生变动,原审批人选择不适配,需重新选择').show();
return false;
}
}
$('#audit-select-hint').hide();
return true;
};
const initAuditSelect = function (asSetting, asSelect) {
const setting = JSON.parse(asSetting), select = asSelect;
$('#audit-select-title').html(setting.title);
if (setting.hideSign) {
$('#pnl_eSignature').hide();
} else {
$('#pnl_eSignature').show();
}
$('#pnl_audit_select div button').html('
' + (setting.caption || '审批人选择'));
const html = [];
for (const [i, s] of setting.select.entries()) {
html.push('
');
html.push('', s.title, ' | ');
html.push('', getStageFlowSelectHtml(s, 'sf-' + i), ' | ');
html.push('
');
}
$('#audit-select-list').html(html.join(''));
for (const [i, s] of setting.select.entries()) {
const obj = $('#sf-' + i);
const s = select[i];
obj[0].selectedIndex = s ? stageFlow.findIndex(function (x) {
return x.order === s.order && x.aid === s.aid;
}) : -1;
}
if (asSelect.length === 0 || !checkAsSelectValid(stageFlow, asSelect)) {
$('#audit-select').modal('show');
}
};
const initGrSpreadSetting = function (gsSetting) {
grSpreadSetting.cols = [];
for (const bc of grSpreadSetting.baseCols) {
grSpreadSetting.cols.push(bc);
if (bc.field === 'name') bc.width = gsSetting.nameColWidth ? gsSetting.nameColWidth : 180;
}
if (gsSetting.special) {
for (const s of gsSetting.special) {
for (const ec of grSpreadSetting.extraCols) {
const c = {};
c.title = ec.title.replace('%s', s.title);
c.colSpan = ec.colSpan;
c.field = ec.field.replace('%s', s.key);
c.hAlign = ec.hAlign;
c.width = s.width ? s.width : ec.width;
c.cellType = ec.cellType;
c.readOnly = ec.readOnly;
grSpreadSetting.cols.push(c);
}
}
}
};
const initGatherSelect = function (gsSetting, gsSelect, rptName, resolve = null) {
gsObj.grArray = [];
gsObj.setting = JSON.parse(gsSetting);
gsObj.orgSelect = gsSelect;
$('#gather-select-count').html(gsSelect ? gsSelect.tenders.length : 0);
$('#gather-select-title').html(gsObj.setting.title + (rptName ? '-' + rptName : ''));
initGrSpreadSetting(gsObj.setting);
SpreadJsObj.initSheet(gsObj.grSheet, grSpreadSetting);
// 初始化选择结果
SpreadJsObj.loadSheetData(gsObj.grSheet, SpreadJsObj.DataType.Data, gsObj.grArray);
gatherSelectSpreadObj.initSelectTenders(gsSelect ? gsSelect.tenders : []);
$('[name=gather-type]').hide();
if (gsObj.setting.type === 'month') $('#gather-by-month').show();
if (gsObj.setting.type === 'zone') $('#gather-by-zone').show();
if (gsObj.setting.type === 'stage') $('#gather-by-stage').show();
if (gsObj.setting.type === 'stage-zone') $('#gather-by-stage-zone').show();
if (gsSelect) {
if (gsSelect.zone) {
$('#gather-zone').val(gsSelect.zone ? gsSelect.zone : '');
} else if (gsSelect.month) {
$('#gather-month').val(gsSelect.month ? gsSelect.month: '');
} else if (gsSelect.stage) {
$('#gather-stage').val(gsSelect.stage || '');
} else if (gsSelect.stage_zone) {
const [stageBegin, stageEnd] = gsSelect.stage_zone ? gsSelect.stage_zone.split(':') : ['', ''];
$('#gather-stage-begin').val(stageBegin);
$('#gather-stage-end').val(stageEnd);
}
}
// 初始化
if (resolve) {
setTimeout(() => { $("#gather-select").modal('show'); }, 500);
} else {
$("#gather-select").modal('show');
}
$('#gather-select-ok').unbind('click');
$('#gather-select-ok').bind('click', () => {
rptCustomObj.resetGatherSelect(resolve);
$("#gather-select").modal('hide');
});
};
const initStageSelect = function (gsSetting, gsSelect, rptName, resolve = null) {
const setting = JSON.parse(gsSetting);
$('#stage-select-count').html(gsSelect && gsSelect.stages ? gsSelect.stages.length : 0);
$('#stage-select-title').html(setting.title + (rptName ? '-' + rptName : ''));
// 初始化选择结果
$('#stage-select-hint').attr('min-select', setting.min).attr('max-select', setting.max).hide();
for (const sc of $('[name=stage-select-check]')) {
sc.checked = false;
}
if (gsSelect && gsSelect.stages) {
for (const s of gsSelect.stages) {
$('#stage-select-' + s)[0].checked = true;
}
}
if (resolve) {
setTimeout(() => { $("#stage-select").modal('show'); }, 500);
} else {
$("#stage-select").modal('show');
}
$('#stage-select-ok').unbind('click');
$('#stage-select-ok').bind('click', () => {
rptCustomObj.resetStageSelect(resolve);
$("#stage-select").modal('hide');
});
};
const init = function (cDefine, sfData, cSelect, rptName, resolve = null) {
stageFlow = sfData;
if (cDefine && cDefine[sAuditSelect] && cDefine[sAuditSelect].enable && cDefine[sAuditSelect].setting) {
$('#pnl_audit_select').show();
initAuditSelect(cDefine[sAuditSelect].setting, cSelect ? cSelect[sAuditSelect] : []);
} else {
$('#pnl_eSignature').show();
$('#pnl_audit_select').hide();
}
if (cDefine && cDefine[sGatherSelect] && cDefine[sGatherSelect].enable && cDefine[sGatherSelect].setting) {
$('#pnl_gather_select').show();
initGatherSelect(cDefine[sGatherSelect].setting, cSelect ? cSelect[sGatherSelect] : null, rptName, resolve);
} else {
$('#pnl_gather_select').hide();
}
if (cDefine && cDefine[sStageSelect] && cDefine[sStageSelect].enable && cDefine[sStageSelect].setting) {
$('#pnl_stage_select').show();
initStageSelect(cDefine[sStageSelect].setting, cSelect ? cSelect[sStageSelect] : null, rptName, resolve);
} else {
$('#pnl_stage_select').hide();
}
};
const reloadReportData = function (result) {
// hintBox.unWaitBox();
let pageRst = result.data;
if (result.signatureRelInfo && result.signatureRelInfo.length > 0) {
CURRENT_ROLE_REL_ID = result.signatureRelInfo[0].id;
ROLE_REL_LIST = zTreeOprObj._parseRoleRelList(result.signatureRelInfo[0].rel_content);
STAGE_AUDIT = result.stageAudit;
rptSignatureHelper.originalRoleRelList = zTreeOprObj._parseRoleRelList(result.signatureRelInfo[0].rel_content);
if (current_stage_status === 3) {
rptSignatureHelper.mergeSignDate(pageRst, ROLE_REL_LIST, true);
rptSignatureHelper.mergeSignature(pageRst, ROLE_REL_LIST);
rptSignatureHelper.mergeSignAudit(pageRst, ROLE_REL_LIST, STAGE_AUDIT);
}
} else {
CURRENT_ROLE_REL_ID = -1;
ROLE_REL_LIST = [];
}
// if (ROLE_REL_LIST)
let canvas = zTreeOprObj.canvas;
if (pageRst && pageRst.items && pageRst.items.length > 0) {
zTreeOprObj.resetAfter(pageRst);
zTreeOprObj.currentRptPageRst = pageRst;
zTreeOprObj.maxPages = pageRst.items.length;
zTreeOprObj.currentPage = 1;
zTreeOprObj.displayPageValue();
let size = JpcCanvasOutput.getReportSizeInPixel(zTreeOprObj.currentRptPageRst, getScreenDPI());
canvas.width = size[0] + 20;
if (size[1] > size[0]) {
canvas.height = size[1] + 100;
} else {
canvas.height = size[1] + 50;
}
// zTreeOprObj.resetESignature(zTreeOprObj.currentRptPageRst);
rptSignatureHelper.buildSelectableAccount();
rptSignatureHelper.buildSelectableAccountUsed();
rptSignatureHelper.buildRoleDom(ROLE_LIST);
zTreeOprObj.showPage(1, canvas);
} else {
//返回了无数据表
JpcCanvasOutput.cleanCanvas(canvas);
JpcCanvasOutput.drawPageBorder(zTreeOprObj.currentRptPageRst, canvas, getScreenDPI());
}
rptCustomObj.init(result.customDefine, result.stageFlow, result.customSelect);
try {
if (is_debug && result.debugInfo) {
console.log('含有key的debug信息:');
for (const k in result.debugInfo.key) {
console.log(k + ':', ...result.debugInfo.key[k]);
}
//console.log(result.debugInfo.key);
console.log('其他debug信息:');
for (const di of result.debugInfo.other) {
console.log(...di);
}
}
} catch(err) {
}
zTreeOprObj.countChkedRptTpl();
};
const getCommonParams = function (data) {
data.pageSize = rptControlObj.getCurrentPageSize();
data.rpt_tpl_id = zTreeOprObj.currentNode.refId;
data.custCfg = CUST_CFG;
data.project_id = PROJECT_ID;
data.tender_id = TENDER_ID;
data.stage_id = getStageId();
data.stage_status = getStageStatus();
data.stage_order = getStageOrder();
data.stage_times = getStageTimes();
data.material_order = getMaterialOrder();
};
const resetAuditSelect = function () {
const selObj = $('select', '#audit-select-list');
const data = { audit_select: [], closeWatermark: getCloseWatermark() };
getCommonParams(data);
for (const s of selObj) {
const sf = stageFlow[s.selectedIndex];
if (!sf) {
$('#audit-select-hint').html('未选择' + s.attributes['sf-title'].value).show();
return;
}
data.audit_select.push({...sf, sort: s.selectedIndex});
}
$('#audit-select-hint').hide();
postData('/report/cDefine', data, function (result) {
reloadReportData(result);
$('#audit-select').modal('hide');
});
};
const resetGatherSelect = function (resolve = null) {
const data = {}, hintObj = $('#gather-hint');
if (!resolve) getCommonParams(data);
data[sGatherSelect] = {
tenders: [],
type: gsObj.setting.type,
};
const specCol = gsObj.setting.special ? gsObj.setting.special : [];
for (const sc of specCol) {
sc.sCount = 0;
}
for (const gra of gsObj.grArray) {
const ra = {tid: gra.tid};
for (const sc of specCol) {
if (gra[sc.key]) {
ra[sc.key] = true;
sc.sCount += 1;
}
}
data[sGatherSelect].tenders.push(ra);
}
for (const sc of specCol) {
if (sc.sCount === 0) {
hintObj.html('请选择 ' + sc.title).show();
return;
}
}
if (gsObj.setting.onlySpec) {
if (data[sGatherSelect].tenders.length > specCol.length) {
hintObj.html('请勿选择普通汇总项目').show();
return;
}
} else {
if (data[sGatherSelect].tenders.length <= specCol.length) {
hintObj.html('请至少选择1个普通汇总项目').show();
return;
}
}
if (gsObj.setting.type === 'month') {
data[sGatherSelect].month = $('#gather-month').val();
if (data[sGatherSelect].month === '') {
hintObj.html('请选择 汇总年月').show();
return;
}
} else if (gsObj.setting.type === 'zone') {
data[sGatherSelect].zone = $('#gather-zone').val();
if (data[sGatherSelect].zone === '') {
hintObj.html('请选择 汇总周期').show();
return;
} else if(data[sGatherSelect].zone.indexOf(' - ') < 0) {
hintObj.html('请选择 完整汇总周期').show();
return;
}
} else if (gsObj.setting.type === 'stage') {
data[sGatherSelect].stage = _.toInteger($('#gather-stage').val()) || 0;
const validStage = _.min(_.map(gsObj.grArray, 'stageCount'));
if (!data[sGatherSelect].stage) {
hintObj.html('请选择 汇总期').show();
return;
}
if (data[sGatherSelect].stage > validStage) {
hintObj.html('选择的期无效,请重新选择').show();
return;
}
} else if (gsObj.setting.type === 'stage-zone') {
const stageBegin = _.toInteger($('#gather-stage-begin').val()) || 0;
const stageEnd = _.toInteger($('#gather-stage-end').val()) || 0;
const validStage = _.max(_.map(gsObj.grArray, 'stageCount'));
if (!stageBegin || !stageEnd) {
hintObj.html('请选择 汇总开始期与结束期').show();
return;
}
if (stageEnd <= stageBegin) {
hintObj.html('结束期应大于开始期').show();
return;
}
if (stageEnd > validStage) {
hintObj.html('选择的期无效,请重新选择').show();
return;
}
data[sGatherSelect].stage_zone = stageBegin + ':' + stageEnd;
}
hintObj.hide();
if (resolve) {
resolve(data);
} else {
postData('/report/cDefine', data, function (result) {
reloadReportData(result);
const gather_select = customSelects.gather_select.find(function (x) {
return x.id === zTreeOprObj.currentNode.refId;
});
if (gather_select) {
gather_select.gather_select = data[sGatherSelect];
}
$('#gather-select-count').html(data[sGatherSelect].tenders.length);
$('#gather-select').modal('hide');
});
}
};
const resetStageSelect = function (resolve = null) {
const data = {}, hintObj = $('#stage-select-hint');
if (!resolve) getCommonParams(data);
data[sStageSelect] = {
stages: [],
};
for (const sc of $('[name=stage-select-check]:checked')) {
data[sStageSelect].stages.push(parseInt($(sc).attr('stage-order')));
}
if (data[sStageSelect].stages.length < parseInt(hintObj.attr('min-select'))) {
hintObj.html('请至少选择' + hintObj.attr('min-select') + '期数据').show();
return;
} else if (data[sStageSelect].stages.length > parseInt(hintObj.attr('max-select'))) {
hintObj.html('最多只能选择' + hintObj.attr('max-select') + '期数据').show();
return;
}
hintObj.hide();
if (resolve) {
resolve(data);
} else {
postData('/report/cDefine', data, function (result) {
reloadReportData(result);
const stage_select = customSelects.stage_select.find(function (x) {
return x.id === zTreeOprObj.currentNode.refId;
});
if (stage_select) {
stage_select.stage_select = data[sStageSelect];
}
$('#stage-select-count').html(data[sStageSelect].stages.length);
$('#stage-select').modal('hide');
});
}
};
const _createTenderTreeForCross = function (tenders, category, rstItems) {
if (rstItems instanceof Array && rstItems.length === 0) {
//1. 先确定category方式(‘年份’、‘姓名’、‘类型’)及顺序
let ctArr = [];
for (let cat of category) {
if (cat.level) {
ctArr.push(cat);
}
}
ctArr.sort(function (item1, item2) {
return parseInt(item1.level) - parseInt(item2.level);
}); //保证顺序
const _buildDeftNodes = function(startIdx, parentItem) {
if (ctArr.length > startIdx) {
let item = {};
if (parentItem instanceof Array) {
parentItem.push(item);
} else {
parentItem.items.push(item);
}
for (let idx = 0; idx < ctArr[startIdx].value.length; idx++) {
item.name = ctArr[startIdx].value[idx].value;
item.id = ctArr[startIdx].id; //这个相当于类型id,如68:年份 69:类型,105:姓名
item.value_id = ctArr[startIdx].value[idx].id; //每个大类下又有小类,如:2018/2019, 土建/房建, 具体用户姓名...
item.cid = ctArr[startIdx].value[idx].cid; //这个值 = item.id
item.pid = ctArr[startIdx].value[idx].pid; //project id?
item.tenderId = -1;
item.selected = false;
item.isParent = true;
item.last_stage = -1;
item.items = [];
_buildDeftNodes(startIdx + 1, item);
}
}
};
// const _get
//2. 创建基本结构
_buildDeftNodes(0, rstItems);
//3. 挂上标段
const _putupTheTender = function (tender) {
const _findType = function (parentItem) {
for (let cat of tender.category) {
if (cat.cid === parentItem.cid && cat.value === parentItem.value_id) {
if (parentItem.items.length === 0) {
// 到底了,挂上
let lastStage = -1;
if (tender.lastStage) {
lastStage = tender.lastStage.times;
}
let item = {
name: tender.name,
id : -1,
value_id: cat.value,
cid : cat.cid,
pid : -1,
tenderId: tender.id,
selected : false,
isParent: true,
last_stage: lastStage,
items : [],
}
parentItem.items.push(item);
} else {
for (let nodeItem of parentItem.items) {
_findType(tender, nodeItem);
}
}
break;
}
}
};
for (let nodeItem of rstItems) {
_findType(nodeItem);
}
};
for (let tender of tenders) {
_putupTheTender(tender);
}
}
};
const initTenderTreeForCross = function (tenders, category) {
//用户跨标段设置电子签名用
let rstItems = [];
_createTenderTreeForCross(tenders, category, rstItems);
_buildTenderRow('batch_projects_individual', rstItems);
};
const _buildTenderRow = function(tbDomId, topTreeNodes) {
let tbDom = $("#" + tbDomId);
tbDom.empty();
tbDom.append('名称 | 计量期 | 签名 | 选择 |
');
let _pushRptLine = function (nodeItem, level) {
if (nodeItem.isParent) {
tbDom.append(' ' + nodeItem.name + ' | | | |
')
// 2019 |
} else {
//
}
};
for (const topItem of topTreeNodes) {
_pushRptLine(topItem, 0);
}
}
const initTenderTree = function (tenders, category) {
const gsSpread = SpreadJsObj.createNewSpread($('#gather-source-spread')[0]);
gsObj.gsSheet = gsSpread.getActiveSheet();
const spreadSetting = {
cols: [
{title: '选择', field: 'selected', hAlign: 1, width: 40, formatter: '@', cellType: 'checkbox', readOnly: true},
{title: '名称', field: 'name', hAlign: 0, width: 180, formatter: '@', readOnly: true, cellType: 'tree'},
{title: '期数', field: 'phase', hAlign: 1, width: 60, formatter: '@', readOnly: true},
{title: '审批状态', field: 'status', hAlign: 1, width: 60, formatter: '@', readOnly: true}
],
emptyRows: 0,
headRows: 1,
headRowHeight: [32],
defaultRowHeight: 21,
headerFont: '12px 微软雅黑',
font: '12px 微软雅黑',
headColWidth: [0],
selectedBackColor: '#fffacd',
};
SpreadJsObj.initSheet(gsObj.gsSheet, spreadSetting);
gsObj.tenderSourceTree = Tender2Tree.convert(category, tenders, ledgerAuditConst, auditConst);
SpreadJsObj.loadSheetData(gsObj.gsSheet, SpreadJsObj.DataType.Tree, gsObj.tenderSourceTree);
gsSpread.bind(spreadNS.Events.ButtonClicked, gatherSelectSpreadObj.gsButtonClicked);
const grSpread = SpreadJsObj.createNewSpread($('#gather-result-spread')[0]);
gsObj.grSheet = grSpread.getActiveSheet();
grSpread.bind(spreadNS.Events.ButtonClicked, gatherSelectSpreadObj.grButtonClicked);
$('#gather-hint').hide();
$('#gather-select').bind('shown.bs.modal', function () {
if (gsSpread) gsSpread.refresh();
if (grSpread) grSpread.refresh();
});
$('.datepicker-here').datepicker({
autoClose: true,
});
};
const comfirmSelectPromise = function (rptName, gather_select) {
const promise = new Promise(function (resolve, reject) {
init(gather_select.custom_define, customSelects.stageFlow, gather_select, rptName, resolve, reject);
});
return promise;
};
const getCustomSelect = async function (params) {
if (!params.rpt_ids || params.rpt_ids.length === 0) return;
const currentRptId = zTreeOprObj.currentNode ? zTreeOprObj.currentNode.refId : -1;
params.customSelect = [];
const chkNodes = zTreeOprObj.treeObj.getCheckedNodes(true);
for (const rptId of params.rpt_ids) {
const gather_select = customSelects.gather_select.find(function (x) {
return x.id === rptId;
});
const stage_select = customSelects.stage_select.find(function (x) {
return x.id === rptId;
});
if (gather_select && gather_select.custom_define && gather_select.custom_define[sGatherSelect].enable) {
if (rptId === currentRptId) {
const data = {};
data[sGatherSelect] = gather_select[sGatherSelect];
params.customSelect.push(data);
} else {
const chkNode = chkNodes.find(function (x) { return x.refId === rptId});
params.customSelect.push(await comfirmSelectPromise(chkNode ? chkNode.name : '', gather_select));
// $('#gather-select').modal('hide');
}
} else if (stage_select && stage_select.custom_define && stage_select.custom_define[sStageSelect].enable) {
if (rptId === currentRptId) {
const data = {};
data[sStageSelect] = stage_select[sStageSelect];
params.customSelect.push(data);
} else {
const chkNode = chkNodes.find(function (x) { return x.refId === rptId});
params.customSelect.push(await comfirmSelectPromise(chkNode ? chkNode.name : '', stage_select));
// $('#stage-select').modal('hide');
}
} else {
params.customSelect.push(null);
}
}
};
const showMaterialSelect = function () {
const needShow = function () {
if (zTreeOprObj.currentNode) {
const ms = dataSelects.material_select.find(function (x) { return x.id === zTreeOprObj.currentNode.refId});
if (ms) return true;
}
const chkNodes = zTreeOprObj.treeObj.getCheckedNodes(true);
for (const node of chkNodes) {
const ms = dataSelects.material_select.find(function (x) { return x.id === node.refId});
if (ms) return true;
}
return false;
};
if (needShow()) {
$('#material').show();
} else {
$('#material').hide();
}
};
const changeMaterial = function (obj) {
$('#material-select').attr('m-order', $(obj).attr('m-order')).html(obj.innerText);
};
return {
init,
resetAuditSelect, resetGatherSelect, resetStageSelect,
initTenderTree,
initTenderTreeForCross,
getCustomSelect,
showMaterialSelect, changeMaterial,
};
})();