diff --git a/src/app/pages/basic-data/terminal/terminal.component.html b/src/app/pages/basic-data/terminal/terminal.component.html index 7b3fd53..a5ddb82 100644 --- a/src/app/pages/basic-data/terminal/terminal.component.html +++ b/src/app/pages/basic-data/terminal/terminal.component.html @@ -5,6 +5,8 @@
@@ -36,7 +38,8 @@ - + {{i+1}} {{terminal.terminalCode}} {{terminal.terminalName}} diff --git a/src/app/pages/basic-data/terminal/terminal.component.ts b/src/app/pages/basic-data/terminal/terminal.component.ts index 52426c1..ab6451a 100644 --- a/src/app/pages/basic-data/terminal/terminal.component.ts +++ b/src/app/pages/basic-data/terminal/terminal.component.ts @@ -20,9 +20,15 @@ SEARCH = ''; //手动输入条件 FLT_POS = 1; //过滤还是定位 SEL_COL = ''; //选择列名 +//下拉框 +public filterItems = { + +} + terminals : Array; public row_state: any = { renderFlight: {} }; public render_data: Array = []; //显示数据,即需要显示的数据 +public return_data: Array = []; //下拉框显示数据 ngOnInit() { this.terminals = this.basicDataService.terminal; this.basicDataService.terminal_subject.subscribe( @@ -42,160 +48,95 @@ ngOnInit() { tableCont.addEventListener('scroll',scrollHandle); } -//刷新 -clearFiter(){ - $("#inputerInfo").val(""); //清空过滤或查找定位文本框 - this.ngOnInit(); +/** + * 选中某行 + * @param i + */ +selectRow(i) { + this.row_state = i; } + //输入框回车事件 inputEnter() { if (this.FLT_POS === 1) { - this.selectChange() + this.inputFilter(this.terminals) } else { - this.selectChange() - this.inputPosition(this.render_data) + this.inputFilter(this.terminals) + this.inputPosition(this.terminals) } } //下拉框选择筛选 selectChange() { -let filter_data = []; -let filterterminals = this.render_data; -this.render_data.forEach(item => { - filter_data.push(Object.assign({}, item)); -}) -if (this.FLT_POS === 1) { - this.inputFilter(filter_data); -} else { - this.terminals = filter_data; - this.row_state = this.terminals.length > 0 ? this.terminals[0] : { renderFlight: {} }; -} -//下拉框筛选 -filter_data = filter_data.filter(item => { - if (item) { - let is_satis = true; - for (const key in filterterminals) { - if (filterterminals.hasOwnProperty(key) && filterterminals[key]) { - if (item[key] === filterterminals[key]) { - is_satis = true; - continue; - } else { - is_satis = false; - break; + this.return_data = this.terminals.filter(item=>{ + let is_satis = true; + for (const key in this.filterItems) { + if (this.filterItems.hasOwnProperty(key) && this.filterItems[key]) { + if (item[key] === this.filterItems[key]) { + is_satis = true; + continue; + } else { + is_satis = false; + break; + } } - } - } - return is_satis; - } else if (item) { - let is_satis = true; - for (const key in filterterminals) { - if (filterterminals.hasOwnProperty(key) && filterterminals[key]) { - if (item[key] === filterterminals[key]) { - is_satis = true; - continue; - } else { - is_satis = false; - break; - } - - } - } - return is_satis; - } else { - let pre_satis = true; - let rea_satis = true; - for (const key in filterterminals) { - if (filterterminals.hasOwnProperty(key) && filterterminals[key]) { - if (item[key] === filterterminals[key]) { - pre_satis = true; - continue; - } else { - pre_satis = false; - break; - } - - } - } - for (const key in filterterminals) { - if (filterterminals.hasOwnProperty(key) && filterterminals[key]) { - if (item[key] === filterterminals[key]) { - rea_satis = true; - continue; - } else { - rea_satis = false; - break; - } - - } - } - - if (pre_satis && !rea_satis) { - item = item; - return pre_satis; - } else if (!pre_satis && rea_satis) { - item = item; - return rea_satis; - } else if (pre_satis && rea_satis) { - return pre_satis && rea_satis; - } else { - return false; - } - } -}) + return is_satis; + }) + this.render_data = this.return_data; } //输入框筛选 inputFilter(filterData) { -if (this.SEARCH) { - if (this.SEL_COL) { - let sel_col = this.SEL_COL; - filterData = filterData.filter(item => { - if (item[sel_col]) { - if (item[sel_col].toString().match(new RegExp(this.SEARCH, 'i'))) { - return true; - } - } else { - if (this.SEARCH) { - return false; - } else { - return true; - } - } - }) - - } else { - filterData = filterData.filter(item => { - let is_satis = false; - for (const key in item) { - if (item.hasOwnProperty(key)) { - if (item[key]) { - if (item[key].toString().match(new RegExp(this.SEARCH, 'i'))) { - is_satis = true; - break; - } else { - is_satis = false; - continue; - } - } else { - if (this.SEARCH) { - is_satis = false; - continue; - } else { - is_satis = true; - break; - } + if (this.SEARCH) { + if (this.SEL_COL) { + let sel_col = this.SEL_COL; + filterData = filterData.filter(item => { + if (item[sel_col]) { + if (item[sel_col].toString().match(new RegExp(this.SEARCH, 'i'))) { + return true; } } else { - continue; + if (this.SEARCH) { + return false; + } else { + return true; + } } - } - return is_satis; - }) + }) + + } else { + filterData = filterData.filter(item => { + let is_satis = false; + for (const key in item) { + if (item.hasOwnProperty(key)) { + if (item[key]) { + if (item[key].toString().match(new RegExp(this.SEARCH, 'i'))) { + is_satis = true; + break; + } else { + is_satis = false; + continue; + } + } else { + if (this.SEARCH) { + is_satis = false; + continue; + } else { + is_satis = true; + break; + } + } + } else { + continue; + } + } + return is_satis; + }) + } } -} - this.terminals = filterData; - this.row_state = this.terminals.length > 0 ? this.terminals[0] : { renderFlight: {} }; + this.render_data = filterData; + this.row_state = this.render_data.length > 0 ? this.render_data[0] : { renderFlight: {} }; } positionArray: Array = []; @@ -258,5 +199,5 @@ inputPosition(filterData) { } else { alert('没有搜索到相关数据'); } - } + } }