沈斌
2017-12-18 2a6b298e391134861b7aba91c97ad475ec9f84f8
updates
4 files modified
49 ■■■■ changed files
_mock/installer.service.ts 19 ●●●●● patch | view | raw | blame | history
src/app/routes/routes.ts 1 ●●●● patch | view | raw | blame | history
src/app/routes/users/installer/installer.component.html 6 ●●●●● patch | view | raw | blame | history
src/app/routes/users/installer/installer.component.ts 23 ●●●● patch | view | raw | blame | history
_mock/installer.service.ts
@@ -3,7 +3,6 @@
for (let i = 0; i < 50; i += 1) {
  list.push({
    key: i,
    disabled: false,
    name: '用户' + (i + 1),
    sex: ['男', '女'][i % 2],
    mobile: 13713713777 + i,
@@ -18,6 +17,15 @@
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);
  }
@@ -26,3 +34,12 @@
  }
  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;
}
src/app/routes/routes.ts
@@ -13,7 +13,6 @@
            { path: '', redirectTo: 'dashboard/v1', pathMatch: 'full' },
            { path: 'dashboard', redirectTo: 'dashboard/v1', pathMatch: 'full' },
            { path: 'users', loadChildren: './users/users.module#UsersModule' },
            { path: 'devices', loadChildren: './devices/devices.module#DevicesModule' },
            { path: 'sensors', loadChildren: './sensors/sensors.module#SensorsModule' },
src/app/routes/users/installer/installer.component.html
@@ -44,9 +44,7 @@
  <div class="mb-md">
    <nz-alert [nzType]="'info'" [nzShowIcon]="true">
        <span alert-body>
            已选择 <strong class="text-primary">{{selectedRows.length}}</strong> 项&nbsp;&nbsp;
            服务调用总计 <strong>{{totalCallNo}}</strong> 万
            <a *ngIf="totalCallNo > 0" (click)="clear()" class="ml-lg">清空</a>
            已选择 <strong class="text-primary">{{selectedRows.length}}</strong> 项
        </span>
    </nz-alert>
  </div>
@@ -74,7 +72,7 @@
    <tbody nz-tbody>
    <tr nz-tbody-tr *ngFor="let i of nzTable.data">
      <td nz-td [nzCheckbox]="true">
        <label nz-checkbox [nzDisabled]="i.disabled" [(ngModel)]="i.checked" (ngModelChange)="refreshStatus($event)">
        <label nz-checkbox [(ngModel)]="i.checked" (ngModelChange)="refreshStatus($event)">
        </label>
      </td>
      <td nz-td>{{i.name}}</td>
src/app/routes/users/installer/installer.component.ts
@@ -1,7 +1,6 @@
import { Component, OnInit } from '@angular/core';
import { NzMessageService } from 'ng-zorro-antd';
import { getRule, saveRule, removeRule } from '../../../../../_mock/rule.service';
import { getInstaller } from '../../../../../_mock/installer.service';
import { getInstaller, deleteInstaller } from '../../../../../_mock/installer.service';
@Component({
  selector: 'app-installer',
@@ -21,7 +20,6 @@
  loading = false;
  selectedRows: any[] = [];
  curRows: any[] = [];
  totalCallNo = 0;
  allChecked = false;
  indeterminate = false;
@@ -36,12 +34,7 @@
  getData() {
    this.pageChange(1).then(() => {
      // this.q.statusList = this.status.map((i, index) => i.value ? index : -1).filter(w => w !== -1);
      // if (this.q.status && this.q.status > -1) this.q.statusList.push(this.q.status);
      // console.log(this.q);
      this.data = getInstaller(this.q).map(i => {
        return i;
      });
      this.data = getInstaller(this.q);
    });
  }
@@ -54,20 +47,12 @@
  }
  remove() {
    this.selectedRows.forEach(i => removeRule(i.no));
    this.selectedRows.forEach(i => deleteInstaller(i.name));
    this.getData();
    this.clear();
  }
  approval() {
    this.msg.success(`审批了 ${this.selectedRows.length} 笔`);
  }
  clear() {
    this.selectedRows = [];
    this.totalCallNo = 0;
    this.data.forEach(i => i.checked = false);
    this.refreshStatus();
  }
  checkAll(value: boolean) {
@@ -83,7 +68,6 @@
    this.allChecked = allChecked;
    this.indeterminate = (!allChecked) && (!allUnChecked);
    this.selectedRows = this.data.filter(value => value.checked);
    this.totalCallNo = this.selectedRows.reduce((total, cv) => total + cv.callNo, 0);
  }
  sort(field: string, value: any) {
@@ -113,5 +97,4 @@
    for (const item of ls) item.value = false;
    this.getData();
  }
}