_mock/installer.service.ts | ●●●●● patch | view | raw | blame | history | |
src/app/app.module.ts | ●●●●● patch | view | raw | blame | history | |
src/app/core/services/date.service.ts | ●●●●● patch | view | raw | blame | history | |
src/app/routes/users/installer/edit/edit.component.ts | ●●●●● patch | view | raw | blame | history | |
src/app/routes/users/installer/installer.component.html | ●●●●● patch | view | raw | blame | history | |
src/app/routes/users/installer/installer.component.ts | ●●●●● patch | view | raw | blame | history |
_mock/installer.service.ts
File was deleted 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, src/app/core/services/date.service.ts
New file @@ -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'); } } 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'); }); } } 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"> @@ -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> 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); }); }); 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'); } }