diff --git a/明细单元格多字段类型整合方法.js b/明细单元格多字段类型整合方法.js new file mode 100644 index 0000000..c62e41d --- /dev/null +++ b/明细单元格多字段类型整合方法.js @@ -0,0 +1,46 @@ +function detMultiFieldCombiner(detNum, handle_fie, aim_fies, hidden_class, fieNum) { + let var0 = fieNum == undefined ? aim_fies.length : fieNum; + let var1 = WfForm.getDetailAllRowIndexStr('detail_' + detNum); + if (var1.length > 0) { + var1.split(",").forEach(rowIndex => { + let var2; + let var3 = aim_fies; + let var4 = WfForm.getFieldValue(handle_fie + "_" + rowIndex); + let var5 = aim_fies.find(e => e.value == var4); + var5 = var5 == undefined ? aim_fies[0] : var5; + var2 = setInterval(() => { + for (let i = 0; i < var3.length; i++) { + if ($(`.${var3[i].fieldId}_${rowIndex}_swapDiv`).length > 0) { + $(`.${var3[i].fieldId}_${rowIndex}_swapDiv`)[0].parentElement.setAttribute('colspan', `${var0}`); + $(`.${var3[i].fieldId}_${rowIndex}_swapDiv`)[0].parentElement.classList.add(hidden_class); + } else { + var3 = var3.slice(i); + return; + } + } + clearInterval(var2); + $(`.${var5.fieldId}_${rowIndex}_swapDiv`)[0].parentElement.classList.remove(hidden_class); + }, 50); + }); + } + + WfForm.registerAction(WfForm.ACTION_ADDROW + (detNum + ''), function (rowIndex) { + let var2 = WfForm.getFieldValue(handle_fie + "_" + rowIndex); + let var3 = aim_fies.find(e => e.value == var2); + var3 = var3 == undefined ? aim_fies[0] : var3; + aim_fies.forEach(e => { + $(`.${e.fieldId}_${rowIndex}_swapDiv`)[0].parentElement.classList.add(hidden_class); + $(`.${e.fieldId}_${rowIndex}_swapDiv`)[0].parentElement.setAttribute('colspan', `${var0}`); + }); + $(`.${var3.fieldId}_${rowIndex}_swapDiv`)[0].parentElement.classList.remove(hidden_class); + }); + + WfForm.bindDetailFieldChangeEvent(handle_fie, function (id, rowIndex, value) { + let var2 = aim_fies.find(e => e.value == value); + var2 = var2 == undefined ? aim_fies[0] : var2; + aim_fies.forEach(e => { + $(`.${e.fieldId}_${rowIndex}_swapDiv`)[0].parentElement.classList.add(hidden_class); + }); + $(`.${var2.fieldId}_${rowIndex}_swapDiv`)[0].parentElement.classList.remove(hidden_class); + }); +} \ No newline at end of file