|
@@ -37,6 +37,19 @@ $(document).ready(() => {
|
|
if (!filter || unitTree.nodes.length === 0) return unitTree;
|
|
if (!filter || unitTree.nodes.length === 0) return unitTree;
|
|
filterUnitTree.clearDatas();
|
|
filterUnitTree.clearDatas();
|
|
const filterPath = [];
|
|
const filterPath = [];
|
|
|
|
+ const checkFullPath = function (checkPath, valuePath) {
|
|
|
|
+ if (valuePath.indexOf(checkPath + '-') >= 0) return true;
|
|
|
|
+
|
|
|
|
+ const pathArray = checkPath.split('-');
|
|
|
|
+ const tmpArray = [];
|
|
|
|
+ for (let i = 0, iLen = pathArray.length; i < iLen; i++) {
|
|
|
|
+ tmpArray.push(pathArray.slice(0, i+1).join('-'));
|
|
|
|
+ }
|
|
|
|
+ for (const ta of tmpArray) {
|
|
|
|
+ if (ta === valuePath) return true;
|
|
|
|
+ }
|
|
|
|
+ return false;
|
|
|
|
+ };
|
|
for (const node of unitTree.nodes) {
|
|
for (const node of unitTree.nodes) {
|
|
if ((node.code && node.code.indexOf(filter) >= 0) || (node.b_code && node.b_code.indexOf(filter) >= 0)
|
|
if ((node.code && node.code.indexOf(filter) >= 0) || (node.b_code && node.b_code.indexOf(filter) >= 0)
|
|
|| (node.name && node.name.indexOf(filter) >= 0) || (node.pos_name && node.pos_name.indexOf(filter) >= 0))
|
|
|| (node.name && node.name.indexOf(filter) >= 0) || (node.pos_name && node.pos_name.indexOf(filter) >= 0))
|
|
@@ -44,7 +57,7 @@ $(document).ready(() => {
|
|
}
|
|
}
|
|
for (const node of unitTree.nodes) {
|
|
for (const node of unitTree.nodes) {
|
|
for (const fp of filterPath) {
|
|
for (const fp of filterPath) {
|
|
- if (fp.indexOf(node.full_path) >= 0 || node.full_path.indexOf(fp) >= 0) {
|
|
|
|
|
|
+ if (checkFullPath(fp, node.full_path)) {
|
|
filterUnitTree.addData(node, ['id', 'ledger_id', 'ledger_pid', 'order', 'level', 'full_path', 'pos_name',
|
|
filterUnitTree.addData(node, ['id', 'ledger_id', 'ledger_pid', 'order', 'level', 'full_path', 'pos_name',
|
|
'code', 'b_code', 'name', 'unit', 'unit_price', 'quantity', 'total_price', 'drawing_code_merge', 'memo_merge']);
|
|
'code', 'b_code', 'name', 'unit', 'unit_price', 'quantity', 'total_price', 'drawing_code_merge', 'memo_merge']);
|
|
break;
|
|
break;
|
|
@@ -58,7 +71,9 @@ $(document).ready(() => {
|
|
const node = SpreadJsObj.getSelectObject(xmjSheet);
|
|
const node = SpreadJsObj.getSelectObject(xmjSheet);
|
|
SpreadJsObj.resetTopAndSelect(unitSheet);
|
|
SpreadJsObj.resetTopAndSelect(unitSheet);
|
|
if (node && node.unitTree) {
|
|
if (node && node.unitTree) {
|
|
- SpreadJsObj.loadSheetData(unitSheet, SpreadJsObj.DataType.Tree, unitTreeObj.getFilterUnitTree(node.unitTree));
|
|
|
|
|
|
+ const relaTree = unitTreeObj.getFilterUnitTree(node.unitTree);
|
|
|
|
+ if ($('#unit-show-1')[0].checked) relaTree.expandByLevel(1);
|
|
|
|
+ SpreadJsObj.loadSheetData(unitSheet, SpreadJsObj.DataType.Tree, relaTree);
|
|
} else {
|
|
} else {
|
|
SpreadJsObj.initSheet(unitSheet, unitSpreadSetting);
|
|
SpreadJsObj.initSheet(unitSheet, unitSpreadSetting);
|
|
}
|
|
}
|
|
@@ -203,7 +218,16 @@ $(document).ready(() => {
|
|
$('#unit-filter').bind('keydown', function (e) {
|
|
$('#unit-filter').bind('keydown', function (e) {
|
|
const evt = window.event || e;
|
|
const evt = window.event || e;
|
|
if (e.keyCode == 13) unitTreeObj.loadCurUnitData();
|
|
if (e.keyCode == 13) unitTreeObj.loadCurUnitData();
|
|
- })
|
|
|
|
|
|
+ });
|
|
|
|
+ $('#unit-show-1').bind('change', function () {
|
|
|
|
+ if (this.checked) {
|
|
|
|
+ unitSheet.zh_tree.expandByLevel(1);
|
|
|
|
+ SpreadJsObj.refreshTreeRowVisible(unitSheet);
|
|
|
|
+ } else {
|
|
|
|
+ unitSheet.zh_tree.expandByCustom(() => { return true; });
|
|
|
|
+ SpreadJsObj.refreshTreeRowVisible(unitSheet);
|
|
|
|
+ }
|
|
|
|
+ });
|
|
|
|
|
|
// 显示层次
|
|
// 显示层次
|
|
(function (select, sheet) {
|
|
(function (select, sheet) {
|