From fb73a14c658ce113721542c415402321a985d25b Mon Sep 17 00:00:00 2001 From: xufenglei <xufenglei> Date: Tue, 10 Apr 2018 09:12:32 +0800 Subject: [PATCH] 注册码 管理 --- src/app/routes/systems/organization/organization-list/organization-list.component.ts | 4 ++ src/app/routes/systems/registration/registration.component.ts | 72 ++++++++++++++++++++++++++++++++++++ src/app/routes/systems/systems.module.ts | 7 ++- src/app/routes/systems/organization/organization-list/organization-list.component.html | 2 + src/assets/app-data.json | 7 +++ src/app/routes/systems/registration/registration.component.html | 27 +++++++++++++ 6 files changed, 116 insertions(+), 3 deletions(-) diff --git a/src/app/routes/systems/organization/organization-list/organization-list.component.html b/src/app/routes/systems/organization/organization-list/organization-list.component.html index 033bdb6..e1ed4eb 100644 --- a/src/app/routes/systems/organization/organization-list/organization-list.component.html +++ b/src/app/routes/systems/organization/organization-list/organization-list.component.html @@ -58,6 +58,8 @@ <nz-popconfirm [nzTitle]="'������������������'+grid.title+'���?'" [nzOkText]="'Yes'" [nzCancelText]="'No'" (nzOnConfirm)="delete(row.id)" > <a nz-popconfirm>������</a> </nz-popconfirm> + <span nz-table-divider></span> + <a [routerLink]="['/systems/registration']" (click)="registration(row)">���������</a> </td> </tr> </tbody> diff --git a/src/app/routes/systems/organization/organization-list/organization-list.component.ts b/src/app/routes/systems/organization/organization-list/organization-list.component.ts index abe84f8..b1f794a 100644 --- a/src/app/routes/systems/organization/organization-list/organization-list.component.ts +++ b/src/app/routes/systems/organization/organization-list/organization-list.component.ts @@ -227,4 +227,8 @@ this.organizationService.title = '������������'; }); } + + registration(row){ + sessionStorage.setItem("organization", JSON.stringify(row)); + } } diff --git a/src/app/routes/systems/registration/registration.component.html b/src/app/routes/systems/registration/registration.component.html new file mode 100644 index 0000000..b9ac9c9 --- /dev/null +++ b/src/app/routes/systems/registration/registration.component.html @@ -0,0 +1,27 @@ +<div class="content__title"> + <h1>���������������({{organization.name}})</h1> +</div> +<nz-card [nzBordered]="false"> + <div class="mb-md"> + <button nz-button [nzType]="'primary'" [nzSize]="'large'" (click)="isVisible=true"> + <i class="anticon anticon-plus"></i><span>������</span> + </button> + </div> + <simple-table #simpleTable [data]="dataUrl" [extraParams]="extraParams" [columns]="columns" [showTotal]="true" [ps]="10" [reqReName]="{pi: 'pageIndex',ps: 'pageSize'}" [resReName]="{list: 'data',total: 'total'}"> + </simple-table> +</nz-card> + +<nz-modal [nzVisible]="isVisible" [nzTitle]="'���������������'" [nzContent]="modalContent" (nzOnCancel)="isVisible=false" (nzOnOk)="registrationOk()"> + <ng-template #modalContent> + <form nz-form > + <div nz-form-item nz-row> + <div nz-form-label nz-col [nzSm]="6" [nzXs]="24"> + <label nz-form-item-required>������������</label> + </div> + <div nz-col [nzSm]="14" [nzXs]="24"> + <nz-datepicker style="width: 100%;" [(ngModel)]="_date" name='_date' [nzFormat]="'YYYY-MM-DD'" [nzDisabledDate]="_disabledDate" [nzAllowClear]="false"></nz-datepicker> + </div> + </div> + </form> + </ng-template> +</nz-modal> diff --git a/src/app/routes/systems/registration/registration.component.ts b/src/app/routes/systems/registration/registration.component.ts new file mode 100644 index 0000000..7a00abc --- /dev/null +++ b/src/app/routes/systems/registration/registration.component.ts @@ -0,0 +1,72 @@ +import {environment} from "../../../../environments/environment"; +import {Component, OnInit, ViewChild} from '@angular/core'; +import {SimpleTableColumn} from "@delon/abc"; +import {_HttpClient} from '@delon/theme'; +import {Subject} from "rxjs"; +import * as moment from 'moment'; +import {NzMessageService} from "ng-zorro-antd"; +@Component({ + selector: 'app-registration', + templateUrl: './registration.component.html', +}) +export class RegistrationComponent implements OnInit { + constructor( + public msgSrv: NzMessageService, + private http: _HttpClient + ) {} + + @ViewChild('simpleTable') simpleTable: {load: Function}; + + dataUrl = environment.SERVER_BASH_URL + 'machineactivate/list'; + + queryTextStream: Subject<string> = new Subject<string>(); + + extraParams: any = {}; + organization: any = {}; + columns: SimpleTableColumn[] = [ + {title: '���������', index: 'activationCode'}, + { + title: '������������', index: 'isUsed', format: function(machineActivate) { + return machineActivate.isUsed == 1 ? '���' : '���'; + } + }, + { + title: '������������', type: 'date', index: 'createTime', format: function(machineActivate) { + return moment(machineActivate.createTime).format('YYYY-MM-DD HH:mm:ss'); + } + }, + { + title: '������������', type: 'date', index: 'expireDate', format: function(machineActivate) { + return moment(machineActivate.expireDate).format('YYYY-MM-DD'); + } + }, + ]; + isVisible: boolean = false; + _date = new Date(Date.now() + 3600 * 24 * 1 * 1000); + + ngOnInit() { + const organization = this.organization = JSON.parse(sessionStorage.getItem("organization")); + this.extraParams.organizationId = organization.id; + this.queryTextStream.debounceTime(900).distinctUntilChanged().subscribe(value => { + this.load(); + }); + } + + load() { + this.simpleTable.load(); + } + + _disabledDate(current: Date): boolean { + return current && current.getTime() < Date.now(); + } + + registrationOk() { + this.http.get(environment.SERVER_BASH_URL + '/machineactivate/machine', {organizationId: this.organization.id, expireDate: moment(this._date).format('YYYY-MM-DD')}).subscribe((res: any) => { + if (res.code == 1 && res.data == 1) { + this.isVisible = false; + this.msgSrv.success('������������������������'); + this.load(); + } + }); + } +} diff --git a/src/app/routes/systems/systems.module.ts b/src/app/routes/systems/systems.module.ts index d1f3d49..37edebf 100644 --- a/src/app/routes/systems/systems.module.ts +++ b/src/app/routes/systems/systems.module.ts @@ -15,6 +15,7 @@ import { AreacodeService } from '@business/services/http/areacode.service'; import { OrganizationConfigComponent } from './organization/organization-config/organization-config.component'; import { OrganizationListComponent } from './organization/organization-list/organization-list.component'; +import { RegistrationComponent } from "./registration/registration.component"; import { SensorsService } from '@business/services/http/sensors.service'; import { BusinessModule } from '@business/business.module'; @@ -23,7 +24,8 @@ path: '', children: [ { path: 'account', component: AccountComponent }, - { path: 'organization', component: OrganizationComponent } + { path: 'organization', component: OrganizationComponent }, + { path: 'registration', component: RegistrationComponent } ] } ]; @@ -45,7 +47,8 @@ AccountEditComponent, OrganizationComponent, OrganizationConfigComponent, - OrganizationListComponent + OrganizationListComponent, + RegistrationComponent ], providers: [ToolsService, SensorsService, OrganizationService, _HttpClient, FormBuilder, AreacodeService], entryComponents: COMPONENTS_NOROUNT diff --git a/src/assets/app-data.json b/src/assets/app-data.json index 9877414..1e7d1a2 100644 --- a/src/assets/app-data.json +++ b/src/assets/app-data.json @@ -79,7 +79,12 @@ { "text": "������������", "link": "/systems/organization" - } + }, + { + "text": "���������������", + "link": "/systems/registration", + "hide": true + } ] } ] -- Gitblit v1.8.0