From d299e0ee1df5794a2833b9e42ee980c8ee57d300 Mon Sep 17 00:00:00 2001 From: liweijin <610336687@qq.com> Date: Tue, 13 Nov 2018 09:48:48 +0800 Subject: [PATCH 1/7] =?UTF-8?q?=E4=B8=AA=E4=BA=BA=E8=AE=BE=E7=BD=AE-?= =?UTF-8?q?=E9=A2=9C=E8=89=B2=E8=AE=BE=E7=BD=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- package-lock.json | 5 ++ package.json | 1 + .../color-settings.component.html | 11 ++++ .../color-settings.component.scss | 22 +++++++ .../color-settings.component.spec.ts | 25 ++++++++ .../color-settings.component.ts | 28 +++++++++ .../personal-settings.component.html | 26 ++++---- .../personal-settings.component.scss | 61 +++++++++++-------- .../personal-settings.component.ts | 16 +++-- .../system-management.module.ts | 9 ++- 10 files changed, 157 insertions(+), 47 deletions(-) create mode 100644 src/app/pages/system-management/personal-settings/color-settings/color-settings.component.html create mode 100644 src/app/pages/system-management/personal-settings/color-settings/color-settings.component.scss create mode 100644 src/app/pages/system-management/personal-settings/color-settings/color-settings.component.spec.ts create mode 100644 src/app/pages/system-management/personal-settings/color-settings/color-settings.component.ts diff --git a/package-lock.json b/package-lock.json index ed543a1..dababff 100644 --- a/package-lock.json +++ b/package-lock.json @@ -6546,6 +6546,11 @@ "tslib": "1.9.3" } }, + "ngx-color-picker": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/ngx-color-picker/-/ngx-color-picker-7.0.1.tgz", + "integrity": "sha512-QPv4LA0OE8fWBguM06mMMILufBvV2KbROT5CvFPNxW1Z1TwOuE6nixXHi0k2aPSszHKsjppxZlVc2kXOmv5voQ==" + }, "nice-try": { "version": "1.0.5", "resolved": "http://registry.npm.taobao.org/nice-try/download/nice-try-1.0.5.tgz", diff --git a/package.json b/package.json index c8c4ec3..6d0f912 100644 --- a/package.json +++ b/package.json @@ -25,6 +25,7 @@ "font-awesome": "^4.7.0", "jquery": "^3.3.1", "ng-zorro-antd": "^1.8.0", + "ngx-color-picker": "^7.0.1", "rxjs": "^6.0.0", "zone.js": "^0.8.26" }, diff --git a/src/app/pages/system-management/personal-settings/color-settings/color-settings.component.html b/src/app/pages/system-management/personal-settings/color-settings/color-settings.component.html new file mode 100644 index 0000000..5b1c668 --- /dev/null +++ b/src/app/pages/system-management/personal-settings/color-settings/color-settings.component.html @@ -0,0 +1,11 @@ +
+
+
航班时间
+
+
+ + +
+
\ No newline at end of file diff --git a/src/app/pages/system-management/personal-settings/color-settings/color-settings.component.scss b/src/app/pages/system-management/personal-settings/color-settings/color-settings.component.scss new file mode 100644 index 0000000..e176a0a --- /dev/null +++ b/src/app/pages/system-management/personal-settings/color-settings/color-settings.component.scss @@ -0,0 +1,22 @@ +.color-settings-container{ + .data-list-box{ + display: inline-block; + .text-box{ + display: inline-block; + margin-right: 10px; + margin-bottom: 10px; + width: 100px; + height: 40px; + line-height: 40px; + text-align: center; + cursor: pointer; + } + } + .color-picker-box{ + margin: 0 auto; + margin-top: 40px; + .setting-font{ + margin-right: 10px; + } + } +} \ No newline at end of file diff --git a/src/app/pages/system-management/personal-settings/color-settings/color-settings.component.spec.ts b/src/app/pages/system-management/personal-settings/color-settings/color-settings.component.spec.ts new file mode 100644 index 0000000..0a4bc29 --- /dev/null +++ b/src/app/pages/system-management/personal-settings/color-settings/color-settings.component.spec.ts @@ -0,0 +1,25 @@ +import { async, ComponentFixture, TestBed } from '@angular/core/testing'; + +import { ColorSettingsComponent } from './color-settings.component'; + +describe('ColorSettingsComponent', () => { + let component: ColorSettingsComponent; + let fixture: ComponentFixture; + + beforeEach(async(() => { + TestBed.configureTestingModule({ + declarations: [ ColorSettingsComponent ] + }) + .compileComponents(); + })); + + beforeEach(() => { + fixture = TestBed.createComponent(ColorSettingsComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/src/app/pages/system-management/personal-settings/color-settings/color-settings.component.ts b/src/app/pages/system-management/personal-settings/color-settings/color-settings.component.ts new file mode 100644 index 0000000..8237003 --- /dev/null +++ b/src/app/pages/system-management/personal-settings/color-settings/color-settings.component.ts @@ -0,0 +1,28 @@ +import { Component, OnInit } from '@angular/core'; + +@Component({ + selector: 'app-color-settings', + templateUrl: './color-settings.component.html', + styleUrls: ['./color-settings.component.scss'] +}) +export class ColorSettingsComponent implements OnInit { + cmykColor:any; + color:any; + list:any=[]; + constructor() { } + + ngOnInit() { + this.list=[{"COL_CODE":"FLNO", "COL_CN":"航班号", "COL_ORDER":"10"}, {"COL_CODE":"ALCD", "COL_CN":"航空公司", "COL_ORDER":"8"}, {"COL_CODE":"FLIN", "COL_CN":"航线类别", "COL_ORDER":"4"}, {"COL_CODE":"FLTY", "COL_CN":"航班类别", "COL_ORDER":"5"}, {"COL_CODE":"MVIN", "COL_CN":"航向指示", "COL_ORDER":"9"}, {"COL_CODE":"TRML", "COL_CN":"候机楼", "COL_ORDER":"7"}, {"COL_CODE":"RENO", "COL_CN":"飞机号", "COL_ORDER":"3"}, {"COL_CODE":"SODT", "COL_CN":"计划到达/出发", "COL_ORDER":"13"}, {"COL_CODE":"ESTT", "COL_CN":"预计到达/出发", "COL_ORDER":"14"}, {"COL_CODE":"ACTT", "COL_CN":"实际到达/出发", "COL_ORDER":"15"}, {"COL_CODE":"STND", "COL_CN":"停机位", "COL_ORDER":"16"}, {"COL_CODE":"ORDER", "COL_CN":"排序", "COL_ORDER":"17"} ] ; + this.list.forEach(item=>{ + item.color='#333'; + item.bgColor='#fafafa'; + }) + + } + //设置颜色 + colorPicker(type){ + + } + + +} diff --git a/src/app/pages/system-management/personal-settings/personal-settings.component.html b/src/app/pages/system-management/personal-settings/personal-settings.component.html index 3a23f6d..f0502cd 100644 --- a/src/app/pages/system-management/personal-settings/personal-settings.component.html +++ b/src/app/pages/system-management/personal-settings/personal-settings.component.html @@ -5,7 +5,7 @@
-
可选列
+
可选列({{sourceList.length}})
  • @@ -14,13 +14,13 @@
- - - - + + + +
-
已选列
+
已选列({{targetList.length}})
  • @@ -30,15 +30,15 @@
- - - - + + + +
@@ -55,7 +55,7 @@ ORMS启动路径 - 颜色配置 + 刷新设置 diff --git a/src/app/pages/system-management/personal-settings/personal-settings.component.scss b/src/app/pages/system-management/personal-settings/personal-settings.component.scss index 0d5bed4..76b13c8 100644 --- a/src/app/pages/system-management/personal-settings/personal-settings.component.scss +++ b/src/app/pages/system-management/personal-settings/personal-settings.component.scss @@ -2,37 +2,44 @@ padding: 30px 20px; width: 100%; height: 100%; + min-height: 300px; background-color: #fff; - .self-row-box{ - display: inline-block; - .self-row-footer{ + .ant-tabs{ + height: 100%; + .self-row-box{ display: inline-block; - position: relative; - margin-left: 46%; - margin-top: 40px; - transform:translate(-50%,0); - button:first-child { - margin-right: 20px; - } - } - .self-row-content{ - .ant-transfer-list{ - width: 300px; - height: 500px; - .self-row-tips{ - text-align: center; - position: relative; - top: 190px; + .self-row-footer{ + display: inline-block; + position: relative; + margin-left: 46%; + margin-top: 40px; + transform:translate(-50%,0); + button:first-child { + margin-right: 20px; } } - .move-btn-box{ - display: inline-block; - margin: 0 10px; - position: relative; - top: 60px; - .move-btn{ - display: block; - margin-bottom: 8px + .self-row-content{ + .ant-transfer-list{ + width: 300px; + height: 500px; + .self-row-tips{ + text-align: center; + position: relative; + top: 190px; + } + .ant-transfer-list-header{ + font-weight: bold; + } + } + .move-btn-box{ + display: inline-block; + margin: 0 10px; + position: relative; + top: 60px; + .move-btn{ + display: block; + margin-bottom: 8px + } } } } diff --git a/src/app/pages/system-management/personal-settings/personal-settings.component.ts b/src/app/pages/system-management/personal-settings/personal-settings.component.ts index d9da7e1..c29f53e 100644 --- a/src/app/pages/system-management/personal-settings/personal-settings.component.ts +++ b/src/app/pages/system-management/personal-settings/personal-settings.component.ts @@ -22,17 +22,23 @@ export class PersonalSettingsComponent implements OnInit { constructor() { } ngOnInit() { - //备注:实际数据中,把原始数据录入到临时变量中,方便取消按钮,重置数据 - this.sourceList=[{"COL_CODE":"FLNO", "COL_CN":"航班号", "COL_ORDER":"10"}, {"COL_CODE":"ALCD", "COL_CN":"航空公司", "COL_ORDER":"8"}, {"COL_CODE":"FLIN", "COL_CN":"航线类别", "COL_ORDER":"4"}, {"COL_CODE":"FLTY", "COL_CN":"航班类别", "COL_ORDER":"5"}, {"COL_CODE":"MVIN", "COL_CN":"航向指示", "COL_ORDER":"9"}, {"COL_CODE":"TRML", "COL_CN":"候机楼", "COL_ORDER":"7"}, {"COL_CODE":"RENO", "COL_CN":"飞机号", "COL_ORDER":"3"}, {"COL_CODE":"SODT", "COL_CN":"计划到达/出发", "COL_ORDER":"13"}, {"COL_CODE":"ESTT", "COL_CN":"预计到达/出发", "COL_ORDER":"14"}, {"COL_CODE":"ACTT", "COL_CN":"实际到达/出发", "COL_ORDER":"15"}, {"COL_CODE":"STND", "COL_CN":"停机位", "COL_ORDER":"16"}, {"COL_CODE":"ORDER", "COL_CN":"排序", "COL_ORDER":"17"} ] + this.list=[{"COL_CODE":"FLNO", "COL_CN":"航班号", "COL_ORDER":"10"}, {"COL_CODE":"ALCD", "COL_CN":"航空公司", "COL_ORDER":"8"}, {"COL_CODE":"FLIN", "COL_CN":"航线类别", "COL_ORDER":"4"}, {"COL_CODE":"FLTY", "COL_CN":"航班类别", "COL_ORDER":"5"}, {"COL_CODE":"MVIN", "COL_CN":"航向指示", "COL_ORDER":"9"}, {"COL_CODE":"TRML", "COL_CN":"候机楼", "COL_ORDER":"7"}, {"COL_CODE":"RENO", "COL_CN":"飞机号", "COL_ORDER":"3"}, {"COL_CODE":"SODT", "COL_CN":"计划到达/出发", "COL_ORDER":"13"}, {"COL_CODE":"ESTT", "COL_CN":"预计到达/出发", "COL_ORDER":"14"}, {"COL_CODE":"ACTT", "COL_CN":"实际到达/出发", "COL_ORDER":"15"}, {"COL_CODE":"STND", "COL_CN":"停机位", "COL_ORDER":"16"}, {"COL_CODE":"ORDER", "COL_CN":"排序", "COL_ORDER":"17"} ] + /* + 备注:实际数据中,把原始数据录入到临时变量中,方便取消按钮,重置数据 + 这里数组复制不能用浅复制sourceList=list;而是要用深度复制,this.sourceList=[...this.list] + */ + this.sourceList=[...this.list]; } //保存-自定义列显示保存 saveSelf(){ console.log(this.targetList); - + console.log(this.sourceList); } - //重置数据 + //重置数据 cancelSelf(){ - + //等后台接口出来后,重置this.sourceList this.targetList + this.sourceList=this.list; + this.targetList=[]; } //上下调整项目顺序 type 1上移 2下移 3置顶 4置底 要做头尾判断 moveUpDown(type){ diff --git a/src/app/pages/system-management/system-management.module.ts b/src/app/pages/system-management/system-management.module.ts index 9f7bd64..8c43d01 100644 --- a/src/app/pages/system-management/system-management.module.ts +++ b/src/app/pages/system-management/system-management.module.ts @@ -1,5 +1,6 @@ import { NgModule } from '@angular/core'; import { CommonModule } from '@angular/common'; +import { ColorPickerModule } from 'ngx-color-picker'; import { SystemManagementComponent } from './system-management.component'; import { PersonalSettingsComponent } from './personal-settings/personal-settings.component'; import { RoleManagementComponent } from './role-management/role-management.component'; @@ -14,13 +15,15 @@ import { NgZorroAntdModule, NZ_I18N, zh_CN } from 'ng-zorro-antd'; import { registerLocaleData } from '@angular/common'; import zh from '@angular/common/locales/zh'; registerLocaleData(zh); +import { ColorSettingsComponent } from './personal-settings/color-settings/color-settings.component'; @NgModule({ imports: [ CommonModule, SystemManagementRouting, /** 导入 ng-zorro-antd 模块 **/ - NgZorroAntdModule + NgZorroAntdModule, + ColorPickerModule ], /** 配置 ng-zorro-antd 国际化 **/ providers : [ { provide: NZ_I18N, useValue: zh_CN } ], @@ -31,6 +34,8 @@ registerLocaleData(zh); UserManagementComponent, DepartmentManagementComponent, OperationLogsComponent, - DataSynchronizeComponent] + DataSynchronizeComponent, + ColorSettingsComponent, + ] }) export class SystemManagementModule { } From 58eff4ad236defd38c2b1d916c82cce9d9efd1ea Mon Sep 17 00:00:00 2001 From: liweijin <610336687@qq.com> Date: Tue, 13 Nov 2018 14:22:31 +0800 Subject: [PATCH 2/7] =?UTF-8?q?=E4=B8=AA=E4=BA=BA=E8=AE=BE=E7=BD=AE-?= =?UTF-8?q?=E9=A2=9C=E8=89=B2=E8=AE=BE=E7=BD=AE=E3=80=81=E6=B6=88=E6=81=AF?= =?UTF-8?q?=E8=AD=A6=E7=A4=BA=E6=8F=90=E9=86=92=E5=BC=80=E5=8F=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../color-settings.component.html | 14 +-- .../color-settings.component.scss | 25 +++-- .../color-settings.component.ts | 45 ++++++-- .../msg-alert-warning.component.html | 35 ++++++ .../msg-alert-warning.component.scss | 42 +++++++ .../msg-alert-warning.component.spec.ts | 25 +++++ .../msg-alert-warning.component.ts | 105 ++++++++++++++++++ .../personal-settings.component.html | 13 +-- .../personal-settings.component.ts | 43 ++++--- .../system-management.module.ts | 8 +- 10 files changed, 308 insertions(+), 47 deletions(-) create mode 100644 src/app/pages/system-management/personal-settings/msg-alert-warning/msg-alert-warning.component.html create mode 100644 src/app/pages/system-management/personal-settings/msg-alert-warning/msg-alert-warning.component.scss create mode 100644 src/app/pages/system-management/personal-settings/msg-alert-warning/msg-alert-warning.component.spec.ts create mode 100644 src/app/pages/system-management/personal-settings/msg-alert-warning/msg-alert-warning.component.ts diff --git a/src/app/pages/system-management/personal-settings/color-settings/color-settings.component.html b/src/app/pages/system-management/personal-settings/color-settings/color-settings.component.html index 5b1c668..8c55ef5 100644 --- a/src/app/pages/system-management/personal-settings/color-settings/color-settings.component.html +++ b/src/app/pages/system-management/personal-settings/color-settings/color-settings.component.html @@ -1,11 +1,11 @@
-
-
航班时间
+
+
航班时间
+ +
- - + +
-
\ No newline at end of file +
diff --git a/src/app/pages/system-management/personal-settings/color-settings/color-settings.component.scss b/src/app/pages/system-management/personal-settings/color-settings/color-settings.component.scss index e176a0a..ecc9bad 100644 --- a/src/app/pages/system-management/personal-settings/color-settings/color-settings.component.scss +++ b/src/app/pages/system-management/personal-settings/color-settings/color-settings.component.scss @@ -1,22 +1,29 @@ .color-settings-container{ + max-width: 800px; .data-list-box{ display: inline-block; .text-box{ display: inline-block; margin-right: 10px; margin-bottom: 10px; - width: 100px; - height: 40px; - line-height: 40px; + width: 524px; + height: 32px; + line-height: 32px; text-align: center; - cursor: pointer; + border-radius: 4px; } - } - .color-picker-box{ - margin: 0 auto; - margin-top: 40px; - .setting-font{ + .setting-bg-color{ margin-right: 10px; } } + .color-picker-box{ + display: inline-block; + position: relative; + top: 40px; + left: 50%; + transform:translate(-50%,0); + button:first-child{ + margin-right: 20px; + } + } } \ No newline at end of file diff --git a/src/app/pages/system-management/personal-settings/color-settings/color-settings.component.ts b/src/app/pages/system-management/personal-settings/color-settings/color-settings.component.ts index 8237003..e0a7cab 100644 --- a/src/app/pages/system-management/personal-settings/color-settings/color-settings.component.ts +++ b/src/app/pages/system-management/personal-settings/color-settings/color-settings.component.ts @@ -8,21 +8,50 @@ import { Component, OnInit } from '@angular/core'; export class ColorSettingsComponent implements OnInit { cmykColor:any; color:any; - list:any=[]; + list:any=[]; //源数据 + DataList:any=[]; //临时项目列表,如果保存就传改变量,如果取消,则重置为list的源数据 constructor() { } ngOnInit() { this.list=[{"COL_CODE":"FLNO", "COL_CN":"航班号", "COL_ORDER":"10"}, {"COL_CODE":"ALCD", "COL_CN":"航空公司", "COL_ORDER":"8"}, {"COL_CODE":"FLIN", "COL_CN":"航线类别", "COL_ORDER":"4"}, {"COL_CODE":"FLTY", "COL_CN":"航班类别", "COL_ORDER":"5"}, {"COL_CODE":"MVIN", "COL_CN":"航向指示", "COL_ORDER":"9"}, {"COL_CODE":"TRML", "COL_CN":"候机楼", "COL_ORDER":"7"}, {"COL_CODE":"RENO", "COL_CN":"飞机号", "COL_ORDER":"3"}, {"COL_CODE":"SODT", "COL_CN":"计划到达/出发", "COL_ORDER":"13"}, {"COL_CODE":"ESTT", "COL_CN":"预计到达/出发", "COL_ORDER":"14"}, {"COL_CODE":"ACTT", "COL_CN":"实际到达/出发", "COL_ORDER":"15"}, {"COL_CODE":"STND", "COL_CN":"停机位", "COL_ORDER":"16"}, {"COL_CODE":"ORDER", "COL_CN":"排序", "COL_ORDER":"17"} ] ; + //深度复制 this.list.forEach(item=>{ - item.color='#333'; - item.bgColor='#fafafa'; + let option=this.deepCopy(item); + this.DataList.push(option); }) } - //设置颜色 - colorPicker(type){ - + //设置颜色 1设置字体颜色 2设置背景颜色 3重置字体颜色 + colorPicker(event,item){ + item.bgColor=event; } - - + //背景色恢复默认值 + resetBgColor(item){ + item.bgColor='#fafafa'; + } + //对象数组深度复制 + deepCopy(data){ + let itemObj={ + bgColor:'#fafafa', + }; + for(let key in data){ + itemObj[key]=data[key]; + } + return itemObj; + } + //保存 + save(){ + console.log(this.list) + console.log(this.DataList) + } + //取消 + cancel(){ + this.DataList=[]; + //深度复制 + this.list.forEach(item=>{ + let option=this.deepCopy(item); + this.DataList.push(option); + }) + } + } diff --git a/src/app/pages/system-management/personal-settings/msg-alert-warning/msg-alert-warning.component.html b/src/app/pages/system-management/personal-settings/msg-alert-warning/msg-alert-warning.component.html new file mode 100644 index 0000000..79cf422 --- /dev/null +++ b/src/app/pages/system-management/personal-settings/msg-alert-warning/msg-alert-warning.component.html @@ -0,0 +1,35 @@ +
+
+
+
+
可选列({{sourceList.length}})
+
+
    +
  • +
    暂无数据
    +
+
+
+
+ + + + +
+
+
已选列({{targetList.length}})
+
+
    +
  • +
    暂无数据
    +
+ +
+
+
+ +
+
\ No newline at end of file diff --git a/src/app/pages/system-management/personal-settings/msg-alert-warning/msg-alert-warning.component.scss b/src/app/pages/system-management/personal-settings/msg-alert-warning/msg-alert-warning.component.scss new file mode 100644 index 0000000..772e344 --- /dev/null +++ b/src/app/pages/system-management/personal-settings/msg-alert-warning/msg-alert-warning.component.scss @@ -0,0 +1,42 @@ +.msg-alert-main-container{ + .self-row-box{ + display: inline-block; + .self-row-footer{ + display: inline-block; + position: relative; + margin-left: 50%; + margin-top: 40px; + transform:translate(-50%,0); + button:first-child { + margin-right: 20px; + } + } + .self-row-content{ + .ant-transfer-list{ + width: 300px; + height: 500px; + .self-row-tips{ + text-align: center; + position: relative; + top: 190px; + } + .ant-transfer-list-header{ + font-weight: bold; + } + } + .move-btn-box{ + display: inline-block; + margin: 0 10px; + position: relative; + top: 60px; + .move-btn{ + display: block; + margin-bottom: 8px + } + } + } + } +} +.bg{ + background-color: #e6f7ff; +} \ No newline at end of file diff --git a/src/app/pages/system-management/personal-settings/msg-alert-warning/msg-alert-warning.component.spec.ts b/src/app/pages/system-management/personal-settings/msg-alert-warning/msg-alert-warning.component.spec.ts new file mode 100644 index 0000000..3f6839c --- /dev/null +++ b/src/app/pages/system-management/personal-settings/msg-alert-warning/msg-alert-warning.component.spec.ts @@ -0,0 +1,25 @@ +import { async, ComponentFixture, TestBed } from '@angular/core/testing'; + +import { MsgAlertWarningComponent } from './msg-alert-warning.component'; + +describe('MsgAlertWarningComponent', () => { + let component: MsgAlertWarningComponent; + let fixture: ComponentFixture; + + beforeEach(async(() => { + TestBed.configureTestingModule({ + declarations: [ MsgAlertWarningComponent ] + }) + .compileComponents(); + })); + + beforeEach(() => { + fixture = TestBed.createComponent(MsgAlertWarningComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/src/app/pages/system-management/personal-settings/msg-alert-warning/msg-alert-warning.component.ts b/src/app/pages/system-management/personal-settings/msg-alert-warning/msg-alert-warning.component.ts new file mode 100644 index 0000000..970f55b --- /dev/null +++ b/src/app/pages/system-management/personal-settings/msg-alert-warning/msg-alert-warning.component.ts @@ -0,0 +1,105 @@ +import { Component, OnInit } from '@angular/core'; + +@Component({ + selector: 'app-msg-alert-warning', + templateUrl: './msg-alert-warning.component.html', + styleUrls: ['./msg-alert-warning.component.scss'] +}) +export class MsgAlertWarningComponent implements OnInit { + public list: any[] = []; //原始数据项 + public sourceList: any[] = []; //临时数据项-可选项 + public targetList:any=[]; //临时数据项-已选项 + public disableRight:any=true; //单个右移控制按钮可选状态 true 禁止选择 false可选择 + public disabledLeft:any=true; //单个左移控制按钮可选状态 true 禁止选择 false可选择 + public selectedType:any=''; //当前选中项所在项目 1在可选项 2在已选项框 + public moveIndex:any='false'; + + constructor() { } + + ngOnInit() { + this.list=[{"COL_CODE":"FLNO", "COL_CN":"航班号", "COL_ORDER":"10"}, {"COL_CODE":"ALCD", "COL_CN":"航空公司", "COL_ORDER":"8"}, {"COL_CODE":"FLIN", "COL_CN":"航线类别", "COL_ORDER":"4"}, {"COL_CODE":"FLTY", "COL_CN":"航班类别", "COL_ORDER":"5"}, {"COL_CODE":"MVIN", "COL_CN":"航向指示", "COL_ORDER":"9"}, {"COL_CODE":"TRML", "COL_CN":"候机楼", "COL_ORDER":"7"}, {"COL_CODE":"RENO", "COL_CN":"飞机号", "COL_ORDER":"3"}, {"COL_CODE":"SODT", "COL_CN":"计划到达/出发", "COL_ORDER":"13"}, {"COL_CODE":"ESTT", "COL_CN":"预计到达/出发", "COL_ORDER":"14"}, {"COL_CODE":"ACTT", "COL_CN":"实际到达/出发", "COL_ORDER":"15"}, {"COL_CODE":"STND", "COL_CN":"停机位", "COL_ORDER":"16"}, {"COL_CODE":"ORDER", "COL_CN":"排序", "COL_ORDER":"17"} ] + /* + 备注:实际数据中,把原始数据录入到临时变量中,方便取消按钮,重置数据 + 这里数组复制不能用浅复制sourceList=list;而是要用深度复制,this.sourceList=[...this.list] + */ + //深度复制 + this.list.forEach(item=>{ + let option=this.deepCopy(item); + this.sourceList.push(option); + }) + } + + //对象数组深度复制 + deepCopy(data){ + let itemObj={ + bgColor:'#fafafa', + }; + for(let key in data){ + itemObj[key]=data[key]; + } + return itemObj; + } + //左右选择项目 type 1右移 2左移 3全部右移 4全部左移 + moveCross(type){ + let index=this.moveIndex; + if(type==1){ + let item=this.sourceList[index]; + this.sourceList.splice(index,1) + this.targetList.push(item); + if(this.sourceList.length==0){ + this.disableRight=true; + } + }else if(type==2){ + let item=this.targetList[index]; + this.targetList.splice(index,1) + this.sourceList.push(item); + if(this.targetList.length==0){ + this.disabledLeft=true; + } + }else if(type==3){ + this.sourceList.forEach(item=>{ + this.targetList.push(item) + }) + this.sourceList=[]; + }else if(type==4){ + this.targetList.forEach(item=>{ + this.sourceList.push(item) + }) + this.targetList=[]; + } + this.moveIndex='false'; + this.selectedType=''; + this.disabledLeft=true; + this.disableRight=true; + } + //选中选框中的项 type 1可选框的项 2已选框的项 + selectNode(item,index,type){ + this.selectedType=type; + this.moveIndex=index; + if(type==1){ + this.disabledLeft=true; + this.disableRight=false; + }else if(type==2){ + this.disableRight=true; + this.disabledLeft=false; + } + + } + //保存-自定义列显示保存 + saveSelf(){ + console.log(this.targetList); + console.log(this.sourceList); + } + //重置数据 + cancelSelf(){ + this.sourceList=[]; + //等后台接口出来后,重置this.sourceList this.targetList + //深度复制 + this.list.forEach(item=>{ + let option=this.deepCopy(item); + this.sourceList.push(option); + }) + this.targetList=[]; + } + +} diff --git a/src/app/pages/system-management/personal-settings/personal-settings.component.html b/src/app/pages/system-management/personal-settings/personal-settings.component.html index f0502cd..ea55692 100644 --- a/src/app/pages/system-management/personal-settings/personal-settings.component.html +++ b/src/app/pages/system-management/personal-settings/personal-settings.component.html @@ -2,29 +2,28 @@
-
可选列({{sourceList.length}})
  • -
    暂无数据
    +
    暂无数据
- + - +
已选列({{targetList.length}})
  • -
    暂无数据
    +
    暂无数据
@@ -43,10 +42,10 @@
- 消息警示提醒 + - 消息声音提醒 + 航班代理 diff --git a/src/app/pages/system-management/personal-settings/personal-settings.component.ts b/src/app/pages/system-management/personal-settings/personal-settings.component.ts index c29f53e..ad9dca2 100644 --- a/src/app/pages/system-management/personal-settings/personal-settings.component.ts +++ b/src/app/pages/system-management/personal-settings/personal-settings.component.ts @@ -16,8 +16,7 @@ export class PersonalSettingsComponent implements OnInit { public disabledUpTop:any=true; //置顶控制按钮可选状态 true 禁止选择 false可选择 public disabledDownBtm:any=true; //最低控制按钮可选状态 true 禁止选择 false可选择 public selectedType:any=''; //当前选中项所在项目 1在可选项 2在已选项框 - - moveIndex:any='false'; + public moveIndex:any='false'; constructor() { } @@ -27,18 +26,20 @@ export class PersonalSettingsComponent implements OnInit { 备注:实际数据中,把原始数据录入到临时变量中,方便取消按钮,重置数据 这里数组复制不能用浅复制sourceList=list;而是要用深度复制,this.sourceList=[...this.list] */ - this.sourceList=[...this.list]; + this.list.forEach(item=>{ + let option=this.deepCopy(item); + this.sourceList.push(option); + }) } - //保存-自定义列显示保存 - saveSelf(){ - console.log(this.targetList); - console.log(this.sourceList); - } - //重置数据 - cancelSelf(){ - //等后台接口出来后,重置this.sourceList this.targetList - this.sourceList=this.list; - this.targetList=[]; + //对象数组深度复制 + deepCopy(data){ + let itemObj={ + bgColor:'#fafafa', + }; + for(let key in data){ + itemObj[key]=data[key]; + } + return itemObj; } //上下调整项目顺序 type 1上移 2下移 3置顶 4置底 要做头尾判断 moveUpDown(type){ @@ -141,6 +142,22 @@ export class PersonalSettingsComponent implements OnInit { this.disabledUpTop=true; } + //保存-自定义列显示保存 + saveSelf(){ + console.log(this.targetList); + console.log(this.sourceList); + } + //重置数据 + cancelSelf(){ + this.sourceList=[]; + //等后台接口出来后,重置this.sourceList this.targetList + //深度复制 + this.list.forEach(item=>{ + let option=this.deepCopy(item); + this.sourceList.push(option); + }) + this.targetList=[]; + } } \ No newline at end of file diff --git a/src/app/pages/system-management/system-management.module.ts b/src/app/pages/system-management/system-management.module.ts index 8c43d01..351380a 100644 --- a/src/app/pages/system-management/system-management.module.ts +++ b/src/app/pages/system-management/system-management.module.ts @@ -16,6 +16,7 @@ import { registerLocaleData } from '@angular/common'; import zh from '@angular/common/locales/zh'; registerLocaleData(zh); import { ColorSettingsComponent } from './personal-settings/color-settings/color-settings.component'; +import { MsgAlertWarningComponent } from './personal-settings/msg-alert-warning/msg-alert-warning.component'; @NgModule({ imports: [ @@ -25,8 +26,6 @@ import { ColorSettingsComponent } from './personal-settings/color-settings/color NgZorroAntdModule, ColorPickerModule ], - /** 配置 ng-zorro-antd 国际化 **/ - providers : [ { provide: NZ_I18N, useValue: zh_CN } ], declarations: [ SystemManagementComponent, PersonalSettingsComponent, @@ -36,6 +35,9 @@ import { ColorSettingsComponent } from './personal-settings/color-settings/color OperationLogsComponent, DataSynchronizeComponent, ColorSettingsComponent, - ] + MsgAlertWarningComponent, + ], + /** 配置 ng-zorro-antd 国际化 **/ + providers : [ { provide: NZ_I18N, useValue: zh_CN } ], }) export class SystemManagementModule { } From 94ad045cd5e66fdef4e25e42fe405513e0c37b40 Mon Sep 17 00:00:00 2001 From: zhouyuejun <505127606@qq.com> Date: Tue, 13 Nov 2018 20:28:53 +0800 Subject: [PATCH 3/7] =?UTF-8?q?=E8=88=AA=E7=8F=AD=E8=BF=87=E6=BB=A4?= =?UTF-8?q?=E5=8F=8A=E7=B2=BE=E7=A1=AE=E7=AD=9B=E9=80=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/app/pages/main/main.component.html | 9 +- src/app/pages/main/main.component.ts | 145 +++++++++++++++++++-- src/assets/mock-data/airline-col_code.json | 7 +- 3 files changed, 136 insertions(+), 25 deletions(-) diff --git a/src/app/pages/main/main.component.html b/src/app/pages/main/main.component.html index a2f7027..6eace4d 100644 --- a/src/app/pages/main/main.component.html +++ b/src/app/pages/main/main.component.html @@ -7,14 +7,14 @@ - +
- @@ -73,7 +73,7 @@
- @@ -135,8 +135,8 @@
-
- +
+
@@ -145,7 +145,7 @@ - + diff --git a/src/app/pages/main/main.component.scss b/src/app/pages/main/main.component.scss index cf17098..61340d4 100644 --- a/src/app/pages/main/main.component.scss +++ b/src/app/pages/main/main.component.scss @@ -36,7 +36,7 @@ width: max-content; tr{ cursor: pointer; - &.active{ + &.selected{ background: rgb(181, 215, 255); } } diff --git a/src/app/pages/main/main.component.ts b/src/app/pages/main/main.component.ts index 5183987..40c8a99 100644 --- a/src/app/pages/main/main.component.ts +++ b/src/app/pages/main/main.component.ts @@ -7,7 +7,9 @@ import dateFormatter from '../../utils/data-formatter'; import routeType from '../../utils/route-type'; import flightType from '../../utils/flight-type'; import arriDept from '../../utils/arri-dept'; +import { HttpParams } from '@angular/common/http'; +import * as $ from 'jquery'; @Component({ selector: 'app-main', templateUrl: './main.component.html', @@ -24,13 +26,15 @@ export class MainComponent implements OnInit { public combined_data: Array = []; //组合数据,即链接航班,显示信息等组合好之后的数据 + // public filter_data:Array = []; //用于过滤和定位的数据 + public render_data: Array = []; //显示数据,即需要显示的数据 public col_lists: Array; //列数据 public airline_color: Array = []; - public row_state: number; + public row_state: any = { renderFlight: {} }; public TOP_1 = 1000000000000; @@ -99,6 +103,7 @@ export class MainComponent implements OnInit { } ngOnInit() { + // console.log($) this.changeDetectorRef.detach(); /* 获取显示列 */ this.httpCilent.get('/assets/mock-data/airline-col_code.json').subscribe( @@ -117,7 +122,7 @@ export class MainComponent implements OnInit { this.raw_data.push(JSON.parse(element.value)); }); - let combined_linked_data = this.raw_data + let combined_linked_data = this.raw_data; // this.combined_data = this.raw_data //查找链接航班并将其组合成一条数据 @@ -187,156 +192,255 @@ export class MainComponent implements OnInit { this.combined_data.push(row_flights) }) - //排序 - this.combined_data.forEach(element => { - element['ORDER'] = this.sequence(element) - }) - - this.combined_data.sort(function (a, b) { - return (a['ORDER'] - b['ORDER']); - }) - - - this.render_data = this.combined_data - - this.changeDetectorRef.detectChanges(); + this.doSequence(this.combined_data); } ) } /** - * 过滤机定位 - * @param filterItems - * @return + * 执行排序并渲染 */ + doSequence(sequenceData) { + sequenceData.forEach(element => { + element['ORDER'] = this.sequence(element); + }) - inputFliter() { - let filterItems = this.filterItems; - let combined_data = this.combined_data; - let filter_data = []; - - let sel_col = this.SEL_COL; - - if (this.FLT_POS === 1) { //过滤 - //手动输入框筛选 - if(sel_col){ - combined_data.forEach(item=>{ - if(item['renderFlight'][sel_col]){ - if (item['renderFlight'][sel_col].toString().match(new RegExp(this.SEARCH, 'i'))) { - filter_data.push(Object.assign({}, item)) - } - }else{ - if(!this.SEARCH){ - filter_data.push(Object.assign({}, item)) - } - } - }) - }else{ - combined_data.forEach(item => { - for (const key in item['renderFlight']) { - if (item['renderFlight'].hasOwnProperty(key)) { - if (item['renderFlight'][key]) { - if (item['renderFlight'][key].toString().match(new RegExp(this.SEARCH, 'i'))) { - filter_data.push(Object.assign({}, item)) - break; - } - } else { - continue; - } - } - } - }) - } - - //下拉框筛选 - filter_data = filter_data.filter(item => { - if (this.isArriFlight(item)) { - let is_satis = true; - for (const key in filterItems) { - if (filterItems.hasOwnProperty(key) && filterItems[key]) { - if (item['preFlight'][key] === filterItems[key]) { - is_satis = true; - continue; - } else { - is_satis = false; - break; - } - - } - } - return is_satis; - } else if (this.isDeptFlight(item)) { - let is_satis = true; - for (const key in filterItems) { - if (filterItems.hasOwnProperty(key) && filterItems[key]) { - if (item['reaFlight'][key] === filterItems[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 filterItems) { - if (filterItems.hasOwnProperty(key) && filterItems[key]) { - if (item['preFlight'][key] === filterItems[key]) { - pre_satis = true; - continue; - } else { - pre_satis = false; - break; - } - - } - } - for (const key in filterItems) { - if (filterItems.hasOwnProperty(key) && filterItems[key]) { - if (item['reaFlight'][key] === filterItems[key]) { - rea_satis = true; - continue; - } else { - rea_satis = false; - break; - } - - } - } - - if(pre_satis&&!rea_satis){ - item['renderFlight'] = item['renderPreFlight']; - return pre_satis; - }else if(!pre_satis&&rea_satis){ - item['renderFlight'] = item['renderReaFlight']; - return rea_satis; - }else if(pre_satis&&rea_satis){ - return pre_satis&&rea_satis; - }else{ - return false; - } - } - }) - - this.render_data = filter_data; - - } else { //定位 - - } + sequenceData.sort(function (a, b) { + return (a['ORDER'] - b['ORDER']); + }) + this.render_data = sequenceData; + this.row_state = this.render_data.length > 0 ? this.render_data[0] : { renderFlight: {} }; this.changeDetectorRef.detectChanges(); } + /** + * 过滤及定位 + * @param filterItems + * @return + */ + //输入框回车事件 + inputEnter() { + if (this.FLT_POS === 1) { + this.selectChange() + } else { + this.selectChange() + this.inputPosition(this.render_data) + } + } + //下拉框选择筛选 + selectChange() { + let filter_data = []; + let filterItems = this.filterItems; + this.combined_data.forEach(item => { + filter_data.push(Object.assign({}, item)); + }) + //下拉框筛选 + filter_data = filter_data.filter(item => { + if (this.isArriFlight(item)) { + let is_satis = true; + for (const key in filterItems) { + if (filterItems.hasOwnProperty(key) && filterItems[key]) { + if (item['preFlight'][key] === filterItems[key]) { + is_satis = true; + continue; + } else { + is_satis = false; + break; + } + } + } + return is_satis; + } else if (this.isDeptFlight(item)) { + let is_satis = true; + for (const key in filterItems) { + if (filterItems.hasOwnProperty(key) && filterItems[key]) { + if (item['reaFlight'][key] === filterItems[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 filterItems) { + if (filterItems.hasOwnProperty(key) && filterItems[key]) { + if (item['preFlight'][key] === filterItems[key]) { + pre_satis = true; + continue; + } else { + pre_satis = false; + break; + } + } + } + for (const key in filterItems) { + if (filterItems.hasOwnProperty(key) && filterItems[key]) { + if (item['reaFlight'][key] === filterItems[key]) { + rea_satis = true; + continue; + } else { + rea_satis = false; + break; + } + + } + } + + if (pre_satis && !rea_satis) { + item['renderFlight'] = item['renderPreFlight']; + return pre_satis; + } else if (!pre_satis && rea_satis) { + item['renderFlight'] = item['renderReaFlight']; + return rea_satis; + } else if (pre_satis && rea_satis) { + return pre_satis && rea_satis; + } else { + return false; + } + } + }) + if (this.FLT_POS === 1) { + this.inputFilter(filter_data); + } else { + this.render_data = filter_data; + this.row_state = this.render_data.length > 0 ? this.render_data[0] : { renderFlight: {} }; + // this.inputPosition(this.render_data); + this.changeDetectorRef.detectChanges(); + } + } + //输入框筛选 + inputFilter(filterData) { + if (this.SEARCH) { + if (this.SEL_COL) { + let sel_col = this.SEL_COL; + filterData = filterData.filter(item => { + if (item['renderFlight'][sel_col]) { + if (item['renderFlight'][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['renderFlight']) { + if (item['renderFlight'].hasOwnProperty(key)) { + if (item['renderFlight'][key]) { + if (item['renderFlight'][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.render_data = filterData; + this.row_state = this.render_data.length > 0 ? this.render_data[0] : { renderFlight: {} }; + this.changeDetectorRef.detectChanges(); + } + + positionArray: Array = []; + positionArrayIndex: number = 0; + //输入框定位 + inputPosition(filterData) { + let transArray = [] + if (this.SEL_COL) { + let sel_col = this.SEL_COL; + filterData.forEach(element => { + if (element['renderFlight'][sel_col]) { + if (element['renderFlight'][sel_col].toString().match(new RegExp(this.SEARCH, 'i'))) { + transArray.push(element) + } + } else { + if (!this.SEARCH) { + transArray.push(element) + } + } + }); + } else { + filterData.forEach(element => { + for (const key in element['renderFlight']) { + if (element['renderFlight'].hasOwnProperty(key)) { + if (element['renderFlight'][key]) { + if (element['renderFlight'][key].toString().match(new RegExp(this.SEARCH, 'i'))) { + transArray.push(element) + break; + } else { + continue; + } + } else { + if (this.SEARCH) { + continue; + } else { + transArray.push(element) + break; + } + } + + } else { + continue; + } + } + }); + } + + if (transArray.length > 0) { + if (transArray.toString() == this.positionArray.toString()) { + this.positionArrayIndex++; + if (this.positionArrayIndex === this.positionArray.length) { + this.positionArrayIndex = 0; + } + this.row_state = this.positionArray[this.positionArrayIndex]; + } else { + this.positionArray = transArray; + this.positionArrayIndex = 0; + this.row_state = this.positionArray[this.positionArrayIndex]; + } + } else { + alert('没有搜索到相关数据'); + } + + this.changeDetectorRef.detectChanges(); + + let tr = $(".selected"); + let objTr = tr[0]; + $("#table-container").animate({ scrollTop: objTr.offsetTop }, "slow"); + } /** * 行排序规则方法 From 11cb7c366acbe1ae8250f06009fc09840ea27041 Mon Sep 17 00:00:00 2001 From: zhouyuejun <505127606@qq.com> Date: Thu, 15 Nov 2018 18:29:19 +0800 Subject: [PATCH 5/7] =?UTF-8?q?=E5=85=AC=E5=85=B1=E9=83=A8=E5=88=86?= =?UTF-8?q?=E6=A0=B7=E5=BC=8F=E4=BF=AE=E6=94=B9=E5=8F=8Atable=E8=A1=A8?= =?UTF-8?q?=E5=A4=B4=E5=9B=BA=E5=AE=9A?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/app/pages/main/main.component.html | 25 +++++++-- src/app/pages/main/main.component.scss | 9 +++- src/app/pages/main/main.component.ts | 13 ++++- src/app/pages/main/main.module.ts | 3 ++ src/app/pages/pages.component.html | 25 +++++---- src/app/pages/pages.component.scss | 71 ++++++++++++++------------ src/app/pages/pages.component.ts | 12 ----- src/app/theme/scss/base.scss | 2 +- 8 files changed, 97 insertions(+), 63 deletions(-) diff --git a/src/app/pages/main/main.component.html b/src/app/pages/main/main.component.html index b8ad70b..a8aff26 100644 --- a/src/app/pages/main/main.component.html +++ b/src/app/pages/main/main.component.html @@ -14,7 +14,7 @@ 查找定位 - +
diff --git a/src/app/pages/main/main.component.scss b/src/app/pages/main/main.component.scss index 61340d4..dba3c39 100644 --- a/src/app/pages/main/main.component.scss +++ b/src/app/pages/main/main.component.scss @@ -1,6 +1,7 @@ .main-page { width: 100%; - height: calc(100% - 66px); + height: 100%; + overflow-y: scroll; padding: 15px 10px; background-color: #fff; .page-content { @@ -31,7 +32,8 @@ // border: 1px solid #ccc; width: 100%; height: 700px; - overflow: scroll; + overflow: auto; + box-shadow: 0 0 1px .5px #ddd; table{ width: max-content; tr{ @@ -40,6 +42,9 @@ background: rgb(181, 215, 255); } } + th{ + background-color: #ddd; + } th,td{ // border: none; text-align: center; diff --git a/src/app/pages/main/main.component.ts b/src/app/pages/main/main.component.ts index 40c8a99..e65d89d 100644 --- a/src/app/pages/main/main.component.ts +++ b/src/app/pages/main/main.component.ts @@ -103,7 +103,6 @@ export class MainComponent implements OnInit { } ngOnInit() { - // console.log($) this.changeDetectorRef.detach(); /* 获取显示列 */ this.httpCilent.get('/assets/mock-data/airline-col_code.json').subscribe( @@ -195,6 +194,16 @@ export class MainComponent implements OnInit { this.doSequence(this.combined_data); } ) + + /** + * 固定表头 + */ + var tableCont = document.querySelector('#table-container') + function scrollHandle (){ + var scrollTop = this.scrollTop; + this.querySelector('thead').style.transform = 'translateY(' + scrollTop + 'px)'; + } + tableCont.addEventListener('scroll',scrollHandle) } @@ -439,7 +448,7 @@ export class MainComponent implements OnInit { let tr = $(".selected"); let objTr = tr[0]; - $("#table-container").animate({ scrollTop: objTr.offsetTop }, "slow"); + $("#table-container").animate({ scrollTop: objTr.offsetTop - 42 }, "slow"); } /** diff --git a/src/app/pages/main/main.module.ts b/src/app/pages/main/main.module.ts index 2a15960..4fd223c 100644 --- a/src/app/pages/main/main.module.ts +++ b/src/app/pages/main/main.module.ts @@ -1,6 +1,8 @@ import { NgModule } from '@angular/core'; import { CommonModule } from '@angular/common'; import { FormsModule, ReactiveFormsModule } from '@angular/forms'; +import { NgZorroAntdModule } from 'ng-zorro-antd' + import { PipesModule } from '../../pipes/pipes.module'; import { MainComponent } from './main.component'; import { MainRoutingModule } from './main-routing.module' @@ -10,6 +12,7 @@ import { MainRoutingModule } from './main-routing.module' CommonModule, FormsModule, ReactiveFormsModule, + NgZorroAntdModule, PipesModule, MainRoutingModule ], diff --git a/src/app/pages/pages.component.html b/src/app/pages/pages.component.html index 60d3ed1..2297d57 100644 --- a/src/app/pages/pages.component.html +++ b/src/app/pages/pages.component.html @@ -1,15 +1,9 @@
-
-
- -

航班信息查询系统

-
-
- -
-
-
+ - +
+
+
+
+ +
+
+
+ +
\ No newline at end of file diff --git a/src/app/pages/pages.component.scss b/src/app/pages/pages.component.scss index a93eb5e..a84adf0 100644 --- a/src/app/pages/pages.component.scss +++ b/src/app/pages/pages.component.scss @@ -3,37 +3,8 @@ .wrapper { width: 100%; height: 100%; - .left-wrapper { - height: 100%; - width: 235px; - position: fixed; - top: 0; - left: 0; - background-color: rgb(46, 59, 76); - float: left; - .left-header { - height: 66px; - border-bottom: 1px solid $gray-900; - text-align: center; - line-height: 66px; - img { - width: 32px; - height: 32px; - vertical-align: middle; - margin-right: 12px; - } - h3 { - display: inline-block; - color: $white; - vertical-align: middle; - margin: 0; - } - } - } - .right-wrapper { - // width: 100%; - height: 100%; - margin-left: 235px; + overflow: hidden; + .header-wrapper { .navbar { height: 66px; background-color: rgb(46, 59, 76) !important; @@ -45,7 +16,7 @@ cursor: pointer; } // .bg-dark{ - + // } .nav-icon { padding: 0.1rem 0.75rem; @@ -95,4 +66,40 @@ } } } + + .content-wrapper { + height: 100%; + .left-wrapper { + height: calc(100% - 66px); + width: 235px; + position: fixed; + top: 66px; + left: 0; + background-color: rgb(46, 59, 76); + padding-bottom: 30px; + overflow-y: scroll; + .left-header { + height: 66px; + border-bottom: 1px solid $gray-900; + text-align: center; + line-height: 66px; + img { + width: 32px; + height: 32px; + vertical-align: middle; + margin-right: 12px; + } + h3 { + display: inline-block; + color: $white; + vertical-align: middle; + margin: 0; + } + } + } + .right-wrapper { + height: calc(100% - 66px); + margin-left: 235px; + } + } } diff --git a/src/app/pages/pages.component.ts b/src/app/pages/pages.component.ts index f669ae7..c7db67f 100644 --- a/src/app/pages/pages.component.ts +++ b/src/app/pages/pages.component.ts @@ -193,18 +193,7 @@ export class PagesComponent implements OnInit { this.router.events.pipe( filter(event => event instanceof NavigationEnd), - // map(() => this.activatedRoute), - // map(route => { - // console.log(route) - // while (route.firstChild) route = route.firstChild; - // console.log('-----') - // return route; - // }), - // filter(route => route.outlet === 'primary'), - // mergeMap(route => route.data) - ).subscribe((event) => { - // console.log(event['urlAfterRedirects']) this.selectActiveMenu(this.menuData,event['urlAfterRedirects']) }); @@ -227,7 +216,6 @@ export class PagesComponent implements OnInit { item.isActive = false; } }else{ - // item.isExpend = !item.isExpend; this.selectActiveMenu(item.children,activeRoute) } }) diff --git a/src/app/theme/scss/base.scss b/src/app/theme/scss/base.scss index 5a2c147..2ad3122 100644 --- a/src/app/theme/scss/base.scss +++ b/src/app/theme/scss/base.scss @@ -5,7 +5,7 @@ body { height: 100%; font-size: 14px !important; font-family: "Roboto", sans-serif !important; - background-color: #1190d6 !important; + background-color: #fff !important; // color: rgb(0, 0, 0) !important; } /*添加手形*/ From ae65e0ae65675b0522fd4760ff85d1a5718499fe Mon Sep 17 00:00:00 2001 From: liweijin <610336687@qq.com> Date: Thu, 15 Nov 2018 18:29:55 +0800 Subject: [PATCH 6/7] =?UTF-8?q?=E4=B8=AA=E4=BA=BA=E8=AE=BE=E7=BD=AE?= =?UTF-8?q?=E5=BC=80=E5=8F=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- angular.json | 8 +- package.json | 5 +- proxy.conf.json | 10 ++ src/app/pages/main.scss | 42 +++++++ .../color-settings.component.scss | 4 +- .../flight-agency.component.html | 15 +++ .../flight-agency.component.scss | 15 +++ .../flight-agency.component.spec.ts | 25 ++++ .../flight-agency/flight-agency.component.ts | 23 ++++ .../personal-settings.component.html | 108 +++++++++--------- .../personal-settings.component.scss | 8 +- .../personal-settings.component.ts | 26 ++++- .../system-management.module.ts | 11 +- .../user-management.component.html | 13 ++- .../user-management.component.scss | 5 + .../user-management.component.ts | 91 ++++++++++++++- src/app/services/http-client.service.ts | 18 ++- 17 files changed, 343 insertions(+), 84 deletions(-) create mode 100644 proxy.conf.json create mode 100644 src/app/pages/main.scss create mode 100644 src/app/pages/system-management/personal-settings/flight-agency/flight-agency.component.html create mode 100644 src/app/pages/system-management/personal-settings/flight-agency/flight-agency.component.scss create mode 100644 src/app/pages/system-management/personal-settings/flight-agency/flight-agency.component.spec.ts create mode 100644 src/app/pages/system-management/personal-settings/flight-agency/flight-agency.component.ts diff --git a/angular.json b/angular.json index aad1bcc..04d0a07 100644 --- a/angular.json +++ b/angular.json @@ -35,11 +35,15 @@ "node_modules/bootstrap/scss/bootstrap.scss", "node_modules/font-awesome/scss/font-awesome.scss", "node_modules/ng-zorro-antd/ng-zorro-antd.min.css", - "src/styles.scss" + "src/styles.scss", + "node_modules/ztree/css/zTreeStyle/zTreeStyle.css" ], "scripts": [ "node_modules/jquery/dist/jquery.min.js", - "node_modules/bootstrap/dist/js/bootstrap.min.js" + "node_modules/bootstrap/dist/js/bootstrap.min.js", + "node_modules/ztree/js/jquery.ztree.core.min.js", + "node_modules/ztree/js/jquery.ztree.excheck.min.js", + "node_modules/ztree/js/jquery.ztree.exhide.min.js" ] }, "configurations": { diff --git a/package.json b/package.json index 6d0f912..35f16af 100644 --- a/package.json +++ b/package.json @@ -3,7 +3,7 @@ "version": "0.0.0", "scripts": { "ng": "ng", - "start": "ng serve", + "start": "ng serve --proxy-config proxy.conf.json", "build": "ng build", "test": "ng test", "lint": "ng lint", @@ -27,7 +27,8 @@ "ng-zorro-antd": "^1.8.0", "ngx-color-picker": "^7.0.1", "rxjs": "^6.0.0", - "zone.js": "^0.8.26" + "zone.js": "^0.8.26", + "ztree": "^3.5.24" }, "devDependencies": { "@angular-devkit/build-angular": "~0.6.1", diff --git a/proxy.conf.json b/proxy.conf.json new file mode 100644 index 0000000..c7c8e59 --- /dev/null +++ b/proxy.conf.json @@ -0,0 +1,10 @@ + +{ + + "/sysapi":{ + "target": "http://130.120.3.231:91", + "secure": false, + "changeOrigin": true, + "ws": true + } +} \ No newline at end of file diff --git a/src/app/pages/main.scss b/src/app/pages/main.scss new file mode 100644 index 0000000..c998948 --- /dev/null +++ b/src/app/pages/main.scss @@ -0,0 +1,42 @@ +.system-main-container { + padding: 20px 20px; + width: 100%; + height: 100%; + min-height: 300px; + background-color: #f0f0f0; + .system-main-body{ + height: 100%; + width: 100%; + } +} +.card{ + height: 100%; + background: #fff; + padding: 20px; + box-shadow: 1px 1px 4px 1px rgba(0,0,0,0.15); +} + +.tree-box{ + float: left; + padding: 20px; + height: 100%; + background: #fff; + box-shadow: 1px 1px 4px 1px rgba(0,0,0,0.15); + +} + +/* 目录树样式 */ +:host /deep/ ul.tree{ + padding-left: 25px; + line-height: 30px; + list-style: none; +} +:host /deep/ .node-value{ + display: inline-block; + padding: 0 10px; + border-radius:3px; + cursor: pointer; +} +:host /deep/ .node-selected{ + background-color: #dcdcdc +} \ No newline at end of file diff --git a/src/app/pages/system-management/personal-settings/color-settings/color-settings.component.scss b/src/app/pages/system-management/personal-settings/color-settings/color-settings.component.scss index ecc9bad..abd2d32 100644 --- a/src/app/pages/system-management/personal-settings/color-settings/color-settings.component.scss +++ b/src/app/pages/system-management/personal-settings/color-settings/color-settings.component.scss @@ -6,11 +6,11 @@ display: inline-block; margin-right: 10px; margin-bottom: 10px; - width: 524px; + width: 444px; height: 32px; line-height: 32px; text-align: center; - border-radius: 4px; + border-radius: 2px; } .setting-bg-color{ margin-right: 10px; diff --git a/src/app/pages/system-management/personal-settings/flight-agency/flight-agency.component.html b/src/app/pages/system-management/personal-settings/flight-agency/flight-agency.component.html new file mode 100644 index 0000000..0af43d9 --- /dev/null +++ b/src/app/pages/system-management/personal-settings/flight-agency/flight-agency.component.html @@ -0,0 +1,15 @@ +
+

请选择需要提示的航班代理

+
+ + + + + + +
+ +
diff --git a/src/app/pages/system-management/personal-settings/flight-agency/flight-agency.component.scss b/src/app/pages/system-management/personal-settings/flight-agency/flight-agency.component.scss new file mode 100644 index 0000000..d528e45 --- /dev/null +++ b/src/app/pages/system-management/personal-settings/flight-agency/flight-agency.component.scss @@ -0,0 +1,15 @@ +.flight-agency-container{ + .radio-group-box{ + + } + .self-row-footer{ + display: inline-block; + position: relative; + margin-left: 46%; + margin-top: 100px; + transform:translate(-50%,0); + button:first-child { + margin-right: 20px; + } + } +} \ No newline at end of file diff --git a/src/app/pages/system-management/personal-settings/flight-agency/flight-agency.component.spec.ts b/src/app/pages/system-management/personal-settings/flight-agency/flight-agency.component.spec.ts new file mode 100644 index 0000000..e381d99 --- /dev/null +++ b/src/app/pages/system-management/personal-settings/flight-agency/flight-agency.component.spec.ts @@ -0,0 +1,25 @@ +import { async, ComponentFixture, TestBed } from '@angular/core/testing'; + +import { FlightAgencyComponent } from './flight-agency.component'; + +describe('FlightAgencyComponent', () => { + let component: FlightAgencyComponent; + let fixture: ComponentFixture; + + beforeEach(async(() => { + TestBed.configureTestingModule({ + declarations: [ FlightAgencyComponent ] + }) + .compileComponents(); + })); + + beforeEach(() => { + fixture = TestBed.createComponent(FlightAgencyComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/src/app/pages/system-management/personal-settings/flight-agency/flight-agency.component.ts b/src/app/pages/system-management/personal-settings/flight-agency/flight-agency.component.ts new file mode 100644 index 0000000..41f7ddc --- /dev/null +++ b/src/app/pages/system-management/personal-settings/flight-agency/flight-agency.component.ts @@ -0,0 +1,23 @@ +import { Component, OnInit } from '@angular/core'; + +@Component({ + selector: 'app-flight-agency', + templateUrl: './flight-agency.component.html', + styleUrls: ['./flight-agency.component.scss'] +}) +export class FlightAgencyComponent implements OnInit { + public radioValue='1'; + + constructor() { } + + ngOnInit() { + } + //保存 + save(){ + + } + //取消 + cancel(){ + + } +} diff --git a/src/app/pages/system-management/personal-settings/personal-settings.component.html b/src/app/pages/system-management/personal-settings/personal-settings.component.html index ea55692..31b6175 100644 --- a/src/app/pages/system-management/personal-settings/personal-settings.component.html +++ b/src/app/pages/system-management/personal-settings/personal-settings.component.html @@ -1,63 +1,59 @@ -
- - -
-
-
-
可选列({{sourceList.length}})
-
-
    -
  • -
    暂无数据
    -
+
+
+ + +
+
+
+
可选列({{sourceList.length}})
+
+
    +
  • +
    暂无数据
    +
+
-
-
- - - - -
-
-
已选列({{targetList.length}})
-
-
    -
  • -
    暂无数据
    -
+
+ + + + +
+
+
已选列({{targetList.length}})
+
+
    +
  • +
    暂无数据
    +
+
+
+
+ + + +
-
- - - - +
- -
- - - - - - - - - 航班代理 - - - ORMS启动路径 - - - - - - 刷新设置 - - + + + + + + + + + + + + + + +
\ No newline at end of file diff --git a/src/app/pages/system-management/personal-settings/personal-settings.component.scss b/src/app/pages/system-management/personal-settings/personal-settings.component.scss index 76b13c8..ea262bb 100644 --- a/src/app/pages/system-management/personal-settings/personal-settings.component.scss +++ b/src/app/pages/system-management/personal-settings/personal-settings.component.scss @@ -1,11 +1,5 @@ -.main-container{ - padding: 30px 20px; - width: 100%; - height: 100%; - min-height: 300px; - background-color: #fff; +.system-main-container{ .ant-tabs{ - height: 100%; .self-row-box{ display: inline-block; .self-row-footer{ diff --git a/src/app/pages/system-management/personal-settings/personal-settings.component.ts b/src/app/pages/system-management/personal-settings/personal-settings.component.ts index ad9dca2..d8f8f01 100644 --- a/src/app/pages/system-management/personal-settings/personal-settings.component.ts +++ b/src/app/pages/system-management/personal-settings/personal-settings.component.ts @@ -1,9 +1,12 @@ import { Component, OnInit } from '@angular/core'; +import { HttpClientService } from '../../../services/http-client.service'; + @Component({ selector: 'app-personal-settings', templateUrl: './personal-settings.component.html', - styleUrls: ['./personal-settings.component.scss'] + styleUrls: ['./personal-settings.component.scss','../../main.scss'], + providers:[HttpClientService] }) export class PersonalSettingsComponent implements OnInit { public list: any[] = []; //原始数据项 @@ -17,8 +20,15 @@ export class PersonalSettingsComponent implements OnInit { public disabledDownBtm:any=true; //最低控制按钮可选状态 true 禁止选择 false可选择 public selectedType:any=''; //当前选中项所在项目 1在可选项 2在已选项框 public moveIndex:any='false'; + public search:any={ + page_index:'1', + page_size:'10', + role_name:'', + } - constructor() { } + constructor( + private http:HttpClientService, + ) { } ngOnInit() { this.list=[{"COL_CODE":"FLNO", "COL_CN":"航班号", "COL_ORDER":"10"}, {"COL_CODE":"ALCD", "COL_CN":"航空公司", "COL_ORDER":"8"}, {"COL_CODE":"FLIN", "COL_CN":"航线类别", "COL_ORDER":"4"}, {"COL_CODE":"FLTY", "COL_CN":"航班类别", "COL_ORDER":"5"}, {"COL_CODE":"MVIN", "COL_CN":"航向指示", "COL_ORDER":"9"}, {"COL_CODE":"TRML", "COL_CN":"候机楼", "COL_ORDER":"7"}, {"COL_CODE":"RENO", "COL_CN":"飞机号", "COL_ORDER":"3"}, {"COL_CODE":"SODT", "COL_CN":"计划到达/出发", "COL_ORDER":"13"}, {"COL_CODE":"ESTT", "COL_CN":"预计到达/出发", "COL_ORDER":"14"}, {"COL_CODE":"ACTT", "COL_CN":"实际到达/出发", "COL_ORDER":"15"}, {"COL_CODE":"STND", "COL_CN":"停机位", "COL_ORDER":"16"}, {"COL_CODE":"ORDER", "COL_CN":"排序", "COL_ORDER":"17"} ] @@ -30,6 +40,7 @@ export class PersonalSettingsComponent implements OnInit { let option=this.deepCopy(item); this.sourceList.push(option); }) + this.queryTable(); } //对象数组深度复制 deepCopy(data){ @@ -158,6 +169,17 @@ export class PersonalSettingsComponent implements OnInit { }) this.targetList=[]; } + //获取列表 + queryTable():void{ + console.log(1111) + this.http.get('/sysapi/setting/user/list',this.search).subscribe((json)=>{ + if(json.is_success){ + console.log(2222) + }else{ + alert(json.err_msg) + } + }) + } } \ No newline at end of file diff --git a/src/app/pages/system-management/system-management.module.ts b/src/app/pages/system-management/system-management.module.ts index 351380a..7791f3e 100644 --- a/src/app/pages/system-management/system-management.module.ts +++ b/src/app/pages/system-management/system-management.module.ts @@ -1,4 +1,5 @@ import { NgModule } from '@angular/core'; +import { FormsModule, ReactiveFormsModule } from '@angular/forms'; import { CommonModule } from '@angular/common'; import { ColorPickerModule } from 'ngx-color-picker'; import { SystemManagementComponent } from './system-management.component'; @@ -9,6 +10,7 @@ import { DepartmentManagementComponent } from './department-management/departmen import { OperationLogsComponent } from './operation-logs/operation-logs.component'; import { DataSynchronizeComponent } from './data-synchronize/data-synchronize.component'; + import { SystemManagementRouting } from './system-management-routing.module' import { NgZorroAntdModule, NZ_I18N, zh_CN } from 'ng-zorro-antd'; @@ -17,14 +19,16 @@ import zh from '@angular/common/locales/zh'; registerLocaleData(zh); import { ColorSettingsComponent } from './personal-settings/color-settings/color-settings.component'; import { MsgAlertWarningComponent } from './personal-settings/msg-alert-warning/msg-alert-warning.component'; +import { FlightAgencyComponent } from './personal-settings/flight-agency/flight-agency.component'; @NgModule({ imports: [ CommonModule, SystemManagementRouting, - /** 导入 ng-zorro-antd 模块 **/ NgZorroAntdModule, - ColorPickerModule + ColorPickerModule, + ReactiveFormsModule, + FormsModule ], declarations: [ SystemManagementComponent, @@ -36,8 +40,9 @@ import { MsgAlertWarningComponent } from './personal-settings/msg-alert-warning/ DataSynchronizeComponent, ColorSettingsComponent, MsgAlertWarningComponent, + FlightAgencyComponent, + ], - /** 配置 ng-zorro-antd 国际化 **/ providers : [ { provide: NZ_I18N, useValue: zh_CN } ], }) export class SystemManagementModule { } diff --git a/src/app/pages/system-management/user-management/user-management.component.html b/src/app/pages/system-management/user-management/user-management.component.html index e453d52..6d449f1 100644 --- a/src/app/pages/system-management/user-management/user-management.component.html +++ b/src/app/pages/system-management/user-management/user-management.component.html @@ -1,3 +1,10 @@ -

- user-management works! -

+
+
+
+
    +
    +
    + +
    +
    +
    diff --git a/src/app/pages/system-management/user-management/user-management.component.scss b/src/app/pages/system-management/user-management/user-management.component.scss index e69de29..c251a11 100644 --- a/src/app/pages/system-management/user-management/user-management.component.scss +++ b/src/app/pages/system-management/user-management/user-management.component.scss @@ -0,0 +1,5 @@ +.user-manage{ + .card{ + + } +} \ No newline at end of file diff --git a/src/app/pages/system-management/user-management/user-management.component.ts b/src/app/pages/system-management/user-management/user-management.component.ts index a374bb2..fa650e0 100644 --- a/src/app/pages/system-management/user-management/user-management.component.ts +++ b/src/app/pages/system-management/user-management/user-management.component.ts @@ -1,15 +1,98 @@ import { Component, OnInit } from '@angular/core'; +import { HttpClientService } from '../../../services/http-client.service'; + +import 'ztree'; +declare var $: any; +declare var jQuery: any; @Component({ selector: 'app-user-management', templateUrl: './user-management.component.html', - styleUrls: ['./user-management.component.scss'] + styleUrls: ['./user-management.component.scss','../../main.scss'] }) export class UserManagementComponent implements OnInit { + treeSelected:any; //树模型-当前选中项 + public search:any={ + page_index:'1', + page_size:'10', + real_name:'', + login_name:'', + orgId:'', + } + parentNode:any; + parentName:any; + isTreeTop:any=false; //判断是否为树最顶层 - constructor() { } + constructor( + private http:HttpClientService, + ) { } - ngOnInit() { - } + ngOnInit() { + this.initTree(); + } + //树模型参数设置 + public zNodes: any[]; + setting = { + data: { + simpleData: { + enable: true + } + }, + view: { + showLine: false, + dblClickExpand: false, + showIcon:true + }, + callback: { + //节点点击事件 + onClick: (event, treeId, treeNode, clickFlag) => { + var zTree = $.fn.zTree.getZTreeObj("treeDemo"); + zTree.expandNode(treeNode); + this.treeSelected=treeNode; + this.search.orgId=this.treeSelected.id; + this.parentNode=this.treeSelected.getParentNode(); + if(!this.parentNode){ + this.isTreeTop=true; + }else{ + this.isTreeTop=false; + } + }, + //节点展开事件 + onExpand: (event, treeId, treeNode) => { + + } + }, + }; + //新树模型 + initTree(){ + //获取目录列表 + this.http.get("/sysapi/setting/organization/list",).subscribe(json=>{ + if(json.is_success&&json.body){ + let children=[]; + for(var i=0;i { - return this.commonProcess(this.httpClient.get(url, options = {})); + } ): Observable { + let paramsString = []; + url = url + '?' + let t = Math.random(); + if (params&¶ms) { + for (const key in params) { + if (params[key] !== '') { + paramsString.push([key, params[key]].join('=')) + } + } + return this.commonProcess(this.httpClient.get(encodeURI(url + paramsString.join('&') + '&t=' + t), options = {})); + }else{ + return this.commonProcess(this.httpClient.get(url + 't=' + t, options = {})); + } } /** From 08403bb834e20ba59aca357a4ad831c72721226e Mon Sep 17 00:00:00 2001 From: zhouyuejun <505127606@qq.com> Date: Fri, 16 Nov 2018 11:52:45 +0800 Subject: [PATCH 7/7] =?UTF-8?q?=E5=88=9B=E5=BB=BA=E5=9F=BA=E7=A1=80?= =?UTF-8?q?=E6=95=B0=E6=8D=AE=E6=9C=8D=E5=8A=A1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/app/pages/basic-data-service.ts | 48 ++++++++++++++++++++++++++++ src/app/pages/main/main.component.ts | 9 +++++- src/app/pages/main/main.module.ts | 4 ++- src/app/pages/pages.component.ts | 18 +++++++---- src/app/pages/pages.module.ts | 5 ++- 5 files changed, 74 insertions(+), 10 deletions(-) create mode 100644 src/app/pages/basic-data-service.ts diff --git a/src/app/pages/basic-data-service.ts b/src/app/pages/basic-data-service.ts new file mode 100644 index 0000000..ca0ac9f --- /dev/null +++ b/src/app/pages/basic-data-service.ts @@ -0,0 +1,48 @@ +import { Injectable } from '@angular/core'; +import { HttpClientService } from '../services/http-client.service'; +import { Subject } from 'rxjs' + +@Injectable() +export class BasicDataService{ + public checkin_group; + public checkin_group_subject = new Subject(); + public gate; + public gate_subject = new Subject(); + public terminal; + public terminal_subject = new Subject(); + public chut; + public chut_subject = new Subject(); + public stand; + public stand_subject = new Subject(); + public carousel; + public carousel_subject = new Subject(); + public checkin_desk; + public checkin_desk_subject = new Subject(); + public airport; + public airport_subject = new Subject(); + public city; + public city_subject = new Subject(); + public aircraft_type; + public aircraft_type_subject = new Subject(); + public aircraft; + public aircraft_subject = new Subject(); + public terminal_area; + public terminal_area_subject = new Subject(); + public airline; + public airline_subject = new Subject(); + + constructor( + private httpClient:HttpClientService + ){} + + loadBasicData(){ + console.log('---') + this.httpClient.get('/adminapi/basicdata/checkinGroups').subscribe( + data=>{ + console.log(data) + } + ) + } + + +} \ No newline at end of file diff --git a/src/app/pages/main/main.component.ts b/src/app/pages/main/main.component.ts index e65d89d..bd2a7ac 100644 --- a/src/app/pages/main/main.component.ts +++ b/src/app/pages/main/main.component.ts @@ -2,6 +2,7 @@ import { Component, OnInit } from '@angular/core'; import { ChangeDetectorRef } from '@angular/core'; import { HttpClientService } from '../../services/http-client.service'; +import {BasicDataService} from '../basic-data-service' import dateFormatter from '../../utils/data-formatter'; import routeType from '../../utils/route-type'; @@ -18,9 +19,15 @@ import * as $ from 'jquery'; export class MainComponent implements OnInit { constructor( + + private basicDataService:BasicDataService, private httpCilent: HttpClientService, private changeDetectorRef: ChangeDetectorRef - ) { } + ) { + this.basicDataService.checkin_group_subject.subscribe(val=>{ + console.log(val) + }) + } public raw_data: Array = []; //原始数据,即航班计划 diff --git a/src/app/pages/main/main.module.ts b/src/app/pages/main/main.module.ts index 4fd223c..8e20994 100644 --- a/src/app/pages/main/main.module.ts +++ b/src/app/pages/main/main.module.ts @@ -6,6 +6,7 @@ import { NgZorroAntdModule } from 'ng-zorro-antd' import { PipesModule } from '../../pipes/pipes.module'; import { MainComponent } from './main.component'; import { MainRoutingModule } from './main-routing.module' +import {BasicDataService} from '../basic-data-service' @NgModule({ imports: [ @@ -16,6 +17,7 @@ import { MainRoutingModule } from './main-routing.module' PipesModule, MainRoutingModule ], - declarations: [MainComponent] + declarations: [MainComponent], + providers:[BasicDataService] }) export class MainModule { } diff --git a/src/app/pages/pages.component.ts b/src/app/pages/pages.component.ts index c7db67f..8b63f4e 100644 --- a/src/app/pages/pages.component.ts +++ b/src/app/pages/pages.component.ts @@ -1,5 +1,6 @@ import { Component, OnInit } from '@angular/core'; import { Router, NavigationEnd, ActivatedRoute } from '@angular/router'; +import { BasicDataService } from './basic-data-service' import { map, filter, mergeMap } from 'rxjs/operators'; import { pipe } from 'rxjs' @@ -39,7 +40,7 @@ export class PagesComponent implements OnInit { "name": "基础数据", "icon": 'fa-database', "isExpend": false, - "children":[ + "children": [ { "name": "值机岛", "icon": "fa-eercast", @@ -184,17 +185,20 @@ export class PagesComponent implements OnInit { }] constructor( private router: Router, + private basicDataService:BasicDataService, private activatedRoute: ActivatedRoute - ) { } + ) { + this.basicDataService.loadBasicData(); + } ngOnInit() { let activeRoute = this.router.url; - this.selectActiveMenu(this.menuData,activeRoute); + this.selectActiveMenu(this.menuData, activeRoute); this.router.events.pipe( filter(event => event instanceof NavigationEnd), ).subscribe((event) => { - this.selectActiveMenu(this.menuData,event['urlAfterRedirects']) + this.selectActiveMenu(this.menuData, event['urlAfterRedirects']) }); } @@ -207,7 +211,7 @@ export class PagesComponent implements OnInit { return !item.children || !item.children.length; } - selectActiveMenu(menuData,activeRoute) { + selectActiveMenu(menuData, activeRoute) { menuData.forEach(item => { if (this.isLeaf(item)) { if (item.path === activeRoute) { @@ -215,8 +219,8 @@ export class PagesComponent implements OnInit { } else { item.isActive = false; } - }else{ - this.selectActiveMenu(item.children,activeRoute) + } else { + this.selectActiveMenu(item.children, activeRoute) } }) } diff --git a/src/app/pages/pages.module.ts b/src/app/pages/pages.module.ts index cd8e6c7..4ddb755 100644 --- a/src/app/pages/pages.module.ts +++ b/src/app/pages/pages.module.ts @@ -5,12 +5,15 @@ import { PagesRoutingModule } from './pages-routing.module' import { ComponentsModule } from '../components/components.module' +import { BasicDataService } from './basic-data-service' + @NgModule({ imports: [ CommonModule, ComponentsModule, PagesRoutingModule, ], - declarations: [PagesComponent] + declarations: [PagesComponent], + providers: [BasicDataService] }) export class PagesModule { }
    序号
    {{i+1}} {{airline_row['renderFlight'][airline_col.COL_CODE]}}