From 18df46f1bbdf5f3aa29aedb828ae2bc9d33e0f90 Mon Sep 17 00:00:00 2001
From: 沈斌 <bluelazysb@hotmail.com>
Date: Fri, 02 Feb 2018 11:22:06 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/develop' into develop
---
src/app/routes/systems/account/account.component.ts | 137 ++++++++++++++++++++++++++++++++++++++++++---
1 files changed, 128 insertions(+), 9 deletions(-)
diff --git a/src/app/routes/systems/account/account.component.ts b/src/app/routes/systems/account/account.component.ts
index 42b2af6..9eeb426 100644
--- a/src/app/routes/systems/account/account.component.ts
+++ b/src/app/routes/systems/account/account.component.ts
@@ -1,25 +1,144 @@
-import { Component, OnInit } from '@angular/core';
-import { NzMessageService } from 'ng-zorro-antd';
-import { ModalHelper } from '@delon/theme';
-import { HttpClient } from '@angular/common/http';
-import * as moment from 'moment';
-
+import {Component, OnInit} from '@angular/core';
+import {NzMessageService, NzModalService} from 'ng-zorro-antd';
+import {ModalHelper} from '@delon/theme';
+import {HttpClient} from '@angular/common/http';
+import {environment} from '../../../../environments/environment';
+import { DateService } from '../../../business/services/util/date.service';
+import {AccountEditComponent} from './account-edit/account-edit.component';
@Component({
selector: 'app-account',
templateUrl: './account.component.html',
styles: []
})
+
export class AccountComponent implements OnInit {
+
+ public isDeleteOptions = [
+ {value: '1', label: '���'},
+ {value: '0', label: '���'}
+ ];
+
+ query: any = {
+ pageIndex: 1,
+ pageSize: 10,
+ isDelete: this.isDeleteOptions[1].value
+ };
+ data: any[] = [];
+ total: 0;
+
+ selectedRows: any[] = [];
+ allChecked = false;
+ indeterminate = false;
+ sortMap: string[] = [];
+ loading: boolean = true;
constructor(
public http: HttpClient,
+ private confirmServ: NzModalService,
+ public dateSrv: DateService,
public msgSrv: NzMessageService,
- private modalHelper: ModalHelper) {
-
+ private modalHelper: ModalHelper
+ ) {
+
+ }
+
+ load(reload: boolean = false) {
+ if (reload) {
+ this.query.pageIndex = 1;
+ }
+ this.http.get(environment.SERVER_BASH_URL + '/account/list', {params: this.query}).subscribe((res: any) => {
+ if (res.code == 0) {
+ this.msgSrv.error(res.message);
+ } else {
+ this.data = res.data.data;
+ this.total = res.data.total;
+ }
+ this.refreshStatus();
+ this.loading = false;
+ });
}
ngOnInit() {
-
+ this.load();
}
+ edit(account?: any) {
+ if (!account) {
+ account = {};
+ }
+ this.modalHelper.static(AccountEditComponent, {account}).subscribe((res: any) => {
+ if (res.code == 0) {
+ this.msgSrv.error(res.message);
+ } else {
+ this.msgSrv.success('���������������������');
+ this.load(true);
+ }
+ });
+ }
+
+ remove() {
+ const ids: number[] = [];
+ this.confirmServ.confirm({
+ title: '������������',
+ content: '���������������������������?',
+ okText: '������',
+ cancelText: '������'
+ }).on('onOk', () => {
+ this.selectedRows.forEach(i => {
+ ids.push(i.id);
+ });
+ this.delete(...ids);
+ });
+ }
+
+ delete(...ids: number[]) {
+ this.http.post(environment.SERVER_BASH_URL + '/account/ids', ids).subscribe((res: any) => {
+ if (res.data > 0) {
+ this.msgSrv.success('���������������������');
+ this.load(true);
+ } else {
+ this.msgSrv.error(res.message);
+ }
+ });
+ }
+
+ checkAll(value: boolean) {
+ this.data.forEach(i => {
+ if (i.isDelete == '1') {
+ i.checked = false;
+ } else {
+ i.checked = value;
+ }
+ });
+ this.refreshStatus();
+ }
+
+ refreshStatus() {
+ const allChecked = this.data.every(value => value.checked);
+ const allUnChecked = this.data.every(value => !value.checked);
+ this.allChecked = allChecked;
+ this.indeterminate = (!allChecked) && (!allUnChecked);
+ this.selectedRows = this.data.filter(value => value.checked);
+ }
+
+ sort(field: string, value: any) {
+ const temp = this.sortMap;
+ this.sortMap = [];
+ temp.forEach(i => {
+ if (!i.startsWith(field)) {
+ this.sortMap.push(i);
+ }
+ });
+ if (value) {
+ this.sortMap.push(`${field} ${value}`);
+ }
+ this.query.sorter = this.sortMap.length > 0 ? this.sortMap.join(",") : '';
+ this.load(true);
+ }
+
+ format_date(date) {
+ if (date) {
+ return this.dateSrv.date_format(date, 'YYYY-MM-DD');
+ }
+ }
}
--
Gitblit v1.8.0