xufenglei
2017-12-20 60b58b47cecd7611ad8df2561a84bf0548ad6ad9
Merge branch 'develop' of http://blit.7drlb.com:8888/r/screen-frontend.git into develop
1 files deleted
1 files added
4 files modified
152 ■■■■ changed files
_mock/installer.service.ts 45 ●●●●● patch | view | raw | blame | history
src/app/app.module.ts 2 ●●●●● patch | view | raw | blame | history
src/app/core/services/date.service.ts 11 ●●●●● patch | view | raw | blame | history
src/app/routes/users/installer/edit/edit.component.ts 6 ●●●● patch | view | raw | blame | history
src/app/routes/users/installer/installer.component.html 13 ●●●● patch | view | raw | blame | history
src/app/routes/users/installer/installer.component.ts 75 ●●●●● 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');
  }
}