From 60b58b47cecd7611ad8df2561a84bf0548ad6ad9 Mon Sep 17 00:00:00 2001 From: xufenglei <xufenglei> Date: Wed, 20 Dec 2017 13:54:45 +0800 Subject: [PATCH] Merge branch 'develop' of http://blit.7drlb.com:8888/r/screen-frontend.git into develop --- src/app/core/services/date.service.ts | 11 +++ /dev/null | 45 --------------- src/app/routes/users/installer/edit/edit.component.ts | 6 + src/app/routes/users/installer/installer.component.html | 15 ++-- src/app/routes/users/installer/installer.component.ts | 77 +++++++++++++++---------- src/app/app.module.ts | 2 6 files changed, 72 insertions(+), 84 deletions(-) diff --git a/_mock/installer.service.ts b/_mock/installer.service.ts deleted file mode 100644 index a579dda..0000000 --- a/_mock/installer.service.ts +++ /dev/null @@ -1,45 +0,0 @@ -const list = []; - -for (let i = 0; i < 50; i += 1) { - list.push({ - key: i, - name: '������' + (i + 1), - sex: ['���', '���'][i % 2], - mobile: 13713713777 + i, - email: `test_${i + 1}@test.com`, - weixin: 'test' + (i + 1), - password: 'ISGMyneATSuhkiwz4BURBQ==', - organization: '������' + (i + 1), - nickname: '������' + (i + 1), - updatedAt: new Date(`2017-07-${Math.floor(i / 2) + 1}`) - }); -} - -export function getInstaller(params: any) { - let ret = [...list]; - if (params.sorter) { - const s = params.sorter.split('_'); - ret = ret.sort((prev, next) => { - if (s[1] === 'descend') { - return next[s[0]] - prev[s[0]]; - } - return prev[s[0]] - next[s[0]]; - }); - } - if (params.u_name) { - ret = ret.filter(data => data.name.indexOf(params.u_name) > -1); - } - if (params.u_mobile) { - ret = ret.filter(data => data.mobile.toString().indexOf(params.u_mobile) > -1); - } - return ret; -} - -export function deleteInstaller(name: string): boolean { - const idx = list.findIndex(w => w.name === name); - if (idx !== -1) { - list.splice(idx, 1); - return true; - } - return false; -} diff --git a/src/app/app.module.ts b/src/app/app.module.ts index 84691c5..2d1fc5b 100644 --- a/src/app/app.module.ts +++ b/src/app/app.module.ts @@ -10,6 +10,7 @@ import { AppComponent } from './app.component'; import { RoutesModule } from './routes/routes.module'; import { LayoutModule } from './layout/layout.module'; +import { DateService } from './core/services/date.service'; import { StartupService } from './core/services/startup.service'; import { DefaultInterceptor } from '@core/net/default.interceptor'; import { AlainAuthModule, SimpleInterceptor } from '@delon/auth'; @@ -60,6 +61,7 @@ { provide: HTTP_INTERCEPTORS, useClass: SimpleInterceptor, multi: true}, { provide: HTTP_INTERCEPTORS, useClass: DefaultInterceptor, multi: true}, { provide: ALAIN_I18N_TOKEN, useClass: I18NService, multi: false }, + DateService, StartupService, { provide: APP_INITIALIZER, diff --git a/src/app/core/services/date.service.ts b/src/app/core/services/date.service.ts new file mode 100644 index 0000000..f49e6be --- /dev/null +++ b/src/app/core/services/date.service.ts @@ -0,0 +1,11 @@ +import {Injectable} from '@angular/core'; + +import * as moment from 'moment'; + +@Injectable() +export class DateService { + + date_format(date: string, format: string) { + return moment(date).format('YYYY-MM-DD'); + } +} diff --git a/src/app/routes/users/installer/edit/edit.component.ts b/src/app/routes/users/installer/edit/edit.component.ts index bfa8e97..9d5b573 100644 --- a/src/app/routes/users/installer/edit/edit.component.ts +++ b/src/app/routes/users/installer/edit/edit.component.ts @@ -3,6 +3,7 @@ import { ModalHelper } from '@delon/theme'; import { HttpClient } from '@angular/common/http'; import { environment } from '../../../../../environments/environment'; +import { DateService } from '../../../../core/services/date.service'; @Component({ selector: 'app-edit', @@ -16,13 +17,16 @@ constructor( private modalHelper: ModalHelper, private subject: NzModalSubject, + public dateSrv: DateService, public msgSrv: NzMessageService, public http: HttpClient) { } ngOnInit() { if (this.user.id > 0) { this.http.get(environment.SERVER_BASH_URL + '/user/operate_user/' + this.user.id).subscribe((res: any) => { - this.user = res.data[0]; + this.user = res; + this.user.createTime = this.dateSrv.date_format(this.user.createTime, 'YYYY-MM-DD'); + this.user.expireTime = this.dateSrv.date_format(this.user.expireTime, 'YYYY-MM-DD'); }); } } diff --git a/src/app/routes/users/installer/installer.component.html b/src/app/routes/users/installer/installer.component.html index 11daadb..ceab058 100644 --- a/src/app/routes/users/installer/installer.component.html +++ b/src/app/routes/users/installer/installer.component.html @@ -6,7 +6,7 @@ <div nz-form-item class="d-flex"> <div nz-form-label><label for="u_name">������</label></div> <div nz-form-control class="flex-1"> - <nz-input [(ngModel)]="q.u_name" name="u_name" [nzSize]="'large'" [nzPlaceHolder]="'���������'" nzId="u_name"></nz-input> + <nz-input [(ngModel)]="q.u_name" name="u_name" [nzSize]="'large'" [nzPlaceHolder]="'���������������'" nzId="u_name"></nz-input> </div> </div> </div> @@ -14,7 +14,7 @@ <div nz-form-item class="d-flex"> <div nz-form-label><label for="u_mobile">������</label></div> <div nz-form-control class="flex-1"> - <nz-input [(ngModel)]="q.u_mobile" name="u_mobile" [nzSize]="'large'" [nzPlaceHolder]="'���������'" nzId="u_mobile"></nz-input> + <nz-input [(ngModel)]="q.u_mobile" name="u_mobile" [nzSize]="'large'" [nzPlaceHolder]="'���������������'" nzId="u_mobile"></nz-input> </div> </div> </div> @@ -40,13 +40,14 @@ </nz-alert> </div> <nz-table #nzTable - [nzAjaxData]="data" + [nzDataSource]="data" [nzLoading]="http.loading" [nzTotal]="total" [(nzPageIndex)]="q.pi" [nzPageSize]="q.ps" [nzShowTotal]="true" - (nzPageIndexChange)="load()"> + (nzPageIndexChange)="load()" + (nzDataChange)="dataChange($event)"> <thead nz-thead> <tr> <th nz-th [nzCheckbox]="true"> @@ -61,7 +62,7 @@ <th nz-th><span>������������</span></th> <th nz-th> <span>������������</span> - <nz-table-sort [(nzValue)]="sortMap.updatedAt" (nzValueChange)="sort('expireTime',$event)"></nz-table-sort> + <nz-table-sort [(nzValue)]="sortMap.updatedAt" (nzValueChange)="sort('expireTime', $event)"></nz-table-sort> </th> <th nz-th><span>������</span></th> </tr> @@ -78,8 +79,8 @@ <td nz-td>{{i.weixin}}</td> <td nz-td>{{i.password}}</td> <td nz-td>{{i.organizationId}}</td> - <td nz-td>{{i.createTime | _date}}</td> - <td nz-td>{{i.expireTime | _date}}</td> + <td nz-td>{{format_date(i.createTime)}}</td> + <td nz-td>{{format_date(i.expireTime)}}</td> <td nz-td> <a (click)="edit(i)">������</a> <span nz-table-divider></span> diff --git a/src/app/routes/users/installer/installer.component.ts b/src/app/routes/users/installer/installer.component.ts index 1aaec00..99bf082 100644 --- a/src/app/routes/users/installer/installer.component.ts +++ b/src/app/routes/users/installer/installer.component.ts @@ -2,9 +2,9 @@ import { NzMessageService } from 'ng-zorro-antd'; import { ModalHelper } from '@delon/theme'; import { HttpClient } from '@angular/common/http'; -import * as moment from 'moment'; import { UserInstallerEditComponent } from './edit/edit.component'; import { environment } from '../../../../environments/environment'; +import { DateService } from '../../../core/services/date.service'; @Component({ selector: 'app-installer', @@ -22,6 +22,7 @@ }; data: any[] = []; total: 0; + selectedRows: any[] = []; curRows: any[] = []; allChecked = false; @@ -30,6 +31,7 @@ constructor( public http: HttpClient, + public dateSrv: DateService, public msgSrv: NzMessageService, private modalHelper: ModalHelper) {} @@ -42,30 +44,32 @@ this.q.pi = 1; } this.http.get(environment.SERVER_BASH_URL + '/user/operate_user', this.q).subscribe((res: any) => { + // let data = res.data; + // const total = res.total; + // + // if (this.q.sorter !== '') { + // const s = this.q.sorter.split('_'); + // data.sort((prev, next) => { + // if (s[1] === 'descend') { + // return moment(next[s[0]]).unix() - moment(prev[s[0]]).unix(); + // } + // return moment(prev[s[0]]).unix() - moment(next[s[0]]).unix(); + // }); + // } + // + // if (this.q.u_name) { + // data = data.filter(d => d.name.indexOf(this.q.u_name) > -1); + // } + // if (this.q.u_mobile) { + // data = data.filter(d => d.mobile.toString().indexOf(this.q.u_mobile) > -1); + // } + // + // const start = (this.q.pi - 1) * this.q.ps; + // this.data = data.slice(start, start + this.q.ps); + // this.total = total; - let data = res.data; - const total = res.total; - - if (this.q.sorter !== '') { - const s = this.q.sorter.split('_'); - data.sort((prev, next) => { - if (s[1] === 'descend') { - return moment(next[s[0]]).unix() - moment(prev[s[0]]).unix(); - } - return moment(prev[s[0]]).unix() - moment(next[s[0]]).unix(); - }); - } - - if (this.q.u_name) { - data = data.filter(d => d.name.indexOf(this.q.u_name) > -1); - } - if (this.q.u_mobile) { - data = data.filter(d => d.mobile.toString().indexOf(this.q.u_mobile) > -1); - } - - const start = (this.q.pi - 1) * this.q.ps; - this.data = data.slice(start, start + this.q.ps); - this.total = total; + this.data = res.data; + this.total = res.total; }); } @@ -92,24 +96,31 @@ } remove() { + const ids = []; this.selectedRows.forEach(i => { - this.http.delete(environment.SERVER_BASH_URL + '/user/operate_user/' + i.id).subscribe((res: any) => { - // TODO - }); + ids.push(i.id); }); - this.load(true); + console.log(ids); + this.http.post(environment.SERVER_BASH_URL + '/user/operate_user/deleteList', ids).subscribe((res: any) => { + this.load(true); + }); } checkAll(value: boolean) { this.curRows.forEach(i => { - if (!i.disabled) i.checked = value; + i.checked = value; }); this.refreshStatus(); } + dataChange(res: any) { + this.curRows = res; + this.refreshStatus(); + } + refreshStatus() { - const allChecked = this.curRows.every(value => value.disabled || value.checked); - const allUnChecked = this.curRows.every(value => value.disabled || !value.checked); + const allChecked = this.curRows.every(value => value.checked); + const allUnChecked = this.curRows.every(value => !value.checked); this.allChecked = allChecked; this.indeterminate = (!allChecked) && (!allUnChecked); this.selectedRows = this.data.filter(value => value.checked); @@ -126,4 +137,8 @@ for (const item of ls) item.value = false; this.load(true); } + + format_date(date) { + return this.dateSrv.date_format(date, 'YYYY-MM-DD'); + } } -- Gitblit v1.8.0