| | |
| | | for (let i = 0; i < 50; i += 1) { |
| | | list.push({ |
| | | key: i, |
| | | disabled: false, |
| | | name: '用户' + (i + 1), |
| | | sex: ['男', '女'][i % 2], |
| | | mobile: 13713713777 + i, |
| | |
| | | |
| | | 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); |
| | | } |
| | |
| | | } |
| | | 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; |
| | | } |
| | |
| | | { 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' }, |
| | |
| | | <div class="mb-md"> |
| | | <nz-alert [nzType]="'info'" [nzShowIcon]="true"> |
| | | <span alert-body> |
| | | 已选择 <strong class="text-primary">{{selectedRows.length}}</strong> 项 |
| | | 服务调用总计 <strong>{{totalCallNo}}</strong> 万 |
| | | <a *ngIf="totalCallNo > 0" (click)="clear()" class="ml-lg">清空</a> |
| | | 已选择 <strong class="text-primary">{{selectedRows.length}}</strong> 项 |
| | | </span> |
| | | </nz-alert> |
| | | </div> |
| | |
| | | <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> |
| | |
| | | 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', |
| | |
| | | loading = false; |
| | | selectedRows: any[] = []; |
| | | curRows: any[] = []; |
| | | totalCallNo = 0; |
| | | allChecked = false; |
| | | indeterminate = false; |
| | | |
| | |
| | | |
| | | 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); |
| | | }); |
| | | } |
| | | |
| | |
| | | } |
| | | |
| | | 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) { |
| | |
| | | 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) { |
| | |
| | | for (const item of ls) item.value = false; |
| | | this.getData(); |
| | | } |
| | | |
| | | } |